实验二不同描述加法器设计.ppt_第1页
实验二不同描述加法器设计.ppt_第2页
实验二不同描述加法器设计.ppt_第3页
实验二不同描述加法器设计.ppt_第4页
实验二不同描述加法器设计.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二加法器设计,程序设计方法 图形输入方法,一、实验目的: 1、学习和掌握半加器全加器的工作原理和设计方法; 2、熟悉EDA工具Quartus II的使用,能够熟练运用Vrilog HDL语言在Quartus II下进行工程开发、调试和仿真。 3、掌握组合逻辑电路在Quartus 中的图形输入方法及文本输入方法,掌握层次化设计方法。 4、掌握半加器、全加器采用不同的描述方法。 二、实验内容: (1) 完成半加器全加器的设计,包括原理图输入,编译、综合、适配、仿真等。并将半加器电路设置成一个硬件符号入库 (2)建立更高层次的原理图设计,利用1位半加器构成1位全加器,并完成编译、综合、适配、仿真并硬件测试 (3)采用图形输入法设计1位加法器分别采用图形输入和文本输入方法,设计全加器 (4)实验报告:详细叙述1位全加法器的设计流程,给出各层次的原理图及其对应的仿真波形图,给出加法器的上时序分析情况,最后给出硬件测试流程和结果。,实验二 加法器设计(一),三、实验步骤:,1、建立一个Project。 2、编辑一个VHDL程序 要求用VHDL结构描述的方法设计一个半加器 3、对该VHDL程序进行编译,修改错误。 4、建立一个波形文件。(根据真值表) 5、对该VHDL程序进行功能仿真和时序仿真,(一)、半加器,半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路,逻辑图,CO=AB,h-adder1 真值表描述 h-adder2 行为描述 h-adder3 结构描述,半加器的几种描述方法,实验任务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 abcSOSOSOSOUNLL; END CASE; END PROCESS; END ARCHITECTURE FH1;,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;,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 按逻辑表达式设计,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,-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 :结构描述,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;,逻辑图,图形输入加法器设计(三),Quartus原理图输入设计: 1、建立工程项目(工程目录,名称和选择合适器件 2、编辑设计图形文件(放置元件,连线,设定输入输出管脚名称) 3、编译设计图形文件(检查电路是否有 错) 4、时序仿真设计(仿真波形验证设计结果) 5、生成元件符号 为高层电路调用 File/new project wizard 建立工程 选择项目存放目录:,实验目的: 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus 中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理 3、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进行工程开发、调试和仿真。 4、掌握半加器设计方法 5、掌握全加器的工作原理和使用方法,电路原理图输入方法,实验步骤 1、启动Quartus 2、建立新工程 NEW PROJECT 3、设定项目保存路径项目名称顶层实体名称 4、建立新文件 Blok Diagram/Schematic File 5、保存文件 FILE /SAVE 6、原理图设计输入 元件符号放置 通过EDIT-SYMBOL 插入元件或点击图标 元件复制 元件移动 元件转动 元件删除 管脚命名 PIN_NAME 元件之间连线(直接连接,引线连接) 7、保存原理图 8 、编译: 顶层文件设置,PROJECT-Set as Top-Level 开始编译 processing-Start Compilation,编译有两种:全编译包括分析与综合(Analysis&Synthesis)、适配(Fitter)、编程(assembler)时序分析(Classical Timing Analysis)4个环节,而这4个环节各自对应相应菜单命令,可单独发布执行也可以分步执行 8 、逻辑符号生成 FILECreat/-update-create Symbol File forCurrent File 9 、仿真 建立仿真文件 添加需要的输入输出管脚 设置仿真时间 设置栅格的大小 设置输入信号的波形(激励信号) 保存文件,仿真 功能仿真:主要检查逻辑功能是否正确,功能仿真方法 时序仿真:,RTL阅读器:观察设计电路的综合结果,TOOLS-Netlist ViewersRTL Viewer命令 9 、仿真 建立仿真wenjian 添加需要的输入输出管脚 设置仿真时间 设置栅格的大小 设置输入信号的波形 保存文件,仿真 功能仿真:主要检查逻辑功能是否正确,功能仿真方法如下: 1TOOL/SIMULATOR TOOL,在SIMULATOR MODE下选择 Functional,在SIMULATION INPUT栏中指定波形激励文件,单击Gencrator Functional Simulator Netist,生成功能仿真网表文件。,工程项目目录,项目名称,项目顶层设计实体名称,创建工程,图形输入设计文件,工具介绍:,何时使用原理图设计输入? 符合传统电路设计习惯 一般只在”TOP-LEVE使用 元件库使用: Megafunctions/LPM:功能复杂,参数可设置的模块 Primitives 基本图元:简单的、功能固定的逻辑元件,不可调整参数,参数可设置的宏功能函数,LPM参数可设置兆函数,基本逻辑门电路,基本单元电路,二、实验内容: 1、建立一个Project。 2、图形输入设计:要求用VHDL结构描述的方法设计一个半加器 3、进行编译,修改错误。 4、建立一个波形文件。(根据真值表) 5、对该VHDL程序进行功能仿真和时序仿真Simulation,一、半加器,半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路,逻辑图,CO=AB,1、建立仿真通道文件SOF 2 、输入信号节点 3 、设置仿真参数 4 、设定仿真时间 5 、设置输入信号波形 6 、保存波形文件 7 、运行仿真器 8 、观察波形,主要操作步骤,建立文件目录 启动Quartus打开图形编辑器输入设计并存盘 编译 时序仿真或功能仿真,参数可设置的宏功能函数,基本逻辑单元库,输入新元件,自己生产的元件,实验内容1,逻辑符号生成 FILECreat/-update-create Symbol File forCurrent File,实验任务2 采用基本逻辑门电路设计,异或设计半加器,实验任务3(任选) 与非设计半加器,由全加器真值表 可得出逻辑函数,实验任务4:全加器设计,实验任务5 根据逻辑表达式设计全加器,符号图,用任务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) 掌握算术逻辑运算器单元ALU(74LS181)的工作原理。 2) 掌握简单运算器的数据传送通道。 3) 验算由74LS181等组合逻辑电路组成的运算功能发生器运算功能。 4) 能够按给定数据,完成实验指定的运算/逻辑运算。 要求: 2. 实验方案: 1) 按要求在实验仪器上接线,并检查正确与否,再接通电源 2) 用二进制数据开关分别向DR1寄存器和DR2寄存器置数。 3) 通过总线输出寄存器DR1和DR2的内容。 4) 验证74LS181和算术逻辑运算功能(才能正逻辑)。,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 ;,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;-,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;,实验前,要求做好实验预习,掌握运算器ALU的特性, 实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。试验完成后,写出实验报告。,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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论