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

合集下载

实验一 4位全加器的设计(1)

实验一  4位全加器的设计(1)

实验一4位全加器的设计一、实验目的:1 熟悉QuartusⅡ与ModelSim的使用;2 学会使用文本输入方式和原理图输入方式进行工程设计;3 分别使用行为和结构化描述方法进行四位全加器的设计;4 理解RTL视图和Technology Map视图的区别;5 掌握简单的testbench文件的编写。

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

三、实验内容:1.QuartusII软件的熟悉熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本第4章的内容,重点掌握层次化的设计方法。

2.设计1位全加器原理图设计的原理图如下所示:VHDL源程序如下(行为描述):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f_add_bev is(A : in std_logic;B : in std_logic;CIN : in std_logic;S : out std_logic;CO : out std_logic);end entity;architecture bev of f_add_bev isbegin(CO,S)<=('0',A)+('0',B)+('0',CIN);end bev;VHDL源程序如下(行为描述)的RTL与technology map视图VHDL源程序如下(数据流描述):library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity f_add_fl is(A : in std_logic;B : in std_logic;CIN : in std_logic;S : OUT std_logic;CO : out std_logic);end entity;architecture fl of f_add_fl isbeginS<=A XOR B XOR CIN;CO<=((A XOR B)AND CIN)OR(A AND B);end fl;VHDL源程序如下(数据流描述)的RTL与technology map视图:VHDL源程序如下(结构化描述):library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity f_add_con isport(A : in std_logic;B : in std_logic;CIN : in std_logic;S : OUT std_logic;CO : out std_logic );end entity;architecture con of f_add_con is COMPONENT hadd_vhdPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;co : OUT STD_LOGIC;s : OUT STD_LOGIC );END COMPONENT;SIGNAL S1:STD_LOGIC;SIGNAL CO1:STD_LOGIC;SIGNAL CO2:STD_LOGIC;beginh_add1 : hadd_vhdport map(a => a,B => B,S => S1,CO => CO1);h_add2 : hadd_vhdport map(a => S1,B => CIN,S => S,CO => CO2);CO<=CO1 OR CO2;end con;VHDL源程序如下(结构化描述)的RTL与technology map视图:Testbench文件源程序如下:LIBRARY cycloneiii ;LIBRARY ieee ;USE cycloneiii.cycloneiii_components.all ;USE ieee.std_logic_1164.all ;ENTITY f_add_fl_tb ISEND ;ARCHITECTURE f_add_fl_tb_arch OF f_add_fl_tb ISSIGNAL A : STD_LOGIC :='0';SIGNAL CO : STD_LOGIC ;SIGNAL CIN : STD_LOGIC :='0'; SIGNAL B : STD_LOGIC :='0'; SIGNAL S : STD_LOGIC ;COMPONENT f_add_flPORT (A : in STD_LOGIC ;CO : buffer STD_LOGIC ;CIN : in STD_LOGIC ;B : in STD_LOGIC ;S : buffer STD_LOGIC );END COMPONENT ;BEGINDUT : f_add_flPORT MAP (A => A ,CO => CO ,CIN => CIN ,B => B ,S => S ) ;A<=NOT A AFTER 0.25US;B<=NOT B AFTER 0.5US;CIN<=NOT CIN AFTER 1US;END ;功能仿真波形如下:时序仿真波形如下:3.利用层次化原理图方法设计4位全加器(1)生成新的空白原理图,作为4位全加器设计输入(2)利用已经生成的1位全加器作为电路单元,设计4位全加器。

EDA 四位加法器 实验报告

EDA 四位加法器 实验报告

