First Property
Whenever a is high, b must be high in that same cycle.
Follow the path or jump ahead. Every challenge is open to you.
Learn to express digital behavior, one carefully sampled cycle at a time.
Start with the relationship between signals.
Whenever a is high, b must be high in that same cycle.
Whenever req is high and busy is low, ack must be high in the same cycle.
Turn clock boundaries into precise obligations.
For every sampled high req, ack must be high one cycle later.
For every sampled high req, ack must be high exactly two cycles later. Other ack pulses are allowed.
Whenever req is sampled high, ack must be high on the next cycle.
Reason about previous values, edges, and stability.
At every cycle, b must equal the previous sampled value of a. Missing history is zero.
$past()Log in to begin →When start transitions from 0 to 1, pulse must be high in that cycle. Holding start high adds …
$rose()Log in to begin →When start transitions from 1 to 0, pulse must be high in that cycle.
$fell()Log in to begin →Whenever busy is high, data must equal its previous sampled value. busy is low at cycle zero.
$stable()Log in to begin →Combine your tools to describe richer behavior.
After every sampled high req, ack must occur between one and three cycles later, inclusive.
##[N:M]Log in to begin →After each rising edge of req, ack must occur one to three cycles later. A held request creates …
##[N:M]Log in to begin →When req is high and busy is low, one or two cycles later ack must be high and …