HDL-симуляторы

Перенос из темы «MH17: разбираем факты и набросы (диванные расследования)»
 
1 2 3 4
RU Floyd #09.10.2015 10:46  @Серокой#09.10.2015 10:43
+
-
edit
 

Floyd

аксакал

Серокой> Я по Альтере-Квартусу больше.
Серокой> Ксайлинкс-Вивадо только-только начал осваивать сам. :) Потому что Альтера ёкс...

Я в том смысле что ты этим профессионально занимаешься, а я даже до уровня хобби никак не дотяну :)
 33.033.0
RU Anarky #09.10.2015 12:06  @Серокой#09.10.2015 09:58
+
-
edit
 

Anarky

аксакал

Серокой> А можно подробнее? Я вот никогда на гейтовом уровне под ПЛИС не писал. Просто следить приходилось, чтобы меж триггерами длинных путей не было. Но САПР всё это говорит же тоже.
Я тоже на гейтовом не пишу, я же не маньяк :) Но в местах, где осуществляется например частотный переход, нужно вешать ограничения на задержки в линиях между триггерами из разных тактовых регионов, ибо Vivado сам не понимает эти места, а лишь в репорте после синтеза ругается нехорошими словами. В больших кристаллах вообще не стоит и думать сделать полностью синхронный проект, и можно в xdc бить его на локально синхронные части, вообще в Vivado очень много таких фич, как через гуй, так и через написание команд в xdc. Можно например заставить трассировщик хорошо развести 1 масштабируемый кусок, а потом наклонировать их себе. По объёму будет не оптимально, зато частота максимальная. Если используется какой-то аппаратный примитив, типа того же фифо или памяти, но трассировщик его плохо положил, можно так же в xdc его гвоздями прибить к нужным координатам. Удачность трассировки это же процесс в общем то случайный, и часто он не может перевалить потенциальный барьер, что бы получить более удачную раскладку.
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
RU Серокой #09.10.2015 12:37  @Anarky#09.10.2015 12:06
+
-
edit
 

Серокой

координатор
★★★★
Anarky> в местах, где осуществляется например частотный переход, нужно вешать ограничения на задержки в линиях между триггерами из разных тактовых регионов, ибо Vivado сам не понимает эти места, а лишь в репорте после синтеза ругается нехорошими словами.

А почему синхронизатор в два триггера не вставить, как обычно?
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #09.10.2015 12:46  @Серокой#09.10.2015 12:37
+
-
edit
 

Anarky

аксакал

Серокой> А почему синхронизатор в два триггера не вставить, как обычно?

У тебя в любом случае будет линия, которая идёт из одного тактового домена в другой. Разумеется, за ней будут стоять два D-триггера, которые защёлкнут сигнал на новом клоке.
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
RU Серокой #09.10.2015 13:20  @Anarky#09.10.2015 12:46
+
-
edit
 

Серокой

координатор
★★★★
Anarky> У тебя в любом случае будет линия, которая идёт из одного тактового домена в другой.
В sdc (файле со временнЫми ограничениями) вставить строчку типа

set_false_path -from [get_clocks {clk1}]  -to  [get_clocks {clk2}]

и САПР перестанет анализировать пути меж этими клоками и ругаться на них.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #09.10.2015 13:28  @Серокой#09.10.2015 13:20
+
-
edit
 

Anarky

аксакал

Серокой> В sdc (файле со временнЫми ограничениями) вставить строчку типа
Серокой> и САПР перестанет анализировать пути меж этими клоками и ругаться на них.

Это порочная практика, как мне расcказал представитель Xilinx. Правильно делать так: на первый триггер в новом частотном домене вешать атрибут ASINC_REG, а в XDC на входящий в него D и выходящий к следующему триггеру Q вешать max_delay и так же желательно ещё на линию, входящую в первый триггер

set_max_delay -from [get_pins -hier *.reg1[1][*]/Q] -to [get_pins -hier *.reg2[*]/D] 2
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
RU Серокой #09.10.2015 13:31  @Anarky#09.10.2015 13:28
+
-
edit
 

Серокой

координатор
★★★★
Я могу за Альтеру/Квартус говорить. У меня так работает.
А в чём порочность этой практики?
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #09.10.2015 13:36  @Серокой#09.10.2015 13:31
+
-
edit
 

Anarky

аксакал

Серокой> Я могу за Альтеру/Квартус говорить. У меня так работает.
Серокой> А в чём порочность этой практики?

Порочность в том, что таким образом накладываются не совсем корректные ограничения и САПР в теории может растащить этот синхронизатор по кристаллу сделав его метастабильным. На больших частотах в современной ПЛИС это может сыграть злую шутку с регистрами, которые могут установиться не за один такт.
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
RU Серокой #09.10.2015 14:24  @Anarky#09.10.2015 13:36
+
-
edit
 

Серокой

координатор
★★★★
Anarky> Порочность в том, что таким образом накладываются не совсем корректные ограничения и САПР в теории может растащить этот синхронизатор по кристаллу сделав его метастабильным.
М, за счёт чего? Первый триггер метастабильный, хорошо, он всегда такой. А второй? Он ж с первым на одной частоте. И САПР обязан вытянуть путь длиной не больше периода частоты.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #09.10.2015 14:30  @Серокой#09.10.2015 14:24
+
-
edit
 

Anarky

аксакал

Серокой> М, за счёт чего? Первый триггер метастабильный, хорошо, он всегда такой. А второй? Он ж с первым на одной частоте. И САПР обязан вытянуть путь длиной не больше периода частоты.
На больших частотах может и не получиться. Кстати нам рекомендовали ставить на всякий случай и третий триггер на 28 нм чипах:)
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
RU Серокой #09.10.2015 14:37  @Anarky#09.10.2015 14:30
+
-
edit
 

Серокой

координатор
★★★★
Anarky> На больших частотах может и не получиться.
Но тогда о том честно вылезет репорт после тайминг анализа. )

Anarky> Кстати нам рекомендовали ставить на всякий случай и третий триггер на 28 нм чипах:)
Да... Схем синхронизации почти что дофига... Cadence предлагает также САПР CDC для автоматического отлавливания таких вещей, у нас стоит, пробовали, одна беда - закрывать кучу тригреров надо сперва, где синхронизация правильная :) - и в ПДФе схемы синхронизации частично описаны.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #09.10.2015 14:40  @Серокой#09.10.2015 14:37
+
-
edit
 

Anarky

аксакал

Серокой> Но тогда о том честно вылезет репорт после тайминг анализа. )
Это если ты на него false_path не повесишь ;)


Серокой> Да... Схем синхронизации дофига... Cadence предлагает также САПР CDC для автоматического отлавливания таких вещей...

В виваде есть тоже такой отчёт, в нём можно посмотреть, где он видит неправильную синхронизацию, и можно даже подсветить в схемотехнике цепь.
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
RU Серокой #09.10.2015 14:43  @Anarky#09.10.2015 14:40
+
-
edit
 

Серокой

координатор
★★★★
Anarky> Это если ты на него false_path не повесишь ;)
На него не повешу, поскольку это путь меж триггеров в одном клоковом домене - между первым и вторым триггером.

Anarky> В виваде есть тоже такой отчёт, в нём можно посмотреть, где он видит неправильную синхронизацию, и можно даже подсветить в схемотехнике цепь.
Да, в Квартусе тоже есть Design assistant. Проблема та же - много чего на самом деле не ошибка.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #09.10.2015 14:48  @Серокой#09.10.2015 14:43
+
-
edit
 

Anarky

аксакал

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

Серокой> Да, в Квартусе тоже есть Design assistant. Проблема та же - много чего на самом деле не ошибка.

У нас кстати все по делу были.
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
RU Серокой #09.10.2015 14:53  @Anarky#09.10.2015 14:48
+
-
edit
 

Серокой

координатор
★★★★
Anarky> даже были такие случаи.
И если прижать время меж Q1 и D2, то всё будет лучше? Может быть, я ещё не нарывался... :)

Anarky> У нас кстати все по делу были.
А есть ж сигналы, которые стоят уже долго, то есть переходного процесса на них нет. Например, управляющие сигналы, которые один раз выставил, и всё. Регистры висят на одной частоте, а управляемые ими цепи - на другой. Чисто формально это ошибка, на самом деле - нет. И такое вот лезет тоже в отчётах.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #09.10.2015 15:12  @Серокой#09.10.2015 14:53
+
-
edit
 

Anarky

аксакал

Да, он не растащит их так далеко. Но разумеется надо уже самому думать, какая граница сверху по таймингу будет на этой линии. Для широких параллельных шин это возможно даже улучшит дизайн. Что бы нарваться надо на пределе возможностей чипа работать :)


Серокой> А есть ж сигналы, которые стоят уже долго, то есть переходного процесса на них нет. Например, управляющие сигналы, которые один раз выставил, и всё. Регистры висят на одной частоте, а управляемые ими цепи - на другой. Чисто формально это ошибка, на самом деле - нет. И такое вот лезет тоже в отчётах.
Есть ещё такой неприятный подводный камень как резет. он казалось бы меняется редко, но может так случиться, что кто то на такт раньше из него выйдет, или регистр счётчика обнулится не за такт а за два. Но наверное если дело касается каких-нить настроечных регистров, то это не ошибка.
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
+
-
edit
 

