一、实验目的
- 理解算术逻辑单元 ALU 的工作原理。
- 掌握算术逻辑单元ALU 的设计方法。
- 验证 32 位算术逻辑单元ALU 的加、减、与、移位等功能。
- 按给定数据,完成几种指定的算术和逻辑运算。
二、实验要求
1、做好实验预习,掌握运算器的数据传送通路和ALU 的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。
2、程序设计正确,软件编译通过,仿真分析合理,硬件测试成功。
三、实验原理
算术逻辑单元ALU 的实验电路如图 1-1 所示。其中算逻运算器 ALU 能实现 9 种运算功能。参加运算的两个 32 位数据分别为A[31…0]和B[31…0],运算模式由 aluc[3…0]的取值决定,而aluc[3…0]的值由4 位2 进制计数器LPM_COUNTER 产生,计数时钟是Sclk(图1-1);r[31…0]为输出结果,Z 为运算后的零标志位。ALU 功能如表 1-1 所示。
四、实验内容
1、在 Quartus II 环境下用Verilog HDL实现输入暂存器lpm_latch的功能,及模式选择器LPM_COUNTER的功能。
2、用Verilog HDL表达整个ALU实验电路功能,对电路进行仿真、引脚分配、并在试验台上进行实验实现其功能。
3、用Verilog HDLs设计一个64位的ALU,实现基本的算术逻辑运算。
4、在 Quartus II 环境下用Verilog HDL实现输入暂存器lpm_latch的功能,及模式选择器LPM_COUNTER的功能。
5、选择实验系统的电路模式是 NO.0,验证 ALU 的运算器的算术运算和逻辑运算功能,根据表1-1,从键盘输入数据
A[7…0]和 B[7…0],并设置 ALUC[3…0]、A0-B1、CLR,验证 ALU 运算器的算术运算和逻辑运算功能,记录实验数据。
五、实验环境与设备
在 Quartus II 环境下,建立好相应的工程,在实验箱中选择 GW48-CP++。
六、实验代码设计(含符号说明)
1、算逻运算器ALU代码如下: