Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подскажите как сделать в veriloge задержку
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Вано
Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?
Kopart
Цитата(Вано @ Jul 26 2006, 18:10) *
Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?


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

А самый очевидный вариант синтезируемой задержки - использовать 2-ух кратную тактовую (на PLL) smile.gif
Вано
Цитата(NiOS @ Jul 26 2006, 18:17) *
Цитата(Вано @ Jul 26 2006, 18:10) *

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


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

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

К сожалению pll трогать нельзя, необходимо программно сделать без использования настроек генератора.
Черт побери, сигнал возникает на пол таката раньше , чем нужно, может быть есть еще мнения?
o-henry
Цитата(Вано @ Jul 26 2006, 17:10) *
Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?


На половину длительности тактового импульса?
Или на половину периода тактового импульса?
Doka
Цитата(Вано @ Jul 26 2006, 18:21) *
К сожалению pll трогать нельзя, необходимо программно сделать без использования настроек генератора.
Черт побери, сигнал возникает на пол таката раньше , чем нужно, может быть есть еще мнения?


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

ЗЫ: а вообще хотелось бы более подробного описания - сигал приходит совсем асинхронно?! с другой мксх/платы?
Вано
Цитата(o-henry @ Jul 26 2006, 18:22) *
Цитата(Вано @ Jul 26 2006, 17:10) *

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


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


Под длительностью имею в виду периода.
o-henry
Можно сделать удвоитель частоты, как в этой статье:
http://www.xilinx.com/xlnx/xweb/xil_tx_dis..._ID=pa_six_easy
Надеюсь, поможет.
Golikov A.
Цитата(Вано @ Jul 26 2006, 18:28) *
Цитата(o-henry @ Jul 26 2006, 18:22) *

Цитата(Вано @ Jul 26 2006, 17:10) *

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


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


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


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

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

В Verilog тоже просто ( @(negedge CLK) )
TailWind
initial
begin
...
#Period/2;
Signal = Value;
...
end
hlebn
Цитата(TailWind @ Aug 3 2006, 17:22) *
initial
begin
...
#Period/2;
Signal = Value;
...
end

это только для модели пойдет.
при синтезе игнорируется
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.