实验一原理图方法设计8位加法器

合集下载

八位加法器设计实验报告

八位加法器设计实验报告

实验四: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;endmodule2)编译成功的全加器程序: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);endmodule3)编译成功的八位加法器程序: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_adderu0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]) ,.cout(cout0));f_adderu1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1 ]),.cout(cout1));f_adderu2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2 ]),.cout(cout2));f_adderu3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3 ]),.cout(cout3));f_adderu4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4]),.cout(cout4));f_adderu5(.ain(ain[5]),.bin(bin[5]),.cin(cout4),.sum(sum[5 ]),.cout(cout5));f_adderu6(.ain(ain[6]),.bin(bin[6]),.cin(cout5),.sum(sum[6 ]),.cout(cout6));f_adderu7(.ain(ain[7]),.bin(bin[7]),.cin(cout6),.sum(sum[7 ]),.cout(cout));endmodule4)八位加法器仿真程序:module f_adder8_vlg_tst();// constants // general purpose registers//reg eachvec;// test vector input registersreg [7:0] ain;reg [7:0] bin;reg cin;// wires wire cout;wire [7:0] sum;// assign statements (if any) f_adder8 i1 (// port map - connection between master ports and signals/registers.ain(ain),.bin(bin),.cin(cin),.cout(cout),.sum(sum));initial begin ain=10;bin=11;cin=0;#100 ain=10;bin=10;cin=0;#100 ain=10;bin=10;cin=1;#100 ain=12;bin=18;cin=0;#100 ain=12;bin=18;cin=1;#100 $stop;endendmodule5)八位加法器仿真图:6)元件原理图及元件入库:半加器原理图:文件入库bsf:全加器原理图:全加器元件入库:八位全加器rtl图:八位全加器仿真图:精品文档。

8位全加器

8位全加器

目录一、设计目的和要求 (1)1.课程设计目的 (1)2.课程设计的基本要求 (1)3.课程设计类型 (1)二、仪器和设备 (1)三、设计过程 (1)1.设计内容和要求 (1)2.设计方法和开发步骤 (2)3.设计思路 (2)4.设计难点 (4)四、设计结果与分析 (4)1.思路问题以及测试结果失败分析 (4)2.程序简要说明 (5)五、心得体会 (9)六、参考文献 (9)一、设计目的和要求1.课程设计目的设计一个带进位的八位二进制加法计数器:要求在MAX+plusⅡ10.2软件的工作平台上用VHDL语言层次设计出一个带进位的八位二进制加法器,并通过编译及时序仿真检查设计结果。

2.课程设计的基本要求全加器与带进位输入8位加法器设计要求我们通过8位全加器的设计掌握层次化设计的方法,充分理解全加器的设计过程,掌握一位全加器的程序,熟悉MAX+plusⅡ10.2软件的文本和原理图输入方法设计简单组合电路。

课程设计过程中要求能实现同步和异步的八位二进制全加器的设计。

3.课程设计类型EDA课程设计二、仪器和设备PC机、MAX+plusⅡ10.2软件三、设计过程1.设计内容和要求方法一:1.原理图输入完成半加器和1位全加器的设计,并封装入库2.层次化设计,建立顶层文件,由8个1位全加器串联构成8位全加器3.每一层次均需进行编译、综合、适配及仿真方法二:1. 原理图输入完成一个四位全加器的设计2.层次化设计,建立顶层文件,由2个4位全加器串联构成8位全加器3.每一层次均需进行编译、综合、适配及仿真2.设计方法和开发步骤加法器是数字系统中的基本逻辑器件。

例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。

但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。

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

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

原理图输入设计8位全加器

原理图输入设计8位全加器

原理图输入设计8位全加器一、实验目的掌握运用MAX+plusII原理图编辑器进行层次电路系统设计的方法。

进一步熟悉利用MAX+plusII进行电路系统设计的一般流程。

掌握8位全加器原理图输入设计的基本方法及过程。

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

而一个1位全加器则可由实验一包装元件入库得到。

实验步骤1、为本项设计建立文件夹2、输入设计项目和存盘根据8位全加器原理图输入设计8位全加器。

并另存(Save As)在为本设计建立的文件夹中。

3、将设计项目设置成工程文件将8位全加器设置为工程文件。

4、选择目标器件并编译首先在Assign选项的下拉菜单中选择器件选择项Device,此窗口的Device Family是器件序列栏,应该首先在此拦中选定目标器件对应的序列名,为了选择EPF1K30TC144-3器件,应将此栏下方标有Show only Fastest Speed Grades的勾消去,以便显示出所有速度级别的器件。

完成器件选择后,按OK键。

最后启动编译器,首先选择左上角的MAX+plusII选项,在其下拉菜单中选择编译器项Compiler。

(此编译器的功能包括网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和编程下载文件装配等。

)点击Start,开始编译!如果发现有错,排除错误后再次编译。

5、时序仿真接下来应该测试设计项目的正确性,即逻辑仿真,具体步骤如下:(1)建立波形文件。

(2)输入信号节点。

(3)设置波形参量。

(4)设定仿真时间宽度。

(5)加上输入信号。

(6)波形文件存盘。

(7)运行仿真器。

选择MAX+plusII项及其中的仿真器Simulator选项,点击跳出的仿真器窗口中的Start键。

(注意,刚进入窗口时,应该将最下方的滑标拖向最左侧,以便可观察到初始波形)。

EDA实验讲义

EDA实验讲义

实验一 带进位输入的8位加法器一、实验目的设计并实现一个8位全加器。

二、实验原理在实验三中介绍了一个一位的全加器的例子,在这里将设计一个8 位的全加器,其框图如图1-1所示。

图中的“进位入”C i-1指的是低位的进位输出,“进位出”C i 即是本位的进位输出。

图 1-1 8位全加器原理图三、实验要求全加器的17个输入所对应的管脚与17位拨码开关相连,17个输入管脚是Ai0~Ai7、Bi0~Bi7和C i-1,Ai0~Ai7、Bi0~Bi7代表两个8位二进制数,C i-1代表进位入;9个输出所对应的管脚与9位发光二极管相连,9个输出管脚是Si0~Si7和C i ,Si0~Si7代表相加结果,C i 代表进位位。

实验工程项目命名为add ,源程序命名为add_8.bdf 。

四、实验记录五、实验报告要求1、详细叙述设计过程与实验步骤;2、分析实验记录的正确性。

(被加数)(被加数)(进位入)C i-1(全加和)Si (7..0)(进位出)Ci实验二多路数据选择器一、实验目的设计并实现一个16选1多路数据选择器。

二、实验原理在VHDL语言中描述一个2选一多路选择器的方法有多种,推荐使用when else构造,这样在VHDL代码中只用1行就可以描述2选1多路选择器。

例如:library ieee;use ieee.std_logic_1164.all;entity mux2 isport(a,b,sel: in std_logic;q: out std_logic);end;architecture a of mux2 isbeginq <= a when sel=’0’ else b;end;但我们在描述一个16选1的多路选择器时,若采用同样的方法,则就需要许多行VHDL代码,此时我们可以在进程中使用case语句会很清晰,不论使用哪一种描述方法,得到的结果应该是相同的。

16选1多路选择器结构图如图2-1所示。

用原理图输入法设计8位全加器

用原理图输入法设计8位全加器

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

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

而一个1位全加器可以也是通过原理图输入的方法来完成。

三、实验内容(一)完成半加器和全加器的设计1、打开原理图输入编辑窗(1)File/new/“Block Diagram/Schematic File ”(2)在编辑窗中合适位置双击/展开libraries的“+”号、primitives/logic (3)根据半加器电路图,一次双击logic中的元件and2、not、xnor及pin 中的输入引脚input、输出引脚output调入各元件。

(4)通过左侧工具栏选择连线,按原理图连接好电路(5)双击input和output的PIN NAME至变成黑色,输入各引脚名:a、b、co、so(6)存盘 Fileve as/建立文件夹及目录,如d:\adder\存盘文件名为h_adder (7)生成电路符号在打开半加器原理图时/File/“Create/Update”/Create Symbol Files for Current File说明:A.转换生成电路符号也适用输入文本形式的文件B.只针对被打开的原理图或文件C.转换好的元件必须存在当前工程的文件夹中(8)设计全加器再打开一个原理图编辑窗口/调入元件连接好电路图/以名f_adder将其存在同一文件夹中。

(9)将f_adder.bdf设置为工程 File/New Project Wizard/Next/工程名和顶层文件名都为f_adder2.编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。

8位二进制加法计算器

8位二进制加法计算器

一:本实验设计的是一个8为二进制加法计算器,其功能就是对两个八位的二进制数执行加法运算,并可以异步清零。

二:电路可划分为三部分:半加器、全加器和复位电路。

