vvvictor 0 28 июня Опубликовано 28 июня (изменено) · Жалоба Quote Гуру, а никто не сталкивался с проблемами сборки в версии 1.9.9.03 ? Есть example от Sipeed - не могу его собрать в свежей версии(вернее он собирается, но не работает). При этом в версии 1.9.8.11 прекрасно и собирается и работает. Уже пробовал и файл с таймингами переделать добавив derived_clock и переделав PLLные выходы с create_clock на create_generated_clock При этом в свойствах проекта появилась опция Global->Constraints->Frequency(MHz) которая для моей FPGA 100MHz в дефолте, но на плате 27MHz. Попытки установить ее в Custom-27 в Windows версии обречены на провал - устанавливается после сохранения в 0.001, а в Linux версии хоть и устанавливается, но так же нерабочий битстрим собирает. ПРИ ЭТОМ. Если сперва залить битстрим из 1.9.8.11, а поверх него из 1.9.9.03 то всё работает... Это дубль моего вопроса в общей ветке ниже подробности: Исходные данные: Проект Example из GitHub Sipeed IDE1: Gowin 1.9.8.11 Education Windows IDE2: Gowin 1.9.9.03 Education Windows KIT: Tang Primer 20k Dock + OV5640 Результаты: Шаг 1. Открываем проект в IDE2, собираем, прошиваем Spoiler Шаг2. Открываем проект в IDE1, собираем, прошиваем Spoiler Шаг 3. Повторяем Шаг 1. Spoiler Шаг4. ОТКЛЮЧАЕМ KIT от питания, подключаем и повторяем Шаг 1. Spoiler При этом прошивка KIT-а проводилась Gowin Programmer из комплекта IDE2. Разницы в результатах между 1.9.9.03 Education и Full - нет Spoiler Появившаяся опция Frequency в свойствах проекта не помогает и в Windows версии сбрасывается в 0.001 вместо 27.000 Spoiler Изменено 28 июня пользователем vvvictor Подформатировал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 19 28 июня Опубликовано 28 июня · Жалоба 39 минут назад, vvvictor сказал: Education Вопрос 1: вам это обязательно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvvictor 0 28 июня Опубликовано 28 июня (изменено) · Жалоба 51 minutes ago, Zversky said: Вопрос 1: вам это обязательно? Я ниже писал, что разницы в результате между Full и Edu - нет. Вообще я с Full вожусь... Если вопрос обязательности касается именно примера - то это да - нужно.... Изменено 28 июня пользователем vvvictor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvvictor 0 28 июня Опубликовано 28 июня (изменено) · Жалоба И да, небольшое дополнение, до этого я "приаттачивал" к другим проектам HDMI для Tang Primer 20k Doc и Tang Nano 9k - вообще даже не заморачивался и не знал про эту опцию проекта с частотой и всё заработало... Но там мною использовались только rPLL и DVI_TX IP-блоки А в этом проекте они использовали плюсом и DDR3, и I2C, и FrameBuffer При этом, смею заметить, IP блоки у Sipeed сгенерированы еще в 1.9.8.07. Например в 1.9.9.03 у IP - DDR3 отсутствует один input, который применен в проекте. В документации его исключение упомянуто в истории... Изменено 28 июня пользователем vvvictor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 19 28 июня Опубликовано 28 июня · Жалоба 38 минут назад, vvvictor сказал: Если вопрос обязательности касается именно примера - то это да - нужно.... Я спросил не из праздного любопытства. Работал всё время на Full версии, и уверен, что разница вполне может быть там, где и не подозреваете. Знаю, что версия от версии имеют полное право генерировать битовый поток, не совпадающий с таковым (даже исключая заголовки), посему, если и коррелировать работу и отладку, то только на одинаковых версиях. А ставить Edu ради того, чтобы проверить и помочь вам в настоящее время временных ресурсом не имею, ибо всё тратится на поиски следующей своей работы) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvvictor 0 28 июня Опубликовано 28 июня · Жалоба 1 minute ago, Zversky said: А ставить Edu ради того, чтобы проверить Тут что-то чисто 1.9.8.11 vs 1.9.9.03, как мне кажется. Еще раз повторюсь 1.9.9.03 - работаю с Full и сравнивал результат(работает/не работает) c Edu этой же версии - одинаково. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 19 28 июня Опубликовано 28 июня · Жалоба 5 часов назад, vvvictor сказал: прошиваем покажите, как именно 5 часов назад, vvvictor сказал: Шаг 1. Открываем проект в IDE2, собираем 5 часов назад, vvvictor сказал: Шаг2. Открываем проект в IDE1, собираем Полученные битстримы покажите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvvictor 0 28 июня Опубликовано 28 июня · Жалоба 1 hour ago, Zversky said: покажите, как именно Spoiler Ну и в первом посте есть картинка с параметрами. А тут просто, даже не закрывая программатор, закрываю один IDE, открываю другой, пересобираю и измененный битстрим шью... 1 hour ago, Zversky said: Полученные битстримы покажите. Приложил OV5640_HDMI1024_DDR3.7z Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvvictor 0 28 июня Опубликовано 28 июня · Жалоба 5 hours ago, Zversky said: покажите, как именно Полученные битстримы покажите. Для "чистоты эксперимента" пересобрал в 1.9.8.11 Full top.7z Работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 222 28 июня Опубликовано 28 июня · Жалоба 14 минут назад, vvvictor сказал: Для "чистоты эксперимента" пересобрал в 1.9.8.11 Full top.7z Работает Сохраните логи сборки (выдачу синтезатора и плейсера) под разными версиями, заархивируйте и выложите здесь. Может быть их сравнение даст наводку на причину такого поведения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvvictor 0 28 июня Опубликовано 28 июня · Жалоба 7 minutes ago, makc said: Сохраните логи сборки (выдачу синтезатора и плейсера) под разными версиями, заархивируйте и выложите здесь. Может быть их сравнение даст наводку на причину такого поведения. OV5640_HDMI1024_DDR3.log.7z Сохранил impl полностью. Сборку вел через очистить и пересобрать. Битстримы внутри тоже есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 222 28 июня Опубликовано 28 июня · Жалоба Уже одну странность я вижу: в репорте top.rpt.html для 19811 VREF для сигналов шины DDR = VREF1_LOAD, а вот в варианте 19903 значение VREF = INTERNAL. В документации сказано: Неправильный референс - прямой путь к неработоспособности пинов проекта. Поэтому я вам предлагаю добиться, чтобы и у сборки под 19903 значение у VREF у пинов DDR было VREF1_LOAD. Причём в проекте (в файле CST) явно задано значение VREF=INTERNAL. Но 19811 похоже на это забивает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvvictor 0 28 июня Опубликовано 28 июня · Жалоба 34 minutes ago, makc said: Поэтому я вам предлагаю добиться, чтобы и у сборки под 19903 значение у VREF у пинов DDR было VREF1_LOAD. Сделал, но пока никаких изменений... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 222 28 июня Опубликовано 28 июня · Жалоба 9 минут назад, vvvictor сказал: Сделал, но пока никаких изменений... В репорте VREF изменился? Ещё меня несколько смущают предупреждения синтезатора: WARN (CK3000) : Can't calculate clocks' relationship between: "DDR3_Memory_Interface_Top_inst/gw3_top/i4/fclkdiv/CLKOUT.default_gen_clk" and "cmos_8_16bit_m0/cmos_16bit_clk" WARN (CK3000) : Can't calculate clocks' relationship between: "cmos_8_16bit_m0/cmos_16bit_clk" and "DDR3_Memory_Interface_Top_inst/gw3_top/i4/fclkdiv/CLKOUT.default_gen_clk" WARN (CK3000) : Can't calculate clocks' relationship between: "DDR3_Memory_Interface_Top_inst/gw3_top/i4/fclkdiv/CLKOUT.default_gen_clk" and "u_clkdiv/CLKOUT.default_gen_clk" WARN (CK3000) : Can't calculate clocks' relationship between: "u_clkdiv/CLKOUT.default_gen_clk" and "DDR3_Memory_Interface_Top_inst/gw3_top/i4/fclkdiv/CLKOUT.default_gen_clk" WARN (CK3000) : Can't calculate clocks' relationship between: "DVI_TX_Top/Pout_vs_dn[4]" and "u_clkdiv/CLKOUT.default_gen_clk" Обычно такие предупреждения не к добру... И ещё обратите внимание на Timing Report, в 1.9.9.03 всё заметно печальнее, т.к. к нарушениям Recovery Paths Table добавляются ещё и Removal Paths Table в области интерфейса с DDR3. Причём нарушения в списке Recovery Paths Table для 1.9.9.03 местами на 2 нс хуже, чем для 1.9.8.11 и это наводит на мысль о больших проблемах. Если интерфейс DDR3 работает нестабильно, то и весь проект с большой вероятностью будет чудить. PS: можно попробовать снизить рабочие частоты проекта и посмотреть, как это повлияет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvvictor 0 28 июня Опубликовано 28 июня · Жалоба 1 minute ago, makc said: Обычно такие предупреждения не к добру... Я обратил на них внимание, но забил по причине того, что они есть и в 1.9.8.11.... impl.7z последняя сборка с VREF1_LOAD И кстати, кто то может мне объяснить такое поведение: Если сборку от 1.9.9.03 залить поверх сборки 1.9.8.11, БЕЗ ОТКЛЮЧЕНИЯ ПИТАНИЯ - то проект работает. Если же питание(сиречь USB кабель) отключить-включить - то сборка неработающая. Предварительной очистки SRAM я не делаю - что такого там может неперезаписаться, что проект работает? 10 minutes ago, makc said: Обычно такие предупреждения не к добру... Там в *.sdc и не все сигналы похоже описаны... Я уже пытался их переписать - пока безрезультатно, но до описания сигналов в ворненгах пока еще даже не добирался... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться