Вопросы по теме 'system-verilog'

Указание диапазона переменных в Verilog с использованием цикла for
Я пытаюсь написать этот код: for (i = 0; i <= CONST - 1'b1; i = i + 1'b1) begin : loop_inst if (i < 3) begin if (changed[i] & !done_q[i])...
6188 просмотров
schedule 21.12.2023

Как применить переопределения командной строки к объектам SystemVerilog ovm_sequence?
Я хотел бы применить переопределение командной строки к объекту ovm_sequence следующим образом: +ovm_set_config_int=*,max_timeout,100000 Поле max_timeout объявлено внутри макроса ovm_sequence_utils . Есть ли способ сделать это?...
2042 просмотров
schedule 06.01.2024

Использование блокирующих назначений для вывода триггеров в Verilog
Я прочитал "Неблокирующие присвоения в Verilog Synthesis, убивающие стили кодирования!" пользователя Клиффорд Каммингс. Он говорит, что следующий код (стр. 12, упрощенный) является правильной реализацией триггера, часто используемого в учебниках,...
3881 просмотров
schedule 29.12.2023

Каков порядок значимости этого синтаксиса инициализации Verilog?
Это простой вопрос SystemVerilog, на который мне на удивление трудно найти ответ. При таком синтаксисе инициализации битового массива часть b [0] назначается наиболее значимому биту или младшему значащему биту? bit a[7:0]; bit b[7:0] = 8'hff;...
2335 просмотров
schedule 04.02.2024

Чтение и запись в файл одновременно
У меня есть модуль, написанный в System Verilog, который выгружает содержимое SRAM в файл. Я хотел бы прочитать из этого файла и использовать данные в отдельной программе, написанной на питоне, но в режиме реального времени. У меня нет большого...
2671 просмотров
schedule 17.09.2022

Systemverilog: макрос подстановки текста
Я читал, что макросы подстановки текста имеют глобальную область действия в «verilog». Как работает SystemVerilog? Я хочу использовать 2 разных определения одного и того же текстового макроса в 2 разных файлах SystemVerilog — это нормально?
4684 просмотров
schedule 02.01.2024

Как лучше всего узнать, содержит ли шина один x в Verilog?
У меня есть тестовый стенд, который следит за автобусом. Некоторые сигналы внутри шины могут быть 1'bx. По разным причинам мне нужно знать, имеет ли какой-либо из сигналов на шине значение 1'bx. Как лучше всего проверить (не для синтеза - только...
19409 просмотров
schedule 16.11.2022

Приведение строк к перечислениям
Есть ли способ передать строку для перечисления в системе Verilog? typedef enum {ABC1,ABC2,ABC3} abc; program Test ; abc x1; string teststring; initial begin teststring="ABC2"; x1=abc'(teststring); // Static...
3696 просмотров
schedule 02.12.2023

Стратегия обмена сигналами между предопределенными UVC
Я пытаюсь выяснить, как подключить несколько UVC (компонентов проверки UVM) к одному и тому же тестируемому устройству, где UVC не имеют общего интерфейса, но подключаются к одним и тем же сигналам на тестируемом устройстве. ИУ, которое может...
3163 просмотров
schedule 17.11.2023

Плохая практика - использовать длинные вложенные if-else в операторе assign?
Иногда я использую длинный оператор assign в Verilog, который имеет вложенный цикл if-else. Пример assign a = (b) ? '1 : ((c&d) ? '0 : ((f&h) ? '1 : '0)); Другой способ сделать это - использовать логический блок always_comb....
5800 просмотров
schedule 03.06.2024

SVA - Есть ли способ проверить шаблон переменной переменной в последовательном выводе переменной длины с использованием утверждения системного Verilog?
Например, у меня есть шаблон pt = 1101, который нужно проверить на последовательном выходе s_out = 1011101110111011 (сначала младший бит). Я пытаюсь проверить «pt» в «s_out» только с помощью SVA без использования блока always. Примечание: pt и s_out...
750 просмотров

Как проверить текущее имя экземпляра?
Мне нужно использовать текущее имя экземпляра (полное иерархическое имя) в условии создания условия if: generate if (current_instance_name() == "a.b.c.foo") ... Есть ли способ сделать это в Verilog или SystemVerilog? Я знаю %m, но он...
3731 просмотров
schedule 15.12.2023

Как передать класс между двумя модулями?
У меня есть два модуля и класс, и я хотел бы переместить этот класс из одного модуля в другой. Что-то вроде этого: class foo; int x; int y; endclass module mod_A(output foo foo_inst, output event trig); initial begin foo my_foo =...
2936 просмотров
schedule 25.03.2024

SystemVerilog: как смоделировать период часов 0,5 нс с точностью шкалы времени 1 нс
Учитывая мое понимание того, как точность шкалы времени используется для планирования событий в System Verilog. Можно ли это сделать, не прибегая к умножению всех задержек?
258 просмотров
schedule 14.05.2024

Передайте срез одномерного массива двухмерного массива через модуль в systemverilog
У меня есть модуль с именем module2 , который имеет двумерный распакованный массив для ввода и вывода. Я хочу передать каждый столбец ввода и вывода модулю module1 . Я пробовал писать код следующим образом. Но он показывает синтаксическую ошибку...
1891 просмотров
schedule 19.11.2023

system verilog - Почтовый ящик
Ниже я разместил полный код почтового ящика. Он имеет генератор классов, драйвер класса и код верхнего уровня. Мой вопрос в приведенном ниже коде, внутри генератора классов, как используются Transation tr и почтовый ящик mbx? Также, в функции new,...
995 просмотров
schedule 16.11.2023

ctags: невозможно создать тег для системных файлов verilog(.sv)
Утилита ctags не может создать/найти тег для моего модуля SystemVerilog, объявленного, как показано ниже: "(*ATTR*) module abc()" Если я объявлю это так: "module abc" тогда ctags работает. Есть идеи, как это исправить? В обоих...
505 просмотров
schedule 23.09.2022

Могу ли я использовать массив «arr [x] [y]» внутри всегда блока? Является ли он синтезируемым?
always@(posedge clk) begin r00<=r01; r01<=r02; r02<=arr[x][y]; //code end будет ли это синтезировано внутри блока генерации? Кроме того, что «arr» является 2-мерным.
128 просмотров
schedule 16.11.2022

Как изменить упорядоченный список портов на именованный список портов в systemverilog?
Теперь я пытаюсь внедрить учебник systemverilog здесь , В частности, я имею в виду учебник по переключателям SystemVerilog. Если вы просматриваете код, они используются в упорядоченном списке портов в тестовом примере TC(mem_intf, input_intf,...
882 просмотров
schedule 17.04.2024

Есть ли рекомендуемый способ автоматизировать подключение порта модуля?
Я пытаюсь понять или исследовать лучшие практики проектирования ASIC в Verilog. Я работаю над блоком среднего размера с ~ 20 субмодулями (каждый ~ 1000 строк кода). Это кропотливая работа - вручную создать экземпляры всех подмодулей и выполнить...
1349 просмотров
schedule 25.10.2023