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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Синхронный сброс в триггерах на verilog, порождение мультиплексора на входах, quartus, семейство stratix4
x736C
сообщение May 29 2010, 20:09
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(sazh @ May 30 2010, 00:00) *
Наверно дело во времени инициализации внешних интелектуальных устройств по отношению к FPGA

Внутри ПЛИС была проблема, которая не зависела вообще от внешних устройств — я в этом уверен.
Но так или иначе вы угадали. С инициализацией внешних устройств (EthPHY) именно так наступил на грабли. smile.gif

А вообще, я уже ни в чем не уверен smile.gif Там вылилось не в танцы с бубнами, а в целую дискотеку. maniac.gif
Go to the top of the page
 
+Quote Post
dvladim
сообщение May 29 2010, 20:32
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(x736C @ May 29 2010, 22:59) *
Также есть факт — при загрузке через JTAG сигнал сброса, имеет V-образную форму форму "\_/" и формируется POR, насколько я понимаю.
И есть факт загрузки (или ее отсутствия) триггера начальным значением после двух выше перечисленных фактов.

Перечитал эту ветку еще раз. Там дело в том как используется rst - т.е. в той части схемы, что не приведена в теме. Но по этим вопросам не здесь.

Цитата(x736C @ May 29 2010, 22:59) *
UPD: Вывод: синхронный En при синхронном сбросе жрет таки-больше ресурсов, чем при асинхронном.
Внимание вопрос: насколько я ошибся?))

Вроде на одни и те же рисунки смотрим, а выводы разные.
Как опишете схему так и ляжет. Если опишете схему с приоритетом ena выше чем sclr - она ляжет на ПЛИС, если приоритеты наоборот, то Квартусу приходится ena триггера постоянно включать (иначе сбрасываться не будет), а ваш ena делать через мультиплексор на логике.
Таким образом мой вывод таков: если писать код понимая архитектуру ПЛИС, то равноценно.
Go to the top of the page
 
+Quote Post
x736C
сообщение May 29 2010, 20:56
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(dvladim @ May 30 2010, 00:32) *
Вроде на одни и те же рисунки смотрим, а выводы разные.
Как опишете схему так и ляжет. Если опишете схему с приоритетом ena выше чем sclr - она ляжет на ПЛИС, если приоритеты наоборот, то Квартусу приходится ena триггера постоянно включать (иначе сбрасываться не будет), а ваш ena делать через мультиплексор на логике.
Таким образом мой вывод таков: если писать код понимая архитектуру ПЛИС, то равноценно.

Мой вывод не противоречит вашему. Повторю его еще раз:
Синхронный En при синхронном сбросе жрет таки-больше ресурсов (ACEX, Stratix), чем при асинхронном. Как минимум на один мультиплексор.
Ведь разговор назрел не из-за En, а из-за синхронного или асинхронного сигналов сброса, о предпочтениях в использовании. Тут и рекомендации wp272, wp275 и прочее.
И было бы странно, если бы после всего обсуждения в этой теме я не понял вашего вывода. Ради этого и затеялся.

Сообщение отредактировал x736C - May 29 2010, 20:57
Go to the top of the page
 
+Quote Post
des00
сообщение May 31 2010, 02:17
Сообщение #19


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

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



Цитата(x736C @ May 29 2010, 15:56) *
Синхронный En при синхронном сбросе жрет таки-больше ресурсов (ACEX, Stratix), чем при асинхронном. Как минимум на один мультиплексор.

вроде одни и те же документы читаете, а выводы разные.
по асексу : нет у него синхронного сброса/установки, в принципе нет. поэтому и делает он его на люте
Прикрепленное изображение

по стратиксу : у него есть синхронный сброс/установка, но т.к. эта логика не интегрирована в триггер приоритет этих сигналов ниже чем у сигнала clk_ena
Прикрепленное изображение

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


Итого логика clk_ena на всех архитектурах ест одинакового, скорее всего вы имели в виду что "логика ваших модулей" ест по разному %)


