为什么我看到消息“avalon_master.writedata和avl.avl_wdata之间的连接必须是带有UniPHY的DDR2(3)SDRAM控制器的宽度[8,16,32,64,128,256,512,1024]?
如果具有的UniPHY的DDR2(3)SDRAM控制器中的Qsys实现,被配置为不使用2的Avalon®数据总线的功率,只有一个连接可以在主接口和DDR2(3)控制器上的从界面之间进行。如果将2个主机连接到DDR2(3)SDRAM控制器,您将看到上述消息。
如果DDR2(3)控制器上的Avalon从接口需要多个连接,请将主器件的写入和读取数据信号的大小增加到2的更大功率,并在两者之间实现简单的总线垫片(自定义组件)。主站连接和DDR2(3)控制器上的从站接口。垫圈将简单地通过除写入和读取数据之外的所有信号。
对于写入数据,垫片将仅通过所需数量的数据位。例如,如果所需的存储器接口是72位,则半速率控制器数据宽度将是288.主控制器将数据总线向上舍入到512并用224'0填充写入数据,并且垫圈将简单地通过288位需要。
- 通过垫片的主接口将所需的数据位发送到DDR
avm_m0_writedata <= avs_s0_writedata(287 downto 0);
对于读取数据,垫圈将用“0”填充顶部288位。
- 创建一个垫常量
常量PAD_DATA:std_logic_vector(287 downto 0):=(其他=>'0');
- 通过垫片的从属接口将读取数据发送给主站
avs_s0_readdata <= PAD_DATA&avm_m0_readdata