四位二进制除法器说明书

四位二进制除法器说明书
四位二进制除法器说明书

目录

一、设计目的 (1)

二、设计要求 (1)

三、设计内容 (1)

3.1、除法的实现 (1)

3.2、设计框图 (1)

3.3、功能说明 (1)

3.4、VHDL程序源代码 (2)

3.5、VHDL程序说明 (3)

四、原理图和印刷板图 (4)

PCB板图 (4)

Protel 原理图 (5)

五、设计结论 (6)

六、设计心得体会 (6)

七、主要参考文献 (7)

一、 设计目的

1. 掌握电子电路的一般设计方法和设计流程;

2. 学习使用PROTEL 软件绘制电路原理图及印刷板图。

二、 设计要求

设计一个四位二进制除法器,具体要求如下:

1. 用键盘输入两个四位二进制数,并用数码管显示输入数。 2.按除法键即显示相除结果。

3. 除数为零时,数码管黑屏,不显示任何内容。

三、 设计内容

1、 设计过程

要想实现四位二进制除法器,必须首先实现除法的功能。

除法实现的方案可以用VHDL 语言实现。

整个四位二进制除法器包括:输入电路,判断电路,除法电路,译码电路和显示电路。这些电路可以分别进行设计。 2、 设计框图

3.各个模块的功能说明

● 整个四位二进制除法器的实现可以分为以下5个部分:

● 输入电路:输入两个4位2进制数A 和B 。它是通过连着高电平的8个开关

输入A 商 输入B

余数

判断B 是否为0

除法器

来实现的。

●判断电路:判断B是否为0。它是通过1个5输入同或门实现的。如果

B为0,输出端输出高电平,使能端除法器不工作,显示器黑屏。

●除法电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商

y和余数r.

●译码电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商

y和余数r.

●显示电路:将译码器译成的数用数码管显示出来。

4.VHDL程序源代码

除法源代码

1.Library ieee;

2.Use ieee.std_logic_1164.all;

3.Entity divider is

4.Generic (n: integer :=3);

5.Port( a, b : in integer range 0 to 15;

6.y:out std_logic_vector ( 3 downto 0);

7.rest:out integer range 0 to 15;

8.err:out std_logic);

9.End divider ;

10.Architecture rtl of divider is

11.Begin

12.Process (a,b)

13.Variable temp1:integer range 0 to 15;

14.Variable temp2:integer range 0 to 15;

15.Begin

16.temp1:=a;

17.temp2:=b;

18.if(b=0)then err <=’1’;

19.Else err<=’0’;

20.End if;

21.For I in n downto 0 loop

22.If (temp1>=temp2*2**i) then

23.y(i) <=‘1’;

24.temp1:=temp1-temp2*2**i;

25.Else y(i)<= ‘0’;

26.End if;

27.End loop;

28.Rest <=temp1;

29.End process;

30.End rtl;

5.VHDL程序说明

假设要计算Y=A/B,其中 A 和 B 有相同的位数4位。假设A=“1011”,B=“0011”。我们希望得到的运算结果是Y=“0011”和余数“0010”。

分析商的计算方法。首先对A和B进行比较。如果前者大于后者,则Y为‘1’,然后将A减去B;否则Y=‘0‘;再进入下一行。当n+1次迭代之后,计算完成,剩下的A就是余数。

让B乘以2的n次幂相当于将B向左移n位,所以新的B矢量比原矢量长n 位。如果A比新的B更大,则Y(n)取值为1,然后将A减去B(移位后的);否则Y=0;此后进行新的迭代。将B乘以2的n-1次幂相当于将B向左移n-1位,,或将刚才计算时用到的值想右移1位。然后再将它和A比较,重复前面的步骤来决定Y(n-1)是取0还是1。整个计算过程需要循环进行n+1次上述操作。

第一个使用的是if 语句,另一个使用的是if 和loop语句。第一种方案是按部就班的进行编码,所以可以看出代码是与算法对应的。第二种方案更简洁一些,并且更通用(位宽参数是通过第6行的GENERIC来声明的)。在这两种实现方案中,由于被除数不可以为0,所以在下面的代码中都要检测B是否为0。仿真结果见下图;

四、原理图和印刷板图

PCB版图

电路原理图

说明:S1、S2输入信号,输入S2的信号经过A2判断,若全为0,则出高电平,使能端除法器不工作,显示器黑屏。输入的两信号经除法器A1 处理,经VHDL语言实现,输入商Y和余数R。最后将译码器译成的数用数码管显示出来。

五、设计结论

本设计用一个5输入同或门和一个VHDL编程除法器,实现数据A 除以数据B并输出商Y和余数R的功能,经MAXPLUSE2仿真验证分析,可以实现此功能。

六、设计心得体会

通过本次课程设计,我深深的感受到自己的不足和差距。在课程设计中对PROTELL99,MAX-PULL2软件的掌握还不是特别的熟练,在以后的学习中应该注重学习此部分内容。也大量的查阅手册和文献资料,从中了解了一些硬件和软件的用途。

七、参考文献

●任勇峰.。VHDL硬件描述语言。北京:国防工业出版社。2005

●乔序峰译。VHDL数字电路设计教程。北京。电子工业出版社2005

●徐敏。电子线路实习指导教程。北京:机械工业出版社,2006

●朱玉正。EDA技术及应用。北京:清华大学出版社2005

