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

 
 
 
Reply to this topicStart new topic
> вопрос новичка
bva_rzn
сообщение Jul 10 2013, 14:19
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 15-08-11
Пользователь №: 66 737



Доброго времени.

Плата DE1, Cyclone II. Среда Quartus 7 и Nios II IDE.

Собрал в SOPCBuilder контроллер по шагам, как написано в описании Altera.

В Nios II IDE собрал маленький проект.

Возникли проблемы в загрузке на плату. После компиляции выбираю Run As->Nios II Hardware. Компилятор выдаёт ошибку, что нет файла с расширением elf.

Подскажите, что это за файл.

Спасибо
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 10 2013, 18:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



это как бы и есть ваш проект, с программой, контроллером и все дела....
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Jul 11 2013, 13:11
Сообщение #3


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

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



1) QII версия 7 старовата уже wink.gif
2) Вы уверены, что в NIOS IDE компиляция проходит без ошибок?

По моему опыту QII ver 9.1
1) В квартусе компилируется проект и создаётся *.sof, который содержит железо.
2) *.sof заливается в отлаживаемую систему.
3) Копилируется программа для NIOS, создаётся *.elf, который содержит код программы.
4) Run As/Debug As-> NiosII Hardware заливает программу, в указанную при создании,
область памяти процессора и начинает выполнение.

!!! Если предварительно не будет залит sof,
запуск или отладка будут выдавать ошибку и откажутся выполняться.

А релиз готовится в зависимости от архитектуры системы...
Go to the top of the page
 
+Quote Post
bva_rzn
сообщение Jul 12 2013, 20:06
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 15-08-11
Пользователь №: 66 737



Разобрался, почему не создавался проект.

И ещё вопрос. У меня в устройстве 3 идентичных канала обработки данных. Можно ли в ПЛИС использовать несколько Nios-в?
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 12 2013, 21:22
Сообщение #5


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(bva_rzn @ Jul 12 2013, 23:06) *
Можно ли в ПЛИС использовать несколько Nios-в?

можно...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
bva_rzn
сообщение Jul 15 2013, 11:16
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 15-08-11
Пользователь №: 66 737



Добрый день.

Вопрос по быстродействию Nios.
Собрал в SOPBulder контроллер. Nios II f.
Плата De1, на ней Cyclone II.

CLK 100 МГц, умножители аппаратные, аппартное деление.
В проекте есть необходимость решить СЛАУ размером 5 на 5.
Для этого взял метод изключения Гаусса. Все типы данных int. И здесь возник вопрос по поводу быстродействия.
Для оценки быстродействия добавил в SOPBuilder интервальный таймер. Оптимизация -O2.

#include "sys/alt_stdio.h"
#include "alt_types.h"
#include "system.h"
#include "altera_avalon_timer_regs.h"

int alt_timestamp_start(void)
{
IOWR_ALTERA_AVALON_TIMER_CONTROL (TIMER_0_BASE,ALTERA_AVALON_TIMER_CONTROL_STOP_MSK);
IOWR_ALTERA_AVALON_TIMER_PERIODL (TIMER_0_BASE,0xFFFF);
IOWR_ALTERA_AVALON_TIMER_PERIODH (TIMER_0_BASE,0xFFFF);
IOWR_ALTERA_AVALON_TIMER_CONTROL (TIMER_0_BASE,ALTERA_AVALON_TIMER_CONTROL_START_MSK);
return 0;
}

alt_u32 alt_timestamp(void)
{
volatile alt_u32 lower;
volatile alt_u32 upper;

IOWR_ALTERA_AVALON_TIMER_SNAPL (TIMER_0_BASE, 0);
lower = IORD_ALTERA_AVALON_TIMER_SNAPL(TIMER_0_BASE);
upper = IORD_ALTERA_AVALON_TIMER_SNAPH(TIMER_0_BASE);

return (0xFFFFFFFF - ((upper << 16) | lower));
}

int main()
{
volatile alt_u32 a;
volatile alt_u32 beg,end,res_timer;


beg = alt_timestamp();

Solve_G();

end = alt_timestamp();
res_timer = end - beg;


while (1){};
return 0;
}

Если я правльно понял функция alt_timestamp() возвращает текущее значение счётчика.
В отладчике res_timer имеет значение 25345. Получается, что система решается примерно за 250 мкс?
Можно ли повысить быстродействие Nios?



Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 15 2013, 11:38
Сообщение #7


Гуру
******

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



