实验二不同描述加法器设计

上传人:gb****c 文档编号:242872038 上传时间:2024-09-10 格式:PPT 页数:38 大小:329KB
返回 下载 相关 举报
实验二不同描述加法器设计_第1页
第1页 / 共38页
实验二不同描述加法器设计_第2页
第2页 / 共38页
实验二不同描述加法器设计_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实验二加法器设计,图形输入方法,1,一、实验目的:,1,、学习和掌握半加器全加器的工作原理和设计方法;,2,、熟悉,EDA,工具,Quartus II,的使用,能够熟练运用,Vrilog HDL,语言在,Quartus II,下进行工程开发、调试和仿真。,3,、掌握组合逻辑电路在,Quartus ,中的图形输入方法及文本输入方法,掌握层次化设计方法。,4,、掌握半加器、全加器采用不同的描述方法。二、实验内容:,(,1,) 完成半加器全加器的设计,包括原理图输入,编译、综合、适配、仿真等。并将半加器电路设置成一个,硬件符号入库,(,2,)建立更高层次的原理图设计,利用,1,位半加器构成,1,位全加器,并完成编译、综合、适配、仿真并硬件测试,(,3,),采用图形输入法设计,1,位加法器分别采用图形输入和文本输入方法,设计全加器,(,4,)实验报告:详细叙述,1,位全加法器的设计流程,给出各层次的原理图及其对应的仿真波形图,给出加法器的上时序分析情况,最后给出硬件测试流程和结果。,实验二 加法器设计(一),2,三、实验步骤:,1,、建立一个,Project,。,2,、编辑一个,VHDL,程序,要求用,VHDL,结构描述的方法设计一个半加器,3,、对该,VHDL,程序进行编译,修改错误。,4,、建立一个波形文件。(根据真值表),5,、对该,VHDL,程序进行功能仿真和时序仿真,(一)、半加器,半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路,逻辑图,CO=AB,h-adder1,真值表描述,h-adder2,行为描述,h-adder3,结构描述,半加器的几种描述方法,3,实验任务,1,、,半加器真值表描述方法,-,半加器真值表描述方法,LIBRARY IEEE;,-,行为描述半加器,USE IEEE STD_LOGIC_1164.ALL,;,ENTITY h-adder1 IS,PORT( a,b: IN STD-LOGIC;,so,co:OUT STD-LOGIC);,END h-adder1;,Architecture FH1 OF h-adder1 IS,Singal abc : STD-LOGIC_vector(1 downto 0);,Begin,abcSO=0;COSO=1;COSO=1;COSO=0;COUNLL;,END CASE;,END PROCESS;,END ARCHITECTURE FH1;,4,LIBRARY IEEE;-,行为描述,(,抽象描述结构体的功能,),USE IEEE.STD_LOGIC_1164.ALL;,ENTITY half_adder is -,半加器,PROT(A,B:IN STD_LOGIC;,S,C0:OUT STD_LOGIC);,END half_adder;,ARCHITECTURE,be_half_adder OF half+adder IS,BEGIN,PROCESS(,A,B,),BEGIN,IF(A=0 AND B=0) THEN S=0;C0=0;,ELSIF(A=0 AND B=1) THEN,S=1 ;C0=0;,ELSIF(A=1 AND B=0) THEN S=1;C0=0;,ELSE,S=0;C0=1;,ENDIF;,END PROCESS;,END be_half_adder;,实验任务,2(,二进制加法运算规则描述),0+0=0,0+1=1,1+0=1,1+1=0,;,C=1;,5,LIBRARY IEEE;,-,行为描述半加器(按逻辑表达式),USE IEEE STD_LOGIC_1164.ALL,;,ENTITY h-adder2 IS,PORT( a,b: IN STD-LOGIC;,so,co:OUT STD-LOGIC);,END h-adder2;,Architecture FH1 OF h-adder2 IS,Begin,so=a XOR b ;,co=a AND b;,END ARCHITECTURE FH1;,CO=AB,实验任务,3,按逻辑表达式设计,6,library IEEE;,use IEEE.STD_LOGIC_1164.all;,entity half_adder is,port( a : in STD_LOGIC;,b : in STD_LOGIC;,sum : out STD_LOGIC;,co : out STD_LOGIC );,end half_adder;,architecture half_adder of half_adder is,signal c,d:std_logic;,begin,c=a or b;,d=a nand b;,co=not d;,sum=c and d;,end half_adder;,实验任务,4,:用基本单元电路与或非描述半加器,C,D,7,-half_adder,半加器,结构描述,LIBRARY IEEE;,USE IEEE.STD_LOGIC_1164.ALL;,ENTITY xor21 IS,PORT(i0,i1:IN STD_LOGIC;,q: OUT STD_LOGIC);,END ENTITY xor21;,ARCHITECTURE behav OF xor21 IS,BEGIN,q=i0 XOR i1;,END ARCHITECTURE behav;,LIBRARY IEEE;,USE IEEE.STD_LOGIC_1164.ALL;,ENTITY half_adder IS,PORT(A,B:IN STD_LOGIC;,co,s: OUT STD_LOGIC);,END ENTITY half_adder;,逻辑图,实验任务,5,:结构描述,8,ARCHITECTURE mix OF half_adder IS,COMPONENT xor21 IS,PORT(i0,i1:IN STD_LOGIC;,q:OUT STD_LOGIC);,END COMPONENT;,BEGIN,c I0,B=I1,q=s); -,例化,END ARCHITECTURE mix;,逻辑图,9,图形输入加法器设计(三),Quartus,原理图输入设计:,1,、建立工程项目(工程目录,名称和选择合适器件,2,、编辑设计图形文件(放置元件,连线,设定输入输出管脚名称),3,、编译设计图形文件(检查电路是否有 错),4,、时序仿真设计(仿真波形验证设计结果),5,、生成元件符号 为高层电路调用,project wizard,建立工程,选择项目存放目录:,10,实验目的:,1,、了解加法器的基本原理。掌握组合逻辑电路在,Quartus ,中的图形输入方法及文本输入方法。,2,、学习和掌握半加器、全加器的工作和设计原理,3,、熟悉,EDA,工具,Quartus II,和,Modelsim,的使用,能够熟练运用,Vrilog HDL,语言在,Quartus II,下进行工程开发、调试和仿真。,4,、掌握半加器设计方法,5,、掌握全加器的工作原理和使用方法,11,电路原理图输入方法,实验步骤,1,、启动,Quartus,2,、建立新工程,NEW PROJECT,3,、设定项目保存路径项目名称顶层实体名称,4,、建立新文件,Blok Diagram/Schematic File,5,、保存文件,6,、原理图设计输入,元件符号放置 通过,EDIT-SYMBOL,插入元件或点击图标,元件复制,元件移动,元件转动,元件删除,管脚命名,PIN_NAME,元件之间连线(直接连接,引线连接),7,、保存原理图,8,、编译: 顶层文件设置,,PROJECT-Set as Top-Level,开始编译,processing-Start Compilation,12,编译有两种:全编译包括分析与综合(,Analysis&Synthesis,)、适配,(Fitter),、编程(,assembler,)时序分析(,Classical Timing Analysis,),4,个环节,而这,4,个环节各自对应相应菜单命令,可单独发布执行也可以分步执行,8,、逻辑符号生成,create Symbol File,9,、仿真,建立仿真文件,添加需要的输入输出管脚,设置仿真时间,设置栅格的大小,设置输入信号的波形(激励信号),保存文件,仿真,功能仿真:主要检查逻辑功能是否正确,功能仿真方法,时序仿真:,13,RTL,阅读器:观察设计电路的综合结果,,TOOLS-Netlist ViewersRTL Viewer,命令,9,、仿真,建立仿真,wenjian,添加需要的输入输出管脚,设置仿真时间,设置栅格的大小,设置输入信号的波形,保存文件,仿真,功能仿真:主要检查逻辑功能是否正确,功能仿真方法如下:,1TOOL/SIMULATOR TOOL,在,SIMULATOR MODE,下选择,Functional,在,SIMULATION INPUT,栏中指定波形激励文件,单击,Gencrator Functional Simulator Netist,生成功能仿真网表文件。,14,工程项目目录,项目名称,项目顶层设计实体名称,创建工程,15,图形输入设计文件,16,工具介绍:,17,何时使用原理图设计输入?,符合传统电路设计习惯,一般只在,”,TOP-LEVE,使用,元件库使用:,Megafunctions/LPM,:功能复杂,参数可设置的模块,Primitives,基本图元:简单的、功能固定的逻辑元件,不可调整参数,参数可设置的宏功能函数,LPM,参数可设置兆函数,基本逻辑门电路,基本单元电路,18,二、实验内容:,1,、建立一个,Project,。,2,、图形输入设计:要求用,VHDL,结构描述的方法设计一个半加器,3,、进行编译,修改错误。,4,、建立一个波形文件。(根据真值表),5,、对该,VHDL,程序进行功能仿真和时序仿真,Simulation,一、半加器,半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路,逻辑图,CO=AB,19,1,、建立仿真通道文件,SOF,2,、,输入信号节点,3,、,设置仿真参数,4,、,设定仿真时间,5,、,设置输入信号波形,6,、,保存波形文件,7,、,运行仿真器,8,、,观察波形,主要操作步骤,建立文件目录,启动,Quartus,打开图形编辑器输入设计并存盘,编译,时序仿真或功能仿真,20,参数可设置的宏功能函数,基本逻辑单元库,输入新元件,自己生产的元件,实验内容,1,逻辑符号生成,create Symbol File,21,实验任务,2,采用基本逻辑门电路设计,异或设计半加器,实验任务,3,(,任选,),与非设计半加器,22,23,A,i,B,i,C,I-1,C,i,S,0,0,0,0,0,0,0,1,0,1,0,1,0,0,1,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,1,1,0,1,0,1,1,1,1,1,由全加器真值表,可得出逻辑函数,实验任务,4,:全加器设计,24,实验任务,5,根据逻辑表达式设计全加器,符号图,25,用任务,2,用半加器,设计全加器,自己推导,26,实验四 实验五,实验四、运算器部件,串行进位加法器,实验五、运算器部件,并行进位,加法器,实验目的:,1,、熟悉,EDA,工具,Quartus II,和,Modelsim,的使用,能够熟练运用,Vrilog HDL,语言在,Quartus II,下进行工程开发、调试和仿真;了解译码器的原理并掌握常用译码器的设计方法。,2,、掌握,8,位串、并进位运算器的工作及设计方法,3,、掌握,4,位超前进位,74LS181,的工作原理和使用方法实验目的:了解加法器、减法器和数据选择器的基本原理。掌握组合逻辑电路在,Quartus ,中的图形输入方法及文本输入方法。掌握串行进位加法器和超前进位加法器的不同。实验内容:(,1,)采用图形输入法设计,4,位加法器,(,2,)分别采用图形输入和文本输入方法,设计四选一数据选择器。,(,3,)采用图形输入方法,将两片,181,构成,8,位运算器,(,4,)使用,LPM,宏单元库中的,BUSMUX,(参数化总线选择器),实现一个选择总线的四选一多路器。,27,1.,实验目的与要求:,目的:,1),掌握算术逻辑运算器单元,ALU,(,74LS181,)的工作原理。,2),掌握简单运算器的数据传送通道。,3),验算由,74LS181,等组合逻辑电路组成的运算功能发生器运算功能。,4),能够按给定数据,完成实验指定的运算,/,逻辑运算。,要求:,2.,实验方案:,1),按要求在实验仪器上接线,并检查正确与否,再接通电源,2),用二进制数据开关分别向,DR1,寄存器和,DR2,寄存器置数。,3),通过总线输出寄存器,DR1,和,DR2,的内容。,4),验证,74LS181,和算术逻辑运算功能(才能正逻辑)。,28,29,LIBRARY ieee;,-4,位串行进位加法器设计,USE ieee.std_logic_1164.all;,USE IEEESTD_LOGIC_UNSINGEND.ALL,ENTITY ADD4B IS,PORT(,CIN:IN STD_LOGIC;,输入低位进位,A:IN STD_LOGIC_VECTOR(3 DOWNTTO 0);,-,输入,4,位二进制数,B:IN STD_LOGIC_VECTOR(3 DOWNTTO 0);,-4,位被加数,SO:out STD_LOGIC_VECTOR(3 DOWNTTO 0);,-4,位和,COUT:out STD_LOGIC,);,-,高位进位输出,END ;,30,ARHITECTURE ART OF ADDER4B IS,BEGIN,process(a,b),variable cq,qq sq:STD_logic_vector(3 downto 0);,begin,qq(0):=not(a(0) XOR B(0);-,低位相加,sq(0):=not(qq(0) XOR NOT(CIN);-,并产生进位,IF(A(0) XOR B(0)=1) THEN cq(0):=cin;,else cq(0):=a(0);,end if;,qq(1):=not(A(1) xor not(b(1); -,第二位与前一进位相加并产生进位,sq(1):=not(qq(1) xor not(cq(0);,IF(A(1) XOR B(1)=1) THEN cq(1):=cq(0,); -,位相加,产生进位,else cq(1):=a(1);,end if;-,31,qq(2):=not(A(2) xor not(b(2);,sq(2):=not(qq(2) xor not(cq(1);,IF(A(2) XOR B(2)=1) THEN cq(2):=cq(1);,else cq(2):=a(2);,end if;-,qq(3):=not(A(3) xor not(b(3);,sq(3):=not(qq(3) xor not(cq(2);,-,前一位位进位于高位相加并产生进位,IF,(,A(3) XOR B(3)=1) THEN cq(3):=cq(2);,-,与高位相加并产生进位,else cq(3):=a(3);,end if;-,cout=cq(3);,so=sq;,end process;,END ARCHITECTURE ART;,32,实验前,要求做好实验预习,掌握运算器,ALU,的特性,,实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。试验完成后,写出实验报告。,33,4,位超前进位加法器,LIBRARY IEEE;,USE IEEE STD_LOGIC_1164.ALL;,ENTITY adder4 IS,PORT (a, b,:,IN STD_LOGIC_VECTOR (3DOWN TO 0 ),ci,:,IN STD_LOGIC;,sum,:,OUT STD_LOGIC_VECTOR (3 DOWN TO 0 );,cout,:,OUT STD_LOGIC);,END adde4r,;,ARCHITECTURE rtl_adder4 OF adder4 IS,SIGNAL g, p, c,:,STD_LOGIC_VECTOR (3 DOWN TO 0 ),;,BEGIN,p(0) = a(0) OR b(0);,p(1) = a(1) OR b(1);,p(2) = a(2) OR b(2);,g(0) = a(0) AND b(0);,a3:0,b3:0,ci,Sum3:0,cout,34,g(1) = a(1) AND b(1);,g(2) = a(2) AND b(2);,g(3) = a(3) AND b(3);,c(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);,cout = c(3);,sum(0) = a(0) XOR b(0) XOR ci;,sum(1) = a(1) XOR b(1) XOR c(0);,sum(2) = a(2) XOR b(2) XOR c(1);,sum(3) = a(3) XOR b(3) XOR c(2);,END rtl_adder4;,35,1,、串行进位加法器,缺点:,运算速度慢,其它组件,:,SN74H183-,四位串行进位全加器。,SN74283-,四位超前进位全加器。,36,原理图输入方法,37,38,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!