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

vhdl-проект: ручное размещение?

так вот здесь

EXTIO<0> | 2.673®| 4.497®|CLK_MR | 0.000|

EXTIO<10> | -1.160®| 5.147®|CLK_MR | 0.000|

EXTIO<11> | -2.333®| 4.910®|CLK_MR | 0.000|

EXTIO<12> | -2.531®| 5.386®|CLK_MR | 0.000|

 

говорится про одну частоту

А вот здесь:

 

EXTIO<0> | 2.511®| -0.173®|IAL | 0.000|

EXTIO<10> | 1.140®| 0.966®|IAL | 0.000|

EXTIO<11> | -0.001®| 1.879®|IAL | 0.000|

EXTIO<12> | 0.262®| 1.633®|IAL | 0.000|

 

про другую частоту. Вы PAR-у явно не указали какие регистры поместить в IO, вот он их и разбросал куда придется.

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


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

аа всё понял

 

кстати, вчера поменял некоторые vhdl-описания в проекте на core-gen блоки, и клок-мультиплексор на BUFGMUX, и задал их расположение как в исходном схематике , стало немного лучше.

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

пробую еще в ISE 12.4 собрать этот проект

спасибо всем за науку и ценные советы

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

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


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

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

честно говоря, какими средствами еще бороться с глюками, не знаю

есть мысль переписать весь проект под один тактовый клок (кто-то из уважаемых коллег здесь уже советовал). избавиться от IWR, IAL и т.д.

выделить из них передний фронт и использовать как enable для регистров. но вот резонный вопрос : а что если не будет соблюдаться setup time для IWR относительно CLK20? (а он скорее всего и никогда не соблюдется, поскольку IWR от процессора никак не привязан к клоку ПЛИС), и IWR будет меняться как раз в момент переключения клока CLK20 ?

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


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

а что если не будет соблюдаться setup time для IWR относительно CLK20? (а он скорее всего и никогда не соблюдется, поскольку IWR от процессора никак не привязан к клоку ПЛИС), и IWR будет меняться как раз в момент переключения клока CLK20 ?

Чтобы каждый раз не задумываться что же произойдет в этом случае, при условии что период CLK20 хотя бы в несколько раз короче минимальной длительности внешнего сигнала, просто ставят два последовательных регистра и уже после них выделяют нужный фронт. Вот первая попавшаяся ссылка с картинкой: http://infocenter.arm.com/help/index.jsp?t...aqs/ka3834.html

 

Документик от альтеры о сути проблемы: Understanding Metastability in FPGAs

Дополнительную информацию ищите по ключевому слову metastability.

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


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

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

а что будет, если Tsu не соблюдется и на выходе первого регистра так и не установится нужный бит(в литературе это называют "отказ"), либо установится неверное значение?

при метастабильности выход устанавливается либо дольше времени Tpd, либо вообще не устанавливается, насколько удалось понять из статей

хотя да , при условии что период CLK20 хотя бы в несколько раз короче минимальной длительности внешнего сигнала, наверное должно действовать

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

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


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

а что будет, если Tsu не соблюдется

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

 

и на выходе первого регистра так и не установится нужный бит(в литературе это называют "отказ"), либо установится неверное значение?

Какое такое неверное значение? Состояние регистра может остаться старым, принять новое значение либо быть в процессе перехода. Рано или поздно, но на выходе первого регистра появится стабильный уровень лог.0 или лог.1. При броске мяча в баскетбольное кольцо мяч либо упадет в кольцо (регистр примет новое значение), либо отскочит обратно (регистр сохранит старое значение), но бесконечно находиться на ободе кольца не упав оттуда мяч не сможет.

 

при метастабильности выход устанавливается либо дольше времени Tpd, либо вообще не устанавливается, насколько удалось понять из статей

Состояние метастабильности врЕменное, при выходе из него состояние регистра может либо остаться старым, либо принять новое значение.

 

хотя да , при условии что период CLK20 хотя бы в несколько раз короче минимальной длительности внешнего сигнала, наверное должно действовать

Метастабильное сосотяние может приключиться при защелкивании сколь угодно медленной внешней частоты. Даже если снаружи приходит 1Гц а внутри 100МГц, то синхронизатор все равно нужно ставить.

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

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


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

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

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

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

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

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

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

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

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

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