• Top
    • Documentation
    • Books
    • Boolean-reasoning
      • Ipasir
      • Aignet
        • Base-api
        • Aignet-construction
        • Representation
        • Aignet-copy-init
        • Aignet-simplify-with-tracking
        • Aignet-simplify-marked-with-tracking
        • Aignet-cnf
        • Aignet-simplify-marked
        • Aignet-complete-copy
        • Aignet-transforms
        • Aignet-eval
          • Vector-simulation
            • Aignet-vecsim
            • Aignet-vecsim1
            • S32v
            • Random-sim
            • Exhaustive-sim
            • S32v-randomize-inputs
            • S32v-randomize-regs
            • Aignet-vecsim-top
          • Semantics
          • Aignet-read-aiger
          • Aignet-write-aiger
          • Aignet-abc-interface
          • Utilities
        • Aig
        • Satlink
        • Truth
        • Ubdds
        • Bdd
        • Faig
        • Bed
        • 4v
      • Projects
      • Debugging
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Vector-simulation

    Aignet-vecsim-top

    Logically same as aignet-vecsim, but optimizes by calling aignet-vecsim1 when s32v has only 1 column

    Signature
    (aignet-vecsim-top s32v aignet) → s32v

    Definitions and Theorems

    Function: aignet-vecsim-top

    (defun aignet-vecsim-top (s32v aignet)
      (declare (xargs :stobjs (s32v aignet)))
      (declare (xargs :guard (<= (num-fanins aignet)
                                 (s32v-nrows s32v))))
      (let ((__function__ 'aignet-vecsim-top))
        (declare (ignorable __function__))
        (mbe :logic (aignet-vecsim s32v aignet)
             :exec
             (if (eql (s32v-ncols s32v) 1)
                 (aignet-vecsim1 s32v aignet)
               (aignet-vecsim s32v aignet)))))