Verilog中的一些语法和技巧.doc

Verilog中的一些语法和技巧.doc

ID:50618535

大小:168.50 KB

页数:31页

时间:2020-03-07

Verilog中的一些语法和技巧.doc_第1页
Verilog中的一些语法和技巧.doc_第2页
Verilog中的一些语法和技巧.doc_第3页
Verilog中的一些语法和技巧.doc_第4页
Verilog中的一些语法和技巧.doc_第5页
资源描述:

《Verilog中的一些语法和技巧.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1、.2、.3、Reg型的数据类型默认初始值为X。reg型数据可以赋正值也可以赋负值,但是当一个reg型数据是一个表达式的操作数的时候,他的值被当做无符号数及正值。4、在数据类型中?和Z均表示高阻态。5、Reg型只表示被定义的信号将用在“always”模块内,并不是说reg型一定是寄存器或触发器的输出。虽然reg型信号常常是寄存器或触发器的输出但是并不一定总是这样。6、Verilog语言中没有多维数组的存在。Memory型数据类型是通过扩展reg型数据的弟子和范围来生成的。其格式如下reg[n-1:0]存储器名[m-1:0];7、在除法和取余的运算中结果的符号

2、和第一个操作数的符号位是相同的。8、不同长度的数据进行运算:两个长度不同的数据进行位运算时,系统会自动地将两者按有端对齐,位数少的操作数会在相应的高位用0填满以便连个操作数安慰进行操作。9、===与!===和==与!==的区别:后者称为逻辑等是运算符,其结果是2个操作数的值决定的。由于操作书中某些位可能不定值x和高阻态z结果可能是不定值x。而===和!===运算符对操作数的比较时对某些位的高阻态z和不定值x也进行比较,两个操作数必须完全一致,其结果才是1,否则是0.10、非阻塞和阻塞赋值方式:非阻塞赋值方式(如a<=b)上面语句所赋得变量值不能立即被下面语句所

3、用,(2)快结束后才能完成这次赋值操作3在编写克综合的时序逻辑模块时这是最常用的赋值方法。阻塞赋值(如a=b)赋值语句执行完后,块才结束2b的值在赋值语句完成后立即执行3在时序逻辑使用中,可能产生意想不到的结果。11、模块的描述方式:(RTL为寄存器传输级描述)“(1)数据流描述方式:数据流行描述主要用来描述组合功能,具体用“assign”连续赋值语句来实现。分为两种a、显式连续赋值语句;31连线型变量类型[连线型变量为快]连线型变量名Assign#(延时量)连线型变量名=赋值表达式;显式连续赋值语句包含了两条语句;第一条是对连线型变量的进行类型说明的说明语句

4、;第二句是对这个已得到声明的连线型变量进行连续赋值语句。影视赋值语句:连线型变量类型(复制驱动强度)[连线型变量位宽]#(延时量)连线性变量名=赋值表达式。隐式连续赋值语句是把连线性变量说明语句和连线性变量连续赋值语句结合在一条语句中。他可以对连线型变量进行说明的同时进行连续赋值。Assign连续赋值语句的功能是:当赋值表达式中的变量的只发生变化时,重新计算赋值表达式的值,并在指定的时延后将得到的结果赋给左端的连线性变量。Assign只能实现组合功能。而reg型数据可以可以存储过程赋值的最终结果。端口默认为连线性的不用定义一般,只要输入发生变化输出马上发生变化

5、。(2)行为描述方式:A、initial语句:此语句只执行一次。B、always语句:次语句循环执行。只有寄存器类型数据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持所有值不变。以上两种语句在0时刻并发执行。(3)、结构描述方式结构描述是通过实例进行描述的方法,他将verilog中预定义的基本元件实例嵌入到语言中,监控实力的舒服,一旦其中任何一个发生变化,便重新运算并输出。在verilogHDL中可以使用如下结构描述部件:A、用户自己定义的模块b、用用户自定义元件UDPc、内置门级元件d、内置开关级元件(4)混合型描述11、连续赋值语句与过程赋值语句

6、的区别:我觉得这个在刚开始学习verilog时,是会有一些疑问的!a、从语法上来看,连续赋值语句由“assign”关键词来表示,而过程赋值语句中则不包含b31、连续赋值语句中左侧的被赋值数据类型必须是线网型数据,而过程赋值语句中的被赋值数据类型则必须是寄存器类型的变量c、连续赋值语句不能出现在过程快(initial过程快或者always过程块)中,而过程赋值语句则只能出现在过程快中d、连续复制语句主要用来对组合逻辑电路进行建模以及对线网型数据间的连接进行描述,而过程赋值语句主要用来对时序逻辑电路进行行为描述e、连续赋值语句对被赋值线网型数据的赋值是“连续的”(

7、即连续复制语句产生作用后,赋值表达式中的信号的任何变换都将立即反映到被赋值线网型数据的取值上,这也是我们有时会使用“连续驱动”这个术语的原因),而在过程赋值语句情况下,只有在过程赋值语句被执行时才执行赋值操作,语句执行完后被赋值变量的取值不再受到赋值表达式的影响.12、间隔符和注释符:verilogHDL中的间隔符包括空格(b)、tab(t)、换行符()以及换页符。注释符有2种://和/*……….*/后为多行注释符用于对多行语句注释;前者为单行注释符,只对注释符所在的行有效。13、数值:下划线除了不可以放于数值的首位意外,可以随意用在整型数和实型数之间

8、,他们对数值的大小没有任何的影响,只是

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

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

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