реклама на сайте
подробности

 
 
> Cyclone V. Насколько корректно получать тактовые, сигналы для проекта с выходов счетчика ?
kovigor
сообщение Jan 25 2016, 17:06
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Есть проект, в котором, в зависимости от положения пары переключателей должна меняться частота тактирования. Эталонный тактовый сигнал (CLK) подается на предназначенную для этого ножку и идет
на счетчик, на выходах которого формируются сигналы с частотами CLK/2, CLK/4 и CLK/8. Проект компилируется и работает, но меня одолевают сомнения в корректности такого решения. Прокомментируйте, пожалуйста ...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Bad0512
сообщение Jan 26 2016, 03:43
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(kovigor @ Jan 25 2016, 23:06) *
Есть проект, в котором, в зависимости от положения пары переключателей должна меняться частота тактирования. Эталонный тактовый сигнал (CLK) подается на предназначенную для этого ножку и идет
на счетчик, на выходах которого формируются сигналы с частотами CLK/2, CLK/4 и CLK/8. Проект компилируется и работает, но меня одолевают сомнения в корректности такого решения. Прокомментируйте, пожалуйста ...

По умолчанию такая схема - источник непрерывного геморроя. По разным причинам.Гораздо проще и правильнее на счётчике формировать стробы CE, а жить при этом на исходной тактовой. При этом не надо вручную описывать сгенерированные клоки, не будет проблем с ресурсом тактовых деревьев, единственный вопрос, который постоянно мусолится - некоторые утверждают что в данном случае (прореженные CE на исходно высокой тактовой) энергопотребление будет выше. Однако детальных исследований на эту тему ИМХО никто так и не проводил.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 26 2016, 03:55
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Bad0512 @ Jan 26 2016, 10:43) *
По умолчанию такая схема - источник непрерывного геморроя. По разным причинам.Гораздо проще и правильнее на счётчике формировать стробы CE, а жить при этом на исходной тактовой.

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

А с СЕ может потребоваться полная переписка большей части проекта, если изначально это не было заложено в код (сигнал clkena), да и констрейнить это потом надо мультициклами по дереву, да и синтезатор сам себе на уме, не факт что в LAB clkena вход триггеров задействует, может на логике все залабать.

Каждый из вариантов имеет право на жизнь, но нужно понимать последствия.


--------------------
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Jan 26 2016, 04:22
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(des00 @ Jan 26 2016, 09:55) *
если поделил тактовую, зароутил на глобальный буфер и работаешь на нем как на асинхронном(это важно), от остальной схемы клоке.

Если клок асинхронный (объявлен асинхронным) относительно базового (который делим счётчиком) то при переходе из одного домена в другой (а такие места наверняка будут - иначе зачем вообще морочиться с разными доменами?) возникнет место неконтролируемого тайминг аналайзером перехода с непредсказуемыми последствиями.
Если клок описать синхронным, то там тоже свои проблемы есть в виде фазовой разбежки между фронтами клоков (которая получается именно из-за деления на логике). Эта фазовая задержка часто приводит к невозможности соблюсти слаки по холду.
В общем и целом, кругом разложен ровный слой мелких граблей. А всё потому, что gated clock - абсолютное зло!
Справедливости ради надо отметить, что в случае с Clock Enable тоже есть пара проблемных моментов (типа адского fanout по цепи CE, что приводит к проблемам в тайминге). Но ИМХО эти проблемы решить проще, чем в случае gated clock.

Go to the top of the page
 
+Quote Post
des00
сообщение Jan 26 2016, 04:35
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Bad0512 @ Jan 26 2016, 11:22) *
(а такие места наверняка будут - иначе зачем вообще морочиться с разными доменами?)

Например есть кучка медленных уартов на частоте 20МГц, когда вся система хлопает на 200. Или например совершенно отдельный микроб со своими задачами стоит, на частоте 48МГц, а все остальное работает на 192. Вариантов масса, на всех PLL не напасешься.
Цитата
возникнет место неконтролируемого тайминг аналайзером перехода с непредсказуемыми последствиями.

правила CDC не вчера были придуманы.
Цитата
Если клок описать синхронным, то там тоже свои проблемы есть в виде фазовой разбежки между фронтами клоков (которая получается именно из-за деления на логике). Эта фазовая задержка часто приводит к невозможности соблюсти слаки по холду.

Правильно. И в итоге все равно достается из котомки решений по CDC вариант с фифо с раздвижкой указателей на половину, глубина которого посчитана исходя из соотношений клоков. Т.е. решение по прежнему асинхронное.
Цитата
В общем и целом, кругом разложен ровный слой мелких граблей. А всё потому, что gated clock - абсолютное зло!

Рождение постоянного клока на счетчике-делителе != gated clock.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 03:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01423 секунд с 7
ELECTRONIX ©2004-2016