实验五 算术逻辑运算单元
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五算术逻辑运算单元
一、目的:
1.能了算术逻辑运算单元(ALU)电路的设计原理。
2.能利用AHDL语言设计一个ALU电路。
3.能自行以CPLD数字电路实验系统验证所设计电路的正确性。
二、电路图:
三、实验仪配置图:
四、实验步骤与画面:
1.建立一个名为ALU_VerilogHDL.v的新文件,并在QuartusⅡ文字编辑器中,以VerilogHDL语言来设计程式,图U6-1为算术逻辑运算单元的VerilogHDL程式。
其中A、B为数据输入端口,s为功能控制端口,clk为时钟端口,d为数据输出端口。
2.存储、检查及编译。
3.创建元件符号。
4.创建波形文件,设定合适的端口信号,仿真元件的波形。
观察波形图可以看出当s端口选择不同功能时,芯片会对A、B
数据进行相应的操作。
5.请先设定s[2..]之值,以选择ALU之功能。再任意输入a[7..0]
及b[7..0]之二进制,观察记录其输出和d[7..0]并完成下表。
五、相关说明:
1.这个单元我们用AHDL语法来设计八位元ALU,您可以发现不仅较绘
图法简单许多,而且更容易为人了解,这就是硬体描述语言的优点。
2.在此要提醒您,由于二进位数的减法运算,是采用2’s补数的方
法,此方法是将减数取其2’s补数后,再与被减数相加,所得结果若有进位,则去掉进位后所得即为正式结果(为正值);若无进位,
则须再将结果取一次2’s补数后才是真正的结果(为负值)。例如:(00010001)-(00000101)=(00010001)+(11111011)=(00001100),进位为1所以去掉进位后,所得结果为+12。又如:(01011010)-(10000111)=(01011010)+(01111001)=(11010011),没有进位,所以要将结果再取一次2’s补数,正确的结果应为-00101101=-45。
六、自我练习
问题1:74181是一颗常用的四位元ALU,此ALU包含了所有的基本逻辑运算,并搭配各种算术运算组合而成,其功能模式如表
U6-1。我们可以将两颗74181予以并联而组成八位元ALU,
如图U6-3所示。请在ALTERA绘图环境下,绘制图U6-3,其
中的74181符号可自符号库(maxplus2\max21ib\mf)取得。
电路绘制完成后,再利用CPLD实验系统验证其功能是否正
确(接脚配置请参考图U6-4)。