当前位置:文档之家› 四位二进制加法器缺1,2,3,4,5

四位二进制加法器缺1,2,3,4,5

四位二进制加法器缺1,2,3,4,5
四位二进制加法器缺1,2,3,4,5

成绩评定表

课程设计任务书

目录

(一)背景及意义 (1)

(二)设计原理及方案 (1)

(三)设计过程 (4)

(四)结果分析 (15)

(五)结论 (15)

(一)背景及意义

数字电路是电子信息类专业的基础课程,其中数字电路课程设计是该课程的重要实践教学环节,具有理论性与工程实践性强的特点。为了改进数字电路课程设计的教学,开展了将现代EDA技术应用于数字电路课程设计的教学改革。可以将数字电路课程设计分成两个阶段进行:基于Multisim的仿真设计、基于FPGA的EDA 设计,使学生既掌握扎实的数字电路理论基础,又学习到现代数字系统的EDA设计技术,加强了学生工程实践能力的培养,取得了良好的教学效果。本文介绍了基于VHDL、QuartusⅡ以及Multisim四位二进制减计数缺状态的设计,四种灯能按设计的要求顺序亮灭。阐述了EDA技术在数字系统设计中的重要地位和作用。

(二)设计原理及意义

1.时钟电路方程CP0=CP1=CP2=CP3=CP

2.根据题写状态图

00000/

0110

0/

0111

0/

1000

0/

1001

0/

1010

1/

1111

0/

1110

0/

1100

0/

1101

0/

1011

0/

3.根据状态图写出Y的表达式

表1 根据状态图看输出Y的值

可求出 Y= Q3Q2Q1Q0

4. 根据状态图写出四位二进制加法器的次态的卡诺图

表2 四位二进制加法器次态的卡诺图5. 写出各个触发器次态的卡诺图

表3 Q3n+1的卡诺图

表4 Q2n+1的卡诺图

6. 求出状态方程

Q

3n+1 = ?Q3n Q0n+ Q3n?Q2n Q1n?Q0n

Q2n+1 = ?Q3n?Q2n+ Q2n?Q0n+ Q2n?Q1n+?Q2n?Q1n Q0n

Q1n+1 = ?Q3n?Q1n+?Q1n Q0n + Q1n?Q0n

Q0n+1 = Q1n?Q0n+ Q3n?Q0n

7. 与JK触发器的特性方程比较,可得到下列驱动方程

JK触发器的驱动方程为:

Q n+1=J?Q n+K Q n

驱动方程为:

J

0= Q1n + Q3n K0=1

J1= ?Q3n + Q0n K1= Q0n

J2= ?Q3n + Q1n Q0n K2=Q1n Q0n

J3= Q0n K3= Q2n Q1n Q0n

(三)设计过程

1.quartus的调试和使用

启动QUARTUS后的界面如图1所示,首先需要创建一个工程,具体操作过程如下:

图1 QUARTUS软件的启动界面

一.点击File –> New Project Wizard创建一个新工程,系统显示如图2。

图2 工程创建向导的启始页

二.点击Next,为工程选择存储目录、工程名称、顶层实体名等,如图3所示;三.点击Next,若目录不存在,系统可能提示创建新目录,点击“是”按钮创建新目录,系统显示如图4所示;

四.系统提示是否需要加入文件,在此不添加任何文件;

五.点击Next,进入设备选择对话框,如图5,这里选中实验箱的核心芯片CYCLONE系列FPGA产品EP1C6Q240C8;

六.点击Next,系统提示是否需要其他EDA工具,这里不选任何其他工具;七.点击Next后,系统提示创建工程的各属性总结,若没有错误,点击Finish,工程创建向导将生成一个工程,这时软件界面如图6,在窗口左侧显示出设备型号和该工程的基本信息等。

图3 输入工程名称、存储目录

图4 提示是否添加文件

图5 芯片型号选择

图6 工程阐述汇总

至此工程创建好完成,一下进行具体的设计了,为实现用一个拨码开关控制一个LED亮灭的功能,可用VHDL编写一个程序实现,具体操作过程如下:

(1)点击File->New创建一个设计文件,系统显示如图7;

图7 创建一个设计文件

(2)选择设计文件的类型为VHDL File;

(3)点击OK,系统显示如图8,窗口右侧为VHDL的编辑窗口。

图8 新建的一个VHDL源文件的编辑窗口

(4)在编辑窗口中编辑以下程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

Entity count10 is

PORT (cp,r:IN STD_LOGIC;

q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );

end count10;

ARCHITECTURE Behavioral OF count10 IS

SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0) ;

BEGIN

PROCESS (cp,r)

BEGIN

if r='0' then count<="0000";

elsiF cp'EVENT AND cp='1' THEN

if count="0000" THEN

count <="0110";

elsiF count="1111" THEN

count <="0000";

ELSE count <= count +1;

END IF;

end if;

END PROCESS;

q<= count;

end Behavioral;

(5)输入程序后,存盘,如图9所示:

图9 存盘

( 6 ) 点击Processing->Start Compilation编译该文件,系统将开始编译,结束后,给出提示信息和编译结果,如图10所示:

图10 编译结果显示

( 7 ) 仿真

( 8 )建立时序仿真文件,如图7所示,选择“Vector Waveform File”,出现

图11的界面,在Name空白处击右键,Insert→Insert Node or Bus。

图 11

图12

在图12中单击

图13

在13中单击,再单击→OK→OK。出现如图14所示的界面。

图14

仿真文件存盘时,文件名字必须与顶层文件同名,即count10,默认即可。

( 9 )单击菜单进行仿真

图16

仿真结果如图17。

图17 仿真波形

(10)点击Assignment->Pins进行引脚分配,实验箱上拨码开关和LED应的引脚分别为55和98,99,100,101,分配结果如图18所示。

图18 引脚分配

(11)参照步骤(5)重新编译系统,系统将生成FPGA配置文件,在编译过程中若显示警告可不理会;

(12)准备下载,注意打开实验箱电源,并连接下载电缆;

(13)点击Tools->Programmer将配置文件下载到FPGA,系统显示如图19所示,注意选择下载模式为JTAG,若下载线硬件显示“No Hardware”,则点击

Hardware Setup按钮,双击USB-Baster,设定其为当前选定硬件,再点Close 返回。

图19 下载界面

这时,选中Program/Configure,点击Start,将配置文件下载到FPGA。观察实验效果,尝试开关拨码开关K1,发光二极管D1-1将随之亮灭。

2.multisim的调试和使用

(1)打开multisim界面,将背景改成白色,如图20所示

图20 multisim界面

(2)根据(二)参数计算将J,K和对应的元件连接起来,如图21所示。

图21 实现四位二进制加法器缺1,2,3,4,5的电路图

(3)检查电路,无误后点击开始按钮,观察五个灯泡的亮灭。双击逻辑分析仪,观察周期变化情况,如图22所示。

图22 逻辑分析仪的周期变化

(五)结果分析

1.由quartus仿真结果可知,四位二进制加法器从0000开始,跳过00010010,0011,0100,0101,到0110,一直到1111,循环一次结束,再从0000开始重新循环。

2.由multisim仿真结果可知,四位二进制加法器从0000开始循环,跳过0001,0010,0011,0100,0101,再到0110,一直顺次加到1111,一次循环结束。再从0000开始往复循环。

(六)结论

在本次数字电路课程设计中,我受益匪浅。原本对二进制加法计数器概念模糊不清的我,真正理解了它的含义和运算过程。这对我以后学习相关的课程以及进行更高层次的数字电路设计都奠定了不错的基础。

在设计过程中,出现了各种各样原因引起的问题,这些都考验我的毅力。但是我掌握了研究这类问题的方法,即问题解决就要从问题表现出来的情况出发,通过反复的推敲,做出相应的判断。例如,小灯亮的过程中显示灯亮前一个是0001,后一个是0111,而不是0110,说明J0,K0求解可能有问题,需要重新计算。总之,只要坚持不放弃,我们总能逐步找出问题所在,并将其一举击破。

实验四、 计数器的设计 电子版实验报告

实验四:计数器的设计 实验室:信息楼247 实验台号: 4 日期: 专业班级:机械1205 姓名:陈朝浪学号: 20122947 一、实验目的 1. 通过实验了解二进制加法计数器的工作原理。 2. 掌握任意进制计数器的设计方法。 二、实验内容 (一)用D触发器设计4位异步二进制加法计数器 由D触发器组成计数器。触发器具有0和1两种状态,因此用一个触发器 就可以表示1位二进制数。如果把n个触发器串起来,就可以表示N位二进制 数。(用两个74LS74设计实现) (二)利用74LS161设计实现任意进制的计数器 设计要求:学生以实验台号的个位数作为所设计的任意进制计数器。 先熟悉用1位74LS161设计十进制计数器的方法。 ①利用置位端实现十进制计数器。 ②利用复位端实现十进制计数器。 提示:设计任意计数器可利用芯片74LS161和与非门设计,74LS00为2输 入与非门,74LS30为8输入与非门。 74LS161为4位二进制加法计数器,其引脚图及功能表如下。

三、实验原理图 1.由4个D触发器改成的4位异步二进制加法计数器 2.由74LS161构成的十进制计数器

四、实验结果及数据处理 1.4位异步二进制加法计数器实验数据记录表 2. 画出你所设计的任意进制计数器的线路图,并说明设计思路。

设计思路:四进制为四个输出Q3Q2Q1Q0=0000,0001,0010,0011循环,第一个无效状态为0100 1,置位法设计四进制计数器:当检测到输入为0011时,先输出显示3,然后再将D 置于低电位,计数器输出Q3Q2Q1Q0复位。 2,复位法设计四进制计数器:当检测到第一个无效状态0100时,通过与非门的反馈计数器的Cr首先置于低电平使计数器复位为0000。 五、思考题 1. 由D触发器和JK触发器组成的计数器的区别? 答:D触发器是cp上升沿触发,JK触发器是下降沿触发。 2. 74LS161是同步还是异步,加法还是减法计数器? 答:同步。加法计数器。 3. 设计十进制计数器时将如何去掉后6个计数状态的? 答:加一个与非门形成负反馈。当计数到第一个无效状态Q3Q2Q1Q0==1010时,Q3和Q1全为1,Q1,Q3接与非门,输出作为复位信号,使所有触发器复位,从而去掉了后6个状态。

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 四位全加器原理图 【仿真和测试结果】 下图为四位全加器的仿真图:

二位二进制计数器(DOC)

课程设计任务书 学生姓名杜佳专业班级计算机zy1202班 指导教师袁晓玲学院名称计算机科学与技术学院 一、题目:二位二进制计数器。外部输入X=1时,计数器加1计数,外部输入X=0时,计数器保持不变。 原始条件:使用D触发器( 74 LS 74 )、“与”门( 74 LS 08 )、“或”门( 74 LS 32 )、非门( 74 LS 04 ),设计二位二进制计数器。 二、要求完成设计的主要任务如下: 1.能够运用数字逻辑的理论和方法,把时序逻辑电路设计和组合逻辑电路设计相结合,设计一个有实际应用的数字逻辑电路。 2.使用同步时序逻辑电路的设计方法,设计二位二进制计数器。写出设计中的三个过程。画出课程设计图。 3.根据74 LS 74、74 LS 08、74 LS 32、74 LS 04集成电路引脚号,在设计好的二位二进制计数器电路图中标上引脚号。 4.在试验设备上,使用74 LS 74、74 LS 08、74 LS 32、74 LS 04集成电路连接、调试和测试二位二进制计数器电路。 5.设计报告书包括:设计内容与设计要求、设计原理和过程、调试分析、心得体会、参考文献。 三、课程设计进度安排 序号设计内容时间 1 查阅资料,熟悉实验平台和相关芯片的使用方法,完成理 18周 论设计过程,画出电路图;标上引脚。 2 电路修改、接线、排错、实现;分析归纳设计过程,撰写 19周 计算机硬件综合设计报告 合计2周 指导教师签名:年月日 系主任(责任教师)签名:年月日

一、实验目的: 1、深入了解和掌握同步时序逻辑电路的设计过程; 2、了解74LS74、74LS08、74LS32、74LS86及74LS04芯片的功能; 3、能够根据电路图连接好实物图,并实现其功能。学会设计过程中的检验与完 善。 二、题目理解和功能描述: 用数字逻辑实验板和若干集成芯片实现如下功能: 利用逻辑电平区域中八盏灯的任三盏作为实验的输入和输出,其中以1盏灯(如 K1)作为输入x,用以改变输入的0、1特性,对应两位二进制数的四个状态,二 位二进制计数器逻辑结构如图一所示。 计数器输出y2 y1 二位二进制加1计数 输入x 时钟输入 图1 两位二进制数逻辑结构 当输入x为1时对应的输出序列: 00 01 10 11 此时实验板上输出灯的亮暗变化如下: 亮亮亮暗暗亮暗暗

实验一四位串行进位加法器的设计实验报告

实验一四位串行进位加法器的设计 一、实验目的 1.理解一位全加器的工作原理 2.掌握串行进位加法器的逻辑原理 3.进一步熟悉Quartus软件的使用,了解设计的全过程, 二、实验内容 1.采用VHDL语言设计四位串行进位的加法器 2.采用画原理图的方法设计四位串行进位加法器 三、实验步骤 1、使用VHDL语言设计 1.打开File—>New Project Wizard输入文件名adder4保存在D盘内,打开File—>New—>VHDL File,从模版中选择库的说明,use语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后保存、编译。打开File—>New—>Other File—>Vector Waveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。从Assignments—>Settings—>Simulator Settings —>Functional 然后Processing—>Generate Functional Simnlation Netlist —>确定。选择Start Simulation保存最后的波形图,打开File —>close关闭工程。 底层文件: LIBRARY ieee;

USE fadder IS PORT ( a, b,cin : IN STD_LOGIC; s, co : OUT STD_LOGIC ); END fadder; ARCHITECTURE arc1 OF fadder IS BEGIN s<=a xor b xor cin; co<=((a xor b)and cin)or(a and b); END arc1; 顶层文件: LIBRARY ieee; USE adder4 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); c4 : OUT STD_LOGIC );

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

课题名称与技术要求 课题名称: 四位二进制加法器设计 技术要求: 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(比较小),出于简单起见,这里选择串行进位加法器。 译码器Ⅱ选择 译码是编码的逆过程,将输入的每个二进制代码赋予的含意“翻译”过来,给出相应的输出信号。译码器是使用比较广泛的器材之一,主要分为:变量译码器和码制译码器,其中二进制译码器、二-十进制译码器和显示译码器三种最典型,使用十分广泛。显示译码器又分为七段译码器和八段

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

成绩评定表 学生姓名郝晓鹏班级学号1103060129 专业通信工程课程设计题目四位二进制加法 计数器 评语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院信息科学与工程学院专业通信工程 学生姓名郝晓鹏班级学号1103060129 课程设计题目四位二进制加法计数(缺0010 0011 1101 1110) 实践教学要求与任务: 1、了解数字系统设计方法。 2、熟悉VHDL语言及其仿真环境、下载方法。 3、熟悉Multisim仿真环境。 4、设计实现四位二进制加计数(缺0010 0011 1101 1110) 工作计划与进度安排: 第一周:熟悉Multisim及QuartusII环境,练习数字系统设计方法。包括采用触发器设计和超高速硬件描述语言设计,体会自上而下、自下而上设计 方法的优缺点 第二周:1.在QuartusII环境中仿真实现四位二进制加计数(缺0100 0101 1001 1010 )。 2.在Multisim环境中仿真实现四位二进制加计数,缺(0100 0101 1001 1010),并通过虚拟仪器验证其正确性。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

摘要 本文采用在MAXPLUSⅡ环境中用VHDL语言实现四位二进制加法计数(缺0010 0011 1101 1110),在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。在Multisim环境中仿真实现四位二进制加法计数器(缺0010 0011 1101 1110),并通过虚拟仪器验证其正确性。 关键词:MAXPLUSⅡ环境;VHDL语言;四位二进制加计数;Multisim环境

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个数时,发出一个信号,使电路停止操作,并输出运算结果。

加法器实验报告文档2篇

加法器实验报告文档2篇 Adder experiment report document 编订:JinTai College

加法器实验报告文档2篇 小泰温馨提示:实验报告是把实验的目的、方法、过程、结果等记录下来,经过整理,写成的书面汇报。本文档根据实验报告内容要求展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修改调整及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:加法器实验报告文档 2、篇章2:加法器的基本原理实验报告文档 篇章1:加法器实验报告文档 【实验名称】 【目的与要求】 1.掌握1位全加器的设计 2.学会1位加法器的扩展【实验内容】 1.设计1位全加器

2.将1位全加器扩展为4位全加器 3.使4位的全加器能做加减法运算 【操作步骤】 1.1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节 2.将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图 (2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围内,这两个数包括符号在内共4位),用quartusII进行功能仿真并对仿真结果进行截图。

3.将4位的全加器改进为可进行4位加法和减法的运算器 (1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加 法运算而且还能进行减法运算。画出该电路 (2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个 数之和必须在4位补码的数的范围内),用quartusII 进行功能仿真并对仿真结果进行截图。 【附录】 篇章2:加法器的基本原理实验报告文档【按住Ctrl键点此返回目录】 一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理

8位串行二进制全加器

只用一位二进制全加器为基本元件和一些辅助的时序电路,设计一个8位串行二进制全加器。 Vhdl代码如下: 顶层文件如下: library ieee; use ieee.std_logic_1164.all; entity f8_adder is port(a,b:in std_logic_vector(7 downto 0); c0:in std_logic; s:out std_logic_vector(7 downto 0); c1:out std_logic); end f8_adder; architecture bhv of f8_adder is signal cout:std_logic_vector(7 downto 1); component f_adder is port(ain,bin,cin:in std_logic; cout,sum:out std_logic); end component; begin u1: f_adder port map(ain=>a(0),bin=>b(0),cin=>c0,sum=>s(0),cout=>cout(1)); u2: f_adder port map(ain=>a(1),bin=>b(1),cin=>cout(1),sum=>s(1),cout=>cout(2)); u3: f_adder port map(ain=>a(2),bin=>b(2),cin=>cout(2),sum=>s(2),cout=>cout(3)); u4: f_adder port map(ain=>a(3),bin=>b(3),cin=>cout(3),sum=>s(3),cout=>cout(4)); u5: f_adder port map(ain=>a(4),bin=>b(4),cin=>cout(4),sum=>s(4),cout=>cout(5)); u6: f_adder port map(ain=>a(5),bin=>b(5),cin=>cout(5),sum=>s(5),cout=>cout(6)); u7: f_adder port map(ain=>a(6),bin=>b(6),cin=>cout(6),sum=>s(6),cout=>cout(7)); u8: f_adder port map(ain=>a(7),bin=>b(7),cin=>cout(7),sum=>s(7),cout=>c1); end bhv; 全加器描述: library ieee; use ieee.std_logic_1164.all; entity f_adder is port(ain,bin,cin:in std_logic; cout,sum:out std_logic); end f_adder; architecture fd1 of f_adder is

四位二进制减计数器概要

成绩评定表

课程设计任务书

摘要 Quartus II是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Multisim是Interactive Image Technologies (Electronics Workbench)公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。Multisim为用户提供了丰富的元器件,并以开放的形式管理元器件,使得用户能够自己添加所需要的元器件。 在QuartusII8.1软件中,建立名为wq的工程,用四位二进制减法计数器的VHDL语言实现了四位二进制减法计数器的仿真波形图,同时进行相关操作,锁定了所需管脚,将其下载到实验箱。 在Multisim软件中,通过选用四个时钟脉冲下降沿触发的JK触发器和同步电路,画出其时序图,卡诺图,建立相关方程,做出相关计算,完成四位二进制减法计数器(缺1001,1010)的驱动方程。在Multisim软件里画出了四位二进制减法计数器的逻辑电路图。分析由红绿灯的亮灭顺序及状态,和逻辑分析仪里出现波形图,证明四位二进制减法计数器设计成功。 关键字:VHDL语言;四位二进制减计数器;QUARTUSⅡ;Multisim

目录 1.课程设计目的 (1) 2.设计框图 (1) 3.实现过程 (2) 3.1Q UARTUSⅡ实现过程 (2) 3.1.1建立工程 (2) 3.1.2VHDL源程序 (4) 3.1.3波形仿真 (5) 3.1.4引脚锁定与下载 (7) 3.1.5仿真结果分析 (9) 3.2MULTISIM实现过程 (9) 3.2.1求驱动方程 (9) 3.2.2画逻辑电路图 (11) 3.2.3逻辑分析仪的仿真 (12) 3.2.4结果分析 (13) 4.总结 (14) 5.参考文献 (15)

8位二进制加法计算器

一:本实验设计的是一个8为二进制加法计算器,其功能就是对两个八位的二进制数执行加法运算,并可以异步清零。 二:电路可划分为三部分:半加器、全加器和复位电路。 1、半加器: 真值表 a b so co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 电路图 2全加器:由半加器和或门组成 电路图 3复位电路: 复位电路通过en控制,当en为‘1’时,执行加法运算,输出正确的值,当en为‘0’时,输输出及结果为全0. 三:实验波形仿真和VHDL 1、仿真图:

2、VHDL代码 1)半加器h_adder: library ieee; use ieee.std_logic_1164.all; entity h_adder is port (a,b :in std_logic; co,so :out std_logic); end entity h_adder; architecture fh1 of h_adder is begin so <= not(a xor (not b));co <= a and b ; end architecture fh1; 2)或门or2a: 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; 3)全加器f_adder: library ieee;

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

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

长安大学电子技术课程设计 课题名称______________ 班级______________ 姓名______________ 指导教师 日期______________

前言 8位二进制加法器,它的功能主要是实现两个8位二进制数的相加,其结果的范围应该在00000000到111111110之间,即000到510之间。加法器在实际应用中占据着十分重大的地位,从我们呱呱坠地起,到小学,到初中,到高中,到大学,到工作,等等。我们能离开加法吗,不能!加法可以说是一切运算的基础,因此8位二进制加法器的设计是很有必要的。 那么我们如何设计一个8位二进制加法器呢?在实际应用中,我们通常输入的是十进制数,一个八位二进制数所对应的最大的十进制数是255,于是输入两个范围在000到255之间的数,首先通过二-十进制编码器将输入的三位十进制数的个位、十位、百位分别转换为8421BCD码,得到两个十二位字码,再通过加法器将它们相加,逢10进1,得到一个新的十二位字码,再用7447数字显示译码器将这个十二位字码还原到原来的三位十进制数。最后输出的就是一个三位十进制数,其范围在000到510之间。通过上述方法我们实现了八位二进制数的相加,从而达到了题目的要求。 为实现上述目的,我们需要查阅相关资料。通过查阅,理解以及加以运用,我们认识到了收集资料的不易性,但同时也得到了不少收获,可以说是有苦有甜。同时,虽然我们基本设计出了这个八位二进制加法器,但是不必可避免地会产生一些问题,比如说在连线上可能有更简便的途径,在元件的选用上可能还有其它更简便的方法,在控制上可能还不够精简,等等。我们希望在以后的实践中能找出更好的方法,也希望能吸取这次设计中的不足,逐渐改善。另外,在电子设计的过程中,与同组同学之间的合作配和是十分重要的。我在此次设计中也充分认识到这一点的重要性,我相信这次的电子设计能够为我们将来的工作奠定一定的基础。

FPGA一位全加器设计实验报告

题目:1位全加器的设计 一.实验目的 1.熟悉QUARTUSII软件的使用; 2.熟悉实验硬件平台的使用; 3.掌握利用层次结构描述法设计电路。 二.实验原理 由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实 验箱上SW0,SW1,SW2键作为输入,并将输 入的信号连接到红色LED管 LEDR0,LEDR1,LEDR2上便于观察,sum,cout 信号采用绿色发光二极管LEDG0,LEDG1来 显示。 三.实验步骤 1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6; 2.新建Verilog语言文件,输入如下半加器Verilog语言源程序; module half_adder(a,b,s,co); input a,b; output s,co; wire s,co; assign co=a & b; assign s=a ^ b; Endmodule 3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。 其初始值、功能仿真波形和时序仿真波形分别如下所示

4.选择菜单File→Create/Update→Create Symbol Files for current file,创建半加器模块; 5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。并将输入ain,bin,cin连接到FPGA的输出端,便于观察。完成后另保存full_adder。 电路图如下 6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

4位全加器实验报告.doc

四位全加器 11微电子黄跃1117426021 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】 全加器 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图4为全 加器的方框图。图5全加器原理图。被加数A i 、加数B i 从低位向本位进位C i-1 作 为电路的输入,全加和S i 与向高位的进位C i 作为电路的输出。能实现全加运算 功能的电路称为全加电路。全加器的逻辑功能真值表如表2中所列。 信号输入端信号输出端 A i B i C i S i C i 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

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

设计一个四位二进制计数器

1、要求:设计一个四位二进制计数器,将计数结果由数码管显示,显示结果为十进制数。数码管选通为低电平有效,段码为高电平有效。 分析:VHDL 描述包含五部分:计数器、将四位二进制数拆分成十进制数的个位和十位、二选一的数据选择器、七段译码、数码管选通控制信号 线定义为信号 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity counter3 is Port ( clk:in STD_LOGIC; clk1 : in STD_LOGIC; clr : in STD_LOGIC; en : in STD_LOGIC; co : out STD_LOGIC; scanout:out std_logic_vector(1 downto 0); ledout:out std_logic_vector(6 downto 0)); end counter3; architecture Behavioral of counter3 is signal cnt:std_logic_vector(3 downto 0); signal cnt1:std_logic_vector(3 downto 0); signal cnt2:std_logic_vector(3 downto 0); signal hex:std_logic_vector(3 downto 0); signal scan:std_logic_vector(1 downto 0); en clr

八位加法器设计实验报告

实验四:8位加法器设计实验 1.实验目的:熟悉利用quartus原理图输入方法设计简单组合电路,掌握层次化设计方法。 2.实验原理:一个八位加法器可以由八个全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 3.实验任务:完成半加器,全加器,八位加法器设计,使用例化语句,并将其设计成一个原件符号入库,做好程序设计,编译,程序仿真。 1)编译成功的半加器程序: module h_adder(a,b,so,co); input a,b; output so,co; assign so=a^b; assign co=a&b; endmodule 2)编译成功的全加器程序: module f_adder(ain,bin,cin,cout,sum); output cout,sum;input ain,bin,cin; wire net1,net2,net3; h_adder u1(ain,bin,net1,net2); h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3));

or u3(cout,net2,net3); endmodule 3)编译成功的八位加法器程序: module f_adder8(ain,bin,cin,cout,sum); output [7:0]sum; output cout;input [7:0]ain,bin;input cin; wire cout0, cout1, cout2 ,cout3, cout4,cout5,cout6; f_adder u0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]) ,.cout(cout0)); f_adder u1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1 ]),.cout(cout1)); f_adder u2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2 ]),.cout(cout2)); f_adder u3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3 ]),.cout(cout3)); f_adder u4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4

EDA课程设计八位二进制全加器

EDA课程设计八位二进制全加器

EDA设计说明书 课程名称: EDA技术实用教程 设计题目:八位二进制全加器 院系:电子信息与电气工程学院学生姓名: 学号: 专业班级: 指导教师:李响 年 6 月 1

1. 设计目的 熟悉利用QuartusⅡ的原理图输入法设计简单的组合电路,掌握层次化设计的方法,并经过一个八位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 2. 设计原理 2.1 一位全加器的原理 一位全加器能够用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。在本设计中,将采用原理图输入法来完成设计。 一位全加器的设计步骤: ①为本项工程设计建立文件夹; ②输入设计项目和存盘; ③将设计项目设计成可调用的元件; ④设计全加器顶层文件; ⑤将设计项日设置成工程和时序仿真。 2.2 八位全加器的原理 一个八位全加器能够由八个一位全加器构成,加法器之间的进位能够用串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。

3. 设计方案与仿真 3.1 一位全加器的设计与仿真 全加器的实现是以半加器的实现为基础的,因此,要设计全加器应首先设计一个一位的半加器。半加器的实现方案为: ①为此项工程建立文件夹; ②在基本元件库中,选中需要的元件,将元件(包含元件 and2、not 、xnor 和输入输出引脚input、output)调入原理图编辑窗口中; ③将己设计好的原理图文件存盘; ④将所设计的半加器设置成可调用的元件。 用原理图输入法所设计的半加器原理图如图3-1所示,利用QuartusⅡ软件平台,根据图3-1所示电路,可生成一个半加器元件符号,如图3-2所示。在半加器的基础上,为了建立全加器的顶层文件,必须再打开一个原理图编辑窗口,方法同上。其中,所选择的元件包含半加器、或门和输入输出引脚,由此可得到如图3-3所示的全加器原理图;进而可生成个全加器元件符号,如图3-4所示。 图3-1 半加器原理图图3-2 半加器元件符号

