-
实验目的
1.熟悉计数器、寄存器和 RAM 的工作原理。
2.了解模型机中 SM 的作用。
3.学会使用 VHDL 语言设计时序电路。
-
实验内容
1.用 VHDL 语言设计 SM;
2.用 VHDL 语言设计一个 8 位的指令计数器 PC;
3.用 VHDL 语言设计 3 个 8 位寄存器组成的寄存器组,实现读写操作。
4.用 LPM_RAM_IO 定制一个 256*8 的 RAM,实现对 RAM 的读写操作;
实验方法
采用基于FPGA进行数字逻辑电路设计的方法。
采用的软件工具是QuartusII软件仿真平台。
-
实验步骤
1、 新建,编写源代码。
(1).选择保存项和芯片类型:【File】-【new project wizard】-【next】(设置文件路径+设置project name)-【next】(设置文件名【add】-【properties】(type=AHDL)-【next】-【next】-【finish】
(2).新建:【file】-【new】(第二个AHDL File)-【OK】
2、写好源代码,保存文件。
3、编译与调试。确定源代码文件为当前工程文件,点击【processing】-【start compilation】进行文件编译,编译成功。
4、波形仿真及验证。新建一个vector waveform file。按照程序所述插入节点。(操作为:右击 -【insert】-【insert node or bus】-【node finder】(pins=all;【list】)-【>>】-【ok】-【ok】)。任意设置的输入波形…点击保存按钮保存。(操作为:点击name(如:A))-右击-【value】-【clock】(如设置period=200;offset=0),同理设置name B(如120,,60),保存)。然后【start simulation】,出name C的输出图。
5、时序仿真或功能仿真。
6、查看RTL Viewer:【Tools】-【netlist viewer】-【RTL viewer】。
A. SM
代码实现:
(1) 新建一个工程命名为SM,用来实现SM原件;
(2) 建立一个vhd文件,定义顶层实体并实现SM原件;
(3) 建立一个vwf文件,对实现的原件进行波形仿真,验证波形输入。
B. 8位的指令计数器PC
代码实现:
(1) 新建一个工程命名为PC,用来实现PC原件;
(2) 建立一个vhd文件,定义顶层实体并实现PC原件;
(3) 建立一个vwf文件,对实现的原件进行波形仿真,验证波形输入。
C. 包含3个8位寄存器的寄存器组
代码实现:
(1) 新建一个工程命名为register_team用来通过vhdl语言实现包含3个8位寄存器的寄存器组;
(2) 建立一个vhd文件,用来定义顶层实体实现包含3个8位寄存器的寄存器组;
(3) 建立一个vwf文件,对实现的原件进行波形仿真,验证波形输入。
D. 256*8 的RAM
画图实现:
(1) 新建一个工程命名为RAM,用来通过逻辑图实现256*8的RAM;
(2) 建立一个bdf文件,调用8位寄存器原件LPM_RAM_IO绘制RAM的逻辑图;
(3) 建立一个vwf文件,对实现的原件进行波形仿真,验证波形输入。
<