EDA-第3章-Verilog设计入门.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 Verilog 设计入门 Verilog设计入门 3.1 组合电路的Verilog描述 3.1.1 2选1多路选择器及其Verilog描述 2.端口语句、端口信号名和端口模式 2.端口语句、端口信号名和端口模式 (1)单逻辑位,或标量位,如例中用input和output定义的端口a、b、s、y; (2)逻辑矢量位,描述一个多信号端口或总线端口,使用第四句的端口描述,其中msb和lsb分别表示信号矢量的最高和最低位数; 如信号C定义为: output [3:0] C; Verilog的端口模式: (1)input:输入端口。数据只能由此端口被读入模块实体中。 (2)output:输出端口。数据只能通过此端口从模块实体向外流出,或者说可以将模块中的数据向此端口赋值。 (3)inout:双向端口。即可以对此端口赋值,也可以向此端口输入信号,如RAM的数据口、单片机的I/O口等。 3.赋值语句和条件操作符 4. 关键字 (Key word)是指verilog语言中预定义的有特色含义的英文词语,如3.1中input、output、module、endmodule,assign等。 5. 标示符 (Identifier)是设计者在verilog程序中自定义的,用于表示不同的名词的词语,如模块名、信号名、端口名等。例3.1中的MUX21a、a和b等。 6. 规范的程序书写格式 verilog程序对书写格式十分宽松,可以一行写多条语句(只要能写下),也可以分行书写。 7. 文件取名和存盘 (1)文件名可以由设计者任意给定,文件后缀扩展名必须是“.V”,如adder.v; (2)对于QuartusⅡ,文件名与该程序的模块名必须一致。如例3.1的文件名应该是MUX21a.v; (3)文件取名对大小写敏感; (4)verilog程序必须存入某文件夹中(要求非中文文件夹名),不要存在根目录或桌面上。 3.1.2 4选1多路选择器及其case语句表述方式 1.reg型变量定义 (1)verilog中最常用的变量:寄存器型变量(reg)和网线型变量(wire)。 (2)模块中功能描述涉及的所有信号都必须定义相应的变量类型,如果没有在模块中显式地定义信号的类型,verilog默认定义为wire型。 (3)当需要信号为寄存器型信号时必须使用reg进行显示定义,在过程语句always@引导的顺序语句中规定必须是reg型变量。 (4)输入或双向口信号不能定义为寄存器型信号类型 2.过程语句 (1)过程语句首先需要用always@引导; (2)要求将过程语句中所有的输入信号都放在敏感信号中; (3)当过程语句的执行依赖于敏感信号的变化,当某一敏感信号变化时,将启动此过程语句,于是always@引导的所有顺序语句被执行一遍,然后返回起始端,进入等待状态; (4)所有过程语句本身都属于并行语句,而任一过程引导的语句结构都是顺序语句; 敏感信号的表达方式: (1)用文字or连接所有敏感信号; (2)用逗号区分或连接所有的敏感信号; (3)省略形式; 试图通过选择性地列出敏感信号来改变逻辑设计是无效的。 3.块语句begin_ end 4.case条件语句和4种逻辑状态 Case语句是一种多分支条件语句,类似真值表的描述方式,其表述方式有三种,case、casez(变量是高阻值)和casex(变量是未知值)语句。 Case语句一般格式如下: Case语句注意三项: (1)表达式中的值必须在case以下列出的取值范围内,且数据类型要匹配; 如例3.2的s1和s0只能对应2位二进制数; (2)与VHDL不同,verilog的case语句各分支表达式间未必是并列关系,当多个分支取值同时满足表达式时,执行最先满足的表达式分支,其余分支不检测; (3)除非所有条件句能完整覆盖case语句中的取值,否则最末必须加上default语句。 Verilog中的四种基本数值: 0:即二进制数0、低电平、逻辑0、事件为伪的判断结果; 1:即二进制数1、高电平、逻辑1、事件为真的判断结果; z或Z:高阻态,或高阻值,还可用“?”表示。 x或X:不确定,或未知的逻辑状态。 (2)数字表示 表示二进制数的一般格式: (3)赋值符号“=” 说明:只能用于顺序语句中 例3.7利用case语句诠释逻辑真值表,需注意两点: (1)在条件语句中,若涉及的语句多于一条,应该用块语句括起来。若为非阻塞式赋值,块中所有语句并行执行;若为阻塞式赋值,块中语句顺序执行。 (2)条件数值虽为整数1、2、3的表达式,但综合器自动转化为ca

文档评论(0)

iris + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档