URL
https://opencores.org/ocsvn/sdhc-sc-core/sdhc-sc-core/trunk
Subversion Repositories sdhc-sc-core
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 153 to Rev 154
- ↔ Reverse comparison
Rev 153 → Rev 154
/sdhc-sc-core/trunk/src/grpSd/unitSdCardModel/src/SdBFM-impl.sv
220,6 → 220,7
if (flag == 1) send(token); |
else if (flag == -1) Log.error("Error accessing SendTransMb."); |
end |
@ICard.cb; |
endtask |
|
task SdBFM::run(); |
235,7 → 236,7
begin |
run(); |
end |
join_any |
join_none |
endtask |
|
`endif |
/sdhc-sc-core/trunk/src/grpSdVerification/unitSdCoreTransaction/src/SdCoreTransaction.sv
1,12 → 1,38
`ifndef SDCORETRANSACTION_SV |
`define SDCORETRANSACTION_SV |
|
typedef bit[511:0] DataBlock; |
|
class SdCoreTransaction; |
|
typedef enum { readSingleBlock, readMultipleBlock, writeSingleBlock, |
writeMultipleBlocks, erase, readSdCardStatus } kinds; |
|
rand kinds kind; |
rand int startAddr; |
rand int endAddr; |
rand DataBlock data[]; |
|
endclass |
|
class SdCoreTransactionSequence; |
|
rand SdCoreTransaction transactions[]; |
|
constraint randlength { |
transactions.size() > 0; |
transactions.size() <= 100; |
} |
|
function void post_randomize(); |
foreach (transactions[i]) begin |
transactions[i] = new(); |
assert(transactions[i].randomize()); |
end |
endfunction |
|
endclass |
|
typedef mailbox #(SdCoreTransactionSequence) SdCoreTransSeqMb; |
typedef mailbox #(SdCoreTransaction) SdCoreTransSeqMb; |
|
`endif |
/sdhc-sc-core/trunk/src/grpSdVerification/unitSdCoreTransactionSeqGen/src/SdCoreTransactionSeqGen.sv
4,11 → 4,32
`include "SdCoreTransaction.sv"; |
|
class SdCoreTransactionSeqGen; |
|
SdCoreTransSeqMb TransOutMb[2]; |
SdCoreTransactionSequence seq; |
|
function void start(); |
endfunction |
local int stopAfter = 1; |
|
task start(); |
fork |
this.run(); |
join_none; |
endtask |
|
task run(); |
while (stopAfter != 0) begin |
seq = new(); |
assert(seq.randomize()); |
|
for (int i = 0; i < seq.transactions.size(); i++) begin |
TransOutMb[0].put(seq.transactions[i]); |
TransOutMb[1].put(seq.transactions[i]); |
end |
|
if (stopAfter > 0) stopAfter--; |
end |
endtask |
|
endclass |
|
`endif |
/sdhc-sc-core/trunk/src/grpSdVerification/unitSdCoreTransactionBFM/src/SdCoreTransactionBFM.sv
10,10 → 10,27
SdCoreTransSeqMb SdTransOutMb; |
WbTransMb WbTransOutMb; |
WbTransMb WbTransInMb; |
|
Logger Log = new(); |
int StopAfter = -1; |
|
function void start(); |
endfunction |
task start(); |
fork |
this.run(); |
join_none; |
endtask |
|
task run(); |
while (StopAfter != 0) begin |
SdCoreTransaction trans; |
|
SdTransInMb.get(trans); |
Log.note("TransBFM transaction received: TODO: split up and send"); |
|
if (StopAfter > 0) StopAfter--; |
end |
endtask |
|
endclass |
|
`endif |
/sdhc-sc-core/trunk/src/grpSdVerification/unitSdCoreTransferFunction/src/SdCoreTransferFunction.sv
9,9 → 9,26
SdCoreTransSeqMb TransInMb; |
ExpectedResultMb ExpectedResultOutMb; |
|
function void start(); |
endfunction |
Logger Log = new(); |
int StopAfter = -1; |
|
task start(); |
fork |
this.run(); |
join_none; |
endtask |
|
task run(); |
while (StopAfter != 0) begin |
SdCoreTransaction transaction; |
|
TransInMb.get(transaction); |
Log.note("SdCoreTransferFunction transaction received"); |
|
if (StopAfter > 0) StopAfter--; |
end |
endtask |
|
endclass |
|
`endif |