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

 
 
> SOPC component builder
DASM
сообщение Mar 4 2010, 12:22
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Извините, было наверное уже, но впрямую не нашел. Написал модулек небольшой на Verilog. В нем буфер небольшое, по приему байта буфер сдвигается, и над буфером производится XOR по всем байтам. Вобщем не суть. То есть input 8 bit и 8 bit output (ну и clock) . Создал в Component editor модуль, Avalon slave как я понимаю мне проставился автоматом. После компиляции в system.h появился базовый адрес этого моего модуля. А вот чего с этим адресом делать - не пойму. Мне б надо на Сях в модуль байтик этот туда(в input) писать, а следущей командой считывать из output.. Несколько сумбурно объяснил, но, наверное, суть ясна.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
Kuzmi4
сообщение Mar 4 2010, 13:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Используйте IOWR_32DIRECT/IORD_32DIRECT
страница 242
Там же и примеры есть rolleyes.gif маленькие правда

Хороший пример
страница 147
Go to the top of the page
 
+Quote Post
DASM
сообщение Mar 4 2010, 13:09
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



То, что надо использовать IORD_8DIRECT/IOWR_8DIRECT в моем случае ясно. Непонятно, какая привязка к этим портам с исходным verilog файлом. В system.h только BASE есть. Вообще я по-моему что-то не так делаю
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 4 2010, 13:35
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата
Непонятно, какая привязка к этим портам с исходным verilog файлом

обычная привязка - вам выделили кусок адресного пространства и при обращении к нему будут бегать реквесты к вашему модулю.
Go to the top of the page
 
+Quote Post
DASM
сообщение Mar 4 2010, 13:46
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



все равно не догоняю..
есть модуль
module testXOR(clock, out, inData);
input clock;
input [7:0] inData;
output [7:0] out;
..... lalalalala
endmodule
Вот как его подключить, чтобы получил при обращении к нему из NIOS доступ к адресам out и inData ?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 4 2010, 14:06
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Всё на рисунке
Прикрепленное изображение

кратко - нужн онаписать мастер/слейв на авалон и уже через него интерфейсить свою логику

Для затравки
Go to the top of the page
 
+Quote Post
DASM
сообщение Mar 4 2010, 14:13
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Итого - с чего начать в SOPC builder - ваще теперь запутался.. И рисунок тем более ничего не прояснил
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 4 2010, 14:20
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Начинать нужно как обычно с чтения тонны документации
Вот этой например:
QII Handbook->SOPC Builder
SOPC Builder Component Development Walkthrough
Embedded Design Handbook
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 4 2010, 14:21
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



вы, наверное, что-то такое пытаетесь сделать: http://www.altera.com/support/examples/nio...celeration.html
Go to the top of the page
 
+Quote Post
DASM
сообщение Mar 4 2010, 14:26
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



неужели все так сложно =) Найти банального примера простейшего модуля на Verilog и как его подключить ? вроде ж не так много хочу для начала. Просто сейчас стадия такая, что нужно вообще оценить, насколь NIOS нужен в проекте. Углубиться в основы еще успею
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 4 2010, 14:34
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(DASM @ Mar 4 2010, 20:26) *
неужели все так сложно =) Найти банального примера простейшего модуля на Verilog и как его подключить ? вроде ж не так много хочу для начала. Просто сейчас стадия такая, что нужно вообще оценить, насколь NIOS нужен в проекте. Углубиться в основы еще успею

т.е. даже какие сигналы в шине avalon используются читать не хотите? smile.gif зря. ну для ленивых: clk,reset,read_data;read_address;read;write_data;write_address;write. регистры замапить на соотв. адреса, например, inData на адрес 0, out - на 1. это локальные адреса, потом они автоматом преобразуются в глобальные.

upd: а может вы и код писать не хотите? wink.gif в том примере, что я выше приводил, он есть. как раз на верилоге.
Go to the top of the page
 
+Quote Post
DASM
сообщение Mar 4 2010, 14:39
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Ага, пример похоже и есть то что надо. Код то написал, это не лень. Просто куча всяких вариантов в Сети, но именно с Verilog модулем не попадалось - все вода одна http://www.google.ru/search?hl=ru&neww...mp;aq=f&oq=
PS в примере методика создания неясна. =(
"clk,reset,read_data;read_address;read;write_data;write_address;write. регистры замапить на соотв. адреса, " - а где их мэпить то ?
*.tcl файлами РУЧКАМИ ? crying.gif
PPS А, кажется понял.. rolleyes.gif
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 4 2010, 17:30
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



еще раз посоветую:

всякие операции с потоками лучше прогонять через Streaming, а не MM Avalon
там и интерфейс гораздо проще smile.gif

а потом, например, поставить FIFO с преобразованием stream в ММ

----------------

у ксайлинса слейв генерится автоматом (но там кореконнект - замаишься руками писать), а так как тут шина простая, то альтеровцы предлагают самому слэйва писать. ну и смысла в автоматическом генераторе нет - на выходе будет тоже что и на входе
Go to the top of the page
 
+Quote Post
DASM
сообщение Mar 5 2010, 09:27
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Чего-то все равно лыжи не едут.. Если я не использую address signal в Avalon slave, а использую только readdata и writedata и стробы read write - то они оба будут иметь адресс BASE ? Для теста сделал
always @(posedge clock)
if (read)
begin
out <= 8'haa;
end
В NIOS же считывается 0xFC sad.gif В чем не так ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 5 2010, 09:55
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



или не оттуда читает, или одно из двух. м.б. адрес сменился, SOPC пересобирали? можно сигналтапом посмотреть или в моделсим загнать.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 20:27
Рейтинг@Mail.ru


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