makc 192 1 сентября, 2022 Опубликовано 1 сентября, 2022 · Жалоба 58 минут назад, Zversky сказал: Т.е. путаницы нет. Попробуй пройтись по самой модели - чудес-то не бывает. Предлагаю для начала разобраться с документацией. В своей документации я вижу следующее: Т.е. параметры (generic) задают значения FBDIV напрямую. Вы же взяли формулу для определения этого параметра из описания входа динамической подстройки: Видите разницу? В одном случае есть 64 и слова "actual value is 64-...", а в другом просто "coefficient static setting". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 16 1 сентября, 2022 Опубликовано 1 сентября, 2022 · Жалоба 3 часа назад, makc сказал: Видите разницу? В одном случае есть 64 и слова "actual value is 64-...", а в другом просто "coefficient static setting". Спасибо. Читая документацию и свой код, я увидел вот что: Т.е. на него у меня приходят нули! Я прошёлся по коду модуля. И то, что я увидел rPll из библиотеки Gowin, сводится к следующему: Fclkout = Fclkin * (FBDIV_SEL + 1) / (IDIV_SEL + 1) Что в моём случае Fclkin = 25MHz defparam rpll_inst.IDIV_SEL = 4; defparam rpll_inst.FBDIV_SEL = 15; даёт Fclkout = 25MHz * 16 / 5 = 80MHz и совпадает с смоделированным. Приступаю к натурным экспериментам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 16 2 сентября, 2022 Опубликовано 2 сентября, 2022 · Жалоба Хотя нет, ещё экспериментов как раз с lock. # areset to pll_locked is 182,000 ns # areset to pll_locked is 52,000 ns # areset to pll_locked is 162,000 ns # areset to pll_locked is 152,000 ns Это всё в порядке вещей (для Altea MAX 10)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andr2I 0 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба В 31.08.2022 в 17:17, Zversky сказал: Всем добра. Пытаюсь завести означенный в теме модуль, сконфигурированный волшебником таким образом Показать контент // Copyright (C)2014-2022 Gowin Semiconductor Corporation. // All rights reserved. // File Title: IP file // GOWIN Version: V1.9.8.07 // Part Number: GW2AR-LV18LQ144C8/I7 // Device: GW2AR-18 // Created Time: Tue Aug 30 17:17:08 2022 module Gowin_rPLL ( input clkin, output clkout, output clkoutd, output clkoutd3, output clkoutp_o, output lock_o ); rPLL rpll_inst ( .CLKOUT ( clkout ), .LOCK ( lock_o ), .CLKOUTP ( clkoutp_o ), .CLKOUTD ( clkoutd ), .CLKOUTD3 ( clkoutd3 ), .RESET ( 1'b0 ), .RESET_P ( 1'b0 ), .CLKIN ( clkin ), .CLKFB ( 1'b0 ), .FBDSEL ( 6'b000000 ), .IDSEL ( 6'b000000 ), .ODSEL ( 6'b000000 ), .PSDA ( 4'b0000 ), .DUTYDA ( 4'b0000 ), .FDLY ( 4'b0000 ) ); defparam rpll_inst.FCLKIN = "25"; defparam rpll_inst.DYN_IDIV_SEL = "false"; defparam rpll_inst.IDIV_SEL = 4; defparam rpll_inst.DYN_FBDIV_SEL = "false"; defparam rpll_inst.FBDIV_SEL = 15; defparam rpll_inst.DYN_ODIV_SEL = "false"; defparam rpll_inst.ODIV_SEL = 8; defparam rpll_inst.PSDA_SEL = "0000"; defparam rpll_inst.DYN_DA_EN = "true"; defparam rpll_inst.DUTYDA_SEL = "1000"; defparam rpll_inst.CLKOUT_FT_DIR = 1'b1; defparam rpll_inst.CLKOUTP_FT_DIR = 1'b1; defparam rpll_inst.CLKOUT_DLY_STEP = 0; defparam rpll_inst.CLKOUTP_DLY_STEP = 0; defparam rpll_inst.CLKFB_SEL = "internal"; defparam rpll_inst.CLKOUT_BYPASS = "false"; defparam rpll_inst.CLKOUTP_BYPASS = "false"; defparam rpll_inst.CLKOUTD_BYPASS = "false"; defparam rpll_inst.DYN_SDIV_SEL = 2; defparam rpll_inst.CLKOUTD_SRC = "CLKOUT"; defparam rpll_inst.CLKOUTD3_SRC = "CLKOUT"; defparam rpll_inst.DEVICE = "GW2AR-18"; endmodule // Gowin_rPLL Но Questa, обрабатывая такой testbench Показать контент import common_tb_pkg::*; import gowin_rpll_tb_pkg::*; module gowin_rpll_tb; bit clk_in; wire clkout; wire clkoutd; wire clkoutd3; wire clkoutp_o; wire lock_o; Gowin_rPLL Gowin_rPLL_inst ( .clkin ( clk_in ), .clkout ( clkout ), .clkoutd ( clkoutd ), .clkoutd3 ( clkoutd3 ), .clkoutp_o ( clkoutp_o ), .lock_o ( lock_o ) ); initial begin clk_in = 1'b0; #2ns forever # ( CLK_PRD / 2 ) clk_in = ~clk_in; end endmodule : gowin_rpll_tb Здравствуйте! Пытаюсь в фоновом режиме) разобраться с аналогичной задачкой - промоделировать rPLL. Для меня это довольно сложно, поскольку с ПЛИС постоянно не работаю и ранее мне хватало встроенного симулятора что для Altera, что для Xilinx. В последних версиях ПО это все убрали, но кристаллы у меня старенькие и софт аналогичный). Конечно в меня сейчас тапкой бросят))) - это совсем не кошерно, но мне всего хватало. Зато как было удобно... Написал и сразу отмоделировал. Для Gowin пришлось осваивать внешнее моделирование(. Поскольку использую верилог и всего хватает, поставил Modelsim 10.4. С песнями и бубном освоил пакетный режим и поведенческое моделирование. Вычитывание и правка .do файлов сильно не нравится, но... Еще больше напрягает, что при запуске .bat файла Modelsim каждый раз запускается вновь. Может знаете способ без перезапуска или что написать в .bat , что бы старое окно закрывалось? Но самое главное, не могли бы Вы поделиться полным набором файлов, которые Вы использовали для скармливания Questa rPLL? Включая common_tb_pkg::*; gowin_rpll_tb_pkg::*; Предполагаю, что последний создается GOWINом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 192 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба В 02.09.2022 в 08:49, Zversky сказал: Это всё в порядке вещей (для Altea MAX 10)? Не для MAX 10, а для модели MAX 10. Нормально, в характеристики даташита укладывается. 45 минут назад, Andr2I сказал: Но самое главное, не могли бы Вы поделиться полным набором файлов, которые Вы использовали для скармливания Questa rPLL? Сначала нужно скомпилировать библиотеки Verilog или VHDL для Gowin, которые содержат в себе примитивы, существующие на кристалле ПЛИС. После этого всё делается как обычно в Quest/Modelsim в пакетном режиме или созданием проекта в GUI. Поскольку у вас такие проблемы с пакетным режимом, то могу предложить попробовать через GUI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 16 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 48 минут назад, Andr2I сказал: Пытаюсь в фоновом режиме) разобраться с аналогичной задачкой - промоделировать rPLL Ставьте задачу шире: моделировать всё и вся. Ибо сказано, что плох тот RTL разработчик, кто не метит в верификаторы. 49 минут назад, Andr2I сказал: ранее мне хватало встроенного симулятора что для Altera, что для Xilinx А вы не пробовали их запускать не изнутри среды, а извне через TCL скрипты? Хотите покажу, как это для ISE, например, выглядит? 50 минут назад, Andr2I сказал: В последних версиях ПО это все убрали, но кристаллы у меня старенькие и софт аналогичный) Уверен, что не у вас одного: я сам максимум на чём, так это на Спартане-6, и то, приступал к изучению чужого проекта. 52 минуты назад, Andr2I сказал: Конечно в меня сейчас тапкой бросят))) А вы не бойтесь: в этой жизни, как показывает практика есть мизерная доля того, что действительно надо бояться. Остальное - самосаботаж, если понимаете, о чём я )) 53 минуты назад, Andr2I сказал: Зато как было удобно... Вам, просто, никто не показывал, как удобно работать с TCL, если его освоить, и я готов показать вам это, если на то будет ваше желание. 54 минуты назад, Andr2I сказал: Для Gowin пришлось осваивать внешнее моделирование( С таким же успехом можно сетовать на то, что прекрасно кататься на велосипеде, а пришла пора перебраться за город, и на велосипеде уже дальше собственного посёлка не уедешь, ибо дальше начинается хайвей, и приходится осваивать самодвижущуюся повозку. 56 минут назад, Andr2I сказал: Поскольку использую верилог и всего хватает, поставил Modelsim 10.4. К языку тут никакой привязки нет. И Aldec с его Active-HDL и Mentor с его ModelSim-ом и QuestaSim-ом - смешанные инструменты. Т.е. им без разницы, что обрабатывать. Насчёт версии тоже не совсем понятно: с таким же успехом можно взять из закромов или иранского ресурса последнюю, имеющуюся и там и там версию Questa 2021.1 с неменьшим успехом двигаться ц цели. Другое дело, а нужен ли здесь майбах, когда и на гелике вполне можно ехать? 59 минут назад, Andr2I сказал: С песнями и бубном освоил пакетный режим и поведенческое моделирование. Это хорошо. Можете показать, как вы это освоили, а я покажу, что есть у меня: на примере вашего проекта. Если хотите. Насчёт поведенческого (функционального): вам осталось полшага до покрытия кода, если вам это нужно (работаете по DO-254) или просто интересно 1 час назад, Andr2I сказал: Вычитывание и правка .do файлов сильно не нравится, но. Про вычитывание не очень понял, а про правку: а как без неё? 1 час назад, Andr2I сказал: Еще больше напрягает, что при запуске .bat файла Modelsim каждый раз запускается вновь. Стрелку вверх в окне транскрипт нажать не пробовали? 1 час назад, Andr2I сказал: Но самое главное, не могли бы Вы поделиться полным набором файлов, которые Вы использовали для скармливания Questa rPLL? Включая Я могу поделиться и этим и всем, что попросите. Пришлите мне свой Емайл в ЛС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 16 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 47 минут назад, makc сказал: Сначала нужно скомпилировать библиотеки Verilog или VHDL для Gowin, которые содержат в себе примитивы, существующие на кристалле ПЛИС. В Verilog библиотеке всего один примитив, который, кроме него самого, больше ничего не требует. И его можно просто присоединить к проекту, компилируя вместе с ним. Прилагаю его. PS. Внутри я селёдку заворачивал ) Gowin_rPLL.v Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andr2I 0 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 1 час назад, makc сказал: Сначала нужно скомпилировать библиотеки Verilog или VHDL для Gowin, которые содержат в себе примитивы, существующие на кристалле ПЛИС. Правильно я понимаю, нужно из установленного GOWIN скопировать 2 файла GOWIN\IDE\simlib\gw1n\prim_sim.v и prim_tsim.v (если мне нужен gw1n) в рабочую папку WORK Modelsim и скомпелировать Modelmом? А в эту кучу пихать свои верилоговские файлы и макросы? 1 час назад, makc сказал: Поскольку у вас такие проблемы с пакетным режимом, то могу предложить попробовать через GUI. Интересно конечно. Существует GUI, который за меня все макросы пишет, а я только тестбенч создаю в нормальном редакторе, а не в блокноте? Чувствую, что все не так безоблачно))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 192 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 5 минут назад, Andr2I сказал: Правильно я понимаю, нужно из установленного GOWIN скопировать 2 файла GOWIN\IDE\simlib\gw1n\prim_sim.v и prim_tsim.v (если мне нужен gw1n) в рабочую папку WORK Modelsim и скомпелировать Modelmом? А в эту кучу пихать свои верилоговские файлы и макросы? GOWIN\IDE\simlib\gw1n\prim_sim.v - для функционального моделирования (без задержек); GOWIN\IDE\simlib\gw1n\prim_tsim.v - для временного. Выберите один из них и используйте. 7 минут назад, Andr2I сказал: А в эту кучу пихать свои верилоговские файлы и макросы? Не понял, про какую кучу идёт речь. 7 минут назад, Andr2I сказал: Интересно конечно. Существует GUI, который за меня все макросы пишет, а я только тестбенч создаю в нормальном редакторе, а не в блокноте? Чувствую, что все не так безоблачно))) Да, когда просто запускаете vsim, то запускается GUI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andr2I 0 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 1 час назад, Zversky сказал: Ставьте задачу шире: моделировать всё и вся. Ибо сказано, что плох тот RTL разработчик, кто не метит в верификаторы. "Нельзя объять необъятное" 1 час назад, Zversky сказал: А вы не пробовали их запускать не изнутри среды, а извне через TCL скрипты? Хотите покажу, как это для ISE, например, выглядит? Честно говоря, и не хочу. Я понимаю, что там кусок кода Modelsim, который люди специально обрезали и сделали удобным для работы. Гвозди можно забивать и молотком без ручки. Но зачем? - с ручкой мне удобнее))) 1 час назад, Zversky сказал: Уверен, что не у вас одного: я сам максимум на чём, так это на Спартане-6, и то, приступал к изучению чужого проекта. И у меня все влезает в Спартан-6. Дорогие они шибко стали))) 1 час назад, Zversky сказал: Вам, просто, никто не показывал, как удобно работать с TCL, если его освоить, и я готов показать вам это, если на то будет ваше желание. Это интересно. По мере погружения буду спрашивать. 1 час назад, Zversky сказал: К языку тут никакой привязки нет. И Aldec с его Active-HDL и Mentor с его ModelSim-ом и QuestaSim-ом - смешанные инструменты. Т.е. им без разницы, что обрабатывать. Насчёт версии тоже не совсем понятно: с таким же успехом можно взять из закромов или иранского ресурса последнюю, имеющуюся и там и там версию Questa 2021.1 с неменьшим успехом двигаться ц цели. Другое дело, а нужен ли здесь майбах, когда и на гелике вполне можно ехать? Насколько я понял, после беглого просмотра, QuestaSim заточена под sverilog. Мне он на данный момент не нужен. Хватает verilog. Modelsim побыстрее работает. Меньше весит. Из тех же соображений была и версия выбрана - мне бантиков не нужно. Каждый бантик отжирает быстродействие и ресурсы. 1 час назад, Zversky сказал: Это хорошо. Можете показать, как вы это освоили, а я покажу, что есть у меня: на примере вашего проекта. Если хотите. Насчёт поведенческого (функционального): вам осталось полшага до покрытия кода, если вам это нужно (работаете по DO-254) или просто интересно Ничего тайного))). Все предельно просто. Пишу в блокноте. После ISE - тошнит... Функционального моделирования мне пока хватает. С DO-254 не работаю. 3.zip 1 час назад, Zversky сказал: Стрелку вверх в окне транскрипт нажать не пробовали? Обе нажимал. Ничего не происходит. Окно могу закрыть. Но Modelsim в следующий раз запускается по новой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 24 minutes ago, Andr2I said: Интересно конечно. Существует GUI, который за меня все макросы пишет, а я только тестбенч создаю в нормальном редакторе, а не в блокноте? Чувствую, что все не так безоблачно))) Существуют - HDL Designer за вас сделает почти все, ... если вы его купите конечно. А так пару простеньких скриптов которые отдельно компилируют и отдельно запускаю сим. И тогда при перекомпиляции можно просто делать restart в GUI modelsim. Ну или можно вызывать компиляцию файла прямо из любимого редактора с последующим рестартом в GUI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andr2I 0 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 1 час назад, Zversky сказал: В Verilog библиотеке всего один примитив, который, кроме него самого, больше ничего не требует. И его можно просто присоединить к проекту, компилируя вместе с ним. Прилагаю его. PS. Внутри я селёдку заворачивал ) Gowin_rPLL.v 17 кБ · 0 загрузок А где Вы его взяли? Из Вашего проекта или из папок GOWIN-а? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 16 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 29 минут назад, Andr2I сказал: 3.zip 26 кБ · 0 загрузок Дайте мне ещё имя вашего ПК, расположение ModelSim-а и разрешения экрана (или экранов, если их два - в этом случае напишите, какой главный, а на котором отображать времянку?). 3 минуты назад, Andr2I сказал: из папок GOWIN-а? ^^^^^^^^^^ 34 минуты назад, Andr2I сказал: Обе нажимал. Ничего не происходит. Окно могу закрыть. Но Modelsim в следующий раз запускается по новой. Вот сюда в приглашение надо встать и нажать 20 минут назад, RobFPGA сказал: если вы его купите конечно. Даже не знаю. В закромах лежит. С лекарством. А в современных условиях уже грешно покупать: воевать - так воевать. На всех фронтах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andr2I 0 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 51 минуту назад, makc сказал: GOWIN\IDE\simlib\gw1n\prim_sim.v - для функционального моделирования (без задержек); GOWIN\IDE\simlib\gw1n\prim_tsim.v - для временного. Выберите один из них и используйте. Т.е. мне нужно прямо в папке GOWIN -а провести компиляцию с помощью Modelsim. Modelsim просит создать там папку Work - создавать? Это однократная процедура или каждый раз перед запуском .bat файла? 54 минуты назад, makc сказал: Да, когда просто запускаете vsim, то запускается GUI. Файл vsim.vlf? - у меня нет приложения, завязанного на него( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 192 7 сентября, 2022 Опубликовано 7 сентября, 2022 · Жалоба 33 минуты назад, Andr2I сказал: Т.е. мне нужно прямо в папке GOWIN -а провести компиляцию с помощью Modelsim. Modelsim просит создать там папку Work - создавать? Это однократная процедура или каждый раз перед запуском .bat файла? Нет, лучше скопировать эти файлы в директорию хранения ваших библиотек и там скомпилировать. 33 минуты назад, Andr2I сказал: Файл vsim.vlf? - у меня нет приложения, завязанного на него( Нет, у вас должен быть исполняемый файл vsim.exe в директории, куда вы установили симулятор (в одной из поддиректорий в директории установки). У меня нет винды, поэтому точнее сказать не могу. Но поискать его совсем несложно. 1 час назад, Andr2I сказал: Обе нажимал. Ничего не происходит. Окно могу закрыть. Но Modelsim в следующий раз запускается по новой. Вот же ваше GUI Modelsim, вы сами показали его скриншот. Поэтому я не понимаю, какие проблемы с его запуском. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться