正在加载图片...
第十章.设计练习进阶 begi f(reset) clk out=0: comodule 在 always块中,被赋值的信号都必须定义为reg型,这是由时序逻辑电路的特点所决定的。 对于reg型数据,如果未对它进行赋值,仿真工具会认为它是不定态。为了能正确地观察到 仿真结果,在可综合风格的模块中我们通常定义一个复位信号 reset,当 reset为低电平时, 对电路中的寄存器进行复位 测试模块的源代码: timescale Ins/100ps define clk cycle 50 module clk Top.v reg clk wire clk out always clk cycle clk clk #100 reset =0. #100 reset 1 #10000 half clk half clk(. reset(reset). clk in(clk, clk out(clk out)) 仿真波形: /clk Top/clk in /clk_ Top/reset /clk_ Top/clk_out第十章.设计练习进阶 begin if(!reset) clk_out=0; else clk_out=~clk_out; end endmodule 在 always 块中,被赋值的信号都必须定义为 reg 型,这是由时序逻辑电路的特点所决定的。 对于 reg 型数据,如果未对它进行赋值,仿真工具会认为它是不定态。为了能正确地观察到 仿真结果,在可综合风格的模块中我们通常定义一个复位信号 reset,当 reset 为低电平时, 对电路中的寄存器进行复位。 测试模块的源代码: //------------------- clk_Top.v ----------------------------- `timescale 1ns/100ps `define clk_cycle 50 module clk_Top.v reg clk,reset; wire clk_out; always #`clk_cycle clk = ~clk; initial begin clk = 0; reset = 1; #100 reset = 0; #100 reset = 1; #10000 $stop; end half_clk half_clk(.reset(reset),.clk_in(clk),.clk_out(clk_out)); endmodule 仿真波形: 268
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有