|
31 | 31 |
|
32 | 32 | import lynxTypes::*; |
33 | 33 |
|
| 34 | +`include "libstf_macros.svh" |
| 35 | + |
34 | 36 | // ---------------------------------------------------------------------------- |
35 | 37 | // AXI4 |
36 | 38 | // ---------------------------------------------------------------------------- |
@@ -325,6 +327,35 @@ clocking cbs @(posedge aclk); |
325 | 327 | output awready, arready, rresp, rdata, rvalid, wready, bresp, bvalid; |
326 | 328 | endclocking |
327 | 329 |
|
| 330 | +// Assertions |
| 331 | +`ASSERT_STABLE(awaddr, awvalid, awready); |
| 332 | +`ASSERT_STABLE(awprot, awvalid, awready); |
| 333 | +`ASSERT_STABLE(awqos, awvalid, awready); |
| 334 | +`ASSERT_STABLE(awregion, awvalid, awready); |
| 335 | +`ASSERT_NOT_UNDEFINED(awvalid); |
| 336 | +`ASSERT_NOT_UNDEFINED(awready); |
| 337 | + |
| 338 | +`ASSERT_STABLE(araddr, arvalid, arready); |
| 339 | +`ASSERT_STABLE(arprot, arvalid, arready); |
| 340 | +`ASSERT_STABLE(arqos, arvalid, arready); |
| 341 | +`ASSERT_STABLE(arregion, arvalid, arready); |
| 342 | +`ASSERT_NOT_UNDEFINED(arvalid); |
| 343 | +`ASSERT_NOT_UNDEFINED(arready); |
| 344 | + |
| 345 | +`ASSERT_STABLE(wdata, wvalid, wready); |
| 346 | +`ASSERT_STABLE(wstrb, wvalid, wready); |
| 347 | +`ASSERT_NOT_UNDEFINED(wvalid); |
| 348 | +`ASSERT_NOT_UNDEFINED(wready); |
| 349 | + |
| 350 | +`ASSERT_STABLE(rresp, rvalid, rready); |
| 351 | +`ASSERT_STABLE(rdata, rvalid, rready); |
| 352 | +`ASSERT_NOT_UNDEFINED(rvalid); |
| 353 | +`ASSERT_NOT_UNDEFINED(rready); |
| 354 | + |
| 355 | +`ASSERT_STABLE(bresp, bvalid, bready); |
| 356 | +`ASSERT_NOT_UNDEFINED(bvalid); |
| 357 | +`ASSERT_NOT_UNDEFINED(bready); |
| 358 | + |
328 | 359 | endinterface |
329 | 360 |
|
330 | 361 | // ---------------------------------------------------------------------------- |
@@ -373,6 +404,13 @@ modport s ( |
373 | 404 | output tready |
374 | 405 | ); |
375 | 406 |
|
| 407 | +// Assertions |
| 408 | +`ASSERT_SIGNAL_STABLE(tdata); |
| 409 | +`ASSERT_SIGNAL_STABLE(tkeep); |
| 410 | +`ASSERT_SIGNAL_STABLE(tlast); |
| 411 | +`ASSERT_NOT_UNDEFINED(tvalid); |
| 412 | +`ASSERT_NOT_UNDEFINED(tready); |
| 413 | + |
376 | 414 | endinterface |
377 | 415 |
|
378 | 416 |
|
@@ -439,6 +477,14 @@ clocking cbs @(posedge aclk); |
439 | 477 | output tready; |
440 | 478 | endclocking |
441 | 479 |
|
| 480 | +// Assertions |
| 481 | +`ASSERT_SIGNAL_STABLE(tdata); |
| 482 | +`ASSERT_SIGNAL_STABLE(tid); |
| 483 | +`ASSERT_SIGNAL_STABLE(tkeep); |
| 484 | +`ASSERT_SIGNAL_STABLE(tlast); |
| 485 | +`ASSERT_NOT_UNDEFINED(tvalid); |
| 486 | +`ASSERT_NOT_UNDEFINED(tready); |
| 487 | + |
442 | 488 | endinterface |
443 | 489 |
|
444 | 490 | // ---------------------------------------------------------------------------- |
|
0 commit comments