Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: NIOS для начинающих
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
Stewart Little
Цитата(ILYCHOFF @ Jan 28 2011, 17:39) *
Помогите пожалуйста nios 9.1 Почему то нет конфигурации hardware в менеджере конфигураций. Ничего не понимаю... Хоть в бубен бей. Раньше не встречал такое.

Это в NiosII EDS (типа Run As - NiosII Hardware)?
Как именно Вы его открываете?
Скриншот в студию!
ILYCHOFF
Обычно там есть вариант hardware, а у меня нет. При чем на другом компе все нормально. Может я где чего отключил... Как отлаживать не пойму...
vadimuzzz
смущает строчка Filter matched 7 of 8 items. у меня там 4 из 4 при пустом эклипсе, hardware есть. залезьте в Filter, может там чего (сверху кнопка Filter launch configurations)
ILYCHOFF
У меня три из трех при пустом эклипсе. Hardware нет. Просто пипец... Как такое может быть. Винда семерка. Хотя на другом компе все нормально.
Stewart Little
Цитата(ILYCHOFF @ Jan 28 2011, 19:59) *
У меня три из трех при пустом эклипсе. Hardware нет. Просто пипец... Как такое может быть. Винда семерка. Хотя на другом компе все нормально.

Ну так 9.1 с Win7 не дружит.
Там были какие-то шаманские пляски по их скрещиванию - то-ли режим совместимости с XP включить надо, то-ли ява-машину обновить.
alexPec
Цитата(ILYCHOFF @ Jan 28 2011, 19:59) *
У меня три из трех при пустом эклипсе. Hardware нет. Просто пипец... Как такое может быть. Винда семерка. Хотя на другом компе все нормально.


У меня такая же фигня была, правда на XP. Как только подключил и установил дрова на usb-blaster - все появилось волшебным образом. А на семерке так и не поборол Q91+nios, точнее только nios, Q91 работает. Но при этом хардваре видит, только при компиляции ошбки какие-то лезут компиляторные.

Цитата
то-ли ява-машину обновить


не, мне перл советовали обновить. Точно без бубна там не обходится!

ILYCHOFF
Stewart Little прямо в точку. режим совместимости с ХР решил проблему всем спасибо. 1111493779.gif
juvf
А как залить прошивку в ниос?

Собрал в sopc процессор, собрал в квартусе схему, скомпелировал.
В эклипсе создал проект и написал прогу для своей борды.
В режиме дебага программа работает.
Даже получилось залить свою конфигурацию в epcs и при включении работает моя аппаратная часть. А как залить программу для ниоса во флешь?
Stewart Little
Цитата(juvf @ Feb 11 2011, 14:05) *
А как залить программу для ниоса во флешь?

Читайте Nios II FlashProgrammer User Guide.
juvf
Цитата(Stewart Little @ Feb 11 2011, 17:37) *

Не получается. Картинка 1.1 How the Nios II Flash Programmer Works из этого документа..... Комп заливает прошивку в плис, а плис в epcs. естественно ниже требование для NIOS - должен быть контроллер epcs.
У меня боарт от terasic "Altera DE0 Board". В ниосе не было ни контроллера epcs, ни cfi, ни мостов. Апаратную часть удалось зашитить в ерсs. Но как програму ниоса зашить? В прикреплении функциональная схема. По документу Nios II FlashProgrammer User Guide требуется контроллер epcs. Добавил в ниос контроллер. Вывод контроллера clk стал выходом. Посмотрел принципиальную схему борды - генератор clk на epcs является не ПЛИС, а MAXII 240. И клок от епцс к DE0 подключен к ВХОДУ плис. Но в ниосе это выход. Как назначать пин у плис?

Наверно такой способ прожига не подойдет. даже на картинке 1.1 показанно, что через плис прожигается епцс, а в DE0, судя по схеме, мимо епцс. Может нужно слить аппаратную прошивку с программой в один файл и прошить его? Но это как сделать? Тоже не понятно.

Цитата
Все делайте согласно прилагаемого ug_nios2_flash_programmer.pdf, если у Вас QII 7.2
А точнее, раздел "2. Using the Flash Programmer in IDE Mode"
Какой пункт в нем не ясен?
Не понятно.... Должен ли быть в ниосе epcs контроллер? Если не должен быть, то картинки 2-2 из этого документа нету. Если он должен быть, то как назначить пины в DE0?
Кто нибудь пробовал поднять ниос на подобных бордах? Как в них заливать программу для ниоса в epcs?

