- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Verilog法介绍
Verilog HDL; Verilog语法中采用模块化结构,数据类型和变量、基本的运算符号等基本的语法,这些内容看起来比较简单,有许多语法对象和C语言也很类似,但是,有许多地方则是完全不同的,所以在学习Verilog语言时要特别注意不同点,并且学习Verilog语言要与硬件结构、模块联系起来,通过理解物理意义,牢牢掌握Verilog的语法。;1. Verilog 模块结构
1 模块的定义
2 模块内容
3 变量定义
4 逻辑功能定义
2. Verilog 基本语法
1 标识符,运算符和关键字
2 常用数据类型
3 常用行为语句
4 时延
3. Verilog行为逻辑描述方式;1. Verilog 模块结构;Verilog的基本设计单元是“模块”(block)。一个模块是由两部分组成的,一部分是描述接口,另一部分是描述逻辑功能,即定义输入是如何影响输出的。;6;Reg Wire 应用举例;8;9;10;2. Verilog 基本语法;一、关键字;2.1标识符,运算符和关键字;三、运算符;15;16;17;18;19;20;21;22;23;2.3 常用行为语句;25;26;非阻塞赋值与阻塞赋值方式的主要区别;28;2.3 常用行为语句;30;(3) 在if和else后面可以包含一个内嵌的操作语句,也可以有多个操作语句,此时可用begin和end这两个关健词将几个语句包含起来成为一个复合块语句。;32;33;34;35;36;比较 case,casez,casex;38;39;40;41;2.3 常用行为语句;43;44;45;46;2.3 常用行为语句;在always块中被赋值的只能是register型变量(如reg,integer,real,time)。
每个always块在仿真一开始便开始执行,当执行完块中最后一个语句,继续从always块的开头执行。;;always的时间控制可以为沿触发,也可为电平触发。
关键字posedge表示上升沿;negedge表示下降沿。;;;使用编译指令将时间单位与物理时间相关联。这样的编译器指令需在模块描述前定义,如下所示:
此语句说明时延时间单位为1 n s并且时间精度为100ps (时间精度是指所有的时延必须被限定在0 . 1 n s内)。如果此编译器指令所在的模块包含上面的连续赋值语句, #2 代表2 n s。
下面是带时延的连续赋值语句实例。;54;;行为描述方式—使用过程化结构建模;
数据流方式—使用连续赋值语句方式建模;
用数据流描述方式对一个设计建模的最基本的机制就是使用连续赋值语句。在连续赋值语句中,某个值被指派给线网变量。连续赋值语句的语法为:
结构化方式—使用门和模块实例语句描述建模。;例子;例子;两种变量类型 wire 和 reg
并行性:assign 语句
块的含义: initial 块 和 always块
两种赋值语句: 阻塞赋值 “ = ”
非阻塞赋值 “= ”
;通过Verilog语言行为描述,改进楼道灯控制程序,要求为:
当三个按钮开关任一个按下后,开灯;
开灯后延迟一数秒,自动关闭。
要求:
1. 首先对程序进行仿真实验,仿真时,请修改程序代码,使得关灯延迟时间在数个时钟周期,并验证仿真结果正确性。
2. 将程序下载到开发板上,进行验证。
原创力文档


文档评论(0)