●童诗白.模拟电子技术基础.北京:高等教育出版社,2002

●张建华.数字电子技术.北京:机械工业出版社,2004

●陈汝全.电子技术常用器件应用手册.北京:机械工业出版社,2005

●毕满清.电子技术实验与课程设计.北京:机械工业出版社,2005

●潘永雄.电子线路CAD实用教程.西安:西安电子科技大学出版社,2002

●张亚华.电子电路计算机辅助分析和辅助设计.北京:航空工业出版社,

2004

四位二进制除法器说明书

目录 一、设计目的 (1) 二、设计要求 (1) 三、设计内容 (1) 3.1、除法的实现 (1) 3.2、设计框图 (1) 3.3、功能说明 (1) 3.4、VHDL程序源代码 (2) 3.5、VHDL程序说明 (3) 四、原理图和印刷板图 (4) PCB板图 (4) Protel 原理图 (5) 五、设计结论 (6) 六、设计心得体会 (6) 七、主要参考文献 (7)

一、设计目的 1.掌握电子电路的一般设计方法和设计流程; 2.学习使用PROTEL软件绘制电路原理图及印刷板图。 二、设计要求 设计一个四位二进制除法器,具体要求如下: 1. 用键盘输入两个四位二进制数,并用数码管显示输入数。 2.按除法键即显示相除结果。 3. 除数为零时,数码管黑屏,不显示任何内容。 三、设计内容 1、设计过程 要想实现四位二进制除法器,必须首先实现除法的功能。 除法实现的方案可以用VHDL语言实现。 整个四位二进制除法器包括:输入电路,判断电路,除法电路,译码电路和显示电路。这些电路可以分别进行设计。 2、设计框图 3.各个模块的功能说明 ●整个四位二进制除法器的实现可以分为以下5个部分: ●输入电路:输入两个4位2进制数A和B。它是通过连着高电平的8个开关

来实现的。

●判断电路:判断B是否为0。它是通过1个5输入同或门实现的。如果 B为0,输出端输出高电平,使能端除法器不工作,显示器黑屏。 ●除法电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商y 和余数r. ●译码电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商y 和余数r. ●显示电路:将译码器译成的数用数码管显示出来。 4.VHDL程序源代码 除法源代码 1.Library ieee; 2.Use ieee.std_logic_1164.all; 3.Entity divider is 4.Generic (n: integer :=3); 5.Port( a, b : in integer range 0 to 15; 6.y:out std_logic_vector ( 3 downto 0); 7.rest:out integer range 0 to 15; 8.err:out std_logic); 9.End divider ; 10.Architecture rtl of divider is 11.Begin 12.Process (a,b) 13.Variable temp1:integer range 0 to 15; 14.Variable temp2:integer range 0 to 15; 15.Begin 16.temp1:=a; 17.temp2:=b; 18.if(b=0)then err <=’1’; 19.Else err<=’0’;

四位二进制加法器课程设计

课题名称与技术要求 课题名称: 四位二进制加法器设计 技术要求: 1)四位二进制加数与被加数输入 2)二位数码管显示 摘要 本设计通过八个开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入四位串行进位加法器相加,将输出信号S3,S2,S1,S0和向高位的进位 C3通过译码器Ⅰ译码,再将输出的Y3,Y2,Y1,Y0和X3,X2,X1,X0各自分别通过一个74LS247译码器,最后分别通过数码管BS204实现二位显示。 本设计中译码器Ⅰ由两部分组成,包括五位二进制译码器和八位二进制输出器。信号S3,S2,S1,S0和向高位的进位C3输入五位二进制-脉冲产生器,将得到的n(五位二进制数码对应的十进制数)个脉冲信号输入八位二进制输出器,使电路的后续部分得以执行。 总体论证方案与选择 设计思路:两个四位二进制数的输入可用八个开关实现,这两个二进制数经全加器求和后最多可以是五位二进制数。本题又要求用两个数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和

个位。综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成八位,其中四位表示这个五位二进制数对应十进制数的十位,另四位表示个位。而译码器Ⅱ有现成的芯片可选用,此处可选74LS247,故设计重点就在译码器Ⅰ。 加法器选择 全加器:能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。或:不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。 1)串行进位加法器 构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。 优点:电路比较简单。 最大缺点:进位信号是由低位向高位逐级传递的,运算速度慢。 2)超前进位加法器 为了提高运算速度,必须设法减小或消除由于进位信号逐级传递所消耗的时间,于是制成了超前进位加法器。 优点:与串行进位加法器相比,(特别是位数比较大的时候)超前进位加法器的延迟时间大大缩短了。 缺点:电路比较复杂。 综上所述,由于此处位数为4(比较小),出于简单起见,这里选择串行进位加法器。 译码器Ⅱ选择 译码是编码的逆过程,将输入的每个二进制代码赋予的含意“翻译”过来,给出相应的输出信号。译码器是使用比较广泛的器材之一,主要分为:变量译码器和码制译码器,其中二进制译码器、二-十进制译码器和显示译码器三种最典型,使用十分广泛。显示译码器又分为七段译码器和八段

实验四 四位二进制全加器

