[an error occurred while processing this directive]
|
Счетчик с программируеммым коэфф. деления:
Verilog:
module count_load (clk, qn);
input clk;
output [3:0] qn;
reg [3:0] qn;
wire clkk;
assign clkk = qn[3];
always @ (posedge clk)
begin
if (clkk == 1)
qn = 4;
else
qn = qn + 1;
end
endmodule
Используем семейство MAX7000. Код размещается в 4-х ячейках. Частота Fmax - 303 МГц.
AHDL:
subdesign count
(
clk : input;
f : output;
)
variable
count [3..0] : dff;
load : node;
begin
load = count3.q;
count[].clk = global(clk);
count[].clrn = vcc;
count[].prn = vcc;
if load then
count[].d = B”000”;
else
count [].d = count[].q+1;
end if;
f = count3.q;
end;
Результаты моделирования теже самые.
Но если это попробовать сделать на VHDL, то что-то не получается такого быстродействия и требуется побольше ячеек.
Как вы это объясните?
E-mail: info@telesys.ru