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

Проверка плис при отсутствии clk

3 minutes ago, RobFPGA said:

В чем проблема для тайминг анализа? 

Проблема заключается вот в чём. По хорошему выход подобного тактового генератора необходимо пропустить через специальный тактовый буфер чтобы в дальнейшем полученный тактовый сигнал рапространялся по специальному клоковому дереву, а не по обычному интерконнекту. Это сильно влияет на clock skew, но к сожалению не все архитектуры позволяют такое сделать. Соответственно мы получаем заведомо худшие условия для соблюдения тайминга в подобном случае по сравнению с обычным внешним клоком, приходящим на клоковый пин.

Ну то есть тайминг анализ можно провести, но всё это будет "на глазок" и не гарантируется производителем. На свой страх и риск.

З Ы Помню видел даже какие-то диковинные примеры, когда в альтерах нельзя было просто подать клок на вход внутренней PLL и чтобы обойти это ограничение делали внешнюю петлю: выводили клок на обычный пин, а с него внешней петлёй на clock capable input.

 

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


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

21 minutes ago, Bad0512 said:

Это сильно влияет на clock skew

а просчитать тайминги, исходя из того, что клок "выходит" из этого клокового буфера? Т.е. выход из буфера считать за нулевую точку отсчета. Ведь генеритуемый на логике клок нигде больше (перед этим буфером) не используется.

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


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

21 minutes ago, Yuri124 said:

а просчитать тайминги, исходя из того, что клок "выходит" из этого клокового буфера? Т.е. выход из буфера считать за нулевую точку отсчета. Ведь генеритуемый на логике клок нигде больше (перед этим буфером) не используется.

Не в этом вопрос. Такие финты не во всех архитектурах возможны в принципе, вот в чем дело.Грубо говоря нельзя от слова "совсем" подать на клоковый буфер сигнал с LUT или FLOP. Поэтому на клоковый вход сигнал поступает мимо тактового дерева, по обычному интерконнекту (почему так можно? хз, возможно это сделано для реализации latch) и в итоге разница в клоковых задержках по дереву сильно возрастает.

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


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

1 minute ago, Bad0512 said:

Такие финты не во всех архитектурах возможны в принципе

вывести наружу и завести на клоковый пин. Для анализа таймингов - указать максимальную частоту.

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


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

Just now, Yuri124 said:

вывести наружу и завести на клоковый пин. Для анализа таймингов - указать максимальную частоту.

Если есть возможность модифицировать плату, то не проще ли генератор прицепить кварцевый? Но подобного рода трюки я встречал.

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


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

57 minutes ago, Bad0512 said:

Проблема заключается вот в чём. По хорошему...

 

Да решили уже давно проблему, уважаемый!

Посмотрите на название топика "Проверка плис при отсутствии clk" и о чём писал топикстартер. Ему много чего рассказали, и его проблема решена.

Осталась лишь одна проблема: Вы говорите всякие общие правильные слова, без привязки к теме, а Вам рассказывают, что ПЛИС можно пользоваться не только как массивом синхронных триггеров. На этом всё - не нравится метод - не используйте. А лично я, пока читал тред, вспомнил одну ситуацию, где мне очень бы пригодился такой генератор на линии задержки, а я не догадался такое сделать. Теперь буду знать как.

И ещё, таким образом (частотой работы линии задержки на ПЛИС) можно оценивать некоторые реальные параметры ПЛИС. Кому-то может это совершенно дико покажется, но в условиях недостаточности информации от разработчика-изготовителя - вполне нормальный ход.

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

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


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

Приветствую!

1 hour ago, Bad0512 said:

Проблема заключается вот в чём. По хорошему выход подобного тактового генератора необходимо пропустить через специальный тактовый буфер чтобы в дальнейшем полученный тактовый сигнал рапространялся по специальному клоковому дереву, а не по обычному интерконнекту. Это сильно влияет на clock skew, но к сожалению не все архитектуры позволяют такое сделать. Соответственно мы получаем заведомо худшие условия для соблюдения тайминга в подобном случае по сравнению с обычным внешним клоком, приходящим на клоковый пин.

Ну то есть тайминг анализ можно провести, но всё это будет "на глазок" и не гарантируется производителем. На свой страх и риск.

З Ы Помню видел даже какие-то диковинные примеры, когда в альтерах нельзя было просто подать клок на вход внутренней PLL и чтобы обойти это ограничение делали внешнюю петлю: выводили клок на обычный пин, а с него внешней петлёй на clock capable input.

Я не вижу проблем с таймиг-анализом даже если такой  клок будет идти обычным интерконнектом.  Понятное дело skew будет большим но это дизайнер и должен учитывать  при задании констрэйнов. А тулз  при P&R может разве что поворчать " ... что клок мол из жо.. одного места выходит ..." но тайминги посчитает нормально.  

Ситуацию когда в FPGA сигнал нельзя на  глобальный буфер назначить я уже не помню когда и встречал, но ясень пень это специфика, и для нее нужны другие решения. 

Удачи! Rob.

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


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

1 hour ago, Bad0512 said:

Использовать частоту от I2C нельзя, потому что она присутствует только при передаче данных.

Кто сказал нельзя? Я сделал такой проект и он спокойно работает. Ибо больше от него и не нужно. Получить последовательность считывания и выдать запрограммированный паттерн наружу, который содержит нужные данные. Больше ничего не требуется от ПЛИС. Зачем городить огород? Если вы так не делаете или не умеете делать - это не значит, что так делать

1 hour ago, Bad0512 said:

"помахали рукой" всем синхронным интерфенйсам

А почему если ПЛИС, то сразу нужны синхронные интерфейсы типа Авроры или ещё что-то? Почему нельзя тот же I2C взять или SPI. Там внутреннего клока будет предостаточно для таких интерфейсов (UART уже на сработает по понятным причинам).

1 hour ago, Bad0512 said:

когда сэкономили на копеечном кварцевом генераторе, и поимели себе на ровном месте вагон дерьма

И снова таки, Вы слышали что такое асинхронная логика? Для нескоростных задач с максимальным энергосбережением такие методики вполне себе сгодятся. Когда нужно проработать от АА батарейки пол года если не больше и достаточно детектировать контакт на разрыв раз в секунда +/-. Ибо дверь никто не сможет открыть и закрыть быстрее. Или влажность в вазоне резко не упадёт, чтобы аварийно включить полив.

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

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


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

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

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

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

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

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

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

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

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

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