82 Commits (main)

Author SHA1 Message Date
Jean-François Nguyen 4c16035a70 checks.insn._cr: fix order of spec_cr_w_data bits. 3 years ago
Jean-François Nguyen 010c383ed7 tb: remove testbench start trigger.
We don't use it currently; we just assume the sync domain is under
reset at the beginning of the BMC.

Also, fix a regression in the cycle counter introduced by 9ea58a47.
3 years ago
Jean-François Nguyen fee59d2257 checks.insn: add checks for CR logical instructions. 3 years ago
Jean-François Nguyen bc06e67fe8 checks.insn._branch: add missing PowerFVCheck name. 3 years ago
Jean-François Nguyen 9ea58a47a9 Refactor to facilitate integration with CLIs and config files.
* Checks are now split in two modules: checks.cons for consistency
  checks, checks.insn for instructions.

* Checks are derived from PowerFVCheck and have a shorthand (e.g.
  "insn_b"). PowerFVCheck holds a mapping between its subclasses and
  their shorthands.

* Instruction checks definitions have been simplified to one-liners,
  and grouped into a single file.

* A Trigger class has been added to define testbench triggers.
3 years ago
Jean-François Nguyen 5c097b9474 checks._branch: fix branches to LR/CTR/TAR.
- remove check for undefined mnemonics (afaiu, their BO value isn't illegal).
- add check for illegal bcctr/bcctrl forms (with BO(2) = 0).
- fix target offset for branches to LR/CTR/TAR.
- use MSR.SF to check the upper bits of target addresses.
3 years ago
Jean-François Nguyen 5649f60c78 checks.insn_bcctrl: fix typo. 3 years ago
Jean-François Nguyen e9d7a91e01 utils: add helper to mask addresses according to MSR.SF. 3 years ago
Jean-François Nguyen d9ed524cb3 powerv.insn: fix width of XO width for XL-form insns. 3 years ago
Jean-François Nguyen 0ca97a8d6a checks.{cr,gpr}: add support for interrupts.
Also, rephrase gpr.Check docstring.
3 years ago
Jean-François Nguyen 25500cd680 checks.spr: refactor. 3 years ago
Jean-François Nguyen c6a74333e8 pfv: add MSR and SRR0/SRR1 SPRs. 3 years ago
Jean-François Nguyen 58bef1a741 checks: add checks for branch instructions. 3 years ago
Jean-François Nguyen 5c9bc3e68c cores/microwatt: add support for concurrent execution of formal checks. 3 years ago
Jean-François Nguyen 6ae4978f0c pfv: expose CR as a flat 32-bit value. 3 years ago
Jean-François Nguyen 2988ffc617 checks.spr: add SPRCheck. 3 years ago
Jean-François Nguyen e7e9bb08f0 checks.cr: add CRCheck. 3 years ago
Jean-François Nguyen b84a23877a checks.gpr: add GPRCheck. 3 years ago
Jean-François Nguyen 6b5536eb0f tb: fix error message. 3 years ago
Jean-François Nguyen e0e434204b checks.ia_fwd: add check. 3 years ago
Jean-François Nguyen bc222162b8 build.plat: add SBY mode as .build() parameter. 3 years ago
Jean-François Nguyen fc9feb58cb checks.unique: add check. 3 years ago
Jean-François Nguyen 7114ed807e pfv: add ports for IA,GPRs,CR,SPRs and storage. 3 years ago
Jean-François Nguyen 3c10a0427b build.plat: fix testbench validation. 3 years ago
Jean-François Nguyen ea98ca49df tb: fix timer reset; cosmetic fixes. 3 years ago
Jean-François Nguyen 28a239724e build.plat: sby mode override; cosmetic fixes. 3 years ago
Jean-François Nguyen 96bbd85e83 __init__: do not export sub-packages by default.
Also, rename dut.py to pfv.py.
3 years ago
Jean-François Nguyen 1e93621f95 Use poetry to manage python dependencies. 3 years ago
Jean-François Nguyen b60aaae27b build.plat: add SymbiYosysPlatform. 3 years ago
Jean-François Nguyen 25c629af16 tb: add top-level testbench. 3 years ago
Jean-François Nguyen 3102468806 dut: add processor interface. 3 years ago
Jean-François Nguyen 3b39aa7eae Initial commit. 3 years ago