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

Quartus Programmer "ругается"

По отдельности программируются нормально и EPM240 и MAX10,
а вместе не хочет. Что может мешать?
Auto Detect проходит нормально.

Цитата
Problem Details
Error:
Internal Error: Sub-system: PGME, File: /quartus/pgm/pgme/pgme_algorithm.cpp, Line: 1109
Illegal tap position
Stack Trace:
0x4f38e: PGME_ALGORITHM::get_id_index + 0x6e (pgm_pgme)
0x516fb: PGME_MAXII_ALGORITHM::get_open_ids + 0xab (pgm_pgme)
0x5611c: PGME_MAXII_ALGORITHM::init + 0x70c (pgm_pgme)
0x37c62: PGME_PROGRAMMER::engage + 0x1162 (pgm_pgme)
0xd425: MDB_FILE_NEW_DLG::OK_clicked + 0x75 (sys_mdb)
0x295b7: QThread::start + 0x427 (QtCore4)
0x24f7e: _beginthreadex + 0x106 (MSVCR120)
0x25125: _endthreadex + 0x191 (MSVCR120)
0x1652c: BaseThreadInitThunk + 0xc (kernel32)
0x2c520: RtlUserThreadStart + 0x20 (ntdll)

End-trace

Quartus Prime Version 17.1.0 Build 590 10/25/2017 SJ Lite Edition

Executable: quartus
Comment:
None

System Information
Platform: windows64
OS name: Windows 7
OS version: 6.1

Quartus Prime Information
Address bits: 64
Version: 17.1.0
Build: 590
Edition: Lite Edition

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


Ссылка на сообщение
Поделиться на другие сайты
Люди, помогите!
Надо срочно PCB заказывать, а проблему так и не решил.
Что делать?
Ставить два JTAG разъёма, индивидуально для двух "максов десятых" и двух "максов вторых" ?
Или всё таки получится в скором времени решить проблему и оставить один общий JTAG разъём?

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


Ссылка на сообщение
Поделиться на другие сайты
А что значит по отдельности программируются?
И пробовали ли квартус другой версии?
Впринципе всегда можно сделать jam файл для одной схемы и вручную поменять значения для PRE/POST IR/DR.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(dvladim @ Dec 17 2017, 22:00) <{POST_SNAPBACK}>
А что значит по отдельности программируются?

Установленный JTAG разъём оставил только для MAXII, все проводники идущие к MAX10 отрезал.
Для MAX10 навесным монтажём добавил другой разъём и необходимые резисторы.
В таком варианте обе пары чипов программируются и изделие работает.
Но это на плате оп.образца (чисто поиграться).
Сейчас надо 50 плат заказать.

Цитата(dvladim @ Dec 17 2017, 22:00) <{POST_SNAPBACK}>
И пробовали ли квартус другой версии?

Изначально стоял 16.0, поставил 17.1 результат тот же.

Цитата(dvladim @ Dec 17 2017, 22:00) <{POST_SNAPBACK}>
В принципе всегда можно сделать jam файл для одной схемы и вручную поменять значения для PRE/POST IR/DR.

Наверное из-за недостаточной образованности - ничего не понял.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(zombi @ Dec 17 2017, 22:35) <{POST_SNAPBACK}>
В таком варианте обе пары чипов программируются и изделие работает.

Итак проблема в двух разных типах в одной цепочке. Можете отдельно запрограммировать каждую схему? Не все одновременно, а по 1-й схеме за раз?

Цитата(zombi @ Dec 17 2017, 22:35) <{POST_SNAPBACK}>
Изначально стоял 16.0, поставил 17.1 результат тот же.

