1.可编程逻辑器件在现代电子设计中越来越重要,请问: 你所知道的可编程逻辑器件有哪些?目前最常用的两种器件是什么?其结构特征如何?
答:按可编程逻辑器件的发展,有简单PLD器件(包括PLA、PAL、GAL、CPLD、FPGA等)和复杂PLD器件两大类。目前最常用的两种复杂PLD器件是CPLD和FPGA。CPLD即复杂可编程逻辑器件,其结构是基于ROM的乘积项的可编程结构,而FPGA 是现场可编程门阵列器件,其结构基于可编程的查找表。 2.简述FPGA等可编程逻辑器件设计流程
答:FPGA等可编程逻辑器件的设计流程即现代EDA设计的流程,主要包括设计输入、逻辑与结构综合、时序与功能仿真、编程下载、硬件测试等步骤。(或绘流程图说明) 3.一个设计实体由哪几个基本部分组成?它们的作用如何? 答:(1)库与程序包部分:使实体所用资源可见; (2)实体部分:设计实体的外部特征描述; (3)结构体部分:设计实体的内部电路结构或功能描述。 4.进程语句是如何启动的?
答:进程由敏感信号列表中的敏感信号的变化启动。有两种格式:一种是 PROCESS(敏感信号表)IS,一种是PROCESS WAIT UNTILL 敏感信号 5.过程与函数的区别体现在哪些方面? 答:相同点:过程与函数都属于子程序,;都需要先定义后使用;都允许调用;都可以重载。但也有不同:(1)过程调用时作为一个独立的语句出现,函数调用时只能作为一个语句元素出现;(2)函数调用的结果是返回一个函数值,过程调用的结果是执行过程体中的顺序语句。
6.过程可以定义在一个VHDL程序的那些位置?函数可以定义在一个VHDL程序的那些位置?
7.VHDL是强类型语言还是弱类型语言?若数据类型不一致能否进行数据操作?如能,如何实现?
答:强类型语言,即只有同类型的数据能够直接进行数据操作。若数据类型不一致不能进行直接数据
操作,但能够通过类型转换函数等方法转换为同类型数据后进行操作。 8. 有限状态机适用于什么数字系统的设计?有何优点?
答:有限状态机适用于具有顺序控制特征的数字系统设计,一般作为系统的控制部分。具有结构模式简单、结构清晰、易优化、可靠性高、可实现高速控制等优点。 9.详细讨论并用示例说明with_select语句和case语句的异同点。 相同点:(1)描述完全条件;(2)条件的列出要求一致;? 不同点:(1)with_select是并行语句,case是顺序语句;(2)格式上,with_select语句只有最后一个子句分隔符用分号“;”,前面所有子句用逗号“;”。case语句的所有子句分隔符都用分号“;”;?
10.传统设计方法和EDA设计方法的主要的不同点?
传统设计方法:自下而上(Bottom - up)的设计方法,是以固定功能元件为基础,基于电路板的设计方法。
EDA方法:自上而下(Top - Down)的设计方法。其方案验证与设计、系统逻辑综合、布局布线、性能仿真、器件编程等均由 EDA工具一体化完成。 11.现代数字系统常用设计方法有哪些?
自顶向下(Top--down)设计,自低向下(Bottom--up)设计,IP复用技术与SoC(片上系统。 12.VHDL语言可以把任意复杂的电路系统视作一个模块,一个模块可主要分为哪三个组成
部分?
库和程序包、实体、结构体
EDA名词解释,写出下列缩写的中文(或者英文)含义:(10分) 1、PLD:可编程逻辑器件
CPLD:复杂可编程逻辑器件 2、HDL:硬件描述语言
VHDL:甚高速集成电路硬件描述语言 3、LUT:查找表(Look Up table) 4、ASIC:专用集成电路
5、SOC:片上系统 6、IP CORE:知识产权核
7、FPGA:现场可编程门阵列 8、JTAG:联合测试行动组 9、EAB:嵌入式阵列快 10、LE(LC):逻辑单元
11、SOPC:可编程片上系统 12、EDA:电子设计自动化 13、FSM:有限状态机 14、BST:边界扫描测试
15、M4K:Altera公司Cyclone系列FPGA中的嵌入式存储器模块 16、RTL:寄存器传输级 17、MV:混合电压
18、PLD:可编程逻辑器件
19、std_logic_vector:一种数组型数据类型,其中每位数据均为std_logic型。
20、one-hot:一种有限状态机的编码形式。状态机的每个状态都用一个触发器来表示,即
在每个状态只有对应触发器置“1”,其他触发器均置“0”。
21、GAL:通用阵列逻辑 22、LAB:逻辑阵列块 23、CLB:可配置逻辑模块 24、ISP::在系统可编程 25、ICR:在电路可重构 26、EDA:电子设计自动化 27、SOC:片上系统
28、UART:通用异步收发器
设计题
1、编写上升沿触发的D触发器的VHDL语言程序。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY DCHUFAQI IS
PORT (CLK,DCHUFAQI,en:IN STD_LOGIC; Q :OUT STD_LOGIC); END DCHUFAQI;
ARCHITECTURE B OF DCHUFAQI IS SIGNAL Q1:STD_LOGIC; BEGIN
PROCESS(CLK,Q1) BEGIN
IF (CLK'EVENT AND CLK='1')THEN IF(EN='1')THEN Q1<=DCHUFAQI; END IF; END IF;
END PROCESS; Q<=Q1; END B;
2.设计一个具有异步清零和同步时钟及使能端的5进制加计数器。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL
USE IEEE.STD_LOGIC_UNSIGNED.ALL ENTITY CNT5 IS
PORT(CLK,RST,EN:IN STD_LOGIC;
Q:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); COUT:OUT STD_LOGIC); END CNT5;
ARCHITECTURE BEHAV OF CNT5 IS
BEGIN
PROCESS(CLK,RESET,EN)
VARIABLE Q1:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN
IF RESET=‘1’ THEN Q1:=(OTHERS=>’0’); ELSIF CLK’EVENT AND CLK=‘1’THEN
IF EN=‘1’THEN
IF Q1<“100”THEN Q1:=Q1+1; ELSE Q1:=“000”; END IF; END IF;
END IF;
IF Q1=“101”THEN COUT<=‘1’; ELSE COUT<=‘0’; END IF; Q<=Q1;
END PROCESS; END BEHAV;
3.设计一位比较器,当A>B时输出Q=1; 否则输出Q=0. LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL ENTITY COMP IS
PORT(A,B:IN STD_LOGIC; Q:OUT STD_LOGIC); END COMP;
ARCHITECTURE BEHAV OF COMP IS BEGIN
PROCESS(A,B)
BEGIN
IF A>B THEN Q<=‘1’; ELSE Q<=‘0’;; END IF; END PROCESS; END BEHAV
4.写出具有异步清零功能、时钟上升沿触发的D触发器的VHDL描述。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL ENTITY DFF IS
PORT(D, CLK,RESET:IN STD_LOGIC; Q:OUT STD_LOGIC); END DFF;
ARCHITECTURE BEHAV OF DFF IS BEGIN
PROCESS(D,CLK,RESET) BEGIN
IF RESET=’1’ THEN Q<=’0’;
ELSIF CLK’EVENT AND CLK=’1’THEN Q<=’D’; END IF; END PROCESS; END BEHAV
5.采用CASE语句描述一个四选一数据选择器,当选择端SEL分别为 00,01,10,11时,输出Y 分别输出A,B,C,D。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL ENTITY MUX41 IS
PORT(A,B,C,D:IN STD_LOGIC;
SEL:IN STD_LOGIC_VECTOR(1 DOWNTO 0); Y:OUT STD_LOGIC); END MUX41;
ARCHITECTURE BEHAV OF MUX41 IS BEGIN
PROCESS(A,B,C,D,SEL)
BEGIN
CASE SEL IS
WHEN ”00”=>Y<=A; WHEN ”01”=>Y<=B; WHEN ”10”=>Y<=C; WHEN ”11”=>Y<=D;
WHEN OTHERS=>Y<=0; END CASE END PROCESS; END BEHAV