1. Jul 10, 2020
  2. Jul 02, 2020
  3. Jun 27, 2020
  4. Jun 26, 2020
  5. Jun 25, 2020
  6. Jun 24, 2020
    • Jack Koenig's avatar
      Don't Dedup modules if it would change semantics (#1713) · e0e68568
      Jack Koenig authored
      If a module has ports of type Bundle that are used in aggregate
      connections in parent modules, Dedup cannot change the names of the
      fields of the Bundle or it would change the semantics of the connection.
      Dedup now detects this case and refrains from agnostifying the ports of
      such modules to prevent this issue.
      e0e68568
    • Tom Alcorn's avatar
      Basic model checking API (#1653) · 8322316a
      Tom Alcorn authored
      
      
      * Add assume, assert, cover statements
      * Assert submodule assumptions
      * Add warning when removing verification statements
      * Remove System Verilog behaviour emitter warning
      * Add option to disable AssertSubmoduleAssumptions
      * Document verification statements in the spec
      
      The syntax for the new statements is
      
          assert(clk, cond, en, msg)
          assume(clk, cond, en, msg)
          cover(clk, cond, en, msg)
      
      With assert as a representative example, the semantics is as follows:
      `clk` is the clock, `cond` is the expression being asserted, `en` is the
      enable signal (if `en` is low then the assert is not checked) and `msg`
      is a string message intended to be reported as an error message by the
      model checker if the assertion fails.
      
      In the Verilog emitter, the new statements are handled by a new
      `formals` map, which groups the statements by clock domain. All model
      checking statements are then emitted within the context of an `ifdef
      FORMAL` block, which allows model checking tools (like Symbiyosys) to
      utilize the statements while keeping them out of synthesis flows.
      
      Co-authored-by: default avatarAlbert Magyar <albert.magyar@gmail.com>
      8322316a
    • Jack Koenig's avatar
      d1db9067
  7. Jun 23, 2020
  8. Jun 20, 2020
  9. Jun 13, 2020
  10. Jun 12, 2020
  11. Jun 11, 2020
  12. Jun 10, 2020
  13. Jun 05, 2020
  14. Jun 04, 2020