--------------------
Go to the top of the page
 
+Quote Post
dvladim
сообщение May 31 2010, 05:43
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(des00 @ May 31 2010, 06:17) *
по стратиксу : у него есть синхронный сброс/установка, но т.к. эта логика не интегрирована в триггер приоритет этих сигналов ниже чем у сигнала clk_ena
...
для сравнения : у хилых конкурентов эти сигналы включены в триггер, поэтому там их приоритет выше чем у сигнала clk_ena

По поводу приоритетов: у Стратиксов 4-х сигнал ena не приходит в каждый триггер, а смешивается на границе ЛАБа с клоком (сделано для экономии динамической мощности). На клоковый вход триггера идет уже смешанный сигнал, поэтому физически сделать приоритет синхронного сброса выше ena невозможно.
Go to the top of the page
 
+Quote Post
des00
сообщение May 31 2010, 06:28
Сообщение #21


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

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



Цитата(dvladim @ May 31 2010, 00:43) *
По поводу приоритетов: у Стратиксов 4-х сигнал ena не приходит в каждый триггер, а смешивается на границе ЛАБа с клоком (сделано для экономии динамической мощности). На клоковый вход триггера идет уже смешанный сигнал, поэтому физически сделать приоритет синхронного сброса выше ena невозможно.

угу, времена идут, а у нас народ всё по к155 логике и lpm_reg крутость квартуса оценивает %)


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение May 31 2010, 11:16
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(des00 @ May 31 2010, 06:17) *
вроде одни и те же документы читаете, а выводы разные.
по асексу :
по стратиксу :
Спасибо за ответ!
По асексу и по стратексу понятно, и понятно из выше написанного, что мне было понятно.
«Выходит, с древним ACEX'ом, на котором проверял, ресурсов потребуется больше. В нем просто нет специального and под эти нужды»

Цитата(des00 @ May 31 2010, 06:17) *
Итого логика clk_ena на всех архитектурах ест одинакового, скорее всего вы имели в виду что "логика ваших модулей" ест по разному %)

В принципе да. Это и получается. Использование конструкции En с меньшим приоритетом синхронного сброса ест больше ресурсов. Я это и имел в виду, когда написал об этом в соседней ветке. Вы попросили, чтоб не быть голословным, привести конкретный пример.
А теперь момент. Как мне перестроить свой мозг, чтоб не писать по привычке if(~rst) else if (en). Потому что мне как бы удобнее именно так — когда сброс имеет приоритет над всем. Ну и когда он синхронный. Написал «как бы» — потому что до конца не разобрался на что эту конструкцию (if(~rst) else if (en)) лучше поменять. Смысл, конечно, понимаю, но на кой может понадобится En над Sclr, не понимаю. Хоть на асинхронный сброс переходи прямо. twak.gif

Цитата
угу, времена идут, а у нас народ всё по к155 логике и lpm_reg крутость квартуса оценивает %)
Если вы обо мне, то я бы вообще не заморачивался по поводу лишних мультиплексоров, моим скоростям и объемам это все не помеха. Но все-таки интересно разобраться в тонкостях и делать не как делается, а как правильно. smile.gif

Цитата(dvladim @ May 31 2010, 09:43) *
По поводу приоритетов: у Стратиксов 4-х сигнал ena не приходит в каждый триггер, а смешивается на границе ЛАБа с клоком (сделано для экономии динамической мощности). На клоковый вход триггера идет уже смешанный сигнал, поэтому физически сделать приоритет синхронного сброса выше ena невозможно.

Очень умно придумано. Вопрос о динамической мощности меня тоже всегда интересовал. Я так понимаю, что использование En до 4-го Стратикса тоже снижало потребление, если учесть характер переключения части транзисторов в триггере. Хотя могу заблуждаться.

