BSACPLD 15 8 июля Опубликовано 8 июля · Жалоба 35 minutes ago, makc said: Как будто бы в его конце нет команд, аналогичных START+DESYNC у Xilinx. Как всё однако интересно... Чтобы долго не ждать сборки проекта сделал простейший проект со светодиодом - успешный старт из FLASH. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 8 июля Опубликовано 8 июля · Жалоба Частоту загрузки большой прошивки снижать пробовали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 8 июля Опубликовано 8 июля · Жалоба 8 minutes ago, makc said: Частоту загрузки большой прошивки снижать пробовали? Самая низкая стоит - 2.99M. Пробовал варианты 2.99, 11.76, 25. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 8 июля Опубликовано 8 июля · Жалоба Кажется я нашёл проблемное место... Если убрать из проекта доступ к FLASH, то проект успешно грузится из FLASH. generate if (FPGA_VENDOR == "PANGO") begin GTP_CFGCLK GTP_CFGCLK_inst ( .CE_N (1'b0), .CLKIN (qspi_sck_) ) ; end // if (FPGA_VENDOR == "PANGO") else if (FPGA_VENDOR == "XILINX") begin STARTUPE2 #( .PROG_USR ("FALSE"), // Activate program event security feature. Requires encrypted bitstreams. .SIM_CCLK_FREQ (0.0) // Set the Configuration Clock Frequency(ns) for simulation. ) STARTUPE2_inst ( .CFGCLK (), // 1-bit output: Configuration main clock output .CFGMCLK (), // 1-bit output: Configuration internal oscillator clock output .EOS (), // 1-bit output: Active high output signal indicating the End Of Startup. .PREQ (), // 1-bit output: PROGRAM request to fabric output .CLK (1'b0), // 1-bit input: User start-up clock input .GSR (1'b0), // 1-bit input: Global Set/Reset input (GSR cannot be used for the port name) .GTS (1'b0), // 1-bit input: Global 3-state input (GTS cannot be used for the port name) .KEYCLEARB (1'b0), // 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM) .PACK (1'b1), // 1-bit input: PROGRAM acknowledge input .USRCCLKO (qspi_sck_), // 1-bit input: User CCLK input // For Zynq-7000 devices, this input must be tied to GND .USRCCLKTS (1'b0), // 1-bit input: User CCLK 3-state enable input // For Zynq-7000 devices, this input must be tied to VCC .USRDONEO (1'b1), // 1-bit input: User DONE pin output control .USRDONETS (1'b1) // 1-bit input: User DONE 3-state enable output ) ; end // if (FPGA_VENDOR == "XILINX") endgenerate Если добавить, то перестаёт грузиться из FLASH. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 8 июля Опубликовано 8 июля · Жалоба 2 минуты назад, BSACPLD сказал: Если добавить, то перестаёт грузиться из FLASH. Хм, а как же тогда работать с конфигурационной флешкой после завершения конфигурации? 🤦♂️ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 8 июля Опубликовано 8 июля · Жалоба 47 minutes ago, makc said: Хм, а как же тогда работать с конфигурационной флешкой после завершения конфигурации? 🤦♂️ Вот у меня тот же вопрос... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 8 июля Опубликовано 8 июля · Жалоба 33 минуты назад, BSACPLD сказал: Вот у меня тот же вопрос... Попробуйте подать на вход CE_N GTP_CFGCLK не ноль, как у вас, а единицу. Идея проста: вам нужно включить управление выходом тактирования только после успешного завершения конфигурирования. А вы, возможно, его гробите где-то на раннем этапе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 8 июля Опубликовано 8 июля · Жалоба 24 minutes ago, makc said: Попробуйте подать на вход CE_N GTP_CFGCLK не ноль, как у вас, а единицу. Идея проста: вам нужно включить управление выходом тактирования только после успешного завершения конфигурирования. А вы, возможно, его гробите где-то на раннем этапе. Если CE_N это tristate, тогда ещё и внешний pull-up на qspi_sck придётся добавить. В принципе не страшно - можно 0805 припаять между 6 и 8 выводом FLASH. Благо она у меня в SOIC и сделать это совсем несложно. UPD. Если чисто 1 подать, то грузится. А вот если от логики, то не грузится. Пробовал ~locked от PLL подавать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 8 июля Опубликовано 8 июля · Жалоба 5 минут назад, BSACPLD сказал: Если чисто 1 подать, то грузится. А вот если от логики, то не грузится. Думается, что эту логику нужно привязать к отдельному триггеру с известным начальным состоянием, равным единице. Что там творится с PLL в момент старта - одному Панго известно. 7 минут назад, BSACPLD сказал: Если CE_N это tristate, тогда ещё и внешний pull-up на qspi_sck придётся добавить. Я думаю, что это скорее сигнал управления внутренним мультиплексором тактового сигнала конфигурационной флешки. Поэтому слабая подтяжка не повредит, но и не поможет в вашем случае. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 8 июля Опубликовано 8 июля · Жалоба 1 hour ago, makc said: Я думаю, что это скорее сигнал управления внутренним мультиплексором тактового сигнала конфигурационной флешки. Поэтому слабая подтяжка не повредит, но и не поможет в вашем случае. Походу нужен. Для Xilinx данный резистор не требуется. Получается, что Logos2 в версии без трансиверов хоть и pin-to-pin, но по схемотехнике немного отличается. 1 hour ago, makc said: Думается, что эту логику нужно привязать к отдельному триггеру с известным начальным состоянием, равным единице. Что там творится с PLL в момент старта - одному Панго известно. Привязал к триггеру, который изначально в 0 (все триггеры у PangoMicro по включению питания 0), проинвертировал сигнал, а условие установки триггера поставил на первое обращение к регистру адреса контроллера QSPI. Заработало. Костыли, костыли, костыли... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 9 июля Опубликовано 9 июля · Жалоба 8 часов назад, BSACPLD сказал: Привязал к триггеру, который изначально в 0 (все триггеры у PangoMicro по включению питания 0), проинвертировал сигнал, а условие установки триггера поставил на первое обращение к регистру адреса контроллера QSPI. А управлять с триггера, инициализированного единицей в прошивке (начальное значение после конфигурации), не получается? Если так, то непонятно чем инициализация инвертора и его коммутации отличается от инициализации начального состояния триггера, это ведь по сути одна и та же SRAM. Или вы так не пробовали? 8 часов назад, BSACPLD сказал: Костыли, костыли, костыли... Это ещё не костыли. 😅 У вас инженерные образцы Logos2 в 324 корпусе? Если да, то у них ещё была проблема с ресетом (точнее, установкой в '1' по ресету) триггеров в ячейках ВВ: единица не появлялась, только ноль. Если запретить размещение триггера в ячейке, то всё работает штатно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 9 июля Опубликовано 9 июля · Жалоба 2 hours ago, makc said: А управлять с триггера, инициализированного единицей в прошивке (начальное значение после конфигурации), не получается? Если так, то непонятно чем инициализация инвертора и его коммутации отличается от инициализации начального состояния триггера, это ведь по сути одна и та же SRAM. Или вы так не пробовали? Не пробовал, т.к. в Synplify с начальной инициализацией всегда были приколы. На мой взгляд с инвертором более предсказуемый вариант с точки зрения синтеза в Synplify. 2 hours ago, makc said: У вас инженерные образцы Logos2 в 324 корпусе? Если да, то у них ещё была проблема с ресетом (точнее, установкой в '1' по ресету) триггеров в ячейках ВВ: единица не появлялась, только ноль. Если запретить размещение триггера в ячейке, то всё работает штатно. 324 Вроде уже серийные должны быть... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 9 июля Опубликовано 9 июля · Жалоба Только что, BSACPLD сказал: Вроде уже серийные должны быть... Серийное производство намечается только в конце этого года. На сколько мне известно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 9 июля Опубликовано 9 июля · Жалоба Just now, makc said: Серийное производство намечается только в конце этого года. На сколько мне известно. Т.е. то что сейчас предлагают поставщики со складов, это опытные образцы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 9 июля Опубликовано 9 июля · Жалоба 1 минуту назад, BSACPLD сказал: Не пробовал, т.к. в Synplify с начальной инициализацией всегда были приколы. Не сталкивался, у меня ЕМНИП с этим всё было хорошо, если железо поддерживает такую возможность. 2 минуты назад, BSACPLD сказал: На мой взгляд с инвертором более предсказуемый вариант с точки зрения синтеза в Synplify. Возможно, но по-моему это выглядит избыточно. 5 минут назад, BSACPLD сказал: Т.е. то что сейчас предлагают поставщики со складов, это опытные образцы? Затрудняюсь ответить. Я узнавал по 25-м кристаллам, а для больших по ёмкости ситуация может быть иная. В общем нужно узнавать у поставщиков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться