Merge branch 'mp_eb_dev' into feature/syncSpi
# Conflicts: # src/main/scala/backBoard/shin/SpiInterface.scala
This commit is contained in:
@@ -102,15 +102,28 @@ module ShinTopSpiTb(
|
||||
reg _reset_deactive;
|
||||
|
||||
wire [(`ALL_DEV_NUM - 1):0] isSoftReset;
|
||||
reg [(`ALL_DEV_NUM - 1):0] isSoftReset_reg;
|
||||
|
||||
generate
|
||||
for( genvar i = 0; i < `ALL_DEV_NUM; i = i + 1 ) begin
|
||||
always @(posedge clock or posedge reset) begin
|
||||
if(reset) isSoftReset_reg[i] <= 1'b0;
|
||||
else isSoftReset_reg[i] <= isSoftReset[i];
|
||||
end
|
||||
end
|
||||
endgenerate
|
||||
|
||||
|
||||
wire [`DEV_NUM:0] io_int_sig;
|
||||
|
||||
reg latch0;
|
||||
reg latch1;
|
||||
|
||||
|
||||
|
||||
ShinTop s_ShinTop_Mst(
|
||||
.clock(clock),
|
||||
.reset(reset | isSoftReset[0]),
|
||||
.reset(reset | isSoftReset_reg[0]),
|
||||
|
||||
.io_multiCLK_0(multiCLK[0]),
|
||||
.io_multiCLK_1(multiCLK[1]),
|
||||
@@ -157,7 +170,7 @@ ShinTop s_ShinTop_Mst(
|
||||
.io_latchPin_0(latch0),
|
||||
.io_latchPin_1(latch1),
|
||||
.io_hwSerial(`HW_SERIAL),
|
||||
.io_uniCode(0)
|
||||
.io_uniCode(64'h0)
|
||||
);
|
||||
|
||||
`include "slave_dev_def.vh"
|
||||
@@ -165,7 +178,7 @@ ShinTop s_ShinTop_Mst(
|
||||
`ifdef DEFINE_SLAVE_DEVICE
|
||||
ShinTop s_ShinTop_slv0(
|
||||
.clock(clock),
|
||||
.reset(reset | isSoftReset[1]),
|
||||
.reset(reset | isSoftReset_reg[1]),
|
||||
|
||||
.io_multiCLK_0(multiCLK[0]),
|
||||
.io_multiCLK_1(multiCLK[1]),
|
||||
@@ -216,7 +229,7 @@ ShinTop s_ShinTop_slv0(
|
||||
|
||||
ShinTop s_ShinTop_slv1(
|
||||
.clock(clock),
|
||||
.reset(reset | isSoftReset[2]),
|
||||
.reset(reset | isSoftReset_reg[2]),
|
||||
|
||||
.io_multiCLK_0(multiCLK[0]),
|
||||
.io_multiCLK_1(multiCLK[1]),
|
||||
@@ -267,7 +280,7 @@ ShinTop s_ShinTop_slv1(
|
||||
|
||||
ShinTop s_ShinTop_slv2(
|
||||
.clock(clock),
|
||||
.reset(reset | isSoftReset[3]),
|
||||
.reset(reset | isSoftReset_reg[3]),
|
||||
|
||||
.io_multiCLK_0(multiCLK[0]),
|
||||
.io_multiCLK_1(multiCLK[1]),
|
||||
@@ -318,7 +331,7 @@ ShinTop s_ShinTop_slv2(
|
||||
|
||||
ShinTop s_ShinTop_slv3(
|
||||
.clock(clock),
|
||||
.reset(reset | isSoftReset[4]),
|
||||
.reset(reset | isSoftReset_reg[4]),
|
||||
|
||||
.io_multiCLK_0(multiCLK[0]),
|
||||
.io_multiCLK_1(multiCLK[1]),
|
||||
@@ -394,7 +407,8 @@ initial begin
|
||||
|
||||
$display("Time Out !!!");
|
||||
$fclose(spidata_file);
|
||||
$stop;
|
||||
//$stop;
|
||||
$finish;
|
||||
end
|
||||
|
||||
initial begin
|
||||
@@ -411,7 +425,7 @@ generate
|
||||
initial begin
|
||||
multiCLK[i] = 0;
|
||||
for( integer j = 0; j < i; j = j + 1 ) begin
|
||||
#20
|
||||
#10
|
||||
;
|
||||
end
|
||||
forever begin #80 multiCLK[i] <= ~multiCLK[i]; end
|
||||
@@ -425,8 +439,16 @@ initial
|
||||
begin
|
||||
spidata_file = $fopen("spi_trans_data.txt", "w");
|
||||
if (!spidata_file) $display("文件打开失败");
|
||||
$dumpfile("./tb/build/wave.vcd"); //生成的vcd文件名称
|
||||
|
||||
`ifdef VCS_COMPILE
|
||||
$dumpfile("./generated/wave.vcd"); //生成的vcd文件名称
|
||||
$dumpvars(0, ShinTopSpiTb);//tb模块名称
|
||||
`endif
|
||||
|
||||
`ifdef IVERILOG_COMPILE
|
||||
$dumpfile("./generated/wave.fst"); //生成的fst文件名称
|
||||
$dumpvars(0, ShinTopSpiTb);//tb模块名称
|
||||
`endif
|
||||
end
|
||||
|
||||
always @(posedge reset) begin
|
||||
@@ -850,7 +872,7 @@ task f_write(input [31:0] logh, input [15:0] saddress, input [7:0] scmd, input [
|
||||
end
|
||||
endtask
|
||||
|
||||
task wait_comm_finished();
|
||||
task wait_comm_finished(input [16:0] dev_idx);
|
||||
begin:WAIT_COMM_FINISHED_CODE
|
||||
real st;
|
||||
integer is_run;
|
||||
@@ -858,6 +880,7 @@ task wait_comm_finished();
|
||||
st = $realtime;
|
||||
is_run = 1;
|
||||
|
||||
`ifdef enable_wait_clear_int
|
||||
txBuf[0] = 8'h00;
|
||||
txBuf[1] = 8'h78;
|
||||
txBuf[2] = `SPI_WRITE;
|
||||
@@ -867,7 +890,7 @@ task wait_comm_finished();
|
||||
txBuf[6] = 8'h00;
|
||||
|
||||
length = 8'h07;
|
||||
idx = `IF_IQSPI(0);
|
||||
idx = `IF_IQSPI(dev_idx);
|
||||
|
||||
#5
|
||||
@(negedge sck)
|
||||
@@ -879,7 +902,7 @@ task wait_comm_finished();
|
||||
begin
|
||||
|
||||
end
|
||||
|
||||
`endif
|
||||
|
||||
while (is_run == 1) begin
|
||||
txBuf[0] = 8'h00;
|
||||
@@ -887,7 +910,7 @@ task wait_comm_finished();
|
||||
txBuf[2] = `SPI_READ;
|
||||
|
||||
length = 8'h07;
|
||||
idx = `IF_IQSPI(0);
|
||||
idx = `IF_IQSPI(dev_idx);
|
||||
|
||||
#5
|
||||
@(negedge sck)
|
||||
@@ -1078,7 +1101,8 @@ initial begin
|
||||
#1000000
|
||||
$display("Testcase Finished! Time Out !!!");
|
||||
$fclose(spidata_file);
|
||||
$stop;
|
||||
//$stop;
|
||||
$finish;
|
||||
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user