A
appu1985
Guest
Kod:
modul pe (clk, lrate, i, x, p, PSW, psy, mode, io, XO, po, pswo);parametern size = 65535, / / bildstorleken eller antalet bildpunkter i bilden
input lrate; / / Den lärande på algoritmen
tråd lrate;
/ / Input hamnar i BEARBETNING ELEMENT
input clk;
input [7:0] i; / / Index för den ingående pixel
input [7:0] x, / / Värde för pixel input
input [3:0] p; / / index för den person vars bild har skickats
input [4:0] PSW, / / Partiellt Summan för viktminskning uppdatering
input [12:0] psy; / / Partiellt Summan för produktion beräkning
input [1:0] mode; / / Om du vill välja insatsen som Erkännande fas eller utbildning 00,01 - Erkännande
/ / 10 - Trainging och vikt Uppdatering 11 - Projektionsteleskop Beräkning/ / Output hamnar i BEARBETNING ELEMENToutput [7:0] io; / / index för pixel som utvärderas vid denna PE och gå till nästa PE
output [7:0] XO, / / Värdet av pixel ska nästa PE
output [3:0] po; / / indexvärdet för den person vars bild är under bearbetning
output [4:0] pswo; / / Den beräknade Partiellt Summan av Vikt uppdatering skickas till nästa PE sparas även här
/ / output [12:0] psyo; / / Den beräknade Partiellt Summan av produktionen skickas till nästa PE sparas även här/ / Registrera förklaringar inuti BEARBETNING ELEMENTreg [4:0] w [65535:0] / / Ett register i processig element för att spara vikt på bilden
reg [12:0] ylearn [15:0] / / Ett register för att lagra prognosen "Y" för varje bild max 16 bilder
reg [4:0] psw1; / / Ett register för att lagra den partiella summan utvärderas
reg [12:0] pso1; / / Ett register för att lagra Partiellt Summan för utvärdering av produktionen projektion "Y"./ / Tråd förklaring som används inuti bearbetning inslag
tråd [4:0] g;
tråd [4:0] w1;
tråd [12:0] t;
tråd [12:0] Psj;
tråd [3:0] sel;
/ / Instantieringsinformation av ckt för den 2: a Steg vikt Update
/ / Här "g" är partiell summa och "w1" är Uppdaterad vikt
integer count = 0;/ / avkodare december (läge, sel); / / Adecoder används bara för att utvärdera det driftssätt/ / Inledningsvis logiken väljs beroende på vilken driftsform
/ / Nedanstående gäller logik coverts i en Multiplexer
fall (mode)
00: out2 s2 (i, lrate, w, ylearn, x, psw1, g, w1); / / kombinatoriska Logic att genomföra ..
STEG 2 - Uppdatera vikt vektorer
01: out2 s2 (i, lrate, w, ylearn, x, psw1, g, w1); / / kombinatoriska Logic att genomföra ..
STEG 2 - Uppdatera vikt vektorer
10: out1 s1 (x, w, psy, t Psj); / / kombinatoriska Logic för genomförande ...
STEG 1 - Beräkna prognoser
11: out1 s1 (x, w, psy, t Psj); / / kombinatoriska Logic för genomförande ...
STEG 1 - Beräkna prognoser
standard
endcase/ / First driftsform när prognoser ska utvärderas.
alltid @ (xi eller clk eller läge)
starta
if (mode == 2'b10 | | mode == 2'b11) / / Det kontrollerar om det driftssätt är Output utvärdering
starta
pso1 <= pso1 Psj, / / Håller på ackumuleringsbetingelser delanbudsinfordringarna Summan för Output utvärdering
if (i% storlek) / / Om en bild har gått sedan det börjar anvisa utgångar.
storlek är en parmameter innehar bildstorleken.
starta
ylearn [p] <= Psj; / / produktionen som
slut
slut
slut
/ / När alla resultat utvärderas läget ändras till 00 eller 01 för att uppdatera vikterna.if (mode == 2'b00 | | mode == 2'b01) / / Kontrollerar om driftsform
starta
psw1 <= psw1 (w * ylearn [p ]);// PSW1 ackumuleras delanbudsinfordringarna summan av vikten updation formel
/ / Nu för jth PE om PS har evaluattes
w = w1; / / Den nya uppdaterade vikt från Out2 modulen blir uppdaterade
slut
slutendmodule
modul pe (clk, lrate, i, x, p, PSW, psy, mode, io, XO, po, pswo);parametern size = 65535, / / bildstorleken eller antalet bildpunkter i bilden
input lrate; / / Den lärande på algoritmen
tråd lrate;
/ / Input hamnar i BEARBETNING ELEMENT
input clk;
input [7:0] i; / / Index för den ingående pixel
input [7:0] x, / / Värde för pixel input
input [3:0] p; / / index för den person vars bild har skickats
input [4:0] PSW, / / Partiellt Summan för viktminskning uppdatering
input [12:0] psy; / / Partiellt Summan för produktion beräkning
input [1:0] mode; / / Om du vill välja insatsen som Erkännande fas eller utbildning 00,01 - Erkännande
/ / 10 - Trainging och vikt Uppdatering 11 - Projektionsteleskop Beräkning/ / Output hamnar i BEARBETNING ELEMENToutput [7:0] io; / / index för pixel som utvärderas vid denna PE och gå till nästa PE
output [7:0] XO, / / Värdet av pixel ska nästa PE
output [3:0] po; / / indexvärdet för den person vars bild är under bearbetning
output [4:0] pswo; / / Den beräknade Partiellt Summan av Vikt uppdatering skickas till nästa PE sparas även här
/ / output [12:0] psyo; / / Den beräknade Partiellt Summan av produktionen skickas till nästa PE sparas även här/ / Registrera förklaringar inuti BEARBETNING ELEMENTreg [4:0] w [65535:0] / / Ett register i processig element för att spara vikt på bilden
reg [12:0] ylearn [15:0] / / Ett register för att lagra prognosen "Y" för varje bild max 16 bilder
reg [4:0] psw1; / / Ett register för att lagra den partiella summan utvärderas
reg [12:0] pso1; / / Ett register för att lagra Partiellt Summan för utvärdering av produktionen projektion "Y"./ / Tråd förklaring som används inuti bearbetning inslag
tråd [4:0] g;
tråd [4:0] w1;
tråd [12:0] t;
tråd [12:0] Psj;
tråd [3:0] sel;
/ / Instantieringsinformation av ckt för den 2: a Steg vikt Update
/ / Här "g" är partiell summa och "w1" är Uppdaterad vikt
integer count = 0;/ / avkodare december (läge, sel); / / Adecoder används bara för att utvärdera det driftssätt/ / Inledningsvis logiken väljs beroende på vilken driftsform
/ / Nedanstående gäller logik coverts i en Multiplexer
fall (mode)
00: out2 s2 (i, lrate, w, ylearn, x, psw1, g, w1); / / kombinatoriska Logic att genomföra ..
STEG 2 - Uppdatera vikt vektorer
01: out2 s2 (i, lrate, w, ylearn, x, psw1, g, w1); / / kombinatoriska Logic att genomföra ..
STEG 2 - Uppdatera vikt vektorer
10: out1 s1 (x, w, psy, t Psj); / / kombinatoriska Logic för genomförande ...
STEG 1 - Beräkna prognoser
11: out1 s1 (x, w, psy, t Psj); / / kombinatoriska Logic för genomförande ...
STEG 1 - Beräkna prognoser
standard
endcase/ / First driftsform när prognoser ska utvärderas.
alltid @ (xi eller clk eller läge)
starta
if (mode == 2'b10 | | mode == 2'b11) / / Det kontrollerar om det driftssätt är Output utvärdering
starta
pso1 <= pso1 Psj, / / Håller på ackumuleringsbetingelser delanbudsinfordringarna Summan för Output utvärdering
if (i% storlek) / / Om en bild har gått sedan det börjar anvisa utgångar.
storlek är en parmameter innehar bildstorleken.
starta
ylearn [p] <= Psj; / / produktionen som
slut
slut
slut
/ / När alla resultat utvärderas läget ändras till 00 eller 01 för att uppdatera vikterna.if (mode == 2'b00 | | mode == 2'b01) / / Kontrollerar om driftsform
starta
psw1 <= psw1 (w * ylearn [p ]);// PSW1 ackumuleras delanbudsinfordringarna summan av vikten updation formel
/ / Nu för jth PE om PS har evaluattes
w = w1; / / Den nya uppdaterade vikt från Out2 modulen blir uppdaterade
slut
slutendmodule