• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
        • Symbolic-test-vectors
        • Esim-primitives
          • *esim-ceq*
            • *esim-id*
            • *esim-z*
            • *esim-del*
            • *esim-cmos*
            • *esim-buf*
            • *esim-zif*
            • *esim-xnor*
            • *esim-t*
            • *esim-safe-mux*
            • *esim-notif0*
            • *esim-nmos*
            • *esim-f*
            • *esim-x*
            • *esim-xor*
            • *esim-unsafe-mux*
            • *esim-tri*
            • *esim-pmos*
            • *esim-or*
            • *esim-not*
            • *esim-notif1*
            • *esim-nor*
            • *esim-nand*
            • *esim-latch*
            • *esim-fsmreg*
            • *esim-bufif1*
            • *esim-bufif0*
            • *esim-and*
            • *esim-primitives*
          • E-conversion
          • Esim-steps
          • Patterns
          • Mod-internal-paths
          • Defmodules
          • Esim-simplify-update-fns
          • Esim-tutorial
          • Esim-vl
        • Vl2014
        • Sv
        • Vwsim
        • Fgl
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Testing-utilities
      • Math
    • Esim-primitives

    *esim-ceq*

    Primitive E module for a Verilog === operator.

    We use this to implement vl2014::*vl-1-bit-ceq*.

    However, the === operator is inherently unsound and cannot be modeled in esim because it is violates 4v-monotonicity. We just conservatively approximate === with an xnor gate. That is, this module is nothing more than a *esim-xnor*.

    Definition:

    Definition: *esim-ceq*

    (defconst *esim-ceq*
              '(:n *esim-ceq*
                   :x (:out ((|out| iff |a| |b|)))
                   :i ((|a|) (|b|))
                   :o ((|out|))))