第四章_Verilog_HDL行为语句.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章_Verilog_HDL行为语句

芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 芜湖职业技术学院 * * 第4章 Verilog HDL行为语句 赋值语句(assign、=、<=) 条件语句(if-else、case) 循环语句(for、forever、repeat、while) 过程语句(initial、always) 块语句(begin-end、fork-join) 本章介绍Verilog HDL的行为语句,要充分理解硬件描述语言和硬件电路的关系,熟练掌握常用的行为语句,基本的行为语句就可以完成绝大多数电路与系统设计,要对常用语句用心专研、深入理解,对完成硬件电路设计将是非常有用的。 本章概述 4.1 赋值语句 Verilog HDL赋值语句包括连续赋值语句和过程赋值语句两种。 1. 连续赋值语句 数据流的描述是采用连续赋值语句(assign )语句来实现的,语法如下: assign net_type=表达式; 连续赋值语句用于组合逻辑的建模。等式左边是wire类型的变量,等式右边可以是常量,或是由运算符如逻辑运算符、算术运算符参与的表达。例如, wire [3:0] Z, Preset, Clear; //线网说明 assign Z = Preset & Clear; //连续赋值语句 注意两个方面的问题: (1)连续赋值语句的执行是:只要右边表达式任一个变量有变化,表达式立即被计算,计算的结果立即赋给左边信号。 (2)连续赋值语句之间是并行语句,因此与位置顺序无关。 2. 过程赋值语句 过程赋值语句多用于对reg型变量进行赋值。过程赋值有阻塞赋值和非阻塞赋值两种方式。阻塞语句是顺序执行的,在该语句结束时就立即完成赋值,那么在前面的语句没有完成之前,后面的就不能被执行,仿佛被阻塞了一样,常用于组合逻辑电路设计中;而非阻塞语句是同时执行的,在整个过程块结束时才完成赋值操作,即被赋值的变量的值不是立刻就改变的,常用于时序逻辑电路设计中。 阻塞赋值语句,从字面上理解,该条语句阻塞了下面语句的执行,“=”用于阻塞的赋值,凡是在组合逻辑(如在assign语句中)赋值的请用阻塞赋值。 非阻塞赋值操作符用小于等于号(即<=)表示,只能用于对寄存器类型变量进行赋值,因此只能用在“initial ”和“always”等过程块中,不能用在assign语句中。 阻塞赋值 非阻塞赋值 注:在同一个进程块中,最好不要同时用阻塞赋值和非阻塞赋值语句。 4.2 条件语句 条件语句有if-else语句和case语句两种,它们都是顺序语句,应放在always块内。 1. if-else语句 格式与C语言中的if-else语句类似,使用方法有三种: (1)If(表达式) 语句1; (2)If(表达式) 语句1; else 语句2; (3)if(条件表达式1) 语句1; else if (条件表达式2) 语句2; else if (条件表达式3) 语句3; …… else 语句n; 例如 if(Sum < 60) begin Grade = C; Total_C = Total _c + 1; end else if(Sum < 75) begin Grade = B; Total_B = Total_B + 1; end else begin Grade = A; Total_A = Total_A + 1; end “表达式”一般为逻辑表达式或关系表达式,也可能是一位的变量。条件表达式必须总是被括起来的。对表达式的值进行判断,若为0, x或z,按“假”处理;若为1,按“真”处理,执行指定语句。 2. case语句 相对于if语句只有两个分支而言,cas

文档评论(0)

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

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

1亿VIP精品文档

相关文档