blob: 5824ed81fcfd2075a67f9dc497dcdc1316062174 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
module core_tb
#(
parameter TIMEOUT = 10,
parameter ADDR_WIDTH = 16
);
logic clk;
logic rst_l;
// imem instruction interface
logic [31:0] if_imem_addr_IF;
logic [31:0] imem_id_instr_ID;
// Clock Generation
always begin
clk = #1 ~clk;
end
// Signal Dump, Test Timeout, and Reset
initial begin
// Dump Setup
$dumpfile("dump.fst");
$dumpvars;
// Reset Set up
rst_l = 1'b0;
repeat (5) @(posedge clk);
rst_l = 1'b1;
// Timeout Setup
repeat (TIMEOUT) @(posedge clk);
$finish("Test Timed Out"); // TODO Make error & increase timeout length
end
core_tb_imem #( .ADDR_WIDTH(ADDR_WIDTH) ) imem0 (
.clk(clk),
.if_imem_addr_IF(if_imem_addr_IF),
.imem_id_instr_ID(imem_id_instr_ID)
);
core core0 (
.clk(clk),
.rst_l(rst_l),
.if_imem_addr_IF(if_imem_addr_IF),
.imem_id_instr_ID(imem_id_instr_ID)
);
endmodule
|