Перейти к содержанию
    

Проблема с EPCS CycloneiV GX 150

Возникла проблема - файлом .jic EPCS64 шьется без проблем.

 

Как только пытаюсь прошить ниос флеш програмером - дает ошибку. Через консоль ниоса - тоже. Привожу результат, мне непонятно что оно хочет.

 

Сопц система,на мой взгляд, собрана правильно, чай не первый раз...

 

post-10359-1344593725_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сопц система,на мой взгляд, собрана правильно, чай не первый раз...

И на старуху бывает проруха...

Проверьте, не забыли ли чего:

а) epsc_flash_controller

б) адрес сброса

в) jtag debug-модуль в процессорном ядре

г) залита ли аппаратная часть проекта в ПЛИС до попытки программирования EPCS

д) настройки BSP

и прочая, и прочая...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а) epsc_flash_controller

 

Установлен

 

б) адрес сброса

 

на епцс контроллер

 

в) jtag debug-модуль в процессорном ядре

 

Есть, правда самый слабый ниос и, соответсвенно модуль уровня1. Тут нет ограничений?

 

г) залита ли аппаратная часть проекта в ПЛИС до попытки программирования EPCS

 

Залита, он даже пишет что сброс процессора ОК.

 

д) настройки BSP

 

И тут вроде все в порядке...

 

и прочая, и прочая...

 

А может в настройках проекта есть какая галка?

 

А вот че пишет ниосфлешпрограммер:

 

Info: 10.08.2012 16:45:10 - (FINE) sof2flash: Starting


Info: Info: *******************************************************************
Info: Info: Running Quartus II Convert_programming_file
Info: Info: Command: quartus_cpf --no_banner --convert --device=EPCS128 --option=D:/tdesign/Projects/Chibis2/altera/vpr2/vpr2/flash/vpr2_epcs_flash_controller_0.opt D:/tdesign/Projects/Chibis2/altera/vpr2/vpr2/vpr2.sof D:/tdesign/Projects/Chibis2/altera/vpr2/vpr2/flash/vpr2_epcs_flash_controller_0.pof
Info: Info: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings
Info:     Info: Peak virtual memory: 166 megabytes
Info:     Info: Processing ended: Fri Aug 10 16:45:13 2012
Info:     Info: Elapsed time: 00:00:03
Info:     Info: Total CPU time (on all processors): 00:00:03
Info: Info: *******************************************************************
Info: Info: Running Quartus II Convert_programming_file
Info: Info: Command: quartus_cpf --no_banner --convert D:/tdesign/Projects/Chibis2/altera/vpr2/vpr2/flash/vpr2_epcs_flash_controller_0.pof D:/tdesign/Projects/Chibis2/altera/vpr2/vpr2/flash/vpr2_epcs_flash_controller_0.rpd
Info: Info: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings
Info:     Info: Peak virtual memory: 144 megabytes
Info:     Info: Processing ended: Fri Aug 10 16:45:15 2012
Info:     Info: Elapsed time: 00:00:02
Info:     Info: Total CPU time (on all processors): 00:00:01
Info: 10.08.2012 16:45:15 - (FINE) sof2flash: Done
Info: Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Info: Resetting and pausing target processor: OK
Info: Processor data bus width is 32 bits
Info: Looking for EPCS registers at address 0x00001800 (with 32bit alignment)
Info:   Initial values: 0001703A 04C00074 9801483A 9CFFF804 983FFD1E 0000203A
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00001900 (with 32bit alignment)
Info:   Initial values: 92400237 4A40100C 483FFD26 90000135 92400237 4A40200C
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00001A00 (with 32bit alignment)
Info:   Initial values: 108001C4 1004D0FA 002EE03A 003F9C06 002EE03A 003F9506
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00001B00 (with 32bit alignment)
Info:   Initial values: 00000000 00000000 00000000 00000000 00000000 00000000
Info:   Not here: SPI_SLAVE_SEL has 0 valid bits (should be between 1 and 16)
Info: Looking for EPCS registers at address 0x00001C00 (with 32bit alignment)
Info:   Initial values: 00000000 00000000 00000260 00000000 00000000 00000001
Info:   Valid registers found
Info: EPCS signature is 0x00
Info: EPCS identifier is 0x000000
Info: No EPCS layout data - looking for section [EPCS-000000]
Info: Unable to use EPCS device
Info: Leaving target processor paused
Error: Error code: 8 for command: $SOPC_KIT_NIOS2/bin/nios2-flash-programmer "D:/tdesign/Projects/Chibis2/altera/vpr2/vpr2/flash/vpr2_epcs_flash_controller_0.flash" --base=0x1800 --epcs --accept-bad-sysid --device=1 --instance=0 '--cable=USB-Blaster on localhost [USB-0]' --program --verbose

 

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы писали, что шьете EPCS64, а флешпрограммер пишет про EPCS128.

 

