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

 
 
43 страниц V  « < 12 13 14 15 16 > »   
Reply to this topicStart new topic
> NIOS для начинающих
juvf
сообщение Mar 2 2011, 09:02
Сообщение #196


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(vadimuzzz @ Mar 2 2011, 11:44) *
пожалуй, проще начать с tristate bridge. посмотрите эту тему, я там описывал создание компонента из шаблона. при добавлении такого компонента-заглушки и бриджа, сигналы шины Avalon будут выведены наружу, прицепите их к памяти.

Спасибо, что-то получаться стало. ....... вот мой тсл
Код
# TCL File Generated by Component Editor 10.1
# Wed Mar 02 13:46:07 YEKT 2011
# DO NOT MODIFY


# +-----------------------------------
# |
# | DAC_memOut "DAC_memOut" v1.0
# | Anisimov 2011.03.02.13:46:07
# |
# |
# +-----------------------------------

# +-----------------------------------
# | request TCL package from ACDS 10.1
# |
package require -exact sopc 10.1
# |
# +-----------------------------------

# +-----------------------------------
# | module DAC_memOut
# |
set_module_property NAME DAC_memOut
set_module_property VERSION 1.0
set_module_property INTERNAL false
set_module_property OPAQUE_ADDRESS_MAP true
set_module_property GROUP "Memories and Memory Controllers/SDRAM"
set_module_property AUTHOR Juvf
set_module_property DISPLAY_NAME DAC_memOut
set_module_property INSTANTIATE_IN_SYSTEM_MODULE false
set_module_property EDITABLE true
set_module_property ANALYZE_HDL AUTO
# |
# +-----------------------------------

# +-----------------------------------
# | files
# |
# |
# +-----------------------------------

# +-----------------------------------
# | parameters
# |
# |
# +-----------------------------------

# +-----------------------------------
# | display items
# |
# |
# +-----------------------------------

# +-----------------------------------
# | connection point avalon_tristate_slave
# |
add_interface avalon_tristate_slave avalon_tristate end
set_interface_property avalon_tristate_slave activeCSThroughReadLatency false
set_interface_property avalon_tristate_slave associatedClock clock
set_interface_property avalon_tristate_slave explicitAddressSpan 0
set_interface_property avalon_tristate_slave holdTime 0
set_interface_property avalon_tristate_slave isMemoryDevice true
set_interface_property avalon_tristate_slave isNonVolatileStorage false
set_interface_property avalon_tristate_slave maximumPendingReadTransactions 0
set_interface_property avalon_tristate_slave printableDevice false
set_interface_property avalon_tristate_slave readLatency 0
set_interface_property avalon_tristate_slave readWaitStates 0
set_interface_property avalon_tristate_slave readWaitTime 0
set_interface_property avalon_tristate_slave setupTime 0
set_interface_property avalon_tristate_slave timingUnits Cycles
set_interface_property avalon_tristate_slave writeWaitTime 0

set_interface_property avalon_tristate_slave ENABLED true

add_interface_port avalon_tristate_slave addr address Input 10
add_interface_port avalon_tristate_slave data data Bidir 16
add_interface_port avalon_tristate_slave rd read Input 1
add_interface_port avalon_tristate_slave wr write Input 1
add_interface_port avalon_tristate_slave cs chipselect_n Input 1
# |
# +-----------------------------------

# +-----------------------------------
# | connection point clock
# |
add_interface clock clock end
set_interface_property clock clockRate 0

set_interface_property clock ENABLED true

add_interface_port clock clk clk Input 1
# |
# +-----------------------------------


add_interface_port avalon_tristate_slave addr address Input 10 - десяти разрядная шина адреса. почему в графически ниос показывает 11 разрядную шину? бага? Чем тактировать внеешнее озу? клоками ядра?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 2 2011, 15:19
Сообщение #197


Гуру
******

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



Цитата(juvf @ Mar 2 2011, 15:02) *
почему в графически ниос показывает 11 разрядную шину? бага?

это для побайтовой адресации. просто игнорируйте младший разряд
Цитата
Чем тактировать внеешнее озу? клоками ядра?

да
Go to the top of the page
 
+Quote Post
W1nneR
сообщение Mar 3 2011, 09:16
Сообщение #198





Группа: Новичок
Сообщений: 8
Регистрация: 3-03-11
Пользователь №: 63 360



