量值发生变化,便在仿真单位时间结束时显示其变 量列表中所有变量的值。
例: initial begin $monitor ($time, , “out=%b a=%b sel=%b”, out,a,b,sel); end
模块的测试
如何把被测模块的输出变化记录到数据库文件中?
(文件格式为VCD,大多数的波形显示工具都能读取该格式)
• Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句也 可以分写多行。
• 除了endmodule语句外,每个语句和数据定义的最后必须有分号
• 可以用/*.....*/和//...对Verilog HDL程序的任何部分作注释。一 个好的,有使用价值的源程序都应当加上必要的注释,以增强程序的可 读性和可维护性。
- Verilog HDL 既是一种行为描述的语言也 是一种结构描述的语言。
这也就是说,既可以用电路的功能描述也可以用元器件和它们之间的连接来建立所设计电路的 Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们 对应的模型类型共有以下五种:
Verilog 的应用
简单的 Verilog HDL 模块
通过上面的例子可以看到: • Verilog HDL程序是由模块构成的。模块是可以进行层次嵌套的。正
因为如此,才可以将大型的数字电路设计分割成不同的小模块来实现特 定的功能,最后通过顶层模块调用子模块来实现整体功能。
• 每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行 行为逻辑描述。
行为。 • 提供了条件、if-else、case、循环程序结构。 • 提供了可带参数且非零延续时间的任务(task)程序结
构。 • 提供了可定义新的操作符的函数结构(function)。