![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
系统函数与系统任务
文章平均质量分 84
Verilog的系统函数与系统任务
日晨难再
一个略带强迫症的研究牲,目前某著名福建三本硕士在读,数字集成电路设计方向,会不定期发布文章(摸鱼),感谢大家的支持
展开
-
Verilog基础:$random系统函数的使用
$random系统函数在每次调用时返回一个32位的随机数,这个随机数是有符号的,可正可负。按照Verilog标准语法,$random系统函数的调用方式为$random或$random(seed),但实际上$random()这种调用方式也是可以的,且其与$random完全一样。原创 2023-12-10 20:42:07 · 715 阅读 · 18 评论 -
Verilog基础:$time、$stime和$realtime系统函数的使用
Verilog基础和这三个系统函数提供了返回当前仿真时间方法。注意,这里的仿真时间的最小分辨能力是由仿真时间精度决定的,简单来说,可以理解为仿真时间精度是仿真器维护的仿真时间的最小单位(没有小数部分),而仿真时间精度由层次化设计中所有模块的时间精度中最小的决定,如下面的例子所示。仿真时间精度也是仿真能推进的最小时间。原创 2023-12-05 21:04:10 · 1165 阅读 · 15 评论 -
Verilog基础:$readmemb和$readmemh系统任务的使用与其中的初始化地址相关问题(详细细节)
在读取有地址标号的文件时,首先会定位到地址和起始地址相同的那条数据(当没有起始地址时,是定位到存储器最低位对应的地址),然后开始从左到右,从上到下,一条一条数据依次读取,直到文件结束(所以可能会出现初始化覆盖的情况,如下所示),或者有数据的地址超出了范围才结束读取。@和数字之间不允许有空格,可以使用数据文件中所需的任意多的地址规范,当系统任务遇到地址规范时,它会从该内存地址开始加载后续数据,并将数据填入对应地址索引的寄存器变量中。中美元符$和后面的关键词之间必须连续,不能有空白。原创 2023-09-22 12:58:37 · 831 阅读 · 7 评论 -
Verilog基础:$fopen和$fclose系统函数、任务的使用
FD为1,他的低31位用来打开文件,FD不使用独热码,因此它可以打开2的31次方个文件(包括三个预先打开的STDIN、STDOUT和STDERR),但失去了MCD句柄可以相与的优势,所以FD不能同时操作多个文件,不过FD可以决定以读、写、读和写以及追加的形式打开文件。最初,在Verilog-1995标准中,最多同时打开的32个文件中,包括一个已经提前打开的用于输出的文件STDOUT,工程师在做验证时就很受限制,因为有时候需要同时打开超过31个文件,需要更好的文件I/O功能。原创 2023-10-22 23:45:35 · 730 阅读 · 11 评论