Я больше думал о старых версиях (типа 13.1 и т.п.) но вряд ли это применимо ((.

Цитата(zombi @ Dec 17 2017, 22:35) <{POST_SNAPBACK}>
Наверное из-за недостаточной образованности - ничего не понял.

Работа с JTAG сводится к работе с двумя последовательными регистрами: регистром инструкций (IRSCAN) и регистром данных (DRSCAN).
Работа с этими регистрами сводится к небольшому количеству команд которые описаны в стандартах (и соответственно форматах файлов): JESD71 и SVF.
Для формата jam stapl Quartus имеет интерпретатор, который используется примерно так: quartus_jli -a program project.jam
Ваша задача сводится к тому чтобы вместо непосредственно программирования получить jam файл, а затем выполнить его в интерпретаторе.
Речь шла непосредственно о командах PREIR POSTIR PREDR POSTDR. Изменив эти параметры интерпретатор в команды IRSCAN и DRSAN автоматически добавляет нужное количество незначащих бит и это позволяет без изменения остального jam применить его для любой схемы в цепочке.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(dvladim @ Dec 19 2017, 23:28) <{POST_SNAPBACK}>
Итак проблема в двух разных типах в одной цепочке.

Именно так.
Цитата(dvladim @ Dec 19 2017, 23:28) <{POST_SNAPBACK}>
Можете отдельно запрограммировать каждую схему? Не все одновременно, а по 1-й схеме за раз?

конечно. Но не по одной а по две пробовал.
Две одинаковые программируются нормально.
Думаю что и по одной запрограммируются.
И даже четыре чипа в цепочке (но все MAXII) в старых проектах нормально программировались.

Получается проблема в соединении между последним MAXII и первым MAX10.

Цитата(dvladim @ Dec 19 2017, 23:28) <{POST_SNAPBACK}>
Ваша задача сводится к тому чтобы вместо непосредственно программирования получить jam файл, а затем выполнить его в интерпретаторе.
Речь шла непосредственно о командах PREIR POSTIR PREDR POSTDR. Изменив эти параметры интерпретатор в команды IRSCAN и DRSAN автоматически добавляет нужное количество незначащих бит и это позволяет без изменения остального jam применить его для любой схемы в цепочке.

Auto Detect проходит нормально этим же программатором квартуса.
Микросхемы в цепочке определяются правильно!
Значит параметры команд интерпретатора правильные.
Или я ошибаюсь?

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(zombi @ Dec 20 2017, 12:56) <{POST_SNAPBACK}>
конечно. Но не по одной а по две пробовал.

Я спрашивал немного про другое. Для цепочки из 4-х схем в программаторе можно же выбрать галку только для одной схемы?
Т.е. можно отметить галочки программирования сразу для всех схем, а можно только для одной.
Вот если по одной - программируются или нет?
Если по одной не программируются, то такое поведение необъяснимо. Тогда останется только сделать jam для одной схемы и вручную изменить PRE/POST IR/DR.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(dvladim @ Dec 20 2017, 21:49) <{POST_SNAPBACK}>
Я спрашивал немного про другое.

Понял Вас.
Проверил.
Оказалось что по одной и по две одинаковые мс все программируется отлично и работает!!!
Но стоит только разрешить программирование хотя бы одной MAXII и MAX10 - всё как же вылетает с той же ошибкой.
Код
1234 < мс в цепочке 1,2-MAXII 3,4-MAX10
V---: ok
-V--: ok
VV--: ok
--V-: ok
---V: ok
--VV: ok
любые другие сочетания галок - вылет с ошибкой!

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


Ссылка на сообщение
Поделиться на другие сайты
В принципе это решение.
Для автоматизации можно запускать программатор из командной строки несколько раз.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(dvladim @ Dec 21 2017, 23:29) <{POST_SNAPBACK}>
В принципе это решение.
Для автоматизации можно запускать программатор из командной строки несколько раз.

Да, конечно. Спасибо что пнули в нужном направлении меня beer.gif

Странно что до сих пор никто не сталкивался с подобной проблемой!?
Неприятный осадок все же остался.
А вдруг я в разводке платы и/или в подключении MAX10 чего накосячил ...

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(zombi @ Dec 22 2017, 01:39) <{POST_SNAPBACK}>
А вдруг я в разводке платы и/или в подключении MAX10 чего накосячил ...

Нет. Это проблема в разных алгоритмах программирования ПЛИС.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(dvladim @ Dec 23 2017, 20:58) <{POST_SNAPBACK}>
Нет. Это проблема в разных алгоритмах программирования ПЛИС.

Т.е. intel/atmel просто не предусмотрели возможность подключения в цепочку JTAG своих же мс но с разными алгоритмами программирования?
Их косяк получается.
Или проблема не решаема в принципе?
Может в DS на MAX10 где то есть ограничения?

PS. Кстати, скачал Quartus Prime Programmer and Tools (32-bit) - результат тот же.

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


Ссылка на сообщение
Поделиться на другие сайты
Я полагаю это просто баг. Исправят в следующей версии.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(zombi @ Dec 23 2017, 21:49) <{POST_SNAPBACK}>
... intel/atmel ...

Все-таки Intel/Altera sm.gif
А Atmel - схаван Microchip'ом.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(zombi @ Dec 23 2017, 21:49) <{POST_SNAPBACK}>

Может в теме уже высказывали это предположение, но разве там не надо подсовывать "особые файлы", чтобы такая разношерстная цепочка корректно обходилась? Или такое нужно лишь для скана дорожек (BST кажись)?

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация