|
Как сделать конфигурационную схему для Cyclone IV через JTAG ( для отладки) и через PS ( для работы )?, На одной плате. |
|
|
|
Aug 3 2013, 12:45
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Вроде бы описание удобства такой схемы и сами схемы есть в этом документе - AN656: Combining Multiple Configuration Schemes: http://www.altera.com/literature/an/an656.pdfТо есть мне как раз и нужно, чтобы на плате была бы возможность каждый раз не программировать Configuration Device при внесении изменений в проект, а для оперативности иметь возможность загрузить конфигурационную схему напрямую в ПЛИС через JTAG. Но что за странные Configuration Devices там изображены?
У EPCS ведь только есть сигналы DATA, DCLK, OE, nCS, а у этих ещё и JTAG-сигналы... Что это за дивайсы? А вообще я рассчитывал найти схему Programming Serial Configuration Devices In-System Using the JTAG Interface аналогичную этой с обычными EPCS, но не для AS, а для PS .
|
|
|
|
|
Aug 3 2013, 14:01
|
Знающий
   
Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111

|
Цитата(FLTI @ Aug 3 2013, 16:45)  Но что за странные Configuration Devices там изображены? Может что-то из старого кочует, есть ведь EPC2 как раз с JTAG. А чем схема с 6й страницы не нравится? Под циклон 3 делал почти как нарисовано, только с одним разъемом подключенным к JTAG и резистором между DATA и DATA0.
|
|
|
|
|
Aug 3 2013, 18:42
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Спасибо! Теперь понятно! Значит я буду использовать вот эту схему ( рис. 2 из AN656 ):
То есть поставлю Cyclone IV и EPC2 в единую JTAG-цепочку и смогу программировать с помощью USB-Blaster через Quartus Programmer Tool в режиме JTAG по необходимости или ПЛИС, или EPC2. Верно? Дополнение. Оказывается EPC2 мне не подойдёт, т.к. в него не поместится конфигурационный файл ( размер *.SOF для Cyclone IV GX22 BGA324 = 7,600,040 бит). А в максимальный EPC2 помещается только 1,695,680 бит. Остаётся только Enhanced Configuration Devices EPC16? Но он дороже самой Cyclone IV GX22 BGA324, которую он должен конфигурировать Что ещё можно использовать, чтобы сконфигурировать Cyclone IV GX22 BGA324 конфигурационным файлом размером около 10 Мбит быстрее чем за 100 мс?
|
|
|
|
|
Aug 4 2013, 06:08
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Raven @ Aug 4 2013, 07:51)  А чем вам AS не угодил (ну и EPCS, соответственно)? В Cyclone IV Datasheet и Cyclone IV Design Guidelines сказано, что чтобы выполнить требования PCIe wake-up time =100мс для Cyclone IV GX22 BGA324 надо использовать именно PS. Но подтверждение расчётами я этому не нашёл нигде... За счёт чего PS быстрее, чем AS? А для схемы AS расчёт даётся. Для моего случая это было бы: 7,600,040 bits х ( 25 нс / 1 bit ) = 190 мс. То есть вдвое больше, чем необходимые 100мс. И это при том, если использовать тактовую на максимуме 40 МГц.
|
|
|
|
|
Aug 4 2013, 08:54
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(FLTI @ Aug 4 2013, 10:08)  ...чтобы выполнить требования PCIe wake-up time =100мс Вона что выясняется в процессе...  Цитата(FLTI @ Aug 4 2013, 10:08)  В Cyclone IV Datasheet и Cyclone IV Design Guidelines сказано, что чтобы выполнить требования PCIe wake-up time =100мс для Cyclone IV GX22 BGA324 надо использовать именно PS. Но подтверждение расчётами я этому не нашёл нигде... За счёт чего PS быстрее, чем AS? Так понятно почему - у EPC тактовая м.б. до 100 МГц супротив 40 для EPCS. Но для такого применения я бы использовал многобитную шину D[7:0] ,- те же EPC в соответствующем режиме, ну или что-то на альтернативных FLASH'ах. Будете иметь соответствующее понижение fCLK и меньше проблем.
|
|
|
|
|
Aug 4 2013, 12:08
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Raven @ Aug 4 2013, 12:54)  Но для такого применения я бы использовал многобитную шину D[7:0] ,- те же EPC в соответствующем режиме, ну или что-то на альтернативных FLASH'ах. Будете иметь соответствующее понижение fCLK и меньше проблем. Вы имеете в виду 8-bit PS или FPP? Если FPP, то Cyclone IV GX22 BGA324 такой режим не поддерживает.
|
|
|
|
|
Aug 4 2013, 12:42
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(FLTI @ Aug 4 2013, 15:08)  Чем подешевле из альтернативных FLASH можно заменить EPC4 ? Насколько я знаю, ничем. Нет у нее аналогов. Как вариант можно исполльзовать внешие хост и память. В качестве хоста можно использовать или микроконтроллер (если он потянет нужную частоту), или автомат на CPLD'шке, например MAX II. Смотрите Configuration and Remote System Upgrades in Cyclone IV Devices , стр.8-33. Для перепрошивки внешней памяти можно использовать Parallel Flash Loader.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 4 2013, 16:24
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Попробовал конвертнуть *.sof в *.pof , но в меню выходного файла почему-то нет EPC4 и других Enhanced Configuration Devices, но есть EPC1, EPC2 b EPC1441. Почему нет EPC4 и других более старших Enhanced Configuration Devices? Quartus 12.1
|
|
|
|
|
Aug 4 2013, 18:08
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Raven @ Aug 4 2013, 12:54)  Так понятно почему - у EPC тактовая м.б. до 100 МГц супротив 40 для EPCS. Так и у EPCQ в режиме Fast read тактовая может быть 100МГц. Тогда для моего случая получается так: 7,600,040 bits х ( 10 нс / 1 bit ) = 76 мс < 100 мс ну и плюс ещё некий запас создастся за счёт применения компрессии. И задача конфигурирования за время меньше 100 мс для PCIe получается решена применением вместо PS схемы с AS но не с EPCS, а с EPCQ? Всё ли правильно в моих рассуждениях? В остальном использование EPCQ в режиме AS x1 аналогично EPCS? Если всё верно, то последний вопрос - как для EPCQ включить режим Fast read, чтобы он работал на 100 МГц, а не на 50 Мгц как в обычном режиме?
|
|
|
|
|
Aug 4 2013, 19:09
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(FLTI @ Aug 4 2013, 16:08)  Вы имеете в виду 8-bit PS или FPP? Если FPP, то Cyclone IV GX22 BGA324 такой режим не поддерживает. Да, на чип я не глянул... Остается только вариант 1-bit PS на 80-100 МГц, с реализацией либо на EPC, либо на FLASH + CPLD. Но с проводкой цепей надо будет постараться. Цитата(FLTI @ Aug 4 2013, 22:08)  Так и у EPCQ в режиме Fast read тактовая может быть 100МГц. ... И задача конфигурирования за время меньше 100 мс для PCIe получается решена применением вместо PS схемы с AS но не с EPCS, а с EPCQ? Всё ли правильно в моих рассуждениях? Да, но ваш Cyclone готов работать только на 40 МГц в AS Fast-режиме максимум. А вот PS готов обслуживать до 133 МГц.
|
|
|
|
|
Aug 4 2013, 19:15
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Raven @ Aug 4 2013, 23:09)  Да, но ваш Cyclone готов работать только на 40 МГц в AS Fast-режиме максимум. А вот PS готов обслуживать до 133 МГц. Cyclone IV GX готов работать только на 40 МГц максимум в AS Fast-режиме только с EPCS или с EPCQ тоже? И даже через CLKUSR?
|
|
|
|
|
Aug 4 2013, 19:53
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Raven @ Aug 4 2013, 23:22)  AS - Cyclone iV handbook, page 8-12 (aka 176). Да, согласен , и ещё на рис. 8-2 это обозначено. Жаль, значит Cyclone IV GX и с EPCQ сможет работать только на 40 МГц Цитата(Raven @ Aug 4 2013, 23:09)  Остается только вариант 1-bit PS на 80-100 МГц, с реализацией либо на EPC, либо на FLASH + CPLD. Но с проводкой цепей надо будет постараться. Если на EPC, то тогда остаётся вопрос - почему в Квартусе 12.1 нет EPC4 и других более старших Enhanced Configuration Devices в меню выбора дивайса в конверторе из sof в pof, а есть только старые EPC1 и EPC2?
Это скорее всего баг?
|
|
|
|
|
Aug 5 2013, 18:42
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(krux @ Aug 5 2013, 22:34)  Честно скажу - EP4CGX22 для PCI-Express это очень странный выбор. По емкости слишком малый ИМХО. Не проблема, есть PCIe платы и на EP4CGX15. А вот с конфигурацией я пока что завяз  Посмотрим, что выбором дивайсов в Q 13.0 sp1 имеется. Может компрессия поможет. Скажите точно - есть ли компрессия в EPC и есть ли в EPCS? А то я видел противоречивую инфу на эту тему.
|
|
|
|
|
Aug 5 2013, 18:56
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(krux @ Aug 5 2013, 22:51)  в EPCS и EPCQ компрессия есть и работает. Как тогда относиться к этому в заголовке даташита по EPCS? On-chip compression support: No
И почему включение компрессии недоступно при выборе EPCS16?
Всё это баги Квартуса?
|
|
|
|
|
Aug 5 2013, 19:10
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(krux @ Aug 5 2013, 23:07)  галочка "Generate Compressed bitstream" находится в Assignments -> Device -> Device and pin options. Это я знаю, пробовал, но судя по инфе в *.map файле *.pof получается одинаково заполненным независимо от положения этой галочки.
|
|
|
|
|
Aug 5 2013, 19:22
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(krux @ Aug 5 2013, 23:16)  Сжатие .sof весьма условное. Если размер почти одинаковый, считайте, с компрессией вам не повезло. Тем более, что гарантий сжатия хоть на полпроцента никто не давал.
зы. .jic и .pof насколько я понимаю всегда равен полному объему записываемой ROM. Не уверен, разбираюсь с этим, видел противоречивую инфу. А ещё посмотрите страницу 8-2 Configuration Handbook. Там о включении компресии сказано, что оно делается как вариант всё же в Convert Programming File: In the SOF File Properties dialog box, turn on the Compression option. Да, нашёл это место , это не там, где я на скришоте обвёл! И вот здесь компрессия реально сработала!!!Вообщем я пока с большим запасом помещаюсь в EPCS4 размером 4 Мбита, а это значит на 40 МГц я смогу уложиться в PCIe wake-up time =100 мс. Уффф! Всем спасибо за помощь! P.S. Компрессия реальная оказалась почти втрое! А галочка "Generate Compressed bitstream" в Assignments -> Device -> Device and pin options реально не работает, по крайней мере в Q 12.1.
|
|
|
|
|
Aug 5 2013, 19:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596

