EDA技术及应用【朱正伟】第五章课后习题部分答案
EDA部分习题答案.ppt
5. 什么叫综合,一般综合应包含哪些过程? 答:综合是指将HDL语言、原理图等设计输入翻
译成基本逻辑单元组成的互联的网表文件或程序。 综合的过程包括路径和资源优化。
第2章
2. 答:一个相对完整的VHDL程序通常包含实体
(Entity)、结构体(Architecture)、配置 (Configuration)、程序包(Package)和库(Library)5 个部分。
变量的赋值是一种理想化的数据传输,是立即发 生,不存在任何延时的行为。
(3)信号是描述硬件系统的基本数据对象,它类 似于连接线。信号可以作为设计实体中并行语句模 块间的信息交流通道。 信号的定义格式如下:
SIGNAL 信号名: 数据类型﹕=初始值;
信号的使用和定义范围是实体、结构体和程序包。
在进程和子程序中不允许定义信号。
3. 答:VHDL主要由常数、变量和信号三种数据对象。
(1)常量是一个恒定不变的值,一旦作了数据类 型的赋值定义后,在程序中不能再改变,具有全局 意义。
常量的定义形式如下: CONSTANT 常量名:数据类型﹕=表达式;
(2)变量是一个局部量,只能在进程和子程序中 使用。
变量不能将信息带出对它作出定义的当前设计单 元。
(1)程序包存放各个设计模块共享的数据类型、常数 和子程序等;库是专门存放预编译程序包的地方。
(2)实体用于描述所设计的系统的外部接口信号,是可 视部分; (3)结构体用于描述系统内部的结构和行为,建立输入 和输出之间的关系,是不可视部分。
(4)配置说明语句主要用于以层次化的方式对特定的设 计实体进行元件例化,或是为实体选定某个特定的结构体。
5. BUFFER:输出,输出的信号可以引回内部
再使用。 INOUT:双向,端口既可以读也可以写。
EDA技术及应用习题参考答案
习题参考答案第2章1.可编程只读存储器PROM、可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL2.EPC型号的存储器3.(1)编程输入(2)编译若编译不成功,需要回到第一步检查编程输入,直到编译成功为止(3)仿真仿真的结果直接反映编程的结果,若结果不正确,也需要返回到第一步,重复前面的过程(4)下载4.FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。
因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。
CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。
FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。
CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。
5.67.宏单元、PIA、I/O控制块8.MAX7000系列一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。
但是编写次数有限,编程的速度不快;FLEX10K系列采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。
因此,需在FPGA外加专用配置芯片,将配置数据写入其中,系统每次上电自动将数据引入专用配置芯片中。
第3章1.设计输入、项目编译、仿真和定时分析、编程下载2.(1)原理图输入适合于对系统电路很熟悉的情况或用在对时间特性要求较高的场合;(2)波形图输入适用于时序逻辑和有重复性的逻辑函数;(3)文本输入适用于从逻辑门层次的描述到整个系统的描述。
;(4)层次化输入适用于结构较复杂的系统。
3.优点:(1)支持模块化,底层模块可反复被调用,多个底层模块可由不同的设计者同时使用,提高了设计效率;(2)设计方法比较自由;(3)团队之间的合作方便灵活。
EDA技术与应用课后习题答案(6)
EDA技术与应⽤课后习题答案(6)EDA技术与应⽤课后习题答案 CLK: IN STD_LOGIC; --状态机⼯作时钟 EOC: IN STD_LOGIC; --转换状态指⽰,低电平表⽰正在转换 ALE:OUT STD_LOGIC; --8个模拟信号通道地址锁存信号 START:OUT STD_LOGIC; --转换开始信号 OE:OUT STD_LOGIC; --数据输出三态控制信号 ADDA:OUT STD_LOGIC; --信号通道最低位控制信号 LOCK0:OUT STD_LOGIC; --观察数据锁存时钟 Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); --8位数据输出 END ADCINT; ARCHITECTURE behav OF ADCINT IS TYPE states IS(st0,st1,St2,st3,st4); --定义各状态⼦类型 SIGNAL current_state,next_state: states:=st0; SIGNAL REGL: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK: STD_LOGIC;--转换后数据输出锁存时钟信号 BEGIN ADDA<='1';--当ADDA<='0',模拟信号进⼊通道IN0;当ADDA<='1',则进⼊通道INI Q<=REGL;LOCK0<=LOCK; COM: PROCESS(current_state,EOC) BEGIN --规定各状态转换⽅式 CASE current_state IS WHEN st0=> ALE<='0';START<='0';LOCK<='0';OE<='0'; next_state<=st1; --0809初始化 WHEN st1=> ALE<='1';START<='1';LOCK<='0';OE<='0'; next_state<=st2 ;--启动采样 WHEN st2=> ALE<='0';START<='0';LOCK<='0'; OE<='0'; IF(EOC='1') THEN next_state<=st3;--EOC=1表明转换结束 ELSE next_state<=st2; END IF; --转换未结束,继续等待 WHEN st3=> ALE<='0';START<='0';LOCK<='0';OE<='1'; next_state<=st4;--开启OE,输出转换好的数据 WHEN st4=> ALE<='0';START<='0';LOCK<='1';OE<='1';next_state<=st0; WHEN OTHERS=>next_state<=st0; END CASE; END PROCESS COM; REG:PROCESS(CLK) BEGIN IF(CLK'EVENT AND CLK='1') THEN current_state<=next_state; END IF; END PROCESS REG; --由信号current_state将当前状态值带出此进程:REG LATCH1: PROCESS(LOCK) --此进程中,在LOCK的上升沿,将转换好的数据锁⼊ BEGIN IF LOCK='1' AND LOCK'EVENT THEN REGL<=D; END IF; END PROCESS LATCH1; END behav; 8-5在不改变原代码功能的条件下⽤两种⽅法改写例8-2,使其输出的控制信号(ALE、START、OE、LOCK)没有⽑刺。
EDA课后答案(适用于《EDA技术及应用》)
1.1、设计集成计数器74161,设计要求如下:4-BIT BINARY UP COUNTER WITH SYNCHRONOUS LOAD AND ASYNCHRONOUS CLEAR NOTEINPUTS: CLK LDN CLRN D C B AOUTPUTS:QD QC QB QA RCO*RCO = QD & QC & QB & QALIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4 ISPORT(CLK,LDN,CLRN : IN STD_LOGIC;D,C,B,A : IN STD_LOGIC;CARRY : OUT STD_LOGIC;QD,QC,QB,QA : OUT STD_LOGIC);END;ARCHITECTURE A OF CNT4 ISSIGNAL DATA_IN: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINDATA_IN<=D&C&B&A;PROCESS(DATA_IN,CLK,LDN,CLRN)VARIABLE CNT:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF CLRN='0' THENCNT:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF LDN='0' THENCNT:=DATA_IN;ELSECNT:=CNT+1;END IF;END IF;CASE CNT ISWHEN "1111"=> CARRY<='1';WHEN OTHERS=> CARRY<='0';END CASE;QA<=CNT(0);QB<=CNT(1);QC<=CNT(2);QD<=CNT(3);END PROCESS;END A;1.2、设计一个通用双向数据缓冲器,要求缓冲器的输入和输出端口的位数可以由参数决定。
eda技术及应用课后习题答案
eda 技术及应用课后习题答案【篇一:eda 技术实用教程(第四版)》习题答案】ss=txt>1 习题1- 1 eda 技术与asic 设计和fpga 开发有什么关系?fpga 在asic 设计中有什么用途?p3~41- 2 与软件描述语言相比,vhdl 有什么特点? p6l- 3 什么是综合?有哪些类型? 综合在电子设计自动化中的地位是什么? p51- 4 在eda 技术中,自顶向下的设计方法的重要意义是什么? p7~101- 5 ip 在eda 技术的应用和发展中的意义是什么? p22~141- 6 叙述eda 的fpga/cpld 设计流程,以及涉及的eda 工具及其在整个流程中的作用。
(p11~13)2 习题2- 1 olmc (输出逻辑宏单元)有何功能? 说明gal 是怎样实现可编程组合电路与时序电路的。
p34~362- 2 什么是基于乘积项的可编程逻辑结构? p33~34 ,40 什么是基于查找表的可编程逻辑结构? p40~412- 3 fpga 系列器件中的lab 有何作用? p43~452- 5 解释编程与配置这两个概念。
p582- 6 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的pld 器件归类为cpld ;将基于查找表的可编程逻辑结构的pld 器什归类为fpga ,那么,apex 系列属于什么类型pld 器件? max ii 系列又属于什么类型的pld 器件?为什么? p54~563 习题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=;'s01'='0',s0= ;'1' s1 =' 1' ,s0=和Sf='1' ,s0=时,分别执行y=a、y=b、y=c、y=d。
EDA课后题答案
第一章1.什么叫EDA技术?及狭义定义(书P1)Electronic Design Automation--电子设计自动化。
EDA的广义定义范围包括:半导体工艺设计自动化、可编程器件设计自动化、电子系统设计自动化、印刷电路板设计自动化、仿真与测试、故障诊断自动化、形式验证自动化统称EDA工程。
2.EDA发展历程:CAD- CAE -EDA3 .EDA技术的主要内容实现载体(硬件基础):大规模可编程逻辑器件(PLD_Programmable Logic Device)描述方式:硬件描述语言(HDL_Hard descripation Lauguage,VHDL,Verilog HDL等)设计工具:开发软件、开发系统硬件验证:实验开发系统FPGA 在结构上主要分为三个部分,即可编程逻辑单元,可编程输入/输出单元和可编程连线三个部分。
CPLD在结构上主要包括三个部分,即可编程逻辑宏单元,可编程输入/输出单元和可编程内部连线。
4.硬件描述语言(HDL_Hardware Description Language)VHDL:IEEE标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。
系统级抽象描述能力较强。
Verilog:支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL 稍简单,门级开关电路描述能级较强,但其在高级描述方面不如VHDL。
ABEL:一种支持各种不同输入方式的HDL,系统级抽象描述能力差,适应于门级电路描述。
5. 仿真工具功能仿真(也叫前仿真、系统级仿真、行为仿真)验证系统的功能。
时序仿真(也叫后仿真、电路级仿真):验证系统的时序特性、系统性能。
6. EDA的工程设计流程(P8)第二章1.在系统可编程技术(ISP)定义ISP(In_System Programmability/Programming)是指对器件、电路板、整个电子系统进行逻辑重构和修改功能的能力。
EDA技术与VHDL(第二版)清华大学出版社--第五章部分习题答案
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY12 ISPORT ( CLK ,DA TAIN,RESET : IN STD_LOGIC;Q : OUT STD_LOGIC_VECTOR(4 DOWNTO 0));END MEALY12;ARCHITECTURE behav OF MEALY12 ISTYPE states IS (st0, st1, st2, st3,st4);SIGNAL STX : states ;BEGINCOMREG : PROCESS(CLK,RESET) BEGIN--决定转换状态的进程IF RESET ='1' THEN STX <= ST0;ELSIF CLK'EVENT AND CLK = '1' THEN CASE STX ISWHEN st0 => IF DA TAIN = '1' THEN STX <= st1;Q <= "10000" ;else Q<="01010" ;END IF;WHEN st1 => IF DA TAIN = '0' THEN STX <= st2;Q <= "10111" ;else Q<="10100" ; END IF;WHEN st2 => IF DA TAIN = '1' THEN STX <= st3; Q <= "10101" ;else Q<="10011" ;END IF;WHEN st3=> IF DA TAIN = '0' THEN STX <= st4; Q <= "11011" ;else Q<="01001" ;END IF;WHEN st4=> IF DA TAIN = '1' THEN STX <= st0; Q <= "11101" ;else Q<="01101" ;END IF;WHEN OTHERS => STX <= st0; Q<="00000" ;END CASE ;END IF;END PROCESS COMREG ;END behav;(例5-5,双进程时序图)(单进程时序图)要求一:表达的是moore型状态机,特点是输出仅为当前状态的函数。
EDA技术习题集及答案
第一章 EDA概述一、填空题1.2000年推出的Pentium 4微处理器芯片的集成度达——万只晶体管。
2.一般把EDA技术的发展分为——、——和——三个阶段。
3.在EDA发展的——阶段,人们只能借助计算机对电路进行模拟、预测,以及辅助进行集成电路版图编辑、印刷电路板(PcB)布局布线等工作。
4.在EDA发展的——阶段,人们可以将计算机作为单点设计工具,并建立各种单元库,开始用计算机将许多单点工具集成在一起使用。
5.EDA设计流程包括——、——、——和——四个步骤。
6.EDA的设计验证包括——、——和——三个过程。
7.EDA的设计输入主要包括——、——和———。
8.文本输入是指采用——进行电路设计的方式。
9.功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为——。
10.时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为——或——。
11.当前最流行的并成为1EEE标准的硬件描述语言包括————和——。
12.采用PLD进行的数字系统设计,是基于芯片的设计或称之为——的设计。
13.硬件描述语言HDL给PLD和数字系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为——的设计法。
14.EDA工具大致可以分为——、——、———、———和——等五个模块。
15.将硬件描述语吉转化为硬件电路的重要工具软件称为——————。
二、单项选择题1.将设计的系统或电路按照EDA开发软件要求的某种形式表示出来,并送入计算机的过程称为( )。
①设计输入②设计输出③仿真④综合2.一般把EDA技术的发展分为( )几个阶段。
①2 ②3 ③4 ④53.AHDL属于( )描述语言。
①普通硬件②行为③高级④低级4.vHDL属于( )描述语言。
①普通硬件②行为③高级④低级5.包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线,生成编程数据文件等操作的过程称为( )。
EDA技术及应用【朱正伟】第五章课后习题部分答案
1.试说明实体端口模式BUFFER和INOUT的不同之处?答:BUFFER端口:缓冲模式,具有读功能的输出模式,即信号输出到实体外部,但同时也在内部反馈使用,不允许作为双向端口使用.而INOUT端口:双向模式,即信号的流通是双向的,既可以对此端口赋值,也可以通过此端口读入数据.2.VHDL的数据对象有哪几种?它们之间有什么不同?答:VHDL的数据对象有三种:信号、变量、常量. 它们之间的的区别如下:信号赋值至少有δ延时,而变量和常量没有;信号除当前值外,有许多相关信息,变量只有当前值,常量的值在设计实体中始终不变;进程对信号敏感而对变量及常量不敏感;信号可以是多个进程的全局信号,变量只在定义它们的顺序域可见,而常量的使用范围取决于它被定义的位置;信号是硬件连线的抽象描述信号赋值,赋值符号 <= 而变量和常量的赋值符号 :=。
3。
说明下列各定义的意义:SIGNAL a , b ,c :BIT :='0’;CONSTANT TIME1 ,TIME2 : TIME : 20ns ;VARIABLE x , y , z :STD_LOGIC :=’x’;答:错误!定义3个位数据类型的信号a、b、c,它们取值为0;○2定义2个时间数据类型的常量TIME1、TIME2,它们值为20ns;错误!定义3个标准逻辑位 STD_LOGIC数据类型的变量x、y、z,它们的值是强未知的。
4。
什么是重载函数?重载运算符有何用处?如何调用重载运算符函数?答:为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符,这就是重载操作符,定义这种操作符的函数成为重载函数。
重载运算符的作用是为了方便各种不同的数据类型间的运算。
要调用重载运算符函数,先要在程序包中进行函数体的定义,调用的格式如下:x <=函数名(参数1,参数2,····)参数个数和类型与所定义的函数要保持一致。
《EDA技术及应用》朱正伟-三,四,五章部分课后题答案
第三章3-5设计一个4选1多路选择器,当选择输入信号分别取“00”、“01”、“10”和“11”时,输出信号分别与一路输入信号相连。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MAX4_1 ISPORT(A,B,C,D,S1,S2 : IN STD_LOGIC;Y : OUT STD_LOGIC);END ENTITY MAX4_1;ARCHITECTURE HF1 OF MAX4_1 ISSIGNAL SS : STD_LOGIC_VECTOR (0 TO 1);BEGINSS<=S2&S1;PROCESS(SS)BEGINCASE SS ISWHEN "00" => Y<=A;WHEN "01" => Y<=B;WHEN "10" => Y<=C;WHEN "11" => Y<=D;WHEN OTHERS => NULL;END CASE;END PROCESS;END HF1;3-6设计一个7人表决电路,参加表决者7人,同意为1,不同意为0,同意者过半则表决通过,绿指示灯亮;表决不通过则红指示灯亮。
设计思路:根据7人表决电路设计要求,7人中至少有4个通过才可以表决通过,故可以在程序中设置一个变量TEMP,使其在表决电路中遇1则加1,遇0则加0(设计中1表示通过,0表示不通过)。
当TEMP>=4时,表示表决通过,当TEMP<4时表决不通过。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY VOTE7 ISPORT (MEN:IN STD_LOGIC_VECTOR(6 DOWNTO 0);OUTPUT: OUT BIT);END VOTE7;ARCHITECTURE BEHA VE OF VOTE7 ISBEGINPROCESS(MEN)V ARIABLE TEMP: INTEGER RANGE 0 TO 7;BEGINTEMP:=0;FOR I IN 0 TO 6 LOOPIF(MEN(I)='1')THENTEMP:=TEMP+1;ELSETEMP:=TEMP;END IF;END LOOP;CASE TEMP ISWHEN 0 TO 3 =>OUTPUT<='0';WHEN 4 TO 7 =>OUTPUT<='1';END CASE ;END PROCESS;END BEHA VE;第四章4-6试写出4选1多路选择器VHDL描述。
EDA技术及应用(第2版)朱正伟复习资料
EDA技术及应用(第2版)朱正伟复习资料第一章1、EDA的定义:以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以ASIC为实现载体的电子产品自动化设计过程。
2、EDA的三大特征:硬件描述语言、系统级仿真、综合技术3、EDA的设计方法:自上而下4、EDA的核心:利用计算机完成电路设计的全程自动化5、常用的EDA工具及其作用:设计编辑器:一般支持图形输入,HDL文本输入,波形图输入等仿真器:完成行为模型的表达、电子系统的建模、逻辑电路的验证以及门级系统的测试HDL综合器:将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相互的映射关系。
6、EDA的设计流程:设计输入(将设计的系统或电路按照EDA开发软件要求的文本方式或图形方式表示出来,并送入计算机的过程。
)第二章1、PLD的基本结构:输入缓冲器、与阵列、或阵列、输出缓冲器;电路的核心是由门电路构成的与阵列、或阵列,逻辑函数靠它们实现。
与阵列产生乘积项,或阵列产生乘积项之和。
2、PLD的分类:简单PLD:PROM:与门阵列固定,或门阵列可编程。
优点:价格低、易编程性能可预测。
不足:规模大、速度低、功耗高。
PLA:与阵列和或阵列均可编程。
特点使用灵活,运行速度慢,价格高,缺少高质量的支持软件,使用不广泛。
PAL:与阵列可编程,或阵列固定,即乘积项可若干,数目固定。
特点:性能速度较高。
有几种固定的输出结构,不同结构对应不同的型号。
GAL;即通用阵列逻辑器件,与阵列和PAL的类似,或阵列及输出寄存器则采用OLMC输出逻辑宏单元OLMC最多有8个或项,每个或项最多有32个与项。
复杂PLD:(1)CPLD-----复杂可编程逻辑器件(2)FPGA-----现场可编程门阵列(3)ISP-----在系统可编程逻辑器件3、PLD的互联结构:(1)确定型:除FPGA外的PLD器件布线每次相同。
(2)统计型:FPGA每次布线模式不同,设计者提出约束模式。
EDA课后习题答案
第3章
Verilog行为语句
3-1 讨论always和initial异同点。 答: Verilog支持两种过程语句,即always和initial语句。通常情况下 initial语句不可综合,主要用于仿真程序中的初始化; always语句属于可 综合语句,主要引导行为描述语句,使用频度非常高。在一个Verilog程 序模块(module)中, always和initial语句被使用的次数没有限制,即它 们本身属于并行执行特征的语句。
软IP是用HDL等硬件描述语言描述的功能块,但是并不涉 及用什么具体电路元件实现这些功能。
固IP是完成了综合的功能块。它有较大的设计深度,以网 表文件的形式提交客户使用。
硬IP提供设计的最终阶段产品——掩模。随着设计深度的 提高,后续工序所需要做的事情就越少;当然,灵活性也就越小。 不同的客户可以根据自己的需要订购不同的IP产品。
1-5 叙述EDA的FPGA/CPLD设计流程,以及涉及的EDA工具及其在整个流 程中的作用。 答:完整地了解利用EDA技术进行设计开发的流程对于正确地选择和使用 EDA软件、优化设计项目、提高设计效率十分有益。一个完整的、典型的 EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件 本身的组成结构。
2-3 以下的标符是否合法 XOR、or、74LS04、4Badder、\ASC、$SMD、A5加法器、BEGIN 答:正确XOR、 BEGIN 、 \ASC(还有一类标识符,即转义标识符(Escaped Identifiers)。转义标识符以斜杠\开头,以空白符结尾,可以包含任何字符。 例如,\8031、\-@Gt。 ) 不正确74LS04、4Badder(起始为数字), A5加法器, or(关键词), $SMD(任何 标识符必须以英文字母或下划线开头。)
《EDA技术及应用》课后题解
单元一EDA技术概述1.什么是EDA技术?EDA技术的基本特征是什么?答:EDA(Electronic Design Automation,电子设计自动化)技术是电子设计工程师在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至PCB(印制电路板)的自动设计等。
EDA技术的基本特征是采用高级语言描述,具有系统级仿真和综合能力。
2.可编程逻辑器件有什么特点?有哪些可编程资源?答:可编程逻辑器件的主要特点1.缩短研制周期2.降低设计成本3.提高设计灵活性3.写出Altera器件中的下列英文缩写的中文含义。
LE LAB PIA EAB答:LE:逻辑单元LAB:逻辑阵列块PIA:可编程连线阵列EAB:嵌入式阵列块4.简述可编程逻辑器件的发展趋势。
答:可编程逻辑器件未来的发展将呈现以下几个方面的趋势:1)向高密度、大规模的方向发展2)向系统内可重构的方向发展3)向低电压、低功耗的方向发展4)向高速可预测延时器件的方向发展5)向混合可编程技术方向发展单元二可编程逻辑器件的设计与开发1.简述可编程逻辑器件的一般设计过程。
答:CPLD/FPGA器件的设计流程一般分为设计输入、设计实现、设计校验和编程下载4个步骤。
2.试比较可编程逻辑器件设计的常用输入方式。
答:1)原理图输入原理图是图形化的表达方式,它是利用软件中所提供的元件符号和连线来描述设计。
其特点是比较直观,便于进行接口设计和引脚锁定,容易实现仿真,便于信号的观察和电路的调整,系统运行速率较高,但当描述复杂电路时则比较烦琐。
2)硬件描述语言输入硬件描述语言输入是采用文本方式描述设计,这种方式的描述范围较宽,从简单的门电路到复杂的数字系统均可描述。
特别是在描述复杂设计时,非常简洁。
但这种描述方式不适合描述接口和连接关系,并且该输入方式必须依赖综合器,只有好的综合器才能把语言综合成优化的电路。
3.列举常用的EDA工具软件,并比较各有什么特点。
答:1)Synplify该软件是由Synplicity公司专为FPGA和CPLD开发设计的逻辑综合工具。
第EDA技术使用教程课后答案5章
KX
康芯科技
5.4 原理图输入设计方法
5. 将设计项目设置成工程和时序仿真
图5-46 加入本工程所有文件
KX
康芯科技
5.4 原理图输入设计方法
5. 将设计项目设置成工程和时序仿真
全加器工程f_adder的仿真波形 图5-47 全加器工程 的仿真波形
KX
康芯科技
5.4 原理图输入设计方法
5.4.2 应用宏模块的原理图设计 1. 计数器设计
KX
康芯科技
5.3 嵌入式逻辑分析仪使用方法
5.编译下载 启动SignalTap II进行采样与分析 6.启动SignalTap II进行采样与分析
下载cnt10.sof并准备启动 并准备启动SignalTap II 图5-39 下载 并准备启动
康芯科技
KX
5.3 嵌入式逻辑分析仪使用方法
启动SignalTap II进行采样与分析 6.启动SignalTap II进行采样与分析
图5-40 SignalTap II采样已被启动 采样已被启动
KX
康芯科技
5.3 嵌入式逻辑分析仪使用方法
II的其他设置和控制方法 7.SignalTap II的其他设置和控制方法
图5-41 SignalTap II数据窗设置后的信号波形 数据窗设置后的信号波形
KX
康芯科技
5.4 原理图输入设计方法
KX
康芯科技
5.2 引脚设置和下载
5.2.3 AS模式编程配置器件 模式编程配置器件
接口AS模式编程窗口 图5-29 ByteBlaster II接口 模式编程窗口 接口
KX
康芯科技
5.2 引脚设置和下载
5.2.4 JTAG间接模式编程配置器件 间接模式编程配置器件
第5章课后习题参考答案【精选文档】
第五章 组合逻辑电路1. 写出如图所示电路的输出信号逻辑表达式,并说明其功能。
解:(a)C B A Y 1⊕⊕=(判奇功能:1的个数为奇数时输出为1)BC AC AB C )B A (AB Y 2++=⊕+=(多数通过功能:输出与输入多数一致) (b )B A AB B )B A (A )B A (Y 1+=+++++=(同或功能:相同为1,否则为0) 2. 分析如图所示电路的逻辑功能解:(a )11001B A B A Y ⊕+⊕= (判奇电路:1的个数为奇数时输出为1) (b ))A )A )A A (((Y 32102⊕⊕⊕=(判奇电路:1的个数为奇数时输出为1)(c )MA Y M A Y MA Y 321100⊕=⊕=⊕=(M=0时,源码输出;M=1时,反码输出)3. 用与非门设计实现下列功能的组合逻辑电路。
(1)实现4变量一致电路. (2)四变量的多数表决电路解:(1)(a ) (b )(a )(b ) (c )1)定变量列真值表:A B C D Y A B C D Y 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 0 0111111112)列函数表达式:D C B A ABCD D C B A ABCD Y •=+= 3)用与非门组电路 (2)输入变量A 、B 、C 、D ,有3个或3个以上为1时输出为1,输人为其他状态时输出为0.1)列真值表 2)些表达式3)用与非门组电路4.有一水箱由大、小两台水泵ML 和Ms 供水,如图所示。
水箱中设置了3个水位检测元件A 、B 、C,如图(a )所示。
水面低于检测元件时,检测元件给出高电平;水面高于检测元件时,检测元件给出低电平。
EDA技术实用教程课后答案解答_unit5
目录5.7_7人表决器 (2)5.7_4位4输入最大值检测电路 (3)5.11序列发生器 (4)5.11序列发生器仿真波形图 (5)5.138位左移移位寄存器 (5)5.138位左移移位寄存器仿真波形图 (6)5.7_7人表决器.library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity vote isport(seveninput:in std_logic_vector(6downto0);pass_ornot:out std_logic);end entity vote;architecture bhv of vote isbeginprocess(seveninput)variable Q:std_logic_vector(6downto0);beginQ:="0000000";for n in0to6loopif(seveninput(n)='1')then Q:=Q+1;end if;end loop;if Q>4then pass_ornot<='1';else pass_ornot<='0';end if;end process;end architecture bhv;5.7_4位4输入最大值检测电路.library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity maxof4isport(input1:in std_logic_vector(3downto0);input2:in std_logic_vector(3downto0);input3:in std_logic_vector(3downto0);input4:in std_logic_vector(3downto0);maxoutput:out std_logic_vector(3downto0));end entity maxof4;architecture bhv of maxof4isbeginprocess(input1,input2,input3,input4)variable temp1:std_logic_vector(3downto0);variable temp2:std_logic_vector(3downto0);begintemp1:="0000";temp2:="0000";for n in3to0loopif(input1(n)>input2(n))then temp1:=input1;exit;else temp1:=input1;exit;end if;end loop;for n in3to0loopif(input3(n)>input4(n))then temp2:=input3;exit;else temp1:=input1;exit;end if;end loop;for n in3to0loopif(temp1(n)>temp2(n))then maxoutput<=temp1;exit;else maxoutput<=temp1;exit;end if;end loop;end process;end architecture bhv;5.11序列发生器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xulie isport(clr,clk:in std_logic;y:out std_logic_vector(4downto0));end entity xulie;architecture bhv of xulie isconstant s0:std_logic_vector(4downto0):="01001";constant s1:std_logic_vector(4downto0):="10010";constant s2:std_logic_vector(4downto0):="00101";constant s3:std_logic_vector(4downto0):="01011";constant s4:std_logic_vector(4downto0):="10110";constant s5:std_logic_vector(4downto0):="01100";constant s6:std_logic_vector(4downto0):="11001";signal Q:std_logic_vector(4downto0);beginprocess(clk,clr)beginif(clr='0')thenq<=s0;elsif(clk'event and clk='1')thencase q iswhen s0=>q<=s1;when s1=>q<=s2;when s2=>q<=s3;when s3=>q<=s4;when s4=>q<=s5;when s5=>q<=s6;when others=>q<=s0;end case;end if;end process;y<=q;end architecture bhv;5.11序列发生器仿真波形图5.138位左移移位寄存器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity leftshift isport(sck:in std_logic;sda:in std_logic;q:out std_logic_vector(7downto0));end entity leftshift;architecture bhv of leftshift issignal shift:std_logic_vector(7downto0);beginprocess(sck)beginif(rising_edge(sck))thenshift<=sda&shift(7downto1);end if;end process;q<=shift;end architecture bhv;5.138位左移移位寄存器仿真波形图.。
EDA技术与应用课后习题答案(2)
EDA技术与应用课后习题答案(2)EDA技术与应用课后习题答案大全END IF;END PROCESS;PR02:PROCESS(s1)BEGINIF s1=”0” THEN outy<=a1;ELSE outy<=tmp;END IF;END PROCESS;END ARCHITECTURE ONE;END CASE;4-4.下图是一个含有上升沿触发的D触发器的时序电路,试写出此电路的VHDL设计文件。
4-4.答案LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MULTI ISPORT(CL:IN STD_LOGIC; --输入选择信号CLK0:IN STD_LOGIC; --输入信号OUT1:OUT STD_LOGIC);--输出端END ENTITY;ARCHITECTURE ONE OF MULTI ISSIGNAL Q : STD_LOGIC;BEGINPR01: PROCESS(CLK0)BEGINIF CLK ‘EVENT AND CLK=’1’THEN Q<=NOT(CL OR Q);ELSEEND IF;END PROCESS;PR02: PROCESS(CLK0)BEGINOUT1<=Q;END PROCESS;END ARCHITECTURE ONE;END PROCESS;4-5.给出1位全减器的VHDL描述。
要求:(1) 首先设计1位半减器,然后用例化语句将它们连接起来,图3-32中h_suber是半减器,diff是输出差,s_out是借位输出,sub_in 是借位输入。
(2) 以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是 x – y - sun_in = diffr) 4-5.答案底层文件1:or2a.VHD实现或门操作LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY or2a ISPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b;END ARCHITECTURE one;底层文件2:h_subber.VHD实现一位半减器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY h_subber ISPORT(x,y:IN STD_LOGIC;diff,s_out::OUT STD_LOGIC);END ENTITY h_subber;ARCHITECTURE ONE OF h_subber ISSIGNAL xyz: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGINxyz <= x & y;PROCESS(xyz)BEGINCASE xyz ISWHEN "00" => diff<='0';s_out<='0';WHEN "01" => diff<='1';s_out<='1';WHEN "10" => diff<='1';s_out<='0';WHEN "11" => diff<='0';s_out<='0';WHEN OTHERS => NULL;END CASE;END PROCESS;END ARCHITECTURE ONE;顶层文件:f_subber.VHD实现一位全减器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f_subber ISPORT(x,y,sub_in:IN STD_LOGIC;diffr,sub_out:OUT STD_LOGIC);END ENTITY f_subber;ARCHITECTURE ONE OF f_subber IS COMPONENT h_subberdiff,S_out:OUT STD_LOGIC);END COMPONENT;COMPONENT or2aPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f: STD_LOGIC;BEGINu1: h_subber PORT MAP(x=>x,y=>y,diff=>d,s_out=>e);u2: h_subber PORT MAP(x=>d,y=>sub_in,diff=>diffr,s_out=>f);u3: or2a PORT MAP(a=>f,b=>e,c=>sub_out);END ARCHITECTURE ONE;END ARCHITECTURE ART;4-6.根据下图,写出顶层文件MX3256.VHD的VHDL设计文件。
EDA课后答案(适用于朱正伟《EDA技术及应用》)
1.1、设计集成计数器74161,设计要求如下:4-BIT BINARY UP COUNTER WITH SYNCHRONOUS LOAD AND ASYNCHRONOUS CLEAR NOTEINPUTS: CLK LDN CLRN D C B AOUTPUTS:QD QC QB QA RCO*RCO = QD & QC & QB & QALIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4 ISPORT(CLK,LDN,CLRN : IN STD_LOGIC;D,C,B,A : IN STD_LOGIC;CARRY : OUT STD_LOGIC;QD,QC,QB,QA : OUT STD_LOGIC);END;ARCHITECTURE A OF CNT4 ISSIGNAL DATA_IN: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINDATA_IN<=D&C&B&A;PROCESS(DATA_IN,CLK,LDN,CLRN)V ARIABLE CNT:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF CLRN='0' THENCNT:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF LDN='0' THENCNT:=DATA_IN;ELSECNT:=CNT+1;END IF;END IF;CASE CNT ISWHEN "1111"=> CARRY<='1';WHEN OTHERS=> CARRY<='0';END CASE;QA<=CNT(0);QB<=CNT(1);QC<=CNT(2);QD<=CNT(3);END PROCESS;END A;1.2、设计一个通用双向数据缓冲器,要求缓冲器的输入和输出端口的位数可以由参数决定。
EDA技术与应用课后习题答案
EDA技术与应用课后习题答案EDA技术与应用课后习题答案对有关问题所作的解答的结果;对提出的问题所做的解答,练习的答案。
以下是店铺为大家整理的EDA技术与应用课后习题答案,仅供参考,希望能够帮助大家。
第一章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(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
1-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.试说明实体端口模式BUFFER和INOUT的不同之处?答:BUFFER端口:缓冲模式,具有读功能的输出模式,即信号输出到实体外部,但同时也在内部反馈使用,不允许作为双向端口使用。
而INOUT端口:双向模式,即信号的流通是双向的,既可以对此端口赋值,也可以通过此端口读入数据。
2.VHDL的数据对象有哪几种?它们之间有什么不同?答:VHDL的数据对象有三种:信号、变量、常量。
它们之间的的区别如下:信号赋值至少有δ延时,而变量和常量没有;信号除当前值外,有许多相关信息,变量只有当前值,常量的值在设计实体中始终不变;进程对信号敏感而对变量及常量不敏感;信号可以是多个进程的全局信号,变量只在定义它们的顺序域可见,而常量的使用范围取决于它被定义的位置;信号是硬件连线的抽象描述信号赋值,赋值符号 <= 而变量和常量的赋值符号 :=。
3.说明下列各定义的意义:SIGNAL a , b , c : BIT : =’0’;CONSTANT TIME1 , TIME2 : TIME : 20ns ;VARIABLE x , y , z : STD_LOGIC :=’x’;答:○1定义3个位数据类型的信号a、b、c,它们取值为0;○2定义2个时间数据类型的常量TIME1、TIME2,它们值为20ns; ○3定义3个标准逻辑位 STD_LOGIC数据类型的变量x、y、z,它们的值是强未知的。
4.什么是重载函数?重载运算符有何用处?如何调用重载运算符函数?答:为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符,这就是重载操作符,定义这种操作符的函数成为重载函数。
重载运算符的作用是为了方便各种不同的数据类型间的运算。
要调用重载运算符函数,先要在程序包中进行函数体的定义,调用的格式如下:x <=函数名(参数1,参数2,····)参数个数和类型与所定义的函数要保持一致。
5.数据类型BIT \ INTEGER \ BOOLEAN分别定义在哪个库中?哪些库和程序包总是可见的?答:数据类型BIT \ INTEGER \ BOOLEAN均定义在STD库中。
IEEE库和程序包STD_LOGIC.1164 、STD_LOGIC_UNSIGNED、STD_LOGIC_SIGNED、STD_LOGIC_ARITH等总是可见的。
6.函数和过程有什么区别?答:子程序有两种类型,即过程(PROCEDURE)和函数(FUNCTION)。
它们的区别在于:过程的调用可以通过其界面获得多个返回值,而函数只能返回一个值;在函数入口中,所有参数都是输入参数,而过程有输入参数、输出参数和双向参数;过程一般被看作一种语句结构,而函数通常是表达式的一部分;过程可以单独存在,而函数通常作为语句的一部分调用。
7.若在进程中加入WAIT语句,应注意哪几个方面的问题?答:应注意以下问题:○1已列出敏感信号的进程中不能使用任何形式的WAIT语句;○2一般情况下,只有WAIT UNTIL格式的等待语句可以被综合器所接受,其余语句格式只能在VHDL仿真器中使用;○3在使用WAIT ON语句的进程中,敏感信号量应写在进程中的WAIT ON 语句后面;○4在不使用WAIT ON语句的进程中,敏感信号量应在开头的关键词PROCESS后面的敏感信号表中列出。
8.哪些情况下需用到程序包STD_LOGIC_UNSIGNED?试举一例。
答:○1调用数据类型变换函数或重载运算符函数时;○2定义UNSIGNED 类型的数据时。
举例如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;··IF temp="11111111"THEN temp:= "00000000";ELSE temp:=temp+16;END IF;···9.为什么说一条并行赋值语句可以等效为一个进程?如果是这样的话,怎样实现敏感信号的检测?答:因为信号赋值语句的共同点是赋值目标必须都是信号,所有赋值语句与其它并行语句一样,在结构体内的执行是同时发生的,与它们的书写顺序没有关系,所以每一信号赋值语句都相当于一条缩写的进程语句。
由于这条语句的所有输入信号都被隐性地列入此缩写进程的敏感信号表中,故任何信号的变化都将相关并行语句的赋值操作,这样就实现了敏感信号的检测。
10.比较CASE语句和WITH_SELECT语句,叙述它们的异同点?答:相同点:CASE语句中各子句的条件不能有重叠,必须包容所有的条件;WITH_SECLECT语句也不允许选择值有重叠现象,也不允许选择值涵盖不全的情况。
另外,两者对子句各选择值的测试都具有同步性,都依赖于敏感信号的变化。
不同点:CASE语句只能在进程中使用,至少包含一个条件语句,可以有多个赋值目标;WITH_SECLECT语句根据满足的条件,对信号进行赋值,其赋值目标只有一个,且必须是信号。
11.将以下程序段转换为WHEN_ELSE语句:PROCESS (a , b ,c ,d)BEGINIF a=’0’AND b=’1’THEN NEXT1 <="1101";ELSEIF a=’0’THEN NEXT1 <=d;ELSEIF b=’1’THEN NEXT1 <=c;ELSE NEXT1 <="1011";END IF;END PROCESS;原程序转换如下:ARCHITECTURE one OF mux ISBEGINPROCESS (a , b ,c ,d)BEGINNEXT1 <="110"1WHEN a=’0’AND b=’1’ELSEd WHEN a=’0’ELSEc WHEN b=’1’ELSE"1011";END one;END PROCESS;12.试用并行信号赋值语句分别描述下列器件的功能:(1)3-8译码器(2) 8选1数据选择器(1)功能描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 ISPORT(a,b,c,g1,g1a,a2b:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END decoder38;ARCHITECTURE behave38 OF decoder38 ISSIGNAL inda: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINinda<=c&b&a;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1' AND g2a='0' AND g2b='0') THENCASE inda ISWHEN "000"=>q<="11111110";WHEN "001"=>q<="11111101";WHEN "010"=>q<="11111011";WHEN "011"=>q<="11110111";WHEN "100"=>q<="11101111";WHEN "101"=>q<="11011111";WHEN "110"=>q<="10111111";WHEN "111"=>q<="01111111";WHEN OTHERS =>q<="XXXXXXXX";END CASE;ELSEq<="11111111";END IF;END PROCESS;END behave38;(2)功能描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux8 ISPORT(d0,d1,d2,d3,d4,d5,d6,d7:IN STD_LOGIC_VECTOR(7DOWNTO 0);s0,s1,s2:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END mux8;ARCHITECTURE behave OF mux8 ISSIGNAL s: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINs <=s2&s1&s0;WITH s SECLECTd <=d0 WHEN "000",d1 WHEN "001",d2 WHEN "010",d3 WHEN "011",d4 WHEN "100",d5 WHEN "101",d6 WHEN "110",d7 WHEN "111",‘X’WHEN OTHERS;END behave;13.利用生成语句描述一个由几个一位全加器构成n位加法器(n的默认值为4)。
14.用VHDL设计输出占空比为50%的1000分频器。