Так или иначе пытаюсь понять, как это использовать.
Чаще всего En использую, как результат работы предыдущего процесса. Поэтому как мне, например, сбросить-установить все триггеры синхронным сбросом в начале работы, тогда как En имеют произвольное или скорее нулевое значение. Аналогично, зачем мне вообще сдался синхронный сброс, если он идет после второстепенного по смыслу сигнала ena.

Ушел читать литературу.

Может быть я совсем не того жду от En, и это все должно делаться на LUT?

Сообщение отредактировал x736C - May 31 2010, 11:01
Go to the top of the page
 
+Quote Post
sazh
сообщение May 31 2010, 11:17
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(x736C @ May 31 2010, 14:09) *
Аналогично, зачем мне вообще сдался синхронный сброс, если он идет после второстепенного по смыслу сигнала ena.


Приоритетность того или другого - Вы себе сами определяете.
А вот на что это ляжет - это уже от приоритетности в примитиве того или иного семейства.
Go to the top of the page
 
+Quote Post
des00
сообщение May 31 2010, 11:27
Сообщение #24


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

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



Цитата(x736C @ May 31 2010, 06:16) *
А теперь момент. Как мне перестроить свой мозг, чтоб не писать по привычке if(~rst) else if (en).

забить и работать спокойно дальше. Будут проблемы по времянке/ресурсу, локально по макросу типа __USE_ALT_CYC_MACRO__ напишете модуль оптимальный под конкретную плис
Цитата
Если вы обо мне, то я бы вообще не заморачивался по поводу лишних мультиплексоров, моим скоростям и объемам это все не помеха. Но все-таки интересно разобраться в тонкостях и делать не как делается, а как правильно. smile.gif

Это я так, в философском смысле %)
Цитата
......
Ушел читать литературу.

"Сбрасывать нужно только то, что должно быть сброшено" (с) Ken Chapmen


--------------------
Go to the top of the page
 
+Quote Post
Kopart
сообщение Jun 1 2010, 16:08
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 1-03-05
Из: Spb
Пользователь №: 2 972



Я вот хочу тоже написать некий вопрос на тему stratix4 и асинхронного ресета.
Вроде тема подходящая, но вопрос немного косвенный.

Когда представляли Startix 4 у меня отложилось в памяти, что там впервые уберут фактическую линию асинхронного сброса триггера. Т.е. за базис взяли использовать только синхронный ресет (упрощает триггер).

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


--------------------
Насколько проще была бы жизнь, если бы она была в исходниках
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jun 2 2010, 10:24
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



to des00
Цитата
Обсуждали уже, поройтесь поиском. Квартус далеко не дурак, в вашем конкретном случае использовать lut ему дешевле. Потому что sclr это сигнал общий для 16 ти LC в LAB (для сыклона 3 например). И используя для вашего одного триггера честный sclr, он урезает функциональность 15 ти других. А как вы правильно заметили LUT все равно расходуется. То ква делает свой вывод об оптимальности.

Попробовал для своего случая и 2 триггера вешать и 20, убирал настройки по оптимизации с точки зрения мощности получал только
DFFEAS на technology map viewer, ну а на планнере все равно мультиплексор. Похоже, что действительно построение мультиплексора с точки зрения ква на входах выгоднее нежели заведение синхронного сброса. А вот выгоднее ли с точки зрения быстродействия, остается вопросом (хотя один мультиплексор картину не портит там особо). Списибо за помощь.
А есть ли вообще на стратикс4 физически триггер с синхронным сбросом? Почитал хандбук внимательно, может я конечно понял чего-то не так, но в ALM in LUT-Register Mode ячейка состоит из трех триггеров - на все заводится вход aclr, но sclr заходит только на один. В обычном режиме синхронного сброса вообще нет...

Цитата
Когда представляли Startix 4 у меня отложилось в памяти, что там впервые уберут фактическую линию асинхронного сброса триггера

Да нет, оставили асинхронный сброс и линию под него, прямо на триггер вешается напрямую в обход.

Сообщение отредактировал bogaev_roman - Jun 2 2010, 10:38
Go to the top of the page
 
+Quote Post

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

 


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


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