p.s. в прикреплении принципиальная схема DE0.
naliwator
Цитата(juvf @ Feb 11 2011, 14:05) *
А как залить прошивку в ниос?

Собрал в sopc процессор, собрал в квартусе схему, скомпелировал.
В эклипсе создал проект и написал прогу для своей борды.
В режиме дебага программа работает.
Даже получилось залить свою конфигурацию в epcs и при включении работает моя аппаратная часть. А как залить программу для ниоса во флешь?


Загляните в эту тему.
vadimuzzz
Цитата(juvf @ Feb 14 2011, 15:51) *
p.s. в прикреплении принципиальная схема DE0.

чуть голову об нее не сломал. значится так: ниос можно грузить с любой из 2 флешек. соответственно надо добавить соотв. контроллер - epcs или cfi (и ресет туда выставить). если epcs - не забудьте соотв. ноги объявить в ассигментах как Regular I/O. надо еще уточнить по объему, сколько требуется для конфигурации самой ПЛИС, для процессора может не хватить памяти. я бы поставил cfi. и еще, судя по MSEL, режим загрузки циклона - active serial, так что dclk обязан заходить на epcs. если есть возможность, проверьте тестером.
Stewart Little
Цитата(juvf @ Feb 14 2011, 12:51) *
Посмотрел принципиальную схему борды - генератор clk на epcs является не ПЛИС, а MAXII 240.

Если бы это было так, то ПЛИС не могла бы никогда сконфигурироваться от EPCS'ки.

Цитата(juvf @ Feb 14 2011, 12:51) *
И клок от епцс к DE0 подключен к ВХОДУ плис. Но в ниосе это выход. Как назначать пин у плис?

По поводу подключения контролера EPCS в выводам Cyclone III смотрите там : http://www.altera.com/support/kdb/solution...012007_792.html

Цитата(juvf @ Feb 14 2011, 12:51) *
Наверно такой способ прожига не подойдет.

Спорим, что подойдет? sm.gif

Цитата(juvf @ Feb 14 2011, 12:51) *
Может нужно слить аппаратную прошивку с программой в один файл и прошить его? Но это как сделать? Тоже не понятно.

Можно и так, то это слишком трансректальный способ.

Цитата(juvf @ Feb 14 2011, 12:51) *
Должен ли быть в ниосе epcs контроллер?

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

Еще раз призываю внимательно изучить документацию на FlashProgrammer!!!
juvf
ну как-то не идет........ Ни один из 3-х способов. Решил хотябы один способ освоить. Пусть будет с контроллером epcs. Добавил в ниос контроллер. Как пины на контроллере назначать?
Цитата
По поводу подключения контролера EPCS в выводам Cyclone III смотрите там : http://www.altera.com/support/kdb/solution...012007_792.html

Цитата
Therefore, in order to use the EPCS Configuration Controller the pins must be assigned manually, and the following settings must be made the Quartus® II software:

1. Choose Settings from the Assignments menu
2. Click Device and Pin Options from the Device category
3. Click Dual-Purpose Pins and then make the following changes:

Где в сетингах Device and Pin Options? так и не нашел.

В переводе naliwator исправленно Assignments->Devices->Device and Pin Options. Сделал Use as regular I/O. Но как пины назначить? Я так понял в схеме верхнего уровня создать примитив Pin xxxx ....... хз какой.... С большей вероятностью data0_to_the_epcs_controller должен быть входом, остальные выходы. (хотя не факт, возможно и что-то 2направлено). посоеденил пины к ниосу. После анализа...... что дальше? можно (или нужно) ли их в пин планере добавлять? Или в пинпланере не надо, а только в assignments editor и причем Location не назначать, а только, например для data0_to_the_epcs_controller назначить assignment name -> Data[0], а Location автоматом на стандартные ноги назначится?
vadimuzzz
после того как сделаете их Regular I/O, назначайте в пин-планнере. для циклона-3 они автоматом не назначаются
juvf
Цитата(vadimuzzz @ Feb 15 2011, 14:44) *
после того как сделаете их Regular I/O, назначайте в пин-планнере. для циклона-3 они автоматом не назначаются

