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

поиск всех зависимостей в компиляции verilog
Я пытаюсь дешево и точно предсказать все зависимости SystemVerilog для потока сборки. Можно переоценить зависимости и найти несколько файлов Verilog, которые не являются зависимостями sv, но я не хочу пропустить какие-либо зависимости....
1969 просмотров
schedule 06.04.2023

Модуль TAP (Test Anything Protocol) для Verilog или SystemVerilog
Существует ли реализация TAP ( Test Anything Protocol ) для Verilog? Было бы неплохо, потому что тогда я мог бы использовать proof для автоматической проверки результатов. Обновление: 9.10.09: Был задан вопрос, почему бы не использовать...
677 просмотров
schedule 24.02.2023

ШИРИНА АДРЕСА от ГЛУБИНЫ ОЗУ
Я реализую настраиваемую DPRAM, где RAM DEPTH является параметром. Как определить ШИРИНУ АДРЕСА по ГЛУБИНЕ ОЗУ? Я знаю отношение RAM DEPTH = 2 ^ (ADDRESS WIDTH) т.е. ШИРИНА АДРЕСА = log (основание 2) ГЛУБИНА ОЗУ. Как реализовать функцию...
58659 просмотров
schedule 26.12.2022

Каковы передовые методы оптимизации пропускной способности конвейера для реализаций fpga?
Как, например, наилучшим образом использовать retiming и/или c-slow, чтобы максимально использовать данный конвейер. При восстановлении синхронизации некоторые модули получают лучшие результаты, помещая сдвиговые регистры на входы (прямая...
1857 просмотров
schedule 21.08.2022

Почему неблокирующие назначения не разрешены в функциях Verilog?
Я читал, что использование неблокирующих присваиваний запрещено в функциях Verilog. Может ли кто-нибудь предложить правдоподобное объяснение этому?
3238 просмотров
schedule 03.04.2023

Работа со строками в Verilog
Мне нужно выполнять основные операции со строками, такие как конкатенация, замена и сравнение в моей симуляции Verilog. Как это возможно? Есть ли встроенная поддержка? Заранее спасибо.
25563 просмотров
schedule 21.01.2024

Пример большого ограничения SystemVerilog
Можете ли вы привести пример большого и сложного ограничения SystemVerilog? Чем больше, тем лучше, и желательно реалистично. Возможно, какой-то расчет адреса, который также зависит от нескольких других переменных. Я рассматриваю возможность...
22641 просмотров
schedule 30.05.2023

как определить вывод m * n в verilog
Я пишу код Verilog для сдвига левого регистра, который сохраняет свое значение после каждого сдвига в подрегистрах. могу ли я определить выходные регистры как такой массив, предоставленный код - это просто простой пример, показывающий концепцию, а не...
296 просмотров
schedule 07.06.2023

Различие типов данных SystemVerilog (рег, логика, бит)
В systemverilog есть разные типы данных, которые можно использовать следующим образом: reg [31:0] data; logic [31:0] data; bit [31:0] data; Чем они трое отличаются?
80963 просмотров
schedule 15.03.2023

Что делает операция индексации для целочисленного типа в SystemVerilog?
Я пытаюсь перенести некоторый код SystemVerilog на C++/SystemC и немного застрял на паре строк, где вижу странную индексацию массива. Вот упрощенная версия того, что я вижу. typedef enum bit [2:0] {enu_red, enu_blue, enu_green} typ_enum;...
1632 просмотров
schedule 12.09.2022

Сворачивание Gvim для системных пар ключевых слов Verilog
Как включить сворачивание ключевых слов системного Verilog в Gvim? Например function Code .... .... endfunction Я хотел бы, чтобы Gvim создал складку от функции к конечной функции. Как я могу это сделать ?
1433 просмотров
schedule 08.04.2023

Системный аналог Verilog для «синхронизации» Specman e
Я хотел бы спросить, что является аналогом sync Specman e в языке System Verilog. Я понимаю, что @ event_indentifier эквивалентно wait @ event в Specman e. А как насчет sync @ event ?
1922 просмотров
schedule 19.05.2023

самый простой способ подключить распакованный массив на интерфейс модуля в systemverilog
Вот пример ниже module a_mod ( u ); input bit [2:0] u [1:0]; ... endmodule module b_mod (); bit [2:0] c1, c2; a_mod a_mod_inst ( .u ( {c1,c2} ) // won't work ); endmodule Как проще всего выполнить подключение, чтобы u[0] == c2 и u[1] ==...
5594 просмотров
schedule 26.12.2022

SVA: Использование импликации (|=›) вместо последовательности?
Свойства утверждения SystemVerilog могут быть созданы с помощью операторов импликации |=> и последовательностей ##1 . Например : property P1; @(posedge clk) A ##1 B |=> C ##1 D; endproperty Выше мы использовали A ##1 B в...
1966 просмотров

systemverilog: Использование структуры в качестве спецификатора среза в потоковых операциях
typedef struct { bit y; bit x; } t_my_unpkd_struct; t_my_unpkd_struct a[1:0]; bit [1:0] bb[1:0]; assign { >> {a} } = { << t_my_unpkd_struct {bb} }; Приведенный выше код не компилируется — что я делаю не так? Могу ли я использовать...
1033 просмотров
schedule 24.11.2022

Как определить и инициализировать вектор, содержащий только единицы в Verilog?
Если я хочу объявить 128-битный вектор всех единиц, какой из этих методов всегда правильный? wire [127:0] mywire; assign mywire = 128'b1; assign mywire = {128{1'b1}}; assign mywire = 128'hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;
26610 просмотров

Как я могу сгенерировать 2 такта в тестовой среде с помощью systemverilog?
Мне нужно 2 тактовых генератора, работающих на разных частотах. Я пытался: forever begin #5ns clk1=~clk1; #4ns clk2=~clk2; end С этим кодом clk2 будет генерироваться после того, как clk1 будет завершено, но они не будут генерироваться...
5684 просмотров
schedule 16.07.2023

Verilog: как создать экземпляр модуля
Если у меня есть модуль Verilog «верхний» и «субкомпонент» модуля Verilog, как мне создать экземпляр субкомпонента сверху? верхняя: module top( input clk, input rst_n, input enable, input [9:0] data_rx_1,...
134816 просмотров
schedule 18.05.2022

Утверждение не выполняется, несмотря на истинность равенства
Я получаю причудливую ошибку утверждения. Это не удается, хотя равенство верно, как показано в сообщениях об ошибках. Я делаю простую сумму 4 входов модуля u2 и подтверждаю, что сумма равна сумме двух выходов. property CSA_add; @(posedge...
256 просмотров

System Verilog: перечисление внутри интерфейса
У меня есть интерфейс: interface my_intf(); typedef enum logic [1:0] { VAL_0 = 2'b00, VAL_1 = 2'b01, VAL_2 = 2'b10, VAL_3 = 2'b11 } T_VAL; T_VAL val; endinterface Мой модуль использует этот интерфейс: my_intf intf;...
4916 просмотров
schedule 14.02.2023