EXeGLuMATOR 0 25 ноября, 2005 Опубликовано 25 ноября, 2005 · Жалоба Имеется - надо принять поток данных (16 бит) и сложить его во внешнюю память (8 бит), потом соотв прочитать и выдать во внешнее устройство (4 бита). В связи со спецификой решения - все делается на параллельных портах. Результат - крайне низкая скорость. Странно очень для RISC-процессора - на кристалле EP1C3 - при частоте проца 200МГц - длительность импульса (поставил бит в порт-снял бит с порта) - соотв частоте 1МГц. Запись 1 МБ памяти занимает около 2-х секунд!!! :blink: Это так и должно быть? Quartus 4.2 sp 1 + все стандартное из комплекта. Может чего-то не так настроил? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 25 ноября, 2005 Опубликовано 25 ноября, 2005 · Жалоба А какой именно NIOSII используете? Их не менее трех. По всей видимости вы используете маленький, так вот у него мипсов в 5 раз меньше тактовой.(В вашем случае 40MHz) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 26 ноября, 2005 Опубликовано 26 ноября, 2005 · Жалоба А какой именно NIOSII используете? Их не менее трех. И на программу (поставил бит в порт-снял бит с порта) хотелось бы взглянуть(на С или на ассемблере). Из какой памяти исполняется, какой кэш, все ли попадает в кэш (инструкции). С памятью другой вопрос. Он обсуждался активно на форуме www.niosforum.com/forum.htm Вот линка, стоит прочитать: http://www.niosforum.com/forum/index.php?showtopic=629 Проблема для чтения, но она актуально если код у вас во внешней памяти, и вы без кэша вынужденые его от туда читать. После чего разработчики добавили в ниос 2 версия 5.0 специальный вид памяти: Tightly Coupled Memory (тесно связаная с ядром). Вот линка на релизные изменения в версии 5.0 http://www.niosforum.com/forum/index.php?s...1651&hl=latency Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EXeGLuMATOR 0 26 ноября, 2005 Опубликовано 26 ноября, 2005 · Жалоба Nios не 5 но и не 1-й! Не помню версии - на работе стоит... а инета там нету... :( Ниос в самой мелкой комплектации - естественно без кэша и т.п В ЕР1С3 - особо не втолкаешь - память команд и констант - внутренняя. А на проблемы с внешней памятью наткнулись на евалюшн борде, потому и на параллельных портах. Программка ессно на С - встроенное все, что в комплекте было... . процедура IOWR_... ну и тп. Попробую кэш прикрутить... может влезет... Хотя даже при такте 40 МГц - должно быстрее работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 26 ноября, 2005 Опубликовано 26 ноября, 2005 · Жалоба длительность импульса (поставил бит в порт-снял бит с порта) - соотв частоте 1МГц. Запись 1 МБ памяти занимает около 2-х секунд!!! Если посчитать та если у вас на операция записи длится 2 импульса или даже 1, то 1 миллион обращений и вылезает в приведенные вами времена. А чего вы хотели? И что за проблеммы с памятью? Тот же самый PIO адресуется как ячейка памяти. У NIOS все, что не входит в ядро является памятью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 27 ноября, 2005 Опубликовано 27 ноября, 2005 · Жалоба Извеняюсь, немного ошибся (с нисом работаю редко). Но вот как раз намечаетсяновая работа. Проблема на которыю я сослался относиться только к Data Master, но не к Instruction Master. Вопрос в ветке цитировать не буду, но ответ разработчика процитирую (разговор идет про NIOS II ver 1.0): What you're seeing is the result of the Nios data master not being 'latency aware' (the instruction master is, and this allows relatively speedy instruction fetch even with a cache miss). Both master ports on the DMA controller are, and that is why Ken sees the performance he does. In a nutshell, Nios II was really designed to be as simple (small/fast) as possible and deliver best performance when things are cached. PS: Latency aware means that an Avalon master accepts the 'readdatavalid' signal, rather than merely the 'waitrequest' signal as all masters must do. В версии 5.0 немного подшаманили Data Master и привертели Tightly Coupled Memory. А производительность махания битом я сейчас проверю на эвалюхе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 27 ноября, 2005 Опубликовано 27 ноября, 2005 · Жалоба Софт проект hello_led добавлен цикл: while(1){ IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x01); IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x00); } Плата 1С20 эвалюха, частота 50МГц HW 1C20 low_cost (код данные из SDRAM, процессор NIOS II/e): период 1.56 мкс. Тоже самое но для HW small (память данных и кода на М4К блоках внутри циклона (всего 2К байт), процессор NIOS II/e): период 800нс При этом для ядра NIOS II/e заявляется 5-7 DMIPS. По сгенеренному коду мы имеем: while(1){ IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x01); 60: 00900004 movi r2,16384 64: 00c00044 movi r3,1 68: 10c00035 stwio r3,0(r2) IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x00); 6c: 00900004 movi r2,16384 70: 10000035 stwio zero,0(r2) 74: 003ffa06 br 60 <alt_main+0xc> Disassembly of section .comment: За один период выполняется 6 команд. Что соответствует заявленым 5-7 мипсам. Проект компилился в дебаге. Реально только запись в R2 лишняя, что уменьшило бы цикл до 4 команд. Все "железо" компилилось в квартусе 5.0, настройки проектов не изменялись, все по умолчанию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EXeGLuMATOR 0 28 ноября, 2005 Опубликовано 28 ноября, 2005 · Жалоба Понятно - в общем так и есть... Как и описал Major... цикл приблизительно так-же выглядит (а как иначе-то? :)) Наличие кэша и пр влияет незначительно. Быстрее... но чуть-чуть. В общем - тормоз. И зачем он еще нужен - если только лампочками моргать да клавиатуру сканить... На более серьезные задачи - очень тяжело... А жаль - удобно... Попробовать 5.0 поставить... Хотя если даже на асме писать - такая задержка... Неприемлемо... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 29 ноября, 2005 Опубликовано 29 ноября, 2005 · Жалоба Нужен, даже в варианте e(economic наверное). Лампой моргать можно и логику привертеть, так же как и клаву. Есть рутинные задачи, которые на конечных автоматах запаристо делать, да и понимание их работы со времененм ухудшается (программы медленее "стареют"). Мне обычно мипсы нужны только пиковые, а так все идет неспешно, то что на авре требует 8 мипс на ниосе хватит 2-3 (за счет битности и внешней логики) плюс большое адресное пространство - это для мелких задач. Цена критерием не является. Это моя оценка, сам я использую только варианты s (standart) и f (fast), и при этом весьма доволен. Ниос мне позволяет делать отложеные решения на этапе проектирования, не заморачиваясь раздачей ног и ресурсов (в локальном смысле). Цена за это своя, но меня она устраивает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 29 ноября, 2005 Опубликовано 29 ноября, 2005 · Жалоба Имеется - надо принять поток данных (16 бит) и сложить его во внешнюю память (8 бит), потом соотв прочитать и выдать во внешнее устройство (4 бита). В связи со спецификой решения - все делается на параллельных портах. Результат - крайне низкая скорость. Странно очень для RISC-процессора - на кристалле EP1C3 - при частоте проца 200МГц - длительность импульса (поставил бит в порт-снял бит с порта) - соотв частоте 1МГц. Запись 1 МБ памяти занимает около 2-х секунд!!! :blink: Это так и должно быть? Quartus 4.2 sp 1 + все стандартное из комплекта. Может чего-то не так настроил? 1. Могу добавить только, что конвейер 5 ступеней и при каждом JMP, CALL, RET происходит сборс конвейера. Следовательно, все критичные куски надо писать "в лоб", без этих команд. 2. Сделайте ДМА, если это позволяет обработка Ваших данных. Если нужно что-то особенное, то есть пользовательские команды. Небольшой автомат, определяющий готовность данных. Получите скорость близкую к тактовой. Если внешнее устройство - порт MII, то это гораздо проще сделать аппаратно, чем выделять тетрады. Так что либо сидеть со "спецификой", либо как задумано в Niose. Удачи! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гвоздик 0 2 декабря, 2005 Опубликовано 2 декабря, 2005 · Жалоба Скажите, пожалуйста, а вы за каждый запрограммированный НИОС за лицензию его ядра по 500 долларов выкладываете? Или крэк существует? После такой беседы о тормознутости НИОСа что-то берет сомнение о его приобретении за такие деньги... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 2 декабря, 2005 Опубликовано 2 декабря, 2005 · Жалоба 500 уе стоит годовая подписка. После окончания срока подписки вам будут не доступны новые версии. все что было до этого будет доступно. Например в мае у меня кончилась лицензия, и я могу пользовать только 5.0 ивсе что было раньше этой версии. Чтобы использовать 5.1 надо покупать подписку. Для того чтобы понять нужен вам ниос или нет достаточно evaluation версии, пока квартус через jtag видит матрицу, все работает. Без этого время работы ограничено 30 мин. После чего проц перестает функционировать. Про лекарство - вроде есть, сам не пользовал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гвоздик 0 2 декабря, 2005 Опубликовано 2 декабря, 2005 · Жалоба Теперь понятно. Скажите, а как при такой медленной работе Ниоса (1 Мбайт/с записывать) можно на него еще UcLinux ставить? Читал по форуму, что под Линуксом все работает. Это при самом ресурснозатратном варианте Ниоса получается только? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 2 декабря, 2005 Опубликовано 2 декабря, 2005 · Жалоба Я линукс не пользую. На форуме ниоса народ активное его обсуждает со всех сторон. http://www.niosforum.com/pages/forum.php?cat_id=5 Для работы с памятью рекомендую использовать DMA. Да и ядро ставить не economical. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гвоздик 0 2 декабря, 2005 Опубликовано 2 декабря, 2005 · Жалоба Скажите, если не секрет, а что за отладочная плата у Вас? Смотрел альтеровскую родную NIOS-EVALKIT-1C12: там кварцевый генератор на 24 МГц (у Вас 50 МГц). Цена какая? Альтеровскую за 320 долларов предлагают... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться