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

 
 
> Использование Интерфейсов SV в Quartus BlockDiagramFile
bark
сообщение Feb 7 2011, 10:00
Сообщение #1


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

Группа: Свой
Сообщений: 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 code
endmodule

в итоге есть несколько модулей. проект компилируется нормально.

НО!

теперь при попытке сгенерировать "символ файл" мне пишется ошибка:
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 в сутки.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bark
сообщение Feb 8 2011, 12:29
Сообщение #2


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

Группа: Свой
Сообщений: 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 в сутки.
Go to the top of the page
 
+Quote Post
Krys
сообщение Mar 2 2011, 08:45
Сообщение #3


Гуру
******

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



Цитата(bark @ Feb 8 2011, 18:29) *
вобщем похоже что есть способ всё это скрестить.

попробую использовать структукы struct.
выполняет похожую функцию с некоторыми ограничениями.

на выходе из модуля собирать всё в шину суммарной ширины.
на входе модуля-потребителя снова разбивать в аналогичную структуру для сохранения удобства пользования.
можно конечно и без всяких структур и интерфейсов собирать сигналы в шины а потом распаковывать.. но всё же думаю так удобное.
Мы тоже так пытались сделать. Правда, в Active-HDL и для Xilinx. Проблема в том, что шина может содержать в себе только сигналы одного направления. Т.е. либо все выходы либо все входы. А вот в интерфейс можно было запихивать сигналы любой направленности. В случае с шинами придётся делать отдельно шину на вход, шину на выход, что уже приводит к обрастанию связями.


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


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

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



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


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

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


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
Krys
сообщение Mar 9 2011, 07:57
Сообщение #5


Гуру
******

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



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


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


МедвеД Инженер 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
Сообщение #7


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

Группа: Свой
Сообщений: 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
Сообщение #8


МедвеД Инженер 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, 04:59
Сообщение #9


Гуру
******

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



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


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
||- - 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


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

 


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


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