实验序号实验题目四位二进制全加器实验时间实验室 1.实验元件(元件型号;引脚结构;逻辑功能;引脚名称) 1.SAC-DS4数字逻辑电路实验箱 1个 2.万用表 1块 3.74LS283 四位二进制全加器1片 74LS283 四位二进制全加器引脚结构及逻辑功能 2.实验目的 1、掌握中规模集成电路四位全加器的工作原理及其逻辑功能。 2、学习全加器的应用。 3.实验电路原理图及接线方法描述: (1)74LS283四位全加器实验电路图

(2)用74LS283四位全加器实现BCD码到余3码的转换实验电路图

4.实验中各种信号的选取及控制(电源为哪些电路供电;输入信号的分布位置;输出信号的指示类型;总结完成实验条件) (1)用开关按表下图设置输入A1-A4、B1-B4、C0的状态,借助指示灯观测输出F1-F4、C4的状态。 (2)将每个BCD码加上0011,即可得到相应的余3码。故应按下图接线。 5.逻辑验证与真值表填写 (1)74LS283四位全加器真值表 输入输出 A4 A3 A2 A1B4 B3 B2 B1C0F4 F3 F2 F1C4 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 (2)用74LS283四位全加器实现BCD码到余3码的转换真值表 输入BCD码输出余3码 B4 B3 B2 B1 F4 F3 F2 F1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1

四位二进制全加全减器

数字逻辑设计及应用课程设计报告

组合逻辑设计 题目:使用74LS83构成4位二进制全加\全减器。 具体要求:1)列出真值表; 2)画出逻辑图; 3)用Verilog HDL 进行仿真; 1.设计思路及原理分析 全加器是除本位数字相加外,还考虑进位输入和进位输出的加法器,全减器同理,考虑借位输入和借位输出。本次主要应用74LS83来实现设计要求,74LS83是四位二进制先行进位加法器,可以直接接入输入获得全加器,所以设计重点在于四位全减器的设计。 对于串行进位加法器,可略加改进获得相应的减法器,基本原理如下式: 2'2'2'2'[]s s s s X Y X Y -=+- '2'2[]2n s s Y Y -=- 这里利用了补码的基本性质,具体实现时可以将减数逐位取反,然后最低位加1。又因为全加器时in C 为为进位输入,全减器时应变为借位输入,所以要减去in C ,且全加器的输出端out C 为进位输出,而全减法器应该输出借位输出,而进位输出与借位输出恰好是反向的关系,所以将0S 取反后即得到全减器的借位输出out B ,据此,可以在全加器的基础上设计全减器。

其中表中输出部分上行为全加输出,下行为全减输出。 2 逻辑电路图 3 电路实现和仿真 3.1 verilog HDL设计代码如下: module add(s,out,a,b,in,EN); output[0:3] s; output out; input[0:3] a,b; input in; input EN; reg out; reg[0:3] s,c; always@(*) if (EN==0) begin {out,s}=a+b+in; end else begin c=10000-b; {out,s}=a+c-in; out=~out; end endmodule 3.2 仿真波形图

四位二进制除法器

四位二进制除法器设计 李道通58 1、设计方法 采用移位相减法设计二进制除法器:被除数和除数都是二进制数,采用将除数移位的方法。1)判断除数是否零:如果除数为零,返回等待;2)除数不为零时,C左移一位,将被除数A的最高位赋值给C的最低位,A左移一位,将最低位赋值为零;3)判断C和除数B的大小,若C>=B,这C=C-B,且A的最低位赋值为1。4)如此循环四次,得到的A即为商,得到的C为余数。该算法的好处在于被除数和商公用一个寄存器A,节省资源。 2、算法流程图 图中:被除数和除数分别放在A、B中,商余数分别放在A和C,N为计数器

3、VHDL程序代码: LIBRARY IEEE; USE ldt_chufaqi IS PORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); C,D:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END ENTITY ldt_chufaqi; ARCHITECTURE BEHAV OF ldt_chufaqi IS BEGIN S1:PROCESS(A,B) VARIABLE N:INTEGER; VARIABLE TEMP_A,TEMP_B,TEMP_C:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN TEMP_A:=A; TEMP_B:=B; TEMP_C:="0000"; N:=0; IF(B>"0000")THEN WHILE(N<4) LOOP TEMP_C:=TEMP_C(2 DOWNTO 0)& TEMP_A(3); TEMP_A:=TEMP_A(2 DOWNTO 0)&'0'; IF TEMP_C>=TEMP_B THEN TEMP_C:=TEMP_C-TEMP_B; TEMP_A(0):='1'; END IF; N:=N+1; END LOOP; ELSE TEMP_A:="ZZZZ"; TEMP_C:="ZZZZ"; END IF; D<=TEMP_A(3 DOWNTO 0);C<=TEMP_C(3 DOWNTO 0); END PROCESS; END ARCHITECTURE BEHAV; 4、仿真结果: 图中:A、B、C、D分别是被除数、除数、余数和商,因本人对软件和语言的运用理解不足,无法做到A的同时输入和输出,故将A的结果赋值给D,但基本思路运算方法已经得到实现。 除数为零时,商和余数都为高阻态;

四位二进制加法器 课程设计报告

《电工与电子技术基础》课程设计报告 题目 4位二进制加法器 学院(部) 专业 班级 学生姓名 学号 5月日至 6月日共周