тааак..... понятно.... спасибо ......
vadimuzzz
как соберете проект и зальете sof, в консоли наберите nios2-flash-programmer --epcs --debug --base=адрес_контроллера. должна появиться инфа типа:
Цитата
Using cable "USB-Blaster [USB 7-1.2]", device 1, instance 0x00
Resetting and pausing target processor: OK
Processor data bus width is 32 bits
Looking for EPCS registers at address 0x04001800 (with 32bit alignment)
Initial values: 0001703A 04C00074 9801483A 9CFFF804 983FFD1E 0000203A
Not here: reserved fields are non-zero
Looking for EPCS registers at address 0x04001900 (with 32bit alignment)
Initial values: 92400237 4A40100C 483FFD26 90000135 92400237 4A40200C
Not here: reserved fields are non-zero
Looking for EPCS registers at address 0x04001A00 (with 32bit alignment)
Initial values: 108001C4 1004D0FA 002EE03A 003F9C06 002EE03A 003F9506
Not here: reserved fields are non-zero
Looking for EPCS registers at address 0x04001B00 (with 32bit alignment)
Initial values: 00000000 00000000 00000000 00000000 00000000 00000000
Not here: SPI_SLAVE_SEL has 0 valid bits (should be between 1 and 16)
Looking for EPCS registers at address 0x04001C00 (with 32bit alignment)
Initial values: 00000000 00000000 00000260 00000000 00000000 00000001
Valid registers found
EPCS signature is 0x17
EPCS identifier is 0x012018
juvf
что-то подобное получилось, см рисунок. Но теперь ельф не грузится. Вообще я заметил, что загрузка кода для дебага в ниос зависит от расположения звезд. Похоже сейчас солнце в казероге, дебаг не грузится. Помогите разобраться.

Собрал в квартусе схему с ниосом. Вектор ресета на epcs контроллер. Скомпелял. теперь в эклипсе есть рабочий проект. заного сгенерировал BSP. Собрал проект. Вызвал Quartus Programmer и залил *.sof через JTAG в ПЛИС. Аппаратная часть стартовала и заработала в соответствии с разработкой в квартусе. ПКМ по проекту... Debug AS...->Debug Configuration... На вкладке Project нужный проект и нужный elf. На вкладке Target Connection нужный USB-Blaster. Жму кнопку Debug ..... Побежали цыфры с %%..... ошибка!!!

'Launching nameProject NIOS II Hardware Configuration' has encounted problem. Downloading ELF Process Failed.

смотрю лог

Failed Executing: [nios2-download, '--cable=USB-Blaster on localhost [USB-1]', --device=1, --instance=1, --sidp=0x1004158, --id=0x0, --timestamp=1297768557, /cygdrive/d/Work/Quartus/TestBench/software/frontEndOS/frontEndOS.elf] return code: 4, 'other error'
An exception stack trace is not available.

Что за ошибка? Иногда бывает бьюсь пол дня. на утро включаю - все работает. А иногда помогает пересборка без изменений ниоса, пересборка sof, пересборка BSP и программы для ниоса. Как это побороть?

alexPec
Тактовые проверьте, законстрейнены ли.
От звезд у меня зависело когда тактовый клок не законстрейнен был. Соберешь-работает, чуть поменял - уже не работает.
И тактовая то какая? Не 120 МГц надеюсь? У меня с -8 кристаллом стабильно система всегда работает только на 80 МГц
vadimuzzz
Цитата(juvf @ Feb 15 2011, 17:48) *
что-то подобное получилось, см рисунок.

все нормально, можно шить. насчет констрейнов - поищите по форуму, я вроде выкладывал. завтра еще раз выложу

вот по минимуму:
Код
# Clock constraints
create_clock -name {altera_reserved_tck} -period 100.000 -waveform { 0.000 50.000 } [get_ports {altera_reserved_tck}]
create_clock -name "sys_clk" -period 20ns [get_ports {osc_clk}] -waveform {0.000ns 10.000ns}
# Automatically constrain PLL and other generated clocks
derive_pll_clocks -create_base_clocks
# Automatically calculate clock uncertainty to jitter and other effects.
derive_clock_uncertainty
set_clock_groups -exclusive -group {altera_reserved_tck}

osc_clk замените на свое название. этого достаточно, чтобы завести проект с on-chip. если будет внешняя память, типа DDR, то нужно обязательно констрейнить и ее.
juvf
частота 50 МГц. констрейн настроил. Непомогло. с утра уже час как рыба на льду.
vadimuzzz
Цитата(juvf @ Feb 16 2011, 10:34) *
частота 50 МГц. констрейн настроил. Непомогло. с утра уже час как рыба на льду.

