资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验二加法器设计程序设计方法图形输入方法实验二不同描述加法器设计一、实验目的:一、实验目的:1 1、学习和掌握半加器全加器的工作原理和设计方法;、学习和掌握半加器全加器的工作原理和设计方法;2 2、熟悉、熟悉EDAEDA工具工具Quartus IIQuartus II的使用,能够熟练运用的使用,能够熟练运用Vrilog HDLVrilog HDL语言语言在在Quartus IIQuartus II下进行工程开发、调试和仿真。下进行工程开发、调试和仿真。3 3、掌握组合逻辑电路在、掌握组合逻辑电路在Quartus Quartus 中的图形输入方法及文本输入中的图形输入方法及文本输入方法,掌握层次化设计方法。方法,掌握层次化设计方法。 4 4、掌握半加器、全加器采用不同的描述方法。、掌握半加器、全加器采用不同的描述方法。二、实验内容:二、实验内容:(1 1) 完成半加器全加器的设计,包括原理图输入,编译、综合、完成半加器全加器的设计,包括原理图输入,编译、综合、适配、仿真等。并将半加器电路设置成一个适配、仿真等。并将半加器电路设置成一个硬件符号入库硬件符号入库(2 2)建立更高层次的原理图设计,利用)建立更高层次的原理图设计,利用1 1位半加器构成位半加器构成1 1位全加器,位全加器,并完成编译、综合、适配、仿真并硬件测试并完成编译、综合、适配、仿真并硬件测试(3)采用图形输入法设计采用图形输入法设计1 1位加法器分别采用图形输入和文本输入位加法器分别采用图形输入和文本输入方法,设计全加器方法,设计全加器(4 4)实验报告:详细叙述)实验报告:详细叙述1 1位全加法器的设计流程,给出各层次的位全加法器的设计流程,给出各层次的原理图及其对应的仿真波形图,给出加法器的上时序分析情况,最原理图及其对应的仿真波形图,给出加法器的上时序分析情况,最后给出硬件测试流程和结果。后给出硬件测试流程和结果。实验二实验二 加法器设计(一)加法器设计(一)实验二不同描述加法器设计三、实验步骤:三、实验步骤:1 1、建立一个、建立一个ProjectProject。2 2、编辑一个、编辑一个VHDLVHDL程序程序要求用要求用VHDLVHDL结构描述的方法设计一个半加器结构描述的方法设计一个半加器3 3、对该、对该VHDLVHDL程序进行编译,修改错误。程序进行编译,修改错误。 4 4、建立一个波形文件。(根据真值表)、建立一个波形文件。(根据真值表)5 5、对该、对该VHDLVHDL程序进行功能仿真和时序仿真程序进行功能仿真和时序仿真(一)、半加器半加器是只考虑两个加数半加器是只考虑两个加数本身,而不考虑来自低位本身,而不考虑来自低位进位的逻辑电路进位的逻辑电路逻辑图逻辑图CO=AB h-adder1 h-adder1 真值表描述真值表描述 h-adder2 h-adder2 行为描述行为描述 h-adder3 h-adder3 结构描述结构描述半加器的几种描述方法半加器的几种描述方法实验二不同描述加法器设计实验任务实验任务1 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 ISSingal abc : STD-LOGIC_vector(1 downto 0); Begin abcSO=0;COSO=1;COSO=1;COSO=0;COUNLL;END CASE;END PROCESS;END ARCHITECTURE FH1; 实验二不同描述加法器设计LIBRARY IEEE;-行为描述行为描述(抽象描述结构体的功能)USE IEEE.STD_LOGIC_1164.ALL;ENTITY half_adder is -ENTITY half_adder is -半加器半加器半加器半加器 PROT(A,B:IN STD_LOGIC; PROT(A,B:IN STD_LOGIC; S,C0:OUT STD_LOGIC); S,C0:OUT STD_LOGIC);END half_adder;END half_adder;ARCHITECTUREARCHITECTURE be_half_adder OF half+adder ISBEGINPROCESS(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=00+1=11+0=11+1=0;C=1;实验二不同描述加法器设计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 3 按逻辑表达式设计按逻辑表达式设计实验二不同描述加法器设计library IEEE;use IEEE.STD_LOGIC_1164.all;entity half_adder isport( 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 issignal c,d:std_logic;beginc=a or b;d=a nand b;co=not d;sum=c and d;end half_adder;实验任务实验任务4:用基本单元电路与或非描述半加器:用基本单元电路与或非描述半加器CD实验二不同描述加法器设计-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 5 :结构描述:结构描述实验二不同描述加法器设计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;逻辑图逻辑图实验二不同描述加法器设计图形输入加法器设计(三)QuartusQuartus原理图输入设计:原理图输入设计:1 1、建立工程项目(工程目录,名称和选择合适器件、建立工程项目(工程目录,名称和选择合适器件2 2、编辑设计图形文件(放置元件,连线,设定输入输出管脚名称)、编辑设计图形文件(放置元件,连线,设定输入输出管脚名称)3 3、编译设计图形文件(检查电路是否有、编译设计图形文件(检查电路是否有 错)错)4 4、时序仿真设计(仿真波形验证设计结果)、时序仿真设计(仿真波形验证设计结果)5 5、生成元件符号、生成元件符号 为高层电路调用为高层电路调用 project wizard project wizard 建立工程建立工程选择项目存放目录:选择项目存放目录:实验二不同描述加法器设计实验目的:实验目的:1 1、了解加法器的基本原理。掌握组合逻辑电路在、了解加法器的基本原理。掌握组合逻辑电路在Quartus Quartus 中中的图形输入方法及文本输入方法。的图形输入方法及文本输入方法。2 2、学习和掌握半加器、全加器的工作和设计原理、学习和掌握半加器、全加器的工作和设计原理3 3、熟悉、熟悉EDAEDA工具工具Quartus IIQuartus II和和ModelsimModelsim的使用,能够熟练运用的使用,能够熟练运用Vrilog HDLVrilog HDL语言在语言在Quartus IIQuartus II下进行工程开发、调试和仿真。下进行工程开发、调试和仿真。4 4、掌握半加器设计方法、掌握半加器设计方法5 5、掌握全加器的工作原理和使用方法、掌握全加器的工作原理和使用方法实验二不同描述加法器设计电路原理图输入方法电路原理图输入方法实验步骤实验步骤1 1、启动、启动QuartusQuartus2 2、建立新工程、建立新工程 NEW PROJECT NEW PROJECT3 3、设定项目保存路径项目名称顶层实体名称、设定项目保存路径项目名称顶层实体名称4 4、建立新文件、建立新文件Blok Diagram/Schematic FileBlok Diagram/Schematic File5 5、保存文件、保存文件 6 6、原理图设计输入、原理图设计输入 元件符号放置元件符号放置 通过通过EDIT-SYMBOL EDIT-SYMBOL 插入元件或点击图标插入元件或点击图标 元件复制元件复制 元件移动元件移动 元件转动元件转动 元件删除元件删除 管脚命名管脚命名 PIN_NAME PIN_NAME 元件之间连线(直接连接,引线连接)元件之间连线(直接连接,引线连接)7 7、保存原理图、保存原理图8 8 、编译:、编译: 顶层文件设置,顶层文件设置,PROJECT-Set as Top-Level PROJECT-Set as Top-Level 开始编译开始编译 processing-Start Compilation processing-Start Compilation实验二不同描述加法器设计编译有两种:全编译包括分析与综合编译有两种:全编译包括分析与综合(Analysis&SynthesisAnalysis&Synthesis)、适配)、适配(Fitter)(Fitter)、编程、编程(assemblerassembler)时序分析()时序分析(Classical Timing AnalysisClassical Timing Analysis)4 4个个环节,而这环节,而这4 4个环节各自对应相应菜单命令,可单独发布执行个环节各自对应相应菜单命令,可单独发布执行也可以分步执行也可以分步执行8 8 、逻辑符号生成、逻辑符号生成 FILECreat/-update-create Symbol FILECreat/-update-create Symbol File forCurrent FileFile forCurrent File9 9 、仿真、仿真建立仿真文件建立仿真文件添加需要的输入输出管脚添加需要的输入输出管脚设置仿真时间设置仿真时间设置栅格的大小设置栅格的大小设置输入信号的波形(激励信号)设置输入信号的波形(激励信号)保存文件,仿真保存文件,仿真功能仿真:主要检查逻辑功能是否正确,功能仿真方法功能仿真:主要检查逻辑功能是否正确,功能仿真方法时序仿真:时序仿真:实验二不同描述加法器设计RTL阅读器:观察设计电路的综合结果,阅读器:观察设计电路的综合结果,TOOLS-Netlist ViewersRTL Viewer命令命令9 、仿真、仿真建立仿真建立仿真wenjian添加需要的输入输出管脚添加需要的输入输出管脚设置仿真时间设置仿真时间设置栅格的大小设置栅格的大小设置输入信号的波形设置输入信号的波形保存文件,仿真保存文件,仿真功能仿真:主要检查逻辑功能是否正确,功能仿真方法功能仿真:主要检查逻辑功能是否正确,功能仿真方法如下:如下:1TOOL/SIMULATOR TOOL,在在SIMULATOR MODE下选下选择择 Functional,在在SIMULATION INPUT栏中指定波形激栏中指定波形激励文件,单击励文件,单击Gencrator Functional Simulator Netist,生成功能仿真网表文件。生成功能仿真网表文件。实验二不同描述加法器设计工程项目目录工程项目目录项目名称项目名称项目顶层设计实体名称项目顶层设计实体名称创建工程创建工程实验二不同描述加法器设计图形输入设计文件图形输入设计文件实验二不同描述加法器设计工具介绍:工具介绍:实验二不同描述加法器设计何时使用原理图设计输入?何时使用原理图设计输入?符合传统电路设计习惯符合传统电路设计习惯一般只在一般只在”TOP-LEVE”TOP-LEVE使用使用元件库使用:元件库使用:Megafunctions/LPMMegafunctions/LPM:功能:功能复杂,参数可设置的模块复杂,参数可设置的模块Primitives Primitives 基本图元:简基本图元:简单的、功能固定的逻辑元件,单的、功能固定的逻辑元件,不可调整参数不可调整参数参数可设置的宏功能函数参数可设置的宏功能函数LPMLPM参数可设置兆函数参数可设置兆函数基本逻辑基本逻辑门电路门电路基本单元电路基本单元电路实验二不同描述加法器设计二、实验内容:二、实验内容:1 1、建立一个、建立一个ProjectProject。2 2、图形输入设计:要求用、图形输入设计:要求用VHDLVHDL结构描述的方法设计一个半结构描述的方法设计一个半加器加器3 3、进行编译,修改错误。、进行编译,修改错误。 4 4、建立一个波形文件。(根据真值表)、建立一个波形文件。(根据真值表)5 5、对该、对该VHDLVHDL程序进行功能仿真和时序仿真程序进行功能仿真和时序仿真SimulationSimulation一、半加器半加器是只考虑两个加数半加器是只考虑两个加数本身,而不考虑来自低位本身,而不考虑来自低位进位的逻辑电路进位的逻辑电路逻辑图逻辑图CO=AB 实验二不同描述加法器设计1 1、建立仿真通道文件、建立仿真通道文件SOFSOF2 2 、输入信号节点输入信号节点3 3 、设置仿真参数设置仿真参数4 4 、设定仿真时间设定仿真时间5 5 、设置输入信号波形设置输入信号波形6 6 、保存波形文件保存波形文件7 7 、运行仿真器运行仿真器8 8 、观察波形观察波形主要操作步骤主要操作步骤建立文件目录建立文件目录启动启动QuartusQuartus打开图形编辑器输入设计并存盘打开图形编辑器输入设计并存盘编译编译时序仿真或功能仿真时序仿真或功能仿真实验二不同描述加法器设计参数可设置的宏功能函数参数可设置的宏功能函数基本逻辑单元库基本逻辑单元库输入新元件输入新元件自己生产的元件自己生产的元件实验内容实验内容1 1逻辑符号生成逻辑符号生成FILECreat/-update-create Symbol File forCurrent File实验二不同描述加法器设计实验任务实验任务2采用基本逻辑门电路设计,异或设计半加器采用基本逻辑门电路设计,异或设计半加器实验任务实验任务3(任选任选)与非设计半加器与非设计半加器实验二不同描述加法器设计实验二不同描述加法器设计Ai BiCI-1 Ci S0000000101010010111010001101101101011111由全加器真值表由全加器真值表可得出逻辑函数可得出逻辑函数实验任务实验任务4 4:全加器设计:全加器设计实验二不同描述加法器设计实验任务实验任务5 根据逻辑表达式设计全加器根据逻辑表达式设计全加器符号图符号图实验二不同描述加法器设计用任务用任务2 2 用半加器,设计全加器用半加器,设计全加器自己推导实验二不同描述加法器设计实验四 实验五实验四、运算器部件实验四、运算器部件串行进位加法器串行进位加法器实验五、运算器部件实验五、运算器部件并行进位并行进位加法器加法器实验目的:1、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进行工程开发、调试和仿真;了解译码器的原理并掌握常用译码器的设计方法。2、掌握8位串、并进位运算器的工作及设计方法3、掌握4位超前进位74LS181的工作原理和使用方法实验目的:了解加法器、减法器和数据选择器的基本原理。掌握组合逻辑电路在Quartus 中的图形输入方法及文本输入方法。掌握串行进位加法器和超前进位加法器的不同。实验内容:(1)采用图形输入法设计4位加法器 (2)分别采用图形输入和文本输入方法,设计四选一数据选择器。(3)采用图形输入方法,将两片181构成8位运算器(4)使用LPM宏单元库中的BUSMUX(参数化总线选择器),实现一个选择总线的四选一多路器。实验二不同描述加法器设计1.1.实验目的与要求:实验目的与要求:目的:目的:1)1)掌握算术逻辑运算器单元掌握算术逻辑运算器单元ALUALU(74LS18174LS181)的工作原理。)的工作原理。2)2)掌握简单运算器的数据传送通道。掌握简单运算器的数据传送通道。3)3)验算由验算由74LS18174LS181等组合逻辑电路组成的运算功能发生器等组合逻辑电路组成的运算功能发生器运算功能。运算功能。4)4)能够按给定数据,完成实验指定的运算能够按给定数据,完成实验指定的运算/ /逻辑运算。逻辑运算。要求:要求:2.2.实验方案:实验方案:1)1)按要求在实验仪器上接线,并检查正确与否,再接通按要求在实验仪器上接线,并检查正确与否,再接通电源电源2)2)用二进制数据开关分别向用二进制数据开关分别向DR1DR1寄存器和寄存器和DR2DR2寄存器置数。寄存器置数。3)3)通过总线输出寄存器通过总线输出寄存器DR1DR1和和DR2DR2的内容。的内容。4)4)验证验证74LS18174LS181和算术逻辑运算功能(才能正逻辑)。和算术逻辑运算功能(才能正逻辑)。实验二不同描述加法器设计实验二不同描述加法器设计LIBRARY ieee; LIBRARY ieee; -4-4位串行进位加法器设计位串行进位加法器设计USE ieee.std_logic_1164.all;USE ieee.std_logic_1164.all;USE IEEESTD_LOGIC_UNSINGEND.ALLUSE IEEESTD_LOGIC_UNSINGEND.ALLENTITY ADD4B ISENTITY ADD4B ISPORT(PORT( CIN:IN STD_LOGIC; CIN:IN STD_LOGIC;输入低位进位输入低位进位 A:IN STD_LOGIC_VECTOR(3 DOWNTTO 0); A:IN STD_LOGIC_VECTOR(3 DOWNTTO 0); -输入4位二进制数 B:IN STD_LOGIC_VECTOR(3 DOWNTTO 0); B:IN STD_LOGIC_VECTOR(3 DOWNTTO 0); -4位被加数 SO:out STD_LOGIC_VECTOR(3 DOWNTTO 0); SO:out STD_LOGIC_VECTOR(3 DOWNTTO 0); -4位和 COUT:out STD_LOGIC COUT:out STD_LOGIC ); ); -高位进位输出END ;END ;实验二不同描述加法器设计ARHITECTURE ART OF ADDER4B ISBEGINprocess(a,b)variable cq,qq sq:STD_logic_vector(3 downto 0);beginqq(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;-实验二不同描述加法器设计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;实验二不同描述加法器设计实验前,要求做好实验预习,掌握运算器实验前,要求做好实验预习,掌握运算器ALUALU的特性,的特性,实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。试验完成后,写出实验报告。的实验教学目的。试验完成后,写出实验报告。实验二不同描述加法器设计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:0b3:0ciSum3:0cout实验二不同描述加法器设计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; 实验二不同描述加法器设计1、串行进位加法器、串行进位加法器 缺点:缺点:运算速度慢运算速度慢 其它组件其它组件:SN74H183-四位串行进位全加器。四位串行进位全加器。SN74283-四位超前进位全加器。四位超前进位全加器。实验二不同描述加法器设计原理图输入方法实验二不同描述加法器设计实验二不同描述加法器设计
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号