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

合集下载

实验一用硬件描述语言设计一个4位加法器

实验一用硬件描述语言设计一个4位加法器

实验一用硬件描述语言设计一个4位加法器
0806024208 金晓会
1、整理实验结果,填写实验报告。

2、小结实验心得体会。

通过本实验我学会了设计全加器,同时巩固了VHDL的知识,也学会了MAXPLUS软件,学会了纠错。

3、写出程序或画出原理图,写出仿真结果。

下图为一位全加器的程序:
下图为:GDF格式的四位全加器原理图:
下图为仿真结果:
4、回答思考题。

什么叫全加器,它的作用是什么?4位加法器和全加器的区别和联系是什么?
(1)全加器:用门电路实现两个二进数相加并求出和的组合线路,称为一个全加器。

一位全加器,全加器是能够计算低位进位的二进制加法电路,一位全加器(FA)的逻辑表达式为:
S=A⊕B⊕Cin
Co=AB+BCin+ACin
其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出;
(2)区别和联系
加法器:加法器是产生数的和的装置。

加数和被加数为输入,和数与进位为输出的装置为半加器。

若加数、被加数与低位的进位数
为输入,而和数与进位为输出则为全加器。

常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。

在电子学中,加法器是一种数位电路,其可进行数字的加法计算。

EDA实验报告-加法进位器

EDA实验报告-加法进位器

EDA实验报告一.实验任务设计四位串行进位加法器,并以此为基础设计输入输出带寄存器的四位加法电路二.实验内容(一)设计思路1.输入a,b两个四位二进制数,输入进位cin为一位二进制数,输出s为四位二进制数,输出进位cout为一位二进制数。

2.A,b,s,cout的每一位需用d触发器锁存,那么一共需要13个d触发器。

(二)。

源程序和电路图1.d触发器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF1 ISPORT (CLK,D:IN STD_LOGIC;Q:OUT STD_LOGIC );END;ARCHITECTURE bhv OF DFF1 ISSIGNAL Q1 : STD_LOGIC;BEGINPROCESS(CLK,Q1)BEGINIF CLK'EVENT AND CLK ='1'THEN Q1<=D;END IF;END PROCESS;Q<=Q1;END bhv;2.一位二进制进位加法器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder ISPORT (a,b,c0:IN STD_LOGIC;s,c1:OUT STD_LOGIC);END ENTITY f_adder;ARCHITECTURE one OF f_adder ISSIGNAL abc:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL ain,bin,c0in:STD_LOGIC;BEGINain<=a;bin<=b;c0in<=c0;abc<=ain&bin&c0in;PROCESS(abc)BEGINCASE abc ISWHEN"000"=>s<='0';c1<='0';WHEN"001"=>s<='1';c1<='0';WHEN"010"=>s<='1';c1<='1';WHEN"011"=>s<='0';c1<='0';WHEN"100"=>s<='1';c1<='0';WHEN"101"=>s<='0';c1<='1';WHEN"110"=>s<='0';c1<='1';WHEN"111"=>s<='1';c1<='1';WHEN OTHERS =>NULL;END CASE;END PROCESS;END ARCHITECTURE one;3.四位二进制加法计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_4adder ISPORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S:OUT STD_LOGIC_VECTOR(3DOWNTO 0); cin:IN STD_LOGIC;cout:OUT STD_LOGIC);END ENTITY;ARCHITECTURE one OF f_4adder IS COMPONENT f_adderPORT(a,b,c0:IN STD_LOGIC ;c1,s:OUT STD_LOGIC);END COMPONENT ;SIGNAL c2,c3,c4:STD_LOGIC;BEGIN u1:f_adder PORT MAP (a=>A(0),b=>B(0),c0=>cin,c1=>c2,s=>S(0));u2:f_adder PORT MAP (a=>A(1),b=>B(1),c0=>c2,c1=>c3,s=>S(1));u3:f_adder PORT MAP (a=>A(2),b=>B(2),c0=>c3,c1=>c4,s=>S(2));u4:f_adder PORT MAP (a=>A(3),b=>B(3),c0=>c4,c1=>cout,s=>S(3)); END ARCHITECTURE one;4.带寄存器的四位二进制加法器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_4adder ISPORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0);S:OUT STD_LOGIC_VECTOR(3DOWNTO 0);cin:IN STD_LOGIC;cout:OUT STD_LOGIC;SHIZHONG:IN STD_LOGIC);END ENTITY;ARCHITECTURE one OF h_4adder ISCOMPONENT f_adderPORT(a,b,c0:IN STD_LOGIC ;c1,s:OUT STD_LOGIC);END COMPONENT ;COMPONENT DFF1PORT(CLK,D:IN STD_LOGIC;Q:OUT STD_LOGIC);END COMPONENT ;SIGNAL g,h,f:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL e,c1,c2,c3,c4 : STD_LOGIC;BEGINu1:f_adder PORT MAP (a=>A(0),b=>B(0),c0=>cin,c1=>c2,s=>f(0));u2:f_adder PORT MAP (a=>A(1),b=>B(1),c0=>c2,c1=>c3,s=>f(1));u3:f_adder PORT MAP (a=>A(2),b=>B(2),c0=>c3,c1=>c4,s=>f(2));u4:f_adder PORT MAP (a=>A(3),b=>B(3),c0=>c4,c1=>e,s=>f(3));u5: DFF1 PORT MAP (D=>A(0),Q=>g(0),CLK=>SHIZHONG);u6:DFF1 PORT MAP (D=>A(1),Q=>g(1),CLK=>SHIZHONG);u7:DFF1 PORT MAP (D=>A(2),Q=>g(2),CLK=>SHIZHONG);u8:DFF1 PORT MAP (D=>A(3),Q=>g(3),CLK=>SHIZHONG);u9:DFF1 PORT MAP (D=>B(0),Q=>h(0),CLK=>SHIZHONG);u10:DFF1 PORT MAP (D=>B(1),Q=>h(1),CLK=>SHIZHONG);u11:DFF1 PORT MAP (D=>B(2),Q=>h(2),CLK=>SHIZHONG);u12:DFF1 PORT MAP (D=>B(3),Q=>h(3),CLK=>SHIZHONG);U13:DFF1 PORT MAP (D=>f(0),Q=>S(0),CLK=>SHIZHONG);u14: DFF1 PORT MAP (D=>f(1),Q=>S(1),CLK=>SHIZHONG);u15:DFF1 PORT MAP (D=>f(2),Q=>S(2),CLK=>SHIZHONG);u16:DFF1 PORT MAP (D=>f(3),Q=>S(3),CLK=>SHIZHONG);u17:DFF1 PORT MAP (D=>e,Q=>cout,CLK=>SHIZHONG); END ARCHITECTURE one;(三)时序仿真波形图。