в отчете квартуса (и таймквеста) все нормально? Critical warnings нет?
juvf
Цитата(vadimuzzz @ Feb 16 2011, 09:39) *
в отчете квартуса (и таймквеста) все нормально? Critical warnings нет?
критикал ворнингов нет. тока почему то в отчете один пукт красный, Unconstrained Paths. см рис.

vadimuzzz
это он про I/O ругается, если внешнее ОЗУ не задействовано, можно забить. покажите конфиг системы (можно скрин из SOPC-билдера)
juvf
Цитата
покажите конфиг системы (можно скрин из SOPC-билдера)

как конфиг показать не знаю. а скрин - пожалуста

В sopc билдере 2 варнинга. тоже не понятные.
vadimuzzz
а линкера настройки какие? там в sdram ничего не пишется? если sdram задействована без констрейнов не обойтись
juvf
Цитата(vadimuzzz @ Feb 16 2011, 12:03) *
а линкера настройки какие? там в sdram ничего не пишется? если sdram задействована без констрейнов не обойтись

Ну я сам в проекте ни мапил память. ни каких секций не назначал. все по умолчанию. вот вывод линкера
Код
Info: Linking frontEndOS.elf
nios2-elf-g++  -T'../frontEndOS_bsp/linker.x' -msys-crt0='../frontEndOS_bsp/obj/HAL/src/crt0.o' -msys-lib=ucosii_bsp -L../frontEndOS_bsp   -Wl,-Map=frontEndOS.map   -O0 -g -Wall   -EL -mno-hw-div -mhw-mul -mno-hw-mulx  -o frontEndOS.elf obj/Buffer.o obj/KeeperDevices.o obj/Spi.o obj/devices/Device.o obj/devices/FM25CL64.o obj/devices/Register.o obj/devices/deviceInfo.o obj/init.o obj/main.o obj/timer.o obj/uart.o -lm
nios2-elf-insert frontEndOS.elf --thread_model ucosii --cpu_name cpu_0 --simulation_enabled false --id 0 --sidp 0x1004158 --timestamp 1297768557 --stderr_dev uart_0 --stdin_dev uart_0 --stdout_dev terminal --sopc_system_name cpuNew --quartus_project_dir "D:/Work/Quartus/TestBench" --jdi D:/Work/Quartus/TestBench/software/frontEndOS_bsp/../../topLevel.jdi
Info: (frontEndOS.elf) 211 KBytes program size (code + initialized data).
Info:                  7973 KBytes free for stack + heap.
Info: Creating frontEndOS.objdump
nios2-elf-objdump --disassemble --syms --all-header --source frontEndOS.elf >frontEndOS.objdump
[frontEndOS build complete]
vadimuzzz
Цитата(juvf @ Feb 16 2011, 13:09) *
Info: (frontEndOS.elf) 211 KBytes program size (code + initialized data).
Info: 7973 KBytes free for stack + heap.

к гадалке не ходи, это все в sdram только влезет. без констрейнов не взлетит. какой чип памяти?
juvf
Цитата(vadimuzzz @ Feb 16 2011, 12:34) *
к гадалке не ходи, это все в sdram только влезет. без констрейнов не взлетит. какой чип памяти?

ступил, действительно 8Мб - это сдрам. чип - Zentel A3V64S40ETP pdf в инклуде
vadimuzzz
Вот пример для похожего чипа (Micron, 32MB). Подправьте тайминги, в т.ч. и в настройках контроллера в билдере.
CODE

#**************************************************************
# sdram clocks (from PLL)
#**************************************************************
set main_clk pll1_inst|altpll_component|auto_generated|pll1|clk[0]
set sdram_clk pll1_inst|altpll_component|auto_generated|pll1|clk[1]
create_generated_clock -name sdram_clk_pin -source $sdram_clk

