一 现象描述
使用ProtoCompiler搭建的原型工程中集成了Xilinx DDR4控制器IP,在place阶段报以下ERROR:
[DRC BIVB-1] Bank IO standard Support: Bank 63 has incompatible IO(s) because:
The LVCMOS12 I/O standard does not support a drive strength of 12. Move the following ports or change their properties: c0_ddr4_reset_n.
二 原因分析
查阅UG571:
Vivado2018.1中,在不对LVCMOS12标准IO的驱动能力进行约束时,默认为12mA。但LVCMOS12标准的HP I/O Bank并不支持12mA的驱动能力。ProtoCompiler在调用Vivado2018.1进行place时,将ddr4的c0_ddr4_reset_n端口映射到bank63(HP I/O Bank),且默认约束其电压标准为LVCMOS12(默认驱动能力为12mA),故报出此ERROR。
三 解决方案
在Vivado中可以使用上图中的约束语句修改其驱动能力。但HAPS-80的官方DDR4子板手册需要将IO标准设置为SSTL。故尝试修改其电压标准为SSTL12。通过查阅手册HAPS Prototyping Compiler and Mapper Guide,在ProtoCompiler的fdc文件中添加以下约束语句:
define_io_standard {c0_ddr4_reset_n} -delay_type output syn_pad_type {SSTL_12}
问题解决。