Вопросы по теме '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 просмотров
schedule
23.01.2024
Как проверить текущее имя экземпляра?
Мне нужно использовать текущее имя экземпляра (полное иерархическое имя) в условии создания условия 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