在实施 VHDL 中生成的基于 UniPHY 的外部内存接口 IP 时,尝试运行_p0_pin_assignments.tcl 文件时,您可能会看到以下错误:
Error (332000):错误:参数是匹配任何对象的对象过滤器。指定一个只匹配一个对象。
在执行时
"get_node_info -cell"
(程序"is_node_type_pll_clk"第 2 行)
从内部调用
"is_node_type_pll_clk"
(程序"get_input_clk_id"第 2 行)
从内部调用
"get_input_clk_id"
(程序"_p0_get_ddr_pins"行 240)
从内部调用
"_p0_get_ddr_pins全针"
(程序"_p0_initialize_ddr_db"行 13)
从内部调用
"_p0_initialize_ddr_db _p0_ddr_db"
从内部调用
"如果 { ![ 信息存在_p0_sdc_cache ]{
设置_p0_sdc_cache 1
_p0_initialize_ddr_db _p0_ddr_db
} 其他..."
(文件 "。。/ddr3//_p0.sdc" 行 186)
您需要在文件_0002.v 中修改 RTL 代码,对以下信号的信号声明进行更改,这些信号在 verilog 代码中是单位,但在 IP 的 VHDL 包装器中作为std_logic_vector声明:
输出线 [0:0] mem_ck,//.mem_ck
输出线 [0:0] mem_ck_n,//.mem_ck_n
输出线 [0:0] mem_cke,//.mem_cke
输出线 [0:0] mem_cs_n,//.mem_cs_n
输出线 [0:0] mem_ras_n,//.mem_ras_n
输出线 [0:0] mem_cas_n,//.mem_cas_n
输出线 [0:0] mem_we_n,//.mem_we_n
通过添加 [0:0],您将匹配信号声明以与 VHDL 兼容。
这个问题将在 Quartus® II 软件的未来重集中解决。