|  | 
 
| 
目的:掌握基本时序逻辑电路的实现     在verilog hdl中,相对于组合逻辑电路,时序逻辑电路也有规定的表述方式。在可综合的verilog hdl模型中,通常使用always块结构来表述时序逻辑。下面是一个1/2分频器的可综合模型。
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  //half_clk.v
 //名称:1/2分频器
 //功能:频率变为原来的一半
 module half_clk(reset,clk_in,clk_out);
 input clk_in,reset;
 output clk_out;
 reg clk_out;
 
 always @(posedge clk_in)
 begin
 if(!reset) clk_out=0;
 else clk_out=~clk_out;
 end
 
 endmodule
 
 
 测试模块
 //名称:半分频的测试模块
 `timescale 1ns/100ps
 `define clk_cycle 50
 
 module clk_top;
 reg clk,reset;
 wire clk_out;
 
 always # `clk_cycle clk=~clk;
 
 initial
 begin
 clk=0;
 reset=0;
 #100 reset=0;
 #100 reset=1;
 #10000 $stop;
 end
 half_clk half_clk(.reset(reset),.clk_in(clk),.clk_out(clk_out));
 
 endmodule
 
 仿真结果图:
 
 
 说明:
 1、第一次仿真时候没有波形都是直线,后查明是因为单位时间和时间精度写的有误,将1ns/100ps, 写成了    1ns/1ps。因此波形出不来。
 问:为什么1ns/1ps出不来波形呢,而1ns/100ps就可以正常出现波形呢???
 
 | 
 |