|
一下是代码
module experiment(clk, clkperiod, clklow, clkout ,rst);
input clk;
input rst;
input [7:0] clkperiod;
input [7:0] clklow;
output clkout;
reg clkout;
reg [7:0] cnt;
always @(posedge clk or posedge rst)
if(rst)
begin
cnt <= 8'd0;
clkout <= 1'b0;
end
else
begin
if(cnt == clklow)
begin
clkout <= 1'b1;
cnt <= cnt + 8'd1;
end
else if(cnt == clkperiod)
begin
clkout <= 1'b0;
cnt <= 8'd0;
end
else
cnt <= cnt + 8'd1;
end
endmodule
下面是testbench
`timescale 1 ns/ 100 ps
module experiment_vlg_tst();
reg clk;
reg [7:0] clklow;
reg [7:0] clkperiod;
reg rst;
wire clkout;
experiment i1 (
.clk(clk),
.clklow(clklow),
.clkout(clkout),
.clkperiod(clkperiod),
.rst(rst)
);
always #10 clk=~clk;
initial
begin
clk=0;
rst=1;
#100 rst=0;
end
endmodule
下面是仿真波形
(原文件名:simulation.png) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|