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,输入X=00000001,输出高阻,BU=ZZZZZZZZ;
时钟为5.5ns: 使能EN=0,clk=1,输入X=00000000,输出高阻,BU=ZZZZZZZZ;
结论:仿真结果符合功能要求,设计成功
来源:CSDN
作者:One of three_tigers
链接:https://blog.csdn.net/weixin_44307065/article/details/103651777