Вопросы по теме '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 просмотров
schedule
03.08.2022
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 просмотров
schedule
04.06.2023
Как я могу сгенерировать 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 просмотров
schedule
08.01.2024
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