Вопросы по теме '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 просмотров

Квалификационное событие повторения непоследовательной операции SVA
У меня есть следующее свойство: property p; @(posedge clk) a |=> b[=2] ##1 c; endproperty Он сообщает нам, что если a утвержден, то начать со следующего clk , b должен быть утвержден непоследовательно два раза, за которым следует c...
1174 просмотров

утверждение на длительное удержание сброса
Я вижу, что утверждения всегда связаны с числом n циклов часов. Есть ли способ проверить продолжительность по шкале времени? Значение скажем, я хочу проверить, удерживается ли сброс в течение 100 нс или меньше, как нам написать для этого...
602 просмотров

Битовый вектор утверждения System Verilog
Я хочу утверждение, что если в текущем цикле сигнал 'a' равен "0110" (в двоичном формате), то в следующем цикле signal 'b' не больше 31 (он должен быть между 0 и 31. он должен быть меньше, чем 00000000000000000000000000011111) ( его ширина равна 32)...
528 просмотров

Предположения / утверждения SVA для непрерывного ввода данных
Я новичок в проверке на основе утверждений, пытаюсь понять, как это должно быть сделано правильно. Я нашел много информации о структуре и технических деталях утверждений systemverilog +, но до сих пор не нашел что-то вроде «кулинарной книги» о том,...
2539 просмотров

Системное утверждение Verilog — $rose
Я хочу написать утверждение, в котором говорится, что требование должно стать высоким через 4 цикла после следующего выполнения. Для меня при перезагрузке проделанное уже высоко. Как я могу сделать запрос высоким при следующем выполнении. assert...
1089 просмотров

Сравнение параллельных массивов SVA
Я новичок в systemverilog и SVA, и я пытаюсь создать утверждение для генератора prbs, сравнивая любой заданный массив ( logic [6:0] ) с тем же массивом через 127 тактов после. Проблема в том, что операторы, которые я нашел полезными для сравнения...
210 просмотров

В чем разница между импликацией (- ›) и ## 0 в SVA?
В чем тонкая разница между следующими утверждениями a -> b vs a ##0 b в SVA (утверждения SystemVerilog)?
3661 просмотров

Утверждение SystemVerilog для действительного (запроса) - проверка подтверждения?
Я изучаю утверждение SystemVerilog. Я применил SVA для проверки спецификации valid-ack. Технические характеристики приведены ниже: Когда действительный сдвигается (от 0 до 1), действительный должен быть равен 1 до тех пор, пока не будет...
671 просмотров

Преобразование утверждения SystemVerilog с задержкой в ​​invarspec
Я хочу преобразовать утверждение SystemVerilog с задержкой в ​​invarspec формального верификатора. Синтезатор выдает синтаксическую ошибку для ##1 в строке кода ниже. assert property ( ( req1 == 0 ) ##1( req1 == 1 ) ##1 !( req2 == 1 ) || ( gnt1...
187 просмотров

Если последовательность встречается, то в утверждениях System-Verilog в ней встречается подпоследовательность.
Я хочу сказать: «если последовательность A встречается, то последовательность B встречается в этой последовательности». Как я могу это сделать? Я бы подумал, что могу использовать утверждение: assert property (@(posedge clk) (A |-> (B...
223 просмотров

Как лучше всего проверить частоту часов с допуском +/-%?
Ниже показано свойство, которое я использую в настоящее время. 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 просмотров

Что происходит, когда мы присваиваем 2 значения одной и той же переменной?
Я пытаюсь сделать простое утверждение, которое проверяет, равны ли два значения. Может кто-нибудь объяснить поведение, когда я присваиваю два разных значения одной и той же переменной logic src_sig ; logic dest_sig; logic alt_sig; assign a =...
2435 просмотров

systemverilog assertion - как игнорировать первое событие после сброса
Я написал следующее утверждение: assert property(@(posedge ClkRs_ix.clk) disable iff (ClkRs_ix.reset) $stable(Signal_ia)[*20] |-> (Signal_oq==Signal_ia)); Я хотел выразить, что 20 тактов, в течение которых входной...
2486 просмотров

Синтаксис SVA: использование $ past с выбором вектора / массива, то есть $ past (a [a_select])
Предположим, у меня есть следующее: $past(a[a_select]) Скажем, в текущем цикле a_select равно «2», тогда как в предыдущем цикле было «1». Будет ли оценка выше a[2] из предыдущего цикла или a[1] из предыдущего цикла? Если это будет...
309 просмотров

Почему следующее утверждение попадает только один раз в начале и не может перейти в неактивное состояние и остается в готовом состоянии?
Следующее — это свойство утверждения. Когда o_dc_mode = 1, тогда o_mod_c_c == rego_dc_c_c. Как видно из формы сигнала, когда ASK_MOD_DC_MODE_PROPERTY попадает в сценарий, он остается в «завершенном» состоянии и никогда не переходит в неактивное...
210 просмотров

Как предотвратить появление новых потоков SVA
Предположим, у меня есть кнопка в моем дизайне. Я хочу увеличить счетчик между следующими двумя часами, когда кнопка была нажата три раза, и я хочу проверить это поведение с помощью SVA. Я написал это: `timescale 1ns / 1ps module tb();...
77 просмотров

SystemVerilog всегда @ последовательность
Я хочу создать блок Always, который использует последовательность для управления событиями, но я не уверен, разрешено ли это в SystemVerilog, и я получаю внутреннюю ошибку компилятора, когда пытаюсь это сделать. Вот образец моего кода: sequence...
85 просмотров

В чем разница между символом «-›» и «|-›» в свойствах утверждения System Verilog
Я столкнулся с примером свойства, которое работает здесь: property p_a; @(posedge clk) $rose(a) -> $rose(b); endproperty Синтаксической ошибки выше нет. Затем я попытался изменить это property p_a; @(posedge clk) $rose(a) ->...
65 просмотров

SystemVerilog отключает свойство обложки после попадания
У меня есть несколько укрытий, которые, как я ожидаю, будут срабатывать довольно часто, и я вижу, что они начинают влиять на производительность моей симуляции, потому что срабатывают слишком часто. Я не хочу удалять их, потому что я хочу убедиться,...
40 просмотров