Есть, правда самый слабый ниос и, соответсвенно модуль уровня1. Тут нет ограничений?

Тут нету.

 

А может в настройках проекта есть какая галка?

А какой режим конфигурации установлен для проекта в квартусе?

Какие установки для Dual-Purpose Pins?

Какая версия квартуса используется?

С какой доской работаете (со своей или с альтеровским китом)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы еще проверил соединение ног флеши с ниосом.

 

Судя по всему он видит EPCS контроллер, но не может прочитать даже ID флешки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы писали, что шьете EPCS64, а флешпрограммер пишет про EPCS128

Не знаю почему он так решил даже.

 

А какой режим конфигурации установлен для проекта в квартусе?

Какие установки для Dual-Purpose Pins?

Какая версия квартуса используется?

С какой доской работаете (со своей или с альтеровским китом)?

Доска самодельная.

post-10359-1344846005_thumb.jpg

post-10359-1344846021.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю почему он так решил даже.

 

 

Доска самодельная.

Незнай как у Вас, а у меня все ноги идущие на флешь сконфигурированы как "Regular IO" или что-то в этом роде, точно не помню. В топ-левел проекте цепляю их к СОПЦу, на EPCS контроллер. Иначе ругается в фиттере, что те ноги, которые идут на флешь, заняты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал настроить выводы как regular IO, тоже не помогло.

 

Может все-таки есть особенности у циклона4?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал настроить выводы как regular IO, тоже не помогло.

 

Может все-таки есть особенности у циклона4?

ХЗ, очень вряд ли. Ноги проверяли? Если не проверяли подцепление ног - посмотрите, мне кажется у Вас там что-то не то, у меня так:

 

СОПЦ----------НОГА ЧИПА

--------------------------------

dclk------------dclk

sce-------------flash_nce, ncso

sdo------------data1, asdo

data0--------- data0

 

Глупый вопрос: а на тайминги сопца не ругается? В SDC верно клоки указаны?

post-15968-1344960710_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

dclk------------dclk

sce-------------flash_nce, ncso

sdo------------data1, asdo

data0--------- data0

Принаться, я так и не удосужился прописать пины епцски в топлевеле, подключив к sopc. Попробую. Просто раньше я никогда не делал назначений этих пинов и все работало.

 

Глупый вопрос: а на тайминги сопца не ругается? В SDC верно клоки указаны?

Тут вроде все нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Принаться, я так и не удосужился прописать пины епцски в топлевеле, подключив к sopc. Попробую. Просто раньше я никогда не делал назначений этих пинов и все работало.

 

 

Тут вроде все нормально.

 

