- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章VHDL的顺序陈述
第四章 VHDL顺序语句(Sequential Statement) Process,Function,Procedure中的语句都是顺序执行,以Process为例 Process与Process之间,与其他并行语句之间都是并行的关系 4.1、 赋值语句 1. 顺序信号赋值语句 信号名 =赋值源; 赋值符号左边必须是信号名,但不能是端口声明中指定为in的信号。右边表达式中可以出现任意对象类,但不能出现端口声明中指定为out的信号。 例: B = A; -- 惯性延迟,无时间延迟子句,即δ延迟 D = C after 5 ns; -- 传输延迟,指定延迟时间 2. 变量赋值语句 变量赋值的含义是:用计算赋值符号右边的表达式所得新值取代变量原来的值。变量赋值的语法形式为: 变量名 := 表达式; 3、赋值目标 a:=‘1’; C1:=“1100”; G(2)=y; H(I)=z; F(1 to 4):=“1001”; SIGNAL a,b,c,d : STD_LOGIC; SIGNAL S : STD_LOGIC_VECTOR(1 TO 4); … VARIABLE e, f : STD_LOGIC; VARIABLE g : STD_LOGIC_VECTOR(1 TO 2); VARIABLE h : STD_LOGIC_VECTOR(1 TO 4); S =(‘0’, ‘1’, ‘0’ , ‘0’); (a, b, c, d) = s; --a=‘0’; b=‘1’; c=‘0’; d=‘0’; … (3=e, 4=f, 2=g(1), 1=g(2) ):=h; --g(2) :=h(1) ; g(1) :=h(2) ; e :=h(3) ; f :=h(4) ; 4.2 流程控制结构 VHDL为用户提供了若干控制进程内部执行流的结构,可分为条件控制和循环控制两种。 IF语句 CASE语句 LOOP语句 NEXT语句 EXIT语句 1. if语句(条件控制语句) if 条件表达式 then 顺序语句 end if; if 条件表达式 then 顺序语句 else 顺序语句 end if; if 条件表达式 then 顺序语句 elsif 条件表达式 then 顺序语句 else 顺序语句 end if; 求取最大值 BEGIN IF (ab) THEN y=b; ELSE y=a; END IF; END max; PROCESS (clock, clear) BEGIN IF clear = ‘0’ THEN q = ‘0’; ELSIF clock’EVENT and clock = ‘1’ THEN q = d; END IF; END PROCESS; T触发器 ENTITY mul IS PORT (a, b, sel : IN BIT; data_out : OUT BIT); END mul; ARCHITECTURE ex OF mul IS SIGNAL temp : BIT; BEGIN process_a: PROCESS (a, b, selx) BEGIN IF (sel = ‘0’) THEN temp = a; ELSE temp = b; END IF; data_out = temp; END PROCESS process_a; case 语句的一般形式为: case 值表达式 is when 选择值 = 语句; when选择值= 语句; … [when others = 语句;] end case; case语句选择项的要求: 选择唯一,覆盖全集。 选择值的表达方式 单个普通数值 8 数值选择范围 (2 to 4) 并列数值
文档评论(0)