|
Использование Интерфейсов SV в Quartus BlockDiagramFile |
|
|
|
Feb 7 2011, 10:00
|

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

|
Не могу Сгенерировать Символ модуля если у него в портах используется Интрефейс СистемВерилога. Взялся за изучение системверилога. (до этого пользовал обычный). хочу использовать Интерфейсы в своём проекте. TOP проекта - bdf файл. ну т.е. блок-диаграм-файл. описал тестовый модуль вида: создаю один из текстовых фалйлов проекта *.sv module processor ( // main_bus interface port main_bus bus,
// other ports input logic clock, input logic resetN, ); // ... // module functionality codeendmoduleв итоге есть несколько модулей. проект компилируется нормально. НО! теперь при попытке сгенерировать "символ файл" мне пишется ошибка: Error (10016): Can't create symbol/include/instantiation/component file for module "processor" because port "bus" has an unsupported typeт.е. интерфейсы нельзя использовать при построении блок-схем или я что-то не так пользую? З.Ы. Quartus 10.1
Сообщение отредактировал bark - Feb 7 2011, 12:24
--------------------
Работаю 20ns в сутки.
|
|
|
|
|
 |
Ответов
|
Feb 8 2011, 12:29
|

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

|
вобщем похоже что есть способ всё это скрестить. попробую использовать структукы struct. выполняет похожую функцию с некоторыми ограничениями. на выходе из модуля собирать всё в шину суммарной ширины. на входе модуля-потребителя снова разбивать в аналогичную структуру для сохранения удобства пользования. Код struct { logic [7:0] adr; logic [15:0] data; logic rd; logic wr; } bus;
wire [25:0] bus_out = { bus.data, bus.adr, bus.rd, bus.wr }; можно конечно и без всяких структур и интерфейсов собирать сигналы в шины а потом распаковывать.. но всё же думаю так удобное.
Сообщение отредактировал bark - Feb 8 2011, 13:11
--------------------
Работаю 20ns в сутки.
|
|
|
|
|
Mar 2 2011, 11:07
|

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

|
Цитата(Krys @ Mar 2 2011, 10:45)  Мы тоже так пытались сделать. Правда, в Active-HDL и для Xilinx. Проблема в том, что шина может содержать в себе только сигналы одного направления. Т.е. либо все выходы либо все входы. А вот в интерфейс можно было запихивать сигналы любой направленности. В случае с шинами придётся делать отдельно шину на вход, шину на выход, что уже приводит к обрастанию связями. да есть такое. но в данном случае меня это полностью устраивает. мне как раз и надо блоки сигналов из одного модуля в другой передавать. под весом авторитетных мнений потихоньку буду пытаться отказываться от bdf.
--------------------
Работаю 20ns в сутки.
|
|
|
|
|
Mar 9 2011, 11:19
|

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

|
Цитата(Postoroniy_V @ Mar 9 2011, 10:28)  А как Вы опишете в графике generate, при чём на пару сотен модулей внутри?  никто ведь не запрещает использовать вложения bsf в bsf. у меня например прошлый проект был с очень развитой иерархией. ТОП, в нем несколько основных блоков, порты, PLL и как правило мультиплексоры для тестовых выводов. в основных разделах свои bsf со своим дальнейшим расширением. у них допустимо добавление параметров, поэтому меняющиеся разрядности шин при правильной организации проблемы не составляют. в итоге очень удобная и наглядная визуализация структуры проекта. минусы конечно тоже свои есть... но удобство в этом есть вполне определённое.
--------------------
Работаю 20ns в сутки.
|
|
|
|
Сообщений в этой теме
bark Использование Интерфейсов SV в Quartus BlockDiagramFile Feb 7 2011, 10:00 bark Никто не сталкивался или непонятен вопрос? =... Feb 7 2011, 13:34 IL-76 Делайте лучше топ проекта в текстовом виде.
Иначе,... Feb 8 2011, 07:25 bark Но вопрос остаётся открытым. как сделать чтобы ген... Feb 8 2011, 08:20 vadimuzzz Цитата(bark @ Feb 8 2011, 14:20) Как в те... Feb 8 2011, 08:49 IL-76 Цитата(bark @ Feb 8 2011, 11:20) Как в те... Feb 8 2011, 10:45 bark обертка? в смысле мега так и вставляется в bdf а п... Feb 8 2011, 08:56 vadimuzzz пример обертки:
CODE
module scfifo_wrapper
#(param... Feb 8 2011, 09:13 bark Спасибо за разъяснения.
ещё вопрос:
вот все эти п... Feb 8 2011, 09:50 vadimuzzz Цитата(bark @ Feb 8 2011, 15:50) это надо... Feb 8 2011, 09:58 des00 Цитата(bark @ Feb 8 2011, 06:29) вобщем п... Feb 10 2011, 10:21      Postoroniy_V Цитата(bark @ Mar 9 2011, 20:19) никто ве... Mar 10 2011, 00:52       Krys Цитата(Postoroniy_V @ Mar 10 2011, 06:52)... Mar 10 2011, 04:59     Krys Цитата(Postoroniy_V @ Mar 9 2011, 14:28) ... Mar 10 2011, 03:09      alexadmin Цитата(Krys @ Mar 10 2011, 06:09) Это пок... Mar 11 2011, 07:39       bark alexadmin, можно отключать входы/выходы такого бло... Mar 11 2011, 09:05       warrior-2001 Цитата(alexadmin @ Mar 11 2011, 10:39) Ес... Mar 11 2011, 13:03        alexadmin Цитата(warrior-2001 @ Mar 11 2011, 16... Mar 11 2011, 15:30    dxp Цитата(Krys @ Mar 9 2011, 13:57) Я вот се... Mar 10 2011, 06:14     des00 Цитата(dxp @ Mar 10 2011, 00:14) И, кстат... Mar 10 2011, 06:29      warrior-2001 Цитата(des00 @ Mar 10 2011, 09:29) а уж д... Mar 10 2011, 07:30     Krys Цитата(dxp @ Mar 10 2011, 12:14) Наглядно... Mar 10 2011, 07:55 bark Все тут правы. )
видно что все люди не по одному д... Mar 10 2011, 08:46 dxp Ещё один минус графического ввода - это привязка к... Mar 11 2011, 06:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|