[an error occurred while processing this directive]
MAX +II Verilog, делитель частоты с подстройкой фазы (синхронизация).
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено DSN 17 декабря 2003 г. 11:35

Нужно сделать счетчик с подстройкой фазы деленой частоты по входу синхронизации. Решил написать на Verilog-е, сразу скажу что его почти не знаю, а схему лень было рисовать.
Вот что получилось:

module sinhrov( clkx8, sinhro, clko);
// Port Declaration
input clkx8, sinhro;
output clko;
reg [2:0]cnt;
reg [1:0]sum;

assign clko = cnt[2];

initial
begin
cnt = 0;
sum = 1;
end

always @(posedge clkx8 or posedge sinhro)
begin
if(clkx8) begin
cnt <= cnt + sum;
sum = 1;
end else begin
if(cnt[2]==0) sum = 2;
else sum = 0;
end
end

endmodule

Глюк проявляется в том что когда фаза clkx8 = 1 то постоянно выполняется код
cnt <= cnt + sum;
sum = 1;
А когда в описании убираю "or posedge sinhro" то считает нормально, но уже синхронизация не работает.

Может кто знает где глюк закопан ???

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru