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

eda技术与vhdl设计答案eda技术与vhdl设计答案【篇一:eda技术与vhdl复习练习题】/p> 一、填空题1、pld的中文含义是:________。
2、asic的中文含义是:________。
3、“与-或”结构的可编程逻辑器件主要由四部分构成:________、________、____________和____________。
4、可编程逻辑器件结构图中一般用“x”表示此编程单元为________。
6、可编程逻辑器件结构图中无任何标记表示此编程单元为________。
7、可编程逻辑器件按规模的大小一般分为________和_________。
8、低密度可编程逻辑器件的主要有________和_________。
9、gal器件________取代全部pal器件。
10、pal器件只能________次编程。
11、gal器件能________次编程。
12、gal器件________取代ttl器件。
13、gal器件采用________擦除。
14、pal和gal器件________在系统编程。
15、pal和gal器件需要使用________编程。
二、选择题1、可编程逻辑器件pld的基本结构形式是_______:a:与——与b:与——或c:或——与d:或——或2、可以多次编程的器件是_______:a:prom b:plac:pal d:gal3、pld器件未编程时_______:a:有逻辑功能 b:没有逻辑功能c:pal器件有逻辑功能d:gal 器件有逻辑功能 4、gal器件可以用擦除:a:普通光 b:紫外线c:红外线 d:电5、gal16v8器件的输出引脚最多有______:a:16b:4 c:8 d:206、pal16v8器件的输入引脚最多有_______:a:16 b:4 c:8 d:207、gal16v8不能取代_________:a:pal16v b:74ls138c:74ls373 d:isplsi1032e-70plcc848、gal16v8的_______不可编程:a:与阵列b:或阵列c:输出逻辑宏单元olmc d:a、b都三、判断题1、gal器件的输出逻辑宏单元olmc不能实现pal器件的所有输出形式。
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)。
EDA与VHDL复习参考题 (1)

选择题1. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,()是错误的。
A. 综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;B. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。
2. IP核在EDA技术和开发中具有十分重要的地位,IP分软IP、固IP、硬IP,下列所描述的IP核中,对于硬IP的正确描述为__________。
A.提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路;B.提供设计的最总产品----掩膜;C.以网表文件的形式提交用户,完成了综合的功能块;D.都不是。
3提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__________。
A .软IP B.固IP C.硬IP D.都不是4 在VHDL程序存盘过程当中,文件名应该是()A. 结构体名B. 程序包名C. 任意D. 实体名5. 大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是____。
A.FPGA是基于乘积项结构的可编程逻辑器件;B. FPGA是全称为复杂可编程逻辑器件;C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。
6. 规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过_______实现其逻辑功能。
A. 可编程乘积项逻辑B. 查找表(LUT)C. 输入缓冲D. 输出缓冲7.大规模可编程器件主要有CPLD和FPGA两类,下面对FPGA结构与工作原理描述中,正确的是()A FPGA全称为复杂可编程逻辑器件B FPGA是基于乘积项结构的可编程逻辑器件。
VHDL程序设计教程习题解答

VHDL程序设计教程习题参考解答第1章思考题解答1.什么是VHDL?简述VHDL的发展史。
答:VHDL是美国国防部为电子项目设计承包商提供的,签定合同使用的,电子系统硬件描述语言。
1983年成立VHDL语言开发组,1987年推广实施,1993年扩充改版。
VHDL 是IEEE标准语言,广泛用于数字集成电路逻辑设计。
2.简述VHDL设计实体的结构。
答:实体由实体名、类型表、端口表、实体说明部分和实体语句部分组成。
根据IEEE标准,实体组织的一般格式为:ENTITY 实体名 IS[GENERIC(类型表);] --可选项[PORT(端口表);] --必需项实体说明部分; --可选项[BEGIN实体语句部分;]END [ENTITY] [实体名];3.分别用结构体的3种描述法设计一个4位计数器。
答:用行为描述方法设计一个4位计数器如下,其它描述方法,读者可自行设计。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;ENTITY countA ISPORT (clk,clr,en:IN STD_LOGIC;Qa,qb,qc,qd:OUT STD_LOGIC);END countA;ARCHITECTURE example OF countA ISSIGNAL count_4:STD_LOGIC_vector (3 DOWNTO 0);BEGINQa <= count_4(0);Qb <= count_4(1);Qc <= count_4(2);Qd <= count_4(3);PROCESS (clk,clr)BEGINIF (clr = '1' ) THENCount_4 <= "0000";ELSIF (clk'EVENT AND clk = '1' ) THENIF (en = '1' ) THENIF (count_4 = "1111") THENcount_4 <= "0000";ELSEcount_4 <= count_4+ '1';END IF;END IF;END IF;END PROCESS;END example;第2章思考题解答1.什么叫对象?对象有哪几个类型?答:在VHDL语言中,凡是可以赋于一个值的客体叫对象(object)。
EDA技术与VHDL(第2版)习题解答

第3章 VHDL 基础3-1 如图所示inputoutputenablebuf3smux21in0in1outputsel3-2程序: IF_THEN 语句 LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY mux21 SPORT ( s1,s0 : IN STD_LOGIC_VECTOR ; a,b,c,d : IN STD_LOGIC ; y : OUT STD_LOGIC ) ; END ENTITY mux21 ;ARCHITECTURE one OF mux21 IS BEGINPROCESS ( s0,s1,a,b,c,d ) BEGINIF s1=‟0‟ AND s0=‟0‟ THEN y<=a ; ELSIF s1=‟0‟ AND s0=‟1‟ THEN y<=b ; ELSIF s1=‟1‟ AND s0=‟0‟ THEN y<=c ; ELSIF s1=‟1‟ AND s0=‟1‟ THEN y<=d ; ELSE y<=NULL ; END IF ;END PROCESS ; END ARCHITECTURE one ;CASE 语句LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY mux21 ISPORT ( s1,s0 : IN STD_LOGIC_VECTOR ;a,b,c,d : IN STD_LOGIC ;y : OUT STD_LOGIC ) ;END ENTITY mux21 ;ARCHITECTURE two OF mux21 ISSIGNAL s : STD_LOGIC_VECTOR ( 1 DOWNTO 0 ) ;BEGINs<=s1 & s0 ;PROCESS ( s )BEGINCASE s ISWHEN “00” => y<=a ;WHEN “01” => y<=b ;WHEN “10” => y<=c ;WHEN “11” => y<=d ;WHEN OTHERS => NULL ;END CASE ;END PROCESS ;END ARCHITECTURE two ;3-3 程序:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY MUXK ISPORT ( s0,s1 : IN STD_LOGIC ;a1,a2,a3 : IN STD_LOGIC ;outy : OUT STD_LOGIC ) ;END ENTITY MUXK ;ARCHITECTURE double OF MUXK ISSIGNAL tmp : STD_LOGIC ; --内部连接线SIGNAL u1_s, u1_a, u1_b, u1_y : STD_LOGIC ;SIGNAL u2_s, u2_a, u2_b, u2_y : STD_LOGIC ;BEGINp_MUX21A_u1 : PROCESS ( u1_s, u1_a, u1_b, u1_y )BEGINCASE u1_s ISWHEN …0‟ => u1_y<= u1_a ;WHEN …1‟ => u1_y<= u1_b ; WHEN OTHERS => NULL ; END CASE ;END PROCESS p_ MUX21A_u1 ;p_ MUX21A_u2 : PROCESS ( u2_s, u2_a, u2_b, u2_y ) BEGINCASE u2_s ISWHEN …0‟ => u2_y<= u2_a ;WHEN …1‟ => u2_y<= u2_b ; WHEN OTHERS => NULL ; END CASE ;END PROCESS p_ MUX21A_u2 ; u1_s<= s0 ; u1_a<= a2 ; u1_b<= a3 ; tmp<= u1_y ;u2_s<=s1 ; u2_a<= a1 ; u2_b<= tmp; outy <= u2_y ;END ARCHITECTURE double ; 3-4 程序:(1)1位半减器x y 00011011被减数减数高位低位0000s_out diff 111 s_out= x · y diff= x · y + x · y(2)1位半减器的设计选用(2)图,两种表达方式:一、LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY h_suber ISPORT ( x,y : IN STD_LOGIC ;s_out ,diff : OUT STD_LOGIC ) ;END ENTITY h_suber ;ARCHITECTURE fhd1 OF h_suber ISBEGINdiff<=x XOR y ; s_out<= ( NOT a ) AND b ;END ARCHITECTURE fhd1 ;二、LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY h_suber ISPORT ( x,y : IN STD_LOGIC ;s_out ,diff : OUT STD_LOGIC ) ;END ENTITY h_suber ;ARCHITECTURE fhd1 OF h_suber ISSIGNAL s : STD_LOGIC_VECTOR ( 1 DOWNTO 0 ) ;BEGINs<= x & y ;PROCESS ( s )BEGINCASE s ISWHEN “00” => s_out <=‟0‟ ; diff<=‟0‟ ;WHEN “01” => s_out <=‟1‟ ; diff<=‟1‟ ;WHEN “10” => s_out <=‟0‟ ; diff<=‟1‟ ;WHEN “11” => s_out <=‟0‟ ; diff<=‟0‟ ;WHEN OTHERS => NULL ;END CASE ;END PROCESS ;LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY or ISPORT ( a,b : IN STD_LOGIC ;c : OUT STD_LOGIC ) ;END ENTITY or ;ARCHITECTURE one OF or ISBEGINc<= a OR b ;END ARCHITECTURE one ;1位全减器:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY f_suber ISPORT ( x,y,sub_in : IN STD_LOGIC ;sub_out ,diffr : OUT STD_LOGIC ) ;END ENTITY f_suber ;ARCHITECTURE fhd1 OF f_suber ISCOMPONENT h_suber ISPORT ( x,y : IN STD_LOGIC ;s_out ,diff : OUT STD_LOGIC ) ;END COMPONENT h_suber ;COMPONENT or ISPORT ( a,b : IN STD_LOGIC ;c : OUT STD_LOGIC ) ;END COMPONENT or ;SIGNAL d,e,f : STD_LOGIC ;BEGINu1 : h_suber PORT MAP ( x=>x, y=>y, diff=>d, s_out=>e ) ;u2 : h_suber PORT MAP ( x=>d, y=>sub_in, diff=>diffr, s_out=>f ) ;u3 : or PORT MAP ( a=>f, b=>e, c=>sub_out ) ;END ARCHITECTURE fhd1 ;(2)8位减法器:f_suber sub_in x ysub_out4f_subersub_in x ysub_out5f_subersub_in x ysub_out6f_subersub_in x ysub_out7sub_out e f gu4u5u6u7LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY 8f_suber ISPORT ( x0,x1,x2,x3,x4,x5,x6,x7 : IN STD_LOGIC ;y0,y1,y2,y3,y4,y5,y6,y7 : IN STD_LOGIC ;sub_in : IN STD_LOGIC ;sub_out : OUT STD_LOGIC ;diffr0,diffr1,diffr2,diffr3 : OUT STD_LOGIC ;diffr4,diffr5,diffr6,diffr7 : OUT STD_LOGIC ) ;END ENTITY 8f_suber ;ARCHITECTURE 8fhd1 OF 8f_suber ISCOMPONENT f_suber ISPORT ( x,y,sub_in : IN STD_LOGIC ;sub_out ,diffr : OUT STD_LOGIC ) ;END COMPONENT f_suber ;SIGNAL a,b,c,d,e,f,g : STD_LOGIC ;BEGINu0 : f_suber PORT MAP ( x=>x0, y=>y0, sub_in=>, sub_out=>a, diff=>diff0 ) ;u1 : f_suber PORT MAP ( x=>x1, y=>y1, sub_in=>a, sub_out=>b, diff=>diff1 ) ;u2 : f_suber PORT MAP (x=>x2, y=>y2, sub_in=>b, sub_out=>c, diff=>diff2 ) ;u3 : f_suber PORT MAP (x=>x3, y=>y3, sub_in=>c, sub_out=>d, diff=>diff3 ) ;u4 : f_suber PORT MAP (x=>x4, y=>y4, sub_in=>d, sub_out=>e, diff=>diff4 ) ;u5 : f_suber PORT MAP (x=>x5, y=>y5, sub_in=>e, sub_out=>f, diff=>diff5 ) ;u6 : f_suber PORT MAP (x=>x6, y=>y6, sub_in=>f, sub_out=>g, diff=>diff6 ) ;u7 : f_suber PORT MAP (x=>x7, y=>y7, sub_in=>g, sub_out=> sub_out, diff=>diff7 ) ;END ARCHITECTURE 8fhd1 ;3-5 程序:或非门逻辑描述:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY nor ISPORT ( d, e : IN STD_LOGIC ;f : OUT STD_LOGIC ) ;END ENTITY nor ;ARCHITECTURE one OF nor ISBEGINf <= NOT ( d OR e ) ;END ARCHITECTURE one ;时序电路描述:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY circuit ISPORT ( CL, CLK0 : IN STD_LOGIC ;OUT1 : OUT STD_LOGIC ) ;END ENTITY circuit ;ARCHITECTURE one OF circuit ISCOMPONENT DFF1 ISPORT ( CLK : IN STD_LOGIC ;D : IN STD_LOGIC ;Q : OUT STD_LOGIC ) ;END COMPONENT DFF1 ;COMPONENT nor ISPORT ( d, e : IN STD_LOGIC ;f : OUT STD_LOGIC ) ;END COMPONENT nor ;COMPONENT not ISPORT ( g : IN STD_LOGIC ;h : OUT STD_LOGIC ) ;END COMPONENT not ;SIGNAL a, b : STD_LOGIC ;BEGINu0 : nor PORT MAP ( d=>b, e=>CL, f=>a ) ;u1 : DFF1 PORT MAP ( CLK=>CLK0, D=>a, Q=>b ) ;u2 : not PORT MAP ( g=>b, h=>OUT1 ) ;END ARCHITECTURE one ;3-6 LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY MX3256 ISPORT( INA,INB,INCK,INC: IN STD_LOGIC ;E,OUT1: OUT STD_LOGIC) ;END ENTITY MX3256;ARCHITECTURE one OF MX3256 ISCOMPONENT LK35 ISPORT ( A1,A2,CLK: IN STD_LOGIC ;O1,O2: OUT STD_LOGIC) ;END COMPONENT LK35;BEGIN3-7LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;USE IEEE.STD_LOGIC_unsigned.ALL ;ENTITY CNT ISPORT( CLK,EN,RST,opcode: IN STD_LOGIC ;CQ: OUT STD_LOGIC_VECTOR(15 DOWNTO 0) ;COUT: OUT STD_LOGIC) ;END ENTITY CNT;ARCHITECTURE behav1 OF CNT ISBEGINPROCESS( RST,EN,CLK,opcode )VARIABLE CQI: STD_LOGIC_VECTOR( 15 DOWNTO 0) ;beginIF RST=‟1‟ THEN CQI:=( OTHERS=>‟0‟) ;ELSIF EN=‟1‟ THENIF CLK‟EVENT AND CLK=‟1‟ THENCASE opcode ISWHEN …0‟ =>CQI:=CQI+1;WHEN …1‟ =>CQI:=CQI-1;WHEN OTHERS =>NULL;END CASE;END IF;END IF;CASE opcode ISWHEN …0‟ => IF CQI=65535 THEN COUT<=‟1‟;ELSE COUT<=‟0‟;END IF;WHEN …1‟ => IF CQI=0 THEN COUT<=‟1‟;ELSE COUT<=‟0‟;END IF;WHEN OTHERS =>NULL;END CASE;CQ<=CQI;END PROCESS;END behav1;3-83-93-103-113-123-133-14程序1:SIGNAL A,EN : STD_LOGIC ;PROCESS ( A, EN )VARIABLE B : STD_LOGIC ;BEGINIF EN = …1‟THEN B := A ;END IF ;END PROCESS ;程序2:ARCHITECTURE one OF sample ISBEGINPROCESS ( )VARIABLE a,b,c : integer range…;BEGINc := a+b ;END PROCESS;END ARCHITECTURE one ;程序3:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY mux21 ISPORT ( a,b : IN STD_LOGIC ;sel : IN STD_LOGIC ;c : OUT STD_LOGIC ) ;END ENTITY mux21 ;ARCHITECTURE one OF mux21 ISBEGINPROCESS ( )BEGINIF sel = …0‟THEN c<=a ;ELSE c<=b ;END IF ;END PROCESS;END ARCHITECTURE one ;第4章Quartus II使用方法习题4-1第5章VHDL状态机习题5-1 例5-4(两个进程):LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY MOORE1 ISPORT ( DATAIN : IN STD_LOGIC_VECTOR ( 1 DOWNTO 0 ) ;CLK,RST : IN STD_LOGIC ;Q : OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ) ;END ENTITY MOORE1 ;ARCHITECTURE behav OF MOORE1 ISTYPE ST_TYPE IS ( ST0,ST1,ST2,ST3,ST4 ) ;SIGNAL C_ST ,N_ST : ST_TYPE ;BEGINREG : PROCESS ( RST ,CLK )BEGINIF RST=‟1‟THEN C_ST<=ST0; Q<=”0000”;ELSIF CLK ‟EVENT AND CLK=‟1‟THENC_ST<=N_ST ;END IF ;END PROCESS ;COM : PROCESS (C_ST , DATAIN)BEGINCASE C_ST ISWHEN ST0 =>IF DATAIN = “10”THEN N_ST <= ST1 ;ELSE N_ST <= ST0 ;END IF ;Q <=”1001” ;WHEN ST1 =>IF DATAIN = “11”THEN N_ST <= ST2 ;ELSE N_ST <= ST1 ;END IF ;Q <=” 0101” ;WHEN ST2 =>IF DATAIN = “01”THEN N_ST <= ST3 ;ELSE N_ST <= ST0 ;END IF ;Q <=” 1100” ;WHEN ST3 =>IF DATAIN = “00”THEN N_ST <= ST4 ;ELSE N_ST <= ST2 ;END IF ;Q <=” 0010” ;WHEN ST4 =>IF DATAIN = “11”THEN N_ST <= ST0 ;ELSE N_ST <= ST3 ;END IF ;Q <=” 1001” ;WHEN OTHERS => N_ST <= ST0 ;END CASE ;END PROCESS ;END ARCHITECTURE behav ;5-2 例5-5(单进程):LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY MEALY1 ISPORT ( CLK, DATAIN ,RESET : IN STD_LOGIC ;Q : OUT STD_LOGIC_VECTOR ( 4 DOWNTO 0 ) ) ;END ENTITY MEALY1 ;ARCHITECTURE behav OF MEALY1 ISTYPE states IS ( st0,st1,st2,st3,st4 ) ;SIGNAL STX : states ;BEGINPROCESS ( CLK, RESET )BEGINIF RESET = …1‟THEN STX<= st0 ;ELSIF CLK‟ EVENT AND CLK = …1‟THENCASE STX ISWHEN st0 =>IF DATAIN = …1‟THEN STX<= st1; Q<=”10000” ;ELSE Q<=”01010” ;END IF ;WHEN st1 =>IF DATAIN = …0‟THEN STX<= st2; Q<=”10111” ;ELSE Q<=” 10100” ;END IF ;WHEN st2 =>IF DATAIN = …1‟THEN STX<= st3; Q<=”10101” ;ELSE Q<=” 10011” ;END IF ;WHEN st3 =>IF DATAIN = …0‟THEN STX<= st4; Q<=”11011” ;ELSE Q<=” 01001” ;END IF ;WHEN st4 =>IF DATAIN = …1‟THEN STX<= st0; Q<=”11101” ;ELSE Q<=” 01101” ;END IF ;WHEN OTHERS => STX<=st0; Q<=”00000” ;END CASE ;END PROCESS ;END ARCHITECTURE behav ;5-3 序列检测器:要求1:要求2:要求3:5-45-5第6章16位CISC CPU设计习题6-16-26-36-46-56-66-76-8第7章VHDL语句习题7-17-27-37-4 因为每条并行赋值语句在结构体中是同时执行的,所以每条并行赋值语句都相当于一条缩写的进程语句,这条语句的所有输入信号都被隐性地列入此缩写进程的敏感信号表中。
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 BEHAVIOR 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" THENLEDSEG<="1101111";ELSE LEDSEG<= 5 ;END IF;END PROCESS;END BEHAVIOR;(三) 在下面横线上填上合适的语句,完成数据选择器的设计。
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技术使用教程课后答案第4章

【例4-8】 】 ... IF a1 > b1 THEN q1 <= '1' ; ELSE q1 <= '0' ; END IF; ...
的电路图( 综合) 图4-6 例4-8的电路图(Synplify综合) 的电路图 综合
图4-2 mux21a结构体 结构体
KX
康芯科技
4.1 多路选择器的 多路选择器的VHDL描述 描述
4.1.1 2选1多路选择器的 选 多路选择器的 多路选择器的VHDL描述 描述
【例4-1】 】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN y <= a WHEN s = '0' ELSE END ARCHITECTURE one ;
KX
康芯科技
4.2 寄存器描述及其 寄存器描述及其VHDL语言现象 语言现象
4.2.2 VHDL描述的语言现象说明 描述的语言现象说明 2. 设计库和标准程序包
LIBRARY LIBRARY WORK ; STD ;
图4-4 D触发器
USE STD.STANDARD.ALL ; 使用库和程序包的一般定义表式是: 使用库和程序包的一般定义表式是: LIBRARY USE <设计库名>; 设计库名>
< 设计库名>.<程序包名>.ALL ; 设计库名> 程序包名>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.Altera的第四代EDA集成开发环境为(C)
A Modelsim
B MUX+Plus II
C Quartus II
D ISE
3.下列EDA工具中,支持状态图输入方式的是(B)
A Quartus II
B ISE
C ispDesignEXPERT
D Syplify Pro
D Cyclone
7.下列配置方式不属于FPGA配置模式的是(D)
A主动串行配置模式
B被动串行配置模式
C主动并行配置模式
D被动从属配置模式
8.下列因素中通常不属于CPLD/FPGA选型条件的是(D)
A逻辑资源
B功耗和封装
C价格和速度
D产地
2.8.3
1.结合本章学习的知识,简述CPLD的基本结构?
答:虽然CPLD种类繁多、特点各异,共同之处总结起来可以概括为三个部分:
配置与绕线(Place and Routing)
绕线后的电路功能验证(Post Layout Verification)
8.为什么要进行硬件电路的后仿真验证和测试?
答:后仿真考虑了实际器件的模型参数,能够更好的模拟实际电路工作状态。测试是检验设计合格的最直接的方式。
第2章EDA习题答案
2.8.1
1.可编程逻辑器件的英文全称是Programmable Logic Device
4.目前比较流行的主流厂家的EDA软件有Quartus II、ISE、ModelSim、ispLEVER
5.常用的设计输入方式有原理图输入、文本输入、状态机输入
6.常用的硬件描述语言有VHDL、Verilog
7.逻辑综合后生成的网表文件为EDIF
8.布局布线主要完成将综合器生成的网表文件转换成所需的下载文件
7.详细描述EDA设计的整个流程?
答:
系统规格制定(Define Specification)
设计描述(Design Description)
功能验证(Function Verification)
逻辑电路合成(Logic synthesis)
逻辑门层次的电路功能验证(Gate-Level Netlist Verification)
●可编程逻辑阵列块;
●输入/输出块;
●互联资源;
其中,可编程逻辑阵列块类似于一个低密度的PAL/GAL,包括乘积项的与阵列、乘积项分配和逻辑宏单元等。乘积项与阵列定义了每个宏单元乘积项的数量和每个逻辑块乘积项的最大容量,能有效的实现各种逻辑功能。
2.结合本章学习的知识,简述FPGA的基本结构?
答:基于SRAM编程的FPGA以Xilinx的逻辑单元阵列(LCA,Logic Cell Array)为例,基本结构如图2-20所示。
4.下列几种仿真中考虑了物理模型参数的仿真是(A)
A时序仿真
B功能仿真
C行为仿真
D逻辑仿真
5.下列描述EDA工程设计流程正确的是(C)
A输入->综合->布线->下载->仿真
B布线->仿真->下载->输入->综合
C输入->综合-&g仿真->综合->布线->下载
6.下列编程语言中不属于硬件描述语言的是(D)
3.7.2
1、一个实体可以拥有一个或多个(C、D)
A.设计实体
B.结构体
C.输入
D.输出
2、在VHDL中用(D)来把特定的结构体关联到一个确定的实体。
A.输入
B.输出
C.综合
D.配置
3、在下列标识符中,(C)是VHDL合法的标识符
A. 4h_add
B. h_adde_
C. h_adder
D._h_adde
●器件内部可编程连线和逻辑定义通过大量的传输门开关实现,从而导致电阻变大,传递信号的速度收到影响,限制工作频率;
4.简述MAX7000器件的结构及特点?
答:
5.简述ispLSI2000器件的结构及特点?
答:
6.简述FLEX10K器件的结构及特点?
答:
7.简述XC4000器件的结构及特点?
答:
8.阐述FPGA配置几种方式?
答:
●主动串行配置模式(AS);
●被动串行配置模式(PS);
●主动并行配置模式(AP);
●被动并行同步配置模式(PPS);
●被动并行异步配置模式(PPA);
●被动串行异步配置模式(PSA);
●菊花链配置模式;
●JTAG配置模式;
9.如何选用CPLD和FPGA?
答:
CPLD/FPGA的选择主要根据项目本身的需要,对于规模不大且产量不高的应用,通常使用CPLD比较好。对与大规模的逻辑设计、AIC设计或单片系统的设计,则多采用FPGA。从逻辑规模上讲FPGA覆盖了逻辑门书5000~2000000门的大中规模。目前,FPGA的主要应用有三个方面:
●直接使用与电路系统;
●硬拷贝;
●逻辑验证;
由上可知,FPGA和CPLD的选择需要根据具体系统的性能、成本、安全等需求进行折中,制定一个性价比高的方案具有非常重要的意义。
10.MAX7000S器件的I/O控制块共有几种工作方式?
答:
I/O控制块允许每个I/O引脚单独地配置成输入/输出和双向工作方式。
5.简述ASIC设计和CPLD/FPGA设计的区别?
答:专用集成电路(ASIC)采用硬接线的固定模式,而现场可编程门阵列(FPGA)则采用可配置芯片的方法,二者差别迥异。可编程器件是目前的新生力量,混合技术也将在未来发挥作用。
6.阐述行为仿真、功能仿真和时序仿真的区别?
答:行为仿真只考虑逻辑功能。功能仿真仅仅完成了对VHDL所描述电路的逻辑功能进行测试模拟,以观察其实现的功能是否满足设计需求,因而仿真过程并不涉及任何具体器件的硬件特性。时序仿真则是比较接近真实器件运行的仿真,在仿真过程中已经对器件的物理模型参数做了恰当的考虑,所以仿真精度要高得多。
A通用逻辑块(GLB)
B全局布线区(GRP)
C输出布线区(ORP)
D逻辑阵列块(LAB)
5.下列FPGA中不属于Xilinx公司产品的是(D)
A XC4000
B Virtex
C Spartan
D Cyclong
6.下列FPGA中不属于Alter公司产品的是(B)
A FLEX 10K
B Virtex
C Stratix
4.VHDL结构体由结构体说明语句、功能描述语句组成。
5.VHDL标识符有短标识符、扩展标识符两种。
6.VHDL中的对象是指常量、变量、信号、文件。
7.VHDL中数据类型转换可以采用类型标记法、函数转换法、常数转换法。
8.VHDL定义的基本数据类型包括整数、实数、位、位矢量、布尔、字符、字符串、自然数、时间、错误类型十种。
3.什么是SOC?什么是SOPC?
答:SOC(System on Chip,片上系统)
SOPC(SystemonaProgrammableChip,片上可编程系统)
4.对目标器件为CPLD/FPGA的VHDL设计,主要有几个步骤?每步的作用和结果分别是什么?
答:一个完整的EDA工程通常要涉及到系统建模、逻辑综合、故障测试、功能仿真、时序分析、形式验证等内容。而对于设计工程师而言,系统建模中的器件模型有生产厂商给出,工程师只需要完成系统设计、逻辑综合、布局布线、仿真验证和下载测试几个步骤。
6.快速通道/互联通道包括行互连、列互联、逻辑阵列块、逻辑单元
7.常用的的FPGA配置方式为主动串行、主动并行、菊花链
8.实际项目中,实现FPGA的配置常常需要附加一片EPROM
9.球状封装的英文缩写为BGA
10.CPLD/FPGA选型时主要考虑的因素有器件逻辑资源、芯片速度、功耗、封装
2.8.2
1.在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是(D)
C. clk = ‘0’
D. clk’event and clk = ‘0’
7、在VHDL的并行语句之间中,只能用(C)来传送信息
●可以反复编程,对于一般规模的器件,上电几十毫秒就可以完成配置数据的加载;
●开发设计不需要专门的编程器;
●与CMOS工艺的存储器兼容,价格较低;
FPGA器件的缺点:
●由于器件掉电后SRAM容易丢失配置数据,因而常常在FPGA外部添加一个制度春初期PROM或EPROM来保存这些配置数据,从而给配置数据的保密带来了困难;
图2-20 FPGA的基本机构
反熔丝技术FPGA器件的逻辑结构采用基于多路选择器的基本逻辑单元,配置数据放在反熔丝开关矩阵中,通过编程使部分反熔丝介质击穿,导通开关从而实现器件的编程。如图2-21所示
图2-21反熔丝技术的FPGA结构
3.基于SRAM编程的FPGA有哪些特征?优缺点?
答:
FPGA器件的优点:
9.时序仿真较功能仿真多考虑了器件的物理模型参数
10.常用的第三方EDA工具软件有Synplify/Synplify Pro、Leonardo Spectrum
1.8.2
1.EDA技术发展历程的正确描述为(A)
A CAD->CAE->EDA
B EDA->CAD->CAE
C EDA->CAE->CAD
9.VHDL有逻辑运算符、关系运算符、算术运算符、并置运算四类操作符。
10.VHDL有行为级、门级、数据流、混合型四种描述风格。
11.VHDL的顺序语句只能出现在进程(PROCESS)、过程(PROCEDURE)和函数(FUNCTION)中,是按照书写顺序自上而下,一条一条执行。
12.VHDL的进程(process)语句是由顺序语句组成的,但其本身却是并行执行的。