Доброго времени суток Уважаемые гуру. Прошу о помощи.
С 2009 года занимаюсь учебной исследовательской работой в университете на теме: "Диагностика и тестирования ПЛИС", мною были самостоятельно изучены основы работы в Quartus II 8.0 собственно в нём год и прошёл. Теперь поступило новое задание, переписать всё что было сделано на Verilog(е) за год под Nios II С/С++.

И тут прям со старта я наткнулся на проблемы...
на ПК стоит Quartus II 8.0 Web Edition и Nios II EDS 8.0, в теме нашел много полезной литературы для обучения, но везде предлагается создавать проект Nios II Application and BSP from Template, который у меня отсутствует в меню >Создать. Осмелюсь предположить, что это из-за того, что установлен Nios II 8.0 IDE, а нужен Nios II 8.0 SBT, но это лишь моё предположение. К сожалению на мой запрос о данной версии Nios(а) гугл ничего толкового не дал, на сайте Alter(ы) я увидел мою же версию но по новее 10.1 (боюсь что моя лицензия не подойдёт), на сайте Eclipse тоже пусто... Прошу о помощи.

Заранее благодарен, с Уважением Дмитрий.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Mar 3 2011, 09:38
Сообщение #199


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(W1nneR @ Mar 3 2011, 12:16) *
И тут прям со старта я наткнулся на проблемы...

До девятых версий термин "BSP" Альтера не использовала. Вместо него пользовались понятием "System Library".
В Вашем случае проект нужно создавать так - File - New - Project - Altera Nios II - Nios II C/C++ Application.
При создании проекта указать "Create a new system library"


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 3 2011, 09:38
Сообщение #200


Гуру
******

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



SBT появился в 9-й версии (по-моему 9.1). лицензия на ниосовские IDE не нужна, они бесплатные. да и на квартус веб-эдишн тоже
Go to the top of the page
 
+Quote Post
W1nneR
сообщение Mar 3 2011, 10:07
Сообщение #201





Группа: Новичок
Сообщений: 8
Регистрация: 3-03-11
Пользователь №: 63 360



Благодарю, пошел грызть гранит науки.
Go to the top of the page
 
+Quote Post
juvf
сообщение Mar 4 2011, 10:04
Сообщение #202


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Доброго времени. Подключил к 2-хпортовому озу ниос. вопрос - как из ниоса достучатся до озу? как писать туда? В эклипсе в BSP создал секцию памяти и разместил её на своем Avalon Memory Mapped Tristate Slave. теперь из кода программы пытаюсь записать в озу что-нибудь. пишу так
Код
__attribute__ ((section (".dac"),used)) unsigned int dacData[512];
....
while(1)
{
dacData[16] = 0x55aa;
pauseMm(1000);
}

смотрю сигналТапом сигнал WR- нету. В нуле всегда. на шине данных и шине адреса что-то меняется. а WR - нет. Может я не правильно dacData[512] разместил?
Go to the top of the page
 
+Quote Post
juvf
сообщение Mar 4 2011, 11:04
Сообщение #203


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Во млин!!! Удалось записать в озу данные, и даже тайминги все правильно расставленны. Пишу с помощю IOWR_16DIRECT(DAC_MEM_BASE, 10, 0x55aa); - кто бы мог подумать, что доступ к внешнему озу..... через IOWR_16DIRECT. Хотя тут же SDRAM стоит, через альтеровский контроллер подключенна: обращяюсь к ней без всяких IOWR_16DIRECT.

ps в порты PIO пишу через IOWR_ALTERA_AVALON_PIO_DATA(IOLED_BASE, led);. По идее, если сделать секцию памяти .myPio в BSP и разместить её по адресу IOLED_BASE ..... яже могу потом обращаться без всяких IOWR_ALTERA_AVALON_PIO_DATA , а как-то
Код
__attribute__ ((section (".myPio "),used)) unsigned int led;
...
//а потом писать в порт
led = 0x12;

По идее так должно работать?

Сообщение отредактировал juvf - Mar 4 2011, 11:05
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 4 2011, 11:51
Сообщение #204


Гуру
******

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



