Описание тега system-verilog-assertions

Подъязык утверждений в SystemVerilog. Эти утверждения можно использовать при моделировании и формальном анализе. Синтаксис и использование описаны в IEEE Std 1800-2017 § 16.
1 ответ

Утверждение перекоса часов

Можно ли иметь абсолютные задержки, указанные в последовательностях для утверждений, как показано ниже: sequence Sab a # 2ns b; endsequence Это не компилируется точно. Но я просто хотел узнать, как поступить в таких ситуациях, когда мы хотим написат…
1 ответ

Как записать утверждение ширины импульса, когда система настраивается

Сценарий: Сигнал active может быть либо 1 цикл, 2 цикла, 3 цикла или 4 цикла в зависимости от config[1:0] вход в модуль Самый простой способ написать свойство для этого: property p_PropA; @(posedge clk) $rose active ##config ~active; endproperty Но …
1 ответ

Как мне проверить состояние i2c high-z?

Я подключаю сигналы i2c как tri1 из-за подтягивания. Я хочу видеть сигналы i2c как high-z, но утверждение не удалось из-за tri1. Знаете кого-нибудь, кто может ответить?
3 ответа

Значение [-> ​​1] в определении свойства verilog системы

Я не смог найти значение [->] выражение. Я знаком с использованием диапазонов как [a:b] или последовательности, такие как EVENT1|->EVENT2Но не с тем, что я упоминал в начале. Контекст является свойством assert, которое гарантирует, что clk1 вс…
1 ответ

Как убрать задержку сигнала с помощью кода verilog

У меня сигнал данных начинается в 1400 нс и заканчивается в 2000 нс. Я хочу, чтобы этот сигнал начинался с 100 нс. Как это сделать в Verilog? Пожалуйста, помогите мне. Я новичок в коде Verilog.
02 май '17 в 08:55
1 ответ

Verilog утверждение: предшествующий подтекст никогда не удовлетворен

property p_no_glitch; logic data; @(in[i]) disable iff (!rst_n) (1, data = !in[i]) |=> @(posedge clk) (in[i] == data); endproperty : p_no_glitch CHECK_GLITCH : assert property(p_no_glitch) else $error("%m p_no_glitch"); Если модуль отключен, я п…
09 окт '13 в 06:41
0 ответов

Как включить модуль внутри другого?

Я пишу на языке veriloga, и я пытаюсь включить модуль внутри другого, но безуспешно, я искал в Google и других ссылках. Я был бы очень благодарен, если кто-нибудь может мне помочь. заранее спасибо.
02 ноя '18 в 09:55
1 ответ

Кто-нибудь может объяснить использование "$sreadmemh" в SystemVerilog? Я нигде не получаю четкого объяснения

Пожалуйста, объясните, как этот код работает... module top; //string mem [5]; real mem [5]; initial begin $sreadmemh(mem,2,3,"A","B"); $display("mem = %p",mem); end endmodule
06 авг '18 в 07:19
1 ответ

Приоритет цепочечных унарных операторов в утверждениях SVA

Что касается инструмента, я пытаюсь правильно проанализировать утверждения SystemVerilog, и меня смущает правильный приоритет для некоторых выражений. Стандарт SystemVerilog имеет хорошую таблицу, где говорят, что not > until > always для старшинств…
16 окт '15 в 18:00
1 ответ

Ошибка подтверждения SystemVerilog: незаконное использование неконстантного выражения

SLV_DCR_TIMEOUT_WAIT - это значение, запрограммированное в регистре, следовательно, оно не является постоянным значением. Как я могу использовать то же самое в утверждении. assign DCR_CLK = testbench.sw_top_inst.DUT.megatron_x.megatron_cib.dcr_slave…
1 ответ

Утверждение не выполняется, имя экземпляра не является допустимым значением [7.1(IEEE)]

Мой код подтверждения следующий: property p_crossbar_halted_chk12; @(posedge `SOG_REST_SCOPE.clk) $rose(`SOG_REST_SCOPE.crossbar_halted) |-> ##[0:1] $rose(`SOG_REST_SCOPE.last_cycle) |-> ##[0:1] $fell(`SOG_REST_SCOPE.last_cycle); endproperty A…
22 июн '18 в 06:58
3 ответа

В чем разница между -> и => в утверждениях системы verilog?

Я хотел знать, когда использовать -> а также => в SVA? Есть ли различия между sequence A; req |-> ##1 gnt; endsequence а также sequence B; req |=> ##1 gnt; endsequence Пожалуйста, дайте мне знать.. Спасибо.
1 ответ

Система Verilog ожидать поведения

Я пытался использовать ожидаемую со следующим свойством module tb; logic a; logic clk=0; default clocking @(posedge clk); endclocking always #5ns clk = ~clk; initial begin $dumpfile("dump.vcd"); $dumpvars; $display("START"); a = 0; #100ns; a = 1; #1…
24 янв '18 в 13:21
1 ответ

Если последовательность встречается, то внутри нее возникает последовательность в утверждениях System-Verilog

Я хочу сказать: "Если последовательность A происходит тогда последовательность B происходит в этой последовательности ". Как я могу это сделать? Я бы подумал, что мог бы использовать утверждение: assert property (@(posedge clk) (A |-> (B within A…
09 дек '16 в 16:30
0 ответов

Verilog-кодирование для построения стековой памяти

Я хочу выполнить арифметическую операцию данных в памяти стека. Может ли кто-нибудь помочь мне выполнить операцию последовательного сложения в стеке?
28 ноя '18 в 17:41
1 ответ

Почему Quartus Prime не хочет игнорировать утверждение systemverilog, используемое для симуляции?

У меня есть следующее объявление свойства и я зарегистрировался в одном из моих системных файлов verilog: property StepOutP_pulse_width; int count; @(posedge ClkRs_ix.clk) ($rose(mc.outvec.StepOutP_o),count=STEPPER_PULSE_WIDTH) |-> (mc.outvec.Ste…
25 окт '17 в 12:18
3 ответа

Утверждение о длительном сбросе

Я вижу, что утверждения всегда связаны с n числом циклов часов. Можно ли как-нибудь проверить продолжительность по шкале времени? Имея в виду скажем, я хочу проверить, удерживается ли сброс для 100 нс или меньше, как мы пишем утверждение assert для …
30 мар '16 в 19:08
1 ответ

Синтаксис SVA: разница между ##1 a |-> b и a |-> $past(b)

В чем разница между этими двумя выражениями: ##1 a |-> b против a |-> $past(b) В первом будет значение b из текущего цикла будет использоваться или из следующего цикла?
1 ответ

Как избежать самого последнего утверждения (если я правильно понял)

Я слежу за http://verificationguild.com/modules.php?name=Forums&file;=viewtopic&p;=5019 чтобы проверить период определенного сигнала. Этот метод работает отлично, но в самом конце симуляции, если утверждение удаляется с помощью posedge (активного фр…
2 ответа

Последовательное тестирование и утверждение с помощью System-Verilog

У меня есть последовательный вывод модуля Verilog, который я хотел бы протестировать с использованием системы Verilog. Вывод, называемый "SO", будет выводить что-то вроде 8'hC6 при условии правильного последовательного входа "SI" со значением, скаже…