目录 技术要求·2 摘要·2 第一章系统概述 1、总体设计思想·2 2、系统框图·3 3、工作原理·3 第二章单元电路设计及分析 1、加法器的选择·4 2、译码器Ⅰ的选择·8 3、译码器Ⅱ的选择·11 4、数码管的选择·13 第三章系统综述及总体电路图 1、系统综述·14 2、总体电路图·15 3、仿真结果·15 第四章结束语 收获与体会·16 鸣谢·17 附录 1、元件材料清单·17 2、部分元器件引脚图·17 参考文献··17

4位二进制加法器 课题名称与技术要求 课题名称: 四位二进制加法器设计 技术要求: 1)四位二进制加数与被加数输入 2)二位数码管显示 摘要 本设计通过八个数据开关将A4,A3,A2,A1和B4,B3,B2,B1信号作为加数和被加数输入四位二进制并行进位加法器相加,将输出信号S4,S3,S2,S1和向高位的进位C4通过译码器Ⅰ译码,再将输出的X4,X3,X2,X1和Y4,Y3,Y2,Y1各自分别通过一个 74248J译码器,最后分别通过数码管HVH实现二位显示。 本设计中译码器Ⅰ由三部分组成,包括一个2输入四与非门(74LS08D)、一个4位二进制全加器(74LS283N)和一个3输入或门(4075BD_5V)。信号S4,S3,S2,S1和向高位的进位C4输入译码器Ⅰ,将得到的两组4位BCD码输出,将这两组4位BCD码分别输入BCD-7段译码/升压输出驱动器(74248J),使电路的后续部分得以执行。 第一章系统概述 1、总体设计思想 设计思路:两个4位二进制数的输入可用八个数据开关实现,这两个二进制数经全加器求和后最多可以是5位二进制数。而本题要求用两位数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和个位。综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成8位BCD码,其中4位表示这个5位二进制数对应十进制数的十位,另4位表示个位。而译码器Ⅱ有现成的芯片可选用,此处可选74LS248,故本课题设计重点就在译码器Ⅰ。

实验一-加法器的设计与实现讲解

实验项目二:简单计算器设计与实现基本要求: 1. 能够实现加减运算 2. 能够实现乘法运算 扩展要求: 1.能够实现除法运算 一、实验目的 利用原件例化语句完成一个8位加法器的设计。 二、实验环境 Quartus II 开发系统 三、实验内容 1、掌握层次化设计的方法; 2、掌握一位全加器工作原理; 3、掌握用VHDL文本输入法设计电子线路的详细流程; 4、掌握元件例化语句用法; 5、熟悉软硬件设计验证方法。 四、实验过程 设计思想: 8位二进制加法器可以由8个全加器通过级联的方式构成。根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。 实验步骤: 1、设计一个全加器 新建工程,建立源文件,输入VHDL设计文件,如下图所示:

完成设计文件输入后,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示: 由图可知仿真结果正确。 2、元件例化 把VHDL设计文件转为原理图中使用的元件。在文件菜单File中选择Creat/Update选项,单击Create Symbol File for Current File 选项,系统自动生成相应的元件标号。 重复新建文件的操作,选择Block Diagram/Schmatic File 选项,新建一个原理图文件,在添加元件列表中可以看到自动生成的元件,选择full_adder这个元件添加到原理图中,如下图所示:

3、完成顶层图的设计 用生成的元件标号,完成顶层图的设计。这里有两种方法,一种是直接用原理图设计,根据原理图设计工具的使用方法,完成顶层文件的设计,这个方法比较复杂,所以这里选择另一种方法,通过VHDL设计文件。 继续建立源文件,输入VHDL设计文件,如下图所示: 依照上述步骤,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:

组合逻辑课程设计4位二进制全加器全减器原创

组合逻辑电路课程设计—— 4位二进制全加器/全减器 作者: 学号: 课程设计题目要求: 1)使用74LS283构成4位二进制全加/全减器。 2)阐述设计思路。 3)列出真值表。 4)画出设计的逻辑图。 5)用VHDL对所画电路进行仿真。 目录 摘要 (2) 1总电路设计 (3) 1.1硬件电路的设计 (3) 1.2全加器(full-adder ) (3) 1.2.1四位二级制加法器 (5) 1.2.1.1串行进位加法器 (5) 1.2.1.2超前进位加法器 (6) 1.2.1.3超前位链结构加法器 (6) 1.3全减器(full-substracter ) (7)

1.4总电路设计 (8) 2设计思路 (9) 2.1全加器 (9) 2.2全减器 (9) 3真值表 (10) 4逻辑图与仿真 (12) 5软件程序的设计 (16) 6结果分析与总结 (19) 摘要 加法器是数字系统中产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。例如:为了节省资源,减法器和硬件乘法器都可以用加法器来构成。但宽位加法器的设计是很耗资源的,因此在实际的设计和相关饿得设计与开发中需要注意资源的利用率和进位速度两方面的问题,多位加法器的构成主要有两种:并行进位和串行进位。并行进位加法器设有并行进位产生逻辑,运行速度比串行进位快;串行进位是将全加器采取并行级联或菊花链式级联构成多位加法器。加法器也是常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。此外还可以用来表示各种数值,如:BCD、加三码,主要的加法器是以二进制作运算。 本文将采用4位二进制并行加法器作为折中选择,所选加法器为74LS283,74LS283是4位二进制先行进位的加法器,它只用了几级逻辑来形成和及进位输出,故由其构成4位二进制全加器;而四位全减器可以用加法器简单的改造而来,最后本文采用 VHDL对四位全加器/全减器进行仿真。 关键字 74LS283全加器、四位二进制、迭代电路、并行进位、串行进位、VHDL

