Как задержать сигнал в XILINX ISE?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
Штабскапитан Овечкин
Грызет канифоль
Сообщения: 251
Зарегистрирован: Вт апр 29, 2008 14:19:10
Откуда: Великий Новгород (не путать с Нижним)
Контактная информация:

Как задержать сигнал в XILINX ISE?

Сообщение Штабскапитан Овечкин »

Требуется задержать клоки. Пытался нафтыкать кучу инверторов/буферов/всякой другой логики - всё тщетно - что на входе, то и на выходе. Видимо оптимизатор весь этот хлам выкидывает. Как объехать данные грабли?
Вся электроника работает на волшебном синем дыме, ибо, когда этот дым её покидает, электроника умирает.
Реклама
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение Meteor »

В ПЛИС есть один нормальный способ введения задержек - вставка триггеров или регистров.
Никакие другие методы, а-ля инверторы в схемах на дискретной логике, тут не применимы
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Реклама
Аватара пользователя
Штабскапитан Овечкин
Грызет канифоль
Сообщения: 251
Зарегистрирован: Вт апр 29, 2008 14:19:10
Откуда: Великий Новгород (не путать с Нижним)
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение Штабскапитан Овечкин »

Меня бы вполне устроил и ненормальный способ. Неужели нет такого финта ушами, чтобы можно было обдурить оптимизатор?
Вся электроника работает на волшебном синем дыме, ибо, когда этот дым её покидает, электроника умирает.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение Meteor »

Забудьте о финтах канавших в обычной логике - с ПЛИС этот номер непройдет
Хотя, как вариант - от каждого инвертора отвод завести на какой нибудь мультииплексор (чтоб не болтался и не выкидывался). Может и прокатит...
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение nick17 »

А какой камень у вас, на сколько задержат клоки нужно(время)?
Реклама
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение Meteor »

Еще бы знать на какой частоте работает - ваще многие вопросы бы отпали
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Реклама
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение Леонид Иванович »

Не знаю, как в Xilinx, а для Altera в AHDL есть волшебное слово LCELL. Хотя предыдущие ораторы правы - задерживать тактовый сигнал такими методами не следует. Если возникла такая необходимость, значит в схеме что-то не так.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Как задержать сигнал в XILINX ISE?

Сообщение coredumped »

Ну, скажем, задерживать фронты иногда возникает нужда.
В FPGA/CPLD только один способ, который предложил в самом начале Метеор.
Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение Леонид Иванович »

coredumped писал(а):Ну, скажем, задерживать фронты иногда возникает нужда.
В FPGA/CPLD только один способ, который предложил в самом начале Метеор.
С дискретностью в период клока. Что и было предложено сделать на регистрах, не нарушая синхронный дизайн проекта.
Аватара пользователя
Штабскапитан Овечкин
Грызет канифоль
Сообщения: 251
Зарегистрирован: Вт апр 29, 2008 14:19:10
Откуда: Великий Новгород (не путать с Нижним)
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение Штабскапитан Овечкин »

Решение нашлось очень простое. Даже и не знаю, чево это меня понесло в аналоговые дебри! Наверное, просто недоспал. :))
Щас я просто поделил входной клок на 2 и пустил на тактирование девайса, а выходные данные защёлкиваю инвертированным первоначальным клоком. И всё теперь очень красиво. Выходные данные защёлкивается ровненько по центру. А то на выходе вместо нулей вылезали иголки.
Вся электроника работает на волшебном синем дыме, ибо, когда этот дым её покидает, электроника умирает.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Как задержать сигнал в XILINX ISE?

Сообщение Леонид Иванович »

Вот я и говорю, что-то не так в проекте. Если имеется всего один клок-домен, то все триггеры должны тактироваться одним и тем же сигналом, обычно для этого используется линия глобального клока. Если же где-то внутри схемы время установления больше периода клока, обработку нужно делать конвейерно.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»