eda技术及应用课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
eda技术及应用课后习题答案【篇一:eda技术实用教程(第四版)》习题答案】
ss=txt>1 习题
1-1 eda技术与asic设计和fpga开发有什么关系?fpga在asic 设计中有什么用途?p3~4
1-2 与软件描述语言相比,vhdl有什么特点? p6
l-3 什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? p5
1-4 在eda技术中,自顶向下的设计方法的重要意义是什么?
p7~10
1-5 ip在eda技术的应用和发展中的意义是什么? p22~14
1-6 叙述eda的fpga/cpld设计流程,以及涉及的eda工具及其在整个流程中的作用。 (p11~13)
2 习题
2-1 olmc(输出逻辑宏单元)有何功能?说明gal是怎样实现可编程组合电路与时序电路的。 p34~36
2-2 什么是基于乘积项的可编程逻辑结构? p33~34,40 什么是基于查找表的可编程逻辑结构? p40~41
2-3 fpga系列器件中的lab有何作用? p43~45
2-5 解释编程与配置这两个概念。 p58
2-6 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的pld器件归类为cpld;将基于查找表的可编程逻辑结构的pld器什归类为fpga,那么,apex系列属于什么类型pld器件? max ii系列又属于什么类型的pld器件?为什么? p54~56
3 习题
3-1 画出与以下实体描述对应的原理图符号元件:
entity buf3s is --实体1:三态缓冲器
port(input:in std_logic; --输入端
enable:in std_logic; --使能端
output:out std_logic); --输出端
end buf3s ;
entity mux21 is --实体2: 2选1多路选择器
port(in0, in1,sel: in std_logic;
output:out std_logic);
3-2 图3-16所示的是4选1多路选择器,试分别用if_then语句和case语句的表达方式写出此电路的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 mux41;
architecture if_mux41 of mux41 is
signal s0s1 : std_logic_vector(1 downto 0);--定义标准逻辑位矢
量数据 begin
s0s1=s1s0; --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;
--解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=s1s0;--s1相并s0,即s1与s0并置操作
process(s0s1,a,b,c,d)
begin
case s0s1 is --类似于真值表的case语句
when 00 = y = a;
when 01 = y = b;
when 10 = y = c;
when 11 = y = d;
when others =null ;
end case;
end process;
end architecture case_mux41;
3-3 图3-17所示的是双2选1多路选择器构成的电路muxk,对于其中mux21a,当s=’0’和s=’1’时,分别有y=‘a’和y=’b’。试在一个结构体中用两个进程来表达此电路,每个进程中用case语句描述一个2选1多路选择器mux21a。
图3-17 含2选1多路选择器的模块
--解:用case语句实现图4-18所示的是双2选1多路选择器构成的电路
library ieee;
use ieee.std_logic_1164.all;
entity mux31 is
port(a1,a2,a3,s0,s1: in std_logic;
outy:out std_logic);
end entity mux31;
architecture case_mux31 of mux31 is
signal y : std_logic;
begin
u1: process(s0,a1,a2,a3)
begin
case s0 is --类似于真值表的case语句
when 0 = y = a2;
when 1 = y = a3;
when others =null ;
end case;
end process;