1、$fwrite 向文件写入数据

$fdisplay 格式:$fwrite(fid,"%h%h\n",dout_r1,dout_r2);

(1)fwrite是需要触发条件的,在一次触发条件之后也不会自动发生换行,所以要求手动添加换行。

(2)如果写放文件的格式为%d,则认为是无符号数,如下例:

wire [27:0] data;

fp_re = $fopen("dout.txt","w");

always @(posedge clk)

begin

if(dout_rdy == 1'b1)

begin

$fwrite(fileid,"%d",data);

end

end

解决方法是:将 data定义为有符号数,即:wire signed [27:0] data;

(3)输出顶层文件中例化的信号(或下一级例化的文件的信号)

  如果输出有符号数,要在相应的文件中定义为signed

  eg:$fwrite(file_id,"%d%12d\n",u_coef_update.ekxdn_i,u_coef_update.u_mult.mult_out);

  在文件coef_update中定义的信号或REG ekxdn_i,如果要输出有符号数,要在coef_update中把ekxdn_i定义为signed;

  在文件coef_update文件中例化文件u_mult,输出相应的信号mult_out. 2、$fscanf 从文件中读取数据

(1)读取格式为按行读取,一行读完之后再转向下一行;

(2)读取也是需要触发条件的;

 always @ ( posedge clk )

begin

  if(cnt_test == 3'd7)        

     begin    

      $fscanf(coef_file,"%d%d%d%d",coef01_i,coef01_q,coef02_i,coef02_q);    

     $fscanf(ref_file,"%d%d%d%d",ref01_i,ref01_q,ref02_i,ref02_q);
     end                     

  end 3、$fopen 打开文件

(1) 在读写文件之前,一定要用fopen打开文件

(2)读写路径的设置

  file_id = $fopen("F:/modelsim/coef.txt"),注意这里的斜杠方向。
4、$random

    random_function ::=
      $random [ ( seed ) ]

  $random产生一个32位的有符号数,seed可心是reg,integer,time类型

Example 1—Where b is greater than 0, the expression ($random % b) gives a number in the following
range: [(-b+1): (b-1)].

产生–59 到59的数:
reg [23:0] rand;
rand = $random % 60;
Example 2—用连接符产生 0 to 59:
reg [23:0] rand;
rand = {$random} % 60;

有一点不懂,连接符在这时起什么作用呢?

verilog系统函数用法的更多相关文章

  1. MySQL时间操作的系统函数用法

    我要查询获得当天凌晨30分的datetime值的方式:select ADDDATE(CURDATE(), INTERVAL TIME_TO_SEC(TIMEDIFF("00:30:00&qu ...

  2. $_FILES系统函数

    PHP编程语言中的常见的$_FILES系统函数用法有: $_FILES['myFile']['name'] 显示客户端文件的原名称. $_FILES['myFile']['type'] 文件的 MIM ...

  3. Verilog学习笔记基本语法篇(十一)········ 常用系统函数

    1)系统任务:$monitor   格式: $monitor(p1,p2,p3...pn); $monitor; $monitoron; $monitoroff; 任务$monitor提供了监控输出列 ...

  4. Verilog语言中的系统任务和系统函数

    Verilog语言中预先定义了一些任务和函数,用于完成一些特殊的功能,它们被称为系统任务和系统函数,这些函数大多数都是只能在Testbench仿真中使用的,使我们更方便的进行验证. `timescal ...

  5. 【FPGA篇章七】FPGA系统任务:详述常用的一些系统函数以及使用方法

    欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 系统任务和系统函数是Verilog标准的一部分,都以字符"$"为开头.系统任务可划分为六类,下面分别给出一些常用任务的用 ...

  6. qsort函数用法【转】

    qsort函数用法 qsort 功 能: 使用快速排序例程进行排序  用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(con ...

  7. 15系统函数&数据类型转换(必学)-大话数据库视频教程

    大纲:系统函数的用法,case...when的用法,cast关键字的用法,convert的用法 优酷超清地址: 腾讯超清地址: 百度网盘下载地址:http://pan.baidu.com/s/1dDe ...

  8. C语言中malloc()和calloc()c函数用法

    C语言中malloc()和calloc()c函数用法   函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别. malloc()函数有一个参数,即要分配的内存空间的大小: ...

  9. qsort函数用法

    qsort函数用法   qsort 功 能: 使用快速排序例程进行排序 用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(co ...

随机推荐

  1. 转。。原理同样支持 delphi

    我用C#导出excel 带图片,用office2003 正常,但换成office 2007 时,我指定多个单元格分别插入图片,这个图片不在此单元格内,这些图片全都集中在一起,在一个位置上.很奇怪,看起 ...

  2. javascript获取事件源对象和产生事件的对象

    事件源对象是指event对象,其封装了与事件相关的详细信息,比如按键状态. 获取事件源对象的方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  3. intellij idea 的安装与简单使用

    1.将安装包拷贝到指定目录,特别注意不要有中文路径和空格,路径不要太深 2.点击安装(如果是win10系统要使用管理员权限安装)       3. 4.修改默认安装目录:一般来说我们都不要把软件安装在 ...

  4. X_PU

    通俗易懂告诉你CPU/GPU/TPU/NPU...XPU都是些什么鬼?[附把妹秘籍] 2017-10-27 19:54移动芯片/谷歌 作者:iot101君 物联网智库 原创 转载请注明来源和出处 现在 ...

  5. 锁机制(Lock) 信号量机制(Semaphore) 事件机制(Event)

    IPC  进程间通信(inter-Process Communicate) 锁机制(Lock) l = Lock() 开启一个锁机制(实例化)   一把锁配一个钥匙 l.acquire()  获得钥匙 ...

  6. ECMAScript6新特性之Array API

    一 填充数组 var arr = new Array(5); arr.fill('abc',2,4); console.log('Array.prototype.fill',arr); // [und ...

  7. Spring编程式事务管理

    --------------------siwuxie095                                 Spring 编程式事务管理         以转账为例         ...

  8. Python中类的定义与使用

    目标: 1.类的定义 2.父类,子类定义,以及子类调用父类 3.类的组合使用 4.内置功能 1.类的定义 代码如下: #!/usr/bin/env python #coding:utf8 class ...

  9. (重要)LRU cache

    [抄题]: [思维问题]: 需要从任何位置访问某数字有没有(重要 ),返回其位置(不重要),所以用hashmap. 需要从任何位置删除,用linkedlist.最终二者结合,用linked hashm ...

  10. SQL2000清除SQL日志

    1.打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收 ...