Pls fortelle feil i denne koden

A

appu1985

Guest
Code:

modul pe (clk, lrate, i, x, p, psw, psy, modus, io, XO, po, pswo);parameter size = 65535; / bildestørrelsen eller antall piksler i bildet

input lrate; / / The læring rate av algoritmen

wire lrate;

/ / Input portene på BEHANDLING ELEMENT

input clk;

input [7:0] i; / Index of input pixel

input [7:0] x; / / Verdien av pixel input

input [3:0] p; / / The Index of personen som bildet blir sendt

input [4:0] psw; / delsummen for vekt oppdatering

input [12:0] psy; / delsummen for utdata beregning

input [1:0] modus; / / Slik velger du operasjonen som Godkjenning Fase eller Training Fase 00,01 - Anerkjennelse

/ / 10 - Trainging og Vekt Oppdatere 11 - Projection Beregning/ / Output portene på BEHANDLING ELEMENToutput [7:0] io / / Indeksen på pikselen som er evaluert i denne PE og gå til neste PE

output [7:0] xo; / / Verdien av piksel skal neste PE

output [3:0] po / / Indeksen verdien av den personen som bildet er under behandling

output [4:0] pswo; / / Den beregnede Delvis Sum av Vekt oppdatering sendt til neste PE også lagres her

/ / output [12:0] psyo; / / Den beregnede Delvis Summen av produksjonen sendes til neste PE også lagres her/ / Registrer Declarations inni BEHANDLING ELEMENTreg [4:0] w [65535:0]; / / A-register i processig element for å lagre vektene av Image

reg [12:0] ylearn [15:0] / / A register å lagre projeksjon "Y" på hvert bilde maks 16 bilder

reg [4:0] psw1; / / A-register til å lagre delsummen evaluert

reg [12:0] pso1; / / A-register til å lagre delsummen for å evaluere effekten anslaget "Y"./ / Wire erklæring som brukes i behandlingen element

wire [4:0] g;

wire [4:0] w1;

wire [12:0] t;

wire [12:0] Psj;

wire [3:0] sel;

/ / Instans av CKT for 2. trinn Vekt oppdatering

/ / Here 'g' er delsummen og "w1" er oppdatert vekt

heltall count = 0;/ / dekoder desember (modus, sel); / / Adecoder brukes bare for å vurdere virkemåte/ / Først logikken velges avhengig av virkemåte

/ / The nedenfor Case Logic coverts i en Multiplexer

case (mode)

00: out2 S2 (i, lrate, w, ylearn, x, psw1, g, W1); / / Combinational Logic å iverksette ..
TRINN 2 - Update vekten vektorer

01: out2 S2 (i, lrate, w, ylearn, x, psw1, g, W1); / / Combinational Logic å iverksette ..
TRINN 2 - Update vekten vektorer

10: out1 S1 (x, w, psy, t, Psj); / / Combinational Logic å Iverksette ...
TRINN 1 - Beregn anslag

11: out1 S1 (x, w, psy, t, Psj); / / Combinational Logic å Iverksette ...
TRINN 1 - Beregn anslag

standard

endcase/ / First Mode of Operation når anslagene skal evalueres.

alltid @ (xi eller clk eller modus)

begynne

if (mode == 2'b10 | | mode == 2'b11) / / Den kontrollerer om virkemåte er Output evaluering

begynne

pso1 <= pso1 Psj; / / Holder på å samle de delsummen for Output evaluering

if (i% størrelse) / / Hvis ett bilde har gått så det begynner å tilordne utganger.
størrelse er en parmameter holde bildestørrelsen.

begynne

ylearn [p] <= Psj; / / The Output tildeles

slutt

slutt

slutt

/ / Når alle resultatene er evaluert endres til 00 eller 01 til oppdatering av vektene.if (mode == 2'b00 | | mode == 2'b01) / / Sjekker for virkemåte

begynne

psw1 <= psw1 (w * ylearn [p ]);// PSW1 akkumuleres den delvise summen av vekten updation formelen

/ / Nå for jth PE dersom PS har vært evaluattes

w = w1; / / Den nye oppdaterte vekten fra Out2 modulen blir oppdatert

slutt

sluttendmodule
 
Du bruker Verilog språket måfå.Du vil ha stor nytte av å studere en Verilog bok eller ta en Verilog klasse.

A case uttalelse tilhører inni en første blokk eller alltid blokk, ikke flytende av seg selv.
Du kan ikke instantiate moduler i en sak uttalelse.
standard ...?Linjen er ufullstendig.Det minst trenger et semikolon.

