《《eda技术实用教程(第四版)》习题答案.doc》由会员分享,可在线阅读,更多相关《《eda技术实用教程(第四版)》习题答案.doc(36页珍藏版)》请在金锄头文库上搜索。
1、EDA技术实用教程(第四版)习题1 习 题 1-1 EDA技术与ASIC设计和FPGA开发有什么关系?FPGA在ASIC设计中有什么用途?P34 1-2 与软件描述语言相比,VHDL有什么特点? P6 l-3 什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 1-4 在EDA技术中,自顶向下的设计方法的重要意义是什么? P710 1-5 IP在EDA技术的应用和发展中的意义是什么? P2214 1-6 叙述EDA的FPGA/CPLD设计流程,以及涉及的EDA工具及其在整个流程中的作用。 (P1113)2 习 题 2-1 OLMC(输出逻辑宏单元)有何功能?说明GAL是怎样实现
2、可编程组合电路与时序电路的。 P3436 2-2 什么是基于乘积项的可编程逻辑结构? P3334,40 什么是基于查找表的可编程逻辑结构? P4041 2-3 FPGA系列器件中的LAB有何作用? P4345 2-5 解释编程与配置这两个概念。 P58 2-6 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的PLD器件归类为CPLD;将基于查找表的可编程逻辑结构的PLD器什归类为FPGA,那么,APEX系列属于什么类型PLD器件? MAX II系列又属于什么类型的PLD器件?为什么? P54563 习 题 3-1 画出与以下实体描述对应的原理图符号元件: ENT
3、ITY buf3s IS -实体1:三态缓冲器 PORT(input:IN STD_LOGIC; -输入端 enable:IN STD_LOGIC; -使能端 output:OUT STD_LOGIC); -输出端 END buf3s ;buf3sinput outputenable ENTITY mux21 IS -实体2: 2选1多路选择器 PORT(in0, in1,sel: IN STD_LOGIC; output:OUT STD_LOGIC);mux21in0outputin1sel 3-2 图3-16所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此
4、电路的VHDL程序,选择控制信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1=0,s0=0;s1=0,s0=1;s1=1,s0=0和s1=1,s0=1时,分别执行y=a、y=b、y=c、y=d。图3-16 4选1多路选择器-解1:用IF_THEN语句实现4选1多路选择器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT (a,b,c,d: IN STD_LOGIC; s0: IN STD_LOGIC; s1: IN STD_LOGIC; y: OUT STD_LOGIC); END ENTITY m
5、ux41; ARCHITECTURE if_mux41 OF mux41 IS SIGNAL s0s1 : STD_LOGIC_VECTOR(1 DOWNTO 0);-定义标准逻辑位矢量数据 BEGIN s0s1=s1&s0; -s1相并s0,即s1与s0并置操作 PROCESS(s0s1,a,b,c,d) BEGIN IF s0s1 = 00 THEN y = a; ELSIF s0s1 = 01 THEN y = b; ELSIF s0s1 = 10 THEN y = c; ELSE y = d; END IF; END PROCESS; END ARCHITECTURE if_mux41
6、;-解2:用CASE语句实现4选1多路选择器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT (a,b,c,d: IN STD_LOGIC; s0: IN STD_LOGIC; s1: IN STD_LOGIC; y: OUT STD_LOGIC); END ENTITY mux41; ARCHITECTURE case_mux41 OF mux41 IS SIGNAL s0s1 : STD_LOGIC_VECTOR(1 DOWNTO 0);-定义标准逻辑位矢量数据类型 BEGIN s0s1 y y y y NUL
7、L ; END CASE; END PROCESS; END ARCHITECTURE case_mux41; 3-3 图3-17所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s=0和s=1时,分别有y=a和y y y NULL ; END CASE; END PROCESS;u2: PROCESS(s1,a1,a2,a3,y) BEGIN CASE s1 IS -类似于真值表的case语句 WHEN 0 = outy outy NULL ; END CASE; END PROCESS; END ARCHITECTURE case_mux31; 3-4 将例3-20程序
8、的计数器改为十二进制计数器,程序用例3-21的方式表述,并且将复位RST改为同步清零控制,加载信号LOAD改为异步控制方式。讨论例3-20与例3-21的异同点。-解:十二进制计数器VHDL程序设计。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT12 IS PORT(CLK,RST,EN,LOAD : IN STD_LOGIC; DATA : IN STD_LOGIC_VECTOR(3 DOWNTO 0); -4位预置数 DOUT : OUT STD_LOGIC_VECTOR(
9、3 DOWNTO 0);-计数值输出 COUT : OUT STD_LOGIC); -计数进位输出END CNT12;ARCHITECTURE behav OF CNT12 IS SIGNAL Q : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN REG: PROCESS(CLK,RST,EN,LOAD,Q) BEGIN IF LOAD=0 THEN Q=DATA; -允许加载 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF RST=0 THEN Q0); -计数器异步复位 ELSE IF EN=1 THEN -检测是否允许计数或加
10、载(同步使能) IF LOAD=0 THEN Q=DATA; -允许加载 ELSE IF Q12 THEN Q=Q+1; -允许计数,检测是否小于9 ELSE Q0); -大于等于9时,计数值清零 END IF; END IF; END IF; END IF; END IF; END PROCESS; COM: PROCESS(Q) BEGIN IF Q=12 THEN COUT=1; -计数大于9,输出进位信号 ELSE COUT=0; END IF; DOUT=Q; -将计数值向端口输出 END PROCESS;END behav; 3-5 设计含有异步清零和计数使能的16位二进制加减可控计数器。-解:用VHDL实现含有异步清零和计