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

 
 
> вопрос новичка
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
 
Start new topic
Ответов
bva_rzn
сообщение Jul 15 2013, 11:16
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #3


Гуру
******

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



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

Сообщений в этой теме
- bva_rzn   вопрос новичка   Jul 10 2013, 14:19
- - Golikov A.   это как бы и есть ваш проект, с программой, контро...   Jul 10 2013, 18:15
- - Копейкин   1) QII версия 7 старовата уже 2) Вы уверены, что ...   Jul 11 2013, 13:11
- - bva_rzn   Разобрался, почему не создавался проект. И ещё во...   Jul 12 2013, 20:06
|- - Maverick   Цитата(bva_rzn @ Jul 12 2013, 23:06) Можн...   Jul 12 2013, 21:22
- - bva_rzn   Тогда риторический вопрос. Что посоветуете: делать...   Jul 15 2013, 12:17
|- - Maverick   Цитата(bva_rzn @ Jul 15 2013, 15:17) Тогд...   Jul 15 2013, 12:47
- - bva_rzn   Можно поподробнее про п.2 и 3: - смотрел, вроде ес...   Jul 15 2013, 12:51
|- - Maverick   Цитата(bva_rzn @ Jul 15 2013, 15:51) Можн...   Jul 15 2013, 13:08
- - Kuzmi4   2 bva_rzn На счёт FPU - думаю стоит глянуть на род...   Jul 15 2013, 13:09
- - bva_rzn   У меня стоит Nios IDE 8.1 и Quartus 8.1 в мауалах ...   Jul 15 2013, 14:09
- - DASM   Зачем Циклон 5 ? Zynq ZC 7020 здесь и сейчас Цит...   Jul 15 2013, 14:18
- - Maverick   почитайте это, возможно пригодиться и вот это   Jul 15 2013, 22:17


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

 


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


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