VCK190 - 如何使用DDR4-DIMM的ECC功能
在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。
评论