• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
        • Use-set
        • Syntax
        • Getting-started
        • Utilities
        • Loader
        • Transforms
        • Lint
          • Vl-lintconfig-p
          • Lucid
          • Skip-detection
          • Vl-lintresult-p
          • Lint-warning-suppression
          • Condcheck
          • Selfassigns
          • Leftright-check
          • Dupeinst-check
          • Oddexpr-check
          • Remove-toohard
            • Vl-modulelist-remove-toohard
            • Vl-modinstlist-remove-toohard
            • Vl-initiallist-remove-toohard
            • Vl-gateinstlist-remove-toohard
            • Vl-assignlist-remove-toohard
            • Vl-alwayslist-remove-toohard
            • Vl-module-remove-toohard
            • Vl-atom-toohard
            • Vl-design-remove-toohard
            • Vl-op-toohard-p
            • *toohard-ops*
            • *not-toohard-ops*
          • Qmarksize-check
          • Portcheck
          • Duplicate-detect
          • Vl-print-certain-warnings
          • Duperhs-check
          • *vl-lint-help*
          • Lint-stmt-rewrite
          • Drop-missing-submodules
          • Check-case
          • Drop-user-submodules
          • Check-namespace
          • Vl-lint
        • Mlib
        • Server
        • Kit
        • Printer
        • Esim-vl
        • Well-formedness
      • Sv
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Lint

Remove-toohard

(Unsound transform). Remove from each module any assignments, instances, or inital/always blocks that have any "toohard" expressions in them, such as unresolved hierarchical identifiers, strings, function calls, system functions, and similar.

This is obviously unsound and should never be used in the ordinary transformation process. We use it in our linting tool to prepare modules for sizing for the linter.

Subtopics

Vl-modulelist-remove-toohard
(vl-modulelist-remove-toohard x) maps vl-module-remove-toohard across a list.
Vl-modinstlist-remove-toohard
Vl-initiallist-remove-toohard
Vl-gateinstlist-remove-toohard
Vl-assignlist-remove-toohard
Vl-alwayslist-remove-toohard
Vl-module-remove-toohard
Vl-atom-toohard
Vl-design-remove-toohard
Vl-op-toohard-p
*toohard-ops*
Operators that we don't think we'll be able to handle.
*not-toohard-ops*
Operators that we sort of expect to be able to deal with in the linter.