- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL语言描述语句;一、VHDL语句分类;基本的VHDL顺序语句;1、process(进程);
2、信号和变量;
3、IF语句;
4、C ASE语句;
5、CASE语句和IF语句的比较;
6、LOOP语句;
7、WAIT语句;
8、使用顺序代码设计组合逻辑电路;;5.3.1 进程(PROCESS)语句
语法说明:
1、Process为过程语句,定义如下:
[进程标号: ] Process [ 触发信号1,触发信号2,…… ]
[ 定义区 ]
Begin
顺序语句
……
End Process [ 进程标号] ;
注: 方括号内容可以省略;触发信号将决定该过程是否执行;一个结构体当中可以有多个过程;多个进程语句之间是并行执行,进程内部属于顺序执行语句。;2.进程语句——语法说明;例1:进程语句例程——带异步复位的D触发器;;进程语句总结:;entity mul is
port (a,b,c,selx,sely : IN bit;
data_out: OUT BIT);
end mul;
ARCHITECTURE ex OF mul IS
SIGNAL temp :BIT ;
BEGIN
p_a: PROCESS(a,b,selx)
BEGIN
IF(SELX=0) THEN temp=a;
ELSE temp=b;
END IF;
END PROCESS p_a;
p_b: PROCESS(temp,c,sely)
BEGIN
IF(SELy=0) THEN data_out=temp;
ELSE temp=c;
END IF;
END PROCESS p_b;
end ex;;1、信号和变量异同:
(1)、声明范围:。
信号:ENTITY,ARCHITECTURE,PACKAGE(ALL)
变量:顺序语句中(PROCESS、子程序)
(2)、作用:动态数值传递,存储运算中间结 果(变量)。
(3)、使用范围:全局(sig),局部(var)。
(4)、变量结果只能由信号传递到外部。
(5)、动作特点:
变量:立即更新。
信号:process执行完毕才生效。(允许多驱动源,仅最后 一个有效)
(6)、操作符:
信号: =
变量: :=
;例2 :
ARCHITECTURE behavioral OF example_duibi IS
SIGNAL d0, d1, d2, d3 : STD_LOGIC ; -- 定义信号
SIGNAL q0, q1 : STD_LOGIC ;
BEGIN
li_1 :PROCESS (d0, d1, d2, d3 )
BEGIN
d2 = d0 ; -- 信号量代入
q0 = d2 OR d3 ;
d2 = d1 ; -- 信号量代入
q1 = d2 OR d3 ;
END PROCESS cduibi_1 ;
li_2 : PROCESS (d0, d1, d3 )
VARIABLE m2 : STD_LOGIC ;
BEGIN
m2 : = d0 ; -- 变量赋值
q0 = m2 OR d3 ;
m2 : = d1 ; -- 变量赋值
q1 = m2 OR d3 ;
END PROCESS cduibi_2 ;
END behavioral ;;语法说明:
进程当中的赋值:
变量:立即更新。
信号:process执行完毕赋值才生效。同时,进程中的信号赋值语句允许有多个不同的赋值驱动源,但仅最后 一个驱动源有效;3、IF语句;(2)用作选择控制时的IF语句书写格式为
IF (条件) THEN
顺序处理语句1;
ELSE
顺序处理语句2;
END IF;
;(3)用作多选择控制时的IF语句书写格式为
IF 条件1 THEN
顺序处理
文档评论(0)