第3章 组合电路的VHDL设计(四)—习题

合集下载

EDA技术与VHDL程序设计基础教程习题答案

EDA技术与VHDL程序设计基础教程习题答案

EDA技术与VHDL程序设计基础教程习题答案EDA技术与VHDL程序设计基础教程习题答案第1章EDA习题答案1.8.1填空1.EDA的英文全称是Electronic Design Automation2.EDA技术经历了计算机辅助设计CAD阶段、计算机辅助工程设计CAE阶段、现代电子系统设计自动化EDA阶段三个发展阶段3. EDA技术的应用可概括为PCB设计、ASIC设计、CPLD/FPGA 设计三个方向4.目前比较流行的主流厂家的EDA软件有Quartus II、ISE、ModelSim、ispLEVER5.常用的设计输入方式有原理图输入、文本输入、状态机输入6.常用的硬件描述语言有VHDL、V erilog7.逻辑综合后生成的网表文件为EDIF8.布局布线主要完成将综合器生成的网表文件转换成所需的下载文件9.时序仿真较功能仿真多考虑了器件的物理模型参数10.常用的第三方EDA工具软件有Synplify/Synplify Pro、Leonardo Spectrum1.8.2选择1.EDA技术发展历程的正确描述为(A)A CAD->CAE->EDAB EDA->CAD->CAEC EDA->CAE->CADD CAE->CAD->EDA2.Altera的第四代EDA集成开发环境为(C)A ModelsimB MUX+Plus IIC Quartus IID ISE3.下列EDA工具中,支持状态图输入方式的是(B)A Quartus IIB ISEC ispDesignEXPERTD Syplify Pro4.下列几种仿真中考虑了物理模型参数的仿真是(A)A时序仿真B 功能仿真C 行为仿真D 逻辑仿真5.下列描述EDA工程设计流程正确的是(C)A输入->综合->布线->下载->仿真B布线->仿真->下载->输入->综合C输入->综合->布线->仿真->下载D输入->仿真->综合->布线->下载6.下列编程语言中不属于硬件描述语言的是(D)A VHDLB V erilogC ABELD PHP1.8.3问答1.结合本章学习的知识,简述什么是EDA技术?谈谈自己对EDA 技术的认识?答:EDA(Electronic Design Automation)工程是现代电子信息工程领域中一门发展迅速的新技术。

组合逻辑VHDL设计——门电路

组合逻辑VHDL设计——门电路

实验名称:组合逻辑VHDL设计——门电路班级: 09电气2Z 学号: 09312213 姓名:钱雷一、3输入与非门的VHDL设计1.实体框图2.程序设计①正确的程序entity nand3a isport(a,b,c:in bit;y:out bit);end entity nand3a;architecture ex1 of nand3a isbeginy<=not(a and b and c);end architecture ex1;3.仿真波形图4.仿真波形分析由真值表可知:A B C Y0 0 0 10 0 1 10 1 0 10 1 1 11 0 0 11 0 1 11 1 0 11 1 1 0当输入有零时输出全部为1,当输入全部为1时,输出才为0.二、2输入异或门的VHDL设计1.实体框图2.程序设计①正确的程序library ieee;use ieee.std_logic_1164.all;entity xor2a isport(a,b:in std_logic;y:out std_logic);end entity xor2a;architecture ex1 of xor2a isbeginy<=((not a) and b) or (a and (not b));end architecture ex1;3.仿真波形图4.仿真波形分析由真值表可知:A B Y0 0 00 1 11 0 01 1 1当输入相同时输出为0,输入不同时输出为1.三、3输入与非门的VHDL设计1.实体框图2.程序设计①编译前的程序library ieee;use ieee.std_logic_1164.all;entity adder4 isport(a,b,ci:in std_logic;co:out std_logic);end entity adder4;architecture ex1 of adder4 isbegins<=(not(((not a) and b) or (a and (not b))) and ci) or((((not a)and b)or (a and (not b))) and (not ci)) co<=((((not a)and b) or (a and (not b))) and ci) or (a and b)end architecture ex1;②程序编译错误情况错误1:③正确的程序library ieee;use ieee.std_logic_1164.all;entity adder4 isport(a,b,ci:in std_logic;s,co:out std_logic);end entity adder4;architecture ex1 of adder4 isbegins<=(not(((not a) and b) or (a and (not b))) and ci) or((((not a)and b)or (a and (not b))) and (not ci));co<=((((not a)and b) or (a and (not b))) and ci) or (a and b);end architecture ex1;3.仿真波形图4.仿真波形分析由真值表可以知道:A B C S CO0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1由真值表可知s是加法器的和位输出,co是加法器的进位输出。

VHDL程序练习题(含答案)

VHDL程序练习题(含答案)

VHDL程序填空题(一)在下面横线上填上合适的VHDL关键词,完成2选1多路选择器的设计。

LIBRARY IEEE;USE IEEE。

STD_LOGIC_1164.ALL;1 MUX21 ISPORT(SEL:IN STD_LOGIC;A,B:IN STD_LOGIC;Q:OUT STD_LOGIC );END MUX21;2 BHV OF MUX21 ISBEGINQ<=A WHEN SEL=’1’ EL SE B;END BHV;(二)在下面横线上填上合适的语句,完成BCD—7段LED显示译码器的设计。

LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164。

ALL;ENTITY BCD_7SEG ISPORT(BCD_LED :IN STD_LOGIC_VECTOR(3 DOWNTO 0);LEDSEG :OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END BCD_7SEG;ARCHITECTURE BEHA VIOR OF BCD_7SEG ISBEGINPROCESS(BCD_LED)3IF BCD_LED="0000” THEN LEDSEG<=”0111111”;ELSIF BCD_LED=”0001” THEN LEDSEG<="0000110”;ELSIF BCD_LED=”0010" THEN LEDSEG<= 4 ;ELSIF BCD_LED=”0011" THEN LEDSEG<=”1001111";ELS IF BCD_LED=”0100" THEN LEDSEG<="1100110";ELSIF BCD_LED=”0101" THEN LEDSEG〈="1101101";ELSIF BCD_LED=”0110" THEN LEDSEG〈=”1111101";ELSIF BCD_LED=”0111" THEN LEDSEG〈="0000111";ELSIF BCD_LED="1000" THEN LEDSEG〈=”1111111”;ELSIF BCD_LED="1001” THE N LEDSEG<="1101111”;ELSE LEDSEG<= 5 ;END IF;END PROCESS;END BEHA VIOR;(三) 在下面横线上填上合适的语句,完成数据选择器的设计。

2选1选择器的VHDL设计课件

2选1选择器的VHDL设计课件

3.1 多路①可以使用26个英文字母,数字0-9以及下划线“_”,且 只能以英文字母开头;
②不区分大小写;最长不超过64个字符;
③必须是单一下划线,且下划线前后都必须有英文字母 或数字;
6、端口定义语句port和端口模式 端口模式
IN 输入端口,定义的通道为单向只读模 OUT 式输出端口,定义的通道为单向输出模 INOUT 式 定义的通道确定为输入输出双向端口 BUFFER 缓冲端口,其功能与INOUT类似
3、界符 标点符号“;”表示VHDL中语句的结束;
3.1 多路选择器的VHDL描述
4、实体和结构体
实体和结构体是VHDL程序的两个基本组成部分;其中 实体主要用于定义电路或系统的外部端口;结构体用于定义 内部逻辑功能或电路结构。
ENTITY e_name IS PORT ( p_name : port_m
-- 注意,赋值条件的数据类型必须是boolean
3.1 多路选择器的VHDL描述
思考 ❖还有没有其它方法实现二选一? ❖n选一的多路选择器怎么设计?
3.1 多路选择器的VHDL描述
9、赋值符号<=
信号赋值符号“<=”,表示将符号右端的值赋值给左端的 信号; 10、关系运算符=
等号“=”没有赋值的含义,也不是相等的意思,而是 关系运算符,只是一种数据比较符号,其结果只有两种情况, 要么为真true,条件成立;要么为假false,条件不成立。 表达式 WHEN 赋值条件 ELSE
END ARCHITECTURE one ;
3.1 多路选择器的VHDL描述
3.1 多路选择器的VHDL描述
entity 实体
architecture 结构体
实体 mux21a1

VHDL复习题

VHDL复习题

VHDL复习题习题3.1比较常用硬件描述语言VHDL、Verilog和ABEL语言的优劣。

1.VHDL:描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高。

有多种EDA工具选择,已成为IEEE标准。

应用VHDL进行工程设计的优点是多方面的,具体如下:(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。

(2) VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性做出判断。

(3) VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。

(4) 用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL 描述设计转变成门级网表(根据不同的实现芯片)。

(5) VHDL对设计的描述具有相对独立性。

(6) VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。

2. Verilog:设计者需要了解电路的结构细节,对综合器的性能要求较低。

有多种EDA工具选择,已成为IEEE标准。

3.ABEL: 设计者需要了解电路的结构细节,对综合器的性能要求较低。

支持ABEL的综合器只有一家,ABEL正朝国际化标准努力。

3.2 VHDL程序一般包括几个组成部分?每部分的作用是什么?(1)三个基本组成部分:库、程序包使用说明,实体描述和实体对应的结构体描述。

(2)库、程序包使用说明:用于打开调用本设计实体将用到的库、程序包实体描述:用于描述该设计实体与外界的接口信号说明结构体描述:用于描述该设计实体内部的组成及内部工作的逻辑关系结构体配置语句主要用于层次化的方式对特定的设计实体进行元件的例化,或是为实体选定某个特定的结构体3.3 VHDL语言中数据对象有几种?各种数据对象的作用范围如何?各种数据对象的实际物理含义是什么?(1)数据对象有三种:变量、常量、信号(2)常量的作用范围取决于其所定义的位置。

最新VHDL程序练习题(含答案)资料

最新VHDL程序练习题(含答案)资料

VHDL程序填空题(一) 在下面横线上填上合适的VHDL关键词,完成2选1多路选择器的设计。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;1 MUX21 ISPORT(SEL:IN STD_LOGIC;A,B:IN STD_LOGIC;Q: OUT STD_LOGIC );END MUX21;2 BHV OF MUX21 ISBEGINQ<=A WHEN SEL=’1’ ELSE B;END BHV;(二) 在下面横线上填上合适的语句,完成BCD-7段LED显示译码器的设计。

LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BCD_7SEG ISPORT( BCD_LED : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LEDSEG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END BCD_7SEG;ARCHITECTURE BEHA VIOR OF BCD_7SEG ISBEGINPROCESS(BCD_LED)3IF BCD_LED="0000" THEN LEDSEG<="0111111";ELSIF BCD_LED="0001" THEN LEDSEG<="0000110";ELSIF BCD_LED="0010" THEN LEDSEG<= 4 ;ELSIF BCD_LED="0011" THEN LEDSEG<="1001111";ELSIF BCD_LED="0100" THEN LEDSEG<="1100110";ELSIF BCD_LED="0101" THEN LEDSEG<="1101101";ELSIF BCD_LED="0110" THEN LEDSEG<="1111101";ELSIF BCD_LED="0111" THEN LEDSEG<="0000111";ELSIF BCD_LED="1000" THEN LEDSEG<="1111111";ELSIF BCD_LED="1001" THEN LEDSEG<="1101111";ELSE LEDSEG<= 5 ;END IF;END PROCESS;END BEHA VIOR;(三) 在下面横线上填上合适的语句,完成数据选择器的设计。

EDA技术使用教程vhdl(第四版)课后答案—潘松版

第一章1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。

FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。

FPGA 和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。

1-2与软件描述语言相比,VHDL有什么特点? P6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。

综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。

综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。

l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。

有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。

(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。

(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。

(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。

综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。

VHDL程序设计题

VHDL 程序设计题四、 编程题(共50分)1、请补全以下二选一VHDL 程序(本题10分) Entity mux isport(d0,d1,sel:in bit;q:out BIT ); (2) end mux;architecture connect of MUX is (4) signal tmp1, TMP2 ,tmp3:bit; (6) begin cale: block begintmp1<=d0 and sel;tmp2<=d1 and (not sel) tmp3<= tmp1 and tmp2;q <= tmp3; (8) end block cale;end CONNECT ; (10)2、编写一个2输入与门的VHDL 程序,请写出库、程序包、实体、构造体相关语句,将端口定义为标准逻辑型数据结构(本题10分)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; (2) ENTITY nand2 ISPORT (a ,b:IN STD_LOGIC; (4)&a byy:OUT STD_LOGIC); (6)END nand2;ARCHITECTURE nand2_1 OF nand2 IS (8)BEGINy <= a NAND b; --与y <=NOT( a AND b);等价(10)END nand2_1;3、根据下表填写完成一个3-8线译码器的VHDL程序(16分)。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 ISPORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC;y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); (2)END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 ISSIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0); (4)BEGINindata <= c & b & a; (6)PROCESS (indata,g1,g2a,g2b)BEGINIF (g1 = '1' AND g2a = '0' AND g2b = '0' ) THEN (8)CASE indata ISWHEN "000"=> y <= "11111110";WHEN "001" => y <= "11111101";WHEN "010" => y <= "11111011"; (10)WHEN "011" => y <= "11110111";WHEN "100" => y <= "11101111";WHEN "101" => y <= "11011111";WHEN "110" => y <= "10111111"; (12)WHEN "111" => y <= "01111111";WHEN OTHERS=> y <= "XXXXXXXX";END CASE;ELSEy <= "11111111"; (14)END IF;END PROCESS; (16)END rtl;4、三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。

第3章 组合逻辑电路


F
&
&
&
&
A
B
C
本例采用的是“真值表法”,真值表法的优点是规整、清晰; 缺点是不方便,尤其当变量较多时十分麻烦。
例 设计一个组合逻辑电路,用于判别以余3码表示的1 位十进制数是否为合数(一个数,如果除了一和他本身还有 别的因数,这样的数叫做合数,与之相对的是质数)。 解 设输入变量为ABCD,输出函数为 F,当ABCD表示 的十进制数为合数 (4 、 6 、 8、 9) 时,输出 F 为 1,否则 F为 0。
毛刺
使用卡诺图判断一个组合逻辑电路是否存在着 竞争冒险的一般步骤是: • 先画出该电路逻辑函数的卡诺图; • 然后在函数卡诺图上画出与表达式中所有乘积项 相对应的卡诺圈; • 如果图中有相切的卡诺圈,则该逻辑电路存在着 竞争冒险。(“0”冒险是1构成的圈,“1”冒险是 0构成的圈。
所谓卡诺圈相切即两个卡诺圈之间存在不被同一卡 诺圈包含的相邻最小项。
产生冒险的原因
A
1
≥1
F=A+A=1 理想情况
以例说明
A A
F 实际情况
造成冒险的原因是由于A和 A到达或门的时间不同。
再举一例 A C B
1 & BC & AC ≥1
A B F=AC+BC C C AC BC F
(分析中略去与门和或门的延时)
产生冒险的原因 : 电路存在由非门产生的互补信 号,且互补信号的状态发生变化 时有可能出现冒险现
有公用项
经变换后,组成电路时可令其共享同一个异或门,从而 使整体得到进一步简化,其逻辑电路图如下图所示。
多数出组合电路达到最简的关键是在函数化简时找出各输 出函数的公用项,使之在逻辑电路中实现对逻辑门的“共享”, 从而达到电路整体结构最简。

EDA(第4讲)第3章 VHDL入门3


13三人表决器的设计——CSE语句课堂练习题 语句课堂练习题
输入变量 输出 a b 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 y 0 0 0 1 0 1 1 1 要求: 根据真值表,写出VHDL程序 bjq a b c y
14
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; END PROCESS; ENTITY bjq IS END ARCHITECTURE aa ; PORT (a, b, c : IN STD_LOGIC; y : OUT STD_LOGIC); END ENTITY bjq; ARCHITECTURE aa OF bjq is SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ; BEGIN 输入变量 输出 abc <= a & b & c; PROCESS(abc) a b c y BEGIN 0 0 0 0 CASE abc IS
0 0 0
0 1 1 0 0 1 1
1 0 1 0 1 0 1
0 0 1 0 1 1 1
15
; ; ; ;
1 1 1 1
外部端口
内部端口
端口连线: 端口连线:信号
16
或门的VHDL描述:or2a.vhd 描述: 或门的 描述
LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a, b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or2a; ; ARCHITECTURE one OF or2a IS BEGIN c <= a OR b ; END ARCHITECTURE one ;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档