1. Метод Гаусса - отстой
2. хоть у вас данные и int, вычисления все равно идут в плавучке => нужен аппаратный FPU. причем родной альтеровский довольно убог
Go to the top of the page
 
+Quote Post
bva_rzn
сообщение Jul 15 2013, 12:17
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 15-08-11
Пользователь №: 66 737



Тогда риторический вопрос.
Что посоветуете: делать связку ПЛИС+ARM9, или сразу осваивать Cyclone V SoC с ARM на борту?
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 15 2013, 12:47
Сообщение #9


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(bva_rzn @ Jul 15 2013, 15:17) *
Тогда риторический вопрос.
Что посоветуете: делать связку ПЛИС+ARM9, или сразу осваивать Cyclone V SoC с ARM на борту?

почему?
Возможные выходы:
1. можно попробовать оптимизировть математику...
2. решить СЛАУ размером 5 на 5 - реализовав на логике, использовав главное достоинство ПЛИС возможность паралльно выполнять задачи...
3. для процессора сделать блок FPU
4 взять как Вы предлагаете "ПАРАВОЗ" в виде ПЛИС+ARM9, или Cyclone V SoC с ARM на борту

Все зависит от финансов, быстродействия и временем, которым Вы обладаете


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
bva_rzn
сообщение Jul 15 2013, 12:51
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 15-08-11
Пользователь №: 66 737



Можно поподробнее про п.2 и 3:
- смотрел, вроде есть статьи про реализацию QR разложения на ПЛИС, но дальше статей дело не пошло. Если сбросите ссылку - буду очень признателен;
- как для NIOS сделать блок FPU, ссылку не скинете?
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 15 2013, 13:08
Сообщение #11


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(bva_rzn @ Jul 15 2013, 15:51) *
Можно поподробнее про п.2 и 3:
- смотрел, вроде есть статьи про реализацию QR разложения на ПЛИС, но дальше статей дело не пошло. Если сбросите ссылку - буду очень признателен;

вначале решаете СЛАУ в символьном виде - получаете решение...
Потом продумываете какие операции можно решать параллельно, какие повторяются.
И не забывайте о точности вычислений...
Дальше описываете на xHDL.


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 15 2013, 13:09
Сообщение #12


Гуру
******

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



2 bva_rzn
На счёт FPU - думаю стоит глянуть на родной, хоть он и не блещет идеальностью, но может вам сгодится. И как отправная точка (если не сгодится) не плохо будет.

Можно ещё вот с этим
Using Nios II Floating-Point Custom Instructions
Nios II Custom Instruction
ознакомиться
Go to the top of the page
 
+Quote Post
bva_rzn
сообщение Jul 15 2013, 14:09
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 15-08-11
Пользователь №: 66 737



У меня стоит Nios IDE 8.1 и Quartus 8.1 в мауалах написано, что в SOPBulder есть страница с FPU, но никак не могу её найти.
Можно ли подключить FPU через директивы компилятора в Nios II?

Имеется ввиду Nios IDE.

И ещё вопрос.
Nios в SOPBuilder собрался, после того, как подключил SDRAM, SRAM, FLASH. Когда подключал только On-chip memory, IDE писало, что
не хватает места.
Вопрос в том, как разместить переменные в on-chip memory?
До какой частоты можно разогнать Nios IIf?
Go to the top of the page
 
+Quote Post
DASM
сообщение Jul 15 2013, 14:18
Сообщение #14


Гуру
******

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



Зачем Циклон 5 ? Zynq ZC 7020 здесь и сейчас sm.gif

Цитата(bva_rzn @ Jul 15 2013, 18:09) *
У меня стоит Nios IDE 8.1 и Quartus 8.1 в мауалах написано, что в SOPBulder есть страница с FPU, но никак не могу её найти.
Можно ли подключить FPU через директивы компилятора в Nios II?

Имеется ввиду Nios IDE.

И ещё вопрос.
Nios в SOPBuilder собрался, после того, как подключил SDRAM, SRAM, FLASH. Когда подключал только On-chip memory, IDE писало, что
не хватает места.
Вопрос в том, как разместить переменные в on-chip memory?
До какой частоты можно разогнать Nios IIf?

Сильно зависит от кол-ва шин и степени их коннективности. В реалии более 80 Мгц будет не устойчиво с парой-тройкой Авалон слейвов и СДРАМ
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 15 2013, 22:17
Сообщение #15


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



почитайте это, возможно пригодиться
и вот это


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 04:08
Рейтинг@Mail.ru


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