四位二进制除法器

四位二进制除法器设计 李道通1411082758 1、设计方法 采用移位相减法设计二进制除法器:被除数和除数都是二进制数,采用将除数移位的方法。1)判断除数是否零:如果除数为零,返回等待;2)除数不为零时,C左移一位,将被除数A的最高位赋值给C的最低位,A左移一位,将最低位赋值为零;3)判断C和除数B的大小,若C>=B,这C=C-B,且A的最低位赋值为1。4)如此循环四次,得到的A即为商,得到的C为余数。该算法的好处在于被除数和商公用一个寄存器A,节省资源。 2、算法流程图 图中:被除数和除数分别放在A、B中,商余数分别放在A和C,N为计数器

3、VHDL程序代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.NUMERIC_STD.ALL; ENTITY ldt_chufaqi IS PORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); C,D:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END ENTITY ldt_chufaqi; ARCHITECTURE BEHA V OF ldt_chufaqi IS BEGIN S1:PROCESS(A,B) V ARIABLE N:INTEGER; V ARIABLE TEMP_A,TEMP_B,TEMP_C:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN TEMP_A:=A; TEMP_B:=B; TEMP_C:="0000"; N:=0; IF(B>"0000")THEN WHILE(N<4) LOOP TEMP_C:=TEMP_C(2 DOWNTO 0)& TEMP_A(3); TEMP_A:=TEMP_A(2 DOWNTO 0)&'0'; IF TEMP_C>=TEMP_B THEN TEMP_C:=TEMP_C-TEMP_B; TEMP_A(0):='1'; END IF; N:=N+1; END LOOP; ELSE TEMP_A:="ZZZZ"; TEMP_C:="ZZZZ"; END IF; D<=TEMP_A(3 DOWNTO 0);C<=TEMP_C(3 DOWNTO 0); END PROCESS; END ARCHITECTURE BEHA V; 4、仿真结果: 图中:A、B、C、D分别是被除数、除数、余数和商,因本人对软件和语言的运用理解不足,无法做到A的同时输入和输出,故将A的结果赋值给D,但基本思路运算方法已经得到实现。

利用全加器电路创建四位二进制加法器

一.课程设计的目的: 1、学习并了解MATLAB软件。 2、尝试用Simulink建模。 3、实现对数字电路的防真设计。 4、利用全加器电路创建四位二进制加法器。 二.课程设计题目描述及要求: 利用所学的数字电路的基本知识和MUTLAB软件中Simulink的应用学习,完成对数字电路的仿真设计。用各种各样的组合逻辑电路设计全加器,输出曲线,再利用全加器设计电路创建四位二进制加法器电路图,给出输出。 三.MATLAB软件简介: MATLAB是MathWorks公司于1984年推出的一套高性能的数值计算可视化软件,集数值分析、矩阵运算、信号处理和图形显示于一体。MATLAB是由Matrix 和Laboratory单词的前三个字母组合而成的,其含义是矩阵实验室。 Simulink是MATLAB最重要的组件之一,是实现动态系统建模、仿真的一个集成环境。它支持线性和非线性系统,连续时间、离散时间,或者两者的相结合的仿真,而且系统是多进程的。Simulink是从底层开发的一个完整的仿真环境和图形界面,它把MATLAB的许多功能都设计成一个个直观的功能模块,把需要的功能模块连接起来就可以实现所需要的仿真功能。Simulink仿真应用于数字电路、数字信号处理、通信仿真、电力系统仿真、宇航仿真等领域。由于数字系统中高低电平分别用0和1表示,因此数字电路问题往往可以转化为一个数字上的逻辑问题。MATLAB提供了逻辑运算模块和各种触发器模块,可以方便的进行数字电路的设计和仿真。借助于组合电路仿真常用模块Logic and Bit Operations子库中的Local Operator模块,将其拖到所建的untitled窗口中,然后鼠标左键双击该模块弹出的Block Parameters/Logical Operator对话框,按Operator栏后的黑三角来选择所需要的门电路标识符,如:AND、OR、NAND、NOR、XOR、NOT中的一个,并依次设置所需的输入、输出端子个数,之后按OK 键确定。利用这些基本门电路组成加法器逻辑电路。 四.课程设计的内容: 1、1位全加器的设计。 所谓全加器,就是带进位输入和进位输出的加法器。1位全加器有3个输入,分别是加

4位全加器实验报告

四位全加器 11微电子黄跃21 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

个工程项目adder_4bit。 建立文本编辑文件: 点击File→New在该项目下新建Verilog源程序文件 并且输入源程序。 (2)编译和仿真工程项目: 在verilog主页面下,选择Compile— Compile All或点击工具栏上的按钮启动编译,直到project出现status栏全勾,即可进行仿真。 选择simulate - start simulate或点击工具栏上的按钮开始仿真,在跳出来的 start simulate框中选择work-test_adder_4bit测试模块,同时撤销Enable Optimisim前的勾,之后选择ok。 在sim-default框内右击选择test_adder_4bit,选择Add Wave,然后选择simulate-run-runall,观察波形,得出结论,仿真结束。 四位全加器 1、原理图设计 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【仿真和测试结果】 下图为四位全加器的仿真图:

