A
appu1985
Guest
CodeE module (CLK, I, X, P, PSW, psy, mode, io, xo, po, pswo);taille de paramètre = 65535; / / La taille d'image ou le nombre de pixels de l'image/ / Ports d'entrée de l'élément de traitement
clk entrée;
entrée [07:00] i; / / Index du pixel d'entrée
entrée [07:00] x; / / valeur de l'entrée pixel
entrée [3:0] p; / / L'indice de la personne dont l'image est envoyé
entrée [04:00] PSW / / Somme partielle de poids mise à jour
entrée [12:00] psy; / / Somme partielle pour le calcul de la production
entrée [01:00] mode; / / pour sélectionner l'opération que la phase de reconnaissance ou de formation de la phase 00,01 - Reconnaissance
/ / 10 - Formations et poids Mise à jour 11 - Projection de calcul/ / Ports de sortie de l'élément de traitementsortie [07:00] io; / / L'indice du pixel qui est évalué à ce PE et aller à la prochaine PE
sortie [07:00] xo; / / La valeur de pixel va venir PE
sortie [3:0] po; / / La valeur de l'indice de la personne dont l'image est en cours de traitement
sortie [04:00] pswo; / / Le calcul de la somme partielle de poids mise à jour envoyée au PE à venir ainsi que stockés ici
/ [/ Sortie 12:00] psyo; / / Le calcul de la somme partielle de la production envoyé à la prochaine PE ainsi que stockés ici/ / Déclarations registre à l'intérieur de l'élément de traitementreg [04:00] w [65535:0]; / / Un registre dans l'élément processig pour stocker les poids de l'image
reg [12:00] ylearn [15:00]; / / Un registre pour stocker la projection "Y" de chaque image max 16 images
reg [04:00] psw1; / / Un registre pour stocker la somme partielle évalué
reg [12:00] pso1; / / Un registre pour stocker la somme partielle d'évaluation de la projection de sortie "Y".
reg [15:00] comte;
/ / Wire Déclaration telle qu'elle est utilisée dans l'élément de transformationfils [04:00] w1;fils [12:00] PSJ;
fils [04:00] pswo;/ / Instanciation du CKT pour la 2ème étape de la mise à jour de Poids
/ / Ici «g» est la somme partielle et w1 'est le poids mise à jour/ / Décodeur dec (mode, sel); / / Adecoder est utilisé seulement pour évaluer le mode de fonctionnement/ / Au départ, la logique est sélectionné en fonction du mode de fonctionnement
/ / La logique ci-dessous couvertures cas dans un multiplexeur
OUT2 S2 (CLK, i, w , ylearn [p], x, psw1, w1);
OUT1 S1 (CLK, x, w , psy, PSJ);/ / Premier mode de fonctionnement lorsque les projections doivent être évalués.
toujours @ (x ou CLK)
commencer
Compteur <count = 1;
if (mode == 2'b10 | mode | == 2'b11) / / Il vérifie si le mode de fonctionnement est pour l'évaluation du rendement
commencer
pso1 <= pso1 PSJ; / / Garde à accumuler la somme partielle pour la sortie d'évaluation
if (count == 65535) / / Si une image est passée ensuite il commence à affecter les résultats.
la taille est un holding parmameter la taille de l'image.
commencer
ylearn [p] <= PSJ; / / la sortie est attribué
fin
fin
/ / Une fois que toutes les sorties sont évaluées le mode soit changé à 00 ou 01 pour mettre à jour les poids.if (mode == 2'b00 | mode | == 2'b01) / / Vérifie le mode de fonctionnement
commencer
PSW psw1 <= (w * ylearn [p ]);// PSW1 accumule la somme partielle de la formule updation poids
/ / Maintenant, pour le PE ième si le PS a été evaluattes
w <= w1; / / Le poids de nouvelles mises à jour à partir du module Out2 est mis à jour
fin
fin
attribuer pswo = psw1; / / Assigne la valeur de psw1 à PSW whenevr elle change.
attribuer io = i;
attribuer xo = x;
attribuer po = p;
endmodule
clk entrée;
entrée [07:00] i; / / Index du pixel d'entrée
entrée [07:00] x; / / valeur de l'entrée pixel
entrée [3:0] p; / / L'indice de la personne dont l'image est envoyé
entrée [04:00] PSW / / Somme partielle de poids mise à jour
entrée [12:00] psy; / / Somme partielle pour le calcul de la production
entrée [01:00] mode; / / pour sélectionner l'opération que la phase de reconnaissance ou de formation de la phase 00,01 - Reconnaissance
/ / 10 - Formations et poids Mise à jour 11 - Projection de calcul/ / Ports de sortie de l'élément de traitementsortie [07:00] io; / / L'indice du pixel qui est évalué à ce PE et aller à la prochaine PE
sortie [07:00] xo; / / La valeur de pixel va venir PE
sortie [3:0] po; / / La valeur de l'indice de la personne dont l'image est en cours de traitement
sortie [04:00] pswo; / / Le calcul de la somme partielle de poids mise à jour envoyée au PE à venir ainsi que stockés ici
/ [/ Sortie 12:00] psyo; / / Le calcul de la somme partielle de la production envoyé à la prochaine PE ainsi que stockés ici/ / Déclarations registre à l'intérieur de l'élément de traitementreg [04:00] w [65535:0]; / / Un registre dans l'élément processig pour stocker les poids de l'image
reg [12:00] ylearn [15:00]; / / Un registre pour stocker la projection "Y" de chaque image max 16 images
reg [04:00] psw1; / / Un registre pour stocker la somme partielle évalué
reg [12:00] pso1; / / Un registre pour stocker la somme partielle d'évaluation de la projection de sortie "Y".
reg [15:00] comte;
/ / Wire Déclaration telle qu'elle est utilisée dans l'élément de transformationfils [04:00] w1;fils [12:00] PSJ;
fils [04:00] pswo;/ / Instanciation du CKT pour la 2ème étape de la mise à jour de Poids
/ / Ici «g» est la somme partielle et w1 'est le poids mise à jour/ / Décodeur dec (mode, sel); / / Adecoder est utilisé seulement pour évaluer le mode de fonctionnement/ / Au départ, la logique est sélectionné en fonction du mode de fonctionnement
/ / La logique ci-dessous couvertures cas dans un multiplexeur
OUT2 S2 (CLK, i, w , ylearn [p], x, psw1, w1);
OUT1 S1 (CLK, x, w , psy, PSJ);/ / Premier mode de fonctionnement lorsque les projections doivent être évalués.
toujours @ (x ou CLK)
commencer
Compteur <count = 1;
if (mode == 2'b10 | mode | == 2'b11) / / Il vérifie si le mode de fonctionnement est pour l'évaluation du rendement
commencer
pso1 <= pso1 PSJ; / / Garde à accumuler la somme partielle pour la sortie d'évaluation
if (count == 65535) / / Si une image est passée ensuite il commence à affecter les résultats.
la taille est un holding parmameter la taille de l'image.
commencer
ylearn [p] <= PSJ; / / la sortie est attribué
fin
fin
/ / Une fois que toutes les sorties sont évaluées le mode soit changé à 00 ou 01 pour mettre à jour les poids.if (mode == 2'b00 | mode | == 2'b01) / / Vérifie le mode de fonctionnement
commencer
PSW psw1 <= (w * ylearn [p ]);// PSW1 accumule la somme partielle de la formule updation poids
/ / Maintenant, pour le PE ième si le PS a été evaluattes
w <= w1; / / Le poids de nouvelles mises à jour à partir du module Out2 est mis à jour
fin
fin
attribuer pswo = psw1; / / Assigne la valeur de psw1 à PSW whenevr elle change.
attribuer io = i;
attribuer xo = x;
attribuer po = p;
endmodule