Цитата(juvf @ Mar 4 2011, 17:04) *
ps в порты PIO пишу через IOWR_ALTERA_AVALON_PIO_DATA(IOLED_BASE, led);. По идее, если сделать секцию памяти .myPio в BSP и разместить её по адресу IOLED_BASE ..... яже могу потом обращаться без всяких IOWR_ALTERA_AVALON_PIO_DATA , а как-то
Код
__attribute__ ((section (".myPio "),used)) unsigned int led;
...
//а потом писать в порт
led = 0x12;

По идее так должно работать?

IOWR_16DIRECT пишет в обход кэша данных. причина непоняток с памятью, видимо, в этом. можете создать указатель с адресом IOLED_BASE и писать/читать, используя разыменование указателя, следите только, чтобы 31-й бит был взведен.
Go to the top of the page
 
+Quote Post
W1nneR
сообщение Mar 9 2011, 14:48
Сообщение #205





Группа: Новичок
Сообщений: 8
Регистрация: 3-03-11
Пользователь №: 63 360



Создал простейшую систему в SOPC Builder (Nios tiny, On Chip Memory (4k), 3 - PIO, Timer) хотел проверить заработает ли она, и написать некое подобие команды Ping. На PIO загружаю какой то код, делаю проверку первых 8 бит, если они равны - ААh, то [7:31] вываливаю на PIO иначе на PIO нули. Т.к. с Nios(ом) еще пока дел не имел, есть пара вопросов.
1. При создании Nios II Application and BSP from Tample указал файл *.sopcinfo и тот создал мне 2 папки:
1 - Имя проекта;
2 - Имя проекта _ bsp;
Файл со своим текстом программы создавать в (1) или (2)?
2. В файле с программой каким образом можно обратится к первым восьми линиям PIO?
В файле system.h нашел кучу присваиваний, но конкретных имён линий не увидел.

Простите за глупые вопросы, я самоучка и спросить у других специолистов возможности нет, приходится спотыкаться на элементарных вещах.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 9 2011, 15:41
Сообщение #206


Гуру
******

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



Цитата(W1nneR @ Mar 9 2011, 20:48) *
Файл со своим текстом программы создавать в (1) или (2)?

(1)
Цитата
2. В файле с программой каким образом можно обратится к первым восьми линиям PIO?
В файле system.h нашел кучу присваиваний, но конкретных имён линий не увидел.

подключаете altera_avalon_pio_regs.h и читаете через макрос IORD_ALTERA_AVALON_PIO_DATA, потом маску накладываете. base address в system.h смотрите
Go to the top of the page
 
+Quote Post
W1nneR
сообщение Mar 9 2011, 18:41
Сообщение #207





Группа: Новичок
Сообщений: 8
Регистрация: 3-03-11
Пользователь №: 63 360



Спасибо, щас опробуем.
Go to the top of the page
 
+Quote Post
W1nneR
сообщение Mar 9 2011, 22:23
Сообщение #208





Группа: Новичок
Сообщений: 8
Регистрация: 3-03-11
Пользователь №: 63 360



Ну, вот стряпал кое что.


#include <stdio.h>
#include <system.h>
#include "altera_avalon_pio_regs.h"

void main() {

BYTE PING = AA;
BYTE COMMAND;
BYTE CODE = FF;
BYTE ERROR = F0;

COMMAND = IORD_ALTERA_AVALON_PIO_DATA(PIO_0_BASE);

if(COMMAND == PING) { IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, CODE); }
else IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, ERROR);

}

только почему то не хочет подключать указанные в INCLUDE файлы, если они находятся не в одной папке с главным файлом.
Приходится перетаскивать всё в одну папку с _bsp. Это можно как-нибудь исправить?
Go to the top of the page
 
+Quote Post
barabek
сообщение Mar 10 2011, 01:42
Сообщение #209


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(W1nneR @ Mar 10 2011, 08:23) *
только почему то не хочет подключать указанные в INCLUDE файлы, если они находятся не в одной папке с главным файлом.
Приходится перетаскивать всё в одну папку с _bsp. Это можно как-нибудь исправить?

Странно, стандартные должны находиться. А вообще, свойства проекта -> c/c++build->general->include paths плюсиком добавляете нужные пути.
Go to the top of the page
 
+Quote Post
W1nneR
сообщение Mar 10 2011, 17:38
Сообщение #210





Группа: Новичок
Сообщений: 8
Регистрация: 3-03-11
Пользователь №: 63 360



Кто нибудь имел дело с Nios системами ведущих обмен с FTDI?
Go to the top of the page
 
+Quote Post

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

 


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


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