汕头大学成人教育学院二0一0年春季学期期末考试试卷试卷编号:A卷闭卷课程名称:《EDA技术与应用》班级专业:姓名:学号:一、填空题(20分,每小题1分)1.VHDL的中文名称是__超高速集成电路硬件描述语言_____________。
2.用EDA技术进行电子系统设计的目标是最终完成 asic________ 的设计与实现。
3.可编程器件分为 fpga__ 和 _cpld______ 。
4.标准逻辑位数据类型常用的数值有 _1__ 、 __0_ 、 _z__ 等。
5.在VHDL语言中可以使用的数据类型有: _位____ 、 __标准逻辑位__________、___布尔_____。
6.完整的条件语句将产生 _组合_______ 电路,不完整的条件语句将产生 __时序______电路。
7.信号的赋值符号为 <= ___ 变量的赋值符号为 =___ 。
8.随着EDA技术的不断完善与成熟, ___自顶向下______的设计方法更多的被应用于VHDL设计当中。
9.EDA设计过程中的仿真有三种,它们是___行为_____ 仿真、 _逻辑______ 仿真和 __时序____ 仿真。
10.目前国际上较大的PLD器件制造公司有 __altera________ 和 ___xilinx______ 公司。
二、简答题(20分,每小题4分)1、与HDL文本输入法相比较,原理图输入法有何优点?2、写出结构体的一般语言格式并说明其作用3、信号和变量的区别?4、写出PROCESS语句结构的一般表达格式。
5、写出五种以上的VHDL的预定义数据类型。
三、程序注解(20分,每空1分)library ieee; __________ use ieee.std_logic_1164.all; _____________ ENTITY aa1 is ________ __ port(a,b,s:in bit; _______________________________end aa1; ___________________________ architecture one of aa1 is _________ y<=a when s='0' else b; ____________________ end one; _____ ________________________________ 逻辑功能: ____________________________signal s1 : bit ; _________________________ begin ________________________________ process (clk,d) _______________________ beginif (clk = ‘1’) _____________________________ then ______________________________________ s1 <= d; ________________________________ end if; _________________________________ q <= s1 ; _____________________________ end process; ___________________________ end bo; __________________________ 逻辑功能: __________________四、VHDL语言编程题(1、2小题10分,3小题20分)1、编写一个D触发器的硬件描述语言程序,要求实现上升沿触发。
2.设计一个带有复位控制端和时钟使能控制端的10进制计数器。
3、下图是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。
《EDA技术与应用》A卷答案:一、填空题(20分,每小题1分)1、超高速集成电路硬件描述语言2、 ASIC3、 FPGA 和 CPLD 。
4、‘1’、‘0’、‘z’5、位、标准逻辑位、布尔。
6、组合,时序7、 <= = 。
8、自顶向下9、行为、逻辑和时序10、 Altera 和 Xilinx二、简答题(20分,每小题4分)1、与HDL文本输入法相比较,原理图输入法有何优点?①设计者不需增加新的相关知识,如HDL等。
②输入方法与用protel作图相似,设计过程形象直观,适合初学者入门。
③对于较小的电路模型,其结构与实际电路十分接近,设计者易于把握电路全局(适合设计小型数字电路)。
④设计方式接近于底层电路布局,因此易于控制逻辑资源的耗用,节省面积。
2、写出结构体的一般语言格式并说明其作用ARCHITECTURE 结构体名 OF 实体名 IS[说明语句]BEGIN[功能描述语句]END ARCHITECTURE 结构体名;结构体用于描述电路器件的内部逻辑功能或电路结构。
使用的语句有顺序语句和并行语句。
3、信号和变量的区别?①信号赋值至少有δ延时,而变量赋值没有延时。
②信号除当前值外有许多相关的信息,而变量只有当前值。
③进程对信号敏感而对变量不敏感④信号可以是多个进程的全局信号;而变量只在定义它们的顺序域可见。
⑤信号是硬件中连线的抽象描述,它们的功能是保存变化的数据和连接子元件,信号在元件的端口连接元件。
变量在硬件中没有类似的对应关系,它们用于硬件特性的高层次建模所需要的计算中。
⑥信号赋值和变量赋值分别使用不同的赋值符号“<=”和“:=”,信号类型和变量类型可以完全一致,也允许两者之间相互赋值,但要保证两者的类型相同。
4、写出PROCESS语句结构的一般表达格式。
[进程标号: ] PROCESS [ ( 敏感信号参数表 ) ] [IS][进程说明部分]BEGIN顺序描述语句END PROCESS [进程标号];5、写出五种以上的VHDL的预定义数据类型。
布尔(BOOLEAN)数据类型、位(BIT)数据类型、位矢量(BIT_VECTOR)数据类型字符(CHARACTER)数据类型、整数(INTEGER)数据类型、实数(REAL)数据类型字符串(STRING)数据类型、时间(TIME)数据类型三、程序注解(20分,每空1分)library ieee; 定义元件库use ieee.std_logic_1164.all; 使用ieee库中ENTITY aa1 is 定义实体 __port(a,b,s:in bit; a,b,s为输入端口,数据类型bitend aa1; 实体描述结束architecture one of aa1 is 定义结构体y<=a when s='0' else b; 当S=0时 y=a,否则等bend one; 结构体描述结束逻辑功能: 2选1选择器signal s1 : bit ; 定义信号s1begin 结构体描述开始process (clk,d) 进程语句beginif (clk = ‘1’)判断高电平then 不完整条件语句s1 <= d; d向信号赋值end if; if语句结束q <= s1 ; 信号s1 向q赋值end process; 进程语句结束end bo; 结构体描述结束逻辑功能:锁存器描述四、VHDL语言编程题(1、2小题10分,3小题20分)1、编写一个D触发器的硬件描述语言程序,要求实现上升沿触发。
Entity dff_a isport (clk, d : in bit;q : out bit);end dff_a;architecture body of dff_a issignal q1 : bit ;beginprocess (clk)beginif clk='0' AND clk’last_value='1'thenq1 <= d;end if;q <= q1 ;end process;end architecture dff_a;2.设计一个带有复位控制端和时钟使能控制端的10进制计数器。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK, RST, EN)VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST = '1' THEN CQI := (OTHERS =>'0') ; --计数器复位ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿IF EN = '1' THEN --检测是否允许计数IF CQI < "1001" THEN CQI := CQI + 1; --允许计数ELSE CQI := (OTHERS =>'0');--大于9,计数值清零END IF;END IF;END IF;IF CQI = "1001" THEN COUT <= '1'; --计数大于9,输出进位信号ELSE COUT <= '0';END IF;CQ <= CQI; --将计数值向端口输出END PROCESS;END behav;3、下图是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。