模型机CPU设计——RAM和稳定器(13)
RAM和稳定器 1 RAM可以根据quartus直接生成LPM_RAM_IO,实现读外接文件mif的读写 RAM接口和功能由quartus提供: 但是RAM存在着不稳定的问题,会出现读取操作不是由下降沿控制而只受到控制信号控制的问题,所以这个时候我们用VHDL设计一个稳定器来稳定RAM的读取操作: Stabilizer稳定器设计: (1) 部件功能: 稳定器用来配合RAM使用,处理因为RAM输出的数据不稳定问题。 (2) 接口设计: 输入: EN:使能信号,1有效 Clk:时钟信号 I[7…0]:数据输入,由RAM提供数据的输入 输出: Bus[7…0]数据输出,连接到总线Bus RTL视图 (3) 功能实现: 当EN有效为1时: 如果clk=1,那么将输入加载到输出,否则输出保存值 如果使能为0: 输出高阻态,来隔绝总线,防止总线冲突 VHDL设计: (4)功能仿真验证: 仿真结果: 时钟为2.5ns: 使能EN=1,clk=1,输入X=00000001,将输入加载到输出,BU=00000001; 时钟为3.5ns: 使能EN=1,clk=1,输入X=00000001,将输入加载到输出,BU=00000001; 时钟为1.0ns: 使能EN=1,clk=0,输入X=00000001,将寄存器保存的值输出,BU=00000000; 时钟为5.0ns: 使能EN=0,clk=0