- 1、本文档共103页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA VHDL第三章顺序语句
主讲人 董艳燕 中国计量学院 VHDL程序设计教程 主讲人 董艳燕 §3.4 VHDL的描述语句 VHDL有两种类型的语句: 1.顺序语句(Sequential) 2.并发语句(Concurrent ) 执行顺序与书写顺序一致,与传统软件设计语言的特点相似.顺序语句只能用在进程与子程序中. 可用来描述组合逻辑电路 时序逻辑电路 1. 赋值语句 2. WAIT语句 3. IF 语句 4. CASE 语句 5. L00P 语句 6. NEXT语句 一、对象与赋值语句 2. 变量赋值与信号赋值 变量赋值与信号赋值的差异 3)有效范围的不同 信号:程序包、实体、结构体:全局量 变量:进程、子程序:局部量 ARCHITECTURE {SIGNAL Declarations} label1:PROCESS {VARIABLE Declarations} .................. label2:PROCESS {VARIABLE Declarations} 4) 赋值行为的不同 信号赋值延迟更新数值、时序电路; 变量赋值立即更新数值、组合电路; 例:信号的多次赋值 信号赋值与变量赋值的比较 信号赋值 ARCHITECTURE rt1 of sig is signal a,b : std_logic; --定义了a和b两个信号 begin process(a,b) begin a=b; b=a; end process; end rt1; --结果是a和b的值交换 信号赋值与变量赋值的比较 ARCHITECTURE rt1 of sig is variable a,b : std_logic; begin process(a,b) begin a:=b; b:=a; end process; end rt1; 例:变量赋值实现循环语句功能 process(indicator, sig) variable temp: std_logic; begin temp:=0; for i in 0 to 3 loop temp:=temp xor (sig(i) and indicator(i)); end loop; output=temp; end process; process(indicator, sig) ........ variable temp : std_logic; ......... process(indicator, sig,temp) begin temp:=0; temp:=temp xor (sig(0) and indicator(0)); temp:=temp xor (sig(1) and indicator(1)); temp:=temp xor (sig(2) and indicator(2)); temp:=temp xor (sig(3) and indicator(3)); output=temp; end process; 如改成信号,则无法实现原功能; ........ signal temp : std_logic; ......... process(indicator, sig,temp) begin temp=0; temp=temp xor (sig(0) and indicator(0)); temp=temp xor (sig(1) and indicator(1)); temp=temp xor (sig(2) and indicator(2)); temp=temp xor (sig(3) and indicator(3)); output=temp; end process; 进程在仿真时两个状态: 执行和挂起 进程状态的变化受WAIT语句或敏感信号变化量 的控制 可设置4种不同的条件: WAIT ON 信号[,信号] 以下两种描述是完全等价的 process(a,b) begin y=a and b; end process; 2、wait until 语句(可综合) wait until 表达式; 表示式的值为“真”时,进程被启动,否则被挂起 时钟信号CLK的上升沿的描述: wait until cl
文档评论(0)