第六章VHDL并行语句重点分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 VHDL 并行语句 在 VHDL中,各种并行语句在结构体中的执行是同步执行的,其执行方式与书写的顺序无关。在执行中,并行语句之间可以有信息往来 也可以是互为独立、互不相关和异步运行的(如多时钟情况)。并行语句内部的语句运行方式可以有两种, 即并行执行方式(如块语句)和顺序执行方式(如进程语句)。 第六章 VHDL 并行语句 第六章 VHDL 并行语句 VHDL 中的并行有多层含义,即模块间的运行 方式可以有同时运行、同步运行、异步运行等方式。从电路的工作方式上讲,可以包括组合逻辑运行方式,同步逻辑运行方式和异步逻辑运行方式等。 第六章 VHDL 并行语句 结构体中的并行语句主要有七种: 并行信号赋值语句(Concurrent Signal Assignments) 进程语句(Process Statements) 块语句(Block Statements) 条件信号赋值语句(Selected Signal Assignments) 元件例化语句(Component Instantiations),其中包括类属配置语句 生成语句(Generate Statements) 并行过程调用语句(Concurrent Procedure Calls) 第六章 VHDL 并行语句 并行语句在结构体中的使用格式如下: ARCHITECTURE 结构体名 OF 实体名 IS 说明语句 BEGIN 并行语句 END ARCHITECTURE 结构体名 并行语句与顺序语句并不是相互对立的,它们往往相互包含,互为依存。VHDL 中不存在纯粹的并行行为和顺序行为的语言。例如相对于其它的并行语句,进程属于并行语句,而进程内部运行的都是顺序语句。 第六章 VHDL 并行语句 6.1 进程语句 进程语句虽然是由顺序语句组成的,但其本身却是并行语句。进程语句与结构体中的其余部分进行信息交流是靠信号完成的。 在对应的硬件系统中,一个进程和一个并行赋值语句确实有十分相似的对应关系。并行赋值语句就相当于一个将所有输入信号隐性地列入结构体监测范围的(即敏感表的)进程语句。 综合后的进程语句所对应的硬件逻辑模块,其工作方式可以是组合逻辑方式的,也可以是时序逻辑方式的。例如在一个进程中,一般的 IF 语句,若不放时钟检测语句,综合出的多为组合逻辑电路(一定条件下);若出现 WAIT 语句,在一定条件下,综合器将引入时序元件,如触发器。 第六章 VHDL 并行语句 例6-1 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt10 IS PORT clr : IN STD_LOGIC; in1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); out1 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END cnt10 ARCHITECTURE actv OF cnt10 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 -- STD_LOGIC_UNSIGNED中预先声明的 END PROCESS ; END actv ; 第六章 VHDL 并行语句 第六章 VHDL 并行语句 程序 6-1 综合后产生的逻辑电路如图 6-2 所示. 图中 ADDER 是一个 1 位加 4 位的加法器,即 A(3 DOWNTO 0)+B0=S(3 DOWNTO 0) 这里取 B0=1,MUX42 是一个多路选择器,选择方式如图 6-2 所示,由图 6-2 可以看出,这个加法器只能对输入值作加 1 操作,却不能将加 1 后的值保存起来。如果要使加法器有累加作用 必须引入时序元件来储存相加后的值。 第六章 VHDL 并行语句 程序6-2 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt10 IS PORT ( clr : IN STD_LOGIC ; Clk :

文档评论(0)

x5511167 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档