|
Цитата Compression may reduce the configuration bitstream size by 35 to 55% вы про это? Запомните, в аглицких документах применяется 4 термина: 1) may 2) could 3) shall 4) must в полядке увеличения ответственности. За использование may можно вообще никакой ответственности не нести. Если в документе написано must а вы это проигнорировали - эквивалентно расстрелу на месте. Если переводить на русский - если компрессия по какимто причинам не работает - никого в Альтере это не волнует. Например, если конвертер quartus_asm, GUI которого - "Generate programming files" - не позволяет перепаковать файлы без компрессии в файлы с компрессией - это тоже мало кого волнует; всех устраивает то, что он их умеет упаковывать при изначальном создании .sof
Сообщение отредактировал krux - Aug 5 2013, 19:46
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
|
|
|
|
|
Aug 6 2013, 01:37
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(FLTI @ Aug 5 2013, 23:22)  Вообщем я пока с большим запасом помещаюсь в EPCS4 размером 4 Мбита, а это значит на 40 МГц я смогу уложиться в PCIe wake-up time =100 мс. Не торопитесь радоваться пока. Для полноты картины выясните - а за какое время сжатый втрое файл распаковывается. И даже больше - сколько времени проходит от снятия reset'а до INIT_DONE, и далее до готовности работать на PCIe (или как там завершение wake-up определяется?..). Ведь даже при оптимистической оценке (4 Мбит - 40 МГц) все на краю или даже за пределами находится. Ну, а если с этим все будет Ок, - очень с большим пиететом отнеситесь к разводке этих 4-х сигналов AS'а (а если подставите туда разъем - не забудьте диоды и конденсаторы). На 40 МГц с signal integrity не шутят, и это подтверждается парой совсем недавних тем на форуме (AS конфигурирование Cyclone iV).
|
|
|
|
|
Aug 6 2013, 06:15
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Raven @ Aug 6 2013, 05:37)  Не торопитесь радоваться пока. Для полноты картины выясните - а за какое время сжатый втрое файл распаковывается. И даже больше - сколько времени проходит от снятия reset'а до INIT_DONE, и далее до готовности работать на PCIe (или как там завершение wake-up определяется?..). Ведь даже при оптимистической оценке (4 Мбит - 40 МГц) все на краю или даже за пределами находится. Как это выяснить? А если результирующий *.pof или *.jic с учётом компрессии по данным в *.map заполнен полезными данными лишь наполовину ( остальное забито 0xff ), то какое будет время загрузки - 100 мс или 50 мс? Я думаю, что 50 мс, т.е реальное время загрузки EPCS определяется временем загрузки только полезных данных. Иначе бы не работали реальные схемы на PCIe, в которых используется EPCS16. Ведь если бы EPCS16 даже заполненная на 10% грузилась бы 16Мбит x 25 нс = 400 мс, то PCIe схема не заработала бы . А если так, то у меня есть запас, т.к EPCS4 у меня пока заполнена лишь на 70%. Но как вычислить время декомпрессии я хотел бы узнать, тк возможно заполнение вырастет и до 90% по ходу дополнения проекта.
|
|
|
|
|
Aug 6 2013, 13:31
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Я обратил ваше внимание на этот момент, гляда на проблему с самой общей точки зрения. На практике, возможно, все веселее - например, аппаратная часть Циклона конвейерно распаковывает сжатый поток, что дает нам всего лишь небольшой довесок в конце ко времени конфигурирования. Но может, все и не так (или не совсем так). Варианты: 1) глянуть документацию (может, где эта деталь и описана); 2) проверить на практике на идентичном или даже просто близком чипе - надо ведь проверить конкретный принципиальный момент; 3) спросить у StewartLittle  P.S. Завршение конфигурирования, конечно же, происходит по достижению конца действительных конф.данных, а не конца всей конф. памяти. Я имел в виду следующее: 4 Mb (размер уже сжатого вашего файла, как я понял) * 25 ns (40 MHz) = ~100 ms. Даже чуть больше. А ведь в этот момент ваша логика еще даже не проиницилизирована в смысле FPGA конфигурирования, а после оживления ведь тоже какая-то reset sequence возможна. Так что, строго говоря, спецификация PCIe оказывается нарушенной.
|
|
|
|
|
Aug 6 2013, 13:35
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Raven @ Aug 6 2013, 17:31)  Я имел в виду следующее: 4 Mb (размер уже сжатого вашего файла, как я понял) * 25 ns (40 MHz) = ~100 ms. Нет, я же ранее сказал: у меня есть запас до 100 мс, т.к EPCS4 у меня пока заполнена лишь на 70%. Сейчас выясняю, насколько реально мне хватит этого запаса, дополняя проект ещё нужными блоками. А распаковка Циклоном судя по всему идёт на лету и занимает доп. время.
|
|
|
|
|
Aug 6 2013, 14:36
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Александр77 @ Aug 6 2013, 18:31)  Рассматривался ли вариант каскадирования конфигурационных ПЗУ типа EPC1/EPC2? (При условии что с них реально загрузится этот циклон, что надо бы проверить) Меня сбило с толку, что EPC4, 8, 16 в Квартусе 12.1 отсутствуют в списке в Convert Programming Files и я пока EPC вообще отложил в сторону. Планирую скоро посмотреть , есть ли они на 13.0 sp1. На Вашем Квартусе есть EPC4, 8, 16 ?
|
|
|
|
|
Aug 6 2013, 15:47
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(FLTI @ Aug 6 2013, 18:36)  Меня сбило с толку, что EPC4, 8, 16 в Квартусе 12.1 отсутствуют в списке в Convert Programming Files и я пока EPC вообще отложил в сторону. Планирую скоро посмотреть , есть ли они на 13.0 sp1. На Вашем Квартусе есть EPC4, 8, 16 ? В v13.0_sp1 их нету. Для конфигурирования Cyclone IV в режиме PS альтера рекомендует использовать внешний хост + параллельный флэш. Поищите аппноту про Parallel Flash Loader - там описывается, как сделать хост на MAX II или MAX V. Имхо это будет самое дешевое решение при требуемой скорости. Когда вычисляете время загрузки, то не забывайте добавить к нему время POR (соответствующее используемому режиму) и время инициализации (т.е. время между CONF_DONE и INIT_DONE). Компрессия у Альтеры проста, как грабли - из битстрима выбрасывается установка тех конфигурационных ключей, значение которых совпадает с дефолтным (т.е. имеющимся по включению питания). Потому-то и невозможно априори оценить степень сжатия, т.к. она будет очень сильно зависеть от проекта.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 9 2013, 12:23
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Stewart Little @ Aug 6 2013, 19:47)  Для конфигурирования Cyclone IV в режиме PS альтера рекомендует использовать внешний хост + параллельный флэш. Поищите аппноту про Parallel Flash Loader - там описывается, как сделать хост на MAX II или MAX V. Имхо это будет самое дешевое решение при требуемой скорости. Вы имеете в виду эту схему? Parallel Flash Loader будет в MAX II?
Если да, то подскажите - где бы можно было бы посмотреть принципиальную схему такого подключения? Идеально было бы посмотреть принципиальную схему какой-нибудь оценочной платы с конфигурационной схемой: MAX II + NOR Flash Memory + Cyclone GX.
|
|
|
|
|
Aug 9 2013, 15:14
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(FLTI @ Aug 9 2013, 16:23)  Вы имеете в виду эту схему? Parallel Flash Loader будет в MAX II? Да. По обоим вопросам. Цитата(FLTI @ Aug 9 2013, 16:23)  Если да, то подскажите - где бы можно было бы посмотреть принципиальную схему такого подключения? Это, наверное, надо копаться в схематиках на старые отладочные платы, что-нибудь типа Stratix II. И нет факт, что удастся найти. Да и особого смысла в этом я не вижу. Быстрее будет самому нарисовать, соответствующие мануалы и даташиты покуривши.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Oct 10 2013, 21:52
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Stewart Little @ Aug 6 2013, 19:47)  Когда вычисляете время загрузки, то не забывайте добавить к нему время POR (соответствующее используемому режиму) и время инициализации (т.е. время между CONF_DONE и INIT_DONE). Это не столь большое добавочное время если использовать FAST POR: FAST POR + ( время между CONF_DONE и INIT_DONE ) = 3мс + 0,65 мс = 3,65 мс ( данные взяты из Cyclone IV Device Handbook ). Больше ничего не добавляется к непосредственному времени загрузки из EPCS в ПЛИС в режиме AS? Напомню, что мне нужно выполнить PCIe wake-up time =100мс, поэтому надо всё точно учесть.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|