- 1、本文档共122页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数字逻辑》第2章 逻辑代数和硬件描述语言基础.ppt
见《数字系统设计与Verilog HDL (第4版)》 P163[表6.3] 参见《数字系统设计与Verilog HDL(第4版)》P144-146 备注:参见《数字系统设计与Verilog HDL (第4版)》P145 例6.11、例6.12 对于非阻塞赋值,c的值比b的值落后一个时钟周期——因为always块每个时钟周期执行一次,所以信号的值每个时钟周期更新一次,c的值是上一时钟周期的b值。 为避免出错,在同一个块内,不要将输出重新作为输入使用! 见《数字系统设计与Verilog HDL (第4版) 》 146~152 其格式与C语言中的if-else语句类似 其中“表达式”为逻辑表达式或关系表达式,或一位的变量。每个“表达式”为一个不同的条件。 若表达式的值为0、或z,则判定的结果为“假”;若为1,则结果为“真”。 执行的语句可为单句,也可为多句;多句时一定要用“begin_end”语句括起来,形成一个复合块语句。 if语句可以嵌套;若if与else的数目不一样,注意用“begin_end”语句来确定if与else的配对关系! 见《数字系统设计与Verilog HDL(第4版)》 P148例6.15,主要应用于计时计数器 count60.v位于chapter2\count60文件夹 if语句被综合成多路选择器链结构,它是带优先级的选择,越靠上层的条件优先级越高。对于一个电路或系统来说,一般复位信号的优先级最高,所以最先判断reset是否有效,若有效,无论其它输入信号是否有效,电路或系统都被复位。 语句assign cout = ((qout == 8h59)cin)? 1:0;表示当qout == 8h59且cin=1时,cout=1,而不论此时有无时钟到来;否则cout=0。 case语句与if-else语句有什么区别呢? if-else语句适于对不同的条件,执行不同的操作;对于每个判定只有两个分支。 case语句适于对同一组控制信号取不同的值时,输出取不同的值!它是多分支语句。 当控制信号只有一个时,最好采用case语句,比较简洁!而且耗用逻辑资源比采用if--else语句要少。当有多个条件时,则采用if-else语句。 当敏感表达式的值为值1时,执行语句1;为值2时,执行语句2;依此类推;敏感表达式的值与所有的值(值1~值n)都不符,则执行default后面的语句。 casez和casex语句与case语句的格式完全相同,它们的区别是:在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就不予以考虑,只关注其他位的比较结果。 在casex语句中,把不予以考虑的位扩展到未知x,即不考虑值为高阻z和未知x的那些位,只关注其他位的比较结果。 见《数字系统设计与Verilog HDL (第4版) 》 P151例6.19 一般不可能列出所有分支,因为每一变量至少有4种取值0、1、z、x。为包含所有分支,有效的方法是在if语句最后写上else项;在case语句最后写上default项。 参见《从算法设计到硬线逻辑的实现——复杂数字逻辑系统的Verilog HDL设计技术和方法》P44 本来是想实现一个二选一的数据选择器,但如果不列出所有条件分支,则生成了不想要的锁存器。 参见《从算法设计到硬线逻辑的实现——复杂数字逻辑系统的Verilog HDL设计技术和方法》P45 本来是想实现一个三选一的数据选择器,但如果不列出所有条件分支,则生成了不想要的锁存器。 当然如果希望sel[1:0]不取00或11时,q保持原来的值,则不必给出default语句。 参见《数字系统设计与Verilog HDL(第4版) 》 152~155 for语句的使用格式同C语言 (见《数字系统设计与Verilog HDL(第4版)》P153[例6.21]) 位于voter7文件夹中 见《数字系统设计与Verilog HDL(第4版)》 P153[例6.22] mult_for.v位于mult_for文件夹中 见《数字系统设计与Verilog HDL(第4版)》P154[例6.23]] mult_repeat.v位于mult_ repeat文件夹中。 参见《从算法设计到硬线逻辑的实现——复杂数字逻辑系统的Verilog HDL设计技术和方法》P46~47 count1s_while.v位于count1s_while文件夹中。 思路:将这个8位二进制数存入一个中间变量中,在该变量非0的情况下,执行循环:先判断该变量最低位是否为1,若是,则 count加1;若不是,则cou
您可能关注的文档
- 三年级数学下册 几分之一课件1 沪教版.ppt
- 82 surface phenomenon of liquid:液体的表面现象82.ppt
- Shift Registers and Counters移位寄存器和计数器.ppt
- Financial Statements, Cash Flow, and Taxes财务报表,现金流量,和税收.ppt
- 产品设计 课件【企业广告传媒】.ppt
- Select Math Geometry选择数学几何.ppt
- 人教版小学数学六年级.ppt
- 我不是个好儿子课件模板.ppt
- Neuronal Migration神经元的迁移.ppt
- 小学语文课件《槐乡五月》.ppt
- PDM软件:Siemens Teamcenter二次开发_(17).Teamcenter最佳实践与案例分析.docx
- SCADA软件:GE Proficy二次开发_(4).Proficy开发环境搭建.docx
- 智能电表软件:Landis+Gyr智能电表二次开发_(13).系统集成与测试.docx
- 智能电表软件:Elster智能电表二次开发_(8).Elster智能电表二次开发环境搭建.docx
- PDM软件:Siemens Teamcenter二次开发_(11).TeamcenterAPI与编程基础.docx
- SCADA软件:GE Proficy二次开发_(7).报警与事件管理.docx
- 智能电表软件:Echelon智能电表二次开发_(11).智能电表行业标准与法规.docx
- 智能电表软件:Itron智能电表二次开发_(6).用户界面定制与开发.docx
- 智能电表软件:Elster智能电表二次开发_(9).Elster智能电表二次开发工具使用.docx
- PDM软件:PTC Windchill二次开发_(21).Windchill最佳实践案例分析.docx
文档评论(0)