læse en fil i testbench (verilog)

P

param

Guest
Hej alle,
hvordan du tildeler de data, skrevet i en fil til havnen, for testbench formål bruger verilog HDL?
formoder jeg har nogle prøver af input data skrevet på. dat-fil,
og i min testbench jeg ønsker at indtaste alle de værdier, skrevet i denne fil, hvordan kan jeg gøre det?
Jeg har prøvet på nedenstående måde, og kunne ikke finde nogen oplysninger, der er tildelt input pin mens simulering,

data_in = $ fopen (''input.dat "," r ");

behage hjælp til at løse denne .........

 
$ fopen vil kun åbne filen.At gøre enhver fil operation i verilog dette skal gøres først.til at læse fra fil forsøger $ memreadb (for binære filer) eller $ memreadh (til hex filer).

fx:
Kode:reg [7:0] mem [1027:0];

......

indledende

begynd

$ readmemb ( "filnavn", mem);

ende
 
Her er et eksempel ur søger .....
Hope this helps
Kode:modul stim_gen (

/ / Outputs

CLK, data

);

output CLK;

output [7:0] data;

reg CLK;

reg [7:0] data;

integer fd;

heltal kode, dummy;

reg [8 * 10:1] str;indledende begynde

fd = $ fopen ( "_input.dat", "r");

CLK = 0;

data = 0;

kode = 1;

$ skærm ( "data =% x", data);

mens (kode) begynder

code = $ fgets (str, fd);

dummy = $ sscanf (str, "% x", data);

@ (posedge clk);

ende

$ finish;

ende / / indledende begynde

altid # 5 clk = ~ clk;

endmodule / / stim_gen
 
FYI,

Hvis du ønsker at behandle binære data, gjorde dette kan være en vanskelig readmemb ikke arbejde for mig, når jeg havde brug for at gøre dette.I sidste ende endte med:

file = $ fopen ( "code.vec", "r");return_value = $ fread (mem, file);
if (return_value! = 1)
error = 1;
anden
..............

"mem" er en otte smule varible.Når return_value er ikke 1, så læs mislykkedes, og du er i slutningen af filen.

--- Steve

 

Welcome to EDABoard.com

Sponsor

Back
Top