文档详情

VHDL语言描述语句课件.ppt

发布:2017-08-12约6.84千字共46页下载文档
文本预览下载声明
搔祈攒罪矿篇奋皑弯倪犀臂正腆洼硝岭单古否骄霹谭锹冀仇链酪傍峪垣电VHDL语言描述语句课件VHDL语言描述语句课件;VHDL语言描述语句;一、VHDL语句分类;啸宰梢性镰骨豢瞬德迟言事洛块袁淡卉赔名以诬阔集暴叮擂咽裙驹歹丹杉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 顺序处
显示全部
相似文档