一位全减器

实验一 1位二进制全减器设计 一、实验目的 1.熟悉Quartes II集成开发软件的使用; 2.初步熟悉PH-1V型实验装置的使用; 3 . 学习用原理图输入法和文本输入法进行简单的数字电路设计,掌握系统仿真,学会分析硬件测试结果。 二、实验内容与要求 1.采用原理图输入法和文本输入法分别实现,分层设计,底层由半减器(也用原理图输入法)和逻辑门组成; 2.建立波形文件,并进行系统仿真,用软件验证设计结果; 3. 在仿真正确的情况下,对1位二进制半加/减器分别下载到实验箱中做硬件测试 三、实验原理及设计思路 根据一位二进制全减器的工作原理,可得其真值表为(如下:cin表示低位向本位借位。cout 表示本位向高位借位)

由EDA教程中全加器的顶层设计描述及半加器调用可类比到全减器的设计,可由先对半减器进行描述,然后进行两次调用。半减器的工作时的逻辑表达式为:so=a XOR b ;co=(NOT a)AND b 四、实验程序(程序来源:EDA技术实验教程) LIBRARY IEEE ; ——或门逻辑描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a, b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or2a; ARCHITECTURE one OF or2a IS BEGIN c <= a OR b ; END ARCHITECTURE one; LIBRARY IEEE; ——半减器描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_suber IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC);

8位二进制乘法器

8位二进制乘EDA实验 法器 学号:02115024 [2013.12.15] 班级:021151 姓名:王浩楠 指导老师:徐少莹

一.设计要求 8位二进制乘法采用移位相加的方法。即用乘数的各位数码,从低位开始依次与被乘数相乘,每相乘一次得到的积称为部分积,将第一次(由乘数最低位与被乘数相乘)得到的部分积右移一位并与第二次得到的部分积相加,将加得的和右移一位再与第三次得到的部分积相加,再将相加的结果右移一位与第四次得到的部分积相加,直到所有的部分积都被加过一次。 例如:11010101和10010011相乘,计算过程如下: 二.设计方法 按照这种算法,可以得到下图所示之框图和简单流程图。按照这种算法,可以得到下图所示之框图和简单流程图。图中Y寄存器存放被乘数M,B寄存器存放乘数N,A累加器存放部分积。A和Y中的数据在加法器中相加后送入A 中,而A和B相级联又构成了一个16bit的移位寄存器,当它工作于移位模式时,可以实现数据的右移。由于乘数的每一位不是0就是1 ,对应的部分积不是0就是被乘数本身,所以实际作部分积相加这一步时,只要根据乘数的对应位判断:如该位为1 ,则将累加器中的数据加上被乘数再移位;如该位为0时,就不加被乘数而直接移位。运算时首先将累加器A清零,并将被乘数M和乘数N分别存入寄存器Y和B,然后依据寄存器B中最右一位B0(数据N0)确定第一个部分积。将此部分积送入A累加器以后,将A连同寄存器B右移一位,部分积的最低位被移进寄存器B的最左位,乘数的最低位N0被移出寄存器B,而乘数的次低位N1被移至寄存器B的B0位。第二次仍然依据B0位的数据(N1)来确定第二个部分积,将部分积与累加器中的数据相加后右移一位,N1又被移出寄存器,数据N2被移到B0位置。。。。。这样,经过8次部分积相加位的操作,完成1次乘法运算,乘数N恰好被移出寄存器B,寄存器B中保存的就是运算积的低8位数据。移位相加的次数应用一个计数器来控制,每移位一次,计数器计一个数。当计数器计得8个数时,发出一个信号,使电路停止操作,并输出运算结果。

数字逻辑4位二进制加法器实验

实验2 4位二进制加法器的设计 2.1 实验目的 进一步熟悉Quartus Ⅱ的基本操作方法,并利用原理图输入设计方法设计简单组合电路,掌握层次化设计的方法,通过4位全加器的设计掌握利用EDA 工具进行电子系统设计的流程。 2.2 原理提示 一个4位二进制加法器可以由4个全加器构成,各全加器之间的进位以串行方式实现,即将低位的进位输出CO 与相邻的高一位全加器的进位位Ci 相连,最低进位位接“0”。实验原理图如下。 2.3实验内容 采用Quartus Ⅱ基于图形的设计方法,在实验1的基础上,按层次化结构实现4位全加器的设计。完成原理图输入、编译、进行波形仿真验证。(仿真时要对所有输入、输出端进行)。 2.4实验步骤 (1) 为本项设计任务建立工程。 启动Quartus Ⅱ,新建一个工程,有关操作如下图。 将实验1中已设计好的原理图文件fualladd.bdf 拷贝到D:\0501\exp2下。在实验1中fualladd.bdf 是顶层设计文件,而在本实验中,fualladd.bdf 将作为底层设计文件使用。 ∑C i C o ∑C i C o ∑C i C o a 0b 0a 1b 1a 2b 2a 3b 3s 0s 1s 2s 3c o ∑C i C o 0

建立本工程的顶层设计。点击“File/New”→“Block Diagram/Schematic File”→“OK”,将Block1.dbf 另存为add4. dbf。add4. dbf是本工程的顶层设计文件。 (2)点击“File / Open…”将fualladd.bdf 文件打开。 (3)将fualladd.bdf制作成一个符号块,以便在add4. dbf中调用。点击“File / Create/Update / Create Symble Files For Currenf Fils”,弹出对话框(文件名一栏应出现fualladd.bsf),点击“保存”。于是,生成全加器的符号块文件fualladd.bsf。 (4)在add4. dbf的绘图区放置全加器符号。右击add4. dbf的绘图区,弹出浮动菜单,选择“Insert / Symbol…”弹出如下对话框:(在实验1中是怎样放置一个符号的?在这里也能用吗?试试看) 按图操作。结果在add4. dbf的绘图区放置了一个全加器符号。 (5)完成顶层设计。 按下图操作,完成4位二进制加法器的设计。存盘。 操作说明: 符号的旋转 右击待旋转的符号,弹出浮动菜单,选择“Rotate by Degrees / 90”可反时针旋转90°。

实验一1位二进制全加器的设计

龙岩学院实验报告 班级学号姓名同组人 实验日期室温大气压成绩 实验题目:基于原理图输入法的1位二进制全加器的设计 一、实验目的 1、学习、掌握QuartusⅡ开发平台的基本使用。 2、学习基于原理图输入设计法设计数字电路的方法,能用原理图输入设计法 设计1位二进制半加器、1位二进制全加器。 3、学习EDA-V型实验系统的基本使用方法。 二、实验仪器 装有QuartusⅡ软件的计算机一台、EDA系统实验箱、导线若干 三、实验原理 半加器只考虑两个1位二进制数相加,而不考虑低位进位数相加。半加器的逻辑函数 为 式中A和B是两个相加的二进制数,S是半加和,C是向高位的进位数。表1为半加器真值表。 表1 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 显然,异或门具有半加器求和的功能,与门具有进位功能。 其逻辑图跟逻辑符号如下图:

全加器除了两个1位二进制数相加以外,还与低位向本位的进位数相加。表2为全加器的真值表。 表2 A i B i C I-1 C i S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 由真值表可得出逻辑函数式 式中,A i 和B i 是两个相加的1为二进制数,C i-1 是由相邻低位送来的进位数, S I 是本位的全加和,C I 是向相邻高位送出的进位数。其逻辑图跟逻辑符号如下图所示: 四、实验内容 1、根据1位二进制半加器、1位二进制全加器的真值表,设计并画出1位二进制半加器的原理框图,由半加器及门电路设计并画出1位二进制全加器的原理框图(最终设计的是1位二进制全加器)。

4位无符号二进制除法器

4????·?o???′???3?·¨?÷.txtè??ú???aμ?2?ê??ù??μ?????£???ê??ù3ˉμ?·′?ò?£2??aó?×?μoμ??è?óè¥oaá?±?è?μ???óè£?·??òóà??ê?±§?1?£LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY chufaqi IS PORT( wfu1,wfu2 : IN STD_LOGIC_VECTOR( 3 downto 0); shang,yushu : OUT STD_LOGIC_VECTOR( 3 downto 0) ); END chufaqi; ARCHITECTURE a OF chufaqi IS SIGNAL remain0,remain1,remain2,remain3 : STD_LOGIC_VECTOR( 6 downto 0); SIGNAL diver0,diver1,diver2,diver3 : STD_LOGIC_VECTOR( 6 downto 0); BEGIN PROCESS (wfu1,wfu2) BEGIN remain3 <= "000" & wfu1; diver3 <= wfu2 & "000"; if remain3 >= diver3 then shang(3) <= '1'; remain2 <= diver3; else shang(3) <= '0'; remain2 <= remain3; END IF; diver2 <= "0" & wfu2 & "00"; if remain2 >= diver2 then shang(2) <= '1'; remain1 <= remain2 - diver2; else shang(2) <= '0'; remain1 <= remain2; END IF; diver1 <= "00" & wfu2 & "0"; if remain1 >= diver1 then shang(1) <= '1'; remain0 <= remain1 - diver1; else shang(1) <= '0';

《四位二进制》 汪洋

《电工与电子技术基础》课程设计报告 题目四位二进制加法器 学院(部)汽车学院 专业汽车运用工程 班级2013220202 学生姓名汪洋 学号201222020227 6 月20 日至6 月2 7 日共1 周

四位二进制加法器 一.主要技术指标和要求 (1)四位二进制加数与被加数输入; (2)二位数码管显示。 二.摘要 四位二进制加法器的设计包括:1、四位二进制加数和被加数的输入,2、两个数的相加运算及和的输出,3、将两个数的和通过译码器显示在数码管上。二进制数的输入可以通过数据开关实现,用加法器可以进行二进制数的加法运算。两个四位二进制数相加后的和在十进制数的0~30内,其中产生的进位和对十进制数十位的判断和显示是重点和难点,这需要通过译码器来实现。最后用两个BS204数码管进行二位显示。 三.总体方案的论证及选择 通过数据开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入到超前进位加法器74LS283的8个输入端实现,四位二进制相加,将输出信号S4,S3,S2,S1和向高位的进位C1通过一译码器译码。再将输出X4,X3,X2,X1和Y4,Y3,Y2,Y1分别通过一个74LS247译码器,最后分别通过共阳极数码管BS204实现二位显示。

