Initial commit

This commit is contained in:
Nikolay Puzanov
2021-02-28 18:59:56 +03:00
parent ff795d2b6e
commit 2fbacc0544
61 changed files with 6063 additions and 0 deletions

60
testbench/tb_circle.sv Normal file
View File

@@ -0,0 +1,60 @@
`timescale 1ns/100ps
module tb_circle;
logic clock = 1'b0;
logic reset = 1'b1;
/* Master clock 100MHz (10ns period) */
always #(10ns/2) clock <= ~clock;
logic [9:0] angle;
logic [7:0] r;
logic [7:0] x0;
logic [7:0] y0;
logic [7:0] x;
logic [7:0] y;
logic req, ack;
circle_1024 DUT
(.clock, .reset,
.angle,
.r,
.x0,
.y0,
.x,
.y,
.req_i(req),
.ack_o(ack));
initial begin
reset = 1'b1;
req = 1'b0;
repeat(10) @(posedge clock) #1;
reset = 1'b0;
@(posedge clock) #1;
angle = '0;
r = 120;
x0 = 120;
y0 = 128;
for (int i = 0; i < 1024; i ++) begin
@(posedge clock) #1;
req = 1'b1;
wait (ack);
angle = angle + 1'b1;
end
req = 1'b0;
repeat(10) @(posedge clock) #1;
$finish;
end
initial begin
$dumpfile("tb_circle.vcd");
$dumpvars;
end
endmodule // tb_circle