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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Использование Интерфейсов SV в Quartus BlockDiagramFile
Postoroniy_V
сообщение Mar 9 2011, 08:28
Сообщение #16


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(Krys @ Mar 9 2011, 16:57) *
Я вот себе не представляю, как бы без графики соединял огромное количество блоков на верхнем уровне друг с другом... Застрелиться... Я для себя пока принял так: логику автомата описываю текстом на языке, а соединяю отдельные блоки всё равно в графике... Хоть какая-то наглядность...

А как Вы опишете в графике generate, при чём на пару сотен модулей внутри? cranky.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
bark
сообщение Mar 9 2011, 11:19
Сообщение #17


Частый гость
**

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



Цитата(Postoroniy_V @ Mar 9 2011, 10:28) *
А как Вы опишете в графике generate, при чём на пару сотен модулей внутри? cranky.gif


никто ведь не запрещает использовать вложения bsf в bsf.

у меня например прошлый проект был с очень развитой иерархией.

ТОП, в нем несколько основных блоков, порты, PLL и как правило мультиплексоры для тестовых выводов.
в основных разделах свои bsf со своим дальнейшим расширением. у них допустимо добавление параметров, поэтому меняющиеся разрядности шин при правильной организации проблемы не составляют.

в итоге очень удобная и наглядная визуализация структуры проекта.
минусы конечно тоже свои есть... но удобство в этом есть вполне определённое.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Mar 10 2011, 00:52
Сообщение #18


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(bark @ Mar 9 2011, 20:19) *
никто ведь не запрещает использовать вложения bsf в bsf.

у меня например прошлый проект был с очень развитой иерархией.

ТОП, в нем несколько основных блоков, порты, PLL и как правило мультиплексоры для тестовых выводов.
в основных разделах свои bsf со своим дальнейшим расширением. у них допустимо добавление параметров, поэтому меняющиеся разрядности шин при правильной организации проблемы не составляют.

в итоге очень удобная и наглядная визуализация структуры проекта.
минусы конечно тоже свои есть... но удобство в этом есть вполне определённое.

А если нужно не добавить разряд в шине, а добавить новую шину и вывести её с нижнего уровня на топ?
перерисовывать всю иерархию так ведь? ну что ж ..очень удобно...главное при деле biggrin.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
Krys
сообщение Mar 10 2011, 03:09
Сообщение #19


Гуру
******

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



Цитата(Postoroniy_V @ Mar 9 2011, 14:28) *
А как Вы опишете в графике generate, при чём на пару сотен модулей внутри?
Это пока единственный минус, который нам реально мешает. Хотя генерэйт на верхних уровнях обычно не требуется. Т.к. описывает просто соединение блоков, а не их поведение.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Krys
сообщение Mar 10 2011, 04:59
Сообщение #20


Гуру
******

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



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


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
dxp
сообщение Mar 10 2011, 06:14
Сообщение #21


Adept
******

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



Цитата(Krys @ Mar 9 2011, 13:57) *
Я вот себе не представляю, как бы без графики соединял огромное количество блоков на верхнем уровне друг с другом... Застрелиться...

Это всё "детские" болезни. sm.gif Пройдёт.

Цитата(Krys @ Mar 9 2011, 13:57) *
Я для себя пока принял так: логику автомата описываю текстом на языке, а соединяю отдельные блоки всё равно в графике... Хоть какая-то наглядность...

Когда модулей будет реально много, то никакой наглядности там не будет. Наглядность получается, когда можно выделить функционально законченные блоки и показать их связи, причём блоков должно быть в пределах десятка, иначе всё это "размывается", загромождается и сам чёрт ногу сломит. Поэтому куда реальнее набросать структурную схемку проекта (или его частей, которые этого заслуживают) в каком-нить редакторе вроде Visio, и по ней уже писать код. А в Top'е просто описать межсоединения модулей. Только делать это аккуратно, с отступами. И, кстати, поиск (и замену) в тексте делать куда удобнее и средства для этого более развитые.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 10 2011, 06:29
Сообщение #22


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

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



Цитата(dxp @ Mar 10 2011, 00:14) *
И, кстати, поиск (и замену) в тексте делать куда удобнее и средства для этого более развитые.

а уж до чего ляпота смотреть в системе контроля версий кто и что делал %)


--------------------
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Mar 10 2011, 07:30
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Цитата(des00 @ Mar 10 2011, 09:29) *
а уж до чего ляпота смотреть в системе контроля версий кто и что делал %)

