|
Cyclone V. Насколько корректно получать тактовые, сигналы для проекта с выходов счетчика ? |
|
|
|
 |
Ответов
|
Jan 26 2016, 03:43
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(kovigor @ Jan 25 2016, 23:06)  Есть проект, в котором, в зависимости от положения пары переключателей должна меняться частота тактирования. Эталонный тактовый сигнал (CLK) подается на предназначенную для этого ножку и идет на счетчик, на выходах которого формируются сигналы с частотами CLK/2, CLK/4 и CLK/8. Проект компилируется и работает, но меня одолевают сомнения в корректности такого решения. Прокомментируйте, пожалуйста ... По умолчанию такая схема - источник непрерывного геморроя. По разным причинам.Гораздо проще и правильнее на счётчике формировать стробы CE, а жить при этом на исходной тактовой. При этом не надо вручную описывать сгенерированные клоки, не будет проблем с ресурсом тактовых деревьев, единственный вопрос, который постоянно мусолится - некоторые утверждают что в данном случае (прореженные CE на исходно высокой тактовой) энергопотребление будет выше. Однако детальных исследований на эту тему ИМХО никто так и не проводил.
|
|
|
|
|
Jan 26 2016, 03:55
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Bad0512 @ Jan 26 2016, 10:43)  По умолчанию такая схема - источник непрерывного геморроя. По разным причинам.Гораздо проще и правильнее на счётчике формировать стробы CE, а жить при этом на исходной тактовой. да не факт. с чего она будет гемороем, если поделил тактовую, зароутил на глобальный буфер и работаешь на нем как на асинхронном(это важно), от остальной схемы клоке. А с СЕ может потребоваться полная переписка большей части проекта, если изначально это не было заложено в код (сигнал clkena), да и констрейнить это потом надо мультициклами по дереву, да и синтезатор сам себе на уме, не факт что в LAB clkena вход триггеров задействует, может на логике все залабать. Каждый из вариантов имеет право на жизнь, но нужно понимать последствия.
--------------------
|
|
|
|
|
Jan 26 2016, 04:22
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(des00 @ Jan 26 2016, 09:55)  если поделил тактовую, зароутил на глобальный буфер и работаешь на нем как на асинхронном(это важно), от остальной схемы клоке. Если клок асинхронный (объявлен асинхронным) относительно базового (который делим счётчиком) то при переходе из одного домена в другой (а такие места наверняка будут - иначе зачем вообще морочиться с разными доменами?) возникнет место неконтролируемого тайминг аналайзером перехода с непредсказуемыми последствиями. Если клок описать синхронным, то там тоже свои проблемы есть в виде фазовой разбежки между фронтами клоков (которая получается именно из-за деления на логике). Эта фазовая задержка часто приводит к невозможности соблюсти слаки по холду. В общем и целом, кругом разложен ровный слой мелких граблей. А всё потому, что gated clock - абсолютное зло! Справедливости ради надо отметить, что в случае с Clock Enable тоже есть пара проблемных моментов (типа адского fanout по цепи CE, что приводит к проблемам в тайминге). Но ИМХО эти проблемы решить проще, чем в случае gated clock.
|
|
|
|
|
Jan 26 2016, 04:35
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Bad0512 @ Jan 26 2016, 11:22)  (а такие места наверняка будут - иначе зачем вообще морочиться с разными доменами?) Например есть кучка медленных уартов на частоте 20МГц, когда вся система хлопает на 200. Или например совершенно отдельный микроб со своими задачами стоит, на частоте 48МГц, а все остальное работает на 192. Вариантов масса, на всех PLL не напасешься. Цитата возникнет место неконтролируемого тайминг аналайзером перехода с непредсказуемыми последствиями. правила CDC не вчера были придуманы. Цитата Если клок описать синхронным, то там тоже свои проблемы есть в виде фазовой разбежки между фронтами клоков (которая получается именно из-за деления на логике). Эта фазовая задержка часто приводит к невозможности соблюсти слаки по холду. Правильно. И в итоге все равно достается из котомки решений по CDC вариант с фифо с раздвижкой указателей на половину, глубина которого посчитана исходя из соотношений клоков. Т.е. решение по прежнему асинхронное. Цитата В общем и целом, кругом разложен ровный слой мелких граблей. А всё потому, что gated clock - абсолютное зло! Рождение постоянного клока на счетчике-делителе != gated clock.
--------------------
|
|
|
|
Сообщений в этой теме
kovigor Cyclone V. Насколько корректно получать тактовые Jan 25 2016, 17:06 des00 абсолютно корректно, если прописаны констрейны и е... Jan 25 2016, 17:37 kovigor Цитата(des00 @ Jan 25 2016, 20:37) абсолю... Jan 25 2016, 17:40  shamrel Цитата(kovigor @ Jan 25 2016, 20:40) В ка... Jan 25 2016, 17:48 sergey sva Констрейны в sdc , генерируется автоматически в ti... Jan 25 2016, 17:50 kovigor Цитата(sergey sva @ Jan 25 2016, 20:50) К... Jan 25 2016, 17:59 sergey sva Расширение sdc если не ошибаюсь, на этом компьютер... Jan 25 2016, 18:03 kovigor Цитата(sergey sva @ Jan 25 2016, 21:03) р... Jan 25 2016, 18:06  shamrel Цитата(kovigor @ Jan 25 2016, 21:06) Там ... Jan 25 2016, 18:17 sergey sva Можно переложить его в другую папку, в timequest в... Jan 25 2016, 18:17    ilkz Цитата(des00 @ Jan 26 2016, 08:35) ... фи... Jan 26 2016, 06:02     des00 Цитата(ilkz @ Jan 26 2016, 13:02) А можно... Jan 26 2016, 06:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|