K
karper1986
Guest
Ole hyvä ja auta minua kääntää nämä VHDL.Kiitos
moduuli kertolaskua (
CLK,
kerrannaisvaikutus
kerrottava,
tulos
);
panos CLK;
input [15:00] kerrannaisvaikutus;
input [15:00] kerrottava;
tuotos [31:00] tulos;
reg [31:00] tulos;
reg [15:00] abs_multiplicand;
reg lsb;
integer i;
aina @ (kerrottava tai kerrannaisvaikutus)
aloittaa
tulos = (16'h0000, kertoja [15]?-kerrannaisvaikutus: kerrannaisvaikutus);
abs_multiplicand = kerrottava [15]?-kerrottava: kerrottava;
for (i = 15; i> = 0, i = i - 1)
aloittaa
lsb = tulos [0];
tulos = tulos>>> 1;
if (lsb == 1'b1)
aloittaa
tulos [31:15] = tulos [30:15] abs_multiplicand;
loppu
jos ((! i) & & (kerrannaisvaikutus [15] ^ kerrottava [15]))
aloittaa
tulos =-tulos;
loppu
loppu
loppu
endmodule
moduuli kertolaskua (
CLK,
kerrannaisvaikutus
kerrottava,
tulos
);
panos CLK;
input [15:00] kerrannaisvaikutus;
input [15:00] kerrottava;
tuotos [31:00] tulos;
reg [31:00] tulos;
reg [15:00] abs_multiplicand;
reg lsb;
integer i;
aina @ (kerrottava tai kerrannaisvaikutus)
aloittaa
tulos = (16'h0000, kertoja [15]?-kerrannaisvaikutus: kerrannaisvaikutus);
abs_multiplicand = kerrottava [15]?-kerrottava: kerrottava;
for (i = 15; i> = 0, i = i - 1)
aloittaa
lsb = tulos [0];
tulos = tulos>>> 1;
if (lsb == 1'b1)
aloittaa
tulos [31:15] = tulos [30:15] abs_multiplicand;
loppu
jos ((! i) & & (kerrannaisvaikutus [15] ^ kerrottava [15]))
aloittaa
tulos =-tulos;
loppu
loppu
loppu
endmodule