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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Помогите правильно задать constraint, ...для generated клока
Torpeda
сообщение Jul 27 2015, 13:04
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(Nix_86 @ May 23 2015, 13:12) *
Код
create_generated_clock -name i_clk_12_5MHz \
    -source [get_ports clk] \
    -divide_by 4 \
    [get_pins clk_12_5_reg/q]

1-й
Подозревая типичную ошибку синхронно дизайна, таки спрошу - а зачем делить именно клоки понадобилось?

Цитата(v_mirgorodsky @ Jul 18 2015, 09:55) *
Если коротко, то делить так клоки принципиально нельзя. Ни в ASIC, ни в FPGA. Эта система сильно подвержена нарушению холдов при переходе из одного клокового домена в другой.

Можно. в FPGA немного труднее тулзе. Ничё подобного.
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Jul 28 2015, 01:40
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Даже не знаю, возможно за последнее время Квартус вместе с ИСЕ серьезно добавили в интеллекте, или проект в котором возможна такая манипуляция клоками крайне далек от предела возможностей выбранного кристала. На сколько помню, при заполнении кристалла под 90% и на максимум по частоте одновременно у меня провернуть такой финт уже не получилось - проект просто перестал компилироваться на заданную частоту и сильно "распух" в размере. Теперь я уже понимаю, что тулза начинала фиксить холды в корнерах, но много лет назад ответа на тот вопрос я так и не нашел - пришлось переделать пару блоков и вставить синхронизаторы.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jul 28 2015, 06:18
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(v_mirgorodsky @ Jul 28 2015, 04:40) *
Даже не знаю, возможно за последнее время Квартус вместе с ИСЕ серьезно добавили в интеллекте, или проект в котором возможна такая манипуляция клоками крайне далек от предела возможностей выбранного кристала. .... - пришлось переделать пару блоков и вставить синхронизаторы.

Неоптимально и неправильно - это разные вещи.
Да - можно делать делёные клоки, но архитектура FPGA это плохо поддерживает (ибо клоковое дерево намертво и изначально встроено без учёта таких фокусов). В ASIC - никаких проблем (никакие "холды", подобно тем что Вы нашли там не возникают).
Да - FPGA тузы нормально понимают такое описание и делают правильно STA и всё остальное, но как Вы заметили уже выжать максимум в этом случае не выходит (тулза тратит дополнительные ресурсы на то чтобы выполнить заданное требование STA в своей архитектуре, которая на делёные клоки не заточена )

И главное. Ума не приложу нафига в дизайне на FPGA делить клоки?
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Jul 28 2015, 07:54
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Самой логичной причиной деления клоков может быть часть дизайна, которая не успевает работать на основном клоке sm.gif Я так думаю. Ну и перевод сколь-нибудь значительной части дизайна на более низкий клок очень положительно сказывается на потреблении. Теперь-то я уже знаю, что клоковое дерево может потреблять до 15-20% мощности и эту цифру практически нельзя уменьшить.

З.Ы. Ну и в моем случае - неоптимально, это и есть неправильно. Потому как это значит, что дизайн мог бы потреблять меньше, или работать быстрее. Потому для меня и организаций, с которыми я сотрудничал, неоптимально и неправильно - синонимы. Хотя, строго говоря, неоптимально и неправильно действительно разные вещи.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jul 28 2015, 08:11
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(v_mirgorodsky @ Jul 28 2015, 10:54) *
Самой логичной причиной деления клоков может быть часть дизайна, которая не успевает работать на основном клоке sm.gif Я так думаю.

Для этого в тригерах FPGA придумано FF.CE
Ну или это CE неявно выходит из описания функции переключения тригера....
Исходя из этого только ~20% тригеров меняют состояния на текущем клоковом эдже. Т.е. 80% дизайна работает реально медленнее системного клока....
Go to the top of the page
 
+Quote Post
Doka
сообщение Sep 30 2015, 15:12
Сообщение #21


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



приветствую.

у меня одного не отображается картинка-аттачмент, которая была в цитируемом сообщении?

Цитата(Fat Robot @ Jul 18 2015, 22:28) *
Схема формирования кратных сигналов тактовой частоты делается с помощью ячеек clock gating, управляемых от счетчика, работающего на основной частоте. Все построено так, что clock gating с нужной скважностью пропускает на выход 1 период основной тактовой. Т.о. если для основной частоты clk скважность 50%, то для clk_div_2 скважность будет 25%, а для clk_div_4 скважность будет 12.5%.

Если часть изначальной схемы для FPGA, тактируемой производной частотой, работает по отрицательному фронту, то используется аналогичная метода: для этой части схемы все списки чувствительности меняются на posedge, и c помощью счетчика на основной частоте, управляющего ячейками clock gating, формируется свой тактовый сигнал, сдвинутый по фазе.

Ограничивается это хозяйство с помощью create_generated_clock, как вы верно отметили.

Та схема, которая приведена в вашем в исходном сообщении, - боль для sta

Вообще обычно clock and reset manager для разных целевых технологий переделывается полностью.



--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Sep 30 2015, 16:32
Сообщение #22


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Там не было картинки, насколько я помню

Цитата(Doka @ Sep 30 2015, 16:12) *
приветствую.

у меня одного не отображается картинка-аттачмент, которая была в цитируемом сообщении?

Go to the top of the page
 
+Quote Post
Doka
сообщение Oct 1 2015, 08:08
Сообщение #23


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



видимо сам себе в голове нарисовал...

отправил ссылку на тему коллегам, а она без воображаемой картинки maniac.gif
Цитата(Fat Robot @ Sep 30 2015, 19:32) *
Там не было картинки, насколько я помню



--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Михаил А
сообщение Oct 9 2015, 11:38
Сообщение #24





Группа: Участник
Сообщений: 12
Регистрация: 3-05-05
Пользователь №: 4 679



1. в asic где количество триггеров от 40% . Клоковое дерево может потреблять и 40-50% динамического потребления. Особенно 65нм и ниже.
2. Не надо делать деленные клоки для снижения потребления - лучше делайте везде по максимум gated clock
3. Если клок надо снизить по частоте - делите триггером. В asiс все нормально ляжет. Клоковое дерево можно построит и through (через) триггер (или несколько триггеров)
4. Клоки лучше по максимум define все - то есть первый master - порожденные gated

Тогда все триггера сидящие на всех клоках будут
а. считаться синхронными (то есть в одном clock domain)
b. будут обсчитываться в STA
Go to the top of the page
 
+Quote Post

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

 


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


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