VCK190 - 如何使用DDR4-DIMM的ECC功能

Connor 币安交易所app 2022-09-15 271 0

在vivado 2021.2的VCK190 boardfile里DDR4-DIMM的DQ width被限制为64bit,不能使能ECC功能币君DDEX。如果需要在VCK190板子上使用DDR4-DIMM的ECC,可以手动修改board file。

具体方法是:

1. 下载vck190 boardfile到本地,找到board.xml,把DQ width增大为72bit,dqs_c/dqs_t/dm的位宽都增大为9bit币君DDEX。修改部分如下。

<port_map logical_port="DQ" physical_port="c0_ddr4_dq" dir="inout" left="71" right="0">

<pin_maps>

<pin_map port_index="63" component_pin="c0_ddr4_dq63"/>

<pin_map port_index="64" component_pin="c0_ddr4_dq64"/>

<pin_map port_index="65" component_pin="c0_ddr4_dq65"/>

<pin_map port_index="66" component_pin="c0_ddr4_dq66"/>

<pin_map port_index="67" component_pin="c0_ddr4_dq67"/>

<pin_map port_index="68" component_pin="c0_ddr4_dq68"/>

<pin_map port_index="69" component_pin="c0_ddr4_dq69"/>

<pin_map port_index="70" component_pin="c0_ddr4_dq70"/>

<pin_map port_index="71" component_pin="c0_ddr4_dq71"/>

</pin_maps>

</port_map>

<port_map logical_port="DQS_C" physical_port="c0_ddr4_dqs_c" dir="inout" left="8" right="0">

展开全文

<pin_maps>

<pin_map port_index="0" component_pin="c0_ddr4_dqs_c0"/>

<pin_map port_index="1" component_pin="c0_ddr4_dqs_c1"/>

<pin_map port_index="2" component_pin="c0_ddr4_dqs_c2"/>

<pin_map port_index="3" component_pin="c0_ddr4_dqs_c3"/>

<pin_map port_index="4" component_pin="c0_ddr4_dqs_c4"/>

<pin_map port_index="5" component_pin="c0_ddr4_dqs_c5"/>

<pin_map port_index="6" component_pin="c0_ddr4_dqs_c6"/>

<pin_map port_index="7" component_pin="c0_ddr4_dqs_c7"/>

<pin_map port_index="8" component_pin="c0_ddr4_dqs_c8"/>

</pin_maps>

</port_map>

<port_map logical_port="DQS_T" physical_port="c0_ddr4_dqs_t" dir="out" left="8" right="0">

<pin_maps>

<pin_map port_index="0" component_pin="c0_ddr4_dqs_t0"/>

<pin_map port_index="1" component_pin="c0_ddr4_dqs_t1"/>

<pin_map port_index="2" component_pin="c0_ddr4_dqs_t2"/>

<pin_map port_index="3" component_pin="c0_ddr4_dqs_t3"/>

<pin_map port_index="4" component_pin="c0_ddr4_dqs_t4"/>

<pin_map port_index="5" component_pin="c0_ddr4_dqs_t5"/>

<pin_map port_index="6" component_pin="c0_ddr4_dqs_t6"/>

<pin_map port_index="7" component_pin="c0_ddr4_dqs_t7"/>

<pin_map port_index="8" component_pin="c0_ddr4_dqs_t8"/>

</pin_maps>

</port_map>

<port_map logical_port="DM_N" physical_port="c0_ddr4_dm_dbi_n" dir="inout" left="8" right="0">

<pin_maps>

<pin_map port_index="0" component_pin="c0_ddr4_dm_dbi_n0"/>

<pin_map port_index="1" component_pin="c0_ddr4_dm_dbi_n1"/>

<pin_map port_index="2" component_pin="c0_ddr4_dm_dbi_n2"/>

<pin_map port_index="3" component_pin="c0_ddr4_dm_dbi_n3"/>

<pin_map port_index="4" component_pin="c0_ddr4_dm_dbi_n4"/>

<pin_map port_index="5" component_pin="c0_ddr4_dm_dbi_n5"/>

<pin_map port_index="6" component_pin="c0_ddr4_dm_dbi_n6"/>

<pin_map port_index="7" component_pin="c0_ddr4_dm_dbi_n7"/>

<pin_map port_index="8" component_pin="c0_ddr4_dm_dbi_n8"/>

</pin_maps>

</port_map>

2. 在preset.xml里把DDR4-DIMM datawidth改为72.

<ip_preset preset_proc_name="ddr4_c0_preset">

<ip vendor="xilinx.com" library="ip" name="axi_noc" version="*">

<user_parameters>

<user_parameter name="CONFIG.CONTROLLERTYPE" value="DDR4_SDRAM"/>

<user_parameter name="CONFIG.MC_NO_CHANNELS" value="Single"/>

<user_parameter name="CONFIG.MC_SYSTEM_CLOCK" value="Differential"/>

<user_parameter name="CONFIG.MC_MEMORY_SPEEDGRADE" value="DDR4-3200AA(22-22-22)"/>

<user_parameter name="CONFIG.MC_COMPONENT_WIDTH" value="x8"/>

<user_parameter name="CONFIG.MC_DATAWIDTH" value="72"/>

<user_parameter name="CONFIG.MC_INPUTCLK0_PERIOD" value="5000"/>

<user_parameter name="CONFIG.MC_INTERLEAVE_SIZE" value="128"/>

<user_parameter name="CONFIG.MC_STACKHEIGHT" value="1"/>

<user_parameter name="CONFIG.MC_MEMORY_DEVICETYPE" value="UDIMMs"/>

<user_parameter name="CONFIG.MC_ROWADDRESSWIDTH" value="16"/>

<user_parameter name="CONFIG.MC_RANK" value="1"/>

</user_parameters>

</ip>

</ip_preset>

3. 在vivado tcl console里输入set_param board.repopaths <path to board files>,就可以在新创建的工程里使用修改后的board file了币君DDEX

评论