加法器的设计与仿真
实验二 全加器的设计与仿真
实验二全加器的设计与仿真全加器是非常典型的数字单元电路,在数字系统中常常用到全加器。
一般认为加法器是纯组合逻辑电路,只要用一些基本门电路就可以设计出全加器。
通常情况下,全加器是数字系统中的一个子模块,为了使加法器能与系统在时钟的驱动下同步工作,我们把全加器设计成由时钟控制带一级流水线的加法器。
需要指出的是,在数字集成电路设计中,大多数公司使用VerilogHDL进行RTL设计,较少使用VHDL,主要的原因是VerilogHDL语法简单易学,底层库支持好,EDA工具支持全面,集成电路发达的国家和地区应用广泛。
而VHDL的发展逐渐式微,越来越多的公司正逐渐向VerilogHDL转移。
建议使用VerilogHDL进行RTL设计,便于交流。
集成电路设计中心实验室的工作站运行环境为:•Sun Blade2000两台•双64-bit CPU, 内存4GB ,•硬盘73GB用户可以通过Xmanager 登录,每个用户拥有50MB的磁盘配额。
2.1设计文件准备和编译按可综合风格写出VerilogHDL代码如下(仅供参考):module Adder8 (ain, bin, cin, sout, cout, clk,rst);/* Eight Bit Adder Module */output [7:0] sout;output cout;input [7:0] ain, bin;input cin, clk,rst;wire [7:0] sout_tmp, ain, bin;wire cout_tmp;reg [7:0] sout, ain_tmp, bin_tmp;reg cout, cin_tmp;always @(posedge clk)beginif (rst==1)beginsout=0;cout=0;ain_tmp=ain;bin_tmp=bin;cin_tmp=cin;endelsebegincout = cout_tmp;sout = sout_tmp;ain_tmp = ain;bin_tmp = bin;cin_tmp = cin;endendassign {cout_tmp,sout_tmp} = ain_tmp + bin_tmp + cin_tmp;endmodule上述代码在Unix/Linux 系统中,在用户目录下,建文件夹Adder8_full, 下建src,sim,syn,pr四个目录。
实验二 加法器的设计与仿真实验报告
实验二加法器的设计与仿真一、实验目的:实现加法器的设计与仿真。
二、实验内容1.用逻辑图和VHDL语言设计全加器;2.利用设计的全加器组成串行加法器;3.用逻辑图和VHDL语言设计并行加法器。
三、实验步骤。
(一)、全加器、串行加法器和并行加法器的逻辑图。
1.全加器:2.串行加法器:3.74283:4位先行进位全加器逻辑框图:逻辑图:(二)、全加器、串行加法器和并行加法器的VHDL。
1.全加器:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY work;ENTITY quanjiaqi ISPORT(X : IN STD_LOGIC;Y : IN STD_LOGIC;CIN : IN STD_LOGIC;S : OUT STD_LOGIC;COUT : OUT STD_LOGIC);END quanjiaqi;ARCHITECTURE bdf_type OF quanjiaqi ISSIGNAL SYNTHESIZED_WIRE_0 : STD_LOGIC;SIGNAL SYNTHESIZED_WIRE_1 : STD_LOGIC;SIGNAL SYNTHESIZED_WIRE_2 : STD_LOGIC;SIGNAL SYNTHESIZED_WIRE_3 : STD_LOGIC;BEGINSYNTHESIZED_WIRE_2 <= Y AND X;SYNTHESIZED_WIRE_1 <= CIN AND Y;SYNTHESIZED_WIRE_3 <= CIN AND X;SYNTHESIZED_WIRE_0 <= X XOR Y;S <= SYNTHESIZED_WIRE_0 XOR CIN;COUT <= SYNTHESIZED_WIRE_1 OR SYNTHESIZED_WIRE_2 OR SYNTHESIZED_WIRE_3; END bdf_type;2.串行加法器:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY work;ENTITY chuanxingjiafaqi ISPORT(x0 : IN STD_LOGIC;y0 : IN STD_LOGIC;cin : IN STD_LOGIC;x1 : IN STD_LOGIC;x2 : IN STD_LOGIC;y2 : IN STD_LOGIC;x3 : IN STD_LOGIC;y3 : IN STD_LOGIC;y1 : IN STD_LOGIC;s0 : OUT STD_LOGIC;s1 : OUT STD_LOGIC;s2 : OUT STD_LOGIC;s3 : OUT STD_LOGIC;cout : OUT STD_LOGIC);END chuanxingjiafaqi;ARCHITECTURE bdf_type OF chuanxingjiafaqi ISCOMPONENT quanjiaqiPORT(X : IN STD_LOGIC;Y : IN STD_LOGIC;CIN : IN STD_LOGIC;S : OUT STD_LOGIC;COUT : OUT STD_LOGIC);END COMPONENT;SIGNAL SYNTHESIZED_WIRE_0 : STD_LOGIC; SIGNAL SYNTHESIZED_WIRE_1 : STD_LOGIC; SIGNAL SYNTHESIZED_WIRE_2 : STD_LOGIC;BEGINb2v_inst : quanjiaqiPORT MAP(X => x0,Y => y0,CIN => cin,S => s0,COUT => SYNTHESIZED_WIRE_0); b2v_inst1 : quanjiaqiPORT MAP(X => x1,Y => y1,CIN => SYNTHESIZED_WIRE_0,S => s1,COUT => SYNTHESIZED_WIRE_1); b2v_inst2 : quanjiaqiPORT MAP(X => x2,Y => y2,CIN => SYNTHESIZED_WIRE_1,S => s2,COUT => SYNTHESIZED_WIRE_2); b2v_inst3 : quanjiaqiPORT MAP(X => x3,Y => y3,CIN => SYNTHESIZED_WIRE_2,S => s3,COUT => cout);END bdf_type;3.74283:4位先行进位全加器LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY work;ENTITY 74283_0 ISPORT(CIN : IN STD_LOGIC;A1 : IN STD_LOGIC;A2 : IN STD_LOGIC;B2 : IN STD_LOGIC;A3 : IN STD_LOGIC;A4 : IN STD_LOGIC;B4 : IN STD_LOGIC;B1 : IN STD_LOGIC;B3 : IN STD_LOGIC;SUM4 : OUT STD_LOGIC;COUT : OUT STD_LOGIC;SUM1 : OUT STD_LOGIC;SUM2 : OUT STD_LOGIC;SUM3 : OUT STD_LOGIC );END 74283_0;ARCHITECTURE bdf_type OF 74283_0 IS BEGIN-- instantiate macrofunctionb2v_inst : 74283PORT MAP(CIN => CIN,A1 => A1,A2 => A2,B2 => B2,A3 => A3,A4 => A4,B4 => B4,B1 => B1,B3 => B3,SUM4 => SUM4,COUT => COUT,SUM1 => SUM1,SUM2 => SUM2,SUM3 => SUM3);END bdf_type;四、实验仿真结果。
加法器实验报告
加法器实验报告实验三加法器的设计与仿真一、实验目的熟悉quartus ⅱ仿真软件的基本操作,用逻辑图和vhdl语言设计加法器并验证。
二、实验内容1、熟悉quartus ⅱ软件的基本操作,了解各种设计输入方法(原理图设计、文本设计、波形设计)2、用逻辑图和vhdl语言设计全加器并进行仿真验证;3、用设计好的全加器组成串行加法器并进行仿真验证;4、用逻辑图设计4位先行进位全加器并进行仿真验证;三、实验原理1. 全加器全加器英文名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。
一位全加器可以处理低位进位,并输出本位加法进位。
多个一位全加器进行级联可以得到多位全加器。
用途:实现一位全加操作逻辑图真值表利用与或门设计的全加器,它只能做一位的加法,先预想好它的功能,写出真值表,就可以根据这些来设计电路了。
2.四位串行加法器逻辑图利用全加器的组合实现4位串行加法器,全加器只能对一位进行操作,将每一位的结果传给下一位,就可以实现4位的加法器。
3.74283:4位先行进位全加器(4-bit full adder)利用74283芯片实现的4位先行进位全加器比前两者功能更完善,它可以实现进位功能,这个自己设计难度比较大,可以参照74283的功能表加深对它的理解,按照如下的逻辑图实现进位全加器。
逻辑框图逻辑功能表注:1、输入信号和输出信号采用两位对折列表,节省表格占用的空间,如:[a1/a3]对应的列取值相同,结果和值[σ1/σ3]对应的运算是σ1=a1+b1和σ3=a3+b3。
请自行验证一下。
2、c2是低两位相加产生的半进位,c4是高两位相加后产生的进位输出,c0是低位级加法器向本级加法器的进位输入。
四、实验方法与步骤实验方法:采用基于fpga进行数字逻辑电路设计的方法。
采用的软件工具是quartusii软件仿真平台,采用的硬件平台是altera epf10k20ti144_4的fpga试验箱。
实验报告01-1位加法器
实 验 __一__
【实验名称】
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进行功能仿真并对仿真结果进行截图。
-5+3=-2:1011+0011=1110
3.将4位的全加器改进为可进行4位加法和减法的运算器
(1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加法运算而且还能进行减法运算。
画出该电路
(2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个数之和必须在4位补码的数的范围内),用quartusII进行功能仿真
并对仿真结果进行截图。
3-5=-2: 0011 1 0101 1110
3+(-5)=-2 : 0011 0 1011 1110
【附录】。
2.1加法器实验 报告 A5
加法器组员:徐鹏,李新意,张严丹. 指导老师:丁祁正、蒋芳芳一、项目内容和要求◆设计一个反相加法器电路,要求:运算关系:)25(21i i O U U U +-=。
输入阻抗应满足Ω≥Ω≥K R K R i i 5,521。
设计条件:①电源电压Ec=±5V ;②负载阻抗Ω=K R L 1.5◆设计一个同相加法器电路,要求:运算关系:21i i O U U U +=。
设计条件: ①电源电压Ec =±5V ;②负载阻抗Ω=K R L 1.5二、设计及调试 (一)电路设计①反相加法器的电路设计如图 1-1 所示,其中U +=U -=0V ;U 0=-[(R f /R 1) ×U i1+(R f /R 2) ×U i2 ] R = R 1 //R 2 //R f根据项目要求的输入阻抗大于5K Ω,且运算关系满足)25(21i i O U U U +-=,因此根据实验室现有电阻的种类,我们选R1为20K Ω和为R2为51K Ω,Rf 为100K Ω、R 为10K Ω。
②同相加法器的电路设计如图1-2所示,其中 U 0的计算如下图1-1反相加法器电路U i1 U i22211121212i i o fU R R R U R R R U U R R RU ⋅++⋅+=⋅+=21212211121221,)(,i i o f i i f o U U U R R R R U R R R U R R R R R R U U U +====⋅++⋅++==有时当解得令图1-2同相加法器电路根据项目要求的输入阻抗大于5K Ω,且运算关系满足21i i O U U U +=,因此根据实验室现有电阻的种类,我们选R1、R2、R 和Rf 都是10K Ω.(二)电路仿真1、反相加法器的电路仿真测试A :输入信号V U V U i i 5.0,5.021±=±=,测试4种组合下的输出电压如下;①反相加法器 U i1=+0.5v ,U i2=+0.5v ,输出电压U 0=-3.464V.②反相加法器 U i1=+0.5v ,U i2=-0.5v ,输出电压U 0=-1.503V.③反相加法器U i1=-0.5v,U i2=-0.5v ,输出电压U0=3.496V.④反相加法器U i1=-0.5v,U i2=+0.5v ,输出电压U0=1.536V.B :输入信号V KHz U V U i i 1.0,1,5.021为正弦波±=信号,测试两种输入组合情况下的输出电压波形如下。
四位加法器的设计
四位加法器的设计(EDA)姓名:赵华洪学号:09325232专业:电子信息工程班级:093252班指导教师:黄河2012年11月08日目录一、简介二、目的与要求三、半加器设计四、一位全加器的设计五、四位加法器六、四位加法器的RTL图和仿真图七、四位级连加法器的全代码八、参考文献一、简介EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。
EDA 设计可分为系统级、电路级和物理实现级。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。
三位十进制加法器设计及仿真
三位十进制加法器设计及仿真
三位十进制加法器是一种计算机电路,用于将三个十进制数字相加。
以下是一种基本的三位十进制加法器设计及仿真示例:
1. 设计:
- 使用三个4位BCD(Binary-Coded Decimal)加法器来实现三个十进制数字的相加。
- 将输入的三个十进制数字转换为BCD码,并将其作为输入传递给BCD加法器。
- 使用一个4位BCD加法器作为主加法器,用于计算BCD码的和。
- 同时,使用一个进位传递位(Carry Ripple)电路,将进位从低位传递到高位。
2. 仿真:
- 使用电路设计软件(如Verilog或VHDL)进行仿真。
- 编写设计代码,包括BCD加法器、主加法器和进位传递位电路的功能描述。
- 使用仿真工具激励设计代码,为输入信号提供测试数据,观察输出结果。
- 检查仿真波形,确保设计的正确性和功能性。
需要注意的是,具体的设计和仿真细节可能因使用的电路软件和硬件平台而有所不同。
以上只是一个简单示例,可以根据具体需求进行更复杂的设计和仿真。
对于实际的电路设计和仿真,请确保遵守相关标准和规范,并咨询专业的电路工程师。
实验七:四位加法器电路设计与模拟
12
通过在 T-SPICE 文件中进行如下设置,可得输入信号 B 的波形图,如下图所示。
输入信号波形,从上到下一次是 B0,B1,B2,B3
13
通过在 T-SPICE 文件中进行如下设置,可得输出信号 S,Cout 的波形图,如下图所示。
输出信号波形,从上到下一次是 S0,S1,S2,S3,Cout
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
Cout
Cout
Cout
Cout
14
name 下面输入 add4,在 Create in folder 下面空白的右边点击 面板上选中 E 盘里的 ex7 文件夹,点击“确定” 。如下图所示。 ,在弹出的“浏览文件夹”
完成“确定”之后,New Design 面板如下图所示,点击“OK”按钮即可,新设计就建 立好了。
2
4.建立新单元:新设计建立好后,接下来就是要建立新单元,一个设计可以包含很多个
建立符号图视图模式如下操作。 选择 Cell——New View, 弹出如下对话框。 在 view type 选项中选择“symbol” ,点击“OK”按钮即可,会出现画符号图的面板。
5.从元件库引用元件:新单元建立好后,就可以在新单元的电路图模式下画电路图了。
实验二 加减法运算器的设计实验报告
加减法运算器的设计实验报告实验二加减法运算器的设计一、实验目的1、理解加减法运算器的原理图设计方法2、掌握加减法运算器的VERILOG语言描述方法3、理解超前进位算法的基本原理4、掌握基于模块的多位加减运算器的层次化设计方法5、掌握溢出检测方法和标志线的生成技术6、掌握加减运算器的宏模块设计方法二、实验任务1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。
模块的端口描述如下:module lab2_RippleCarry 宽度可定制(默认为4位)的行波进位有符号数的加减法器。
#(parameter WIDTH=4)( input signed [WIDTH-1:0] dataa,input signed [WIDTH-1:0] datab,input add_sub, // if this is 1, add; else subtractinput clk,input cclr,input carry_in, //1 表示有进位或借位output overflow,output carry_out,output reg [WIDTH-1:0] result)2、修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块。
模块的端口描述如下:module lab2_LookaheadCarry // 4位超前进位无符号加法器(input [3:0] a,input [3:0] b,input c0, //carry_ininput clk,input cclr,output reg carry_out,output reg [3:0]sum);3、在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。
4、用宏模块的方法实现一个32位加减运算器。
三、实验内容1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。
基于QuartusⅡ的全加器的设计与仿真
。即先设计半加器, 然后用
设计好的半加器来构建全加器。 所谓全加器, 是用门电路实现两个二进制数相 加并求出和的组合线路, 当加数、 被加数都为一位二 进制数时, 就称为一位全加器。一位全加器可以处 理低位进位, 并输出本位加法进位, 一位全加器实现 的功能为:
. { C , S }= A B C i i i+ i+ i - 1
[ 2 ]
。
1 ㊀Q u a r t u s I I 软件的设计流程
1 )设计输入 ①建立工程 A . 在电脑上新建一个文件夹( 注意命名不要有
收稿日期: 2 0 1 7- 1 0- 0 9 作者简介: 于新颖( 1 9 8 7 ) , 女, 河北唐山人, 助教, 硕士研究生, 自适应信号处理方向。
基于 Q u a r t u s I I 的全加器的设计与仿真 ㊀第 6期㊀㊀㊀㊀㊀㊀㊀㊀㊀于新颖 : 1 0 u s ) ; b : 单击选中→ c l o c k 如5 u s ) ; →设置时钟周期( C . 保存。 ③生成功能仿真网表文件 P r o c e s s i n g→ G e n e r a t e F u n c t i o n a lS i m u l a t i o n N e t l i s t . ④仿真模式设置 A s s i g n m e n t s e t t i n g s i m u l a t o r S e t t i n g s i m →S →S →S : F u n c t i o n a l→ S i m u l a t i o ni n p u t : 右侧 u l a t i o nm o d e “ …” 按钮加载波形文件→O K . ⑤开始仿真 P r o c e s s i n g t a r t S i m u l a t i o n . →S )适配 4 注意: 选中开发界面里器件型号, 右击 → D e v i e c e v i c ea n dP i nO p t i o n s n u s e dP i n s →单击 D →U → 选择 A s i n p u t t r i - s t a t e d K ; 下载线的 U S B端接 →确定→O 电脑, 方形一端接编译器, 编译器 S O P C端插入下面 的插针里。 A s s i g n m e n t s i n s o c a t i o n指定到通用 I O接 →P →L 口→关闭界面→编译综合。 5 )下载 接线 → 上 电 → P r o g r a m m e r a r d w a r eS e t u p →H → U S B- B l a s t e r s o f 文件→S t a r t . →单击. 6 )硬件调试
实验3-实用加法器的设计及仿真
实验3 实用加法计数器的设计实验实验目的:学习含异步清0和同步时钟使能的4位十进制加法计数器的设计、仿真,进一步熟悉QuartusⅡ的设计流程,VHDL的编程方法和时序电路的设计仿真。
实验任务:根据之前课程的讲解(3-19),利用QuartusⅡ创建实用加法计数器的工程,并进行编辑、编译、综合、适配和仿真,说明模块中各语句的作用。
根据仿真波形详细描述此设计的功能特点,以及数据输出的延时和毛刺情况,给出分析报告。
实验原理:图1所示是一个含计数使能、异步复位的4位加法计数器,图中间是4位锁存器,rst是异步清零信号,低电平有效;clk是时钟信号;当ena为1时使能锁存器。
图1 含计数使能、异步复位的4位加法计数器实现功能:(1)当计数使能EN为高电平时允许计数,RST低电平时计数器清零。
(2)LOAD为同步加载控制信号,LOAD为低电平且处于时钟CLK的上升边沿处发生加载操作,将加载DATA置入计数寄存器中,以便计数器在此基础上累加计数。
若LOAD为高电平,则允许计数器计数。
(3)计数器的计数值小于9时,计数器正常计数,否则,对计数器置0且同时进位输出置1。
实验步骤:(1)启动QuartusⅡ创建一个空白工程,然后命名为cnt10;(2)在D盘或E盘创建一个my_project文件夹,将工程存盘在此文件夹下;(3)器件依旧选cycloneⅢ系列的第三款器件;(4)新建VHDL源文件cnt10.vhd,输入程序源代码并保存;(5)进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止;(6)建立波形仿真文件,在edit里修改end time,改为10μs或几十μs,缩放时间尺度;(7)波形文件存盘。
选择file—save as命令,将默认名为cnt10.vwf的波形文件存入my_project中;(8)将工程cnt10的端口节点选入波形编辑器中;(9)设置激励信号波形;(10)再次保存后,启动仿真器并进行仿真验证;(11)观察仿真结果并进行分析。
4位全加器的设计与仿真
2.1.3 一位全加器的图形设计输入
• 1. 一位全加器原理图设计分析 一位全加器输入端为加数A、B,低位的进位Ci,输出端
为和S、向高位的进位Co。
项目2 全加器电路设计
• 由表2-1可以写出和S及高位的进位Co的逻辑 表达式:
• 经转换及化简可得:
项目2 全加器电路设计
项目2 全加器电路设计
• (3)调入图形符号 在图形编辑器窗口空白处双击鼠标左键,或选择菜单Edit |
Insert Symbol…,可以打开图形符号库选择对话框。
在Libraries对话 框中点开图形符 号库的安装目录 及下属的子文件 夹,基本逻辑门 的图形符号在 primitives目录 下的logic目录中, 选择所需的器件
• 出现一个波形编辑窗口,如图2-19所示。
• (2)设定时间参数 可以根据仿真的需要,在波形编辑器界面中,设置时
间参数。选择菜单Edit | End Time...,可以设置仿真结束时 间;选择菜单Edit | Grid Size...,可以设置显示网格间距的 时间。
项目2 全加器电路设计
• (3)添加输入、输出节点 • 1)选择菜单Edit | Insert | Insert Node or Bus...,或在
项目2 全加器电路设计
• (4)输入原理图
•
在Symbol 对话框中,将xor、and2、or3器件调入图形编辑器窗口中,
合理排布各器件的位置并连线。最后放置输入端口input和输出端口
output(在pin中),完成一位全加器的原理图如图2-15所示。
件打钩
多个同样的元
• (5)保存原理图文件 完成图2-15的原理图文件后,选择主菜单File | Save保存设计文件,名称为 adder1.bdf。
4位2进制全加器仿真电路
4位2进制全加器仿真电路4位2进制全加器仿真电路是一种常见且重要的电路设计,它能够将两个4位的二进制数相加,并输出其和与进位。
本文将介绍4位2进制全加器仿真电路的原理、设计过程以及仿真结果。
1. 原理介绍4位2进制全加器由4个单独的全加器组成,每个全加器负责相应的位相加运算,并输出该位上的和与进位。
全加器的输入包括两个待相加的二进制位和上一位的进位,输出则包括该位上的和与进位。
4位2进制全加器的输入为两个4位的二进制数和上一位的进位,输出为一个5位的二进制数,其中低4位为相加结果,高1位为最高位的进位。
2. 设计过程我们需要设计一个单独的全加器电路。
全加器由两个半加器和一个或门组成。
半加器用于计算两个二进制位的和,而或门用于计算进位。
然后,将4个全加器按照位对齐的方式连接起来,形成4位2进制全加器。
具体连接方式如下:- 将待相加的两个4位二进制数的最低位与上一位的进位分别连接到第一个全加器的输入端。
- 将待相加的两个4位二进制数的其他位分别连接到相应位置的全加器的输入端。
- 将第一个全加器的进位输出与第二个全加器的进位输入相连,以此类推,直到第三个全加器的进位输出与第四个全加器的进位输入相连。
- 将四个全加器的和输出连接起来,形成4位二进制数的和。
- 将最后一个全加器的进位输出作为最高位的进位输出。
3. 仿真结果为了验证4位2进制全加器的正确性,我们可以使用电路仿真软件进行仿真。
通过输入不同的待相加的二进制数和进位,观察输出结果是否符合预期。
在进行仿真时,我们可以将待相加的二进制数和进位表示为输入向量,将输出结果表示为输出向量。
然后,将输入向量依次输入到电路中,观察输出向量是否与预期结果一致。
通过仿真结果,我们可以验证4位2进制全加器的正确性,并对其性能进行评估。
如果仿真过程中存在错误或不符合预期的情况,我们可以对电路进行调整或优化,以提高其性能和可靠性。
总结:本文介绍了4位2进制全加器的原理、设计过程以及仿真结果。
16位加法器设计报告(1)
Brent Kung树结构的16位加法器的设计仿真及优化1.利用Hspice软件设计具体电路结构Brent Kung树结构加法器设计简介Brent Kung树结构加法器是一种超前进位加法器,即进位提前被计算出来,送给加和电路,减小了进位顺序传递的延时,实现此加法器减小了设计的复杂度。
提高了设计的效率。
具体电路实现需要4个模块电路设计。
数据A和B通过缓冲器输入进来,然后经过进位生成和进位产生电路模块生成P和G信号。
P与G信号经过点操作模块生成相应的进位值,最后加和生成SUM。
电路结构采用动态逻辑结构,逻辑结构由NMOS下拉网络实现,构成PDN的过程和静态CMOS完全一样,晶体管的数目明显少于静态情况。
动态逻辑同时具有较快的开关速度。
动态逻辑同时在功耗方面有明显的优势。
Brent Kung树结构加法器电路设计进位生成和进位传播模块均采用动态逻辑进行设计,具体实现公式为Pi=ai+bi,Gi=ai&bi;具体电路实现如下:图1 进位传播和进位产生信号的动态实现图中的反相器为对称的,p生成电路的逻辑努力为2/3,g生成电路的逻辑努力为1。
点计算模块具体生成对应的进位传播和进位产生Gi j和Pi j;其对应的具体公式为:Gi j=Gi k+Pi k*Gk-1 j。
采用动态逻辑减小复杂度具体电路结构如下:图2点模块电路产生信号的动态实现求和电路利用多米诺实现求和即利用选择电路实现电路结构,在此电路中求和的两种条件计算为:Si0为ai与bi的同或,Si1为ai 与bi的异或,具体电路结构如下:图5动态逻辑实现和选择电路电路中利用两个时钟,由clk产生clkd是由下面的电路实现的,传输门总是导通,时钟路径的延时可以通过这些器件的尺寸来调整。
因为延时必须有一个严格的界限,即第二个门的所有输入必须在clkd的上升沿之前完成翻转,因此可能需要使clk进过多个以下的延时电路才能满足时序要求。
时钟延时利用反向器的缓冲器和传输门来实现。
数字逻辑实验—加法器的设计与仿真
实验三加法器的设计与仿真一、实验内容1.用VHDL语言设计全加器;2.利用设计的全加器组成串行加法器;3.用VHDL语言设计并行加法器。
二、电路功能介绍及实验步骤1.全加器(1)用途:实现一位全加操作(2)逻辑图(3)真值表(4)VHDL语言(5)波形仿真2.四位串行加法器(1)逻辑图(2)VHDL语言library ieee;use ieee.std_logic_1164.all;entity four_adder isport(cinf,x0,x1,x2,x3,y0,y1,y2,y3:in std_logic;s0,s1,s2,s3,coutf:out std_logic);end four_adder;architecture four_adder_arch of four_adder is signal z0,z1,z2:std_logic;component f_adderv port(x,y,cin:in std_logic;s,cout:out std_logic);end component;beging0:f_adderv port map(x0,y0,cinf,s0,z0);g1:f_adderv port map(x1,y1,z0,s1,z1);g2:f_adderv port map(x2,y2,z1,s2,z2);g3:f_adderv port map(x3,y3,z2,s3,coutf);end four_adder_arch;(3)波形图3.74283:4位先行进位全加器(4-Bit Full Adder)(1)逻辑框图(2)逻辑功能表注:1、输入信号和输出信号采用两位对折列表,节省表格占用的空间,如:[A1/A3]对应的列取值相同,结果和值[Σ1/Σ3]对应的运算是Σ1=A1+B1和Σ3=A3+B3。
请自行验证一下。
2、C2是低两位相加产生的半进位,C4是高两位相加后产生的进位输出,C0是低位级加法器向本级加法器的进位输入。
模7加法器的设计
基于基本单 元的设计;
基于可编程 器件的设计;
早期——中小 规模设计时代:
• 自下而上的设计方法 • 以小的集成模块通过外部连接 形成系统; • 设计要点:以尽量少的模块数 量和连线数量完成系统设计
当今——片上 设计时代:
• 自上而下的设计:层次化设计 • 先进行系统和功能的分割,在 进行底层逻辑设计 • 设计要点:集成度,频率,功 耗
begin ->end architecture:
执行语句部分,采用各种并行语句表达电路
的功能,信号的流动以及模块的连接关系。 各进程之间是并行的。
进程外的信号赋值语句和进程是并行的。
进程内的语句是顺序执行的。
进程:process
在电路设计中,用一个电路模块来描述整个
系统是不方便的,可以将一个系统分成若干
模7加法器电路设计
顶层模块:
内部结构:
Modelsim的使用 File->New->project
为工程命名:
添加程序:Add existing File
编译程序波形仿真:源自将信号添加至波形窗口设置仿真时间并运行
硬件描述语言:VHDL Very high speed integrated circuit hardware Description language 描述性质的语言,而非设计语言。 设计者利用这种语言来描述自己的设计思想。 包括硬件电路的功能,信号连接关系以及各 器件的时序关系。之后用EDA工具仿真综合, 最后用专用集成电路(ASIC)或可编程逻辑 器件(CPLD和FPGA)来实现其功能。 设计理念:硬件设计软件化。
变量赋值立即生效,信号可设置延迟时间。 进程中对信号的多次赋值,只有最后一次有 效。其生效时间为进程结束时。 作用范围:
EDA实验一 1位全加器和四位全加器的设计
实验一1位全加器和四位全加器的设计一、实验目的1、掌握Quartus Ⅱ6.0软件使用流程。
2、初步掌握VHDL的编程方法。
3、掌握图形层次设计方法;4、掌握全加器原理,能进行多位加法器的设计。
二、实验原理(一位全加器的逻辑表达式为:sum=a^b^Cl;Ch= a&b|(a^b)&Cl.(2)四位加法器加法器是数字系统中的基本逻辑器件。
多位加法器的构成有两种方式:并行进位和串行进位方式。
并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。
通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
三、实验连线(1)一位全加器1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、将JPLED1短路帽右插,JPLED的短路帽全部上插。
3、请将JP103的短路帽全部插上,,打开实验箱电源。
( 2 ) 四位加法器1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、JPLED1短路帽右插,JPLED的短路帽全部上插。
3、请将JP103的短路帽全部插上,,打开实验箱电源。
四、实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY fulladder ISPORT(A,B,C1 :IN STD_LOGIC;CH,SUM : OUT STD_LOGIC);END ENTITY fulladder;ARCHITECTURE ADO OF fulladder isSIGNAL AB :STD_LOGIC;BEGINSUM<=A XOR B XOR C1;AB<=A XOR B;CH<=(A AND B) OR (AB AND C1);END ARCHITECTURE ADO;一位全加器波形如下:图4-1四位加法器波形如下:图4-2五、实验仿真过程SW1,SW2,SW3对应a,b,Cl;D101,D102分别对应sum和Ch,当结果为0时彩色LED灯熄灭,当结果为1时彩灯点亮,改变SW1,SW2,SW3的输入状态,观察实验结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三加法器的设计与仿真
一、实验内容
1.用VHDL语言设计全加器;
2.利用设计的全加器组成串行加法器;
3.用VHDL语言设计并行加法器。
二、实验原理、波形仿真及波形分析
1、全加器
(1)VHDL语言
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY f_adder IS
PORT(
x,y,cin : IN STD_LOGIC;
s,cout : OUT STD_LOGIC
);
END ENTITY f_adder;
ARCHITECTURE bhv OF f_adder IS
BEGIN
s<=x XOR y XOR cin;
cout<=(x AND y)OR(x AND cin)OR(y AND cin); END ARCHITECTURE bhv;
(3)真值表
X Y CIN S COUT
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)仿真波形图
(3)波形分析
当cin输入为低电平时,x+y需要进位时cout输出为高电平,s输出为低电平;当cin输入为高电平时,x+y不需要进位时cout输出为高电平;
2、四位串行加法器
(1)逻辑电路图
(2)仿真波形图
(3)波形分析
x与y代表两个输入,s代表输出。
x与y直接相加,当之和大于16时按照16进制数规则,进一位,同时Cout显示为高电平。
3、四位先行进位全加器
(1)逻辑原理图
(2)仿真波形图
(2)波形分析
当cin为高电平时,s=x+y+1,当cin为高电平时,s=x+y,同四位串行加法器一样,实现进位相加。
三、实验感想
本次试验主要设计、实现和验证了全加器、四位串行加法器以及四位先行进位全加器。
通过实验进一步熟悉了Quartus的使用,并学会了如何封装并调用元件,学会了如何分析仿真波形图。