5-VHDL主要描述语句(并行语句)[精彩].ppt
《5-VHDL主要描述语句(并行语句)[精彩].ppt》由会员分享,可在线阅读,更多相关《5-VHDL主要描述语句(并行语句)[精彩].ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句第五章第五章 VHDL主要描述主要描述语语句句第二部分并行第二部分并行语语句句5.2.1 进程语句5.2.2 BLOCK 语句5.2.3 并行过程调用语句5.2.4 元件例化语句 5.2.5 并行断言语句 5.2.6 生成语句镰较锈抚篱躲茵恃森保方砂阴涨远速徐勇忿顾哑羹郎址咒朱党协茂慎戊侗5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句5.2 并行并行语语句句相对于传统的软件描述语言,并行语句结构是最具VHDL特色的。在VHDL中,并行语句具有
2、多种语句格式,各种并行语句在结构体中的执行是同步进行的,或者说是并行运行的,其执行方式与书写的顺序无关。在执行中,并行语句之间可以有信息往来,也可以是互为独立、互不相关、异步运行的(如多时钟情况)。每一并行语句内部的语句运行方式可以有两种不同的方式,即并行执行方式(如块语句)和顺序执行方式(如进程语句)。因此,VHDL并行语句勾画出了一幅充分表达硬件电路的真实的运行图景。痴驭纸近迂冯齿蜕葬脸呼纶卒遥翱摔工则坯晦傀杂阿别来皑钧圆臣泊两照5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句如下图所示的是在一个结构体
3、中各种并行语句运行的示意图。这些语句不必同时存在,在每一语句模块都可以独立异步运行,模块之间并行运行,并通过信号来交换信息。生生成成语语句句条条件件信信号号赋赋值值语语句句元元件件例例化化语语句句并并行行信信号号赋赋值值语语句句块块语语句句进进程程语语句句并并行行过过程程调调用用语语句句信号信号信号信号信号信号信号信号信号信号信号信号ARCHITECTUREEND ARCHITECTURE辕匹腕印狸泻柱赛挞软假屎靛戏舀辅甭绅慢匆件首盾府拴萌水菇没轧侈独5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句VHDL
4、中的并行运行有多层含义,即模块间的运行方式可以有同时运行、异步运行、非同步运行等方式,从电路的工作方式上可以包括组合逻辑运行方式、同步逻辑运行方式和异步逻辑运行方式等。并行语句在结构体中的使用格式如下:ARCHITECTURE 结构体名 OF 实体名 IS 说明(定义)语句;BEGIN并行语句;并行语句;END ARCHITECTURE 结构体名;棋观艰匿渊每诈聪妮崎请况纯静铂赁蚜吧镭痒崎内慎酒渡滤撑烷娇宁览赎5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句5.2.1 进进程程语语句句进程(PROCESS)
5、语句是最具VHDL语言特色的语句,因为它提供了一种用算法(顺序语句)描述硬件行为的方法。进程实际上是用顺序语句描述的一种进行过程,也就是说进程用于描述顺序事件。PROCESS语句结构包含了一个代表着设计实体中部分逻辑行为的、独立的顺序语句描述的进程。一个结构体中可以有多个并行运行的进程结构,而每一个进程的内部结构却是由一系列顺序语句来构成的。PROCESS语句的表达格式如下:进程标号:PROCESS(敏感信号参数表)IS进程说明部分;BEGIN顺序描述语句;END PROCESS进程标号;祸然倦恳搅踏棘律浊兢锥麓抛休彪离琶饱憾痒猖苏癸拒颠撂硫肠疗完卒糜5-VHDL主要描述语句(并行语句)5-V
6、HDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 PROCESS 组成 PROCESS语句结构是由三个部分组成的,即进程说明部分、顺序描述语句部分和敏感信号参数表。(1)进程说明部分主要定义一些局部量,可包括数据类型、常数、属性、子程序等。但需注意,在进程说明部分中不允许定义信号和共享变量。(2)顺序描述语句部分是一段顺序执行的语句,描述该进程的行为。PROCESS中规定了每个进程语句在它的某个敏感信号(由敏感信号参量表列出)的值改变时都必须立即完成某一功能行为。它可分为赋值语句、进程启动语句、子程序调用语句、顺序描述语句和进程跳出语句等。(3)敏
7、感信号参数表需列出启动本进程要读入的信号名(当有WAIT语句时例外)。征涅橙剁巧铸契咒副媚菌具积锐氓站寞染忌棋冕摇营挠溃祈韩服起施薪河5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例ARCHITECTURE art OF stat IS BEGIN P1:PROCESS -该进程未列出敏感信号,进程需靠WAIT语句来启动 BEGIN WAIT UNTIL CLOCK;-等待CLOCK激活进程 IF(driver=1)THEN -当driver为高电平时进入CASE语句CASE output ISWHEN
8、s1=output output output output=s1;END CASE;END IF;END PROCESS P1;END ARCHITECTURE art;眠缕贿筷辱舆陈伪莽了矛逼周臀嗡圆览亩瑟鸿呻废寡源参孺翼裁颧赁增鞍5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例SIGNAL cnt4:INTEGER RANGE 0 TO 15;-注意CNT4的数据类型.PROCESS(clk,clear,stop)-该进程定义了3个敏感信号 clk,clear,stop -当其中任何一个改变时,都将
9、启动进程的运行BEGIN IF clear=0 THEN cnt4=0;ELSIF clkEVENT AND clk=1THEN -如果遇到时钟上升沿,则 IF stop=0THEN -如果stop为低电平,则进行加法计数,否则停止计数 cnt4=cnt+1;END IF;END IF;END PROCESS;厌圭言拍朽嗅赵端逃兰巡稼涵戎寿彦希试喊狙辗圆茁璃札漳娩嫁拒裸拯痰5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 进程设计要点 进程的设计需要注意以下几方面的问题:虽然同一结构体中的进程之间是并行运行
10、的,但同一进程中的逻辑描述语句则是顺序运行的,因而在进程中只能设置顺序语句。进程的激活必须由敏感信号表中定义的任一敏感信号的变化来启动,否则必须有一个显式的WAIT语句来激活。结构体中多个进程之所以能并行同步运行,一个很重要的原因是进程之间的通信是通过传递信号和共享变量值来实现的。进程是重要的建模工具。进程结构不但为综合器所支持,而且进程的建模方式将直接影响仿真和综合结果。穴增盂吩鄂劫涵弱淘梳侍功獭份宿屈陪决卵坊信肛夸慷爸芭饥泼佯阁劣已5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句进程语句是VHDL程序中
11、使用最频繁和最能体现VHDL语言特点的一种语句,其原因是由于它的并行和顺序行为的双重性,以及其行为描述风格的特殊性。为了使VHDL的软件仿真与综合后的硬件仿真对应起来,应当将进程中的所有输入信号都列入敏感表中。不难发现,在对应的硬件系统中,一个进程和一个并行赋值语句确实有十分相似的对应关系,并行赋值语句就相当于一个将所有输入信号隐性的列入结构体监测范围的(即敏感表的)进程语句。综合后的进程语句所对应的硬件逻辑模块,其工作方式可以是组合逻辑方式的,也可以是时序逻辑方式的。例如在一个进程中,一般的IF语句,综合出的多为组合逻辑电路(一定条件下);若出现WAIT语句,在一定条件下,综合器将引入时序元
12、件,如触发器。济舱香敛九雍恨她鳃涩沙恃洱槽冀押赔弧娠两淀镑导床抖何藻椰淘漓伸缨5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10a IS PORT(clr:IN STD_LOGIC;in1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);out1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END cn
13、t10a;ARCHITECTURE art OF cnt10a IS BEGIN PROCESS(in1,clr)BEGIN IF(clr=1 OR in1=1001)THEN out1=0000;-有清零信号,或计数已达9,out1输出0,ELSE -否则作加1操作 out1=in1+1;END IF;END PROCESS;END art;袍驼酷诫目钻风狂殷篓绷眷询吉凛世争拘普型犹子亭怔对砧届背瑚痰慷掘5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 组合电路型十进制加法器cnt10a综合后的RTL硬件
14、结构图兽臃眶冀猖纷倦察噶阵迢赚园很沿尺船冤碘乒馆死人阉吟挨晃惰疏嫉蛇挛5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10b ISPORT(clr:IN STD_LOGIC;Clk:IN STD_LOGIC;Cnt:Buffer STD_LOGIC_VECTOR(3 DOWNTO 0);END CNT10b;ARCHITECTURE actv
15、 of cnt10b ISBEGINPROCESSBEGINWAIT UNTIL clkEVENT AND clk=1;-等待时钟clk的上沿IF(clr=1 OR cnt=1001)THENcnt=0000;-有清零信号,或计数已达9,out1输出0,ELSE -否则作加1操作cnt=cnt+1;END IF;END PROCESS;END actv;匝酶狱恃厢骚皋耐届削铅扣之聊柯勺反莲肿启何嘿雪拧吼语佑羽雕绘呕等5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句组合电路型十进制加法器cnt10b综合后的R
16、TL硬件结构图(增加了D触发器)钵印蛊苗刽诗嘘向壬涤秒溯甲脂活近筋砰敢勿粳恰雨甭踩惮顿展扛溯聊氯5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句块(BLOCK)语句是一种将结构体中的并行描述语句进行组合的方法,它的主要目的是改善并行语句及其结构的可读性,或是利用BLOCK的保护表达式关闭某些信号。BLOCK语句的格式:块标号:BLOCK(块保护表达式)类属子句类属接口表端口子句 端口接口表BEGINEND BLOCK 块标号;5.2.2 BLOCK 语语句句刺句颇娄走沏份碗宫弓麓已拆捌侍劣侵酸旦阿规镭李扑隔
17、倍揭个邱叔鲸垦5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句类属子句和类属接口表为接口说明,它有点类似于实体的定义部分,它可包含由关键词PORT、GENERIC、PORT MAP和GENERIC MAP引导的接口说明等语句,对BLOCK的接口设置以及与外界信号的连接状况加以说明。块的类属说明部分和接口说明部分的适用范围仅限于当前BLOCK。所以,所有这些在BLOCK内部的说明对于这个块的外部来说是完全不透明的,即不能适用于外部环境,但对于嵌套于内层的块却是透明的。块的说明部分可以定义的项目主要有:USE语
18、句、子程序、数据类型、子类型、常数、信号、元件。块中的并行语句部分可包含结构体中的任何并行语句结构。BLOCK语句本身属并行语句,BLOCK语句中所包含的语句也是并行语句。氦篡枝虱炊凿谢捶赫烽脸阀鹃澈粱莎紧寄铁茂辊氮认唇稳马榆厂绚撼峙祟5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句BLOCK的应用可使结构体层次鲜明,结构明确。利用BLOCK语句可以将结构体中的并行语句划分成多个并列方式的BLOCK,每一个BLOCK都像一个独立的设计实体,具有自己的类属参数说明和界面端口,以及与外部环境的衔接描述。下例描述
19、了一个具有块嵌套方式的BLOCK语句结构。氰亏皱啪菠乓博埋孰蘑许恒细胚思凤附鸟床剑赢务持足乔疟亦祖绵淬否砷5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例ENTITY gat IS GENERIC(L_time:TIME;S_time:TIME);-类属说明 PORT(b1,b2,b3:INOUT BIT);-结构体全局端口定义 END ENTITY gat;ARCHITECTURE art OF gat IS SIGNAL a1:BIT;-结构体全局信号a1定义 BEGIN blk1:BLOCK -块定
20、义,块标号名是BLK1GENERIC(gb1,gb2:time);-定义块中的局部类属参量GENERIC MAP(gb1=L-time,gb2=S-time);-局部端口参量设定 PORT(pb1:IN BIT;pb2:INOUT BIT);-块结构中局部端口定义POTR MAP(pb1=b1,pb2=a1);-块结构端口连接说明CONSTANT delay:time:=1 ms;-局部常数定义SIGNAL s1:BIT;-局部信号定义BEGIN s1=pb1 AFTER delay;pb2=s1 AFTER gb1;END BLOCK blk1;END ARCHITECTURE art;雁奸
21、勤屯料滇睬榷弘彻危忠煎臼曹绚狞芭苟饵师堂啪泰掺屡文邦碗埋杭理5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句块中定义的所有的数据类型、数据对象(信号、变量、常量)和子程序等都是局部的;对于多层嵌套的块结构,这些局部定义量只适用于当前块,以及嵌套于本层块的所有层次的内部块,而对此块的外部来说是不可见的。下例是一个含有三重嵌套块的程序,从此例能很清晰地了解上述关于块中数据对象的可视性规则。它实际描述的是如下图所示的两个相互独立的2输入与门:SS施珐慷祝涩倾悔座肮勘匪含殖仕谓棠述烫帝填匀娃辖默刑妖远纱笑闯朴豪5-
22、VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例b1:BLOCK -定义块b1 SIGNAL s:BIT;-在b1块中定义s BEGIN s=a AND b;-向b1中的s赋值 b2:BLOCK -定义块b2,套于b1块中 SIGNAL s:BIT;-定义b2块中的信号s BEGIN s=c AND d;-向b2中的s赋值 b3:BLOCK BEGIN z=s;-此s来自b2块 END BLOCK b3;END BLOCK b2;y=s;-此s来自b1块END BLOCK b1;康迸砸移普鸿僳竭试删洛律幌骚眯
23、好肚赫寒讣巧亮竹拇烫牛扎亦污橙与驭5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句并行信号赋值语句有三种形式:简单信号赋值语句、条件信号赋值语句和选择信号赋值语句。这三种信号赋值语句的共同点是:赋值目标必须都是信号,所有赋值语句与其他并行语句一样,在结构体内的执行是同时发生的,与它们的书写顺序和是否在块语句中没有关系。简单信号赋值语句 并行简单信号赋值语句是VHDL并行语句结构的最基本的单元,它的语句格式如下:信号赋值目标=表达式;式中,信号赋值目标的数据类型必须与赋值符号右边表达式的数据类型一致。5.2.
24、3 并行信号并行信号赋值语赋值语句句 裴吸埂狮驶仿丰斡袍斌硕墟踊葵熏傈什虏哀揣桅麦雷测茂挫阶涂遥雏肉挂5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例ARCHITECTURE curt OF bc1 ISSIGNAL s1:STD_LOGIC;BEGIN output1=a AND b;output2=c+d;b1:BLOCK ISSIGNAL e,f,g,h:STD_LOGIC;BEGIN g=e OR f;h=e XOR f;END BLOCK b1;s1=g;END ARCHITECTURE cur
25、t掖恕怪耐狞窜硒冀糕冕摆扫颅件桩娄轩贝缨脉奢悸陋气屉西冈姆勤篇阂昧5-VHDL主要描述语句(并行语句)5-VHDL主要描述语句(并行语句)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 条件信号赋值语句条件信号赋值语句的表达方式如下:赋值目标=表达式1 WHEN 赋值条件1 ELSE 表达式2 WHEN 赋值条件2 ELSE 表达式n;在结构体中的条件信号赋值语句的功能与在进程中的IF语句相同。在执行条件信号赋值语句时,每一赋值条件是按书写的先后关系逐项测定的,一旦发现赋值条件为TRUE,立即将表达式的值赋给赋值目标。摩蓄垣喇钢材蓟嚷婆徊烙押陵珊哪湿碟亚荤辟口诉铆战撞膨咕正褂
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精彩 VHDL 主要 描述 语句 并行
限制150内