Verilog Dok Okrenite Greška u Synthesis

O

omara007

Guest
Bok ljudi

Ja sam trenutno imaju sljedeće MUX Verilog broj:

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; / / multipleksor 8-1Uvijek @ (in0 ili in1 ili in2 ili in3 ili in4 ili in5 ili in6 ili in7 ili sel)

casex (sel)

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

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

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

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

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

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

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

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

Zadano: uumux32to1sp = 0;

endcase

 
u imati indeks proglašen integer;

Indeks nije konstantan i on ne zna za granice indeksa, Ako pretvoriti cijeli indeks; -> reg [5:0] index neke stvari kao što je ovaj alat će tada biti u mogućnosti da izgrade hardver i točno se zna granicu indeksa.

 
dcreddy1980 wrote:

u imati indeks proglašen integer;Indeks nije konstantan i on ne zna za granice indeksa, Ako pretvoriti cijeli indeks; -> reg [5:0] index neke stvari kao što je ovaj alat će tada biti u mogućnosti da izgrade hardver i točno se zna granicu indeksa.
 
Ja u potpunosti suglasni s j_andr, on je u pravu o vektor rasponi, jednostavno sam zaboravio o tome i razmišljati o petlju dok

 
Code:

modul xyz

(

input [NrOfPorts_Width-1: 0] sel,

input [* Širina NrOfPorts-1: 0] portx,

output reg [Širina-1: 0] ux8to1

);parametar NrOfPorts_Width = 2,

NrOfPorts = 2 ** NrOfPorts_Width,

Width = 4;integer i, j;

reg [NrOfPorts_Width-1: 0] sel_tmp;

reg omogućiti;Uvijek @ (*)

započeti

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

započeti

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

sel_tmp <= j;

omogućite <= 1'b1;

kraj

else begin

sel_tmp <= 0;

omogućite <= 1'b0;

kraj

kraj

krajUvijek @ (*)

for (i = 0; i <Širina; i = i 1)

započeti

ux8to1 <= portx [i (sel * Širina)] i (width omogućiti ());

kraj

endmodule
 
dcreddy1980 ..Molim Vas, objasnite funkcionalnosti dodanu (omogućiti) signal?..Added nakon 2 minute:j_andr wrote:eek:mara007 wrote:

/.../ Jeste li primjetiti ovo?
 
JA pravedan je napravio omogućiti signala, tako da ja dont dobiti bilo koji reza zaključivanje, ukoliko ste u redu sa reza zaključivanje, možete jednostavno ukloniti omogućiti logika generacije

 

Welcome to EDABoard.com

Sponsor

Back
Top