Вопросы по теме 'system-verilog-assertions'
Передача сброса в утверждениях SystemVerilog
Чем отличаются следующие два свойства?
property p1;
@(posedge clk) disable iff (Reset) b ##1 c;
endproperty
property p2;
@(posedge clk) (~Reset & b) ##1 c;
endproperty
assert property (p1);
assert property (p2);
2578 просмотров
schedule
16.06.2023
Квалификационное событие повторения непоследовательной операции SVA
У меня есть следующее свойство:
property p;
@(posedge clk) a |=> b[=2] ##1 c;
endproperty
Он сообщает нам, что если a утвержден, то начать со следующего clk , b должен быть утвержден непоследовательно два раза, за которым следует c...
1174 просмотров
schedule
12.11.2022
утверждение на длительное удержание сброса
Я вижу, что утверждения всегда связаны с числом n циклов часов. Есть ли способ проверить продолжительность по шкале времени? Значение
скажем, я хочу проверить, удерживается ли сброс в течение 100 нс или меньше, как нам написать для этого...
602 просмотров
schedule
20.10.2022
Битовый вектор утверждения System Verilog
Я хочу утверждение, что если в текущем цикле сигнал 'a' равен "0110" (в двоичном формате), то в следующем цикле signal 'b' не больше 31 (он должен быть между 0 и 31. он должен быть меньше, чем 00000000000000000000000000011111) ( его ширина равна 32)...
528 просмотров
schedule
05.04.2023
Предположения / утверждения SVA для непрерывного ввода данных
Я новичок в проверке на основе утверждений, пытаюсь понять, как это должно быть сделано правильно. Я нашел много информации о структуре и технических деталях утверждений systemverilog +, но до сих пор не нашел что-то вроде «кулинарной книги» о том,...
2539 просмотров
schedule
21.10.2022
Системное утверждение Verilog — $rose
Я хочу написать утверждение, в котором говорится, что требование должно стать высоким через 4 цикла после следующего выполнения. Для меня при перезагрузке проделанное уже высоко. Как я могу сделать запрос высоким при следующем выполнении. assert...
1089 просмотров
schedule
24.10.2022
Сравнение параллельных массивов SVA
Я новичок в systemverilog и SVA, и я пытаюсь создать утверждение для генератора prbs, сравнивая любой заданный массив ( logic [6:0] ) с тем же массивом через 127 тактов после. Проблема в том, что операторы, которые я нашел полезными для сравнения...
210 просмотров
schedule
07.06.2022
В чем разница между импликацией (- ›) и ## 0 в SVA?
В чем тонкая разница между следующими утверждениями
a -> b vs a ##0 b
в SVA (утверждения SystemVerilog)?
3661 просмотров
schedule
01.12.2023
Утверждение SystemVerilog для действительного (запроса) - проверка подтверждения?
Я изучаю утверждение SystemVerilog. Я применил SVA для проверки спецификации valid-ack. Технические характеристики приведены ниже:
Когда действительный сдвигается (от 0 до 1), действительный должен быть равен 1 до тех пор, пока не будет...
671 просмотров
schedule
06.07.2022
Преобразование утверждения SystemVerilog с задержкой в invarspec
Я хочу преобразовать утверждение SystemVerilog с задержкой в invarspec формального верификатора. Синтезатор выдает синтаксическую ошибку для ##1 в строке кода ниже.
assert property ( ( req1 == 0 ) ##1( req1 == 1 ) ##1 !( req2 == 1 ) || ( gnt1...
187 просмотров
schedule
09.02.2023
Если последовательность встречается, то в утверждениях System-Verilog в ней встречается подпоследовательность.
Я хочу сказать: «если последовательность A встречается, то последовательность B встречается в этой последовательности». Как я могу это сделать?
Я бы подумал, что могу использовать утверждение:
assert property (@(posedge clk) (A |-> (B...
223 просмотров
schedule
14.03.2023
Как лучше всего проверить частоту часов с допуском +/-%?
Ниже показано свойство, которое я использую в настоящее время.
property freq_chk (time clk_period , bit disable_chk=0);
time current_time;
disable iff ( disable_chk )
('1, current_time = $time) |=>
( (($time - current_time) >=...
1448 просмотров
schedule
03.07.2022
Что происходит, когда мы присваиваем 2 значения одной и той же переменной?
Я пытаюсь сделать простое утверждение, которое проверяет, равны ли два значения. Может кто-нибудь объяснить поведение, когда я присваиваю два разных значения одной и той же переменной
logic src_sig ;
logic dest_sig;
logic alt_sig;
assign a =...
2435 просмотров
schedule
15.04.2023
systemverilog assertion - как игнорировать первое событие после сброса
Я написал следующее утверждение:
assert property(@(posedge ClkRs_ix.clk)
disable iff (ClkRs_ix.reset) $stable(Signal_ia)[*20] |->
(Signal_oq==Signal_ia));
Я хотел выразить, что 20 тактов, в течение которых входной...
2486 просмотров
schedule
06.10.2022
Синтаксис SVA: использование $ past с выбором вектора / массива, то есть $ past (a [a_select])
Предположим, у меня есть следующее:
$past(a[a_select])
Скажем, в текущем цикле a_select равно «2», тогда как в предыдущем цикле было «1». Будет ли оценка выше a[2] из предыдущего цикла или a[1] из предыдущего цикла?
Если это будет...
309 просмотров
schedule
12.09.2022
Почему следующее утверждение попадает только один раз в начале и не может перейти в неактивное состояние и остается в готовом состоянии?
Следующее — это свойство утверждения. Когда o_dc_mode = 1, тогда o_mod_c_c == rego_dc_c_c. Как видно из формы сигнала, когда ASK_MOD_DC_MODE_PROPERTY попадает в сценарий, он остается в «завершенном» состоянии и никогда не переходит в неактивное...
210 просмотров
schedule
25.11.2022
Как предотвратить появление новых потоков SVA
Предположим, у меня есть кнопка в моем дизайне. Я хочу увеличить счетчик между следующими двумя часами, когда кнопка была нажата три раза, и я хочу проверить это поведение с помощью SVA. Я написал это:
`timescale 1ns / 1ps
module tb();...
77 просмотров
schedule
24.04.2023
SystemVerilog всегда @ последовательность
Я хочу создать блок Always, который использует последовательность для управления событиями, но я не уверен, разрешено ли это в SystemVerilog, и я получаю внутреннюю ошибку компилятора, когда пытаюсь это сделать. Вот образец моего кода:
sequence...
85 просмотров
schedule
23.12.2022
В чем разница между символом «-›» и «|-›» в свойствах утверждения System Verilog
Я столкнулся с примером свойства, которое работает здесь:
property p_a;
@(posedge clk) $rose(a) -> $rose(b);
endproperty
Синтаксической ошибки выше нет.
Затем я попытался изменить это
property p_a;
@(posedge clk) $rose(a) ->...
65 просмотров
schedule
09.05.2023
SystemVerilog отключает свойство обложки после попадания
У меня есть несколько укрытий, которые, как я ожидаю, будут срабатывать довольно часто, и я вижу, что они начинают влиять на производительность моей симуляции, потому что срабатывают слишком часто. Я не хочу удалять их, потому что я хочу убедиться,...
40 просмотров
schedule
17.10.2023