Похоже не у Вас одного... Сейчас собрал свой проект в квартусе 11 (в 9.1 был собран - дебажился, программировался без проблем в т.ч. ниос флешь программером). Все перепроверил - один в один с 9.1. Все дебажится, а вот программироваться не хочет :( Только вот ошибка вообще не понятная:

 

 

Info: 15.08.2012 23:20:37 - (FINE) sof2flash: Starting
Info: Info: *******************************************************************
Info: Info: Running Quartus II 32-bit Convert_programming_file
Info: Info: Command: quartus_cpf --no_banner --convert --device=EPCS128 --option=D:/altera_proj/research/rotator/flash/rotator_epcs_flash_controller_0.opt D:/altera_proj/research/rotator/rotator.sof D:/altera_proj/research/rotator/flash/rotator_epcs_flash_controller_0.pof
Info: Info: Quartus II 32-bit Convert_programming_file was successful. 0 errors, 0 warnings
Info:     Info: Peak virtual memory: 130 megabytes
Info:     Info: Processing ended: Wed Aug 15 23:20:41 2012
Info:     Info: Elapsed time: 00:00:04
Info:     Info: Total CPU time (on all processors): 00:00:04
Info: Info: *******************************************************************
Info: Info: Running Quartus II 32-bit Convert_programming_file
Info: Info: Command: quartus_cpf --no_banner --convert D:/altera_proj/research/rotator/flash/rotator_epcs_flash_controller_0.pof D:/altera_proj/research/rotator/flash/rotator_epcs_flash_controller_0.rpd
Info: Info: Quartus II 32-bit Convert_programming_file was successful. 0 errors, 0 warnings
Info:     Info: Peak virtual memory: 124 megabytes
Info:     Info: Processing ended: Wed Aug 15 23:20:44 2012
Info:     Info: Elapsed time: 00:00:03
Info:     Info: Total CPU time (on all processors): 00:00:03
Info: 15.08.2012 23:20:45 - (FINE) sof2flash: Done
Info: Reading override file "C:/altera/q11_1/nios2eds/bin/nios2-flash-override"
Info: Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Info: Resetting and pausing target processor: OK
Info: Reading System ID at address 0x000120E0: verified
Info: Processor data bus width is 32 bits
Info: Looking for EPCS registers at address 0x00011800 (with 32bit alignment)
Info:   Initial values: 0001703A 04C00074 9801483A 9CFFF804 983FFD1E 0000203A
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00011900 (with 32bit alignment)
Info:   Initial values: 92400237 4A40100C 483FFD26 90000135 92400237 4A40200C
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00011A00 (with 32bit alignment)
Info:   Initial values: 108001C4 1004D0FA 002EE03A 003F9C06 002EE03A 003F9506
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00011B00 (with 32bit alignment)
Info:   Initial values: 00000000 00000000 00000000 00000000 00000000 00000000
Info:   Not here: SPI_SLAVE_SEL has 0 valid bits (should be between 1 and 16)
Info: Looking for EPCS registers at address 0x00011C00 (with 32bit alignment)
Info:   Initial values: 000000FF 000000FF 00000260 00000000 000000FF 00000001
Info:   Not here: reserved fields are non-zero
Info: No EPCS registers found: tried looking at addresses
Info:      0x00011800, 0x00011900, 0x00011A00, 0x00011B00 and 0x00011C00
Info: Leaving target processor paused
Error: Error code: 8 for command: $SOPC_KIT_NIOS2/bin/nios2-flash-programmer "D:/altera_proj/research/rotator/flash/rotator_epcs_flash_controller_0.flash" --base=0x11800 --epcs --sidp=0x120E0 --id=0x0 --timestamp=1344164824 --device=1 --instance=0 '--cable=USB-Blaster on localhost [USB-0]' --program --verbose

 

Тут же проверил эту же плату прошить через ниос флешь программер в 9.1 - все ок, шьется, потом после вкл. питания запускается.

Что-то видимо в эклипсе 11 криво (конечно руки не исключение), тут у коллеги тоже проблема тоже в эклипсе 11 - ниос дебагер пробует загрузить код в парал. флешь при дебаге и ругается что не получается...

 

ГУРУ, что Вы скажете ? Как лечить баги?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сегодня поборол лень, прописал пины в пинпланере - через консоль шьется без проблем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сегодня поборол лень, прописал пины в пинпланере - через консоль шьется без проблем.

Похвально! Спасибо за информацию. А у меня тогда что за хрень (предыдущий мой пост)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Незнай как у Вас, а у меня все ноги идущие на флешь сконфигурированы как "Regular IO" или что-то в этом роде, точно не помню.

В топ-левел проекте цепляю их к СОПЦу, на EPCS контроллер. Иначе ругается в фиттере, что те ноги, которые идут на флешь, заняты.

Я тоже столкнулся с тем, что фиттер на это ругается.

 

А надо ли цеплять на на EPCS контроллер все ноги, идущие на EPCS? Похоже, что не надо, они цепляются Квартусом автоматически.

Вот что об этом написано в Embedded Peripherals IP User Guide, раздел 5. EPCS Serial Flash Controller Core.

Там сказано, что основной способ - это использовать dedicated pins как они есть, а не назначать их как "Regular IO":

The Altera EPCS configuration device connects to the FPGA through dedicated pins on the FPGA, not through general-purpose I/O pins.

In all Altera device families except Cyclone III and Cyclone IV, the EPCS serial flash controller core does not create any I/O ports on the top-level SOPC Builder system module.

If the EPCS device and the FPGA are wired together on a board for configuration using the EPCS device (in other words, active serial configuration mode), no further connection is necessary

between the EPCS serial flash controller core and the EPCS device.

When you compile the SOPC Builder system in the Quartus II software, the EPCS serial flash controller core signals are routed automatically to the device pins for the EPCS device.

 

Если это действительно так, то у меня такой вопрос.

Я весь проект делаю в .bdf и из QSYS использую .bsf.

Как мне тогда правильно воспользоваться вышеприведённым абзацем из описания по EPCS Serial Flash Controller Core?

Просто оставить пины EPCS-контроллера не подключенными даже без подвода к ним символов Input и Output?

post-5832-1382909238_thumb.png

И назначать ли в .qsf конкретные пины для контактов EPCS-контроллера? Но тогда ( как было сказано выше ) будет ругаться фиттер ....

Как правильно поступить?

 

А вот в альтернативном варианте с назначением как "Regular IO" действительно все ноги, идущие на EPCS, надо цеплять на EPCS контроллер:

 

You, however, have the option not to use the dedicated pins on the FPGA (active serial configuration mode) by turning off the respective parameters in the MegaWizard interface.

When this option is turned off or when the target device is a Cyclone III or Cyclone IV device, you have the flexibility to connect the output pins, which are exported to the top-level design, to any EPCS devices.

Perform the following tasks in the Quartus® II software to make the necessary pin assignments:

■ On the Dual-purpose pins page (Assignments > Devices > Device and Pin

Options), ensure that the following pins are assigned to the respective values:

■ Data[0] = Use as regular I/O

■ Data[1] = Use as regularr I/O

■ DCLK = Use as regular I/O

■ FLASH_nCE/nCS0 = Use as regular I/O

■ Using the Pin Planner (Assignments > Pins), ensure that the following pins are

assigned to the respective configuration functions on the device:

■ data0_to_the_epcs_controller = DATA0

■ sdo_from the_epcs_controller = DATA1,ASDO

■ dclk_from_epcs_controller = DCLK

■ sce_from_the_epcs_controller = FLASH_nCE

 

Именно этот вариант судя по всему и использовали alexPec и torik и проблем не было?

Как лучше поступить?

1-й вариант рекомендуется Альтерой как основной, но по нему есть вопросы.

2-й вариант рекомендуется Альтерой как вторичный, но по нему вроде бы всё ясно?

Вообщем, хотелось бы разобраться в этом вопросе.

И ещё, какой из этих 2-х вариантов подходит для случая, когда в EPCS хранится и конфигурационный файл для схемы AS, и программа для NIOS?

 

P.S. Напоминаю, что речь идёт о Cyclone IV.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...