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)
把实例的输出连接出去时,把它定义为寄存器类型了
把模块的输入信号定义为寄存器类型了。

verilog入门语法学习-第1篇的更多相关文章

  1. verilog 之语法学习

    1.使用非基数表示的十进制视为有符号数.使用基数表示的十进制被视为无符号数. 2.线网中的值被解释为无符号数,整型寄存器中的值被解释为有符号的二进制补码数,. 3.如果选择表达式的值为 x.z,或越界 ...

  2. Linq语法学习_增删篇。

    关键词: select from where in into join on equals orderby descending thenby Table<TEntity> Default ...

  3. RabbitMQ学习总结 第二篇:快速入门HelloWorld

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  4. Json.Net6.0入门学习试水篇

    原文:Json.Net6.0入门学习试水篇 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中 ...

  5. Python学习系列(四)Python 入门语法规则2

    Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, ...

  6. Java工程师学习指南 初级篇

    Java工程师学习指南 初级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  7. Vue学习看这篇就够

    Vue -渐进式JavaScript框架 介绍 vue 中文网 vue github Vue.js 是一套构建用户界面(UI)的渐进式JavaScript框架 库和框架的区别 我们所说的前端框架与库的 ...

  8. RabbitMQ学习总结 第一篇:理论篇

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  9. PHP学习笔记 - 进阶篇(10)

    PHP学习笔记 - 进阶篇(10) 异常处理 抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过throw抛出,异常抛出之后,后面的代码将不会再被 ...

随机推荐

  1. LRU缓存算法与pylru

    这篇写的略为纠结,算法原理.库都是现成的,我就调用了几个函数而已,这有啥好写的?不过想了想,还是可以介绍一下LRU算法的原理及简单的用法.   LRU(Least Recently Used,最近最少 ...

  2. 模式:模版、样式;属于分类、识别的范围;分类、归类的标准-How are patterns obtained?

    模式及套路 模式:模版.样式:属于分类.识别的范围. How are patterns obtained? Through : re-use, classification and finally a ...

  3. UVA11987 【Almost Union-Find】

    这是一道神奇的题目,我调了大概一天多吧 首先hack一下翻译,操作3并没有要求查询后从其所在集合里删除该元素 于是我们来看一下这三个操作 第一个合并属于并查集的常规操作 第三个操作加权并查集也是可以解 ...

  4. select、poll和epoll比较

    select select能监控的描述符个数由内核中的FD_SETSIZE限制,仅为1024,这也是select最大的缺点,因为现在的服务器并发量远远不止1024.即使能重新编译内核改变FD_SETS ...

  5. PHP中的 array_filter 函数

    <?php function test_odd($var) { return($var & 1); } $a1=array("a","b",2,3 ...

  6. JDBC(5)ResSetMetaData&DatabaseMetaData&获取数据库主键的值

    ResSetMetaData 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象: getColumnName(int column):获取指定列的名称 getColumnCount( ...

  7. Linux下抓取登陆用户密码神器mimipenguin

    windows下有Mimikatz,现在linux下有了mimipenguin,国外安全研究员huntergregal发布了工具mimipenguin,一款Linux下的密码抓取神器,弥补了Linux ...

  8. MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

    背景描述 # Time: :: # User@Host: **[**] @ [**] Id: ** # Killed: # Query_time: Rows_examined: Rows_affect ...

  9. WARNING: IPv4 forwarding is disabled. Networking will not work.

    1:Test environment [root@docker-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Cor ...

  10. echarts 多图任意布局案例

    随着文档的更新,布局越来越个性化,完全可以替代整个元素界面,随意布局展示数据,下面发布一个小的文件 源码文件:https://files.cnblogs.com/files/mobeisanghai/ ...