实验报告课程名称:EDA技术与VHDL实验题目:四位加法器设计班级学号:姓名:成绩:一、实验目的 ..................................................................................... - 1 -二、实验任务 ..................................................................................... - 1 -三、系统总体设计 ............................................................................. - 1 -四、VHDL程序设计......................................................................... - 1 -1. 用原理图输入方式设计半加器 ................................................ - 2 -2. 全加器的设计 ............................................................................ - 4 -3.4位全加器的设计 ....................................................................... - 5 -五、仿真 ............................................................................................... - 5 -六、仿真结果分析 ............................................................................... - 6 -一、实验目的熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个4位全加器的设计把握文本和原理图输入方式设计的详细流程。

4位二进制全加器设计

4位二进制全加器设计

任务一4位全加器设计一、实验目的1、掌握运用Quartus II原理图编辑器进行层次电路系统设计的方法。

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

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

二、实验原理(1)设计一位半加器真值表:(2)设计一位全加器真值表:SOn=n n n−1;COn=(A n⨁B n)C n−1+A n B n;(2)设计多位全加器由一位全加器组合成多位全加器。

依次将低位全加器的进位输出端接到高位全加器的进位输入端,由四个一位全加器构成四位全加器。

三、实验过程1、一位半加器的设计(1)电路图①执行“Files”─>“New”─>“Block Diagram/Sch matic”─>“OK”②在编辑窗口输入“与非”门电路原理图,保存电路为“01.bdf”,如图:(2)仿真波形①执行“Files”─>“New”─>“Vector Waveform File”─>“OK”②在波形编辑窗口双击左键,执行“Insert Node or Bus”─> “New Finder”─> “List”─>“》”─>“OK”。

③保存文件为“01.vwf”。

④执行菜单“Processing”─> “Start Simulation”,如图:(3)仿真波形分析:(4)封装之后的图:设“01.bdf”为顶层文件,执行“Files”─>“Create、Update”─> “Create Symbol Files forCurrent Files”,保存。

如图:2、一位全加器(1)电路图①执行“Files”─>“New”─>“Block Diagram/Sch matic”─>“OK”②在编辑窗口输入“与非”门电路原理图,保存电路为“02.bdf”,如图:(2)仿真波形①设“02.bdf”为顶层文件。

四位全加器实验Verilog

四位全加器实验Verilog

实验四四位全加器一、实验目的l. 用组合电路设计4位全加器。

2.了解Verilog HDL语言的行为描述的优点。

2、实验原理4位全加器工作原理1)全加器除本位两个数相加外,还要加上从低位来的进位数,称为全加器。

被加数Ai、加数Bi从低位向本位进位Ci-1作为电路的输入,全加和Si与向高位的进位Ci作为电路的输出。

能实现全加运算功能的电路称为全加电路。

全加器的逻辑功能真值表如表中所列。

2)1位全加器一位全加器(FA)的逻辑表达式为:S=A⊕B⊕Cin;Co=AB+BCin+ACin其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出;这两幅图略微有差别,但最后的结果是一样的。

3)4位全加器4位全加器可看作4个1位全加器串行构成, 具体连接方法如下图所示:采用Verilog HDL语言设计该4位全加器,通过主模块调用子模块(1位全加器)的方法来实现。

3、实验步骤四、实验连线K1-K4:14-11K5-K8:18-15L5-L8:7-10VIJN:83L4:64KHZ:805、心得体会首先,实现这一段全加器代码并不难,但是由于困惑给的三个时钟输入,没有太懂意思,所以只写了全加器控制LED灯的代码;后来问清楚后,运行全加器代码,有错误,原来是建文件时用的是verilog hdl,我建的是其他类型的;后来还有错,原来是把冒号打成分号;编译成功后,LED不亮,后来发现是硬件老化,换了箱子。

这一部分做好后,我准备把控制声音的加上去,本来准备再加一个模块,可是不能有两个顶层块,就对主模块做了补充,用case命令调用不同的状态,因为时间紧迫,所以代码写得比较简单,没有用经典的分频代码。