Anarky

аксакал

На работе задали задание написать небольшую мурзилку про Verilog и VHDL и среды разработки. Подскажите названия, а то я кроме Квартуса, ISE и Vivado, да modelsim ничего не знаю, ибо не требовалось. Достаточно названий, но можно и делать краткую характеристику, если не лень. Могу расплатиться солнышками :)
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1515
RU Серокой #03.11.2015 23:10  @Anarky#03.11.2015 23:00
+
+1
-
edit
 

Серокой

координатор
★★★★
Anarky> Подскажите названия, а то я кроме Квартуса, ISE и Vivado, да modelsim ничего не знаю, ибо не требовалось.

Из средств отладки: кроме модельсима - NCsim от Cadence, VCS от Sinopsys. Это два основных монстра, но я работал только с NC (и давно на писишке с Questa, которая тогда звалась ModelSim). Ну до кучи есть бесплатный слабенький Icarus Verilog. Разориться на две лицензии мы не смогли, да и незачем.
Из средств отладки: отличный инструмент от Sinopsys - Verdi (бывший debussy). Позволяет смотреть диаграммы и при этом скакать по исходному коду. Как по мне, встроенный simvision от Cadence и рядом не лежал.
Ну а для FPGA-прототипирования есть вышеперечисленные САПР, плюс они позволяет слабо моделировать внутренности, подавая нарисованные в редакторе внешние воздействия, но это не серьёзно. )
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
04.11.2015 00:56, Anarky: +1: Благодарствую
+
-
edit
 

Anarky

аксакал

del
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  48.0.2564.11648.0.2564.116
Это сообщение редактировалось 04.07.2016 в 22:35
+
-
edit
 

Anarky

аксакал

Благородные доны! Не подскажете, где можно узнать энергопотребление IP ядер DDR3 контроллеров в кремнии? А то что-то никто из производителей не хочет делиться забесплатно, особенно Synopsys. Достаточно знать порядок величины, без всяких экзотических режимов для техпроцессов от 45 и ниже. Наверняка же есть какие-то калькуляторы на эту тему?
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1616
RU Серокой #04.07.2016 22:41  @Anarky#04.07.2016 22:35
+
-
edit
 

Серокой

координатор
★★★★
Anarky> Не подскажете, где можно узнать энергопотребление IP ядер DDR3 контроллеров в кремнии? А то что-то никто из производителей не хочет делиться забесплатно, особенно Synopsys.

У нас свой контроллер... Мной писаный причём, но в принципе, основное потребление всё равно не контроллера, а падов. Так они устроены. Тебе надо именно сколько жрёт контроллер, без падов? Тогда по какой технологии?
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #04.07.2016 23:26  @Серокой#04.07.2016 22:41
+
-
edit
 

Anarky

аксакал

Серокой>Мной писаный причём

Жму мужественную руку. А можно по-подробнее про контроллер на monahov.aleksandrphysics.msu.ru если не секрет?

Серокой> но в принципе, основное потребление всё равно не контроллера, а падов. Так они устроены. Тебе надо именно сколько жрёт контроллер, без падов? Тогда по какой технологии?

От меня хотят цифру потребления DRAM чипа(это я уже посчитал, спасибо Микрону:) ) и контроллера, считая таковым всю логику от интерфейса к шине процессора до ног DQ. Техпроцессы 45 и 28.
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1616
RU Серокой #04.07.2016 23:31  @Anarky#04.07.2016 23:26
+
-
edit
 

Серокой

координатор
★★★★
Anarky> Техпроцессы 45 и 28.

А. Тогда от меня цифр не будет. Потому что 65.
Про контроллер напишу.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Anarky #04.07.2016 23:33  @Серокой#04.07.2016 23:31
+
-
edit
 

Anarky

аксакал

Anarky>> Техпроцессы 45 и 28.
Серокой> А. Тогда от меня цифр не будет. Потому что 65.
Серокой> Про контроллер напишу.

А можно грубо экстраполировать? Я просто впервые столкнулся с такой задачей, слабо представляю насколько отличаются библиотеки на 65/45/28 нм и соответственно блоки.
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1616
RU Серокой #04.07.2016 23:37  @Anarky#04.07.2016 23:33
+
-
edit
 

Серокой

координатор
★★★★
Anarky> А можно грубо экстраполировать?
Я ж всё ж фронтэнд, а не бэкэнд. (
Спрошу, да.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
04.07.2016 23:40, Anarky: +1: Спасибо!
1 2 3 4

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru