generated from maddiebusig/vivado-template-hog
75 lines
772 B
Verilog
75 lines
772 B
Verilog
`timescale 1ns/1ps
|
|
|
|
module pwm_core_tb #(
|
|
VCD_DUMPFILE = ""
|
|
);
|
|
|
|
reg clk = 0;
|
|
reg en = 1;
|
|
reg rst = 1;
|
|
reg [15:0] duty;
|
|
reg [15:0] window_width;
|
|
reg oen = 1;
|
|
|
|
wire pulse;
|
|
|
|
pwm_core#(
|
|
.WINDOW_REG_SIZE(16)
|
|
) cut (
|
|
.clk(clk),
|
|
.en(en)
|
|
.rst(rst),
|
|
.duty(duty),
|
|
.window_width(window_width),
|
|
.oen(oen),
|
|
.pulse(pulse)
|
|
);
|
|
|
|
integer k;
|
|
|
|
initial begin
|
|
rst = 1;
|
|
clk = 0;
|
|
|
|
#10
|
|
|
|
rst = 0;
|
|
oen = 1;
|
|
duty = 3;
|
|
window_width = 7;
|
|
|
|
for (k=0; k<13; k=k+1) begin
|
|
#5 clk = 1;
|
|
#5 clk = 0;
|
|
end
|
|
|
|
duty = 1;
|
|
|
|
for (k=0; k<13; k=k+1) begin
|
|
#5 clk = 1;
|
|
#5 clk = 0;
|
|
end
|
|
|
|
duty = 1;
|
|
window_width = 2;
|
|
|
|
for (k=0; k<8; k=k+1) begin
|
|
#5 clk = 1;
|
|
#5 clk = 0;
|
|
end
|
|
|
|
oen = 0;
|
|
|
|
for (k=0; k<5; k=k+1) begin
|
|
#5 clk = 1;
|
|
#5 clk = 0;
|
|
end
|
|
|
|
|
|
$dumpvars;
|
|
$finish;
|
|
end
|
|
|
|
endmodule
|
|
|