Интерфейс программирования Verilog, API, который позволяет пользователю запрашивать базу данных симулятора и управлять ею.
0 ответов

Регион во время verilog cbValueChange PLI

Есть ли способ найти регион (активный регион, неактивный регион, регион NBA), из которого VPI cbValueChange обратный вызов был вызван во время моделирования?
15 мар '18 в 20:28
1 ответ

Выделенная структура для value_p для использования с VPI vpi_put_value()

Я реализую Verilog "force" и "release", используя VPI, чтобы их можно было вызывать из подпрограмм Си. Чтобы форсировать значение в векторной сети, мне нужно создать массив s_vpi_vecval для value_p. Я выделил хранилище для массива и заполнил его жел…
28 фев '18 в 22:15
1 ответ

Получение имен сигналов в проекте (с использованием вызовов VPI)

Я хотел бы получить список имен сигналов в данной иерархии дизайна из проекта Verilog с использованием vpi. Это простой интерфейс браузера сетевого имени из моего пользовательского инструмента, написанный на C и Python. Как я могу получить список им…
06 мар '18 в 19:00
1 ответ

Как получить размеры векторного порта verilog, используя процедуры PLI?

Как я могу получить размеры векторного порта, используя подпрограммы vpi PLI? Например, для объявления векторного порта "output [2:1] out;", как я могу получить левое измерение как 2 и правое измерение как 1? Я пытался использовать свойство vpiRange…
25 фев '18 в 15:34
1 ответ

Как добавить новый ключ в ассоциативный массив Systemverilog с помощью VPI

Я пытаюсь получить доступ к ассоциативному массиву Systemverilog из C с помощью VPI. Я могу записать значение в элемент массива для ключа, используя следующий код, если ключ уже существует. index = vpi_handle_by_index(reg_array, 200); // 200 is an e…
08 авг '18 в 20:59
1 ответ

Как проверить, имеет ли ассоциативный массив Systemverilog ключ с помощью VPI

Я пытаюсь получить доступ к ассоциативному массиву Systemverilog из C с помощью VPI. Я могу получить доступ к элементу массива для ключа, используя следующий код, если я предоставлю существующий ключ. index = vpi_handle_by_index(reg_array, 200); // …
08 авг '18 в 17:05
1 ответ

В Verilog процедурный интерфейс, можно ли сканировать через цикл итерации несколько раз?

Мы можем использовать vpi_scan следующим образом: vpiHandle iter = vpi_iterate(property, handle); if (iter) while ( entry = vpi_scan(iter) ) /*code*/; iter будет освобожден, когда vpi_scan() вернет NULL. Но что, если мне нужно несколько раз проскани…
19 ноя '18 в 22:34
2 ответа

Можно ли вызвать функцию экспорта в обратном вызове VPI?

У меня есть следующий сценарий: у меня есть обратный вызов vpi, который запускается при срабатывании подтверждения. В этом обратном вызове я хочу вызвать функцию verilog системы экспорта, которую я пытался установить setSvScope перед экспортом, но с…
1 ответ

SystemVerilog VPI освобождает дескриптор обратного вызова после vpiForceFlag

Когда я спросил SystemVerilog, проходящий по иерархии, мне предложили использовать код SystemVerilog VPI для его решения. Я опубликовал свою попытку, но понял, что после форсирования чистой стоимости мне нужно ее опубликовать. vpi_put_value(vpi_hand…
26 авг '17 в 07:15
2 ответа

SystemVerilog цикл через иерархию

У меня есть регистры, созданные в регистре Regblock в качестве таких: DUT.Regblock.Register1 DUT.Regblock.RegisterA DUT.Regblock.RegisterABC ... Все эти регистры имеют одинаковую внутреннюю структуру. Я хотел бы смоделировать эффекты переворота в эт…
23 авг '17 в 16:52
1 ответ

Вызов задачи или функции через VPI

Я знаю, что можно изменять значения сигналов и переменных через интерфейс программирования Verilog (VPI). Также возможно вызвать именованное событие, выполнив vpi_put_value(...) в теме. Можно ли как-то вызвать функцию или запустить задачу?
22 май '16 в 09:46
0 ответов

Передать элемент массива в vpi_handle_by_name

Мой test.sv код содержит interface а также module как показано: interface Bus; logic [7:0] sig1; logic [15:0] sig2; logic sig3; endinterface module test(); Bus inst(); ... endmodule Я дал vpiFullName test.inst.sig1 к имени vpi_handle_by_name vpiHand…
31 июл '17 в 18:05
1 ответ

Активное направление входного порта при моделировании с использованием PLI

Я пытаюсь выяснить, используется ли входной порт в качестве входного или выходного порта во время моделирования из моего C-кода на основе PLI. Как это можно сделать?
02 фев '18 в 19:12
0 ответов

Документы руководства VPI (процедурный интерфейс Verilog)?

Я создаю проект JTAG, у меня был тестовый стенд uvm. Теперь я хочу найти Руководство по VPI, например: книги, веб-сайты, видео,.... Пожалуйста!
24 мар '20 в 05:15
1 ответ

Чтение массива регистров с помощью Verilator и VPI

Итак, у меня есть следующий регистр, определенный в моем Verilog reg [31:0] register_mem [0:15]/* verilator public */; Моя цель - из моего кода верилятора на С ++ прочитать каждое из 16 значений, хранящихся в нем. Я обнаружил, что документацию по эт…
19 фев '20 в 21:43
0 ответов

Как мне найти все драйверы для провода / переменной с помощью VPI?

Я сделал тестовый модуль и хочу выяснить, какие именно цепи и переменные влияют друг на друга. Вот код: module test( input logic unsigned [7:0] x, input logic unsigned [7:0] y, output logic unsigned [7:0] res ); logic unsigned [7:0] inner1; logic [7…
15 апр '21 в 00:27
0 ответов

Как получить имя типа сети из модуля verilog с помощью VPI

модуль verilog module test(a,b) inout EEnet a; output wreal b; endmodule Я пытаюсь использовать vpi_get_str(vpiType) and vpi_get_str(vpiNettype) получить "EEnet" и "wreal". Но возвращаемое значение vpiStructNet не исключено. Итак, есть ли способ пол…
12 май '21 в 11:34
0 ответов

Использование объектов и библиотек QT5 и QTQuick2 в настраиваемых общих библиотеках

Я изучаю Qt5 + QtQuick2 в QTCreator и разрабатываю набор общих объектов, которые переименованы, чтобы иметь .vpi расширение, но я не могу связать объекты Qt и QtQuick с этим новым сгенерированным объектом, как совместно используемые следующими коман…
15 авг '21 в 15:36
0 ответов

как использовать vpi для запроса событий во время симуляции

Я пытаюсь разработать архитектуру совместного моделирования, в которой у меня есть 2 симулятора Verilog, которые разговаривают (передают сигналы) друг другу. Главный вопрос - «когда» мне передавать данные из simulator1 в simulator2? например, предпо…
16 авг '21 в 14:59
0 ответов

Просмотрите все экземпляры модуля в модуле по VPI в RTL

Я пытаюсь просмотреть все экземпляры модуля в экземпляре модуля по коду VPI: vpiHandle mod_itor = vpi_iterate(vpiModule, top); vpiHandle mod_inst; if(mod_itor!=NULL) while(mod_inst=vpi_scan(mod_itor)){ ........ } иногда код работает, иногда нет. Не …
14 сен '21 в 15:19