位ALU-quartus设计----设计报告

上传人:pu****.1 文档编号:488839977 上传时间:2023-10-22 格式:DOC 页数:4 大小:21KB
返回 下载 相关 举报
位ALU-quartus设计----设计报告_第1页
第1页 / 共4页
位ALU-quartus设计----设计报告_第2页
第2页 / 共4页
位ALU-quartus设计----设计报告_第3页
第3页 / 共4页
位ALU-quartus设计----设计报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《位ALU-quartus设计----设计报告》由会员分享,可在线阅读,更多相关《位ALU-quartus设计----设计报告(4页珍藏版)》请在金锄头文库上搜索。

1、8位ALU内容:1)本设计要求该处理器的数据宽度是8bit,可以实现算术加法、算术减法、逻辑与、逻辑或、逻辑非、逻辑与非、逻辑或非和逻辑异或等8种运算。2)用选择端Choice3.0选择8种运算,2个操作数分别是A3.0和B3.0,运算结果是S3.0以及标志位OV(OverFlow)和Cout; 并定义当选择端为000为算术加法、001为算术减法、010为逻辑与、011为逻辑或、100为逻辑非(只对数据A求非)、101为逻辑与非、 110为逻辑或非、111为逻辑异或。3)整个ALU的设计上均采用补码形式输入和输出,其中第一位为符号位。4)使用DE-2板上的3个拨码开关要来设置当前ALU的运算功

2、能,再由8个拨码开关给定数据A和数据B,由一个按键手动提供脉冲。该设计的顶层模块图如下页所示:设计说明:本设计共有6个模块组成,包括: 1)脉冲输出器,计数依次产生四个脉冲到各个部件; 2)寄存器A,第一个脉冲来时锁存数据A; 3)寄存器B,第二个脉冲来时锁存数据B; 4)8位ALU,由两个4位ALU组成;第三个脉冲来时进行运算; 5)寄存器S,第四个脉冲来时锁存结果S; 6)结果显示器,将结果显示在DE2板上。其中右上角的test7.0输出端是为了仿真方便看结果。对其进行时序仿真,其中各引脚含义如下:KEY0 即一脉冲按键,用于手动给脉冲,在此给一个60ns的时钟脉冲;SW7.0 即给定数据

3、A和数据B,第一个脉冲给数据A,第二个脉冲给数据B;choice3.0 功能选择端;LEDR17 如上图可知其为进位输出端;LEDR10 如上图可知其为溢出输出端;test7.0 结果输出端;时序仿真图如下图一所示:(加法) 图一现对前四个脉冲进行分析:第一个脉冲,锁存数据A,由图的SW可知A=0;第二个脉冲,锁存数据B,由图的SW可知B=1;第三个脉冲,进行运算第四个脉冲,锁存结果,由图的test可知S=1之后的原理同上。下面给出8位ALU的设计图:设计说明: 1)其中输出端sub_in当加减模块,且做减法时为高(数据B取非后的加1); 2)其主要由两个4位的ALU串联而成。下面给出四位AL

4、U的设计图: 设计说明: 1)最上面为一个四位八路的或,即每一位都是由八个结果的该位或而得(没选中的模块输出全为0); 2)中间位7个运算模块,选中时/choice端输入为低,未选中的模块其输出结果都为0; 3)左下角为一个选择模块,根据输入的choice选中相应的模块低电平有效(类似74138),其另一输出端add/sub为是否选中加减法模块的 输出端,选中为0。 4) 加减法模块做加或减法由其输入端sub/add决定,低表示做加法,其连接选择模块的SL0即当choice为000(加法)时为低。 Cout OV sub_in S3.0将sub_in接回Cin,对其做仿真,仿真图如下图二:(减

5、法) 图二如图二,OV端 :当 2 - (-8) = 10(溢出),故OV端变为高,而在 2 - (-5) = 7(未溢出),OV变为低,其他亦同; Cout端:当2 - 0时相当于 2 + (-0)即其二进制形式为 0010 + 1111 + 1(Cin) = 1 0010,故Cout端为高,其他亦同。将sub_in接回Cin,改变Choice端做仿真,仿真图如下图三:图三如图三,当第一个脉冲来时,A和B存入到寄存器中,之后通过改变Choice改变选中的模块,最终得出不同的结果; 当Choice为0(000)时,加法,3+1 = 4; 当Choice为1(001)时,减法,3-1 = 2;

6、当Choice为2(010)时,与,3(0011)与1(0001)= 1(0001); 当Choice为3(011)时,或,3(0011)或1(0001)= 3(0011); 当Choice为4(100)时,非,3(0011)非 = 12(1100); 当Choice为5(101)时,与或,3(0011)与非1(0001)= 14(1110); 当Choice为6(110)时,或非,3(0011)或非1(0001)= 12(1100); 当Choice为7(111)时,异或,3(0011)异或1(0001)= 2(0010)。下面给出加减法模块的设计图:设计说明: 1)当/choice为低时(

7、选中该模块),二路选择器选中其in_B端的输入,否则,二路选择器选中其in_A端的输入(接地),即加法器的输出结 果为0000 + 1111(未选中时sub/add为高) + 1(sub/add为高故sub_in为高即Cin为高) = 0000 。 2)当选中该模块做减法时,sub/add端为高,如图对数据B再作为加法器的一个操作数,sub_in端为高(该输出在串联两个4位ALU是接回 低位的ALU的Cin端,即相当于做减法时加一);下面给出上图的4位2路选择器的设计图:设计说明: 1)当A/B端为高时输出输入端in_A的数据,当A/B端为低时输出输入端in_B的数据。下面给出加减法模块中的4

8、位加法器的设计图:设计说明: 1)整个加法器由四个全加器串联和一个先行进位端组成; 2)最上面的是先行进位器,其通过3级门电路便可输出结果,而最高位(S3)的Cout则需要8级门电路,当串联时其能提高其上一个加法 器的Cin端的输入。其中的先行进位端具体设计图如下:设计说明:求出两个操作数各个位上的两个数的与Gn(即两个数都为1)、异或Pn(即两个数中有一个为1);则第四位的进位为:Cout = G4P4G3P4P3G2P4P3P2G1P4P3P2P1Cin硬件验证:使用DE-2板上的3个拨码开关要来设置当前ALU的运算功能,再由8个拨码开关给定数据A和数据B,由按键KEY0手动提供脉冲;第四个脉冲后观看输出结果是否正确。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号