tree: a670ac12f8d37e423ececacf7640952dd5b348f8 [path history] [tgz]
  1. .gitignore
  2. addrdecode.sby
  3. afifo.gtkw
  4. afifo.sby
  5. apbslave.gtkw
  6. apbslave.sby
  7. axi3reorder.sby
  8. axi_addr_miter.sby
  9. axi_addr_miter.v
  10. axil2apb.gtkw
  11. axil2apb.sby
  12. axil2axis.gtkw
  13. axil2axis.sby
  14. axildouble.sby
  15. axilrd2wbsp.gtkw
  16. axilrd2wbsp.sby
  17. axilsafety.gtkw
  18. axilsafety.sby
  19. axilsingle.gtkw
  20. axilsingle.sby
  21. axilwr2wbsp.sby
  22. axilxbar.sby
  23. axilxbar_4x1.gtkw
  24. axilxbar_cvr1x3.gtkw
  25. axilxbar_prf1x8.gtkw
  26. axim2wbsp.ys
  27. aximrd2wbsp.gtkw
  28. aximrd2wbsp.sby
  29. axiperf.sby
  30. axisgfsm.gtkw
  31. axisgfsm.sby
  32. axisrandom.sby
  33. axissafety.gtkw
  34. axissafety.sby
  35. axisswitch.gtkw
  36. axisswitch.sby
  37. axlite2wbsp.gtkw
  38. axlite2wbsp.sby
  39. demoaxi.gtkw
  40. demoaxi.sby
  41. easyaxil.gtkw
  42. easyaxil.sby
  43. f_order.v
  44. fapb_master.v
  45. fapb_slave.v
  46. fav_slave.v
  47. faxi_addr.v
  48. faxi_master.v
  49. faxi_slave.v
  50. faxil_master.v
  51. faxil_slave.v
  52. faxis_master.v
  53. faxis_slave.v
  54. fwb_master.v
  55. fwb_slave.v
  56. fwbc_master.v
  57. fwbc_slave.v
  58. Makefile
  59. passcheck.sh
  60. README.md
  61. sfifo.sby
  62. skidbuffer.gtkw
  63. skidbuffer.sby
  64. wbarbiter.gtkw
  65. wbarbiter.sby
  66. wbc2pipeline.sby
  67. wbm2axilite.sby
  68. wbm2axisp.sby
  69. wbm2axisp.ys
  70. wbp2classic.gtkw
  71. wbp2classic.sby
  72. wbsafety.gtkw
  73. wbsafety.sby
  74. wbxbar.sby
  75. wbxclk.gtkw
  76. wbxclk.sby
  77. xlnxdemo.gtkw
  78. xlnxdemo.sby
  79. xlnxdemo.v
  80. xlnxfull_2018_3.v
  81. xlnxstream_2018_3.gtkw
  82. xlnxstream_2018_3.sby
  83. xlnxstream_2018_3.v
verilog/rtl/softshell/third_party/wb2axip/bench/formal/README.md

Every IP component in the rtl directory should have a respective SymbiYosys script here. (A .sby file.) Many of the AXI scripts remain proprietary and so get published elsewhere, but the AXI-lite and Wishbone scripts can be found here.

In addition to the formal verification scripts found in this directory, you‘ll also find a series of bus properties for various interface standards. In general, these property sets are found in pairs--one property set for the slave, and a second property set for verifying the bus master. I routinely compare these sets against each other using meld, so you shouldn’t find any really substantial differences between them.

Wishbone (Pipelined)

Master and Slave properties.

My properties insist on two clarifications to the WB specification: 1) any bus cycle may be aborted by dropping the CYC line, and 2) the CYC line will drop and all bus cycles will be aborted following any bus error. I've also dropped the retry signal from the standard.

Wishbone (Classic)

Master and Slave properties.

AXI4-Lite

Master and Slave properties. These may be the easiest AXI4-lite property sets to use.

AXI4

These properties are kept in a separate repository. You can see some of what they contain in the master and slave properties contained in this directory. The full properties, however, will allow you to do a proper induction (unbounded) proof. Those full properties can also handle out-of-order packet returns, such as AXI permits, to make certain that a core is fully/properly functional. The difficulty of checking these out of order properties using induction is one of the reasons these properties may be purchased rather than downloaded for free.

AXI Stream

Master and slave properties.

I rarely use these properties, however. I‘ve found that every AXI stream slave is unique, especially input or output slaves that operate at a fixed rate. These properties also rely upon default portlist properties for the rarely used signals, TID, TKEEP, TDEST, and TUSER, something Yosys didn’t yet support when they were first written.

That said, the properties are currently good enough as is to prove that Xilinx's AXI-Stream master demonstration IP is broken.

Avalon

It‘s been a while since I’ve worked with Avalon, but the slave properties found here saved my bacon in a Cyclone-V design more than once. These properties only use a subset of the Avalon signals as well, and don't support any of the burst signaling capabilities of Avalon.

APB

Master and slave properties.