- 1、本文档共157页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章组合电路的自动化设计与分析解析
三种格式中的条件表达式,一般为逻辑表达式或关系表达式,也可以是一位的变量。 系统对条件表达式的值进行判断,若为 0 、x 、z,按“假”处理;若为 1 ,按“真”处理,执行指定语句。语句可以是单句,也可以是多句,多句时用begin-end括起来。 为了清晰表达 if 和 else 的匹配关系,建议最好用begin-end 将“指定语句”括起来。 //if-else条件分支语句应用举例 module sel-from-three (q,sela,selb,a,b,c) ; input sela,selb,a,b,c ; output q ; reg q ; always @ (sela or selb or a or b or c) begin if (sela) q=a ; else if (selb) q=b ; else q=c ; end endmodule sela selb 语句 0 0 q=c 0 1 q=b 1 0 q=a 1 1 q=a 注意隐含的优先级关系。排在前面的分支项指定的操作具有较高优先级。例:11时,执行q=a,不是q=b。 (2) case 分支控制语句 相对if-else语句只有两个分支而言,case语句是一种多分支语句。所以,常用来描述译码器、多路数据选择器、微处理器的指令译码和有限状态机。 case 分支控制语句有三种形式: case casex casez 全等比较分支控制 局部比较分支控制 “全等比较分支控制” case 语句的格式: case (控制表达式) 分支项表达式1 :语句块1 ; 分支项表达式2 :语句块2 ; … … 分支项表达式n :语句块n ; default : 语句块n+1 ; endcase 对程序流向进行控制的信号(变量) 控制信号(变量)的具体状态组合取值 受控的分支操作,可单句,也可多句。 未列入分支控制的状态组合下应进行的操作 未列入分支控制的状态组合的统称。 (其余状态时) 与真值表存在某种对应关系 按位全等比较case语句示例 … … case (op_code) 2′b00 : out = a ︱b ; 2′b01 : out = a b ; 2′b10 : out = ~ (a b) ; 2′b11 : out = a ^ b ; default : out = 0 ; endcase … … case语句在执行时,控制表达式和分支项表达式之间进行的是按位全等比较,只有对应每一位都相等,才认为控制表达式和分支项表达式是相等的。显然,这种比较包含了信号的 0 、 1 、x 、z 四种状态。 根据按位全等比较的特点,要求case语句中的控制表达式和分支项表达式必须具有相同的位宽。当各个分支项表达式以常数形式给出时,必须明确标明位宽,否则编译器默认为与机器字长相同的位宽(例如32位)。 能不能忽略信号的 x 和 z 逻辑状态的比较? 这就引出了“局部比较”分支控制的casex和casez语句。 利用控制表达式和分支项表达式中某些位的比较结果控制程序流向。 casez 语句——忽略处于“z”逻辑状态位的比较。 casex语句——忽略处于“x”或“z”逻辑状态位的比较。 六.Verilog HDL中的运算符 按功能分成九大类: 关系运算符 算术运算符 逻辑运算符 等式运算符 缩减运算符 条件运算符 拼接运算符 移位运算符 位运算符 按运算符所带的操作数区分: 单目运算符(unary operator),带一个操作数。 双目运算符(binary operator),带两个操作数。 三目运算符(ternary operator),带三个操作数。 算 术 运 算 符 + 加 - 减 * 乘 /
文档评论(0)