[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SAZH 21 апреля 2006 г. 21:26
В ответ на: Можно ли сделать делитель частоты на 1,5(полтора) в MAX3000A ? Если можно, то как? Fвх=24МГц отправлено <font color=gray>Валерий_П</font> 21 апреля 2006 г. 08:55

Видимо Вам так никто и не ответит.
По большому счету можно работать по обоим фронтам,
а можно и клок замешивать (что не есть хорошо). Есть примеры
module del1_5 // DAVE JOHNSON
(
input clk,
output clk_del1_5
);

reg dff_a;
reg dff_b;
wire ili_ne;
assign clk_del1_5 = ili_ne;
always @(posedge clk)
begin
dff_a <= ili_ne;
end
always @(negedge clk)
begin
dff_b <= ili_ne;
end
assign ili_ne = ~(dff_a | dff_b);
endmodule
второй вариант от Xilinx. Накручено так, что без таблицы истинности непонять.
Можно с сайта скачать.
module del1_5_xilinx /// xl33_30.pdf
(
input clk,
output clk_del1_5
);

reg dff_a;
reg dff_b;
wire ili_2;
wire out;
always @(posedge clk)
begin
dff_a <= ~dff_b & ~dff_a;
dff_b <= dff_a;
end
assign out = ili_2;
assign ili_2 = (clk & out) | (~clk & dff_b);
assign clk_del1_5 = ili_2 | dff_a;
endmodule
Ну и по нашему. По бразильски.
module del1_5_ct
(
input clk,
output clk1_5
);

reg [1:0] ct;
reg [1:0] ct_a;

always @(posedge clk) begin
if (ct == 2'b10) ct <= 2'b00;
else ct <= ct +1'b1; end
always @(negedge clk) begin
ct_a <= ct; end

assign clk1_5 = (ct[0] & ct_a[0]) | (~ct[1] & ct_a[1]);

endmodule

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru