实验报告
实验目的:熟悉掌握时序逻辑电路的设计方法
了解寄存器文件的实现原理
实验内容:设计一 4*4bit 的寄存器文件
-具备一组读端口及一组写端口
-通过读端口可从 0~3 号的任意地址读取数据
-通过写端口可向 0~3 号的任意地址写入数据
-读写端口为“全双工”的工作方式
-0~3 号寄存器的复位值依次为“1,2,4,8”
-sw4~sw7 为写数据端口:sw2~sw3 为写地址;
Sw0~sw1 为读地址:led0~led3 用来显示读数据;
写使能用按键实现;读使能可选。
实验结果:按照课件上面的按键布局。则按下复位键 rst_n 的时候数码管显示的
是 8421,说明复位成功。
输入写地址,调整输入开关 sw4~sw7,然后按下写使能可以改变与写地址相
对应的寄存器的数值,改变之后,数码管相应的位置可见更新的数据。
Led 灯显示的是与读使能相对应的地址的数据。并且随着寄存器内部数据的
更新而更新。
数码管的第八段(即除七段数码管以外的那个小点),亮起的时候表示寄存
器内部的数值是七段数码管显示的数值加上 10。否则,七段数码管显示的就
是寄存器内部的数值。
实验分析:本实验因为有写使能,所以需要有一个去毛刺模块 debouncer。
四个七段数码管分别显示四个寄存器的内容,所以需要时分复用模块。主模
块只需要一个 always 模块就足够了。
由于开关都被占用,为了让自然状态下的按键表示非复位状态,选择敏感变
量为时钟的下降沿和以及复位键高电平有效。
意见建议:每个开发板都有一个 IP 核,并且有多个接口,我希望能够更多地了
解那些接口,并且能够熟练运用。
附录:
top 模块: