问答题
第1题
叙述VHDL中的各种语言层次。
第2题
对下面的功能写一个实体(Component_A)和一个结构体(rtl):
d_out <= (a_in
and
b_in)
and
c_in;
类型指定为std_logic。
第3题
解释程序包、例化、类属和结构VHDL。
第4题
代码中的"--"的语义是什么?
第5题
信号赋值符号是什么样的?
第6题
VHDL语言中定义了哪两种延迟模型?
第7题
画出图2.25输出信号C1和C2的波形。
第8题
完成表2.8和表2.9。两个例子中均给定信号a的波形。
(a)
architecture
rtl
of
ex
is
begin
b <= a;
c <= b;
end
;
表2.8
(b)
architecture
rtl
of
ex
is
begin
c <= b;
b <= a;
end
;
表2.9
第9题
assert
语句有哪些错误级别?
第10题
重写下面的VHDL代码,增加
assert
语句,使得如果向量a的值等于"111"时,打印信息"too meny ones"。
architecture
rtl
of
ex
is
signal
a: std_logic_vector (2
downto
0);
begin
a <= c
and
b;
end;
第11题
(a) VHDL中有哪3类对象?
(b) 为什么除bit和bit_vector之外,还需要其它数据类型?
第12题
(a) 位串文字用在什么地方?
(b)VHDL标准中为哪种数据类型定义了位串文字 ?
第13题
什么是数组的片?
第14题
下面的VHDL代码中使用聚集给向量a赋值有什么优点?
architecture
rtl
of
ex
is
signal
a: std_logic_vector (31
downto
0);
begin
a <= (
others
=>'1');
…
end
;
第15题
下面的赋值语句执行之后向量a 将得到什么值?
architecture
rtl
of
ex
is
signal
a, b: std_logic_vector (4
downto
0);
signal
c: std_logic_vector (0
to
1);
begin
a <= (1=>'0', 3=>'1',
others
=>b(2));
b <= (1=>'1', 3=>'0',
others
=>c(1));
c <= "10";
end;
第16题
(a) 对下面的语句模拟时,信号a的初值是什么?
type
mytype
is
('T', 'R', '0', '1');
signal
a: mytype;
(b) 数据类型为bit的信号,其初值是什么?
(c) 数据类型为std_logic的信号,其初值是什么?
(d) 是否可以指定一个信号的初值?如果能,如何指定?
第17题
如何描述时钟边沿?
第18题
设计一个元件,图2.26表示其输入和输出。
该元件应当有下面的行为:
Sel
q
00
01
10
11
others
a xor b
a or b
a nor b
a and b
'XX'
(a)用
if
语句。
(b)用
case
语句。
(c)用
when else
语句。
第19题
(a) 数据类型bit在哪个库中定义? (b) 哪个(哪些)库和程序包总是可见的?
第20题
至少说出可以保存在程序包中的4种项目。
第21题
(a) 至少说出可以定义函数的3个位置。
(b) 这3个位置中哪个位置有助于函数的再利用?
(c) 若要使用别的设计者的程序包应当怎么做?
第22题
数据类型std_logic为决断类型,其含义是什么?
第23题
函数与过程有什么区别?
第24题
为什么不应当把函数和过程中的向量长度定义在函数/过程中?
第25题
(a) 设计一个程序包,使其包含2个函数:average和sum。函数average应返回两个数的平均数(四舍五入),函数sum应返回其和。这两个函数都应同时定义于整数和std_logic_vector。
(b) 用上面的函数设计一个元件(c1)。该元件应有4个输入a, b, c和d。输入 a和b的类型为整数(0到127),输入c和d的类型为std_logic_vector(7
downto
0)。该元件应有4个输出:average1, average2, sum1, sum2,即每个函数对应一个输出。average1和sum1的类型为整数(0到127),而Average2和sum2的类型为std_logic_vector(7
downto
0)。
第26题
(a) 在VHDL-93标准中定义了哪些移位操作?
(b) 不用这些移位操作是否可以设计移位寄存器?
第27题
什么是层次化设计?
第28题
用VHDL描述图2.27所示的方框图,即在元件top中例化元件c1(两次)和元件c2。
第29题
(a)是否允许几个实体与一个结构体关联?
(b)是否允许几个结构体与一个实体关联?
第30题
如果有几个结构体,你如何指定哪一个需要模拟/综合?
第31题
在例化过程中哪个命令可以用来改变类属参数的值?
第32题
(a)设计一个带类属参数的或门,它有N个输入和一个延迟Tdelay。N的默认值为3,Tdelay默认值为3 ns。
(b)在调用该或门的元件中将该类属元件例化2次。使一个或门元件中的类属参数改变为N=4和Tdelay=2 ns,而另一个元件中的类属参数改变为N=5和Tdelay=3 ns。
第33题
在元件top中把下面的元件(c1)例化10次。
entity
c1
is
port
(a,b:
in
std_logic;
q:
out
: std_logic);
end;
元件top应有下面的实体:
entity
top
is
port
( a,b:
in
std_logic_vector(9
downto
0);
q:
out
: std_logic_ vector(9
downto
0));
end;
提示:使用生成语句。