1.加法器的选择 加法器是一种逻辑组合电路,主要功能是实现二进制数的算数加法运算。加法器有两种:串行进位加法器和超前进位加法器。串行进位加法器高位的运算必须等到低位的加法运算完成后送来的进位才能进行,虽然电路简单,但运行速度慢,位数越多,进位越慢;超前进位加法器是由逻辑电路根据输入信号同时形成各位向高位的进位,使各位的进位直接由加数和被加数决定,而不依赖低位的进位,省去了逐级进位所用的时间,因此这种加法器速度快,所以我们选择超前进位加法器,其型号有多种,再此,选择74LS283型加法器。 2.译码器的选择 译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输入信号。译码器是组合逻辑电路的一个重要器件。译码器的种类有多种,其中显示译码器最典型,应用广泛,其又分为七段译码器和八段译码器,在此选择七段译码器,可供选择的译码器有74LS247,74LS47,74LS248,74LS48四种,74LS247,74LS47的引脚排列分别和74LS248,74LS48的引脚排列一模一样,功能也差不多,但前两者控制共阳极数码管,后两者控制共阴极数码管,最终我们选择74LS247译码器。 74LS247型七段显示译码器的主要功能是把8421BCD译成对应于数码管的7个字段信号并驱动数码管,显示出相应的十进制数码。

一位全加全减器的实现

课程实验报告课程名称:数字电路与逻辑设计 专业班级:计实1001班 学号:U201014488 姓名:王宸敏 指导教师:唐九飞 周次:第九周 同组人员:熊凯 报告日期:2012年4月18日

计算机科学与技术学院 【内容A 】 一、 实验名称 一位全加/全减器的实现 二、 实验目的 1. 掌握组合逻辑电路的功能测试 2. 验证半加器和全加器的逻辑功能 3. 学会二进制数的运算规律 三、 实验所用仪器和组件 1. 二输入四“与非”门1片,型号为74LS00 2. 三输入三“与非”门1片,型号为74LS10 3. 二输入四“异或”门1片,型号为74LS86 四、 实验设计方案及逻辑图 首先根据真值表得到了其卡诺图如下所示: 根据输入与输出写出全加/减法器的函数表达式,如下: 实现全加法器的表达式: in in in in O in BC AC AB BC AC AB C C B A S M ??=++=⊕⊕==时,0; 实现全减法器的表达式: in in in in O in BC C A B A BC C A B A C C B A S M ??=++=⊕⊕==时,1 .

由表达式可知:S采用异或的逻辑门而Co则采用与非的逻辑门得到,因此画出逻辑图如下: 五、实验记录 六、描述实验现象,并运用所学的知识进行分析、处理及讨论 1.在m=0时,在输入端输入三个电平时,输出实现了全加器的功能,即把三个输入当作 被加数、加数和低位的进位,同时两个输出分别表示了和与低位的进位。 2.在m=1时,在输入端输入三个电平时,输出实现了全减器的功能,即把三个输入当作 被减数、减数和低位的借位,同时两个输出分别表示了差与高位的借位。 因为电路的设计是根据真值表的结果得到的,通过真值表画出卡诺图从而的到输出关于输入的表达式,因此他所实现的功能正是我们所需要的全加器与全减器的功能,只不过是通过逻辑门进行了处理,得到的是正确的值。

四位二进制加法器电工电子课程设计

长安大学 电子技术课程设计 4位二进制加法器 专业车辆工程 班级22010901 姓名韩塽 指导教师顾樱华 日期2011、6、26

目录 一、技术要求 (2) 二、摘要 (2) 三、总体设计方案的论证及选择 (2) 1、加法器的选取 (2) 2、译码器的选取 (2) 3、数码管的选取 (3) 四.设计方案的原理框图,总体电路图,接线图及说明 (3) 1、总体原理图 (3) 2、总体接线图 (4) 五.单元电路设计,主要元器件选择与电路参数计算 (4) 1、逻辑开关 (4) 2、加法器设计 (5) 3、译码器设计 (7) 4、数码管设计 (9) 六、收获与体会 (10) 七、参考文献 (11) 八、附件(元器件清单) (12) 评语 (13)

一.技术要求 1.四位二进制加数与被加数输入 2.二位数码管显示 二.摘要 该设计主要包括两个部分:一是用加法器实现四位二进制加数与被加数的输入,二是将相加产生的二进制和数用二位数码管显示,在此设计中加法器是重点,数码显示是难点。数码显示采用计数器,译码器七段译码显示管来实现。加法器分为半加器和全加器,半加器只能实现两个一位二进制数的相加,其只考虑两个加数本身的求和而不考虑低位来的进数位。目前使用最广泛的二进制加法器是二进制并行加法器。 三.总体设计方案的论证及选择 1.加法器的选取 二进制并行加法器是一种能并行产生两个n位二进制算术和的组合逻辑电路。按其进位方式的不同,可分为串行进位二进制并行加法器和超前进位二进制并行加法器两种类型。所以根据加法器的工作速度选取超前进位加法器。这里供选取的超前进位加法器有74LS283,CT74LS283,SN74LS283,DM74LS283,HD74LS283,M74LS283 可供选择。由于我们是非电专业,对电子器件的选取要求不高,为使设计简单起见所以选74LS283加法器。 2.译码器的选取 译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。译码器是组合逻辑电路的一个重要的器件,在显示译码器的选择上有七段译码器和八段译码器。此

相关文档
最新文档