这里附一小段,是我在研究分频控制时看懂的网上的经典分频代码,适合乐曲自动播放等高级的实现,仅供分享assign preclk=(divider==16383)?1:0;//divider==16383,preclk=1always @(posedge clk) //基频上升沿触发beginif(preclk) //preclk=1divider=origin;elsedivider=divider+1;endalways @(posedge preclk) //调整占空比beginspeaker=~speaker; //2 分频产生方波信号end这部分实现了分频功能,其中origin+divider=16384=2^14,这个数根据自己的需要而定。

四位加法器实验报告

四位加法器实验报告

四位加法器实验报告四位加法器实验报告一、引言在数字电路的学习中,加法器是一个非常重要的基础电路。

本次实验旨在通过设计和实现四位加法器,加深对数字电路原理的理解,并掌握加法器的设计方法和实现过程。

二、实验目的1. 理解加法器的原理和工作方式;2. 掌握加法器的设计方法和实现过程;3. 学会使用逻辑门电路和触发器构建加法器;4. 验证加法器的正确性和稳定性。

三、实验原理1. 半加器半加器是最基本的加法器,用于实现两个一位二进制数的相加。

其逻辑电路如下:(插入半加器电路图)2. 全加器全加器是由两个半加器和一个或门构成,用于实现三个一位二进制数的相加。

其逻辑电路如下:(插入全加器电路图)3. 四位加法器四位加法器是由四个全加器和一些其他逻辑门组成,用于实现四个四位二进制数的相加。

其逻辑电路如下:(插入四位加法器电路图)四、实验步骤1. 按照电路图连接逻辑门和触发器,搭建四位加法器电路;2. 使用开关设置输入数据,观察输出结果;3. 验证加法器的正确性,将不同的输入数据相加,并手动计算结果进行对比;4. 测试加法器的稳定性,观察输出结果是否随着时间稳定。

五、实验结果与分析通过实验,我们成功搭建了四位加法器电路,并进行了多组数据的测试。

实验结果表明,加法器能够正确地进行四个四位二进制数的相加,并输出正确的结果。

同时,实验中观察到输出结果在一段时间后稳定下来,验证了加法器的稳定性。

六、实验总结本次实验通过设计和实现四位加法器,加深了对数字电路原理的理解,并掌握了加法器的设计方法和实现过程。

通过实验验证了加法器的正确性和稳定性,提高了实际操作能力和解决问题的能力。

同时,实验中还发现了一些问题,比如电路连接错误、输入数据设置错误等,这些问题在实验中及时发现和解决,也对实验结果的准确性起到了保障作用。

在今后的学习中,我们将进一步深入研究数字电路的原理和应用,不断提高自己的实验技能和创新能力。

希望通过这次实验,能够为我们的学习和未来的工作打下坚实的基础。

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

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

实验一------用原理图输入法设计4位全加器
1.实验目的
熟悉利用MAX+PLUSⅡ的原理图输入法来设计简单组合逻辑电路,学会层次化设计方法,并通过一个4位全加器的设计,学会利用EDA软件进行电子电路设计的详细流程。

2.实验原理。

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

而一个1位全加器可按图3-19所示连接,其波形图如3-20所示。

图3-19 1位全加器的原理图
图3-20 1位全加器的波形图
3.实验内容。

(1)按照教材完成1位全加器adder的设计,包括原理图输入、编译、综合、适配、仿真,并将此全加器电路设置成一个硬件符号入库。

(2)建立一个更高的原理图设计层次,取名为adder4.利用以上获得
的1位全加器构成4位全加器,电路原理图如图3-21所示。

图3-21 4位全加器电路原理图
4.实验结果。

首先按照原理图设计1位全加器,之后通过四个1位全加器正确连接后则设计出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 的原理图输入方法设计简单组合电路和层次化设计的方法和详细流
程。

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,观察波形,得出结论,仿真结束。

实验二 原理图输入法设计-4位加法器

实验二四位加法器的设计与仿真——原理图输入法一实验目的通过一个4位加法器的设计掌握QuartusII的原理图输入方法及层次化设计的方法。

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

三实验内容与步骤1.按照参考图2.1完成全加器的设计,包括原理图输入、编译、仿真,并将此全加器电路设置成一个硬件符号入库。