set_clock_groups -exclusive -group [list $main_clk $sdram_clk sdram_clk_pin]
#**************************************************************
# sdram timings
#**************************************************************
set tAC 5.4
set tOH 3
set tCM_Hold 0.8
set tCM_Setup 1.5
set tD_Hold 0.8
set tD_Setup 1.5
set tA_Hold 0.8
set tA_Setup 1.5
#**************************************************************
# Board Timings
set CLK_BD_MAX 0.1
set CLK_BD_MIN - 0.1
set DATA_BD_MAX 0.1
set DATA_BD_MIN - 0.1
#**************************************************************
#**************************************************************
# Set Input Delay
#**************************************************************
set_input_delay -max -clock sdram_clk_pin [expr $CLK_BD_MAX + $tAC + $DATA_BD_MAX] [get_ports {sdram_dq[*]}]
set_input_delay -min -clock sdram_clk_pin [expr $CLK_BD_MIN + $tOH + $DATA_BD_MIN] [get_ports {sdram_dq[*]}]
#**************************************************************
# Set Output Delay
#**************************************************************
set_output_delay -max -clock sdram_clk_pin [expr $DATA_BD_MAX + $tD_Setup - $CLK_BD_MIN] [get_ports {sdram_dq[*]}]
set_output_delay -min -clock sdram_clk_pin [expr $DATA_BD_MIN + $tD_Hold - $CLK_BD_MAX] [get_ports {sdram_dq[*]}]
set_output_delay -max -clock sdram_clk_pin [expr $DATA_BD_MAX + $tCM_Setup - $CLK_BD_MIN] [get_ports {sdram_cas_n sdram_ras_n sdram_we_n sdram_cs_n sdram_cke sdram_dqm[*]}]
set_output_delay -min -clock sdram_clk_pin [expr $DATA_BD_MIN + $tCM_Hold - $CLK_BD_MAX] [get_ports {sdram_cas_n sdram_ras_n sdram_we_n sdram_cs_n sdram_cke sdram_dqm[*]}]
set_output_delay -max -clock sdram_clk_pin [expr $DATA_BD_MAX + $tA_Setup - $CLK_BD_MIN] [get_ports {sdram_addr[*] sdram_ba[*]}]
set_output_delay -min -clock sdram_clk_pin [expr $DATA_BD_MIN + $tA_Hold - $CLK_BD_MAX] [get_ports {sdram_addr[*] sdram_ba[*]}]
#**************************************************************
# Set Multicycle Path
#**************************************************************
set_multicycle_path -from [get_clocks {sdram_clk_pin}] -to [get_clocks $main_clk] -setup -end 2
set_multicycle_path -from [get_clocks {sdram_clk_pin}] -to [get_clocks $main_clk] -hold -end 0

в примере анализ времянок идет без учета задержек распространения на плате, но на низких частотах это не влияет. собственно, работать должно и без констрейнов при одном условии: клок, который идет на чип памяти правильно сфазирован относительно клока контроллера. у вас в проекте я не увидел PLL, возможно, причина в этом. я делал так: с приведенными констрейнами собирал проект, при этом на PLL крутил фазу, чтобы попасть примерно в центр кострейнов. этого достаточно для стабильной работы. в проектах с DDR SOPC-билдер и квартус берут эту часть на себя, а тут приходится руками.
juvf
спасибо за помощь. буду разбираться
juvf
Цитата
у вас в проекте я не увидел PLL, возможно, причина в этом.
Нашел пример проекта c SDRAM для моей борды, для DE0. Там всего один констрейн - на внешний входной клок и в ниосе есть плл и клоки на озу идут с сдвигами. Сделал у себя так же. Всё рано не грузится elf. Правда в примере какой-то другой плл, в моём SOPC нет такого (10.1). Буду пробовать внешний плл и поиграюсь с фазами.
А есть какая-нибудь утилита для проверки SDRAM? Например можно из кансоли дать команду, типа nios2_check_SDRAM и она вернёт ответ по которому можно судить: правильно настроены клоки и работает ли сдрам? А то может сдрам исправно работает и проблема эльфа не в этом скрыта.
vadimuzzz
Цитата(juvf @ Feb 16 2011, 21:41) *
А есть какая-нибудь утилита для проверки SDRAM? Например можно из кансоли дать команду, типа nios2_check_SDRAM и она вернёт ответ по которому можно судить: правильно настроены клоки и работает ли сдрам? А то может сдрам исправно работает и проблема эльфа не в этом скрыта.

не помню такой, а в доках пишут что-то типа "если NIOS работает, то все нормально". проще всего проверить проект, собрав маленькую программу для on-chip memory. да, еще в примерах к эклипсу есть прога memtest (точно не помню), ей можно любую память потестить. но она довольно большая, чтобы упихать в on-chip, надо шаманить
juvf
Цитата(vadimuzzz @ Feb 17 2011, 06:54) *
не помню такой, а в доках пишут что-то типа "если NIOS работает, то все нормально". проще всего проверить проект, собрав маленькую программу для on-chip memory. да, еще в примерах к эклипсу есть прога memtest (точно не помню), ей можно любую память потестить. но она довольно большая, чтобы упихать в on-chip, надо шаманить

дак а как проверить память программой из ниоса, если программа в ниос не грузится? Проблема в том, что я не могу скомпелированную программу загрузить и запустить в ниосе.
vadimuzzz
Цитата(juvf @ Feb 17 2011, 08:56) *
дак а как проверить память программой из ниоса, если программа в ниос не грузится? Проблема в том, что я не могу скомпелированную программу загрузить и запустить в ниосе.

в настройках линкера (в bsp-editor) все секции выставить на он-чип.

немного в сторону от темы: у вас проблема в том, что вы взяли сложный проект + новые средства разработки + новое железо. где спрятался косяк не-телепату понять трудно. вот я и предлагаю - соберите простейший проект - процессор + он-чип + jtag-uart- соберите hello world. пашет - отлично, глюки эклипса (а они нередки) отметаем. не пашет - подбираем версии квартуса/ОС чтобы работало. заработало с он-чип - подключаем sdram, собираем, пробуем читать/писать. получилось - можно линковать в sdram.

а то можно извести уйму времени, а потом выяснится, что стоит винда-семерка, на которой такая-то версия квартуса не работает.
juvf
Сделал как доктор прописал. собрал Hallo word! В процессоре только ядро, ончип, джитаг, пио, сисАйДи и таймер. В эклипсе из шаблона сделал хеллоуВорд. Эльф не грузится. Вообще не понятно. При запуске Debug Configurations... в Error Log сипятся ошибки. см рис. потом при запуске дебага опять сыпятся теже ошибки. Когда эльф грузился и дебаг нормально работал - эти ошибки тоже сыпались. А т.к. альтера генерит варненги и рекомендует на них не обращять внимания, то на эти ошибки я тоже не обращял внимания. Работает ведь. Может в этом дело? Что это за ошибки и как от них избавится?

CPU master group not set. что за группа и как её установить?

CPU architecture type not set. - а это вообще кто?

ну и остальные.....


ps винда-семёрка. квартус 10.1

vadimuzzz
Цитата(juvf @ Feb 18 2011, 10:23) *
ps винда-семёрка. квартус 10.1

это к Stewart_Little

у меня такие вопросы: а давно в шаблонах появились примеры на C++? раньше вроде только сишные были. поддержку C++ по-моему надо явно включать в настройках BSP.
кстати, неплохо бы на эти самые настройки взглянуть. и да, в топку SysID, толку от него в этой ситуации 0, а мешает он часто.

вообще, симптомы напоминают жабоглюки. попробуйте обновить Java
juvf
Цитата(vadimuzzz @ Feb 18 2011, 10:17) *
это к Stewart_Little

у меня такие вопросы: а давно в шаблонах появились примеры на C++? раньше вроде только сишные были. поддержку C++ по-моему надо явно включать в настройках BSP.
кстати, неплохо бы на эти самые настройки взглянуть. и да, в топку SysID, толку от него в этой ситуации 0, а мешает он часто.

вообще, симптомы напоминают жабоглюки. попробуйте обновить Java

шаблон на Си. Это я переименовал исходник в срр. Не работает в си такой for(int i =0;... Преределал на си - теже проблемы.

Цитата
поддержку C++ по-моему надо явно включать в настройках BSP.
Я сотрю вывод компилятора, вроде по расширению нужный компилятор подхватывается.

А про жаву...... нашел на форуме альтеры подобные проблемы. вроде люди от них избавились путем переустановки эклипса. буду пробовать
juvf
Собрал двухпортовую память. Обычную, типа SDRAM. Пытаюсь подключить к ниосу. Не получается. Посмотрел примерный проект, собрал в ниосе новый контроллер памяти на базе Avalon Memory Mapped Tristate Slave, добавил в ниос новый контроллер, новыый контроллер, добавил в ниос tristate_bridge. Вроде в квартусескомпилялся проект.
Теперь в эклипсе пытаюсь достучаться до этой ОЗУ. Но как? Попытался создать в BSP секцию памяти и указать на этот контроллер - не получается, нет BSP редакторе в выборе этой памяти.
Есть какая нибудь дока по подключению двухпортовых озу или вообще, по созданию параллельной шины Adress/Data в ниосе? Как это делается? Для SRAM, для SDRAM? Для чего нужен Avalon Memory Mapped Tristate Slave и tristate_bridge?
Stewart Little
Цитата(juvf @ Mar 1 2011, 15:09) *
Теперь в эклипсе пытаюсь достучаться до этой ОЗУ. Но как? Попытался создать в BSP секцию памяти и указать на этот контроллер - не получается, нет BSP редакторе в выборе этой памяти.

Ну так обновите BSP.
В конце концов создайте BSP заново.
vadimuzzz
Цитата(juvf @ Mar 1 2011, 18:09) *
Теперь в эклипсе пытаюсь достучаться до этой ОЗУ. Но как? Попытался создать в BSP секцию памяти и указать на этот контроллер - не получается, нет BSP редакторе в выборе этой памяти.

в настройках компонента в билдере надо галку поставить "memory device" (название точно не помню, на той вкладке, где диаграмки)
juvf
Цитата(Stewart Little @ Mar 1 2011, 17:30) *
Ну так обновите BSP.

Ну так когда в BSP редактор заходишь, парсится *.sopcinfo. Если sopcinfo у меня обновлен, то я должен увидеть новые секции и регионы памяти. По крайней мере так было при добавлении епцс и сдрам. Почему то новый контроллер не виден в редакторе. см рисунок. Должен появится регион DacMemOut. Или его в ручную добавлять нужно? Может я в билдере его не так создал?


Цитата
в настройках компонента в билдере надо галку поставить "memory device"
- не нашел (((

На рисунке 2-портовая память. Как такую память подключить к ниосу? Что нужно сделать в SOPC билдере? Мосты, тристэйты, авалоны, от куда брать клок на память? Не могу найти доку по этим вопросам в альтере. была где-то. Не могу найти.
vadimuzzz
Цитата(juvf @ Mar 2 2011, 11:23) *
На рисунке 2-портовая память. Как такую память подключить к ниосу? Что нужно сделать в SOPC билдере? Мосты, тристэйты, авалоны, от куда брать клок на память? Не могу найти доку по этим вопросам в альтере. была где-то. Не могу найти.

вы поясните, что сделать хотите. 2-портовая память одним портом к ниосу, вторым к другому устройству? тут 2 варианта - либо через tristate bridge вытащить сигналы из SOPC наружу, либо интегрировать свой компонент в SOPC, тогда можно использовать компонент on-chip ram, у него есть 2 портовый режим.
juvf
Цитата(vadimuzzz @ Mar 2 2011, 10:58) *
вы поясните, что сделать хотите. 2-портовая память одним портом к ниосу, вторым к другому устройству? тут 2 варианта - либо через tristate bridge вытащить сигналы из SOPC наружу, либо интегрировать свой компонент в SOPC, тогда можно использовать компонент on-chip ram, у него есть 2 портовый режим.

"интегрировать свой компонент в SOPC" - ну протакую фичу вообще не знал....... Я хочу пока так: писать в 2-х портовую память из ниоса, а читать другим устройством.
vadimuzzz
Цитата(juvf @ Mar 2 2011, 12:23) *
"интегрировать свой компонент в SOPC" - ну протакую фичу вообще не знал....... Я хочу пока так: писать в 2-х портовую память из ниоса, а читать другим устройством.

пожалуй, проще начать с tristate bridge. посмотрите эту тему, я там описывал создание компонента из шаблона. при добавлении такого компонента-заглушки и бриджа, сигналы шины Avalon будут выведены наружу, прицепите их к памяти.
juvf
Цитата(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 разрядную шину? бага? Чем тактировать внеешнее озу? клоками ядра?
vadimuzzz
Цитата(juvf @ Mar 2 2011, 15:02) *
почему в графически ниос показывает 11 разрядную шину? бага?

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

да
W1nneR
Доброго времени суток Уважаемые гуру. Прошу о помощи.
С 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 тоже пусто... Прошу о помощи.

Заранее благодарен, с Уважением Дмитрий.
Stewart Little
Цитата(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"
vadimuzzz
SBT появился в 9-й версии (по-моему 9.1). лицензия на ниосовские IDE не нужна, они бесплатные. да и на квартус веб-эдишн тоже
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.