用原理图输入法设计四位全加器实验
实验一 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技术与VHDL实验题目:四位加法器设计班级学号:姓名:成绩:一、实验目的 ..................................................................................... - 1 -二、实验任务 ..................................................................................... - 1 -三、系统总体设计 ............................................................................. - 1 -四、VHDL程序设计......................................................................... - 1 -1. 用原理图输入方式设计半加器 ................................................ - 2 -2. 全加器的设计 ............................................................................ - 4 -3.4位全加器的设计 ....................................................................... - 5 -五、仿真 ............................................................................................... - 5 -六、仿真结果分析 ............................................................................... - 6 -一、实验目的熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个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
实验四四位全加器一、实验目的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位全加器
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个小时。
如果事先设计底层全加器程序,并复习课上内容和书上有关章节,理清设计流程,可以节约时间,并且效果会更好。
实验8 4位全加器
实验一.层次化4位加法器设计一实验目的掌握用VHDL 设计全加器的方法并实现。
二实验内容与要求学习用VHDL或原理土设计方法,掌握全加器的设计方式及表示方式,极其与二进制表示的转换方法,完成编译、综合、适配、仿真和实验箱上的硬件测试,通过数码管观察结果。
三实验平台(1)硬件:计算机、GX-SOC/SOPC-DEVLABCycloneII EP2C35F672C8核心扳(2)软件:Quartus II四实验原理通过动态扫描两组4BIT的二进制数据,同时还有一个单BIT的进位,把三者按照二进制加法原理进行加,求出和及进位,并通过电路显示出各部分数据(输入,输出)。
家属、被家属、“和”显示在共阳数码管上,进位输出显示在LED上。
五程序library IEEE;use IEEE.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4b isport ( CIN,CLR_N: in std_logic;A,B : in std_logic_vector (3 downto 0);S: out std_logic_vector (3 downto 0);COUT: out std_logic);end entity;architecture adder4b_beba of adder4b issignal SINT: std_logic_vector (4 downto 0);signal AA,BB: std_logic_vector (4 downto 0);beginPROCESS(CLR_N)BEGINIF CLR_N='0' THEN --清零AA<="00000";BB<="00000";ELSEAA<='0'&A;BB<='0'&B;END IF;END PROCESS;SINT<=AA+BB+CIN;S<= SINT(3 downto 0);COUT<= SINT(4);end architecture;六引脚定义及代码:图1-1 引脚定义Qadd.tcl:# Copyright (C) 1991-2008 Altera Corporation# Your use of Altera Corporation's design tools, logic functions # and other software and tools, and its AMPP partner logic# functions, and any output files from any of the foregoing# (including device programming or simulation files), and any# associated documentation or information are expressly subject # to the terms and conditions of the Altera Program License# Subscription Agreement, Altera MegaCore Function License# Agreement, or other applicable license agreement, including, # without limitation, that your use is for the sole purpose of # programming logic devices manufactured by Altera and sold by # Altera or its authorized distributors. Please refer to the# applicable agreement for further details.# Quartus II: Generate Tcl File for Project# File: qadd.tcl# Generated on: Mon Oct 26 14:44:09 2009# Load Quartus II Tcl Project packagepackage require ::quartus::projectset need_to_close_project 0set make_assignments 1# Check that the right project is openif {[is_project_open]} {if {[string compare $quartus(project) "qadd"]} {puts "Project qadd is not open"set make_assignments 0}} else {# Only open if not already openif {[project_exists qadd]} {project_open -revision qadd qadd} else {project_new -revision qadd qadd}set need_to_close_project 1}# Make assignmentsif {$make_assignments} {set_global_assignment -name FAMILY "Cyclone II"set_global_assignment -name DEVICE EP2C35F672C8set_global_assignment -name ORIGINAL_QUARTUS_VERSION 8.0set_global_assignment -name PROJECT_CREATION_TIME_DATE "11:01:34 OCTOBER 26, 2009"set_global_assignment -name LAST_QUARTUS_VERSION 8.0set_global_assignment -name USE_GENERATED_PHYSICAL_CONSTRAINTS OFF -section_id eda_palaceset_global_assignment -name DEVICE_FILTER_PACKAGE FBGAset_global_assignment -name DEVICE_FILTER_PIN_COUNT 672set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8set_global_assignment -name VHDL_FILE ora.vhdset_global_assignment -name VHDL_FILE HADDER.vhdset_global_assignment -name VHDL_FILE f_ADDER.vhdset_global_assignment -name VHDL_FILE qadd.vhdset_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_COLOR 14622752 -section_id Topset_global_assignment -name LL_ROOT_REGION ON -section_id "Root Region"set_global_assignment -name LL_MEMBER_STATE LOCKED -section_id "Root Region"set_global_assignment -name VECTOR_WAVEFORM_FILE qadd.vwfset_global_assignment -name SIMULATION_MODE FUNCTIONALset_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"set_global_assignment -name INCREMENTAL_VECTOR_INPUT_SOURCE qadd.vwfset_global_assignment -name USE_CONFIGURATION_DEVICE ONset_global_assignment -name RESERVE_ALL_UNUSED_PINS_NO_OUTPUT_GND "AS INPUT TRI-STATED"set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Topset_location_assignment PIN_B21 -to b[0]set_location_assignment PIN_B22 -to b[1]set_location_assignment PIN_AC10 -to s[0]set_location_assignment PIN_W11 -to s[1]set_location_assignment PIN_W12 -to s[2]set_location_assignment PIN_AE8 -to s[3]set_location_assignment PIN_AF8 -to s[4]set_location_assignment PIN_AE7 -to s[5]set_location_assignment PIN_AF7 -to s[6]set_location_assignment PIN_AA11 -to s[7]set_location_assignment PIN_F6 -to a[0]set_location_assignment PIN_A21 -to a[1]# Commit assignmentsexport_assignments# Close projectif {$need_to_close_project} {project_close}}七仿真图1-2 创建VHDL文件图1-3 定义PIN口图1-4 创建VERILOG文件图1-5 运行图1-6 仿真结果八导入程序图1-7 下载程序图1-8 实验结果。
EDA实验报告(四位全加器的实现)
实验一四位全加器的实现一、实验目的1、掌握Quartus9.0图形编辑输入法2、掌握Quartus环境下文件的编译、仿真及下载方法3、了解VHDL语言的设计流程4、掌握quartus环境下VHDL的使用方法二、实验内容1、用图形/原理图法实现4位全加器。
2、用VHDL语言实现4位全加器,必须使用元件例化。
3、仿真并通过。
3、下载到实验板,并验收三、实验步骤1、图形编辑发设计4位加法器(1)新建图形文件,设计一位全加器,逻辑电路图如下图(图1-1)所示。
图1-1(2)将设计好的一位全加器进行例化,操作为file→Create/Update→Create symbol files for currentfile,完成此操作后会在元器件符号表里找到刚刚做好的一位全加器。
(3)再新建一个图形文件,用四个已经做好的一位全加器级联成一个四位全加器,其逻辑原理图如图1-2所示。
编辑好后保存文件,在文件列表里找到该文件,右键→Set as Top-level Entity,将其设置为顶层文件,点击编译按钮就行编译。
图1-2(4)新建波形文件,赋予每个输入端口某种输入信号,保存波形文件,进行功能仿真,观察输出端波形与输入信号关系是否正确。
若不正确,查找问题所在并解决问题;若正确,则进行管脚分配,分配完毕后再编译一次使分配生效,连接DE2开发板到电脑,将文件下载到开发板进行验证。
2、用VHDL语言设计4位加法器(1)新建一个VHDL源文件,文件名为adder1.vhd,使用VHDL实现一位全加器,其VHDL代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY adde1r ISPORT(A,B,Ci:IN STD_LOGIC;S,Co:OUT STD_LOGIC);END adder1;ARCHITECTURE qadder OF adder1 ISBEGINPROCESS(A,B,Ci)VARIABLE n1,n2,n3:STD_LOGIC;BEGINn1:=A AND B;n2:=A XOR B;n3:=Ci AND n2;Co<=n3 OR n1;S<=n2 XOR Ci;END PROCESS;END qadder;(2)再新建一个VHDL源文件,命名为adder4.vhd,在这里将adder 一位全加器例化并使用它,做成四位全加器,代码如下:library ieee;use ieee.std_logic_1164.all;entity adder4 isport(A,B:in std_logic_vector(3 downto 0);S:out std_logic_vector(3 downto 0);Co:out std_logic;Ci:in std_logic);end adder4;architecture adder_4 of adder4 iscomponent adderport(A:in std_logic;B:in std_logic;Ci:in std_logic;Co:out std_logic;S:out std_logic);end component;signal c1,c2,c3:std_logic;beginu1:adder port map(A(0),B(0),Ci,c1,S(0));u2:adder port map(A(1),B(1),c1,c2,S(1));u3:adder port map(A(2),B(2),c2,c3,S(2));u4:adder port map(A(3),B(3),c3,Co,S(3));end adder_4;(3)保存文件后将adder4设置为顶层文件并编译,编译通过后按照与图形编辑发一样的仿真、管脚分配方式进行操作,最后下载到开发板验证四、实验现象两种方式实现的四位加法器下载到DE2开发板后都可正常工作,其中使用SW0作为低位的进位,SW4~1作为数据B,SW8~5作为数据A,LDG3~0作为输出的结果,LEDG4作为输出的进位。
四位全加器实验报告
四位全加器实验报告四位全加器实验报告引言:在计算机科学领域,加法器是一种常见的数字电路,用于将两个二进制数相加。
全加器是一种特殊的加法器,能够处理三个输入位:两个用于相加的位和一个用于进位的位。
本实验旨在设计和实现一个四位全加器电路,并验证其正确性。
一、实验背景全加器是计算机中常用的逻辑电路之一。
在二进制加法中,当两个位相加时,如果产生进位,则需要将进位传递到下一位的计算中。
全加器的作用就是处理这种进位情况,确保加法运算的正确性。
二、实验目的1. 设计一个四位全加器电路。
2. 实现全加器电路的逻辑功能。
3. 验证全加器电路的正确性。
三、实验原理1. 全加器的逻辑功能:全加器的逻辑功能可以通过真值表表示。
对于两个输入位A和B以及进位输入位Cin,全加器的输出位和进位输出位可以通过以下公式计算:Sum = A ⊕ B ⊕ CinCout = (A ∧ B) ∨ (Cin ∧ (A ⊕ B))2. 四位全加器电路的设计:四位全加器由四个全加器和三个2-1多路选择器组成。
其中,每个全加器的输入位分别与两个相邻位的输出位相连,最高位的进位输入位与电源连接,最低位的进位输出位与地线连接。
每个2-1多路选择器的选择位分别与两个相邻位的进位输出位相连。
四、实验步骤1. 根据实验原理设计四位全加器电路。
2. 使用逻辑门电路和多路选择器等器件搭建电路。
3. 连接电路中的输入和输出端口。
4. 转接开关设置输入位的值。
5. 连接电源,观察输出位的值。
6. 更改输入位的值,再次观察输出位的值。
7. 对比实际输出值与预期值,验证电路的正确性。
五、实验结果与分析经过实验观察和计算,我们得到了四位全加器电路的输出结果。
与预期结果相比较,实际输出值与预期值完全一致,证明了电路的正确性。
六、实验总结通过本次实验,我们成功设计并实现了一个四位全加器电路,并验证了其正确性。
全加器作为计算机中常用的逻辑电路,具有重要的应用价值。
通过深入学习和掌握全加器的原理和设计方法,我们可以更好地理解和应用计算机科学中的相关知识。
4 位加法器原理图设计
实验二 4 位加法器原理图设计一、实验目的1、进一步掌握 Quartus Ⅱ原理图输入设计法。
2、通过4位加法器的设计,掌握原理图输入法中的层次化设计。
二、实验原理So=a xor b; co=a and b;图 2-1 半加器原理图图 2-2 1位全加器原理图图 2-3 4 位加法器原理图4 位加法器(如图 2-3)是以 1 位全加器作为基本硬件,由 4 个 1 位全加器串行构成,1位全加器又可以由两个1位的半加器和一个或门连接而成(如图 2-2),而1位半加器可以由若干门电路组成(如图 2-1)。
三、实验内容本次实验使用 Altera FPGA 的开发工具 Quartus Ⅱ,利用原理图输入设计方法设计一个 4位加法器,取实验板上的 8 位按键的高 4 位与低 4 位分别作为 4 位加数与被加数,其中 8 个 LED 取 5 位作为结果输出,LED2~LED5 作为 4 位相加之和的输出结果,LED1作为两数高 4 位相加的进位 (LED 亮,表示低电平“0”, LED 灭,表示高电平“1”)四、实验步骤1、打开QUARTUS II软件,新建一个工程adder4bit。
2、建完工程之后,再新建一个Block Diagram/Schematic File。
在原理图编辑窗口绘制如图 2-1 的半加器原理图。
点击 File ->Save,将已设计好的图文件取名为:h_adder,并存在此目录内。
3、将 h_adder 设置成顶层实体。
在诸多文件打开的状态下,选中 h_adder.bdf为当前文件。
点击 Project → Set as Top-Level Entity。
4、编译。
如果发现有错,排除错误后再次编译。
直到编译通过就可以进行波形仿真了。
5、时序仿真。
建立波形文件,设置波形参量,再保存(注意: QuartusⅡ在波形仿真时,只支持一个与工程名同名的波形文件,所以在对多个文件进行波形仿真时,对波形文件都取工程名进行保存,后缀名为.vwf;若确实想保留多个波形文件,则可以分别命名,想对哪个波形文件进行仿真时,点击Processing->simulation Tool,在Simulation input中输入待仿真的波形文件即可,如图2-4所示) ,最后运行波形仿真。
数字逻辑4位二进制加法器实验
实验2 4位二进制加法器的设计2.1 实验目的进一步熟悉Quartus Ⅱ的基本操作方法,并利用原理图输入设计方法设计简单组合电路,掌握层次化设计的方法,通过4位全加器的设计掌握利用EDA 工具进行电子系统设计的流程。
2.2 原理提示一个4位二进制加法器可以由4个全加器构成,各全加器之间的进位以串行方式实现,即将低位的进位输出CO 与相邻的高一位全加器的进位位Ci 相连,最低进位位接“0”。
实验原理图如下。
2.3实验内容采用Quartus Ⅱ基于图形的设计方法,在实验1的基础上,按层次化结构实现4位全加器的设计。
完成原理图输入、编译、进行波形仿真验证。
(仿真时要对所有输入、输出端进行)。
2.4实验步骤(1) 为本项设计任务建立工程。
启动Quartus Ⅱ,新建一个工程,有关操作如下图。
将实验1中已设计好的原理图文件fualladd.bdf 拷贝到D:\0501\exp2下。
在实验1中fualladd.bdf 是顶层设计文件,而在本实验中,fualladd.bdf 将作为底层设计文件使用。
∑C i C o ∑C i C o ∑C i C o a 0b 0a 1b 1a 2b 2a 3b 3s 0s 1s 2s 3c o ∑C i C o 0建立本工程的顶层设计。
点击“File/New”→“Block Diagram/Schematic File”→“OK”,将Block1.dbf 另存为add4. dbf。
add4. dbf是本工程的顶层设计文件。
(2)点击“File / Open…”将fualladd.bdf 文件打开。
(3)将fualladd.bdf制作成一个符号块,以便在add4. dbf中调用。
点击“File / Create/Update / Create Symble Files For Currenf Fils”,弹出对话框(文件名一栏应出现fualladd.bsf),点击“保存”。
四位全加器设计
河南工业大学EDA技术实验报告专业电科班级1301 姓名田学号20131603实验地点6316+ 6515 实验日期2014-9-25 成绩评定一、实验项目四位全加器设计二、实验目的熟悉利用Quartus II 的原理图输入法来设计简单组合逻辑电路,学会层次化设计方法,并通过一个4位全加器的设计,学会利用EDA软件进行电子电路设计的详细流程。
学会对实验板上的FPGA/CPLD进行编程下载,用硬件验证自己的设计项目。
三、实验原理该四位全加器是由一位全加器作底层文件,四位全加器作顶层文件组合而成,将制作好的一位全加器文件sdder.bdf进行编译,并设置成可调用的原件。
将4个一位全加器的原件按照低位加法器的进位输出与相邻的高位加法器的进位输入信号连接。
四、仿真结果及分析当输入CIN=‘0’,A=“0011”,B=“1100”时此时无进位信号输出,且输出S=“1111”。
当CIN=‘1’,其他输入保持不变时,此时进位输出信号COUT=‘1’,且S=“0000”。
当CIN=‘0’,且A=“0101”,B=“0101”,此时无进位输出,且输出S=“1010”。
当进位输入CIN=‘1’时,同样无进位输出,此时S=“1011”。
由以上分析可知仿真结果正确,表明电路原理图正确。
五、硬件验证过程及结果分析硬件验证方法及过程:首先要进行原理图的管脚锁定,采用高电平输出作为进位信号的输入,八位本位输入信号采用两个四位二进制控制按键来进行按键输入。
全加器的进位输出信号我采用点亮二极管的方式显示进位端口有信号输出。
四位二进制的本位相加和采用数码管方式来显示。
结果现象:当按动按键时数码管上数值依次加一,当同时将两个四位二进制数增加到最大值时,数码管上显示“FF”。
此时若使用单独的高电平作为进位信号,数码管上数值显示变为“00”,相对应的是连接进位输出的二极管被点亮。
六、实验总结此次四位全加器原理图的设计总的来说比较轻松,在之前一位全加器的基础上,制作四位全加器还是比较简单的。
武汉理工大学EDA实验原理图输入法输入的4位全加器和Verilog HDL语言输入的16进制频率计
学生实验报告书实验类别EDA实验学院信息工程学院专业通信工程班级信息SY1001班姓名龙涛指导教师聂明新2012 年12 月30 日实验课程名称:EDA技术与应用图2 1位全加器电路图d:\adder中,取名为h_adder.bdf。
4)建立原理图文件为顶层设计工程。
然后将此文件h_adder.bdf设定为工程。
5)绘制半加器原理图。
将元件放入原理图编辑窗口,按图1接好电路。
6)仿真测试半加器。
全程编译后,打开波形编辑器。
选择File→new命令,在New 窗口中选择Vector Waveform File选项。
设置仿真时间区域,编辑输入波形,仿真器参数设置,启动仿真器,观察仿真结果。
3、将设计项目(一位半加器)设置成可调用的元件为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成课调用的底层元件。
在半加器原理图文件处于打开的情况下,选择菜单File→Create/Update→Create Symbol Files for Current File,即可将当前电路图变成一个元件符号存盘,以便在高层次设计中调用。
图3 半加器示意图4、设计全加器顶层文件为了建立全加器顶层文件,必须打开一个原理图编辑窗口,方法同前。
1)选择菜单File→new→Block Diagram/Schematic File,将其设置成新的工程,命名为f_adder.bdf。
2)在打开的原理图编辑窗口中,双击鼠标,选择Project下先前生成的元件h_adder和若干元器件,按图2连接好一位全加器电路图。
3)仿真测试全加器。
全程编译后,打开波形编辑器。
选择File→new命令,在New窗口中选择Vector Waveform File选项。
设置仿真时间区域,编辑输入波形,仿真器参数设置,启动仿真器,观察仿真结果。
5、将设计项目(一位全加器)设置成可调用的元件为了构成4位全加器的顶层设计,必须将以上设计的全加器f_adder.bdf设置成课调用的底层元件。
利用原理图输入法实现4位串行进位加法器
VHDL(一)模拟部分电子线路仿真实验报告实验名称:软件和实验箱介绍姓名:申红霞学号: 080404108班级: 08通信一班时间: 10.02南京理工大学紫金学院电光系一、实验目的1.讲解QuartusⅡ软件和实验箱的使用。
2.利用原理图输入法实现4位串行进位加法器。
3.重点掌握软件使用过程中工程建立、原理图输入方法、编译、仿真、管脚配置等。
二、实验原理1.加法器原理全加器真值表如图1所示:加法器真值表全加器表达式为:Si=Ai⊕Bi⊕Ci-1Ci=(Ai⊕Bi)Ci-1+AiBi全加器逻辑符号如图2所示:全加器逻辑符号2.利用全加器可以构成4位串行进位加法器,逻辑符号如图3所示:4位串行进位加法器逻辑符号图三、实验内容1.新建文件夹,在所新建的文件夹中利用QuartusⅡ软件建立新工程,设计原理图输入的一位全加器电路,如图4所示:图4、一位全加器电路2.对该图进行全编译,编译成功后,建立矢量波形文件,验证所设计的一位全加器电路的正确性,时序仿真结果和功能仿真结果如下图所示:图5、时序仿真结果图6、功能仿真结果由仿真波形分析可知,该全加器设计正确。
3.将设计好的全加器生成一个模块,如图7所示:图7、一位全加器器件4.将4个全加器串联,再添加相应的管脚和原件构成四位串行进位加法器,如图8所示:图8、四位串行进位加法器电路图5.将此文件设置为顶层文件,对该图进行全编译,编译成功后,建立矢量波形文件,添加相应的节点,为输入信号赋初值,功能仿真结果和时序仿真结果如下图:图9、功能仿真结果图10、时序仿真结果由仿真波形可知,电路设计正确。
6.利用模式实验箱来验证设计电路的正确性,设置管脚,管脚配置图如图11所示:图11、管脚配置图配置好使用管脚后,器件上未使用管脚也需进行设置,将它们设置为高阻状态。
7.管脚配置完,一定要重新编译一次。
编译后如图12所示:图12、配置管脚后电路图8.下载到实验箱中,对实验箱进行操作,验证电路是否正确。
EDA技术实验报告
EDA技术实验报告实验⼀利⽤原理图输⼊法设计4位全加器⼀、实验⽬的:掌握利⽤原理图输⼊法设计简单组合电路的⽅法,掌握MAX+plusII 的层次化设计⽅法。
通过⼀个4位全加器的设计,熟悉⽤EDA 软件进⾏电路设计的详细流程。
⼆、实验原理:⼀个4位全加器可以由4个⼀位全加器构成,全加器的进位以串⾏⽅式实现,即将低位加法器的进位输出cout 与相邻的⾼位加法器的低位进位输⼊信号cin 相接。
1位全加器f-adder 由2个半加器h-adder 和⼀个或门按照下列电路来实现。
半加器h-adder 由与门、同或门和⾮门构成。
四位加法器由4个全加器构成三、实验内容:1. 熟悉QuartusII 软件界⾯,掌握利⽤原理图进⾏电路模块设计的⽅法。
QuartusII 设计流程见教材第五章:QuartusII 应⽤向导。
2.设计1位全加器原理图(1)⽣成⼀个新的图形⽂件(file->new->graphic editor )(2)按照给定的原理图输⼊逻辑门(symbol ->enter symbol)COCO 1S 2S 3S 4(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位全加器进⾏时序仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 的原理图输入方法设计简单组合电路和层次化设计的方法和详细流程。