fmcomms2: c5soc: Connect ADC, DAC and VGA DMA to different bridge interconnects
We have enough bridge interconnect to give each DMA its own, so use them. This makes sure that they do not interfere with each others transfers to much. The SDRAM controller side of the FPGA2SDRAM bridges FIFO runs at a much faster frequency then what we are able to use in the fabric. So its better to do the arbitration on that side of the bus to make sure that we can utilize the buses in the FPGA fabric to the maximum for each DMA core. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>main
parent
17a993032b
commit
ecc498313c
|
@ -7,222 +7,222 @@
|
||||||
description=""
|
description=""
|
||||||
tags=""
|
tags=""
|
||||||
categories="System" />
|
categories="System" />
|
||||||
<parameter name="bonusData"><![CDATA[bonusData
|
<parameter name="bonusData"><![CDATA[bonusData
|
||||||
{
|
{
|
||||||
element $${FILENAME}
|
element $${FILENAME}
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
element adc_pack
|
element adc_pack
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "8";
|
value = "8";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element vga_frame_reader.avalon_slave
|
element vga_frame_reader.avalon_slave
|
||||||
{
|
{
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "36864";
|
value = "36864";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element axi_ad9361
|
element axi_ad9361
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "5";
|
value = "5";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element axi_dmac_adc
|
element axi_dmac_adc
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "9";
|
value = "9";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element axi_dmac_dac
|
element axi_dmac_dac
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "6";
|
value = "6";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_id.control_slave
|
element sys_id.control_slave
|
||||||
{
|
{
|
||||||
datum _lockedAddress
|
datum _lockedAddress
|
||||||
{
|
{
|
||||||
value = "1";
|
value = "1";
|
||||||
type = "boolean";
|
type = "boolean";
|
||||||
}
|
}
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "65536";
|
value = "65536";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_gpio.external_connection
|
element sys_gpio.external_connection
|
||||||
{
|
{
|
||||||
datum _tags
|
datum _tags
|
||||||
{
|
{
|
||||||
value = "";
|
value = "";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_hps.f2h_sdram0_data
|
element sys_hps.f2h_sdram0_data
|
||||||
{
|
{
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "0";
|
value = "0";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_int_mem.s1
|
element sys_int_mem.s1
|
||||||
{
|
{
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "0";
|
value = "0";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_gpio.s1
|
element sys_gpio.s1
|
||||||
{
|
{
|
||||||
datum _lockedAddress
|
datum _lockedAddress
|
||||||
{
|
{
|
||||||
value = "1";
|
value = "1";
|
||||||
type = "boolean";
|
type = "boolean";
|
||||||
}
|
}
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "65664";
|
value = "65664";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element axi_ad9361.s_axi
|
element axi_ad9361.s_axi
|
||||||
{
|
{
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "131072";
|
value = "131072";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element axi_dmac_dac.s_axi
|
element axi_dmac_adc.s_axi
|
||||||
{
|
{
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "16384";
|
value = "0";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element axi_dmac_adc.s_axi
|
element axi_dmac_dac.s_axi
|
||||||
{
|
{
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "0";
|
value = "16384";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element spi_ad9361
|
element spi_ad9361
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "10";
|
value = "10";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element spi_ad9361.spi_control_port
|
element spi_ad9361.spi_control_port
|
||||||
{
|
{
|
||||||
datum baseAddress
|
datum baseAddress
|
||||||
{
|
{
|
||||||
value = "32768";
|
value = "32768";
|
||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_clk
|
element sys_clk
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "0";
|
value = "0";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_gpio
|
element sys_gpio
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "4";
|
value = "4";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_hps
|
element sys_hps
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "1";
|
value = "1";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_id
|
element sys_id
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "3";
|
value = "3";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element sys_int_mem
|
element sys_int_mem
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "2";
|
value = "2";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element util_dac_unpack
|
element util_dac_unpack
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "7";
|
value = "7";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element vga_clock_video_output
|
element vga_clock_video_output
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "14";
|
value = "14";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element vga_frame_reader
|
element vga_frame_reader
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "13";
|
value = "13";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element vga_pixel_clock_bridge
|
element vga_pixel_clock_bridge
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "12";
|
value = "12";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element vga_pll
|
element vga_pll
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "11";
|
value = "11";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]]></parameter>
|
]]></parameter>
|
||||||
<parameter name="clockCrossingAdapter" value="FIFO" />
|
<parameter name="clockCrossingAdapter" value="FIFO" />
|
||||||
<parameter name="device" value="5CSXFC6D6F31C8ES" />
|
<parameter name="device" value="5CSXFC6D6F31C8ES" />
|
||||||
|
@ -762,8 +762,8 @@
|
||||||
<parameter name="F2S_Width" value="2" />
|
<parameter name="F2S_Width" value="2" />
|
||||||
<parameter name="S2F_Width" value="2" />
|
<parameter name="S2F_Width" value="2" />
|
||||||
<parameter name="LWH2F_Enable" value="true" />
|
<parameter name="LWH2F_Enable" value="true" />
|
||||||
<parameter name="F2SDRAM_Type">Avalon-MM Bidirectional</parameter>
|
<parameter name="F2SDRAM_Type">Avalon-MM Bidirectional,AXI-3,AXI-3</parameter>
|
||||||
<parameter name="F2SDRAM_Width" value="64" />
|
<parameter name="F2SDRAM_Width" value="64,64,64" />
|
||||||
<parameter name="BONDING_OUT_ENABLED" value="false" />
|
<parameter name="BONDING_OUT_ENABLED" value="false" />
|
||||||
<parameter name="S2FCLK_COLDRST_Enable" value="false" />
|
<parameter name="S2FCLK_COLDRST_Enable" value="false" />
|
||||||
<parameter name="S2FCLK_PENDINGRST_Enable" value="false" />
|
<parameter name="S2FCLK_PENDINGRST_Enable" value="false" />
|
||||||
|
@ -836,9 +836,9 @@
|
||||||
<parameter name="F2H_AXI_CLOCK_FREQ" value="50000000" />
|
<parameter name="F2H_AXI_CLOCK_FREQ" value="50000000" />
|
||||||
<parameter name="H2F_AXI_CLOCK_FREQ" value="50000000" />
|
<parameter name="H2F_AXI_CLOCK_FREQ" value="50000000" />
|
||||||
<parameter name="H2F_LW_AXI_CLOCK_FREQ" value="50000000" />
|
<parameter name="H2F_LW_AXI_CLOCK_FREQ" value="50000000" />
|
||||||
<parameter name="F2H_SDRAM0_CLOCK_FREQ" value="80000000" />
|
<parameter name="F2H_SDRAM0_CLOCK_FREQ" value="50000000" />
|
||||||
<parameter name="F2H_SDRAM1_CLOCK_FREQ" value="100" />
|
<parameter name="F2H_SDRAM1_CLOCK_FREQ" value="80000000" />
|
||||||
<parameter name="F2H_SDRAM2_CLOCK_FREQ" value="100" />
|
<parameter name="F2H_SDRAM2_CLOCK_FREQ" value="80000000" />
|
||||||
<parameter name="F2H_SDRAM3_CLOCK_FREQ" value="100" />
|
<parameter name="F2H_SDRAM3_CLOCK_FREQ" value="100" />
|
||||||
<parameter name="F2H_SDRAM4_CLOCK_FREQ" value="100" />
|
<parameter name="F2H_SDRAM4_CLOCK_FREQ" value="100" />
|
||||||
<parameter name="F2H_SDRAM5_CLOCK_FREQ" value="100" />
|
<parameter name="F2H_SDRAM5_CLOCK_FREQ" value="100" />
|
||||||
|
@ -1369,11 +1369,6 @@
|
||||||
version="14.0"
|
version="14.0"
|
||||||
start="sys_clk.clk"
|
start="sys_clk.clk"
|
||||||
end="axi_ad9361.delay_clock" />
|
end="axi_ad9361.delay_clock" />
|
||||||
<connection
|
|
||||||
kind="clock"
|
|
||||||
version="14.0"
|
|
||||||
start="sys_hps.h2f_user0_clock"
|
|
||||||
end="sys_hps.f2h_sdram0_clock" />
|
|
||||||
<connection
|
<connection
|
||||||
kind="clock"
|
kind="clock"
|
||||||
version="14.0"
|
version="14.0"
|
||||||
|
@ -1403,15 +1398,6 @@
|
||||||
version="14.0"
|
version="14.0"
|
||||||
start="sys_clk.clk_reset"
|
start="sys_clk.clk_reset"
|
||||||
end="axi_dmac_dac.m_src_axi_reset" />
|
end="axi_dmac_dac.m_src_axi_reset" />
|
||||||
<connection
|
|
||||||
kind="avalon"
|
|
||||||
version="14.0"
|
|
||||||
start="axi_dmac_dac.m_src_axi"
|
|
||||||
end="sys_hps.f2h_sdram0_data">
|
|
||||||
<parameter name="arbitrationPriority" value="1" />
|
|
||||||
<parameter name="baseAddress" value="0x0000" />
|
|
||||||
<parameter name="defaultConnection" value="false" />
|
|
||||||
</connection>
|
|
||||||
<connection
|
<connection
|
||||||
kind="clock"
|
kind="clock"
|
||||||
version="14.0"
|
version="14.0"
|
||||||
|
@ -1441,15 +1427,6 @@
|
||||||
version="14.0"
|
version="14.0"
|
||||||
start="sys_clk.clk_reset"
|
start="sys_clk.clk_reset"
|
||||||
end="axi_dmac_adc.m_dest_axi_reset" />
|
end="axi_dmac_adc.m_dest_axi_reset" />
|
||||||
<connection
|
|
||||||
kind="avalon"
|
|
||||||
version="14.0"
|
|
||||||
start="axi_dmac_adc.m_dest_axi"
|
|
||||||
end="sys_hps.f2h_sdram0_data">
|
|
||||||
<parameter name="arbitrationPriority" value="1" />
|
|
||||||
<parameter name="baseAddress" value="0x0000" />
|
|
||||||
<parameter name="defaultConnection" value="false" />
|
|
||||||
</connection>
|
|
||||||
<connection
|
<connection
|
||||||
kind="interrupt"
|
kind="interrupt"
|
||||||
version="14.0"
|
version="14.0"
|
||||||
|
@ -1541,15 +1518,6 @@
|
||||||
version="14.0"
|
version="14.0"
|
||||||
start="vga_frame_reader.avalon_streaming_source"
|
start="vga_frame_reader.avalon_streaming_source"
|
||||||
end="vga_clock_video_output.din" />
|
end="vga_clock_video_output.din" />
|
||||||
<connection
|
|
||||||
kind="avalon"
|
|
||||||
version="14.0"
|
|
||||||
start="vga_frame_reader.avalon_master"
|
|
||||||
end="sys_hps.f2h_axi_slave">
|
|
||||||
<parameter name="arbitrationPriority" value="1" />
|
|
||||||
<parameter name="baseAddress" value="0x0000" />
|
|
||||||
<parameter name="defaultConnection" value="false" />
|
|
||||||
</connection>
|
|
||||||
<connection
|
<connection
|
||||||
kind="clock"
|
kind="clock"
|
||||||
version="14.0"
|
version="14.0"
|
||||||
|
@ -1562,6 +1530,76 @@
|
||||||
end="vga_frame_reader.interrupt_sender">
|
end="vga_frame_reader.interrupt_sender">
|
||||||
<parameter name="irqNumber" value="4" />
|
<parameter name="irqNumber" value="4" />
|
||||||
</connection>
|
</connection>
|
||||||
|
<connection
|
||||||
|
kind="clock"
|
||||||
|
version="14.0"
|
||||||
|
start="sys_clk.clk"
|
||||||
|
end="sys_hps.f2h_sdram0_clock" />
|
||||||
|
<connection
|
||||||
|
kind="avalon"
|
||||||
|
version="14.0"
|
||||||
|
start="vga_frame_reader.avalon_master"
|
||||||
|
end="sys_hps.f2h_sdram0_data">
|
||||||
|
<parameter name="arbitrationPriority" value="1" />
|
||||||
|
<parameter name="baseAddress" value="0x0000" />
|
||||||
|
<parameter name="defaultConnection" value="false" />
|
||||||
|
</connection>
|
||||||
|
<connection
|
||||||
|
kind="avalon"
|
||||||
|
version="14.0"
|
||||||
|
start="axi_dmac_adc.m_dest_axi"
|
||||||
|
end="sys_hps.f2h_sdram1_data">
|
||||||
|
<parameter name="arbitrationPriority" value="1" />
|
||||||
|
<parameter name="baseAddress" value="0x0000" />
|
||||||
|
<parameter name="defaultConnection" value="false" />
|
||||||
|
</connection>
|
||||||
|
<connection
|
||||||
|
kind="avalon"
|
||||||
|
version="14.0"
|
||||||
|
start="axi_dmac_dac.m_src_axi"
|
||||||
|
end="sys_hps.f2h_sdram2_data">
|
||||||
|
<parameter name="arbitrationPriority" value="1" />
|
||||||
|
<parameter name="baseAddress" value="0x0000" />
|
||||||
|
<parameter name="defaultConnection" value="false" />
|
||||||
|
</connection>
|
||||||
|
<connection
|
||||||
|
kind="clock"
|
||||||
|
version="14.0"
|
||||||
|
start="sys_hps.h2f_user0_clock"
|
||||||
|
end="sys_hps.f2h_sdram2_clock" />
|
||||||
|
<connection
|
||||||
|
kind="clock"
|
||||||
|
version="14.0"
|
||||||
|
start="sys_hps.h2f_user0_clock"
|
||||||
|
end="sys_hps.f2h_sdram1_clock" />
|
||||||
<interconnectRequirement for="$system" name="qsys_mm.clockCrossingAdapter" value="FIFO" />
|
<interconnectRequirement for="$system" name="qsys_mm.clockCrossingAdapter" value="FIFO" />
|
||||||
<interconnectRequirement for="$system" name="qsys_mm.maxAdditionalLatency" value="2" />
|
<interconnectRequirement for="$system" name="qsys_mm.maxAdditionalLatency" value="2" />
|
||||||
|
<interconnectRequirement
|
||||||
|
for="mm_interconnect_4|axi_dmac_dac_m_src_axi_agent.write_cp/router.sink"
|
||||||
|
name="qsys_mm.postTransform.pipelineCount"
|
||||||
|
value="0" />
|
||||||
|
<interconnectRequirement
|
||||||
|
for="mm_interconnect_4|cmd_mux_001"
|
||||||
|
name="qsys_mm.postTransform.pipelineCount"
|
||||||
|
value="0" />
|
||||||
|
<interconnectRequirement
|
||||||
|
for="mm_interconnect_4|cmd_mux"
|
||||||
|
name="qsys_mm.postTransform.pipelineCount"
|
||||||
|
value="0" />
|
||||||
|
<interconnectRequirement
|
||||||
|
for="mm_interconnect_3|cmd_mux_001"
|
||||||
|
name="qsys_mm.postTransform.pipelineCount"
|
||||||
|
value="0" />
|
||||||
|
<interconnectRequirement
|
||||||
|
for="mm_interconnect_3|cmd_mux"
|
||||||
|
name="qsys_mm.postTransform.pipelineCount"
|
||||||
|
value="0" />
|
||||||
|
<interconnectRequirement
|
||||||
|
for="mm_interconnect_2|cmd_mux"
|
||||||
|
name="qsys_mm.postTransform.pipelineCount"
|
||||||
|
value="0" />
|
||||||
|
<interconnectRequirement
|
||||||
|
for="mm_interconnect_0|cmd_mux"
|
||||||
|
name="qsys_mm.postTransform.pipelineCount"
|
||||||
|
value="0" />
|
||||||
</system>
|
</system>
|
||||||
|
|
Loading…
Reference in New Issue