EDA习题1
- 格式:doc
- 大小:28.50 KB
- 文档页数:4
一、填空题
1、VHDL的基本描述语句包括()和()。
2、VHDL的顺序语句只能出现在()、()和()中,是按程序书写的顺序自上而下、一条一条的执行。
3、VHDL的并行语句在结构体中的执行是()的,其执行方式与语句书写的顺序无关。
4、在VHDL的各种并行语句之间,可以用()来交换信息。
5、VHDL的PROCESS(进程)语句是由()组成的,但其本身却是()。
6、VHDL的并行信号赋值语句的赋值目标必须都是()。
7、VHDL的子程序有()和()两种类型。
8、VHDL的过程分为过程首和过程体两部分,调用前需要将它们装入()中。
9、VHDL的函数分为()和()两部分,调用前需要将它们装入程序包(Package)中。
10、元件例化是将预先设计好的设计实体作为一个(),连接到当前设计体中一个指定的()。
11、在PC上或工作站利用VHDL进行项目设计,不允许在()下进行,必须在根目录下为设计建立一个工程目录(即文件夹)。
12、程序包是用VHDL语言编写的,其源程序也需要以()文件类型保存。
13、VHDL的源文件是用EDA工具的文本编辑方式输入的,因此称为()。
二、选择题
1、在VHDL中,IF语句至少应有1个条件句,条件句必须由()表达式构成。
A、BIT
B、STD_LOGIC
C、BOOLEAN
D、任意
2、在VHDL的CASE语句中,条件句中的“=>”不是操作符,它只相当于()的作用。
A、IF
B、THEN
C、AND
D、OR
3、在VHDL的FOR_LOOP语句中的循环变量是一个临时变量,属于LOOP语句的局部变量,()事先声明。
A、必须
B、不必
C、其类型要
D、其属性要
4、在VHDL中,语句“FOR n IN 0 TO 7 LOOP”定义循环次数为()次。
A、8
B、7
C、0
D、1
5、在VHDL中,含WAIT语句的进程PROCESS的括弧中后()再加敏感信号。
否则是非法的。
A、可以
B、不能
C、任意
D、只能
6、在VHDL的并行语句之间,可以用()来传送信息。
A、变量
B、变量和信号
C、信号
D、常量
7、VHDL中,PROCESS结构是由()语句组成的。
A、顺序
B、顺序和并行
C、并行
D、任何
8、在VHDL的进程语句格式中,敏感信号表列出的是设计电路的()信号。
A、输入
B、输入和输出
C、输出
D、任意
9、VHDL的块语句是并行语句结构,它的内部是由()语句构成的。
A、并行和顺序
B、顺序
C、并行
D、任意
10、在VHDL中,条件信号赋值语句WHEN_ELSE属于()语句。
A、并行兼顺序
B、顺序
C、并行
D、不存在的
11、程调用前需要将过程的过程首和过程体装入()中。
A、源程序
B、结构体
C、程序包
D、设计实体
12、在元件例化(COMPONENT)语句中,用()符号实现名称映射,将例化元件端口声明语句中的信号名与PORT MAP()中的信号名关联起来。
A、=
B、:=
C、<=
D、=>
13、VHDL的STD库包含STANDARD和TEXTIO程序包,它们是文件()文件包。
A、输入
B、输入\输出
C、输出
D、编辑
14、VHDL的WORK库是用户设计的现行工作库,用于存放()的工程项目。
A、用户自己设计的
B、公共程序
C、共享数据
D、图形文件
15、在VHDL中,为了使已声明的数据类型、子程序、元件能被其他设计实体调用或共享可以把它们汇集在()中。
A、设计实体
B、程序库
C、结构体
D、程序包
三、分析以下电路的功能:
1、ENTITY LX3_1 IS
PORT( s2,s1,s0:IN STD_LOGIC;
d3,d2,d1,d0: IN STD_LOGIC;
d7,d6,d5,d4: IN STD_LOGIC;
Y:OUT STD_LOGIC);
END LX3_1;
ARCHITECTURE one OF lx3_1 IS
SIGNAL s STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
S<=s2&s1&s0;
Y<=d0 WHEN “000”ELSE
d1 WHEN “001”ELSE
d2 WHEN “010”ELSE
d3 WHEN “011”ELSE
d4 WHEN “100”ELSE
d5 WHEN “101”ELSE
d6 WHEN “110”ELSE
d7;
END one;
2、ENTITY LX3_2 IS
PORT(
A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
B:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
GT,LT,EQ: OUT STD_LOGIC);
END LX3_2;
ARCHITECTURE one OF lx3_2 IS
BEGIN
PROCESS(a,b)
BEGIN
GT<=‘0’;
LT<=‘0’;
EQ<=‘0’;
IF A>B THEN GT<=‘1’;
ELSIF A<B THEN LT<=‘0’;
ELSE EQ<=‘1’;
END IF;
END PROCESS;
END one;
3、ENTITY LX3_3 IS
PORT(
ABIN: IN STD_LOGIC_VECTOR (7 DOWNTO 0); DIN: IN STD_LOGIC_VECTOR (7 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END LX3_3;
ARCHITECTURE ONE OF lx3_3 IS
BEGIN
PROCESS(ABIN,DIN)
BEGIN
FOR I IN 0 TO 7 LOOP
DOUT(I)<=DIN(I) AND ANIN(I);
END LOOP;
END PROCESS;
END ONE;
4、ENTITY LX3_4 IS
PORT( CLK:IN STD_LOGIC;
J,K:IN STD_LOGIC;
Q,QN:OUT STD_LOGIC;
END LX3_4;
ARCHITECTURE stuc OF lx3_4 IS
SIGNAL Q_TEMP:STD_LOGIC:=‟0‟;
SINGNAL JK: STD_LOGIC_VECTOR (1 DOWNTO 0); BEGIN
JK<=J&K;
PROCESS (CLK,J,K)
BEGIN
IF CLK‟EVENT AND CLK=‟0‟THEN
CASE JK IS
WHEN”00”=>Q_TEMP<=Q_TEMP;
WHEN”01”=>Q_TEMP<=‟0‟;
WHEN”10”=>Q_TEMP<=‟1‟;
WHEN”11”=>Q_TEMP<=NOT Q_TEMP;
WHENOTHERS=>Q_TEMP<=‟X‟;
END CASE;
Q<= Q_TEMP;
QN<=NOT Q_TEMP;
END PROCESS;
END ONE;
5、ENTITY LX3_5 IS
PORT(clk, rst, ena: IN STD_LOGIC;
q: IN STD_LOGIC_VECTOR (7 DOWNTO 0);
COUT:OUT STD_LOGIC);
END LX3_5;
ARCHITECTURE ONE OF lx3_5 IS
SIGNAL qi: STD_LOGIC_VECTOR
(7DOWNTO0);
BEGIN
PROCESS(clk,rst, ena)
BEGIN
If rst=‟1‟then qi<=”00000000”;
ELSEIF clk‟EVENT and clk=‟1‟ then
If ena=‟1‟then
Qi<=qi+1;
End if;
End if;
Q<=qi;
END PROCESS;
Cout<=‟1‟when qi=”11111111”else …0‟;
END ONE;
四、程序编写:
1、设计1位二进制全减器。
A为被减数,b为减数,bin为低位借位;d为本位差,bout为向高位借位。
2、编写带复位和预置控制端的六进制加法计数器。
设电路的预置数据输入端为d[3..0],计数输出端为q[3..0]。
时钟输入端为clk;Rst是复位控制输入端,低电平有效;ldn是预置控制输入端,ldn=0时,q[3..0]=d[3..0]。
ena是使能控制输入端,当ena=1时,计数器计数,ena=0时,计数器状态保持不变。
3、设计4位序列检测器,当检测到“0110”时输出1,否则输出0。