四位串行进位加法器设计

四位串行进位加法器设计

四位串行进位加法器设计集成电路CAD课程设计报告四位串行加法器设计1串行进位加法器简介1.1加法器实现多为二进制数相加的电路,称为加法器。

根据进位方式不同,有串行进位加法器和超前进位加法器之分。

采用串行进位方式,优点是电路简单,连接方便;缺点是运算速度不高。

原理:把四个全加器(例如两片74LS183)依次级联起来,便可构成四位串行进位加法器。

因此四位串行进位加法器的设计可以分以下两步进行:(1)全加器设计;(2)将全加器级联,构成四位串行进位加法器(a)(b)图(1)四位串行加法器74831.2 图2为四位串行加法器7483逻辑图图(2)四位串行加法器2 四位串行进位加法器的设计实现:2.1 输出级电路设计与TTL电路兼容驱动10个TTL①输出高电平时|IoH|<=20uAV oHmin=4.4V②输出低点平时|IoH|<=20mAV oHmax=0.4V③输出级充放电时间tr=tf计算电路如图3所示①以15个PF的电容负载代替10个TTL电路来计算tr、tf②输入V为的前一级的输出被认为是理想的输出,即:ViL=Vss,ViH=Vdd③计算电流时,负载为电流负载,有拉电流的灌电流。

图3(1)CMOS N 管(W/L )N 的计算:当输入为高电平时(Vi=Vdd ),N 管导通后级TTL 电路有较大的灌电流输入,此时(表示成对称形式)使方括号中的值和栅电容Cox 及电子迁移率un 为最小值:o u t00f f[]200200)()(2V V V V V V C L W I tn i s tn oxN ndsn -----?=μm ax0m in 2ox SiOox t C εε=230m ax0m in-=TT n n μμ(2) CMOS P 管(W/P )p 的计算|IoH |<=20uA时有 V oHmin=4.4V tr=tf① 以Ioh<=20uA时V oHmin=4.4V 的条件计算最坏的情况下Vdd=4.5V ,V ohmin=4.4v,Vtp=0.8V ,经计算可得===?233034956.164m inn L W []202)()(2oh tp i dd tp i oxp p ohV V V V V V C L W I -----??? ??=μm ax 0m in 2ox SiOox t C εε=230m ax 0m in-=T T n p μμ??=== 21532227.7pL W②tr=tp 的条件计算:CMOS 中αp=αn所以2.2 输入级设计ddtp p V V =αddtn n V V =αddp L p V k C =τ()-???? ??--+--=p n n n n f arth t αααατ111.011)1.0(2 p pn n pn n p f r LW L W k k t t μμττ===?===233034956.164minn L W ??==275931138minn L W ??===?233034956.164minn L W输入电平Vih 可能为2.4V(1)拉管P2为了节省面积,同时又能使Vih 较快上升,取图4(2)CMOS 反向器的P1管此P1管应取内部基本反向器的尺寸(3)CMOS 反相器的N 管TTL 的输出电平在0.4-2.4之间 V1*=ViLmax+Vihmin=1.4V===?223312p L W==?231.546内p L W式中βk=kn/kp,Vdd=5V ,Vtn=0.7V ,Vi*=1.4V , βk=17.162.3 内部基本反相器中各MOS 管尺寸的计算内部反相器的负载电容:①本级漏极的PN 结电容Cpn ②下级的栅电容Cc1 ③连线杂散电容Cs Cpn+Cc1=10CsCs :铝线宽5um,长100um ,在场区上面,此铝线的电容为1K k V V k V p n TP DD p *I+++=+++=R TP DD TN R TN N V V V V k ββ)(??==??? ??2230W np R pl nl L L W μμβ??==22303345nlL W ??==?231.546plL W ??===?223312p L WCpn 和Cl :N 管其衬底是P 型,所以 NB=2?1016 cm-3 设结深Xi=0.5um R □=20Ω/□对于P 管Cpn=而CC1可以由:Cc1=10Cs-Cpn 求出。

基于FPGA的4位全加器实验

基于FPGA的4位全加器实验

试验一 4位全加器实验1.实验原理.实验原理全加器能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位信号。

该位的进位信号。

全加器的真值表如表1所示。

所示。

表1 全加器真值表全加器真值表输入输入输出输出AiBi Ci-1 Si Ci0 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 111114位全加器可以采用四个1位全加器级连成并行相加串行进位的加法器,位全加器级连成并行相加串行进位的加法器,实实现框图如图1所示,其中CSA 为1位全加器。

由图可以看出,每1位的进位信号送给下1位作为输入信号,因此,任1位的加法运算必须在低1位的运算完成之后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。

之后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。

图1 4位串行进位加法器实现框图位串行进位加法器实现框图在图1中,A 和B 为加法器的输入位串,对于四位全加器则位宽为4位,D 为加法器输出位串,和输入位串相同,C 为进位输入( Ci ) 或输出或输出( Co )。

实现代码为:实现代码为:module adder4(cout,sum,ina,inb,cin); output[3:0] sum; output cout;input[3:0] ina,inb; input cin;assign {cout,sum}=ina+inb+cin; endmodule2.实验目的.实验目的⒈熟悉⒈熟悉 ISE9.1 开发环境,掌握工程的生成方法;开发环境,掌握工程的生成方法; ⒉了解⒉了解 V erilog HDL 语言在语言在 FPGA 中的使用;中的使用; ⒊了解4位全加器的V erilog HDL 语言实现。

语言实现。

3.实验内容.实验内容⒈用V erilog HDL 语言设计4位全加器,进行功能仿真验证。

四位串行进位加法器设计教学文稿

四位串行进位加法器设计教学文稿

四位串行进位加法器设计集成电路CAD课程设计报告四位串行加法器设计1串行进位加法器简介1.1加法器实现多为二进制数相加的电路,称为加法器。

根据进位方式不同,有串行进位加法器和超前进位加法器之分。

采用串行进位方式,优点是电路简单,连接方便;缺点是运算速度不高。

原理:把四个全加器(例如两片74LS183)依次级联起来,便可构成四位串行进位加法器。

因此四位串行进位加法器的设计可以分以下两步进行:(1)全加器设计;(2)将全加器级联,构成四位串行进位加法器(a)(b)图(1)四位串行加法器74831.2 图2为四位串行加法器7483逻辑图图(2)四位串行加法器2 四位串行进位加法器的设计实现:2.1 输出级电路设计与TTL电路兼容驱动10个TTL①输出高电平时|IoH|<=20uA VoHmin=4.4V②输出低点平时|IoH|<=20mA VoHmax=0.4V③输出级充放电时间tr=tf计算电路如图3所示①以15个PF 的电容负载代替10个TTL 电路来计算tr 、tf ②输入V 为的前一级的输出被认为是理想的输出,即:ViL=Vss,ViH=Vdd③计算电流时,负载为电流负载,有拉电流的灌电流。

图3(1)CMOS N 管(W/L )N 的计算:当输入为高电平时(Vi=Vdd ),N 管导通后级TTL 电路有较大的灌电流输入,此时(表示成对称形式)使方括号中的值和栅电容Cox 及电子迁移率un 为最小值:o u t00f f[]200200)()(2V V V V V V C L W I tn i s tn ox N n dsn -----⎪⎭⎫ ⎝⎛=μm ax0m in 2ox SiO ox t C εε=(2) CMOS P 管(W/P )p 的计算|IoH |<=20uA时有 VoHmin=4.4Vtr=tf① 以Ioh<=20uA时VoHmin=4.4V 的条件计算最坏的情况下Vdd=4.5V,Vohmin=4.4v,Vtp=0.8V,230m ax 0m in -⎪⎪⎭⎫ ⎝⎛=T T n n μμ∆∆===⎪⎭⎫ ⎝⎛233034956.164m in n L W []202)()(2oh tp i dd tp i ox p p oh V V V V V V C L W I -----⎪⎭⎫ ⎝⎛=μm ax 0m in 2ox SiO ox t C εε=230m ax 0m in -⎪⎪⎭⎫ ⎝⎛=T T n p μμ经计算可得②tr=tp 的条件计算:CMOS 中αp=αn所以 ∆∆===⎪⎭⎫ ⎝⎛21532227.7pL W dd tp p V V =αddtn n V V =αdd p L p V k C =τ()⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-⎪⎪⎭⎫ ⎝⎛--+--=p n n n n f arth t αααατ111.011)1.0(2p p n n p n n p f r L W L W k k t tμμττ⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛===⎪⎪⎭⎫ ⎝⎛∆∆===⎪⎭⎫ ⎝⎛233034956.164minn L W ∆∆==⎪⎭⎫ ⎝⎛275931138minn L W2.2 输入级设计输入电平Vih 可能为2.4V(1)拉管P2为了节省面积,同时又能使Vih 较快上升,取图4(2)CMOS 反向器的P1管此P1管应取内部基本反向器的尺寸∆===⎪⎭ ⎝236.164minn L ∆∆===⎪⎭⎫ ⎝⎛223312p L W∆∆==⎪⎭⎫ ⎝⎛231.546内p L W(3)CMOS 反相器的N 管TTL 的输出电平在0.4-2.4之间V1*=ViLmax+Vihmin=1.4V式中βk=kn/kp,Vdd=5V,Vtn=0.7V,Vi*=1.4V, βk=17.162.3 内部基本反相器中各MOS 管尺寸的计算 内部反相器的负载电容:①本级漏极的PN 结电容Cpn1K k V V k V p n TP DD p *I+++=+++=R TP DD TN R TN N V V V V k ββ)(∆∆=⎪⎭⎫ ⎝⎛=⎪⎭⎫ ⎝⎛2230W n p R plnl L L W μμβ∆∆==⎪⎭⎫ ⎝⎛22303345nl L W ∆∆==⎪⎭⎫ ⎝⎛231.546plL W ∆∆===⎪⎭⎫ ⎝⎛223312p L W②下级的栅电容Cc1③连线杂散电容CsCpn+Cc1=10CsCs :铝线宽5um,长100um ,在场区上面,此铝线的电容为Cpn 和Cl :N 管 其衬底是P 型,所以 NB=2⨯1016 cm-3设结深Xi=0.5um R □=20Ω/□对于P 管Cpn= )(10726.1100.19.31085.8101005C 14482014F t A s oxF SiO Al ---⨯=⨯⨯⨯⨯⨯⨯==-εεϕεε2021021C C p jn n jp Si qN C jpn ===++2l n iB n N N q k T =ϕ318õ10862.7R 1N -⨯==cm x q j μ28/10195.2cm F C p jN -+⨯=28/101396.1cm F C N jP -+⨯=Cp n Cn p+++而CC1可以由:Cc1=10Cs-Cpn求出。

EDA技术实验报告(1)

EDA技术实验报告(1)

实验一利用原理图输入法设计4位全加器一、实验目的:掌握利用原理图输入法设计简单组合电路的方法,掌握MAX+plusII的层次化设计方法。

通过一个4位全加器的设计,熟悉用EDA软件进行电路设计的详细流程。

二、实验原理:一个4位全加器可以由4个一位全加器构成,全加器的进位以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的低位进位输入信号cin相接。

1位全加器f-adder由2个半加器h-adder和一个或门按照下列电路来实现。

半加器h-adder由与门、同或门和非门构成。

四位加法器由4个全加器构成1234三、实验内容:1. 熟悉QuartusII软件界面,掌握利用原理图进行电路模块设计的方法。

QuartusII设计流程见教材第五章:QuartusII应用向导。

2.设计1位全加器原理图(1)生成一个新的图形文件(file->new->graphic editor)(2)按照给定的原理图输入逻辑门(symbol->enter symbol)(3)根据原理图连接所有逻辑门的端口,并添加输入/输出端口(4)为管脚和节点命名:在管脚上的PIN_NAME处双击鼠标左键,然后输入名字;选中需命名的线,然后输入名字。

(5)创建缺省(Default)符号:在File菜单中选择Create Symbol Files for Current File项,即可创建一个设计的符号,该符号可被高层设计调用。

3.利用层次化原理图方法设计4位全加器(1)生成新的空白原理图,作为4位全加器设计输入(2)利用已经生成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.4.新建波形文件(file->new->Other Files->Vector Waveform File),保存后进行仿真(Processing ->Start Simulation),对4位全加器进行时序仿真。

用原理图输入法设计四位全加器实验

用原理图输入法设计四位全加器实验

实验一用原理图输入法设计四位全加器
一实验目的
熟悉利用Quartus II 的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二实验原理
一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。

而1位全加器可以按照5.4节介绍的方法来完成。

三实验内容
分层设计:
1:先设计一个一位半加器,由一个2输入与门一个非门和一个异或门构成。

2个input a和b
2个输出co 和so
Co为进位
半加器原理图如下所示:
半加器仿真波形图如下图所示:
一个一位全加器分别由2个刚设计的半加器构成,2个半加器之间通过一个2输入或门连接。

一位全加器设计原理图如下:
一位全加器仿真波形如下图所示:
2,建立一个更高层次的原理图设计,利用以上获得的1位全加器构成4位全加器,并完成编译、综合、适配、仿真、和硬件测试。

其中A0 A1 A2 A3 B0 B1 B2 B3为2个四位输入,4位输出D0 D1 D2 D3为4个全加器so输出,4个co 进位依次连接,最后只输出一个进位co,表示最后结果总进位。

四位全加器原理图如下所示:
四位全加器波形图如下所示:
四实验总结
通过本次实验,我掌握了Quartus II 的原理图输入方法设计简单组合电路和层次化设计的方法和详细流
程。

实验一四位串行进位加法器的设计实验报告[详细讲解]

实验一四位串行进位加法器的设计实验报告[详细讲解]

实验一四位串行进位加法器的设计一、实验目的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—>V ectorW aveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。

从Assignments—>Settings—>Simulator Settings—>Functional然后Processing—>Generate Functional Simnlation Netlist —>确定。

选择Start Simulation保存最后的波形图,打开File—>close 关闭工程。

底层文件:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY fadder ISPORT(a, b,cin : IN STD_LOGIC;s, co : OUT STD_LOGIC);END fadder;ARCHITECTURE arc1 OF fadder ISBEGINs<=a xor b xor cin;co<=((a xor b)and cin)or(a and b);END arc1;顶层文件:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY adder4 ISPORT(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);END adder4;ARCHITECTURE arc2 OF adder4 ISCOMPONENT fadderPORT(a, b,cin : IN STD_LOGIC;s, co : OUT STD_LOGIC);END COMPONENT;SIGNAL carry : STD_LOGIC_VECTOR(3 DOWNTO 1);BEGINu1 : fadder PORT MAP (a=>a(0), b=>b(0),cin=>c0,s=>s(0),co=>carry (1));u2 : fadder PORT MAP (a=>a(1),b=>b(1),cin=>carry(1),s=>s(1),co=>carry (2));u3 : fadder PORT MAP (a=>a(2),b=>b(2),cin=>carry(2),s=>s(2),co=>carry (3));u4 : fadder PORT MAP(a=>a(3),b=>b(3),cin=>carry(3),s=>s(3),co=>c4);END arc2;2、使用原理图的方法设计打开File—>New Project Wizard输入文件名adder4保存在D盘内,打开File—>New—>VHDL File,从模版中选择库的说明,use 语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后选择File-->Create/Update-->Create Symbol Files for Current File,选择File-->New-->Other File-->V ector W aveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。

4位alu设计实验报告

4位alu设计实验报告

4位alu设计实验报告引言阿里巴巴淘宝研发部需要一个高效的算术逻辑单元(ALU),用于处理复杂的计算任务。

本实验旨在设计并实现一个4位ALU,以满足淘宝研发部的需求。

设计思路功能需求根据淘宝研发部的需求,4位ALU需实现以下基本功能:1. 加法运算2. 减法运算3. 与门运算4. 或门运算5. 异或门运算6. 比较两个数的大小(等于、大于、小于)设计方案为了实现这些功能,我们将使用以下组件:1. 4位全加器电路- 用于加法运算2. 4位比较器电路- 用于比较运算3. 4位逻辑门电路- 用于与门、或门、异或门运算设计方案如下:![ALU](alu_design.png)实验步骤1. 设计并实现4位全加器电路2. 设计并实现4位比较器电路3. 设计并实现4位逻辑门电路4. 使用以上电路组件实现4位ALU电路5. 进行基本运算和比较测试,验证ALU功能是否正确实验结果通过实验验证,4位ALU完成了预期的功能需求。

以下是一些测试样例及输出结果:加法运算- 输入:A=1010,B=0011- 输出:Sum=1101减法运算- 输入:A=1010,B=0011- 输出:Diff=0111与门运算- 输入:A=1010,B=0011- 输出:A&B=0010或门运算- 输入:A=1010,B=0011- 输出:A B=1011异或门运算- 输入:A=1010,B=0011- 输出:A^B=1001比较运算- 输入:A=1010,B=0011- 输出:A>B=0001结论本实验成功设计并实现了一个功能齐全的4位ALU电路,能够满足淘宝研发部的需求。

经过测试,ALU能够正确执行加法、减法、与门、或门、异或门以及比较运算。

这个高效的ALU电路将在处理复杂计算任务时发挥巨大作用。

4位全加器实验报告doc

4位全加器实验报告doc
说明:为了方便在QuartusII9.1 sp2中完成编译和功能仿真,咱们选择芯片Cyclone II,EP2C70F89C6,而在DE2-115开发板中进行下载时,那么需要选择与开发板相匹配的芯片Cyclone IVE 中的EP4CE115F29C7。(芯片选择见下文详述,注意每次变换芯片后都需要从头编译)
#10 $display ("A B=%b %b,S_t=%b,C3_t=%b",A_t,B_t,S_t,C3_t); A_t = 0111;B_t = 1100;C_1_t = 0;
#10 $display ("A B=%b %b,S_t=%b,C3_t=%b",A_t,B_t,S_t,C3_t);end endmodule
表2 全加器逻辑功能真值表
图4 全加器方框图
图5 全加器原理图
多位全加器连接能够是逐位进位,也能够是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。
四位全加器
如图9所示,四位全加器是由半加器和一名全加器组建而成:
图9 四位全加器原理图
【实验步骤】
(1)成立新工程项目:
打开ISE软件,进入集成开发环境,点击File→New project成立一个工程项目adder_4bit。
input cin; initial assign {cout,sum}=a+b+cin; begin endmodule a=4'b0; b=4'b0; cin=1'b0; #210 $stop; end always #10 a=a+1; always #5 b=b+1; always #100 cin=cin+1;endmodule 四、仿真波形如下:

4位全加器实验报告

4位全加器实验报告

4位全加器实验报告篇一:四位全加器实验报告实验一:四位全加器实验报告实验日期:学生姓名:陆小辉(学号:25)指导老师:黄秋萍加法器是数字系统中的基本逻辑器件,是构成算数运算电路的基本单元。

1位加法器有全加器和半加器两种。

多位加法器构成方式有并行进位方式和串行进位方式。

并行进位加法器设有并行进位产生逻辑,运算速度较快;串行进位加法器是将全加器级联构成多位加法器。

并行进位加法器通常比串行进位加法器占用更多的资源,随着位数的增多,相同位数的并行进位加法器比串行进位加法器的资源占用差距快速增大。

因此,在工程中使用加法器时,要在速度与容量之间寻求平衡。

一、设计要求:设计四位全加器,完成相应的功能。

可采用并行进位方式和串行进位方式,可采用三种常用建模方式中的任意一种。

三、测试代码如(转载自:小草范文网:4位全加器实验报告)下: module text_fulladd4; 二、设计代码如下:(此处采用数据流建模)wire [3:0]sum; module fulladd4(sum,cout,a,b,cin); wire cout; output [3:0]sum; reg [3:0]a,b; output cout; reg cin; input [3:0]a,b; fulladd4 f1(sum,cout,a,b,cin);input cin; initial assign {cout,sum}=a+b+cin; begin endmodule a=4'b0; b=4'b0; cin=1'b0; #210 $stop; end always #10 a=a+1; always #5 b=b+1; always #100 cin=cin+1;endmodule 四、仿真波形如下:续图篇二:4位全加器实验报告数电第一次实验通信1402 程杰 UXX13468【实验目的】采用ISE集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四进制全加器。

设计串行4位加法器

设计串行4位加法器

数码电子学实验设计串行4位加法器报告人:XXX一.具体要求要求利用全加器和移位寄存器等器件实现串行4位加法器。

本实验涉及到寄存器,计数器,移位寄位器等基本时序电路,以全加器,多路选择器等组合逻辑电路,所以是一个综合性试验。

二.试验目的1.熟悉原理与ABEL-HDL混合输入法;2.学习根据具体设计选择描述方法并了解可编程器件的实际应用。

三.实验准备1.详解移位寄存器所谓寄存器就是一组可存储二进制数的触发器,其中一个触发器存储一个位,所以一个寄存器的长度若是一个字节大小,那它应该是有8个触发器组成,我们可以对这8个触发器存入二进制数值,也能够由这8个触发器读出所存入的二进制数值。

寄存器除了能够存储二进制数据外,还可以将存储的数据由一个触发器移至另外一个触发器,我们称这类的寄存器为移位寄存器(Shift Register)。

图1所示是一个以D触发器所构成的移位寄存器。

数据由最左边的触发器D输入端输入,而Q输出接至下一级触发器的D输入端,所以出了最左边的触发器外,每一个触发器的输入都由前一级触发器的状态所决定。

使用D型触发器使得输入端不会发生状态反转现象,可以确保在时钟脉冲上升沿触发时,同步地将触发器D输入端数据转移至输出端Q。

在此移位寄存器中我们模拟“1011”的输入,储存和输出,其结果如表1所示。

表1:模拟1011的输入,储存与输出D Q3 Q2 Q1 Q0CLKT0 ? ? ? ? ?T1 1 1 ? ? ?T2 1 1 1 ? ?T3 0 0 1 1 ?T4 1 1 0 1 1T5 0 0 1 0 1T6 0 0 0 1 0T7 0 0 0 0 1 图1:移位寄存器T4时刻存储完毕T7时刻输出完毕在ispDesignLEVER中输入如下测试矢量:获得如下仿真结果:储存输出从结果我们验证了D触发器移位寄存器的真确性。

我们将此D触发器移位寄存器产生一个默认符号:如图2所示,以便在后面设计“串行4位加法器”中使用。

四位加法器实验报告

四位加法器实验报告

四位加法器实验报告1.实验目的:掌握组合逻辑电路的基本分析与设计方法;理解半加器和全加器的工作原理并掌握利用全加器构成不同字长加法器的各种方法;学习元件例化的方式进行硬件电路设计;学会利用软件仿真实现对数字电路的逻辑功能进行验证和分析。

2.实验仪器:数字逻辑实验箱3.实验内容:A. 设计实现逐次进位加法器,进行软件仿真并在实验平台上测试。

B. 设计实现超前进位加法器,进行软件仿真并在实验平台上测试。

C.使用VHDL自带加法运算实现一个4位全加器。

4.实验代码:A. 逐次进位加法器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity FDFA is#定义串行加法器总体接口port(A,B:in std_logic_vector(3 downto 0);Ci:in std_logic;S:out std_logic_vector(3 downto 0);Co:out std_logic);end entity;architecture struct of FDFA iscomponent fadder is#基于一位全加器port(a,b,ci:in std_logic;s,co:out std_logic);end component fadder;signal c0,c1,c2:std_logic;beginU0:fadder port map(A(0),B(0),Ci,S(0),c0);U1:fadder port map(A(1),B(1),c0,S(1),c1);U2:fadder port map(A(2),B(2),c1,S(2),c2);U3:fadder port map(A(3),B(3),c2,S(3),Co);end architecture struct;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fadder is #定义一位全加器port(a,b,ci:in std_logic;s,co:out std_logic);end entity;architecture func of fadder isbeginco<=(a and b) or (ci and ( a xor b));s<=a xor b xor ci;end architecture func;B. 超前进位加法器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity LAC is#定义超前进位加法器总体接口port(A,B:in std_logic_vector(3 downto 0);Ci:in std_logic;Co:out std_logic;S:out std_logic_vector(3 downto 0));end entity;architecture struct of LAC issignal wirep, wireg:std_logic_vector(3 downto 0);signal wirec:std_logic_vector(2 downto 0);component fadder is#基于一位全加器port(Ai,Bi:in std_logic;c:in std_logic;si:out std_logic;pi:out std_logic;gi:out std_logic);end component fadder;component Ker is#Ker总理进位传递信号P与进位产生信号G,以及进位信号C port(ci:in std_logic;P:in std_logic_vector(3 downto 0);G:in std_logic_vector(3 downto 0);C:out std_logic_vector(3 downto 0));end component Ker;beginU0:fadder port map(Ai=>A(0),Bi=>B(0),c=>Ci,si=>S(0),pi=>wirep(0),gi=>wireg(0));U1:fadder port map(Ai=>A(1),Bi=>B(1),c=>wirec(0),si=>S(1),pi=>wirep(1),gi=>wireg(1));U2:fadder port map(Ai=>A(2),Bi=>B(2),c=>wirec(1),si=>S(2),pi=>wirep(2),gi=>wireg(2));U3:fadder port map(Ai=>A(3),Bi=>B(3),c=>wirec(2),si=>S(3),pi=>wirep(3),gi=>wireg(3));L:Ker port map(ci=>Ci,P(0)=>wirep(0),P(1)=>wirep(1),P(2)=>wirep(2),P(3)=>wirep(3),G(0)=>wireg(0),G(1)=>wireg(1),G(2)=>w ireg(2),G(3)=>wireg(3),C(0)=>wirec(0),C(1)=>wirec(1),C(2)=>wirec(2),C(3)=>Co);end architecture struct;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fadder is #定义一位全加器port(Ai,Bi:in std_logic;c:in std_logic;si:out std_logic;pi:out std_logic;gi:out std_logic);end entity;architecture func of fadder isbeginpi<=Ai xor Bi;gi<=Ai and Bi;si<=Ai xor Bi xor c;end architecture func;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Ker is#定义Ker port(ci:in std_logic;P:in std_logic_vector(3 downto 0);G:in std_logic_vector(3 downto 0);C:out std_logic_vector(3 downto 0));architecture func of Ker isbeginC(0)<=G(0) or ( P(0) and ci );C(1)<=G(1) or ( P(1) and G(0) ) or ( P(1) and P(0) and ci );C(2)<=G(2) or ( P(2) and G(1) ) or ( P(2) and P(1) and G(0) ) or ( P(2) and P(1) and P(0) and ci );C(3)<=G(3) or ( P(3) and G(2) ) or ( P(3) and P(2) and G(1) ) or ( P(3) and P(2) and P(1) and G(0) ) or ( P(3) and P(2) and P(1) and P(0) and ci );end architecture func;C. VHDL自带加法运算实现4位全加器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity VHDLAD is#定义VHDL自带加法运算实现4位全加器总体接口,如果加和比原来和少,则会进位port(A,B:in std_logic_vector(3 downto 0);Ci:in std_logic;Co:out std_logic;S:out std_logic_vector(3 downto 0));end VHDLAD;architecture bhv of VHDLAD issignal D:std_logic_vector(3 downto 0);beginprocess(A,B,Ci,D)beginD <= A + B;if(Ci = '1') thenD <= D + 1;end if;if(D >= A) thenS <= D;Co <= '0';elseS <= D;Co <= '1';end if;end process;end bhv;5.软件仿真结果说明下面图片每幅有14条信号线,从上到下依次为A的低位到高位(共4条)、B的低位到高位(共4条)、输入的进位信号、和的低位到高位(共4条)、输出进位信号。

实验报告(组合电路设计)

实验报告(组合电路设计)

电子设计自动化课程实验报告学号:08291117姓名: 图尔荪。

依明班级:电气0804任课老师:李景新第二次实验报告组合电路设计(一)课题:设计一个四位全加器,进位输出是快速进位位一、 实验内容设计一个四位的全加器,进位输出是快速进位位;二、 实验设计及过程(1) 设计思路快速进位加法器,也就是超前进位加法器,其原理简单地说就是使各位的进位直接由加数和被加数来决定,即有如下逻辑表达式:111)(---++=++=i i i i i i i i i i i i C B A B A C B C A B A C而不需要依赖低位进位。

逻辑表达式解释:当第i 位被加数A i 和加数B i 均为1时,有1=i i B A ,由“或”的原理可知,不论低位运算1)(-+i i i C B A 结果如何,本位必然有进位输出(1=iC )。

当A i 和B i 中只有一个为1时,有0=i i B A 且1=+i i B A ,因此1-=i i C C 。

所以,四位二进制全加器的“和”与“进位”相结合,可得到表达式:1-⊕⊕=i i i i C B A S从而构成快速进位加法器。

(2) 流程图(3)程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY quanjiaqi ISPORT(A0,A1,A2,A3,B0,B1,B2,B3,Ci:IN STD_LOGIC;S0,S1,S2,S3,Co:OUT STD_LOGIC );END quanjiaqi;ARCHITECTURE beth OF quanjiaqi ISBEGINPROCESS(A0,A1,A2,A3,B0,B1,B2,B3,Ci)V ARIABLE U0,U1,U2:STD_LOGIC;BEGINS0<=(A0 xor B0) xor Ci;U0:=(A0 AND B0) OR ((A0 OR B0) AND Ci);S1<=(A1 xor B1) xor U0;U1:=(A1 AND B1) OR ((A1 OR B1) AND A0 and B0) or ((A1 or B1) and (A0 or B0) and Ci);S2<=(A2 xor B2) xor U1;U2:=(A2 and B2) or ((A2 or B2) and A1 and B1) or ((A2 or B2) and (A1 or B1) and A0 and B0) or ((A2 or B2)and (A1 or B1) and (A0 or B0) and Ci);S3<=(A3 xor B3) xor U2;Co<=((A3 xor B3) and (A2 xor B2) and (A1 xor B1) and (A0 xor B0) and Ci) or ((A3 xor B3) and (A2 xor B2) and(A1 xor B1) and A0 and B0 ) or ((A3 xor B3) and (A2xor B2) and A1 and B1 ) or ((A3 xor B3) and A2 andB2) or (A3 and B3);END PROCESS;END beth;(4)仿真波形波形解释:1、0——10ns:1+1+1=3;2、10——20ns:6+10=16;3、20——30ns:1+10+5=16;4、30——40ns:1+15+15=31.(注:Ci是借位位,Co是进位位,A与B是加数,S为和)由此可知,该仿真波形说明设计的正确性。

4位数加法器设计报告

4位数加法器设计报告

4位数加法器设计报告一、设计任务和要求1.1、任务描述:1、系统通过4×4的矩阵键盘输入数字及运算符;2、可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E;3、可以进行加法以外的计算(乘、除、减);4、创新功能。

1.2、任务要求:1、理解任务书要求,明确分工,查找相关资料,制定系统方案;2、论证系统设计方案,运用Proteus等软件绘制电路原理图;3、根据硬件电路,确定算法,设计程序框图,编写程序代码;4、误差分析与改进,完成设计报告。

二、方案论证2.1、适用矩阵键盘控制作为输入电路,电路和软件稍微复杂,但是相比用独立按键,可节省I/O口,其原理图如2.1所示:图2.1 矩阵键盘控制电路2.2、采用LED数码管显示,数码管图如图2.2.1所示:下图则是加法器电路的原理图:3.1、主控模块该设计的核心控制电路是 AT89C52单片机。

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其引脚AT89C51芯片模型3.1.1、主要功能特性(1) 4K字节可编程闪烁存储器。

(2) 32个双向I/O口;128×8位内部RAM 。

(3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。

4位加法器实验报告

4位加法器实验报告

硬件描述语言实验:四位加法器实验姓名:学号:实验地点:计算机基础实验室实验时间:2010年3月28号1、实验目的:练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言行为描述的编写方法。

2、实验环境:PC个人计算机、Windows XP操作系统、Quartus II集成开发环境软件。

3、实验要求:设计一个四位加法器,其引脚及其功能如下表。

4、实验步骤:(1)用RTL描述方式描述4位加法器①RTL描述方式是一种明确规定寄存器描述的方法,它要求在描述时要么采用寄存器硬件的一一对应的直接描述,要么采用寄存器之间的功能描述。

RTL描述方式可以进行逻辑综合,这是其他描述方式所不具备的特点。

②编辑代码这种描述方法详细描述了加法器的计算过程,即写出了每一位的计算和进位方法。

模块内部(构造体说明部分)需要定义三个连接线,定义语句为:signal c0,c1,c2 : std_logic代码如下:library ieee;use ieee.std_logic_1164.all;entity adder4 isport(a,b:in std_logic_vector(3 downto 0);ci:in std_logic;s:out std_logic_vector(3 downto 0);co:out std_logic);end entity;architecture rtl of adder4 issignal c0,c1,c2:std_logic;begins(0) <= a (0) xor b(0) xor ci;c0<= (a(0) and b(0)) or (a(0) and ci) or (b(0) and ci);s(1) <= a (1) xor b(1) xor c0;c1<= (a(1) and b(1)) or (a(1) and c0) or (b(1) and c0);s(2) <= a (2) xor b(2) xor c1;c2<= (a(2) and b(2)) or (a(2) and c1) or (b(2) and c1);s(3) <= a (3) xor b(3) xor c2;co<= (a(3) and b(3)) or (a(3) and c2) or (b(3) and c2);end architecture rtl;③仿真结果(2)用行为描述方式描述4位加法器①行为描述是对系统数学模型的描述,其抽象程度比寄存器传输描述方式和结构描述方式更高。

串行加法器实验报告

串行加法器实验报告

深圳大学实验报告课程名称:Verilog 数字系统设计实验项目名称:串行加法器学院:信息工程学院专业:集成电路设计与集成系统指导教师:徐渊报告人:林国钊学号:2012200029 班级:集成2班实验时间:2014年6月2日实验报告提交时间:2014年6月20日星期五教务部制实验要求:设计一个串行数据检测器。

要求:连续4个或4个以上为1时输出为1,其他输入情况为0。

编写测试模块对模块进行各种层次的仿真,并观察波形,编写实验报告。

实验报告要求:1.报告的格式采用标准的深圳大学设计报告格式。

2.报告中应完包括ASM图, 以及Verilog代码,并且代码应该与ASM图相一致。

3.设计报告应包括该电路的Verilog仿真。

Verilog代码:module serial_adder(clk,rst,x,y,sum,cin);input clk,rst,x,y;output cin,sum;reg[3:0] x1,y1;reg[1:0]count;reg[2:0] state,cin;wire[3:0] x,y;reg[3:0] sum;parameter a0=0,a1=1,a2=2;always @(posedge clk)beginif(rst==0) begin state<=a0; cin<=0; sum<=0; endelse begincase(state)a0: beginx1<=x; y1<=y; count<=0; state<=a1;enda1: begin sum<=sum>>1;if(count==4) begin state<=a2; endelsebegin{cin,sum[3]}<=x1[0]+y1[0]+cin;x1<=x1>>1; y1<=y1>>1;count<=count+1;endenda2: state<=a0;endcaseendendendmoduleASM图综合仿真截图:实验结果:生成了产生实验所需的串位检测器,因此实验成功。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一四位串行进位加法器的设计
一、实验目的
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 ieee.std_logic_1164.ALL;
ENTITY 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 ieee.std_logic_1164.ALL;
ENTITY 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
);
END adder4;
ARCHITECTURE arc2 OF adder4 IS
COMPONENT fadder
PORT
(
a, b,cin : IN STD_LOGIC;
s, co : OUT STD_LOGIC
);
END COMPONENT;
SIGNAL carry : STD_LOGIC_VECTOR(3 DOWNTO 1); BEGIN
u1 : fadder PORT MAP (a=>a(0), b
=>b(0),cin=>c0,s=>s(0),co=>carry (1));
u2 : fadder PORT MAP (a=>a(1),
b=>b(1),cin=>carry(1),s=>s(1),co=>carry (2));
u3 : fadder PORT MAP (a=>a(2),
b=>b(2),cin=>carry(2),s=>s(2),co=>carry (3));
u4 : fadder PORT MAP
(a=>a(3),b=>b(3),cin=>carry(3),s=>s(3),co=>c4);
2、使用原理图的方法设计
打开File—>New Project Wizard输入文件名adder4保存在D盘,打开File—>New—>VHDL File,从模版中选择库的说明,use语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后选择File-->Create/Update-->Create Symbol Files for Current File,选择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 ieee.std_logic_1164.ALL;
ENTITY fadder IS
PORT
(
Cin,a, b : IN STD_LOGIC;
s, co : OUT STD_LOGIC
);
ARCHITECTURE arc1 OF fadder IS BEGIN
s<=a xor b xor cin;
co<=((a xor b)and cin)or(a and b); END arc1;
原理图:
四、实验现象
五、实验体会与收获
问题:Error (10500): VHDL syntax error at adder4.vhd(10) near text ")"; expecting an identifier, or "constant", or "file", or "signal", or "variable"
Error (10500): VHDL syntax error at adder4.vhd(19) near text
"COMPONENT"; expecting ";", or an identifier ("component" is a reserved keyword), or "entity"
Error (10396): VHDL syntax error at adder4.vhd(27): name used in construct must match previously specified name "adder4"
Error (10523): Ignored construct adder4 at adder4.vhd(3) due to previous errors
解决办法:
c4 : OUT STD_LOGIC;
);改为:
c4 : OUT STD_LOGIC);
OUT STD_LOGIC后面无;
收获:第二种方法中只建立熟悉理解一位全加器的工作原理,掌握串行进位加法器的逻辑原理。

相关文档
最新文档