VerilogHDL详细语法

VerilogHDL详细语法

ID:41095004

大小:338.01 KB

页数:94页

时间:2019-08-16

VerilogHDL详细语法_第1页
VerilogHDL详细语法_第2页
VerilogHDL详细语法_第3页
VerilogHDL详细语法_第4页
VerilogHDL详细语法_第5页
资源描述:

《VerilogHDL详细语法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三部分VerilogHDL详细语法主要内容:Verilog与C的主要不同点模块实例化要点如何选择正确的数据类型VerilogHDL模块的测试Verilog测试模块的编写存储器建模Verilog中的高级结构用户定义的原语3.1Verilog与C的主要不同点Verilog有许多语法规则与C语言一致。但与C语言有根本的区别:-并行性-块的含义:initial块和always块两种赋值语句:阻塞赋值“=”非阻塞赋值“<=”系统任务和函数$<标识符>‘$’符号表示Verilog的系统任务和函数常用的系统任务和

2、函数有下面几种:$time//找到当前的仿真时间$display,$monitor//显示和监视信号值的变化$stop//暂停仿真$finish//结束仿真-------------------------------------------------------例:initial$monitor($time,”a=%b,b=%h”,a,b);//每当a或b值变化时该系统任务都显示当前的仿真时刻并分别用二进制和十六进制显示信号a和b的值特殊符号“#”特殊符号“#”常用来表示延迟:在过程赋值语句时表示

3、延迟。例:initialbegin#10rst=1;#50rst=0;end在门级实例引用时表示延迟。例:not#1not1(nsel,sel);and#2and2(a1,a,nsel);在模块实例引用时表示参数传递编译引导语句编译引导语句用主键盘左上角小写键“`”起头用于指导仿真编译器在编译时采取一些特殊处理编译引导语句一直保持有效,直到被取消或重写`resetall编译引导语句把所有设置的编译引导恢复到缺省状态常用的编译引导有:`define`include`timescale`uselib`re

4、setall……..编译引导语句使用`define编译引导能提供简单的文本替代功能`define<宏名><宏文本>在编译时会用宏文本来替代源代码中的宏名。合理地使用`define可以提高程序的可读性举例说明:`defineon1’b1`defineoff1’b0`defineand_delay#3在程序中可以用有含义的文字来表示没有意思的数码提高了程序的可读性,在程序中可以用`on,`off,`and_delay分别表示1,0,和#3。编译引导语句使用`include编译引导,在编译时能把其指定的整个

5、文件包括进来一起处理举例说明:`include“global.v”`include“parts/counter.v”`include“../../library/mux.v”合理地使用`include可以使程序简洁、清晰、条理清楚、易于查错。编译引导语句`timescale用于说明程序中的时间单位和仿真精度举例说明:`timescale1ns/100ps`timescale语句必须放在模块边界前面举例说明:`timescale1ns/100psmoduleMUX2_1(out,a,b,sel);……n

6、ot#1not1(nsel,sel);and#2and1(a1,a,nsel);……endmodule尽可能地使精度与时间单位接近,只要满足设计的实际需要就行。举例说明:在上例中所有的时间单位都是1ns的整数倍编译引导语句仿真步长即仿真单位(STU)是所有参加仿真模块中由`timescale指定的精度中最高(即时间最短)的那个决定的:(STU=100fs)举例:`timescale1ns/10psmoduleM1(….);not#1.23not1(nsel,sel);//1.23ns中共有12300个

7、STU(100fs)endmodule`timescale100ns/1nsmoduleM2(….);not#1.23not1(nsel,sel);//123ns中共有1230000个STU(100fs)endmodule`timescale1ps/100fsmoduleM3(….);not#1.23not1(nsel,sel);//1.23ps中共有12个STU(100fs)endmodule编译引导语句时间单位:fs(呼秒)femptoseconds:1.0E-15秒ps(皮秒)picosecon

8、ds:1.0E-12秒ns(纳秒)nonoseconds:1.0E-9秒us(微秒)microseconds:1.0E-6秒ms(毫秒)milliseconds:1.0E-3秒s(秒)seconds:1.0秒编译引导语句`uselib编译引导语句:用于定义仿真器到哪里去找库元件如果该引导语句启动的话,它就一直有效直到遇到另外一个`uselib的定义或`resetall语句比其他配置库搜索路径的命令选项作用大如果仿真器在`uselib定义的地点找不到器件库

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。