Перейти к содержанию
    

Подскажите как сделать в veriloge задержку

Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?

Изменено пользователем Вано

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?

 

Это схоже с проблемой деления на логике тактовой НЕ на степень 2-ки (например 3)

 

А самый очевидный вариант синтезируемой задержки - использовать 2-ух кратную тактовую (на PLL) :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?

 

Это схоже с проблемой деления на логике тактовой НЕ на степень 2-ки (например 3)

 

А самый очевидный вариант синтезируемой задержки - использовать 2-ух кратную тактовую (на PLL) :)

К сожалению pll трогать нельзя, необходимо программно сделать без использования настроек генератора.

Черт побери, сигнал возникает на пол таката раньше , чем нужно, может быть есть еще мнения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?

 

На половину длительности тактового импульса?

Или на половину периода тактового импульса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К сожалению pll трогать нельзя, необходимо программно сделать без использования настроек генератора.

Черт побери, сигнал возникает на пол таката раньше , чем нужно, может быть есть еще мнения?

 

есть.. принимать не по фронту тактовой, а по срезу =)

(или наоборот)

 

ЗЫ: а вообще хотелось бы более подробного описания - сигал приходит совсем асинхронно?! с другой мксх/платы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?

 

На половину длительности тактового импульса?

Или на половину периода тактового импульса?

 

Под длительностью имею в виду периода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно сделать удвоитель частоты, как в этой статье:

http://www.xilinx.com/xlnx/xweb/xil_tx_dis..._ID=pa_six_easy

Надеюсь, поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?

 

На половину длительности тактового импульса?

Или на половину периода тактового импульса?

 

Под длительностью имею в виду периода.

 

Если пол периода, то тогда работать не по CLK='1' and CLK'Event, а по CLK='0' and CLK'Event, ну это в VHDL, но в верилоге тоже должна быть возможность работать по падающему фронту или нет?

 

можно следить за состоянием сигнала по падающему фронту, и когда он станет 1, то по восходящему его обработать будет задержка как раз на полпериода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если тактовая не с PLL - то и дальше "от нее" желательно работать по спаду. (А то в общем случае скважность может изменятся)

 

В Verilog тоже просто ( @(negedge CLK) )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...