- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7-4 VHDL语法课件
主要内容:1、顺序语句
2、并行语句
重点内容: 顺序语句和并行语句; 顺序语句就是在语句的执行过程中,语句的执行顺序是按照语句的书写顺序一个语句一个语句地执行的。
顺序语句只能出现在进程、过程和函数中,用以定义在进程、过程和函数中所执行的算法。
并发语句是并行执行的。例如进程语句,在一个结构体中的各进程语句是并发执行的。;7.4 .1 VHDL中的顺序描述语句;信号代入语句和变量赋值语句;Wait 语句;1.WAIT (无限等待语句);例[A]
PROCESS
BEGIN
y <= a AND b;
WAIT ON a,b;
END PROCESS;;例: 异步复位的D触发器
Library ieee;
Use ieee.std_logic_1164.all;
Entity reset_dff1 is
port(clk,reset : in std_logic;d : in std_logic;q : out std_logic);
End entity reset_dff1;
Architecturertl of reset_dff1 is
Begin
Process
Begin
if (reset=‘1’) then q<=‘0’;
elsif(clk’event andclk=‘1’) then q<=d;
end if;
wait on clk, reset;
end process;
End rtl;
;3.WAIT UNTIL 条件 (条件等待语句);WAIT UNTIL语句有以下三种表达方式: ;例: 同步复位的D触发器
Library ieee;
Use ieee.std_logic_1164.all;
Entity reset_dff3 is
port(clk,reset : in std_logic;d : in std_logic;q : out std_logic);
End entity reset_dff3;
Architecture rtl of reset_dff3 is
Begin
Process
Begin
wait until clk’event and clk=‘1’;
if (reset=‘1’) then q<=‘0’;
else then q<=d;
end if;
end process;
End rtl;;4.WAIT FOR 时间表达式(超时等待语句);5. 多条件等待语句??
Wait语句可以同时使用多个等待条件。
??在多条件等待语句的表达式中,至少应该有一个值包含信号。
例:
wait on a b until (c’event and c=‘1’) for 10 ns;
;If 语句是在VHDL描述硬件电路的过程中使用最频繁的语句。
If 语句的完整书写格式:
if <条件> then <顺序语句>;
[elsif<条件> then <顺序语句>;]
[elsif<条件> then <顺序语句>;]
……
[else <顺序语句>;]
end if;??
从if开始到end if结束,end if要分开写??
条件是一个布尔表达式,返回值为布尔类型。??
当条件满足时执行接下来的顺序语句;当条件不满足时就去执行接下来的顺序语句elsif子句或else子句或结束if语句。
根据if语句的完整书写格式,If语句的三种常用形式。
;1、门闩控制语句; 当程序执行到这种门闩控制型IF语句时,首先判断语句中所指定的条件是否成立。如果条件成立,则程序继续执行IF语句中所含的顺序处理语句;如果条件不成立,程序将跳过IF语句所包含的顺序处理语句,而向下执行IF的后继语句。 ;2、二选一控制语句;例:二选一电路结构体的描述;3、多选择控制语句;例: 利用多选控制语句设计的四选一多路选择器
LIBRARY IEEE;
文档评论(0)