testbench常用语句 很详细相当实用 | 您所在的位置:网站首页 › pua常用语句 › testbench常用语句 很详细相当实用 |
内容 与可综合Verilog代码所不同的是,testbench Verilog是在计算机主机上的仿真器中执行的。testbench Verilog的许多构造与C语言相似,我们可在代码中包括复杂的语言结构和顺序语句的算法。 1 always块和initial块 Verilog有两种进程语句:always块和initial块。always块内的进程语句,可用来模拟抽象的电路。 出于模拟的目的,always块可以包括:用以指定与不同结构之间的传播延迟等同的时序结构;或等待指定事件的时序结构。敏感列表有时可忽略。比方说,我们用下面的代码片段来模拟时钟信号,该信号每20个时间单位在0~1间变换一次,且永远执行下去。
always begin clk=1; #20; clk=0; #20); end
initial块内也有进程语句,但是仅在仿真之初被执行。其简单语法如下:
initial begin 进程语句; end
initail块常用于设置变量的初始值。注意,initial块不可被综合。 2 进程语句 进程语句应用于initial块、always块、function和task之中。最常用的进程语句为: · 阻塞赋值 · 非阻塞赋值 · if表达式 · case表达式 · 循环表达式 我们讨论过阻塞和阻塞赋值,if和case语句。 Verilog支持的循环结构有:for、while、repeat和forever。for循环的简单语法为:
for([initial_assignment]; [end_condition]; [step_assignment]) begin [procedural_statements;] end
举个例子,我们可以使用下面的语句来清除16位寄存器文件的内容:
integer i; . . . for(i=0; i |
CopyRight 2018-2019 实验室设备网 版权所有 |