Din følsomhet list »(xi eller clk eller modus)" sannsynligvis ikke bør omfatte xi eller modus, og "clk" burde være "posedge clk".
Feilkoblede begynne og avslutte sin.
Gjør alltid blokk inneholder både ikke-blokkering og blokkering av oppgaver.Det er vanligvis en feil.

'w' har 65536 registre, men w tilgang til kun 256 av dem.Mistenksom.

Det er nok for nå.
Sist endret av echo47 den 18. Jun 2007 7:02, endret 1 gang totalt

 
Pls re sjekk denne koden og fortell meg flere feil dessuten hvorfor w vil få tilgang til 256 bare
Code:

modul pe (clk, lrate, i, x, p, psw, psy, modus, io, XO, po, pswo);parameter size = 65535; / bildestørrelsen eller antall piksler i bildet

input lrate; / / The læring rate av algoritmen

wire lrate;

/ / Input portene på BEHANDLING ELEMENT

input clk;

input [7:0] i; / Index of input pixel

input [7:0] x; / / Verdien av pixel input

input [3:0] p; / / The Index of personen som bildet blir sendt

input [4:0] psw; / delsummen for vekt oppdatering

input [12:0] psy; / delsummen for utdata beregning

input [1:0] modus; / / Slik velger du operasjonen som Godkjenning Fase eller Training Fase 00,01 - Anerkjennelse

/ / 10 - Trainging og Vekt Oppdatere 11 - Projection Beregning/ / Output portene på BEHANDLING ELEMENToutput [7:0] io / / Indeksen på pikselen som er evaluert i denne PE og gå til neste PE

output [7:0] xo; / / Verdien av piksel skal neste PE

output [3:0] po / / Indeksen verdien av den personen som bildet er under behandling

output [4:0] pswo; / / Den beregnede Delvis Sum av Vekt oppdatering sendt til neste PE også lagres her

/ / output [12:0] psyo; / / Den beregnede Delvis Summen av produksjonen sendes til neste PE også lagres her/ / Registrer Declarations inni BEHANDLING ELEMENTreg [4:0] w [65535:0]; / / A-register i processig element for å lagre vektene av Image

reg [12:0] ylearn [15:0] / / A register å lagre projeksjon "Y" på hvert bilde maks 16 bilder

reg [4:0] psw1; / / A-register til å lagre delsummen evaluert

reg [12:0] pso1; / / A-register til å lagre delsummen for å evaluere effekten anslaget "Y"./ / Wire erklæring som brukes i behandlingen element

wire [4:0] g;

wire [4:0] w1;

wire [12:0] t;

wire [12:0] Psj;

wire [3:0] sel;

/ / Instans av CKT for 2. trinn Vekt oppdatering

/ / Here 'g' er delsummen og "w1" er oppdatert vekt/ / dekoder desember (modus, sel); / / Adecoder brukes bare for å vurdere virkemåte/ / Først logikken velges avhengig av virkemåte

/ / The nedenfor Case Logic coverts i en Multiplexer

innledende

begynne

case (mode)

00: out2 S2 (clk, jeg, lrate, w, ylearn, x, psw1, g, W1); / / Combinational Logic å iverksette ..
TRINN 2 - Update vekten vektorer

01: out2 S2 (clk, jeg, lrate, w, ylearn, x, psw1, g, W1); / / Combinational Logic å iverksette ..
TRINN 2 - Update vekten vektorer

10: out1 S1 (clk, x, w, psy, t, Psj); / / Combinational Logic å Iverksette ...
TRINN 1 - Beregn anslag

11: out1 S1 (clk, x, w, psy, t, Psj); / / Combinational Logic å Iverksette ...
TRINN 1 - Beregn anslag

standard;

endcase

slutt

/ / First Mode of Operation når anslagene skal evalueres.

alltid @ (xi eller clk)

begynne

if (mode == 2'b10 | | mode == 2'b11) / / Den kontrollerer om virkemåte er Output evaluering

begynne

pso1 <= pso1 Psj; / / Holder på å samle de delsummen for Output evaluering

if (i% størrelse) / / Hvis ett bilde har gått så det begynner å tilordne utganger.
størrelse er en parmameter holde bildestørrelsen.

begynne

ylearn [p] <= Psj; / / The Output tildeles

slutt

slutt

slutt

/ / Når alle resultatene er evaluert endres til 00 eller 01 til oppdatering av vektene.if (mode == 2'b00 | | mode == 2'b01) / / Sjekker for virkemåte

begynne

psw1 <= psw1 (w * ylearn [p ]);// PSW1 akkumuleres den delvise summen av vekten updation formelen

