Zversky 18 25 июля Опубликовано 25 июля · Жалоба Всем добра. Имею намерение наконец-то перейти от прокрастинации в вопросе изучения UVM от обдумывания к практике, имея на руках и давно используемый мною инструментарий от Mentor (Questa). В качестве одной из отправных точек нашёл ссылку на давно, но не часто, используемый (бесплатно, конечно) ресурс edaplayground.com (и интересующий меня пример там). Использование, однако, на нём (в т.ч. с т.з. скачивания*) требует подтверждения прав на пользования. *а меня больше всего интересует TCL Вопрос: кто-то может помочь с 1 скачиванием TCL для Mentor 2 предоставлением своего варианта TCL для Mentor 3 любых слов относительно намеченного мною пути для работы с UVM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 25 июля Опубликовано 25 июля · Жалоба Как вы собираетесь совместно использовать TCL и UVM? Нельзя ли немного подробнее? Первый раз слышу, чтобы для использования UVM в ModelSim/QuestaSim кому-то недостало TCL. Кстати, а разве TCL не я является неотъемлемой частью ModelSim? Он же там вроде используется для скриптования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 26 июля Опубликовано 26 июля · Жалоба Я использую Questa (суть ModelSim). Его (и любой инструмент, что использую) я использую с TCL. На ваши вопросы я ответил? Завуалированно вы ответили на мой третий по счёту. Прямой ответ на свои вопросы я нашёл здесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 26 июля Опубликовано 26 июля · Жалоба 1 hour ago, Zversky said: Прямой ответ на свои вопросы я нашёл здесь. Может я опоздал, но tcl это командный язык, что вобщемто отображено в его названии и исторически это был самый простой путь добавить интерфейс командной строки к своему инструменту. То есть "вкомпилированный" в тул тикль кроме самого языка - процедур, иф-элс, базовых типов поддерживает какието специфические команды, типа get_clocks, но это нестандартизировано и порой может быть достаточно странным - например, на мой взгляд, filter в синопсисовских и формальных тулах (наверно, похоже на map() или чтото такое, но синтаксис странный). В симуляторах на тикле можно делать то же, что и кнопками из гуи: старт, стоп, посмотреть значение, пофорсить сигнал и т.п. как правило, этот же тикль управляет и окошками. Конкретно в квесте возможности тикля, имхо, слабые по сравнению с нцсимом. Может не умею готовить, но в нцсиме почистить на тикле регистры от Х можно было, а в квесте не нашёл как. Также можно взять общечеловеческий tclsh и в нем писать командные скрипты как в bash, csh, python, Perl и т.д. Не считаю это удобным, но гуру тикля может быть удобнее, чем на баше (и я тиклевские скрипты встречал) По поводу UVM - тикль можно использовать для "регрессии" менять что-то в файлах запускать разные тесты с разными параметрами (uvm вобщемта имеет механизм взаимодействия с командной строкой и профи этим пользуются. Профи верификатору все эти вэйформы и отладка в симуляторе даром не нужны и только мешают). но, имхо, преимущества перед тем же башем в таком юзкейсе я вообще не вижу. Про какойто механизм типа DPI, VPI для тикля я не знаю, если такое есть, то нестандартное, несовместимое. Рантайм взаимодействие придется либо через файловую систему, либо через прокладку на С - DPI Резюмируя - так как тикль медленный и достаточно неудобный язык, не предоставляющий дополнительных возможностей для верификации, использование его както специально вместе с uvm кажется мне странным желанием и я не встречал такого использования Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 26 июля Опубликовано 26 июля · Жалоба 1 час назад, yes сказал: использование его както специально вместе с uvm кажется мне странным желанием Прошу простить, что так неоднозначно сформулировал свой вопрос, но мне просто был нужен минимальный пример проекта с тестовым окружением на основе UVM, а также TCL для обработки этого всего нажатием одной кнопки для Mentor's ModelSim (Questa), который я и нашёл по ссылке в первом посте этого топика, но не смог скачать по причине (см. выше). Но теперь я осознал (в т.ч. с помощью участников этого обсуждения), что UVM - это библиотека, и мой вопрос в более понятном варианте звучал бы так: покажите мне, как с помощью TCL обработать DUT и UMV-based TB с помощью Mentor's ModelSim (Questa) там, чтобы был минимальный коробочный вариант. А ответ бы на него был* таким: работа с UVM с т.з. TCL ничем не отличается от работы при "обычном" функциональном тестировании. *просьба поправить, если я всё ещё плаваю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 26 июля Опубликовано 26 июля · Жалоба 1 hour ago, Zversky said: *просьба поправить, если я всё ещё плаваю. UVM это ещё, и может даже больше чем библиотека, это методология, то есть набор правил. У меня впечатление, что все книжки и туториалы долбят - вот описывать только так драйвер, агент, окружение, тест, вот только такие колбэки/тлм ... это позволяет кучу взаимозаменяемых верификаторов быстро подготовить, чтобы заполнить множество верификаторских вакансий создать рынок VIP, то есть кусков кода (производные от базовых uvm классов), которые вкладываются на место этих "базовых кирпичиков" и позволяют симулировать стандартные протоколы. По-моему, когда есть эти либо купленные vip, либо самонаписанные, то тогда это похоже на софтверную библиотеку и позволяет решить какую-то задачу. А в самом/й uvm готового к использованию ничего нет и если пожертвовать возможностью применения third-party VIP и наймом дополнительных верификаторов, то проще жить без uvm. Я сам профессионально (то есть за деньги) uvm тестбенчи не писал, но очень много их читал 🙂 , ну и какие-то самодельные проекты для собственного любопытства. Поэтому не могу настаивать, что мое понимание 100% верное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 26 июля Опубликовано 26 июля · Жалоба 4 hours ago, Zversky said: ... мой вопрос в более понятном варианте звучал бы так: покажите мне, как с помощью TCL обработать DUT и UMV-based TB с помощью Mentor's ModelSim (Questa) там, чтобы был минимальный коробочный вариант. А ответ бы на него был* таким: работа с UVM с т.з. TCL ничем не отличается от работы при "обычном" функциональном тестировании. Вот теперь более-менее понятно, и согласуется с моими представлениями об этом. ... Но остался еще один вопрос: On 7/25/2024 at 9:10 AM, Zversky said: Вопрос: кто-то может помочь с 1 скачиванием TCL для Mentor Зачем его [TCL] скачивать? Он же уже там (в ModelSim) встроен? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 26 июля Опубликовано 26 июля · Жалоба 39 минут назад, Raven сказал: Зачем его [TCL] скачивать? Снова прошу простить за некорректную формулировку: имел в виду пример скрипта. 2 часа назад, yes сказал: А в самом/й uvm готового к использованию ничего нет Да. DO-254 в его российской интерпретации проходили. Знаем. Но от требованиям работодателей быть знакомым с UVM это не помогает. Надо щупать своими руками. К щупанью приступил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 26 июля Опубликовано 26 июля · Жалоба 1 hour ago, Zversky said: Да. DO-254 в его российской интерпретации проходили. Знаем. Но от требованиям работодателей быть знакомым с UVM это не помогает. Надо щупать своими руками. К щупанью приступил. Тогда ловите презент: Полезный сайт по верификации от индусов. Пардон, если у вас такой уже есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 26 июля Опубликовано 26 июля · Жалоба 59 минут назад, Raven сказал: Пардон, если у вас такой уже есть. Есть, конечно, но лишний раз быть ткнутым носом в то, вокруг чего ходил кругами, считаю только полезным, за что благодарю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 4 августа Опубликовано 4 августа · Жалоба Тем временем пришёл сюда: http://systemverilog.ru , а точнее сюда: http://systemverilog.ru/uvm/questasim-with-uvm-1-2-windows/ спотыкаюсь на этом а потом, при нажатии Ок в окне с ошибкой на этом или в текстовом виде cd f:/Anatoly/Work/FPGA/UVM/systemverilog.ru/as_is/examples/simple/hello_world make -f MakefileQuesta10_4a all # MakefileQuesta10_4a started # QUESTA_HOME = c:/Work/FPGA/Mentor/QuestaSim64/10.4a # UVM_DPI_HOME = c:/Work/FPGA/Mentor/QuestaSim64/10.4a/uvm-1.2/win64 # USES_PRECOMPILED_UVM_DPI = 1 # UVM_HOME = c:/Work/FPGA/UVM/1.2 # vlib work # vlog -mfcu -suppress 2181 +acc=rb -writetoplevels questa.tops +incdir+c:/Work/FPGA/UVM/1.2/src c:/Work/FPGA/UVM/1.2/src/uvm.sv +incdir+. hello_world.sv # QuestaSim-64 vlog 10.4a Compiler 2015.03 Mar 25 2015 # Start time: 22:02:43 on Aug 04,2024 # vlog -mfcu -suppress 2181 "+acc=rb" -writetoplevels questa.tops "+incdir+c:/Work/FPGA/UVM/1.2/src" c:/Work/FPGA/UVM/1.2/src/uvm.sv "+incdir+." hello_world.sv # -- Compiling package uvm_pkg # -- Compiling module hello_world # -- Importing package uvm_pkg # # Top level modules: # hello_world # End time: 22:02:44 on Aug 04,2024, Elapsed time: 0:00:01 # Errors: 0, Warnings: 0 # vsim -sv_lib c:/Work/FPGA/Mentor/QuestaSim64/10.4a/uvm-1.2/win64/uvm_dpi -c -do "run -all; q" -l questa.log -f questa.tops # make.EXE: *** [run] Error -1073741502 но, копируя через буфер обмена в тоже окно команду vsim с её параметрами, на которую ругнулся make.exe, и выполняя её, получаем В чём тут может быть дело (такой затык)? Тоже самое пробовал и в 10.4а и 2024.1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться