VHDL数字系统设计复习材料
考试题型
⼀、填空题(每空1分,共10分)
⼆、单项选择题(每⼩题2分,共20分)三、分析题(3⼩题,共40分)四、程序设计题(3题,共30分)各章主要知识要点
第2章 VHDL 简介
1. 进程中的信号与变量赋值
信号与变量赋值语句的⽐较
注:①信号可以列⼊进程的敏感列表,⽽变量不能。
②赋值后,变量取值⽴即更新,⽽信号要延迟Δ。 2、wait 语句
1. Wait on 敏感信号参数表 ;
2. Wait for 时间表达式;
3. Wait until 布尔表达式;【例】 ...
PROCESS (CLK) BEGIN
IF CLK = '1'
THEN Q <= D ; --利⽤进程的启动特性 END IF; END PROCESS ;
【例】 ...
PROCESS BEGIN
wait until CLK = '1' ; --利⽤wait 语句 Q <= D ;
END PROCESS; 【例】
天才女相师
信号SIGNAL
变量V ARIABLE
基本⽤法
⽤于作为电路中的信号连线
⽤于作为进程中局部数据存储单元
适⽤范围
在整个结构体内的任何地⽅都能适⽤
只能在所定义的进程中使⽤
⾏为特性
在进程的最后才对信号赋值
⽴即赋值
PROCESS
BEGIN
wait on CLK; --利⽤wait语句
Q <= D ;
END PROCESS;
3、惯性延迟和传输延迟的时序图
⼀、惯性延迟
◆AFTER语句表⽰惯性延迟。
◆理想的惯性延迟T:把输⼊信号延迟T时间,还对任何宽度⼩于T的脉冲进⾏拦截。
◆格式:
⼆、传输延迟
◆传输延迟T:只是把输⼊信号延迟T时间。
◆格式:信号名2 <= transport 信号名1 after 延时;
【例1】
B <= A AFTER 20 ns;
B <= TRANSPORT A AFTER 20 ns;
【例2】图2.23 (P56)上课补充的例⼦
Z1<=transport x after 10ns;
Z2<=x after 10ns;
Z3<=reject 4ns xafter 10ns;
[例3]下⾯的VHDL代码中,信号A、B、C、D均为整数,且初值赋为0。若在10ns时D 从0变为1,则A、B、C发⽣变化的时间和取值分别为
process(D)
begin
A <= 1 after 5ns ;
B <= A + 1 ;
C <= B after 10ns ;
end process;
A在15ns时变为1,B在(10+△)ns时变为1,C在20ns时变为0
三、仿真延迟
在VHDL语句中,如果没有指明延迟类型和延迟量,VHDL仿真器和综合器将⾃
动为系统中的信号赋值配置⼀⾜够⼩⽽⼜能满⾜逻辑排序的延迟量,这个延迟量就称为仿真延迟(△延迟或延迟)。
仿真延迟的引⼊由EDA⼯具⾃动完成。
照例的近义词是什么⼀个仿真周期产⽣⼀个仿真延迟。
仿真命令:force 信号名V1 t1, V2 t2, …
【例】force A 0 0, 1 2, 0 3, 1 9, 0 16
当执⾏下列并发语句时,根据A,试画出描述B、C和D的时序图。
D <= transport A after 5ns ;
B <= A after 5ns ;线描花瓶
C<= reject 2ns A after 5ns ;
第3章 VHDL语⾔的⾼级议题
1、过程和函数的特点
⼦程序
◆VHDL中的⼦程序有两种类型:过程和函数。
◆⼦程序可以在程序包、结构体和进程中定义,只有定义后才能被调⽤。⼦程序内部
老鼠拼音的语句都是顺序语句。
◆⼦程序调⽤时,过程能返回多个变量,⽽函数只能返回⼀个变量。
◆函数的参数都是输⼊参数,⽽过程的参数有输⼊、输出和双向参数。
◆函数有顺序函数和并⾏函数,过程有顺序过程和并⾏过程。其中,顺序函数、顺序
过程存在于进程或另⼀个⼦程序中;并⾏函数、并⾏过程存在于进程或另⼀个⼦程序外。
2、属性语句
⼀、信号属性语句
◆利⽤信号的属性来获取信号的⾏为信息和功能信息。
1、返回单⼀值的信号属性(P298:表8.2)
(1)s’EVENT
(2)s’ACTIVE
(3)s’LAST_EVENT
(4)s’LAST_V ALUE
(5)s’LAST_ACTIVE
2、⽣成信号的信号属性(P299:表8.3)
(1)s’DELAYED[(t ime)]
(2)s’STABLE [(time)]
(3)s’QUIET [(time)]
口琴难学吗(4)s’TRANSACTION
⼆、数组属性语句(P300:表8.4)
A’LEFT(N) A’RIGHT(N)
汤泉温泉度假村A’HIGH(N) A’LOW(N)
A’RANGE(N) A’REVERSE_RANGE(N)
A’LENGTH(N)
三、数据类型属性语句中文符号大全
(1)T’POS(X) 返回输⼊X的位置序号
(2)T’V AL(X) 返回输⼊位置序号X的值
(3)T’ SUCC(X) 返回输⼊X的下⼀个值
(4)T’PRED(X) 返回输⼊X的前⼀个值
(5)T’LEFTOF(X) 返回输⼊X左边的值
(6)T’RIGHTOF(X) 返回输⼊X右边的值
3、⽣成语句的特点
◆⽣成语句是⼀种循环语句,具有复制电路的功能。
◆当设计⼀个由多个相同单元模块组成的电路时,可利⽤⽣成语句复制⼀组完全相同的并⾏组件或设计单元电路结构,避免多段相同结构的重复书写,以简化设计。⼀、FOR循环模式
[⽣成标号:] FOR 循环变量IN 取值范围GENERATE
[BEGIN]
并⾏语句
END GENERATE [⽣成标号];
【例】
四会单词. . .
FA0: FullAdder port map (A(0),B(0),c(0),c(1),s(0));
FA1: FullAdder port map (A(1),B(1),c(1),c(2),s(1));
FA2: FullAdder port map (A(2),B(2),c(2),c(3),s(2));
FA3: FullAdder port map (A(3),B(3),c(3),c(4),s(3));
. . .
→
. . .
FullAdd4: for i in 0 to 3 generate
Begin
FAX: FullAdder port map (A(i),B(i),c(i),c(i+1),s(i));
End generate FullAdd4;
. . .
⼆、IF模式
[⽣成标号:] IF 条件GENERATE
[BEGIN]
并⾏语句
END GENERATE [⽣成标号];
【例】
. . .
genLS: if Lshift generate
shifter <= Q(N-1 downto 1) & shiftin;
End generate genLS;
genRS: if not Lshift generate
shifter <= shiftin & Q(N downto 2);
End generate genRS;
...
第5章SM 图与微程序
1.数字系统的设计:
1, 数据单元包含保存运算数据和运算结果的数据寄存器,也包括完成数据运算的组合逻辑。 2. 控制单元⽤来产⽣状态信号序列,以决定何时进⾏何种数据运算。
3. ⼏乎所有的⼤型数字系统都包含某些状态概念,即系统的输出由输⼊的以前值和当前值决定。
4 同步时序系统有两种通⽤的模型:Mealy 机和Moore 机(都称为状态机)。 5. 状态图:⽤圆圈把各个状态圈起来,在圆圈上⽤圆弧表⽰转换条件。
与状态图相⽐,状态机流程图(SM 图或ASM 图)具有的优点:
(1)观察SM 图会⽐观察等价的状态图更容易理解数字系统的执⾏过程;(2)SM 图可以直接同硬件实现联系起来。
SM 图和软件流程图相似,但是它包含隐含的时序信息。
SM 图表⽰物理硬件,因此图内所有的转移必须形成封闭的路径。
关于SM 图的说明:
(1)状态框:状态恰好在⼀个时钟周期内完成。其输出信号列表在时钟周期内保持所⽰的值,在下⼀时钟周期复位为默认值。(2)判断框:必须与⼀个状态框关联,所以判断在状态的其他动作的同⼀时钟周期内确定。(3)条件输出框:必须紧随⼀个判断框,因此其输出信号与所属的状态框的输出信号在同⼀时钟周期内被置位。
⼆、SM 图中隐含的时序信息状态框的输出与条件输出的区别:
(b)的时序图:
Z Y(c=1)
Y(c=0)
W(c=0)
时钟
W(c=1)
(a)
(b)