Verilog utilizzo Generate dichiarazione

G

gangireddy.p

Guest
Salve,
Posso utilizzare generare categoria per array di istanze.Come nel seguente modo

wire [4:0] in1;
wire [3:0] IN2;

wire [4:0] sig1;
wire [3:0] sig2 [0:4];

generare for (i = 0; i <5; i = i 1)
iniziare
assegnare sig1 = in1 ;
assegnare sig2 = in2;
fine
endgenerate

Durante l'esecuzione di simulazione in dve, il sig1 si alterna, ma il sig2 non è assegnato correttamente.È perché, come nel generare blocchi non possiamo assegnare ad un autobus o di qualsiasi altra cosa.Please let me know.

 
Ehi,
Ho provato a pubblicare il tuo materiale, come qui di seguito, non vedo alcun problema.
Di uscita viene riportato di seguito.
Per favore, inserisci il tuo banco di prova.Può essere qualcosa che non va con il banco di prova.

Codice:

Modulo gen_chk (in1, in2, sig1, sig2);

input [4:0] in1;

input [3:0] IN2;output [4:0] sig1;

output [3:0] sig2 [4:0];genvar I;generano

for (i = 0; i <5; i = i 1)

begin: loop

assegnare sig1 = in1 ;

assegnare sig2 = in2;

fine

endgenerateendmoduleModulo gen_chk_tb ();

reg [4:0] in1;

reg [3:0] IN2;reg [4:0] OUT1;

reg [3:0] OUT2 [4:0];gen_chk gen_chkU (IN1, IN2, OUT1, OUT2);iniziale

iniziare

in1 = 5'h00;

in2 = 4'h0;

# 10;

in1 = 5'h01;

in2 = 4'h1;

# 10;

in1 = 5'h02;

in2 = 4'h0;

# 10;

in1 = 5'h03;

in2 = 4'h1;

# 10;

in1 = 5'h04;

in2 = 4'h0;fineiniziale

iniziare

$ monitor ( "t% Time, sig1 =% d, sig2 [0] =% d, sig2 [1] =% d, sig2 [2] =% d, sig2 [3] =% d", $ time, OUT1 , OUT2 [0], OUT2 [1], OUT2 [2], OUT2 [3]);

fine

endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top