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

 
 
6 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> SOPC Builder и его возможности, Использование без ядра Nios
torik
сообщение Jan 14 2008, 11:19
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Вы переделываете готовый пример?
Сама система SOPC генерируется нормально? Если да, то значит неправильно подключена в основном проекте (не те имена портов написаны) - смотрите внимательнее


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
prog_sun
сообщение Jan 14 2008, 13:45
Сообщение #32


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

Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308



Цитата
Вы переделываете готовый пример?

нет, вот эти ваши слова
Цитата
Далее добавляем этот компонент в свою систему SOPC Builder, туда же закидываем PIO на 10 бит. Этот PIO автоматом подсоединяется к нашему мастеру, становится только на выход, т.к. нет сигналов чтения...
Все прекрасно компилируется. Вставляем это в наш проект, к выходам PIO подключаем светодиоды. Адрес = 0 (остальные регистры PIO не используем), таковую даем, сигнал записи и данные со счетчика.
Результат - все работает как и ожидалось!!!

хочу в железо воплотить, но только error получаюNode instance "the_untitled" instantiates undefined entity "untitled". и предупрежение Warning (10335): Unrecognized synthesis attribute "auto_dissolve" at ser.v(47).
Сама система SOPC генерируется нормально? да, без ошибок
Если да, то значит неправильно подключена в основном проекте (не те имена портов написаны) - точно не те. Сейчас попробую правильные имена поставить.

поставил правильные имена, все равно выдает error. wacko.gif
Go to the top of the page
 
+Quote Post
prog_sun
сообщение Jan 14 2008, 15:39
Сообщение #33


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

Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308



Цитата
неправильно подключена в основном проекте (не те имена портов написаны)

вы это говорили про проект который в sopc компилится?
Go to the top of the page
 
+Quote Post
torik
сообщение Jan 14 2008, 18:12
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



нет, после генерации системы файл имя системы.v смотрели? В нем же перечислены порты...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
prog_sun
сообщение Jan 15 2008, 07:13
Сообщение #35


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

Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308



Цитата(torik @ Jan 14 2008, 21:12) *
нет, после генерации системы файл имя системы.v смотрели? В нем же перечислены порты...

torik
Посмотри, что не так делаю?
Что за component class name? В шестом хендбуке написано, что это специализированное имя. Но как его задавать не нашел.
На 4 рис. мои сигналы оформелны неправильно. У pio сигналы правильно записаны.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

 
Go to the top of the page
 
+Quote Post
torik
сообщение Jan 15 2008, 10:44
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Да все на первый взгляд верно, хотя class name и name просто совпадают с именем папки в которой он расположен и одинаковы...

А покажите код, который добавляете в основной проект для включения в него системы?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
prog_sun
сообщение Jan 15 2008, 11:38
Сообщение #37


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

Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308



Цитата
хотя class name и name просто совпадают с именем папки в которой он расположен и одинаковы

Так должно быть?
Поигрался вчера и сегодня с именами. То что на рисунке показано, имена там такие: nis.sopc ( nis - имя папки), Class name - tor, Display name - reb. Если скомпилить, то в квартусе получаем error Node instance "<name>" instantiates undefined entity "<name>". Если же сделать все три имени одинаковыми, то получаем error Project too complex: hierarchy path is too long в котором вложено еще 100 error-ов Entity "<name>" is instantiated by entity "<name>". Сегодня в интернете нашел 6.1 туториал билдера. Там приводится пример сборки rs232. На странице 5-10 там видно, что все три имени совпадают. Пока пример с хендбука с rs232 не делал, не дошел еще.
В интернете поискал на Node instance "<name>" instantiates undefined entity "<name>". Нашел, что такая ошибка может быть вызвана из-за не подключения пользовательской библиотеки. Подключил, не помогло.

Цитата
А покажите код, который добавляете в основной проект для включения в него системы?

А весь код то состоит в добавлении инпут аутпут выводов.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
torik
сообщение Jan 15 2008, 13:44
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Да вы знаете, судя по вашей схеме данная система имеет только выходы. А входов (write, read, address, data...) нету. Это как раз те самые сигналы мастера, который вы смастерили.

Какая конкретно версия квартуса у вас. Если 6.1, то могу попробовать выслать пример...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
prog_sun
сообщение Jan 15 2008, 16:55
Сообщение #39


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

Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308



Цитата(torik @ Jan 15 2008, 16:44) *
Да вы знаете, судя по вашей схеме данная система имеет только выходы. А входов (write, read, address, data...) нету. Это как раз те самые сигналы мастера, который вы смастерили.

Какая конкретно версия квартуса у вас. Если 6.1, то могу попробовать выслать пример...

Тоже обращал внимание на это. Еще в сигналах указываю reset, а в квартусе (на схеме) получаю reset_n. К тому же в хендбуке написано, что сигналы генерируются вот так
module my_multiport_component (
// Signals for Avalon-MM slave port "s1"
avs_s1_clk,
avs_s1_reset_n,
avs_s1_address,
avs_s1_read,
avs_s1_write,
avs_s1_writedata,
avs_s1_readdata,
avs_s1_export_dac_output,
мастер порт генерируется аналогично, только вместо avs пишется аvm.
Если посмотреть риснунок, где приводил мои сигналы (рис 4), то видно что сигналы мастера не по этим правилам сгенерированы.
Quartus II Version Build 151 09/26/2007 SJ естественно фул. Service Pack Installed: None.

Вряд ли это связано с версией Квартуса. На SOPCе сделал пример с процессором, памятью и pio. Все сгенерировалось в Sopce, перенеслось в квартус, скомпилил и в ответ получил одно предупреждение, что ядро - тайм лимид. Так что, думаю Sopc работает. Наверно что то не то делаю при компановке мастер-порта. А что не знаю. У меня мастер порт фактически отсутствует в схеме квартуса, а пины слейв порта pio присутствуют.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Jan 15 2008, 17:26
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Бррр.... Это что же, вы компонент без HDL кода создаете? Фигасе. И что, он должен автоматически вам все сигналы авалоновские на глобал кинуть? С чего? Пишите HDL и будет хорошо.
Go to the top of the page
 
+Quote Post
prog_sun
сообщение Jan 15 2008, 18:29
Сообщение #41


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

Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308



torik
Цитата
Итак, пока результат следующий. Прочитал главу хандбука SOPC Builder - не всей, а только до редактора компонентов включительно.
Решил попробовать простейший эксперимент: создаем свой собственный компонент без HDL файлов; сигналы мастера запись/данные(10 бит), clk, reset, адрес.
Далее добавляем этот компонент в свою систему SOPC Builder, туда же закидываем PIO на 10 бит. Этот PIO автоматом подсоединяется к нашему мастеру, становится только на выход, т.к. нет сигналов чтения...
Все прекрасно компилируется. Вставляем это в наш проект, к выходам PIO подключаем светодиоды. Адрес = 0 (остальные регистры PIO не используем), таковую даем, сигнал записи и данные со счетчика.
Результат - все работает как и ожидалось!!!

Вот этим руководствовался.
А теперь получается
Цитата
Бррр.... Это что же, вы компонент без HDL кода создаете? Фигасе. И что, он должен автоматически вам все сигналы авалоновские на глобал кинуть? С чего? Пишите HDL и будет хорошо

так осталось дело за малым написать этот код, использую вашу прошлую подсказку.
Цитата
На форуме неоднократно обсуждалось (где-то рядом должна быть тема про SDRAM контроллер - там этот вопрос поднимался). В простейшем случае ваш мастер просто будет сигналы avalon передавать наружу. Что-то типа

input my_address;
output avalon_master_address;

assign avalon_master_address=my_address;

И так для всех нужных Вам сигналов.

Для меня сейчас VHDL как китайская грамота.

извиняюсь не VHDL а Verilog
Go to the top of the page
 
+Quote Post
prog_sun
сообщение Jan 15 2008, 23:49
Сообщение #42


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

Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308



Цитата
input my_address;
output avalon_master_address;

assign avalon_master_address=my_address


это надо вот так понимать?
assign address=new_signal_1;
assign waitrequest=new_signal_2;
assign writedata=new_signal_3;
assign write=new_signal_4;

но тогда следует заметить что waitrequest не output avalon_master_address а input. 07.gif
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Jan 16 2008, 04:37
Сообщение #43


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

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



Цитата(RHnd @ Jan 16 2008, 02:26) *
Бррр.... Это что же, вы компонент без HDL кода создаете? Фигасе. И что, он должен автоматически вам все сигналы авалоновские на глобал кинуть? С чего? Пишите HDL и будет хорошо.

До версии 6.х включительно было...можно было делать...
а в версиях 7.х наблюдаю туже фигню
пошёл курить мануал sad.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
torik
сообщение Jan 16 2008, 05:56
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Е-мое, у меня квартус 6.1 и я создаю мастер без всякого кода HDL, все работает так как я и описывал. Очень удобная вещь для стыковки системы SOPC с внешней логикой, через фифо например...

При этом, кстати говоря, мануал я читал уже новый, на 7.1 (ну на сайте альтеры...)


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
prog_sun
сообщение Jan 16 2008, 07:27
Сообщение #45


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

Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308



torik
Цитата
Е-мое, у меня квартус 6.1 и я создаю мастер без всякого кода HDL, все работает так как я и описывал. Очень удобная вещь для стыковки системы SOPC с внешней логикой, через фифо например...

выложи тут или пришли мне папку с файлом самодельный мастер -pio слейв. fpga_sun@mail.ru. Только не архивируй его, а то я не смогу прочитать файл.
Вчера начал изучать верилог. Начал делать своего мастера, но получал error Verilog HDL error at Verilog1.v(25): object "address" is not declared. Читал на него таблетку, исправлял, получал другой error. Сам Sopc генерирует *.v файлы в рабочей папке. Вот посмотрел их, и изучил пример создания слейв верилог файла. Тут захотелось посмотреть пример создания мастер велилог файла. Решил обратно попробовать создать dma мастер и какой-нибудь слейв. Взял sgdma мастер и on-chip слейв 32 разряда (все как по умолчанию). Нормально сгенерировалось в sopce. Без errorов предварительно скомпилилось в квартусе, но с предупреждениями (14 сообщений).Все они были связаны с тем, что не сделал пин пленер и с таймквестом. (но в графическом изображении sopc в квартусе есть только два вывода клок и ресет, куда делись другие вывода?) Поскольку все предупреждения были знакомы, решил полностью скомпилировать. В пинпленере установил пины. А вот в тамквест не смог записать констрейны Error: Current module quartus_tan ended unexpectedly. Отключил библиотеку пользователя, еще хуже получилось (100 предупреждений и error в таймквесте). Посмотрел верилог код мастера sgdma. Состоит из многих подмодулей, разобраться сразу сложно, что куда.
Go to the top of the page
 
+Quote Post

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

 


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


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