1、半加器:真值表a b so co0 0 0 00 1 1 01 0 1 01 1 0 1电路图2全加器:由半加器和或门组成电路图3复位电路:复位电路通过en控制,当en为‘1’时,执行加法运算,输出正确的值,当en为‘0’时,输输出及结果为全0.三:实验波形仿真和VHDL1、仿真图:2、VHDL代码1)半加器h_adder:library ieee;use ieee.std_logic_1164.all;entity h_adder isport (a,b :in std_logic;co,so :out std_logic);end entity h_adder;architecture fh1 of h_adder isbeginso <= not(a xor (not b));co <= a and b ; end architecture fh1;2)或门or2a:library ieee;use ieee.std_logic_1164.all;entity or2a isport (a,b :in std_logic;c: out std_logic);end entity or2a;architecture one of or2a isbeginc <= a or b ;end architecture one;3)全加器f_adder:library ieee;use ieee.std_logic_1164.all;entity f_adder isport (ain,bin,cin:in std_logic;cout,sum:out std_logic);end entity f_adder;architecture fd1 of f_adder iscomponent h_adderport (a,b :in std_logic;co,so :out std_logic);end component;component or2aport (a,b :in std_logic;c: out std_logic);end component;signal d,e,f: std_logic;beginu1:h_adder port map(a=>ain,b=>bin,co=>d,so=>e);u2:h_adder port map(a=>e,b=>cin,co=>f,so=>sum);u3: or2a port map(a=>d,b=>f,c=>cout);end architecture fd1;4)与门and2a:library ieee;use ieee.std_logic_1164.all;entity and2a isport (a,b :in std_logic;c: out std_logic);end entity and2a;architecture one of and2a isbeginc <= a and b ;end architecture one;5)顶层设计文件library ieee;use ieee.std_logic_1164.all;entity zong isport (a1,a2,a3,a4,a5,a6,a7,a8,b1,b2,b3,b4,b5,b6,b7,b8,en :in std_logic;solution1,solution2,solution3,solution4,solution5,solution6,solution7,solution8,solution9 :out std_logic );end entity zong;architecture fh1 of zong iscomponent h_adderport (a,b :in std_logic;co,so :out std_logic);end component;component f_adderport (ain,bin,cin:in std_logic;cout,sum:out std_logic);end component;component and2aport (a,b :in std_logic;c: out std_logic);end component;signale2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,e21,e22,e23,e24 :std_logi c;beginu1:and2a port map(a=>en,b=>a1,c=>e2);u2:and2a port map(a=>en,b=>a2,c=>e3);u3:and2a port map(a=>en,b=>a3,c=>e4);u4:and2a port map(a=>en,b=>a4,c=>e5);u5:and2a port map(a=>en,b=>a5,c=>e6);u6:and2a port map(a=>en,b=>a6,c=>e7);u7:and2a port map(a=>en,b=>a7,c=>e8);u8:and2a port map(a=>en,b=>a8,c=>e9);u9:and2a port map(a=>en,b=>b1,c=>e10);u10:and2a port map(a=>en,b=>b2,c=>e11);u11:and2a port map(a=>en,b=>b3,c=>e12);u12:and2a port map(a=>en,b=>b4,c=>e13);u13:and2a port map(a=>en,b=>b5,c=>e14);u14:and2a port map(a=>en,b=>b6,c=>e15);u15:and2a port map(a=>en,b=>b7,c=>e16);u16:and2a port map(a=>en,b=>b8,c=>e17);u17:h_adder port map(a=>e2,b=>e10,co=>e18,so=>solution1);u18:f_adder port map(ain=>e3,bin=>e11,cin=>e18,cout=>e19,sum=>solution2);u19:f_adder port map(ain=>e4,bin=>e12,cin=>e19,cout=>e20,sum=>solution3);u20:f_adder port map(ain=>e5,bin=>e13,cin=>e20,cout=>e21,sum=>solution4);u21:f_adder port map(ain=>e6,bin=>e14,cin=>e21,cout=>e22,sum=>solution5);u22:f_adder port map(ain=>e7,bin=>e15,cin=>e22,cout=>e23,sum=>solution6);u23:f_adder port map(ain=>e8,bin=>e16,cin=>e23,cout=>e24,sum=>solution7);u24:f_adder port map(ain=>e9,bin=>e17,cin=>e24,cout=>solution9,sum=>solution8);end architecture fh1;。

实验一 8位全加器

实验一 8位全加器

实验一:8位全加器请大家先学习实验一附 Quartus II开发环境简介.doc文件,对照着完成本次实验。

实验步骤1、熟悉QUARTUSⅡ集成开发环境;2、熟悉GW48-PK2型FPGA实验箱;3、编写8位全加器的Verilog HDL源代码;4、完成计算机模拟功能仿真;5、下载到Altera ACEXEP1K30中,使用实验箱完成硬件验证;6、完成实验报告实验要求8位全加器输入:Clk,Rst_,In1,In2,Cin输出:Cout,Sum首先在实验箱左下角有个按钮模式选择,选择到模式1,红色的七段译码器会显示你所选择的模式。

下载到实验箱的时候需要查阅白皮书,首先请查阅第129页找到各实验电路结构图特点和适用范围简述:我们实验时使用结构图NO.1来实现加法器设计,结构图NO.1见白皮书P133页附图3。

关于引脚的绑定,例如键1对应PIO3-PIO0,绑定引脚的时候我们就要查阅白皮书第142页的适合于QuartusII 的部分引脚对照表选择PIO0对应的GW AK30/50 EP1K30/20/50TQC144这一列对应的引脚名称I/00,这个引脚对应与我们程序中的In1[0],依次类推,绑定好引脚In1[2],到In2[7]。

Cin绑到键7,相加的结果绑到译码器5和6。

绑定的时候注意引脚和结果的高低位顺序。

Cout绑到D1。

Rst_绑定到键8。

Clk 绑到CLOCK0。

完成实验后提交:请指导老师观看实验结果,写电子档的实验报告包括实验结果(包括仿真截图,仿真截图需要有文字说明),实验心得,代码(是.V文件)。

截图工具为键盘上的F12右边的那个PrtscSysRq键。

按下此键后,点击电脑左下角的开始—〉所有程序—〉附件—〉画图工具,打开,按住Ctrl+V粘贴图像,再保存截图即可。

提交的时候,请将文件夹命名为学号姓名(如:200531510001XXX)。

回去以后尽快填写纸质实验报告,并在下次做实验的时候交上来。

用原理图方法设计8位全加器

用原理图方法设计8位全加器

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

二、实验内容1.根据工作原理,完成1位半加器和全加器的设计;2.建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真。

三、实验环境计算机、QuartusII软件四、实验步骤1.根据半加器工作原理,建立电路并仿真,并将元件打包。

(1)电路(2)仿真:仿真结果分析:S为和信号,当A=1,B=0或A=0,B=1时,和信号S为1,否则为0.当A=B=1时,产生进位信号,及CO=1。

(3)打包后的文件:2.利用半加器构成一位全加器,并打包。

(1)电路(2)仿真仿真结果分析:CI为来自低位的进位,S=A xor B xor CI,即:当A,B,CI中有一位为高电平‘1’或者三位同时高电平为‘1’,则S=1,否则S=0;当A,B,CI有两位或者三位同为高电平‘1’时,产生进位信号CO=‘1’。

(3)打包后的文件3.利用全加器构成8位全加器,并完成编译、综合、适配、仿真。

(1)电路(2)仿真仿真结果分析:八位全加器,和S分别与A,B 对应。

当来自第七位的进位信号为‘1’、A 的最高位和B的最高位三者有两个位高电平‘1’时,则产生进位信号CO=‘1’。

五、实验结果与讨论实验的仿真结果与预计的结果一致,所以所设计的电路是正确的。

不足的地方有:1、对软件还不够熟悉,所以操作的有点慢;2、设计电路时,由于数字电路的知识有些开始淡忘了,所以应当及时去补缺补弱。

六、总结思考题:为了提高加法器工作速度,如何改进以设计的进位方式?答:采用超前进位。

串行加法器的第i位进位是由0~(i-1)决定的,而超前进位是事先得出每一位全加器的进位输出信号,而无需再从低位开始向高位逐位传递进位信号了,这就有效地提高了工作速度了。

设计8位加法器

设计8位加法器

EDA技术及应用实验报告姓名:XXX班级:XXX学号:XXXXX大学XX学院实验/上机报告一、实验目的设计一个8位加法器。

二、实验环境Quartus II 7.0 开发系统三、实验内容以一位二进制全加器为基本元件,用例化语句写出8位并行二进制全加器的顶层文件,并讨论此加法器的电路特性。

四、实验过程设计思想:8位二进制加法器可以由8个全加器通过级联的方式构成。

根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。

实验步骤:1、设计一个全加器新建工程,建立源文件,输入VHDL设计文件,如下图所示:完成设计文件输入后,保存文件。

选用器件型号cyclone2,芯片EP2C8Q208C8编译后使用器件资源情况、引脚配置情况(硬件实验)所选引脚:语法检查:编译结果:对文件进行编译、仿真,以下是仿真结果,如图所示:由图可知仿真结果正确。

五、实验总结这次实验是我首次实践Quartus II 7.0 开发系统,在实验之前老师带我们深刻认识和学习了这个软件,同时也让我对Quartus II 7.0 开发系统有了初步的了解,本学期周三的第一次实验是设计一个8位二进制加法器,而8位二进制加法器可以由8个全加器通过级联的方式构成。

根据全加器原理,用VHDL设计一个8位二进制数的加法器,我们可以先设计一个一位全加器,然后再利用一位全加器来采用元件例化的方式从而实现加法器。

首先有了设计思路后,我先用VHDL设计了一个全加器full_adder.vhd,通过编译、仿真成功后,使用元件例化的方式,从而根据原理图设计了一个8位的加法器adder8.bdf,虽然在这个过程中出现少许问题,但是通过不断的调试,我还是得出了正确的仿真图形。

建立VHDL源文件以后,保存为add1.vhd文件名,编译、仿真,但在这个过程中出现少许问题,在仿真时给输入信号添加信号时不能确定到底应该怎么添加。

FPGA实验报告

FPGA实验报告

