Описание тега system-verilog-dpi

Интерфейс прямого программирования (DPI) от SystemVerilog. Этот интерфейс обеспечивает прямую связь между симуляцией SystemVerilog и иностранными языками программирования.
3 ответа

Как я собираю информацию трассировки в случае вызовов SystemVerilog+C DPI?

У меня есть ситуация, когда у меня есть 2 функции C. Эти функции C имеют много сценариев проверки ошибок, где я использую выход (1), чтобы справиться с ситуацией. Миллион мест в системном коде verilog вызывает эти 2 C-функции через вызовы DPI. Я исп…
1 ответ

Предупреждение: (vsim-8634) код не был скомпилирован с опциями покрытия

Я пытаюсь запустить симуляцию UVM и использую код C для прогнозирования выходных данных, но при запуске симуляции я получаю предупреждение, упомянутое выше. Повлияет ли это предупреждение на тест? Примечание: я не помещал файл импорта кода на C в мо…
14 окт '18 в 20:46
2 ответа

DPI SystemVerilog, возвращающий строку из C++ в verilog - ASCII-символы в конце?

Я возвращаю строку из функции C в SystemVerilog, используя DPI. const char* print_input_dpi(int w, int h, int p, ......int mtail){ std::stringstream ss; ss<<"w="<<std::hex<<w<<" "; ss<<"h="<<std::hex<<h<&…
17 июн '15 в 22:08
2 ответа

Экспортная задача инстанцированного модуля

Я пытаюсь экспортировать несколько задач в C-программу через DPI-C. Задачи определены в модуле "my_subm" как: module my_subm; task mytask1(...); ... endtask task mytask2(...); ... endtask endmodule И в моем основном модуле "main_mod", где создается …
09 ноя '17 в 10:56
3 ответа

Как встроить интерпретатор Systemverilog с помощью DPI-C?

Описание проблемы: Я проектирую в SystemVerilog и пишу испытательные стенды на одном языке. Я хочу иметь возможность компилировать мой дизайн и тестировать различные функции во время симуляции так же, как если бы вы использовали интерпретатор с e. В…
2 ответа

Интеграция вызовов функции fftw C внутри системного кода verilog

Я успешно установил библиотеку fftw C в моей системе Linux. Вот больше информации о fftw c => http://www.fftw.org/ У меня есть пример кода C, который может успешно вызывать функции fftw C. Ниже приведен код C c и команда для запуска кода C: Код: #in…
08 авг '13 в 22:52
1 ответ

Указатели SystemVerilog DPI-C

У меня есть вопрос о соединении DPI между SystemVerilog и C. В частности, у меня есть функция C, которая выглядит следующим образом: unsigned short C_FUN(unsigned char* data) и что я хочу передать это bit[7:0] my_darray[]; Какой лучший способ сделат…
22 ноя '14 в 13:46
1 ответ

Как использовать DPI systemVerilog для обнаружения совпадения подстроки?

Как использовать SystemVerilog DPI, чтобы проверить, содержит ли какая-либо строка другую строку? Например, strstr() в C может обнаружить, что "str" содержится в "string".
10 ноя '16 в 12:41
4 ответа

Ошибка: невозможно преобразовать 'bool' в 'svLogic*' в назначении

Мы работаем над системой verilog DPI для вызовов. При составлении C++ файл мы получаем ошибки, как это: ошибка: невозможно преобразовать 'bool' в 'svLogic*' в назначении Вот svLogic является переменной с 4 состояниями. Симулятор VCS имеет предопреде…
1 ответ

Создание C++ testbench для управления Verilog DUT

Я пытаюсь понять, как создать C++ testbench для стимулирования DUT в Verilog. Допустим, у меня есть простой сценарий: // Testbench Top. module tb_top(); import "DPI-C" function void wait_for_input_ready(); initial wait_for_input_ready(); import "DPI…
19 окт '15 в 06:40
1 ответ

Systemverilog: ошибка симуляции при прохождении структур как входные / выходные данные модуля

Я пытаюсь передать одну структуру в качестве входных данных и получить выходные данные в другой структуре. Однако у меня возникли некоторые проблемы во время моделирования. Следующий пример кода прекрасно компилируется в questasim, однако симуляция …
5 ответов

Неопределенная ссылка на `main'в C

Привет я получаю ниже ошибка при компиляции кода AC с помощью GCC /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: ld returned 1 exit status Я пытаюсь импорт…
06 авг '13 в 17:46
2 ответа

Могу ли я получить график вызовов подпрограмм C, которые вызываются через вызов DPI из системного verilog testbench

Я работаю над проектом проверки. Некоторые компоненты testbench написаны на c, которые вызываются через DPI, подпрограммы c обширны, и мне трудно разобраться, какая из них вызывается. Чистая C-программа может быть, я мог бы использовать cachegrind д…
13 апр '15 в 10:56
0 ответов

Есть ли альтернативный способ для следующего кода, так что он должен сократить время, необходимое для компиляции и моделирования

Определяет: `define AIF_MSB(AIF_i) (AIF_i == 0)?0 :\ (AIF_i == 1)?1 :\ (AIF_i == 2)?2 :\ (AIF_i == 3)?3 :\ (AIF_i == 4)?4 :\ (AIF_i == 5)?5 :\ (AIF_i == 6)?6 :\ (AIF_i == 7)?7 :\ (AIF_i == 8)?8 :\ (AIF_i == 9)?9 :\ (AIF_i == 10)?10 :\ (AIF_i == 11)?…
1 ответ

Доступ к общей памяти

Я пытаюсь проверить дизайн sMEM, используя утверждения в systemVerilog, однако у меня возникла проблема, которую я не знал, как ее решить: я должен проверить, если: На переднем крае CLKA, когда BLKA равно 1, а RWA равно 1, данные считываются по адре…
4 ответа

SystemVerilog: Как подключить функцию C с помощью вызова DPI в симуляторе VCS?

У меня есть следующие файлы: C файл с функциями: // funcs.c #include <stdio.h> void something() { printf("something\n"); sayHello(); } Системный файл verilog: // hello_world.v module kuku; export "DPI-C" function sayHello; import "DPI-C" funct…
1 ответ

Компиляция SystemVerilog DPI с Modelsim DE 10.6b в 64-битной Ubuntu 16.04

У меня установлен Modelsim DE 10.6b на 64-битной Ubuntu 16.04, и когда я запускаю Modelsim примеры SystemVerilog DPI, я получаю ошибку компиляции автоматической компиляции, показанную ниже: ** Неустранимый: ** Неустранимый: (vsim-3828) Не удалось св…
07 июн '17 в 18:15
1 ответ

Вывести открытый массив как формальный аргумент в DPI-C

У меня есть C-код (модель предиктора), который может генерировать массив переменной длины в качестве результата. До вызова кода C неизвестно, каков размер этого массива, и существует некоторая степень рандомизации (моделирование шума). Мне нужно выз…
22 дек '17 в 18:20
1 ответ

Как передать массив из C в SV, используя SV-DPI?

Моя цель - передать массив из C в SV и распечатать содержимое массива в SV. Я попробовал следующую программу на C: преобразовать какой-нибудь текстовый файл (data_file.txt) (с полным исходным кодом в ссылке ниже) в массив и попробовать чтобы прочита…
28 июл '17 в 15:43
1 ответ

Невозможно получить доступ к размерам svOpenArrayHandle

У меня есть многомерный динамический распакованный массив в моем тестовом стенде SystemVerilog, и я передаю его в код C в качестве аргумента, используя DPI-C. Я использую Questasim 10.4b. Следуя потоку Questa, я запустил -dpiheader для генерации заг…