Verilog Mens Feil i Synthesis

O

omara007

Guest
Hei folkens

Jeg for øyeblikket har følgende MUX Verilog-kode:

Code:input [29:0] port0;

input [29:0] port1;

input [29:0] port2;

input [29:0] port3;

input [29:0] port4;

input [29:0] port5;

input [29:0] port6;

input [29:0] port7;reg [7:0] sel;reg [29:0] mux8to1; / / Multiplexer 8-1alltid @ (in0 eller in1 eller in2 eller in3 eller in4 eller in5 eller in6 eller in7 eller sel)

casex (Sel)

8'bxxxxxxx1: mux8to1 = port0; / / port0 valgt

8'bxxxxxx10: mux8to1 = port1; / / port1 valgt

8'bxxxxx100: mux8to1 = port2; / / port2 valgt

8'bxxxx1000: mux8to1 = port3; / / port3 valgt

8'bxxx10000: mux8to1 = port4; / / port4 valgt

8'bxx100000: mux8to1 = port5; / / port5 valgt

8'bx1000000: mux8to1 = port6; / / port6 valgt

8'b10000000: mux8to1 = port7; / / port7 valgt

standard: uumux32to1sp = 0;

endcase

 
u ha erklært heltall indeks;

Indeksen er ikke konstant, og det vet grensen for indeksen, Hvis du konvertere heltall indeksen; -> reg [5:0] indeksen noen ting som dette så vil verktøyet kunne bygge en maskin og vet nøyaktig den grensen for indeksen.

 
dcreddy1980 wrote:

u ha erklært heltall indeks;Indeksen er ikke konstant, og det vet grensen for indeksen, Hvis du konvertere heltall indeksen; -> reg [5:0] indeksen noen ting som dette så vil verktøyet kunne bygge en maskin og vet nøyaktig den grensen for indeksen.
 
Jeg helt enig med j_andr, han er rett om vektoren verdiområder, jeg bare glemte det og tenker på det mens loop

 
Code:

modulen xyz

(

input [NrOfPorts_Width-1: 0] sel,

input [Width * NrOfPorts-1: 0] portx,

output reg [Bredde-1: 0] ux8to1

);parameter NrOfPorts_Width = 2,

NrOfPorts = 2 ** NrOfPorts_Width,

Width = 4;heltall i, j;

reg [NrOfPorts_Width-1: 0] sel_tmp;

reg aktivere;alltid @ (*)

begynne

for (j = 0; j <NrOfPorts_Width; j = j 1)

begynne

if (sel [j] == 1'b1) begynner

sel_tmp <= j;

aktiverer <= 1'b1;

slutt

else begynne

sel_tmp <= 0;

aktiverer <= 1'b0;

slutt

slutt

sluttalltid @ (*)

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

begynne

ux8to1 <= portx [i (sel * Width)] & (width (aktivere));

slutt

endmodule
 
dcreddy1980 ..Kan du forklare funksjonaliteten til tilleggsverdien (aktiver) signal?..Lagt etter 2 minutter:j_andr wrote:eek:mara007 wrote:

/.../ La du merke dette?
 
Jeg har nettopp gjort aktivere signal, slik at jeg ikke får noen klinke slutning, hvis du er fint med smekklås slutning, u kan bare fjerne aktivere logikk generasjon

 

Welcome to EDABoard.com

Sponsor

Back
Top