multiplication en Verilog avec une valeur de ROM

S

siva_7517

Guest
Salut,
Je suis en train de faire la multiplication de 2 valeur différente de Q qui est de la ROM.
Voici un exemple de code du module en haut:

(....) Top
..
..
attribuer tmpMult_1 = $ signé (A) * $ signé (Q); / / Q = 0,7071
attribuer tmpMult2_1 = tmpMult_1 - ($ signé (B) * $ signé (Q)); / / Q = -0,7071
..
..
endmodule

J'ai une ROM verilog code:

rom module (read_en, adresse, Q);
read_en entrée;
entrée [02:00] adresse;
sortie [15:00] Q;
reg [15:00] Q;
toujours @ (posdege read_en)
commencer
cas (adresse)
1'b0: Q <= 16'b0101101010000010 / / 0,7071
1'b1: Q <= 16'b1010010101111110 / / -0,7070
endcase
endmoduleComment pouvez instancier ce code au module haut?
Merci d'avance

 
Peut-être que vous essayez d'horloge les sorties de ROM pour les différentes entrées de sorte que vous pouvez ré-utiliser le module ROM pour les valeurs de Q deux au même temps.

 
siva_7517 a écrit:

Salut,

Je suis en train de faire la multiplication de 2 valeur différente de Q qui est de la ROM.

Voici un exemple de code du module en haut:(....) Top

..

..

attribuer tmpMult_1 = $ signé (A) * $ signé (Q); / / Q = 0,7071

attribuer tmpMult2_1 = tmpMult_1 - ($ signé (B) * $ signé (Q)); / / Q = -0,7071

..

..

endmoduleJ'ai une ROM verilog code:rom module (read_en, adresse, Q);

read_en entrée;

entrée [02:00] adresse;

sortie [15:00] Q;

reg [15:00] Q;

toujours @ (posdege read_en)

commencer

cas (adresse)

1'b0: Q <= 16'b0101101010000010 / / 0,7071

1'b1: Q <= 16'b1010010101111110 / / -0,7070

endcase

endmoduleComment pouvez instancier ce code au module haut?

Merci d'avance
 

Welcome to EDABoard.com

Sponsor

Back
Top