В качестве теста возьмём упомянутый наибольший делитель.
module gcd (
input activate,
input [7:0] a,
input [7:0] b,
output [7:0] c
);
reg [7:0] x, y;
always while (activate) begin
fork
x <= a;
y <= b;
join
while select
x > y:
x = x - y;
y > x:
y = y - x;
endselect
c <= x;
end
endmoduleПарсер преобразует исходный текст в следующее синтаксическое дерево:( Посмотреть )
Осталось научиться генерить из этого дерева асинхронную схему.
