- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主讲人 董艳燕 中国计量学院 VHDL程序设计教程 主讲人 董艳燕 §3.5 VHDL并行语句 Concurrent Signal Assignment --并行信号赋值语句 Component instantiations --元件例化语句 Process --进程语句 Concurrent Procedure Call --并发过程调用语句 Block --块语句 ASSERT --并行断言语句 Genera --生成语句(硬件的拷贝) ARCHITECTURE 结构体名 OF 实体名 IS 说明语句; BEGIN 并行语句; END ARCHITECTURE 结构体名; 进程语句最具有VHDL语言特色。提供了一种用算 法描述硬件行为的方法。特点: (1) 进程的并行执行性。 (2) 进程内部的顺序性。 (3) 进程启动由Process后的敏感信号来触发, 也可用WAIT语句等待一个触发条件的成立。 (4) 各进程之间的通信是由信号来传递的。 (5) 进程的启动和挂起。 结构体 [进程名:]PROCESS[(敏感信号表)][IS] [进程说明部分:变量说明语句;] BEGIN 顺序描述语句; END PROCESS [进程名]; P1:PROCESS (clk) BEGIN IF (clk EVENT AND clk=1) THEN q = d; END IF; END PROCESS P1; 【例3.5.1】 ARCHITECTURE ART OF STAT IS BEGIN P1:PROCESS IS BEGIN WAIT UNTI CLOCK ; IF (DRIVER=‘1’) THEN CASE OUTPUT IS WHEN S1= OUTPUT=S2; WHEN S2= OUTPUT=S3; WHEN S3= OUTPUT=S4; WHEN S4= OUTPUT=S1; END CASE; END PROCESS P1; END ARCHITECTURE ART; ARCHITECTURE behav OF half_adder IS BEGIN Padder: PROCESS(a,b) BEGIN Sum = a XOR b ; Carry = a AND b ; END PROCESS Padder; END behav; 敏感信号表的特点: 2、异步进程的敏感信号表中除了时钟信号还有其它信号。 如:process(clk,reset) begin if reset=1 then data=00; elsif(clkevent and clk=1)then data=in_data; end if; end process; 3、如果有WAIT语句,则不许使用敏感信号表 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 ENTITY CNT10; ARCHITECTURE ART OF CNT10 IS BEGIN PROCESS (IN1,CLR) IS BEGIN IF (CLR= ‘1’ OR IN1= 1001) THEN OUT1=0000; ELSE OUT1=IN1+1; ENG IF; END PROCESS;END ARCHITECTURE ART; LIBRARY
文档评论(0)