|
Использование Интерфейсов SV в Quartus BlockDiagramFile |
|
|
|
Mar 9 2011, 11:19
|

Частый гость
 
Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659

|
Цитата(Postoroniy_V @ Mar 9 2011, 10:28)  А как Вы опишете в графике generate, при чём на пару сотен модулей внутри?  никто ведь не запрещает использовать вложения bsf в bsf. у меня например прошлый проект был с очень развитой иерархией. ТОП, в нем несколько основных блоков, порты, PLL и как правило мультиплексоры для тестовых выводов. в основных разделах свои bsf со своим дальнейшим расширением. у них допустимо добавление параметров, поэтому меняющиеся разрядности шин при правильной организации проблемы не составляют. в итоге очень удобная и наглядная визуализация структуры проекта. минусы конечно тоже свои есть... но удобство в этом есть вполне определённое.
--------------------
Работаю 20ns в сутки.
|
|
|
|
|
Mar 10 2011, 04:59
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(Postoroniy_V @ Mar 10 2011, 06:52)  А если нужно не добавить разряд в шине, а добавить новую шину и вывести её с нижнего уровня на топ? перерисовывать всю иерархию так ведь? ну что ж ..очень удобно...главное при деле В коде это тоже не очень красиво и не очень быстро. Да и в графике не так трудно подправить один порт. У нас была необходимость выводить сигналы не напостоянно, а при отладке. Тогда мы, чтобы не переделывать графику, временно дописывали нужные порты прямо в коде. Когда отладка заканчивалась, достаточно было перегенерировать код из схемы - и всё возвращалось на пути своя. А чтобы выводить сигналы напостоянно - это нам не требовалось, т.к. в сложных проектах необходимо заранее продумывать интерфейсы стыков между блоками
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Mar 10 2011, 06:14
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(Krys @ Mar 9 2011, 13:57)  Я вот себе не представляю, как бы без графики соединял огромное количество блоков на верхнем уровне друг с другом... Застрелиться... Это всё "детские" болезни.  Пройдёт. Цитата(Krys @ Mar 9 2011, 13:57)  Я для себя пока принял так: логику автомата описываю текстом на языке, а соединяю отдельные блоки всё равно в графике... Хоть какая-то наглядность... Когда модулей будет реально много, то никакой наглядности там не будет. Наглядность получается, когда можно выделить функционально законченные блоки и показать их связи, причём блоков должно быть в пределах десятка, иначе всё это "размывается", загромождается и сам чёрт ногу сломит. Поэтому куда реальнее набросать структурную схемку проекта (или его частей, которые этого заслуживают) в каком-нить редакторе вроде Visio, и по ней уже писать код. А в Top'е просто описать межсоединения модулей. Только делать это аккуратно, с отступами. И, кстати, поиск (и замену) в тексте делать куда удобнее и средства для этого более развитые.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Mar 10 2011, 07:30
|
Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792

|
Цитата(des00 @ Mar 10 2011, 09:29)  а уж до чего ляпота смотреть в системе контроля версий кто и что делал %) Не вижу проблем смотреть то же самое для графики. Средства Mentor типа HDL Designer позволяют это делать. Осталось дождаться нормальной графики для SV. Ох не люблю я холивары, но всё же... Для себя остановился на таком подходе - верхний уровень иерархии - всегда графика. Кол-во блоков на верхнем уровне должно соответствовать структурной схеме конфигурации ПЛИС. Далее - на усмотрение разработчиков этих блоков. При правильном структурированном подходе глубина иерархии 12 - не так уж и страшно.
--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
|
|
|
|
|
Mar 11 2011, 07:39
|
Знающий
   
Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965

|
Цитата(Krys @ Mar 10 2011, 06:09)  Это пока единственный минус, который нам реально мешает. Хотя генерэйт на верхних уровнях обычно не требуется. Т.к. описывает просто соединение блоков, а не их поведение. Если действительно хочется generate в графике, то посмотрите на HDL Designer - он позволяет делать if generate и loop generate специальными рамочками. Изврат редкий, но работает ;-) Мне вот реально не хватает в графике (как квартуса, так и HDL Designer) возможности комментирования. Не в смысле написать поясняющий текст, а в плане "закомментировать" участок кода (картинки), так, чтобы она никак не обрабатывалась синтезатором, но была легко доступна при необходимости.
|
|
|
|
|
Mar 11 2011, 13:03
|
Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792

|
Цитата(alexadmin @ Mar 11 2011, 10:39)  Если действительно хочется generate в графике, то посмотрите на HDL Designer - он позволяет делать if generate и loop generate специальными рамочками. Изврат редкий, но работает ;-)
Мне вот реально не хватает в графике (как квартуса, так и HDL Designer) возможности комментирования. Не в смысле написать поясняющий текст, а в плане "закомментировать" участок кода (картинки), так, чтобы она никак не обрабатывалась синтезатором, но была легко доступна при необходимости. Странный пост. Вы же сами написали, что " HDL Designer - он позволяет делать if generate и loop generate специальными рамочками. " Вот возьмите, обведите картинку рамочкой и поставьте IF const_1 = 0 GENERATE . Вот вам и комментирование участка кода. Нередко, для того, чтобы сделать универсальный IP блок необходимо по пол схемы через if generate делать. И ничего. А если кому-то понадобится чистый код - он генерится автоматом. Вообще вопрос удобства настолько индивидуален, что спорить об этом бесполезно. Лучше делиться тонкостями работы с тем или иным САПРом.
--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|