/ / Nå for jth PE dersom PS har vært evaluattes

w = w1; / / Den nye oppdaterte vekten fra Out2 modulen blir oppdatert

sluttendmodule
 
Okey nå har jeg endret denne koden og la meg vite .. hvordan er det og msitakes. Ll jeg være svært takknemlig for ur hjelpe
Code:modul pe (clk, lrate, i, x, p, psw, psy, modus, io, XO, po, pswo);parameter size = 65535; / bildestørrelsen eller antall piksler i bildet

input lrate; / / The læring rate av algoritmen

wire lrate;

/ / Input portene på BEHANDLING ELEMENT

input clk;

input [7:0] i; / Index of input pixel

input [7:0] x; / / Verdien av pixel input

input [3:0] p; / / The Index of personen som bildet blir sendt

input [4:0] psw; / delsummen for vekt oppdatering

input [12:0] psy; / delsummen for utdata beregning

input [1:0] modus; / / Slik velger du operasjonen som Godkjenning Fase eller Training Fase 00,01 - Anerkjennelse

/ / 10 - Trainging og Vekt Oppdatere 11 - Projection Beregning/ / Output portene på BEHANDLING ELEMENToutput [7:0] io / / Indeksen på pikselen som er evaluert i denne PE og gå til neste PE

output [7:0] xo; / / Verdien av piksel skal neste PE

output [3:0] po / / Indeksen verdien av den personen som bildet er under behandling

output [4:0] pswo; / / Den beregnede Delvis Sum av Vekt oppdatering sendt til neste PE også lagres her

/ / output [12:0] psyo; / / Den beregnede Delvis Summen av produksjonen sendes til neste PE også lagres her/ / Registrer Declarations inni BEHANDLING ELEMENTreg [4:0] w [65535:0]; / / A-register i processig element for å lagre vektene av Image

reg [12:0] ylearn [15:0] / / A register å lagre projeksjon "Y" på hvert bilde maks 16 bilder

reg [4:0] psw1; / / A-register til å lagre delsummen evaluert

reg [12:0] pso1; / / A-register til å lagre delsummen for å evaluere effekten anslaget "Y"./ / Wire erklæring som brukes i behandlingen element

wire [4:0] g;

wire [4:0] w1;

wire [12:0] t;

wire [12:0] Psj;

wire [3:0] sel;

/ / Instans av CKT for 2. trinn Vekt oppdatering

/ / Here 'g' er delsummen og "w1" er oppdatert vekt/ / dekoder desember (modus, sel); / / Adecoder brukes bare for å vurdere virkemåte/ / Først logikken velges avhengig av virkemåte

/ / The nedenfor Case Logic coverts i en Multiplexer

out2 s2 (clk, jeg, lrate, w, ylearn, x, psw1, g, W1);

out1 S1 (clk, x, w, psy, t, Psj);/ / First Mode of Operation når anslagene skal evalueres.

alltid @ (x eller clk)

begynne

if (mode == 2'b10 | | mode == 2'b11) / / Den kontrollerer om virkemåte er Output evaluering

begynne

pso1 <= pso1 Psj; / / Holder på å samle de delsummen for Output evaluering

if (i% størrelse) / / Hvis ett bilde har gått så det begynner å tilordne utganger.
størrelse er en parmameter holde bildestørrelsen.

begynne

ylearn [p] <= Psj; / / The Output tildeles

slutt

slutt

/ / Når alle resultatene er evaluert endres til 00 eller 01 til oppdatering av vektene.if (mode == 2'b00 | | mode == 2'b01) / / Sjekker for virkemåte

begynne

psw1 <= psw1 (w * ylearn [p ]);// PSW1 akkumuleres den delvise summen av vekten updation formelen

/ / Nå for jth PE dersom PS har vært evaluattes

w = w1; / / Den nye oppdaterte vekten fra Out2 modulen blir oppdatert

sluttslutt

endmodule

 
Du har gjentatt en feil du gjorde i en tidligere diskusjon: «Verilog tillater ikke bestått et register rekke gjennom en modul port".Det er skuffende.

Jeg foreslår at du skriver et testbench at øvelser koden din, kjøre den på en god Verilog simulator som ModelSim, reparere eventuelle åpenbare syntaksfeil at det rapporter, og deretter undersøke simuleringen utgang for å se om det samsvarer med forventningene.Lykke til.

 
ok med forslaget som Verilog doesnt tillate passerer arrays to modul porter så hva alternativet til å gjennomføre det.

 

Welcome to EDABoard.com

Sponsor

Back
Top