在 Quartus 中编译配备 UniPHY 内核的 DDR3 的 VHDL 版本®II 软件版本 11.0 导致合成过程中出现以下错误:
错误:在 I/O 输入缓冲区基元 传教|altdq_dqs2_ddio_3reg_stratixiii:altdq_dqs2_inst|obuf_os_0上发现的非法连接,也会将驱动器驱至缓冲区以外的其他目的地。
顶级包装器文件是一个 VHDL 文件,实例化了内核的 Verilog 版本。所有单比特信号(mem_cas_n、mem_we_n、mem_ck、mem_odt、mem_cs_n、mem_cke、mem_ras_n 和 mem_ck_n)都定义为顶级的std_logic_vector(0 下至 0),并在实例化内核中定义为标牌位线。Quartus® II 软件目前无法解决单位 VHDL std_logic_vector定义与单比特 Verilog 电线之间的这种连接,这会导致上述错误。
变通方法是将顶级 VHDL 包装器中的单比特信号从 std_logic_vector(0 向下 0) 更改为std_logic。
此问题计划在 Quartus II 软件的未来版本中解决。