图2.1全加器的设计电路操作步骤:(1)建立设计项目(Project):与实验一的操作相同。

(2)新建模块/原理图文件,进入图形编辑器方式。

执行File|New命令,选择“Block Diagram/Schematic File ”(模块/原理图文件)。

(3)选择元件。

在原理图编辑窗中的任何一个位置上双击鼠标的左键将跳出一个元件选择窗。

图2.2元件选择对话框(4)编辑图形文件在元件库找到自己想要的元件,放好后连线并添加输入输出端口,画出完整的电路图后保存并编译通过。

(5)对设计项目设置进行仿真:过程与方法与实验一相同。

(6)将设计项目设置成可调用的元件以便调用基本逻辑元件库参数可设置的强函数元件库基本逻辑元件库中的元件 由此输入所需要的元件名MAX+plus 库 图2.3 一位全加器的图形编辑文件图2.4 将一位全加器模块生成符号入库2.建立一个更高的原理图设计层次,调用以上获得的1位全加器构成4位加法器,并完成编译、综合、仿真。

3.设计文件打包上传。

四实验报告:详细叙述4位加法器的设计流程;给出各层次的原理图及其对应的仿真波形图;将实验原理、实验过程、仿真结果写进实验报告。

五思考题:为了提高加法器的速度,如何改进以上设计的进位方式?六选作内容:用一片74163和一片74138构成一个具有8路顺序脉冲输出的顺序脉冲产生器。

要求在原理图上标明第1路到第8路输出的位置。

实验一:四位加法器

必修实验:实验一:四位加法器实验目的:一、熟悉MAX+plusⅡ软件和AEDK实验箱操作二、熟悉可编程器件开发流程三、巩固VHDL语言四、掌握层次化设计方法实验内容:用层次化设计方法设计一个4位加法器:1.底层用文本输入方式,顶层用原理图输入方式,用结构体三种实现方式分别编写程序,编译,调试。

2.仿真,分析结果,绘制波形。

3绑定引脚,在教学实验箱上完成相应的搭线、下载.分析加法器实现的结果。

实验步骤:一、在计算机上用浏览器建立自己的文件夹,要求用英文。

二、用文本输入法建立底层模块:用三种结构体描述方法(行为、数据流、结构描述)给出一位全加器的VHDL语言描述。

建议使用模板。

文件建立后使用File-set current file to project建立项目,点工具栏上图符存盘检验。

点击菜单MAC+plusⅡ\HierarchyDisplay,观察此时的项目层次图。

(程序要求写在附页)。

三、用图形编辑器建立顶层文件,并存入前一步的文件夹中。

利用4个一位全加器,前一个的输出cout为下一个的输入cin来完成串行四位加法器。

文件建立后点工具栏上图符(完成存盘、将项目绑定到现有文件、检验三个步骤)。

点击菜单MAX+plusⅡ\Hierarchy Display,观察此时的项目层次图。

四、作时序仿真,画出时序仿真波形图。

(四位数据要求以总线形式显示)五、选择器件(max epm7128s-15),绑定引脚,设置下载接口,编程下载。

以按键模拟数字(注,板上无多余按键,C0不接)开关设置S2-7,OFF L8-L1 不允许显示实验注意事项:本实验的教学录像仅供不熟练者参考,已掌握者可以放手自己操作。

不应只是跟着录像走过场,而要真正理解MAX+plusⅡ这种EDA软件的设计流程,和层次化设计中的模块划分。

实验过程大约需要3-4个小时。

如果事先设计底层全加器程序,并复习课上内容和书上有关章节,理清设计流程,可以节约时间,并且效果会更好。

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

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

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

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

三实验内容
1:完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。

键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。

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

建议选择电路模式1(附图F-2):键2、键1输入4位加数:键4、键3输入4位被加数:数码6和数码5显示加和:D8显示进位cout。

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

相关文档
最新文档