-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This feature enables the Xilinx QDMA engine as alternative to BlueDMA. If the feature is enabled, following changes are made to the standard HW design: - Remove BlueDMA - Replace MSIX interrupt controller with adjusted IRQ controller for QDMA - Substitute PCIe DMA/Bridge with QDMA IP, and add specific IPs for control - Add Dummy Master for in_ic for compatibility with other plugins (and to make Vivado happy) No changes to the TLKM and API required since QDMA is used for the Versal platform as well.
- Loading branch information
Showing
10 changed files
with
1,162 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
66 changes: 66 additions & 0 deletions
66
toolflow/vivado/common/ip/AXIDummyMaster/src/AXIDummyMaster.v
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
module AXIDummyMaster(M_AXI_aclk, | ||
M_AXI_aresetn, | ||
M_AXI_arvalid, | ||
M_AXI_arready, | ||
M_AXI_araddr, | ||
M_AXI_arprot, | ||
M_AXI_rready, | ||
M_AXI_rvalid, | ||
M_AXI_rdata, | ||
M_AXI_rresp, | ||
M_AXI_awready, | ||
M_AXI_awvalid, | ||
M_AXI_awaddr, | ||
M_AXI_awprot, | ||
M_AXI_wready, | ||
M_AXI_wvalid, | ||
M_AXI_wdata, | ||
M_AXI_wstrb, | ||
M_AXI_bvalid, | ||
M_AXI_bready, | ||
M_AXI_bresp); | ||
|
||
input M_AXI_aclk; | ||
input M_AXI_aresetn; | ||
|
||
output M_AXI_arvalid; | ||
input M_AXI_arready; | ||
output [11:0] M_AXI_araddr; | ||
output [2:0] M_AXI_arprot; | ||
|
||
output M_AXI_rready; | ||
input M_AXI_rvalid; | ||
input [31:0] M_AXI_rdata; | ||
input [1:0] M_AXI_rresp; | ||
|
||
input M_AXI_awready; | ||
output M_AXI_awvalid; | ||
output [11:0] M_AXI_awaddr; | ||
output [2:0] M_AXI_awprot; | ||
|
||
input M_AXI_wready; | ||
output M_AXI_wvalid; | ||
output [31:0] M_AXI_wdata; | ||
output [3:0] M_AXI_wstrb; | ||
|
||
input M_AXI_bvalid; | ||
output M_AXI_bready; | ||
input [1:0] M_AXI_bresp; | ||
|
||
assign M_AXI_arvalid = 0; | ||
assign M_AXI_araddr = 0; | ||
assign M_AXI_arprot = 0; | ||
|
||
assign M_AXI_rready = 1; | ||
|
||
assign M_AXI_awvalid = 0; | ||
assign M_AXI_awaddr = 0; | ||
assign M_AXI_awprot = 0; | ||
|
||
assign M_AXI_wvalid = 0; | ||
assign M_AXI_wdata = 0; | ||
assign M_AXI_wstrb = 0; | ||
|
||
assign M_AXI_bready = 1; | ||
endmodule | ||
|
10 changes: 10 additions & 0 deletions
10
toolflow/vivado/common/ip/AXIDummyMaster/xgui/AXIDummyMaster_v1_0.tcl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Definitional proc to organize widgets for parameters. | ||
proc init_gui { IPINST } { | ||
ipgui::add_param $IPINST -name "Component_Name" | ||
#Adding Page | ||
ipgui::add_page $IPINST -name "Page 0" | ||
|
||
|
||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Copyright (c) 2014-2022 Embedded Systems and Applications, TU Darmstadt. | ||
# | ||
# This file is part of TaPaSCo | ||
# (see https://github.com/esa-tu-darmstadt/tapasco). | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU Lesser General Public License as published by | ||
# the Free Software Foundation, either version 3 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU Lesser General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU Lesser General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
# | ||
|
||
namespace eval qdma { | ||
|
||
# Overwrite this function with true if platform supports QDMA | ||
proc is_qdma_supported {} { | ||
return true | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Copyright (c) 2014-2022 Embedded Systems and Applications, TU Darmstadt. | ||
# | ||
# This file is part of TaPaSCo | ||
# (see https://github.com/esa-tu-darmstadt/tapasco). | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU Lesser General Public License as published by | ||
# the Free Software Foundation, either version 3 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU Lesser General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU Lesser General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
# | ||
|
||
namespace eval qdma { | ||
|
||
# Overwrite this function with true if platform supports QDMA | ||
proc is_qdma_supported {} { | ||
return true | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.