![](https://csdnimg.cn/release/download_crawler_static/11985629/bg12.jpg)
16.4 $sampled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
16.5 $past_gclk, $rose_gclk, $fell_gclk, $stable_gclk, $changed_
gclk, $future_gclk, $rising_gclk, $falling_gclk, $steady_gclk,
$changing_gclk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
16.6 ‘followed by’ Properties #-# and #=# . . . . . . . . . . . . . . . . . . 261
16.7 ‘always’ and ‘s_always’ Property . . . . . . . . . . . . . . . . . . . . . 262
16.8 ‘eventually’,‘s_eventually’ .......................... 264
16.9 ‘until’, ‘s_until’, ‘until_with’ and ‘s_until_with ’ ........... 265
16.10 ‘nexttime’ and ‘s_nexttime’ ......................... 267
16.11 ‘case’ Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
16.12 $inferred_clock and $inferred_disable . . . . . . . . . . . . . . . . . . 271
16.13 ‘let’ Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
16.13.1 let: Local Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 274
16.13.2 let: With Parameters . . . . . . . . . . . . . . . . . . . . . . . 275
16.13.3 let: In Immediate and Concurrent Assertions . . . . . . 277
16.14 ‘restrict’ for Formal Verification . . . . . . . . . . . . . . . . . . . . . . 280
16.15 Abort Properties: reject_on, accept_on, sync_reject_on,
sync_accept_on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
16.16 $assertpassoff, $assertpasson, $assertfailoff, $assertfailon,
$assertnonvacuouson, $assertvacuousoff . . . . . . . . . . . . . . . . 284
16.17 $assertcontrol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
16.18 Checkers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
16.18.1 Nested Checkers . . . . . . . . . . . . . . . . . . . . . . . . . . 295
16.18.2 Checkers: Illegal Conditions. . . . . . . . . . . . . . . . . . 296
16.18.3 Checkers: Important Points. . . . . . . . . . . . . . . . . . . 298
16.18.4 Checker: Instantiation Rules . . . . . . . . . . . . . . . . . . 301
17 SystemVerilog Ass ertions LABs .......................... 305
17.1 LAB1: Assertions with/Without Implication and ‘bind’ ...... 305
17.1.1 LAB1: ‘bind’ DUT Model and Testbench . . . . . . . . 306
17.1.2 LAB1: Questions . . . . . . . . . . . . . . . . . . . . . . . . . 308
17.2 LAB2: Overlap and Non-overlap Operators . . . . . . . . . . . . . . 310
17.2.1 LAB2 DUT Model and Testbench . . . . . . . . . . . . . 310
17.2.2 LAB2: Questions . . . . . . . . . . . . . . . . . . . . . . . . . 311
17.3 LAB3: Synchronous FIFO Assertions . . . . . . . . . . . . . . . . . . 313
17.3.1 LAB3: DUT Model and Testbench . . . . . . . . . . . . . 313
17.3.2 LAB3: Questions . . . . . . . . . . . . . . . . . . . . . . . . . 317
17.4 LAB4: Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
17.4.1 LAB4: Questions . . . . . . . . . . . . . . . . . . . . . . . . . 324
17.5 LAB5: Data Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . 327
17.5.1 LAB5: Questions . . . . . . . . . . . . . . . . . . . . . . . . . 335
17.6 LAB6: PCI Read Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . 336
17.6.1 LAB6: Questions . . . . . . . . . . . . . . . . . . . . . . . . . 340
Contents xxiii