Не вижу проблем смотреть то же самое для графики. Средства Mentor типа HDL Designer позволяют это делать. Осталось дождаться нормальной графики для SV.
Ох не люблю я холивары, но всё же...
Для себя остановился на таком подходе - верхний уровень иерархии - всегда графика. Кол-во блоков на верхнем уровне должно соответствовать структурной схеме конфигурации ПЛИС.
Далее - на усмотрение разработчиков этих блоков. При правильном структурированном подходе глубина иерархии 12 - не так уж и страшно. sm.gif


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
Krys
сообщение Mar 10 2011, 07:55
Сообщение #24


Гуру
******

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



Цитата(dxp @ Mar 10 2011, 12:14) *
Наглядность получается, когда можно выделить функционально законченные блоки и показать их связи, причём блоков должно быть в пределах десятка, иначе всё это "размывается", загромождается и сам чёрт ногу сломит
Согласен. И именно при таком условии мы это используем.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
bark
сообщение Mar 10 2011, 08:46
Сообщение #25


Частый гость
**

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



Все тут правы. )
видно что все люди не по одному десятку проектов написали.

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

топ как правило в графике. дальше код.
если иерархия особо ветвистая, то графикой может быть несколько уровней вложения, но в конце-концов обязательно всё упрется в код.

по поводу "добавить в иерархию шину".. такое бывает редко если проведён тщательный предварительный анализ.
во все вложения заранее добавляю тестовую шину, для быстрого вывода произвольных данных наверх.

что удобного?
не надо в разных местах менять иерархию(и в проекте и в сопроводительной визио). она всегда актуальная и наглядная в BSF.
конфигурация графически вставленных PLL и других мег также наглядно видна.
всё же графика позволяет довольно удобно анализировать проект и искать проблемы.

но вообще сейчас новые мелко-проекты стараюсь начинать с кода а не bsf, дабы оценить возможности "тёмной" силы )
удобства от этого окнечно тоже есть свои.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
dxp
сообщение Mar 11 2011, 06:03
Сообщение #26


Adept
******

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



Ещё один минус графического ввода - это привязка к конкретному специализированному инструменту. Например, Active-HDL. А я вот слез с него с третьей попытки (о чём не жалею ни разу) на квесту - и чтоб я делал, если бы у меня часть проектов были в графике?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Mar 11 2011, 07:39
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(Krys @ Mar 10 2011, 06:09) *
Это пока единственный минус, который нам реально мешает. Хотя генерэйт на верхних уровнях обычно не требуется. Т.к. описывает просто соединение блоков, а не их поведение.


Если действительно хочется generate в графике, то посмотрите на HDL Designer - он позволяет делать if generate и loop generate специальными рамочками. Изврат редкий, но работает ;-)

Мне вот реально не хватает в графике (как квартуса, так и HDL Designer) возможности комментирования. Не в смысле написать поясняющий текст, а в плане "закомментировать" участок кода (картинки), так, чтобы она никак не обрабатывалась синтезатором, но была легко доступна при необходимости.
Go to the top of the page
 
+Quote Post
bark
сообщение Mar 11 2011, 09:05
Сообщение #28


Частый гость
**

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



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

dxp, на основе графики можно сгенерировать код. делов на пол часа и проект переделывается полностью с графики на код.
активHDL вообще очень вроде любил всякие генерации кодов на основе графики. (я кстати когда-то студентом стажировался в Алдеке =) )


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Mar 11 2011, 13:03
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 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 делать. И ничего. А если кому-то понадобится чистый код - он генерится автоматом.
Вообще вопрос удобства настолько индивидуален, что спорить об этом бесполезно. Лучше делиться тонкостями работы с тем или иным САПРом.


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Mar 11 2011, 15:30
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(warrior-2001 @ Mar 11 2011, 16:03) *
Странный пост. Вы же сами написали, что " HDL Designer - он позволяет делать if generate и loop generate специальными рамочками. " Вот возьмите, обведите картинку рамочкой и поставьте IF const_1 = 0 GENERATE .
Вот вам и комментирование участка кода.


Неравнозначно. Конструкции внутри рамочек условной генерации обрабатываются как обычный код. Т.е. синтаксически неверная картинка вызовет ошибку компиляции (генерации VHDL/Verilog текста). Ровно то же самое, как кусок некорректного кода попытаться в VHDL огородить с помощью IF false GENERATE, вместо того, чтобы закомментировать через "--".
Go to the top of the page
 
+Quote Post

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

 


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


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