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

 
 
> Помогите с NIOS+float, длительное выполнение инструкций
billidean
сообщение Apr 30 2013, 03:22
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 247
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



Здравствуйте.
Работаю на ките Стратикса4, Квартус11.1.
Недавно столкнулся с такой проблемой:
1. создал в квартусе qSys-систему:
Прикрепленное изображение

2. в настройках НИОСа выставил галочку "Hardware divide":
Прикрепленное изображение

3. в настройках BSP проекта выставил три галочки:
Прикрепленное изображение

4. флаги в файле public.mk у меня генерятся следующие:
Прикрепленное изображение

5. в коде обработчика прерывания имеется следующие строки:
Код
            а.) temp_U = IORD(F1_BASE_ADDRESS, F1_ADDR_U);
            б.) f1_array_u[f1_index_u] = temp_U;
            в.) temp_F = (float)(temp_U) * f1_3_3A_8_calc_coeff_1;
            г.) f1_array_u_float[f1_index_u_float] = temp_F;
            д.) IOWR(DATA_MODULE_BASE, 3003, 1);

6. по СигналТапку отслеживаю сигналы на шине Авалон.

Проблема в следующем:
от Авалоновской пересылки в строке а.) до пересылки в строке д.) насчитывается до 300 тактов.
НИОС и СигналТап тактируются частотой 50МГц.

Пробовал менять флаги вместо 60-1 ставил 60-2 - стало даже хуже 05.gif

Что не так с моей системой? Или все должно быть так?
И можно ли в обработчик прерываний совать плавающую математику?

Есть мысль вообще использовать внешний компонент "умножитель", тогда пересылки по Авалону туда/сюда
займут тактов 30-40, вычисление на "умножителе" - тактов 5-6, ИТОГО выигрыш в 6-7 раз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
billidean
сообщение May 13 2013, 04:10
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 247
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



Спасибо, я понял где прокосячил: при настройке параметров НИОСа нужно было выбрать параметр "Hardware multiplication type" = "Embedded..".
Но у меня все равно ничего не вышло, пишет ошибку типа "Данное устройство не поддерживает данный параметр".
Вроде Стратикс4 (EP4SGX230KF40C2) повыше циклона будет, для которого пример создан. Может лицензии нет на данную опцию? кто-нибудь знает? НИОС f-типа у меня генерится как тайм-лим., может с этим и связано?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 12:23
Рейтинг@Mail.ru


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