- 23
- 0
- 约3.57万字
- 约 33页
- 2017-12-11 发布于上海
- 举报
第三章VHDL的语句
第三章 VHDL的语句
VHDL中的语句按其执行顺序可分为顺序描述语句和并行描述语句两大类。顺序描述语句的执行顺序是按语句的书写顺序依次执行的,常用于实现模块的算法部分;并行描述语句的执行顺序与书写顺序无关,所有语句是并发执行的,常用于表示模块间的连接关系。
本章将详细介绍这两类VHDL语句。
3.1 VHDL语言的顺序描述语句
顺序语句是建模进程、过程和函数功能的基本语句单元,它只能在进程、过程和函数中使用,其执行顺序按照书写顺序来执行,同时前面语句的执行结果会对后面语句的执行结果产生影响。顺序描述语句按照控制方式分为条件控制语句和迭代控制语句,其中,条件控制语句有IF语句和CASE语句,迭代控制语句有循环语句和顺序断言语句。
下面对顺序描述语句进行详细介绍。
3.1.1 信号赋值语句与变量赋值语句
采用VHDL描述硬件电路的过程中,数据的传递和端口界面数据的读写都是通过赋值语句来实现的,赋值语句就是将一个数值或表达式传递给某一个数据对象的语句。VHDL提供了两类赋值语句:信号赋值语句和变量赋值语句。
信号虽然只能在VHDL程序的并行部分进行说明,但是它在程序的顺序部分和并行部分都可使用。信号赋值语句的语法如下:
待赋值信号=表达式;
变量的说明和赋值操作都只能在程序的顺序部分进行。变量赋值语句的语法如下:
待赋值变量:=表达式;
注意:不论是信号还是变量,赋值符号两边必须具备相同的数据类型和位长。在前一章我们讲过信号与变量的区别,这里有必要重申一下:信号赋值的执行和信号值的更新之间是有一定延迟的,只有经过延迟后信号才能得到新值,否则保持原值;而变量赋值的语句执行后立即得到新值,没有延迟。
上面讲到,信号赋值会有延迟,其实,VHDL允许为信号赋值选择“延迟机制”,即:传输延迟或惯性延迟,其中,传输延迟用于表示无论输入脉冲宽度多窄都能在输出端无失真复现的延迟模型;惯性延迟用于表示输入脉冲传播时间受电路“惯性”影响的延迟模型。VHDL默认的延迟模型是惯性延迟。
由于信号的赋值有延迟,任何对信号的赋值都暂存于该信号的驱动器中,什么时候把新值代入信号,有待同步事件发生或延迟达到由保留字after指定的时间,例如:
a=0 after 5 ns,1 after 10 ns;
after指定的延迟时间应从执行信号赋值语句的模拟时刻起开始计算,如上例,假设在100 ns时执行该语句,那么把0值代入a的时刻是105 ns,而把1值代入a的时刻是110 ns。信号赋值语句本身的执行是不耗费时间的。
3.1.2 if语句
IF语句是具有条件控制功能的语句,它根据给出的条件及其条件是否成立的结果来确定执行语句的顺序,其格式由三种:
第一种
IF 条件 THEN 顺序语句
END IF
第二种
IF语句二选择控制,其书写格式为:
IF 条件 THEN
顺序处理语句;
ELSE
顺序处理语句;
END IF;
第三种
IF语句的多选择控制又称IF语句的嵌套,其书写格式为:
IF 条件 THEN
顺序处理语句;
ELSE
顺序处理语句;
……
ELSEIF 条件 THEN
顺序处理语句;
ELSE
顺序处理语句;
END IF;
下例是用if语句实现三态单向总线:
LIBRARY ieee;
USE ieee.std_logic_1164.all; ――程序包使用说明
ENTITY bufs IS ――ENTITY(实体)
PORT (din : IN std_LOGIC_vector(7 downto 0);
dout : OUT std_LOGIC_vector(7 downto 0) bus; ――PORT(端口定义)
en : IN std_LOGIC);
END bufs;
ARCHITECTURE bufs1 OF bufs IS ――ARCHITECTURE(结构体)
BEGIN
process(en,din) --process(进程)en与din为进程敏感信号,控制进程的挂起和执行
begin
if (en=1) then
dout=din;
else
dout=ZZZZZZZZ;
end if;
end process;
end bufs1;
下例是用if语句实现四选一多路选择器:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
entity mux4 is
port(
您可能关注的文档
- 甘南藏区草原、丝绸之路动车体验精华8日之旅.PDF
- 甘肃农业大学消防控制室合并联网改造项目中标公告.PDF
- 生命文化学论纲.PDF
- 生物学七年级上册模拟试题(一).doc
- 甲午战争败于晚清领导集团的发展战略观.PDF
- 申万宏源集团股份有限公司章程.PDF
- 电子科大17秋《数据库程序设计基础》在线作业3.doc
- 电子科大17秋《机电驱动技术》在线作业2.doc
- 电子科大17秋《机电驱动技术》在线作业1.doc
- 电子科大17秋《机电驱动技术》在线作业3.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 交流转辙机道岔动作电流故障曲线分析信号集中监测课件.pptx VIP
- 2025届东北三省三校高三下学期第一次联合模拟考试政治试题(原卷版+解析版).docx VIP
- 养老服务质量检测90项.pdf VIP
- 光谱分析图谱与标志.docx
- 2025新课标中考英语词汇.pdf VIP
- T_CNPHARS 0001-2025 群体药动学药效学分析标准操作规范.pdf VIP
- (2026年)血浆置换及血浆分离吸附护理要点PPT课件.pptx VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 医院培训课件:《死亡医学证明(推断)书》规范填写及死因链基础知识.pptx VIP
- 健康体检表样表最新文档.docx VIP
原创力文档

文档评论(0)