第8章VHDL顺序和并行语句归纳
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
END PROCESS;
8.3 进程语句归纳
8.3.3 进程要点
3. 进程必须由敏感信号的变化来启动
4. 进程语句本身是并行语句 进程内部为顺序语句,但作为整体,与其他进程间是并行关系。
8.3 进程语句归纳
8.3.百度文库 进程要点
5. 信号是多个进程间的通信线 在不同进程内不可对同一个信号赋值,即不可多重赋值! 进程内信号赋值和变量赋值的效果是不同的!
6. 一个进程中只允许描述对应于一个时钟信号的同步时序逻辑 在一个进程内,不可在一个if语句中同时捕捉时钟的上升沿和下
降沿。
8.4 并行语句例解
【例8-13】 ARCHITECTURE dataflow OF mux IS SIGNAL seiect : INTEGER RANGE 15 DOWNTO 0; BEGIN Select <= 0 WHEN s0=’0’ AND s1=’0’ ELSE
顺序语句 END IF
VHDL常用顺序语句、并行语句归纳
常用的并行语句有: (1) 并行信号赋值语句,用 “<=” 运算符 (2) 条件赋值语句,WHEN-ELSE (3) 选择信号赋值语句,WITH-SELECT (4) 进程语句,PROCESS 常用的顺序语句有: (1) 信号赋值语句和变量赋值语句 (2) IF- ELSE语句 (3) CASE-WHEN语句 (4) FOR-LOOP
1 WHEN s0=’1’ AND s1=’0’ ELSE 2 WHEN s0=’0’ AND s1=’1’ ELSE 3; x <= a WHEN select=0 ELSE b WHEN select=1 ELSE c WHEN select=2 ELSE d; ...
8.5 IF语句概述
(1) IF
8.6 仿真延时
8.6.1 固有延时 z <= x XOR y AFTER 5ns ; z <= x XOR y ; B <= A AFTER 20ns ;--固有延时模型
8.6 仿真延时
8.6.2 传输延时 B <= TRANSPORT A AFTER 20 ns;-- 传输延时模型
A
B 0 10 20 30 40ns
顺序描述语句部分
赋值语句、进程启动语句、子程序调用语句、 顺序描述语句、进程跳出语句
敏感信号参数表 进程对各自的敏感信号敏感
8.3 进程语句归纳
8.2.3 进程要点
1. PROCESS为一无限循环语句
2. PROCESS中的顺序语句具有明显的顺序/并行运行双重性
PROCESS(abc) BEGIN CASE abc IS WHEN "0000" => so<="010" ; WHEN "0001" => so<="111" ; WHEN "0010" => so<="101" ; ... WHEN "1110" => so<="100" ; WHEN "1111" => so<="000" ; WHEN OTHERS => NULL ; END CASE;
EDA 技术实用教程
第8 章 VHDL设计深入
第 8 章 VHDL设计深入
8.1、数据对象♠ 8.2、含高阻输出的电路设计♠ 8.3、顺序语句 8.4、并行赋值语句讨论 8.5、IF语句概述 8.6、仿真延时 8.7、VHDL的描述风格
8.3 顺序语句归纳
8.3.1 进程语句格式
结构体中,允许放置任意多个进程语句结构,而每一进程的内部是由 一系列顺序语句来构成的。
图8-9 固有延时输入输出波形
A
B 0 10 20 30 40ns
图8-10传输延时输入输出波形
8.6 仿真延时
8.6.3 仿真
VHDL仿真器和综合器将自动为系统中的信号赋值 配置一足够小而又能满足逻辑排序的延时量,即仿真 软件的最小分辩时间,这个延时量就称为仿真 (Simulation Delta),或称 延时,从而使并行语句 和顺序语句中的并列赋值逻辑得以正确执行。由此可 见,在行为仿真、功能仿真乃至综合中,引入 延时 是必需的。仿真中, 延时的引入由EDA工具自动完 成,无需设计者介入。
VHDL中描述时序逻辑时必须使用进程语句。
PROCESS语句结构的一般表达格式如下
[进程标号: ] PROCESS [ ( 敏感信号参数表 [进程说明部分]
BEGIN 顺序描述语句
END PROCESS [进程标号];
) ] [IS]
8.3 进程语句归纳
8.3.2 进程结构组成
进程说明部分 数据类型、常数、变量、属性、子程序
条件句 Then 顺序语句
END IF ;
(3) IF 条件句 Then IF 条件句 Then ... END IF
END IF
(2) IF 条件句 Then 顺序语句
ELSE 顺序语句
END IF ; (4) IF 条件句 Then
顺序语句 ELSIF 条件句 Then 顺序语句 ... ELSE
8.3 进程语句归纳
8.3.3 进程要点
3. 进程必须由敏感信号的变化来启动
4. 进程语句本身是并行语句 进程内部为顺序语句,但作为整体,与其他进程间是并行关系。
8.3 进程语句归纳
8.3.百度文库 进程要点
5. 信号是多个进程间的通信线 在不同进程内不可对同一个信号赋值,即不可多重赋值! 进程内信号赋值和变量赋值的效果是不同的!
6. 一个进程中只允许描述对应于一个时钟信号的同步时序逻辑 在一个进程内,不可在一个if语句中同时捕捉时钟的上升沿和下
降沿。
8.4 并行语句例解
【例8-13】 ARCHITECTURE dataflow OF mux IS SIGNAL seiect : INTEGER RANGE 15 DOWNTO 0; BEGIN Select <= 0 WHEN s0=’0’ AND s1=’0’ ELSE
顺序语句 END IF
VHDL常用顺序语句、并行语句归纳
常用的并行语句有: (1) 并行信号赋值语句,用 “<=” 运算符 (2) 条件赋值语句,WHEN-ELSE (3) 选择信号赋值语句,WITH-SELECT (4) 进程语句,PROCESS 常用的顺序语句有: (1) 信号赋值语句和变量赋值语句 (2) IF- ELSE语句 (3) CASE-WHEN语句 (4) FOR-LOOP
1 WHEN s0=’1’ AND s1=’0’ ELSE 2 WHEN s0=’0’ AND s1=’1’ ELSE 3; x <= a WHEN select=0 ELSE b WHEN select=1 ELSE c WHEN select=2 ELSE d; ...
8.5 IF语句概述
(1) IF
8.6 仿真延时
8.6.1 固有延时 z <= x XOR y AFTER 5ns ; z <= x XOR y ; B <= A AFTER 20ns ;--固有延时模型
8.6 仿真延时
8.6.2 传输延时 B <= TRANSPORT A AFTER 20 ns;-- 传输延时模型
A
B 0 10 20 30 40ns
顺序描述语句部分
赋值语句、进程启动语句、子程序调用语句、 顺序描述语句、进程跳出语句
敏感信号参数表 进程对各自的敏感信号敏感
8.3 进程语句归纳
8.2.3 进程要点
1. PROCESS为一无限循环语句
2. PROCESS中的顺序语句具有明显的顺序/并行运行双重性
PROCESS(abc) BEGIN CASE abc IS WHEN "0000" => so<="010" ; WHEN "0001" => so<="111" ; WHEN "0010" => so<="101" ; ... WHEN "1110" => so<="100" ; WHEN "1111" => so<="000" ; WHEN OTHERS => NULL ; END CASE;
EDA 技术实用教程
第8 章 VHDL设计深入
第 8 章 VHDL设计深入
8.1、数据对象♠ 8.2、含高阻输出的电路设计♠ 8.3、顺序语句 8.4、并行赋值语句讨论 8.5、IF语句概述 8.6、仿真延时 8.7、VHDL的描述风格
8.3 顺序语句归纳
8.3.1 进程语句格式
结构体中,允许放置任意多个进程语句结构,而每一进程的内部是由 一系列顺序语句来构成的。
图8-9 固有延时输入输出波形
A
B 0 10 20 30 40ns
图8-10传输延时输入输出波形
8.6 仿真延时
8.6.3 仿真
VHDL仿真器和综合器将自动为系统中的信号赋值 配置一足够小而又能满足逻辑排序的延时量,即仿真 软件的最小分辩时间,这个延时量就称为仿真 (Simulation Delta),或称 延时,从而使并行语句 和顺序语句中的并列赋值逻辑得以正确执行。由此可 见,在行为仿真、功能仿真乃至综合中,引入 延时 是必需的。仿真中, 延时的引入由EDA工具自动完 成,无需设计者介入。
VHDL中描述时序逻辑时必须使用进程语句。
PROCESS语句结构的一般表达格式如下
[进程标号: ] PROCESS [ ( 敏感信号参数表 [进程说明部分]
BEGIN 顺序描述语句
END PROCESS [进程标号];
) ] [IS]
8.3 进程语句归纳
8.3.2 进程结构组成
进程说明部分 数据类型、常数、变量、属性、子程序
条件句 Then 顺序语句
END IF ;
(3) IF 条件句 Then IF 条件句 Then ... END IF
END IF
(2) IF 条件句 Then 顺序语句
ELSE 顺序语句
END IF ; (4) IF 条件句 Then
顺序语句 ELSIF 条件句 Then 顺序语句 ... ELSE