D
deepavlsi
Guest
Kód najít NSD ...
Chci najít NSD kód do Foll.Metoda ..
gcd (a_in, b_in, a_out, b_out)
(If ((b_in == 0) | | (b_in == 1))
(A_out = a_in;
b_out = b_in;
)
jiné
(Gcd (a_in, že jo b_in%); / / rekurzivní funkce
)
)
To je logika v C. .... ale v Verilog dont já vím, jak se repeadtedly volat modul modul, který ploutve a_in% b_in ..
Below is my Verilog kódu, plese mi říct, kde se mýlím ...
Kód:
Modul gcd (clk, start, a_in, b_in, a_out, b_out, uzavřená);
vstup clk;
vstup start;
příkon [31:0] a_in;
příkon [31:0] b_in;
Výstup reg [31:0] a_out = 0;
Výstup reg [31:0] b_out = 0;
Výstup reg done = 0;
reg [3:0] cnt = 0;
reg rst_in = 0;
reg rst_start;
integer, b;
drátu [31:0] výsledek;
drát recv = 0;Vždy @ (posedge CLK) begin
if (start) begin
<= a_in;
b <= b_in;cnt = 1;
konec
else if (b == 0 | | b == 1) begin
a_out <=;
b_out <= b;
uzavřená <= 1'b1;
cnt = 2;
konec
else if (cnt == 1) begin
rst_in <= 1;
cnt = 2;
konec
else if (recv == 1) begin
<= b;
b <= mod_gcd.result;
a_out <= 1;
rst_in <= 0;
cnt = 1;
koneckonecmodul mod_gcd (clk, start, rst_in, a, b, výsledek, recv);endmodule
Chci najít NSD kód do Foll.Metoda ..
gcd (a_in, b_in, a_out, b_out)
(If ((b_in == 0) | | (b_in == 1))
(A_out = a_in;
b_out = b_in;
)
jiné
(Gcd (a_in, že jo b_in%); / / rekurzivní funkce
)
)
To je logika v C. .... ale v Verilog dont já vím, jak se repeadtedly volat modul modul, který ploutve a_in% b_in ..
Below is my Verilog kódu, plese mi říct, kde se mýlím ...
Kód:
Modul gcd (clk, start, a_in, b_in, a_out, b_out, uzavřená);
vstup clk;
vstup start;
příkon [31:0] a_in;
příkon [31:0] b_in;
Výstup reg [31:0] a_out = 0;
Výstup reg [31:0] b_out = 0;
Výstup reg done = 0;
reg [3:0] cnt = 0;
reg rst_in = 0;
reg rst_start;
integer, b;
drátu [31:0] výsledek;
drát recv = 0;Vždy @ (posedge CLK) begin
if (start) begin
<= a_in;
b <= b_in;cnt = 1;
konec
else if (b == 0 | | b == 1) begin
a_out <=;
b_out <= b;
uzavřená <= 1'b1;
cnt = 2;
konec
else if (cnt == 1) begin
rst_in <= 1;
cnt = 2;
konec
else if (recv == 1) begin
<= b;
b <= mod_gcd.result;
a_out <= 1;
rst_in <= 0;
cnt = 1;
koneckonecmodul mod_gcd (clk, start, rst_in, a, b, výsledek, recv);endmodule