URL
https://opencores.org/ocsvn/amber/amber/trunk
Subversion Repositories amber
Compare Revisions
- This comparison shows the changes necessary to convert path
/amber/trunk/hw/vlog/tb
- from Rev 11 to Rev 15
- ↔ Reverse comparison
Rev 11 → Rev 15
/global_defines.v
46,7 → 46,7
`ifndef _GLOBAL_DEFINES |
`define _GLOBAL_DEFINES |
|
`define AMBER_INIT_ZERO = `d0 |
`define AMBER_TIMEOUT 0 |
|
`define U_TB tb |
`define U_SYSTEM `U_TB.u_system |
55,9 → 55,9
`define U_FETCH `U_AMBER.u_fetch |
`define U_MMU `U_FETCH.u_mmu |
`define U_CACHE `U_FETCH.u_cache |
`define U_WISHBONE `U_FETCH.u_wishbone |
`define U_COPRO15 `U_AMBER.u_coprocessor |
`define U_EXECUTE `U_AMBER.u_execute |
`define U_WB `U_AMBER.u_write_back |
`define U_REGISTER_BANK `U_EXECUTE.u_register_bank |
`define U_DECODE `U_AMBER.u_decode |
`define U_DECOMPILE `U_DECODE.u_decompile |
64,6 → 64,13
`define U_L2CACHE `U_SYSTEM.u_l2cache |
`define U_TEST_MODULE `U_SYSTEM.u_test_module |
|
`ifdef AMBER_A25_CORE |
`define U_MEM `U_AMBER.u_mem |
`define U_DCACHE `U_MEM.u_dcache |
`define U_WISHBONE `U_AMBER.u_wishbone |
`else |
`define U_WISHBONE `U_FETCH.u_wishbone |
`endif |
// --------------------------------------------------------------- |
|
`define TB_DEBUG_MESSAGE $display("\nDEBUG in %m @ tick %8d ", `U_TB.clk_count ); |
/dumpvcd.v
59,22 → 59,10
$dumpfile(`AMBER_VCD_FILE); |
$dumpvars(1, `U_TB.clk_count); |
|
$dumpvars(1, `U_FETCH.o_read_data); |
$dumpvars(1, `U_DECOMPILE.xINSTRUCTION_EXECUTE); |
$dumpvars(1, `U_DECODE.firq_request); |
$dumpvars(1, `U_DECODE.irq_request); |
$dumpvars(1, `U_DECODE.swi_request); |
$dumpvars(1, `U_DECODE.interrupt); |
$dumpvars(1, `U_DECODE.next_interrupt); |
$dumpvars(1, `U_DECODE.interrupt_mode); |
$dumpvars(1, `U_DECODE.instruction_valid); |
$dumpvars(1, `U_DECODE.instruction_execute); |
$dumpvars(1, `U_DECODE.instruction); |
$dumpvars(1, `U_EXECUTE.i_fetch_stall); |
$dumpvars(1, `U_EXECUTE.o_write_enable); |
$dumpvars(1, `U_EXECUTE.o_exclusive); |
$dumpvars(1, `U_EXECUTE.o_write_data); |
$dumpvars(1, `U_EXECUTE.o_address); |
$dumpvars(1, `U_EXECUTE.base_address); |
$dumpvars(1, `U_EXECUTE.u_register_bank.r0); |
$dumpvars(1, `U_EXECUTE.u_register_bank.r1); |
94,13 → 82,18
$dumpvars(1, `U_EXECUTE.u_register_bank.r15); |
|
|
$dumpvars(1, `U_COPRO15); |
$dumpvars(1, `U_FETCH); |
$dumpvars(1, `U_CACHE); |
$dumpvars(1, `U_DECODE); |
// $dumpvars(1, `U_COPRO15); |
$dumpvars(1, `U_WISHBONE); |
$dumpvars(1, `U_AMBER); |
|
$dumpvars(1, `U_SYSTEM.u_main_mem); |
|
|
`ifdef AMBER_A25_CORE |
$dumpvars(1, `U_MEM); |
$dumpvars(1, `U_DCACHE); |
`endif |
|
$dumpoff; |
end |
|
/tb.v
54,7 → 54,7
`endif |
reg clk_200mhz; |
reg clk_25mhz; |
reg [31:0] clk_count; |
reg [31:0] clk_count = 'd0; |
|
integer log_file; |
|
254,7 → 254,7
initial |
begin |
sysrst = 1'd1; |
#15002500 |
#40000 |
sysrst = 1'd0; |
end |
|
263,10 → 263,7
// Counter of system clock ticks |
// ====================================== |
always @ ( posedge `U_SYSTEM.sys_clk ) |
if ( `U_SYSTEM.sys_rst ) |
clk_count <= 'd0; |
else |
clk_count <= clk_count + 1'd1; |
clk_count <= clk_count + 1'd1; |
|
|
|
437,8 → 434,13
// ====================================== |
// Terminate Test |
// ====================================== |
`include "amber_localparams.v" |
`include "amber_functions.v" |
`ifdef AMBER_A25_CORE |
`include "a25_localparams.v" |
`include "a25_functions.v" |
`else |
`include "a23_localparams.v" |
`include "a23_functions.v" |
`endif |
|
reg testfail; |
wire test_status_set; |
458,9 → 460,9
begin |
display_registers; |
$display("++++++++++++++++++++"); |
$write("Passed %s\n", `AMBER_TEST_NAME); |
$write("Passed %s %0d ticks\n", `AMBER_TEST_NAME, `U_TB.clk_count); |
$display("++++++++++++++++++++"); |
$fwrite(`U_TB.log_file,"Passed %s\n", `AMBER_TEST_NAME); |
$fwrite(`U_TB.log_file,"Passed %s %0d ticks\n", `AMBER_TEST_NAME, `U_TB.clk_count); |
$finish; |
end |
else |
469,9 → 471,9
if ( testfail ) |
begin |
$display("++++++++++++++++++++"); |
$write("Failed %s - assertion error\n", `AMBER_TEST_NAME); |
$write("Failed %s\n", `AMBER_TEST_NAME); |
$display("++++++++++++++++++++"); |
$fwrite(`U_TB.log_file,"Failed %s - assertion error\n", `AMBER_TEST_NAME); |
$fwrite(`U_TB.log_file,"Failed %s\n", `AMBER_TEST_NAME); |
$finish; |
end |
else |
493,8 → 495,18
end |
|
|
|
// ====================================== |
// Timeout |
// ====================================== |
always @ ( posedge `U_SYSTEM.sys_clk ) |
if ( `AMBER_TIMEOUT != 0 ) |
if (`U_TB.clk_count >= `AMBER_TIMEOUT) |
begin |
`TB_ERROR_MESSAGE |
$display("Timeout Error"); |
end |
|
// ====================================== |
// Tasks |
// ====================================== |
task display_registers; |
569,54 → 581,7
endcase |
end |
endfunction |
|
endmodule |
|
|
endmodule |
|
|
module WireDelay # ( |
parameter Delay_g = 0, |
parameter Delay_rd = 0 |
) |
( |
inout A, |
inout B, |
input reset |
); |
|
reg A_r; |
reg B_r; |
reg line_en; |
|
assign A = A_r; |
assign B = B_r; |
|
always @(*) begin |
if (!reset) begin |
A_r <= 1'bz; |
B_r <= 1'bz; |
line_en <= 1'b0; |
end else begin |
if (line_en) begin |
A_r <= #Delay_rd B; |
B_r <= 1'bz; |
end else begin |
B_r <= #Delay_g A; |
A_r <= 1'bz; |
end |
end |
end |
|
always @(A or B) begin |
if (!reset) begin |
line_en <= 1'b0; |
end else if (A !== A_r) begin |
line_en <= 1'b0; |
end else if (B_r !== B) begin |
line_en <= 1'b1; |
end else begin |
line_en <= line_en; |
end |
end |
endmodule |