1. 如何观察被测模块的响应:

在initial 块中,用系统任务$time 和 $monitor

$time 返回当前的仿真时刻

$monitor 只要在其变量列表中有某一个或某几个变 量值发生变化,便在仿真单位时间结束时显示其变 量列表中所有变量的值。

 例:
initial begin
$monitor ($time, , “out=%b a=%b sel=%b”, out,a,b,sel);
end

2.如何把被测模块的输出变化记录到数据库文件中?

(文件格式为VCD,大多数的波形显示工具都能读取该格式)

可用以下七个系统任务:

 $dumpfile(“file.dump”); //打开记录数据变化的数据文件
$dumpvars(); //选择需要记录的变量
$dumpflush; //把记录在数据文件中的资料转送到硬盘保存
$dumpoff; //停止记录数据变化
$dumpon; //重新开始记录数据变化
$dumplimit(<file_size>); //规定数据文件的大小(字节)
$dumpall; //记录所有指定信号的变化值到数据文件中

3. $<标识符> ‘$’ 符号表示 Verilog 的系统任务和函数

常用的系统任务和函数有下面几种:

 $time //找到当前的仿真时间
$display, $monitor //显示和监视信号值的变化
$stop //暂停仿真
$finish //结束仿真

4.特殊符号 “#” 常用来表示延迟: 在过程赋值语句时表示延迟。

 例:initial begin # rst=; # rst=; end

5. 编译引导语句用主键盘左上角小写键 “ ` ” 起头 用于指导仿真编译器在编译时采取一些特殊处理

 `include “global.v”
`define //宏定义
`include //包含其他文件
`timescale //仿真分辨了
`uselib //使用库
`resetall //编译引导语句把所有设置的编译引导恢复到缺省状态,不明白啊?

6.`timescale 用于说明程序中的时间单位和仿真精度

7.选择数据类型时常犯的错误,其中过程块是always块吗?

 在过程块中对变量赋值时,忘了把它定义为寄存器 类型(reg)或已把它定义为连接类型了(wire)
把实例的输出连接出去时,把它定义为寄存器类型了
把模块的输入信号定义为寄存器类型了。

最新文章

  1. python小程序
  2. Java -&gt; 把Excel表格中的数据写入数据库与从数据库中读出到本地 (未完善)
  3. .net 的 Url 中文加密
  4. C++ builder 操作Excel方法(据网上资料整理)
  5. CentOS 6.4下通过YUM快速安装配置LAMP服务器(Apache+PHP5+MySQL)
  6. 【BZOJ】【3052】【WC2013】糖果公园
  7. C#_MVC3之使用Authorize简单的验证登录(一)
  8. QTP常见问题解决方法(一)
  9. 关于Delphi中二维数组的声明和大小调整(对非基本类型数据,小心内存泄漏)
  10. Hibernate核心接口
  11. 《JavaScript网页特效经典300例-高级篇》
  12. BZOJ 1106: [POI2007]立方体大作战tet
  13. java面试2(java技术栈和Hollis面试内容分享)
  14. 深入理解JavaScript,这一篇就够了
  15. APNs
  16. windows7 64下redis安装
  17. docker安装nginx和php
  18. 工具类:Colletions ,Arrays(静态导入,可变参数,强循环)
  19. HanLP 关键词提取算法分析
  20. ios webview调试

热门文章

  1. vue通过watch对input做字数限定
  2. 清除IE8/IE9/IE10/IE11浏览器缓存文件 100%有效
  3. asp.net mvc5 step by step(四)——关于Controller的ActionResult
  4. Java之变量
  5. Magazine Ad CodeForces - 803D(二分 + 贪心,第一次写博客)
  6. mysql主从延迟复制
  7. 微信小程序调用api接口
  8. jq ajax 传递数组 后台php 接值处理
  9. Asp.Net Core使用Log4Net优化日志【项目开源】
  10. thinkphp5 部署到iis服务器url重写