欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    5-VHDL主要描述语句(并行语句).ppt

    • 资源ID:68702392       资源大小:526KB        全文页数:52页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    5-VHDL主要描述语句(并行语句).ppt

    第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句第五章第五章 VHDL主要描述语句主要描述语句第二部分第二部分并行语句并行语句5.2.1 进程语句进程语句5.2.2 BLOCK 语句语句5.2.3 并行过程调用语句并行过程调用语句5.2.4 元件例化语句元件例化语句 5.2.5 并行断言并行断言语句语句 5.2.6 生成语句生成语句第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句5.2 并行语句并行语句相对于传统的软件描述语言,并行语句结构是最具相对于传统的软件描述语言,并行语句结构是最具VHDL特色的。在特色的。在VHDL中,并行语句具有多种语句格式,各种中,并行语句具有多种语句格式,各种并行语句在结构体中的执行是同步进行的,或者说是并行并行语句在结构体中的执行是同步进行的,或者说是并行运行的,其执行方式与书写的顺序无关。在执行中,并行运行的,其执行方式与书写的顺序无关。在执行中,并行语句之间可以有信息往来,也可以是互为独立、互不相关、语句之间可以有信息往来,也可以是互为独立、互不相关、异步运行的异步运行的(如多时钟情况如多时钟情况)。每一并行语句内部的语句运行方式可以有两种不同的方式,每一并行语句内部的语句运行方式可以有两种不同的方式,即并行执行方式即并行执行方式(如块语句如块语句)和顺序执行方式和顺序执行方式(如进程语句如进程语句)。因此,。因此,VHDL并行语句勾画出了一幅充分表达硬件电路并行语句勾画出了一幅充分表达硬件电路的真实的运行图景。的真实的运行图景。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句如下图所示的是在一个结构体中各种并行语句运行的示意如下图所示的是在一个结构体中各种并行语句运行的示意图。这些语句不必同时存在,在每一语句模块都可以独立图。这些语句不必同时存在,在每一语句模块都可以独立异步运行,模块之间并行运行,并通过信号来交换信息。异步运行,模块之间并行运行,并通过信号来交换信息。生生成成语语句句条条件件信信号号赋赋值值语语句句元元件件例例化化语语句句并并行行信信号号赋赋值值语语句句块块语语句句进进程程语语句句并并行行过过程程调调用用语语句句信号信号信号信号信号信号信号信号信号信号信号信号ARCHITECTUREEND ARCHITECTURE第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句VHDL中的并行运行有多层含义,即模块间的运行方式中的并行运行有多层含义,即模块间的运行方式可以有同时运行、异步运行、非同步运行等方式,从电可以有同时运行、异步运行、非同步运行等方式,从电路的工作方式上可以包括组合逻辑运行方式、同步逻辑路的工作方式上可以包括组合逻辑运行方式、同步逻辑运行方式和异步逻辑运行方式等。运行方式和异步逻辑运行方式等。并行语句在结构体中的使用格式如下:并行语句在结构体中的使用格式如下:ARCHITECTURE 结构体名结构体名 OF 实体名实体名 IS 说明说明(定义)语句;定义)语句;BEGIN并行语句;并行语句;并行语句;并行语句;END ARCHITECTURE 结构体名结构体名;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句5.2.1 进程语句进程语句进程进程(PROCESS)语句是最具语句是最具VHDL语言特色的语句,因为它语言特色的语句,因为它提供了一种用算法提供了一种用算法(顺序语句顺序语句)描述硬件行为的方法。描述硬件行为的方法。进程进程实际上是用顺序语句描述的一种进行过程,也就是说进程实际上是用顺序语句描述的一种进行过程,也就是说进程用于描述顺序事件。用于描述顺序事件。PROCESS语句结构包含了一个代表语句结构包含了一个代表着设计实体中部分逻辑行为的、独立的顺序语句描述的进着设计实体中部分逻辑行为的、独立的顺序语句描述的进程。一个结构体中可以有多个并行运行的进程结构,而每程。一个结构体中可以有多个并行运行的进程结构,而每一个进程的内部结构却是由一系列顺序语句来构成的。一个进程的内部结构却是由一系列顺序语句来构成的。PROCESS语句的表达格式如下:语句的表达格式如下:进程标号:进程标号:PROCESS(敏感信号参数表敏感信号参数表)IS进程说明部分进程说明部分;BEGIN顺序描述语句;顺序描述语句;END PROCESS进程标号进程标号;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 PROCESS 组成组成 PROCESS语句结构是由三个部分组成的,即进程说明语句结构是由三个部分组成的,即进程说明部分、顺序描述语句部分和敏感信号参数表。部分、顺序描述语句部分和敏感信号参数表。(1)进程说明部分主要定义一些局部量,可包括数据类进程说明部分主要定义一些局部量,可包括数据类型、常数、属性、子程序等。但需注意,在进程说明部分型、常数、属性、子程序等。但需注意,在进程说明部分中不允许定义信号和共享变量。中不允许定义信号和共享变量。(2)顺序描述语句部分顺序描述语句部分是一段顺序执行的语句,描述该是一段顺序执行的语句,描述该进程的行为。进程的行为。PROCESS中规定了每个进程语句在它的某中规定了每个进程语句在它的某个敏感信号个敏感信号(由敏感信号参量表列出由敏感信号参量表列出)的值改变时都必须立的值改变时都必须立即完成某一功能行为。即完成某一功能行为。它它可分为赋值语句、进程启动语句、可分为赋值语句、进程启动语句、子程序调用语句、顺序描述语句和进程跳出语句等。子程序调用语句、顺序描述语句和进程跳出语句等。(3)敏敏感感信信号号参参数数表表需需列列出出启启动动本本进进程程要要读读入入的的信信号号名名(当有当有WAIT语句时例外语句时例外)。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例例ARCHITECTURE art OF stat IS BEGIN P1:PROCESS -该进程未列出敏感信号,进程需靠该进程未列出敏感信号,进程需靠WAIT语句来启动语句来启动 BEGIN WAIT UNTIL CLOCK;-等待等待CLOCK激活进程激活进程 IF(driver=1)THEN -当当driver为高电平时进入为高电平时进入CASE语句语句CASE output ISWHEN s1=output output output output=s1;END CASE;END IF;END PROCESS P1;END ARCHITECTURE art;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例例SIGNAL cnt4:INTEGER RANGE 0 TO 15;-注意注意CNT4的数据类型的数据类型.PROCESS(clk,clear,stop)-该进程定义了该进程定义了3个敏感信号个敏感信号 clk,clear,stop -当其中任何一个改变时,都将启动进程的运行当其中任何一个改变时,都将启动进程的运行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;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 进程设计要点进程设计要点 进程的设计需要注意以下几方面的问题:进程的设计需要注意以下几方面的问题:1.虽然同一结构体中的进程之间是并行运行的,但同一进程中虽然同一结构体中的进程之间是并行运行的,但同一进程中的逻辑描述语句则是顺序运行的,因而在进程中只能设置顺的逻辑描述语句则是顺序运行的,因而在进程中只能设置顺序语句。序语句。2.进程的激活必须由敏感信号表中定义的任一敏感信号的变化进程的激活必须由敏感信号表中定义的任一敏感信号的变化来启动,否则必须有一个显式的来启动,否则必须有一个显式的WAIT语句来激活。语句来激活。3.结构体中多个进程之所以能并行同步运行,一个很重要结构体中多个进程之所以能并行同步运行,一个很重要的原因是进程之间的通信是通过传递信号和共享变量值的原因是进程之间的通信是通过传递信号和共享变量值来实现的。来实现的。4.进程是重要的建模工具。进程结构不但为综合器所支持,进程是重要的建模工具。进程结构不但为综合器所支持,而且进程的建模方式将直接影响仿真和综合结果。而且进程的建模方式将直接影响仿真和综合结果。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句进程语句是进程语句是VHDL程序中使用最频繁和最能体现程序中使用最频繁和最能体现VHDL语言语言特点的一种语句,其原因是由于它的并行和顺序行为的双重特点的一种语句,其原因是由于它的并行和顺序行为的双重性,以及其行为描述风格的特殊性。为了使性,以及其行为描述风格的特殊性。为了使VHDL的软件仿的软件仿真与综合后的硬件仿真对应起来,应当将进程中的所有输入真与综合后的硬件仿真对应起来,应当将进程中的所有输入信号都列入敏感表中。不难发现,在对应的硬件系统中,一信号都列入敏感表中。不难发现,在对应的硬件系统中,一个进程和一个并行赋值语句确实有十分相似的对应关系,并个进程和一个并行赋值语句确实有十分相似的对应关系,并行赋值语句就相当于一个将所有输入信号隐性的列入结构体行赋值语句就相当于一个将所有输入信号隐性的列入结构体监测范围的监测范围的(即敏感表的即敏感表的)进程语句。进程语句。综综合合后后的的进进程程语语句句所所对对应应的的硬硬件件逻逻辑辑模模块块,其其工工作作方方式式可可以以是是组组合合逻逻辑辑方方式式的的,也也可可以以是是时时序序逻逻辑辑方方式式的的。例例如如在在一一个个进进程程中中,一一般般的的IF语语句句,综综合合出出的的多多为为组组合合逻逻辑辑电电路路(一一定定条条件件下下);若若出出现现WAIT语语句句,在在一一定定条条件件下下,综综合合器器将将引引入入时序元件,如触发器时序元件,如触发器。第五章第五章 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 cnt10a;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;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 组合电路型十进制加法器组合电路型十进制加法器cnt10a综合后的综合后的RTL硬件结构图硬件结构图第五章第五章 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 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;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句组合电路型十进制加法器组合电路型十进制加法器cnt10b综合后的综合后的RTL硬件结构图硬件结构图(增加了增加了D触发器触发器)第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句块块(BLOCK)语句是一种将结构体中的并行描述语句进行组合语句是一种将结构体中的并行描述语句进行组合的方法,它的主要目的是改善并行语句及其结构的可读性,的方法,它的主要目的是改善并行语句及其结构的可读性,或是利用或是利用BLOCK的保护表达式关闭某些信号。的保护表达式关闭某些信号。BLOCK语句的格式语句的格式:块标号:块标号:BLOCK(块保护表达式块保护表达式)类属子句类属子句类属接口表类属接口表端口子句端口子句 端口接口表端口接口表BEGINEND BLOCK 块标号块标号;5.2.2 BLOCK 语句语句第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句类类属属子子句句和和类类属属接接口口表表为为接接口口说说明明,它它有有点点类类似似于于实实体体的的定定义义部部分分,它它可可包包含含由由关关键键词词PORT、GENERIC、PORT MAP和和GENERIC MAP引引导导的的接接口口说说明明等等语语句句,对对BLOCK的接口设置以及与外界信号的连接状况加以说明。的接口设置以及与外界信号的连接状况加以说明。块块的的类类属属说说明明部部分分和和接接口口说说明明部部分分的的适适用用范范围围仅仅限限于于当当前前BLOCK。所所以以,所所有有这这些些在在BLOCK内内部部的的说说明明对对于于这这个个块块的的外外部部来来说说是是完完全全不不透透明明的的,即即不不能能适适用用于于外外部部环环境境,但但对对于于嵌嵌套套于于内内层层的的块块却却是是透透明明的的。块块的的说说明明部部分分可可以以定定义义的的项项目目主主要要有有:USE语语句句、子子程程序序、数数据据类类型型、子子类类型型、常常数数、信号、元件。信号、元件。块块中中的的并并行行语语句句部部分分可可包包含含结结构构体体中中的的任任何何并并行行语语句句结结构构。BLOCK语语句句本本身身属属并并行行语语句句,BLOCK语语句句中中所所包包含含的的语语句句也是并行语句。也是并行语句。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句BLOCK的的应应用用可可使使结结构构体体层层次次鲜鲜明明,结结构构明明确确。利利用用BLOCK语语句句可可以以将将结结构构体体中中的的并并行行语语句句划划分分成成多多个个并并列列方方式式的的BLOCK,每每一一个个BLOCK都都像像一一个个独独立立的的设设计计实实体体,具具有有自自己己的的类类属属参参数数说说明明和和界界面面端端口口,以以及及与与外外部部环环境境的的衔衔接接描述。描述。下例描述了一个具有块嵌套方式的下例描述了一个具有块嵌套方式的BLOCK语句结构。语句结构。第五章第五章 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 -块定义,块标号名是块定义,块标号名是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;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句块中定义的所有的数据类型、数据对象块中定义的所有的数据类型、数据对象(信号、变量、常量信号、变量、常量)和子程序等都是局部的;对于多层嵌套的块结构,这些局部和子程序等都是局部的;对于多层嵌套的块结构,这些局部定义量只适用于当前块,以及嵌套于本层块的所有层次的内定义量只适用于当前块,以及嵌套于本层块的所有层次的内部块,而对此块的外部来说是不可见的。部块,而对此块的外部来说是不可见的。下例是一个含有三重嵌套块的程序,从此例能很清晰地下例是一个含有三重嵌套块的程序,从此例能很清晰地了解上述关于块中数据对象的可视性规则。它实际描述的是了解上述关于块中数据对象的可视性规则。它实际描述的是如下图所示的两个相互独立的如下图所示的两个相互独立的2输入与门:输入与门:SS第五章第五章 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;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句并并行行信信号号赋赋值值语语句句有有三三种种形形式式:简简单单信信号号赋赋值值语语句句、条条件件信号赋值语句和选择信号赋值语句。信号赋值语句和选择信号赋值语句。这这三三种种信信号号赋赋值值语语句句的的共共同同点点是是:赋赋值值目目标标必必须须都都是是信信号号,所所有有赋赋值值语语句句与与其其他他并并行行语语句句一一样样,在在结结构构体体内内的的执执行行是是同同时时发发生生的的,与与它它们们的的书书写写顺顺序序和和是是否否在在块块语语句句中中没没有有关关系。系。简单信号赋值语句简单信号赋值语句 并并行行简简单单信信号号赋赋值值语语句句是是VHDL并并行行语语句句结结构构的的最最基基本本的单元,它的语句格式如下:的单元,它的语句格式如下:信号赋值目标信号赋值目标=表达式;表达式;式式中中,信信号号赋赋值值目目标标的的数数据据类类型型必必须须与与赋赋值值符符号号右右边边表表达式的数据类型一致。达式的数据类型一致。5.2.3 并行信号赋值并行信号赋值语句语句 第五章第五章 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 curt第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 条件信号赋值语句条件信号赋值语句条件信号赋值语句的表达方式如下:条件信号赋值语句的表达方式如下:赋值目标赋值目标=表达式表达式1 WHEN 赋值条件赋值条件1 ELSE 表达式表达式2 WHEN 赋值条件赋值条件2 ELSE 表达式表达式n;在在结结构构体体中中的的条条件件信信号号赋赋值值语语句句的的功功能能与与在在进进程程中中的的IF语语句句相相同同。在在执执行行条条件件信信号号赋赋值值语语句句时时,每每一一赋赋值值条条件件是是按按书书写写的的先先后后关关系系逐逐项项测测定定的的,一一旦旦发发现现赋赋值值条条件件为为TRUE,立即将表达式的值赋给赋值目标。立即将表达式的值赋给赋值目标。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例例 z =a WHEN p1=1 ELSE b WHEN p2=0 ELSE c;由于条件测试的顺序性,第一句具有最高赋值优先级,由于条件测试的顺序性,第一句具有最高赋值优先级,第二句其次,第三句最后。这就是说,如果当第二句其次,第三句最后。这就是说,如果当p1和和p2同时同时为为1 时,时,z获得的赋值是获得的赋值是a。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 上例等同于原在顺序语句所的例子:上例等同于原在顺序语句所的例子:SIGNA a,b,c,p1,p2,z:BIT;.IF (p1=1)THENz=a;-满足此语句的执行条件是满足此语句的执行条件是(p1=1)ELSIF(p2=0)THENz=b;-满足此语句的执行条件是满足此语句的执行条件是(p1=0)AND(p2=0)ELSEz=c;-满满足足此此语语句句的的执执行行条条件件是是(p1=0)AND(p2=1)END IF;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 选择信号赋值语句选择信号赋值语句选择信号赋值语句格式如下:选择信号赋值语句格式如下:WITH 选择表达式选择表达式SELECT赋值目标信号赋值目标信号=表达式表达式WHEN选择值,选择值,表达式表达式 WHEN选择值,选择值,表达式表达式WHEN选择值;选择值;下下例例是是一一个个简简化化的的指指令令译译码码器器。对对应应于于由由A、B、C三三个个位位构构成成的的不不同同指指令令码码,由由DATA1和和DATA2输输入入的的两两个个值值将进行不同的逻辑操作,并将结果从将进行不同的逻辑操作,并将结果从DATAOUT输出。输出。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例例LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY decoder IS PORT(a,b,c:IN STD_LOGIC;data1,data2:IN STD_LOGIC;dataout:OUT STD_LOGIC);END ENTITY decoder;ARCHITECTURE concunt OF decoder IS BEGIN SIGNAL instruction:STD_LOGIC_VECTOR(2 DOWNTO 0);instruction=c&b&a;WITH instruction SELECT dataout=data1 AND data2 WHEN 000,data1 OR data2 WHEN 001,data1 NAND data2 WHEN 010,data1 NOR data2 WHEN 011,data1 XOR data2 WHEN 100,data1 NXOR data2 WHEN 101,Z WHEN OTHERS;-当不满足条件时,输出呈高阻态当不满足条件时,输出呈高阻态END ARCHITECTURE concunt;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句指令译码器指令译码器DECODER DECODERBCADATA1DATAOUTDATA2第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句并行过程并行过程(PROCEDURE)调用语句可以作为一个并行语句直接调用语句可以作为一个并行语句直接出现在结构体或块语句中。并行过程调用语句的功能等效出现在结构体或块语句中。并行过程调用语句的功能等效于包含了同一个过程调用语句的进程。并行过程调用语句于包含了同一个过程调用语句的进程。并行过程调用语句的语句调用格式与前面讲的顺序过程调用语句是相同的,的语句调用格式与前面讲的顺序过程调用语句是相同的,即过程名即过程名(关联参量名关联参量名)。过程语句的格式过程语句的格式:PROCEDUE 过程名过程名(参数参数1;参数;参数2;)IS 定义语句定义语句BEGIN 顺序语句顺序语句END 过程名;过程名;5.2.4 并行过程调用语句并行过程调用语句第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句下下例例是是个个说说明明性性的的例例子子,在在这这个个例例子子中中,首首先先定定义义了了一一个个完完成成半半加加器器功功能能的的过过程程。此此后后在在一一条条并并行行语语句句中中调调用用了了这这个个过过程程,而而在在接接下下去去的的一一条条进进程程中中也也调调用用了了同同一一过过程程。事事实实上上,这两条语句是并行语句,且完成的功能是一样的。这两条语句是并行语句,且完成的功能是一样的。例:例:PROCEDURE adder(SIGNAL a,b:IN STD_LOGIC;-过过程程名名为为adder SIGNAL sum:OUT STD_LOGIC);adder(a1,b1,sum1);-并行过程调用,在此并行过程调用,在此,a1、b1、sum1 -即即为为分分别别对对应应于于a、b、sum的的关关联联参参量量名名 PROCESS(c1,c2);-进程语句执行进程语句执行 BEGIN adder(c1,c2,s1);-顺顺序序过过程程调调用用,在在此此c1、c2、c1即即为为分分别别-对应于对应于a、b、sum的关联参量名的关联参量名 END PROCESS;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句并并行行过过程程的的调调用用,常常用用于于获获得得被被调调用用过过程程的的多多个个并并行行工工作作的的复复制制电电路路。例例如如,要要同同时时检检测测出出一一系系列列有有不不同同位位宽宽的的位位矢矢信信号号,每每一一位位矢矢信信号号中中的的位位只只能能有有一一个个位位是是1,而而其其余余的的位位都都是是0,否否则则报报告告出出错错。完完成成这这一一功功能能的的一一种种办办法法是是先先设设计计一一个个具具有有这这种种位位矢矢信信号号检检测测功功能能的的过过程程,然然后后对对不不同同位位宽宽的的信信号并行调用这一过程。号并行调用这一过程。下下例例中中首首先先设设计计了了一一个个过过程程check,用用于于确确定定一一给给定定位位宽宽的的位位矢矢是是否否只只有有一一个个位位是是1。如如果果是是只只有有一一个个位位为为1,则则将将check中中 的的 输输 出出 参参 量量“error”设设 置置 为为 FALSE,如如 果果 不不 是是,“error”则为则为TRUE。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例例PROCEDURE check(SIGNAL a:IN STD_LOGIC_VECTOR;-在调用时在调用时 SIGNANL error:OUT BOOLEAN)IS -再定位宽再定位宽VARIABLE found_one:BOOLEAN:=FALSE;-设初始值设初始值BEGINFOR i IN aRANGE LOOP -对位矢量对位矢量A的所有的位元素进行循环检测的所有的位元素进行循环检测 IF a(i)=1 THEN -发现发现a中有中有1IF found_one THEN -found_one为为TRUE,则表明发现了一个以上的则表明发现了一个以上的1 error=TRUE;-发现了一个以上的发现了一个以上的1,令,令found_one为为TRUE RETURN;-结束过程结束过程 END IF;found_one:=TRUE;-在在a中已发现了一个中已发现了一个1 END IF;END LOOP;-再测再测a中的其他位中的其他位 ERROR连接实体端口名连接实体端口名,);-元件例化语句元件例化语句 第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例例LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY nd2 ISPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END ENTITY nd2;ARCHITECTURE nd2behv OF nd2 ISBEGINcc1,c=s2,b=d1);-名字关联方式名字关联方式u3:nd2 PORT MAP(s1,s2,c=z1);-混合关联方式混合关联方式END ARCHITECTURE ord41behv;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 ORD41逻辑原理图逻辑原理图 A1U1U2Z1U3B1C1D1ABABABCCCS1S2ND2ND2ND2第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句生生成成(GENERATE)语语句句可可以以简简化化为为有有规规则则设设计计结结构构的的逻逻辑辑描描述述。生生成成语语句句有有一一种种复复制制作作用用,在在设设计计中中,只只要要根根据据某某些些条条件件,设设定定好好某某一一元元件件或或设设计计单单位位,就就可可以以利利用用生生成成语语句句复复制制一一组组完完全全相相同同的的并并行行元元件件或或设设计计单单元元电电路路结结构构。生生成成语语句句的的语语句句格格式式有有如如下下两两种种形式:形式:标号:标号:FOR 循环变量循环变量 IN 取值范围取值范围 GENERATE 说明说明 BEGIN 并行语句并行语句 END GENERATE标号标号;标号:标号:IF 条件条件 GENERATE说明说明 BEGIN并行语句并行语句 END GENERATE标号标号;5.2.6 生成语句生成语句 第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 这两种语句格式都是由如下四部分组成:这两种语句格式都是由如下四部分组成:v生成方式:有生成方式:有FOR语句结构或语句结构或IF语句结构,用于规定并语句结构,用于规定并行语句的复制方式。行语句的复制方式。v说明部分:这部分包括对元件数据类型、子程序和数据说明部分:这部分包括对元件数据类型、子程序和数据对象作一些局部说明。对象作一些局部说明。v并行语句:生成语句结构中的并行语句是用来并行语句:生成语句结构中的并行语句是用来“COPY”的基本单元,主要包括元件、进程语句、块语句、并行的基本单元,主要包括元件、进程语句、块语句、并行过程调用语句、并行信号赋值语句甚至生成语句。这表过程调用语句、并行信号赋值语句甚至生成语句。这表示生成语句允许存在嵌套结构,因而可用于生成元件的示生成语句允许存在嵌套结构,因而可用于生成元件的多维阵列结构。多维阵列结构。v标号:生成语句中的标号并不是必须的,但如果在嵌套标号:生成语句中的标号并不是必须的,但如果在嵌套生成语句结构中就是很重要的。生成语句结构中就是很重要的。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句对于对于FOR语句结构,主要是用来描述设计中的一些有规律的语句结构,主要是用来描述设计中的一些有规律的单元结构,其生成参数及其取值范围的含义和运行方式与单元结构,其生成参数及其取值范围的含义和运行方式与LOOP语句十分相似。但需注意,从软件运行的角度上看,语句十分相似。但需注意,从软件运行的角度上看,FOR语句格式中生成参数语句格式中生成参数(循环变量循环变量)的递增方式具有顺序的的递增方式具有顺序的性质,但是最后生成的设计结构却是完全并行的,这就是为性质,但是最后生成的设计结构却是完全并行的,这就是为什么必须用并行语句来作为生成设计单元的缘故。什么必须用并行语句来作为生成设计单元的缘故。生生成成参参数数(循循环环变变量量)是是自自动动产产生生的的,它它是是一一个个局局部部变变量量,根根据据取取值值范范围围自自动动递递增增或或递递减减。取取值值范范围围的的语语句句格格式式与与LOOP语句是相同的,有两种形式:语句是相同的,有两种形式:表达式表达式 TO 表达式;表达式;-递增方式,递增方式,如如1 TO 5 表达式表达式 DOWNTO 表达式;表达式;-递减方式,递减方式,如如5 DOWNT 1 其中的表达式必须是整数其中的表达式必须是整数。第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句下下例例是是利利用用了了VHDL数数组组属属性性语语句句ATTRIBUTERANGE作作为为生生成成语语句句的的取取值值范范围围,进进行行重重复复元元件件例例化化过过程程,从从而而产产生生了一组并列的电路结构了一组并列的电路结构(如图所示如图所示):生成语句产生的生成语句产生的8个相同的电路模块个相同的电路模块A0COMPINPUTOUTPUTB0A1COMPINPUTOUTPUTB1A7COMPINPUTOUTPUTB7第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句例:例:COMPONENT comp ISPORT(x:IN STD_LOGIC;y:OUT STD_LOGIC);END COMPONENT comp;SIGNAL a,b:STD_LOGIC_VECTOR(0 TO 7);gen:FOR i IN aRANGE GENERATEu1:comp PORT MAP(x=a(i),y=b(i);END GENERATE gen;第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句以下将利用元件例化和以下将利用元件例化和FORGENERATE语句完成一个语句完成一个8位三态锁存器位三态锁存器的设计。示例仿照的设计。示例仿照74373(或或74LS373/4HC373)的工作逻辑进行设计。的工作逻辑进行设计。74373的器件引脚功能如下图所示,它的引脚功能分别是:的器件引脚功能如下图所示,它的引脚功能分别是:D1D8为数为数据输入端;据输入端;Q1Q8为数据输出端;为数据输出端;OEN为输出使能端,若为输出使能端,若OEN=1,则则Q8Q1的输出为高阻态,若的输出为高阻态,若OEN=0,则则Q8Q1的输出为保存在锁存器的输出为保存在锁存器中的信号值;中的信号值;G为数据锁存控制端,若为数据锁存控制端,若G=1,D8D1输入端的信号进入输入端的信号进入74373中的中的8位锁存器中,若位锁存器中,若G=0,74373中的中的8位锁存器将保持原先锁入位锁存器将保持原先锁入的信号值不变。的信号值不变。74373D8D7D6D5D4D3D2D1OENGQ8Q7Q6Q5Q4Q3Q2Q1第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句SN74373的内部逻辑结构的内部逻辑结构 第五章第五章 VHDL主要描述语句主要描述语句-并行语句并行语句 例例LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY latch IS PORT(d:IN STD_LOGIC;ena:IN STD_LOGIC;q:OUT STD_LOGIC);END ENTITY latch;ARCHITECTURE one OF latch IS SIGNAL s0:STD_LOGIC;BEGIN PROCESS(d,ena)IS BEGIN IF ena=1 THEN s0=D;END IF;Q=s0;END PROCESS;END ARCHITECTURE on

    注意事项

    本文(5-VHDL主要描述语句(并行语句).ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开