FPGA实验报告FPGA专业:电子信息科学与技术EDA实验一一(实验内容:用原理图输入法设计8位全加器,具体要求参见教材第六章“原理图输入设计方法“的实验与设计部分(6-1) 二(实验目的1、熟悉利用MAX+plus II的原理图输入方法设计简单组合电路,掌握层次化设计的方法;2、通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程‘三(实验原理一个8位全加器可以由8个1一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的低位进位输入信号cin相连。

四(实验内容1、设计一位半加器和一位全加器;2、根据1设计8位全加器。

五(实验过程及结果分析(1)半加器原理图如下:波形图如下:封装后如下:(2)一位全加器波形图如下:延迟分析:封装后如下:(3)八位全加器波形图延迟分析:六、总结1 仿真结果都比较理想。

2为了提高加法器的速度,可以采用流水线技术来进行设计以提高数字电路的整体运行速度。

流水线技术就是把在一个时钟周期内执行的操作分成几步较小的操作,并在多个较高速的时钟内完成。

EDA实验二一(实验内容:简单组合电路与时序电路的设计,具体要求参见教材第四章“VHDL设计初步”中的实验与设计(4-1,4-2)。

二(实验目的:熟悉MAX+plus2的VHDL文本设计流程全过程,学习组合电路的设计,多层次电路设计,仿真和硬件测试。

三(实验内容1:利用MAX+PLUS2完成2选1多路选择器的文本编辑输入和仿真测试等步骤。

实验内容2 :引脚锁定以及硬件下载测试。

四(实验报告:1(简单组合电路的设计(1)2选1多路选择器程序如下:波形如下:(2)波形如下:2(简单时序电路的设计 (1)实验内容一:设计触发器程序如下:(2)实验内容二:设计锁存器EDA实验三一(实验内容:8位十六进制频率计设计,具体要求参见教材第五章“VHDL设计进阶”中的实验与设计(5-5)。

EDA技术》实验报告8位二进制加法器设计

EDA技术》实验报告8位二进制加法器设计

《EDA技术》实验报告实验名称: 8位二进制全加器设计
姓名:
班级:
学号:
实验日期:2010-3-29
指导教师:
一、实验设计要求
以一位二进制全加器为基本元件,用例化语句写出8位并行二进制全加器的顶层文件,并讨论此加法器的电路特性。

二、设计原理
电路结构图或原理图
电路功能描述
定义了8位二进制全加器顶层设计元件端口信号,输入端口:AIN, BIN,是八个二进制数,数据类型被定义为STD_LOGIC_VECTOR。

CIN是输入的进位,数据类型IN STD_LOGIC;输出端口:SUM为和,数据类型IN STD_LOGIC COUT 为输出的进位。

三、实验程序
程序1:一位二进制全加器设计顶层描述
程序2:8位并行二进制全加器顶层文件
四、编译及仿真结果
选用器件型号cyclone
编译后使用器件资源情况、引脚配置情况(硬件实验)
仿真结果显示:
该设计是成功的。

输入的进位也要加上去。

0---255 全加器的COUNT 没有进位,而当加到256,COUNT=1,SUM输出0.
五、总结
.1 编译不通过,检查后发现在建立工程时,同一工程的所有文件都必须放在同一文件夹中,而这一步没做。

2 程序中没有将文件名与实体名保持一致出错。

输入半加器的VHDL程序保存文件,将输入的VHDL语言程序保存为h _adder.vhd.
3不知道如何将输入/输出引脚号都添加到矢量波形编辑窗口中。

解决办法:view—utility window—noder finder 将需要引脚拖拽。

8位并行加法器的设计

8位并行加法器的设计

实验一:8位加法器的设计1.实验目的(1)学习isEXPERT/MAX+plus Ⅱ/Foudation Series软件的基本使用方法。

(2)学习GW48-CK EDA实验开发系统的基本使用方法。

(3)了解VHDL程序的基本结构。

2.实验内容设计并调试一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器,并用GW48_CK EDA实验开发系统(拟采用的实验芯片的型号为isPLSI1032E OLCC_84)进行硬件验证。

3.实验条件(1)画出系统的原理框架图,说明系统中各主要部分的功能。

(2)编写各个VHDL源程序。

(3)根据选用的软件编好用于系统仿真的测试文件。

(4)根据选用的软件及EDA实验开发装置编好用于硬件验证的管脚锁定文件。

(5)记录系统仿真、硬件验证结果。

(6)记录式样过程中出现的问题及解决方法。

4.实验设计(1)系统原理图框架4位二进制并行加法器2个4位二进制并行加法器级联而成的8位加法器(2)VHDL源程序1)4位二进制并行加法器的源代码adder4b.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4b isport(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 issignal s5:std_logic_vector(4 downto 0);signal a5,b5:std_logic_vector(4 downto 0);begina5<='0'&a4;b5<='0'&b4;s5<=a5+b5+c4;s4<=s5(3 downto 0);co4<=s5(4);end architecture art;2)8位二进制并行加法器的源代码adder8b.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder8b isport(c8:in std_logic;a8:in std_logic_vector(7 downto 0);b8:in std_logic_vector(7 downto 0);s8:out std_logic_vector(7 downto 0);co8:out std_logic);end entity adder8b;architecture art of adder8b iscomponent adder4b isport(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 component adder4b;signal sc:std_logic;beginu1:adder4bport map(c4=>c8,a4=>a8(3 downto 0),b4=>b8(3 downto 0), s4=>s8(3 downto 0),co4=>sc);u2:adder4bport map(c4=>sc,a4=>a8(7 downto 4),b4=>b8(7 downto 4),s4=>s8(7 downto 4),co4=>co8);end architecture art;(3)波形仿真文件Module adder8b;C8,a8[7..0],b8[7..0],s8[7..0],co8 pin;Test_vectors(C8,a8[7..0],b8[7..0]->s8[7..0],co8);[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,]->[x,x,x,x,x,x,x,x,x]; [1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,]->[x,x,x,x,x,x,x,x,x]; [0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,]->[x,x,x,x,x,x,x,x,x]; [1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,]->[x,x,x,x,x,x,x,x,x]; [0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,]->[x,x,x,x,x,x,x,x,x]; [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,]->[x,x,x,x,x,x,x,x,x]; [0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,]->[x,x,x,x,x,x,x,x,x]; [1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,]->[x,x,x,x,x,x,x,x,x]; [0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,]->[x,x,x,x,x,x,x,x,x]; [1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,]->[x,x,x,x,x,x,x,x,x]; [0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,]->[x,x,x,x,x,x,x,x,x]; [1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,]->[x,x,x,x,x,x,x,x,x]; [0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,]->[x,x,x,x,x,x,x,x,x]; [1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,]->[x,x,x,x,x,x,x,x,x]; [0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,]->[x,x,x,x,x,x,x,x,x]; [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,]->[x,x,x,x,x,x,x,x,x]; End;(4)管脚锁定文件管脚锁定设计图管脚锁定文件//adder8b.ppn//part: isPLSI1032E OLCC_84 //fromat:pinnanme pintype lock c8 in 11a87 in 73a86 in 17a85 in 19a84 in 2a83 in 29a82 in 60a81 in 44a80 in 1b87 in 69b86 in 18b85 in 16b84 in 42b83 in 27b82 in 53b81 in 84b80 in 43s87 out 71s86 out 70s85 out 59s84 out 58s83 out 62 s82 out 61 s81 out 28 s80 out 30 co8 out 725.实验结果及总结(1)系统仿真情况系统功能仿真结果时序仿真结果(2)硬件验证情况(3)实验开发过程中出现的问题及解决的方法1)在进行仿真时,value总会随着初始设定值的改变而改变,一开始不明白,总是去调节,后面发现者value的值就是设定的初始值的第一位值,对仿真并没影响,于是把他隐藏了。

8位加法器课程设计

8位加法器课程设计

8位加法器课程设计一、课程目标知识目标:1. 学生能理解8位加法器的基本原理,掌握加法器的电路构成及工作过程。

2. 学生能够运用所学的8位加法器知识,完成简单的数字信号加法运算。

3. 学生了解8位加法器在计算机硬件中的应用,理解其在数字系统中的重要性。

技能目标:1. 学生能够独立设计并搭建简单的8位加法器电路。

2. 学生能够运用所学的8位加法器知识,解决实际问题,如进行数字信号加法运算。

3. 学生能够通过实验和操作,掌握8位加法器的调试和优化方法。

情感态度价值观目标:1. 培养学生对电子技术和计算机硬件的兴趣,激发学生探索科学技术的热情。

2. 培养学生的团队合作意识,使学生学会在团队中互相协作,共同解决问题。

3. 培养学生的创新意识,鼓励学生勇于尝试新方法,探索新知识。

课程性质:本课程属于电子技术领域,以实验和实践为主,结合理论知识,培养学生的动手能力和实际操作技能。

学生特点:学生处于初中阶段,对电子技术和计算机硬件有一定的好奇心,具备基本的物理知识和数学运算能力。

教学要求:教师需结合学生的实际情况,注重理论与实践相结合,鼓励学生动手实践,提高学生的实际操作能力。

同时,关注学生的个体差异,给予不同层次的学生适当的指导和帮助,确保课程目标的达成。

通过分解课程目标为具体的学习成果,便于后续的教学设计和评估。

二、教学内容1. 引入8位加法器的概念,讲解加法器的基本原理和电路构成,使学生理解数字加法运算的实现过程。

教学内容关联教材章节:第二章第三节《加法器的设计与应用》2. 详细介绍8位加法器的电路图,分析各部分元件的作用及相互关系,指导学生搭建简单的8位加法器电路。

教学内容关联教材章节:第二章第四节《8位加法器的电路分析与搭建》3. 通过实验和操作,让学生掌握8位加法器的调试和优化方法,提高电路的稳定性和运算速度。

教学内容关联教材章节:第二章第五节《8位加法器的调试与优化》4. 结合实例,讲解8位加法器在计算机硬件中的应用,使学生了解其在数字系统中的重要性。

八位加法器设计实验报告

八位加法器设计实验报告

八位加法器设计实验报告实验名称:八位加法器设计实验一、实验目的:1.了解数字电路中加法器的基本原理。

2.学习八位加法器的设计和实现方法。

3.掌握八位加法器的工作过程和输出结果。

二、实验器材:数字电路实验箱、电源线、逻辑门芯片(2个8位加法器芯片、1个与门芯片、1个或门芯片)、导线、电压表,显示器。

三、实验原理:四、具体步骤:1.搭建实验电路。

将两个8位加法器芯片、一个与门芯片、一个或门芯片分别插入数字实验箱中,并使用导线连接它们。

将A和B分别连接到8位加法器芯片的A和B输入端,将进位输入端Cin接地。

然后将两个八位加法器芯片的S0-S7依次连接到特定点,作为低位数;再将与门芯片的S仅连接到A口或B口上的特定点,或门芯片的S仅连接到A口上的特定点;然后将A、B、Cin的高位输入引脚接到与门芯片的输入端上;最后将八位加法器芯片的Cout引脚接到特定点,作为进位输出;将与门芯片和或门芯片的输出引脚接到显示器上。

2.进行实验。

给定任意两个8位操作数A和B,将它们输入到加法器中,并设置进位输入端Cin为0。

观察显示器上的运算结果。

3.分析实验结果。

根据实验数据和观察结果,分析八位加法器的工作过程和输出结果,研究其工作原理。

5.总结实验。

根据实验结果和分析,总结设计和实现八位加法器的方法,并讨论可能存在的问题和改进方法。

五、注意事项:1.在搭建实验电路之前,仔细检查电路连接是否准确、导线是否插紧。

2.在实验过程中,注意实验安全,注意观察显示器上的运算结果,及时记录实验数据。

3.实验结束后,将电源关闭,清理整理实验场地,将实验器材归位。

六、实验结果:S0=1,S1=1,S2=0,S3=0,S4=0,S5=0,S6=1,S7=1,Cout=1七、实验总结:通过本次实验,我学习了数字电路中加法器的基本原理,掌握了八位加法器的设计和实现方法,了解了八位加法器的工作过程和输出结果。

我通过实际搭建电路、输入操作数并设置进位输入,观察了八位加法器的运算结果,并根据实验结果进行了分析和总结。

设计8位全加器

设计8位全加器

实验一设计8位全加器一、实验目的1、掌握运用MAX+plusII原理图编辑器进行层次电路系统设计的方法。

2、进一步熟悉利用MAX+plusII进行电路系统设计的一般流程。

3、掌握8位全加器原理图输入设计的基本方法及过程。

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

而一个1位全加器则可由实验一包装元件入库得到。

三、实验过程1、先进行一位半加器的设计,设计原理图如下:链接时没有错误,进行波形仿真:仿真波形分析:输入:a=0、b=0时,输出:so=0、co=0输入:a=0、b=1时,输出:so=1、co=0输入:a=1、b=0时,输出:so=1、co=0输入:a=1、b=1时,输出:so=0、co=1存在一定的延迟,仿真结果与理论分析符合。

封装之后的效果图:上图:a、b为输入端口,co、so为输出端口2、再由两个半加器构成一个一位全加器设计原理图如下:链接时没有错误,进行波形仿真:仿真波形分析:输入:ain=1、bin=0、cin=0时,输出:sum=1、cout=0 输入:ain=1、bin=0、cin=1时,输出:sum=0、cout=1输入:ain=1、bin=1、cin=1时,输出:sum=1、cout=1输入:ain=1、bin=1、cin=0时,输出:sum=0、cout=1 在存在延迟的情况下,仿真结果与理论分析一致。

封装之后的效果图:输入端:ain、bin、cin,输出端:sum、cout3、最后有8个一位全加器构成8位全加器,原理图如下:链接时没有错误,进行波形仿真:在一定的延迟的基础前提下,仿真的结果与理论的一致封装之后的效果图:左端全部为输入端,右端为输出端。

EDA综合实验——八位全加器

EDA综合实验——八位全加器

学生实验报告系别电子信息学院课程名称《EDA综合实验》班级实验名称8位全加器的设计姓名实验时间2014年月日学号指导教师王红航成绩批改时间2014年月日报告内容一、实验目的和任务利用Quartus II 原理图输入方法设计简单组合电路, 通过一个8位全加器的设计掌握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

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

四、设计代码(或原理图)、仿真波形及分析在Quartus II 集成环境下, 选择“Bock Diagram/Schematic File”, 进入Quartus II图形编辑方式。

双击编辑窗口, 在元件选择窗口的符号库“Library”栏中, 选择”Primitives”文件夹中的”Logic”后, 调出元件。

根据8位加法器设计的原理图, 将2个4位加法器74283及输入、输出元件符号调入, 完成电路内部的连接及输入、输出元件的连接, 并将相应的输入、输出元件符号名分别更改为A[7..0]、B[7..0]、SUM[7...0]和OUT2。

再将当前设计设定为工程, 目标芯片类型为ACEX1K;型号为EP1K30TC144-3。

编译设计文件, 选择“Start Compilation”对文件进行编译。

然后进行逻辑仿真设计, 先建立波形文件, 然后输入信号节点, 设置波形参量, 编辑输入信号, 保存文件。

时序仿真图功能仿真图由图片可以看出, 当8位全加器的输入端口A输入为60时, B端口输入为160时, 输出SUM 为220, 进位OUT2为0;当输入端口A输入为60时, B输入为200时, SUM为4, 进位OUT2为1.当8位全加器的输入端口A输入为80时, B端口输入为200时, 输出SUM为24, 进位OUT2为1;当输入端口A输入为80时, B输入为160时, SUM为240, 进位OUT2为0.证明设计是正确的。

8位加法器的设计(推荐文档)

8位加法器的设计(推荐文档)

实验二 8位加法器设计一、实验目的熟悉利用Quartus Ⅱ的图形编辑输入法设计简单组合电路,掌握层次化设计方法,并通过8位全加器的设计,进一步熟悉利用EDA 软件进行数字系统设计的流程。

二、实验仪器与器材计算机1台,GW48-PK2S 实验箱1台,Quartus Ⅱ6.0 1套。

三、实验内容1. 基本命题利用图形输入法设计一个一位半加器和全加器,再利用级联方法构成8位加法器。

2. 扩展命题利用文本输入法设计4位并行进位加法器,再利用层次设计方法构成8位加法器。

通过时序仿真,比较两种加法器的性能。

四、设计思路加法器是数字系统中的基本逻辑器件。

例如,为了节省逻辑资源,减法器和硬件乘法器都可由加法器来构成。

多位加法器的设计十分耗费硬件资源,因此在实际的设计和相关系统的开发中,需要注意资源的利用率和进位速度两方面的问题。

对此,首先应选择较适合组合逻辑设计的器件作为最终的目标器件,如CPLD ;其次在加法器的逻辑结构设计上,在芯片资源的利用率和加法器的速度两方面权衡得失,探寻最佳选择,即选择最佳的并行进位最小的加法单元的宽度。

显然这种选择与目标器件的时延特性有直接关系。

多位加法器的构成有两种方式:即并行进位和串行进位方式。

串行进位方式的加法器是将全加器级联构成的,它有电路简单,但进位速度较慢的特点。

并行进位加法器设有产生并行进位的逻辑电路,加法器的进位仅与输入状态有关,与各级加法器的进位无关,即第 i 位加法器的进位直接由该位的各输入状态决定,其关系式为:i i i i i i C Y X Y X C ⋅⊕+=+1 (i = 0,1,2,3…)当i = 3时,代入上述表达式可得:00112233001122331122332233334C Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X C ⋅⊕⋅⊕⋅⊕⋅⊕+⋅⊕⋅⊕⋅⊕+⋅⊕⋅⊕+⋅⊕+= 4位加法器的各位和数表达式如下:0000010000111112111122222322223333343333C Y X Y X C C Y X S C Y X Y X C C Y X S C Y X Y X C C Y X S C Y X Y X C C Y X S ⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=用门电路实现的4位并行加法器电路如图2-1所示。

计算机组成原理实验报告-八位补码加减法器的设计与实现

计算机组成原理实验报告-八位补码加减法器的设计与实现

计算机科学与技术学院计算机组成原理实验报告书实验名称八位补码加/减法器的设计与实现班级学号姓名指导教师日期成绩实验1八位补码加/减法器的设计与实现一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。

2.熟悉简单运算器的数据传送通路。

3.掌握8位补码加/减法运算器的设计方法。

4.掌握运算器电路的仿真测试方法二、实验任务1.设计一个8位补码加/减法运算器(1)参考图1,在QUARTUS II里输入原理图,设计一个8位补码加/减法运算器。

(2)创建波形文件,对该8位补码加/减法运算器进行功能仿真测试。

(3)测试通过后,封装成一个芯片。

2.设计8位运算器通路电路参考下图,利用实验任务1设计的8位补码加/减法运算器芯片建立运算器通路。

3.利用仿真波形,测试数据通路的正确性。

设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。

(1)在输入数据IN7~IN0上输入数据后,开启输入缓冲三态门,检查总线BUS7~BUS0上的值与IN0~IN7端输入的数据是否一致。

(2)给DR1存入55H,检查数据是否存入,请说明检查方法。

(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。

(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。

(5)完成减法运算,分别求55H-AAH和AAH-55H,检查运算结果是否正确,请说明检查方法。

(6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。

三、实验要求(1)做好实验预习,掌握运算器的数据传送通路和ALU的功能特性。

(2)实验完毕,写出实验报告,内容如下:①实验目的。

②实验电路图。

③按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。

表中的序号表示各控制信号之间的时序关系。

要求一个控制任务填一张表,并可用文字对有关内容进行说明。

⑤实验体会与小结。

四、实验预习内容1.实验电路设计原理及思路说明本实验利用基本逻辑门电路设计一位全加器(FA),如表1:表1-一位全加器(FA)电路的输入输出信号说明法又可以实现减法,所以使用了一个M输入来进行方式控制加减。

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

实验报告一
课程 EDA技术实验名称用原理图方法设计8位全加器第页
专业____电子信息______ 班级___08 ______ 学号_______ ______ 姓名
实验日期:2010 年 3 月 11 日报告退发 (订正、重做) 一、实验目的
熟悉利用QuartusII的原理图输入方法设计简单电路,掌握层次化设计的方法,并通过一个
8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。

二、实验内容
1.根据工作原理,完成1位半加器和全加器的设计;
2.建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成
编译、综合、适配、仿真。

三、实验环境
计算机、QuartusII软件
四、实验步骤
1.根据半加器工作原理,建立电路并仿真,并将元件打包。

2.利用半加器构成一位全加器,并打包。

3.利用全加器构成8位全加器,并完成编译、综合、适配、仿真。

五、实验结果与讨论
六、总结
思考题:为了提高加法器工作速度,如何改进以设计的进位方式?。

相关文档
最新文档