CMOS数字集成电路设计_八位加法器实验报告

CMOS数字集成电路设计课程设计报告 学院:****** 专业:****** 班级:****** 姓名:Wang Ke qin 指导老师:****** 学号:****** 日期:2012-5-30

目录 一、设计要求 (1) 二、设计思路 (1) 三、电路设计与验证 (2) (一)1位全加器的电路设计与验证 (2) 1)原理图设计 (2) 2)生成符号图 (2) 3)建立测试激励源 (2) 4)测试电路 (3) 5)波形仿真 (4) (二)4位全加器的电路设计与验证 (4) 1)原理图设计 (4) 2)生成符号图 (5) 3)建立测试激励源 (5) 4)测试电路 (6) 5)波形仿真 (6) (三)8位全加器的电路设计与验证 (7) 1)原理图设计 (7) 2)生成符号图 (7) 3)测试激励源 (8) 4)测试电路 (8) 5)波形仿真 (9) 6)电路参数 (11) 四、版图设计与验证 (13) (一)1位全加器的版图设计与验证 (13) 1)1位全加器的版图设计 (13) 2)1位全加器的DRC规则验证 (14) 3)1位全加器的LVS验证 (14) 4)错误及解决办法 (14) (二)4位全加器的版图设计与验证 (15) 1)4位全加器的版图设计 (15) 2)4位全加器的DRC规则验证 (16) 3)4位全加器的LVS验证 (16) 4)错误及解决办法 (16) (三)8位全加器的版图设计与验证 (17) 1)8位全加器的版图设计 (17) 2)8位全加器的DRC规则验证 (17) 3)8位全加器的LVS验证 (18) 4)错误及解决办法 (18) 五、设计总结 (18)

EDA8位二进制并行加法器

实验二:8位加法器的设计 1.实验目的 (1)学习Quartus Ⅱ/ISE Suite/ispLEVER软件的基本使用方法。 (2)学习GW48-CK或其他EDA实验开发系统的基本使用方法。 (3)了解VHDL程序的基本结构。 2.实验内容 设计并调试好一个由两个4位二进制加法器级联而成的8位二进制并行加法器,并用GW48-CK或其他EDA实验开发系统(事先应选定拟采用的实验芯片的型号)进行硬件验证。3.实验要求 (1)画出系统的原理图,说明系统中各主要组成部分的功能。 (2)编写各个VHDL源程序。 (3)根据系统的功能,选好测试用例,画出测试输入信号波形或编号测试程序。 (4)根据选用的EDA实验开发装置编好用于硬件验证的管脚锁定表格或文件。 (5)记录系统仿真、逻辑综合及硬件验证结果。 (6)记录实验过程中出现的问题及解决办法。 4.实验条件 (1)开发条件:Quartus Ⅱ 8.0。 (2)实验设备:GW48-CK实验开发系统。 (3)拟用芯片:EPM7128S-PL84。 5.实验设计 1)系统原理图 为了简化设计并便于显示,本加法器电路ADDER8B的设计分为两个层次,其中底层电路包括两个二进制加法器模块ADDER4B,再由这两个模块按照图2.1所示的原理图构成顶层电路ADDER8B。 ADDER4B 图2.1 ADDER4B电路原理图

A8[7..0] 图 2.1 ADDER8B电路原理图 2)VHDL程序 加法器ADDER8B的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下。ADDER4B的VHDL源程序: --ADDER4B.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER4B IS PORT(C4:IN STD_LOGIC; A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO4: OUT STD_LOGIC); END ENTITY ADDER4B; ARCHITECTURE ART OF ADDER4B IS SIGNAL S5:STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL A5,B5:STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN A5<='0'&A4; B5<='0'&B4; S5<=A5+B5+C4; S4<=S5(3 DOWNTO 0); CO4<=S5(4); END ARCHITECTURE ART; ADDER8B的VHDL源程序: --ADDER8B.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER8B IS

相关主题
文本预览
相关文档 最新文档