问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Verilog-1995和verilog-2001的区别和改进

发布网友 发布时间:2022-05-12 01:36

我来回答

1个回答

热心网友 时间:2023-07-28 18:40

1、模块声明的扩展

(1)       Verilog‐2001允许将端口声明和数据类型声明放在同一条语句中,例子如下:

(2)Verilog‐2001中增加了ANSIC风格的输入输出端口声明,可以用于mole,task和function。例子如下:

(3)对于含有parameter的mole,例子如下:

2、带有初始化的寄存器类型变量声明

Verilog‐2001中允许在声明变量的同时对其进行初始化赋值,他是在initial语句中的0时刻开始执行。例子如下:

3、敏感表的改进

(1)逗号分开敏感列表

在敏感表中的变量可以用逗号“,”分开,当然,当然or也是可以的。例子如下:

always@(posedge clk,negedge rst)也是可以的。

(2)组合逻辑的电平敏感@*           //@(*) is also ok

“*”代表了逻辑块中每个被赋值的变量,例子如下:

4、有符号算数运算的扩展

(1)net型和reg型可以声明为带符号的变量

(2)函数的返回值可以是有符号数

(3)Literal integer numbers可以定义为有符号的

 

(4)增加算数右移左移(>>>,<<<)

操作符“>>>”和“<<<”。对于有符号数,执行算术移位操作时,将符号位填补移出的位。例子如下:

(5)增加系统函数$signed,$unsigned

用于在无符号和有符号数之间的转换

5、可变向量域的选择

[<starting_bit>+”:width]从起始位开始递增,位宽为width

[<starting_bit>‐”:width]从起始位开始递减,位宽为width

其中,起始位可以是变量,但位宽必须是整数。因此可以用可变域选择,用循环语句选取一个很长的向量所有位。

6、*数组的建立

Verilog‐1995中只允许对reg,integer和time建立一维的数组,常用于RAM,ROM的建模。Verilog‐2001中可以对net和variable建立*数组。

7、*数组的赋值

Verilog‐1995不允许直接访问矩阵字的某一位或某几位,必须将整个矩阵字复制到另一个暂存变量中,从暂存中访问。

Verilog‐2001可以直接访问矩阵的某一维或某几位。

8、乘方运算符

增加乘方运算(power operate),运算符是**,如果其中有一个操作数是real类型的,返回值将是real类型。两个操作数都是integer类型,返回才是integer类型。

9、自动(可重入)任务和自动(递归)函数

(1)可重入任务

任务本质上是静态的,同时并发执行的多个任务共享存储区。当某个任务在模块中的多个地方被同时调用,则这两个任务对同一块地址空间进行操作,结果可能是错误的。Verilog‐2001中增加了关键字automatic,内存空间是动态分配的,使任务成为可重入的。

 

(2)递归函数

10、自动宽度扩展

Verilog‐1995中对于不指定位数的位宽超过32为的总线赋高阻时,只会对低32位赋值为高阻,高位将为0。

Verilog‐2001将高阻或不定态赋值给未指定位宽的信号时,可以自动扩展到整个位宽范围。

11、常数函数

Verilog语法规定必须使用数值或常数表达式来定义向量的位宽和阵列的规模。

Verilog‐1995中要求上述表达式必须为算数操作。

Verilog‐2001中可以使用函数,成为常数函数。他的数值在编译或详细描述中被确定。

12、增加了文件输入输出操作

Verilog‐1995中在文件的输入/输出操作方面功能非常有限,文件操作经常借助于Verilog PLI(编程语言接口),通过与C语言的文件输入/输出库的访问来处理。并且规定同时打开的I/O文件数不能多于31个。

Verilog‐2001增加了新的系统任务和函数,并且规定同时打开的文件数目为230个。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Request对象语法 9,django中request对象 塞尔达传说时之笛火之神殿Boss房间怎么去 ...的圆形地方怎么上去?打完BOSS后才发现没去过,但我 榆中兴隆山旅游路线 ...兴隆山校区到哪个公交车站最近?应该怎么乘公交车?打车的话得多少钱... 从般若寺到兴隆山法院怎么坐公交车,最快需要多久 那些属于国有经济,哪些属于集体经济 ...丢手机,生病,丢工作,怎么转运啊,谁能告诉我,我快疯了 阴历十月又叫什么月 看到您以前的一个帖子,请问您是如何利用verilog的系统时间函数获得程序运行时间的? 喜马拉雅怎么查看密码 verilog怎么生成时间戳 虽然学过一段时间的Verilog,但有些相关的问题还是不怎么明白 verilog中$disllay中的$是什么意思 在verilog hdl中,系统函数可以有多个返回值 喜马拉雅上的音频能设置密码吗 硬拉有什么好处?能锻炼哪些肌肉? Verilog语言中$是什么意思,自己写的任务或者函数前面可不可以加$? 身体上的韧带分布于哪,拉伸后有什么作用 1、我想用verilog中的系统函数$random产生64个随机数作为激励输入,请问怎么写verilog语句? Verilog中的&random系统函数 verilog 系统函数的作用 为什么Verilog的系统函数time不能应用于综合 arm开发板和pc机实现串口通讯,并且把开发板的处理数据传输到串口通讯助手的接收窗口上显示出来, arm跟单片机串口通信的问题! 方形是什么形状的 弱问:arm 为什么要用并口和串口,调试和烧写flash分别用哪个口? 正方形的知识有哪些 请问写了个串口程序在基于arm的linux系统上运行write能显示到终端上,可是用read就直接输出了,根本就没得 verilog语言中@(posedge iclk)是什么意思? 在Verilog HDL中如何使用系统任务$readmemb 怎样绑定女儿_手机听喜马拉雅 怎么找到喜马拉雅A+入口 落枕很严重,脖子到右后背都动不了,怎么办 我今天脖子落枕了。早上起来很痛,现在下午了,情况越来越严重了。我该怎么办{中午去医院看过了} 小米 游戏中心 老是闪退。 我的小米2,系统自带的游戏中心,进入直接秒退,是怎么回事? 小米手机jump chicken小游戏 进口大米破碎率标准是多少 玉米、大米进口指标买卖违法吗? 大米进口比普通的大米有哪些区别呢? 谁有泰国大米指标? 同学聚会需要带什么东西啊? 同学聚会准备点什么? 同学聚会带什么礼物好 同学聚会需要准备什么 同学聚会我身为班级一员需要带什么东西么?这个问题让我很苦恼! 老同学聚会,带什么酒去比较合适? 开同学会需要准备什么?