• circt firtool man page


    $: firtool --help


    OVERVIEW: MLIR-based FIRRTL compiler

    USAGE: firtool [options]

    OPTIONS:

    General options:

      --mlir-disable-threading                                         - Disable multi-threading within MLIR, overrides any further call to MLIRContext::enableMultiThreading()
      --mlir-elide-elementsattrs-if-larger=                      - Elide ElementsAttrs with "..." that have more elements than the given upper limit
      --mlir-pass-pipeline-crash-reproducer=                   - Generate a .mlir reproducer file at the given output path if the pass manager crashes or fails
      --mlir-pass-pipeline-local-reproducer                            - When generating a crash reproducer, attempt to generated a reproducer with the smallest pipeline.
      --mlir-pass-statistics                                           - Display the statistics of each pass
      --mlir-pass-statistics-display=                           - Display method for pass statistics
        =list                                                          -   display the results in a merged list sorted by pass name
        =pipeline                                                      -   display the results with a nested pipeline view
      --mlir-pretty-debuginfo                                          - Print pretty debug info in MLIR output
      --mlir-print-debuginfo                                           - Print debug info in MLIR output
      --mlir-print-elementsattrs-with-hex-if-larger=             - Print DenseElementsAttrs with a hex string that have more elements than the given upper limit (use -1 to disable)
      --mlir-print-ir-after=                                 - Print IR after specified passes
      --mlir-print-ir-after-all                                        - Print IR after each pass
      --mlir-print-ir-after-change                                     - When printing the IR after a pass, only print if the IR changed
      --mlir-print-ir-after-failure                                    - When printing the IR after a pass, only print if the pass failed
      --mlir-print-ir-before=                                - Print IR before specified passes
      --mlir-print-ir-before-all                                       - Print IR before each pass
      --mlir-print-ir-module-scope                                     - When printing IR for print-ir-[before|after]{-all} always print the top-level operation
      --mlir-print-local-scope                                         - Print with local scope and inline information (eliding aliases for attributes, types, and locations
      --mlir-print-op-on-diagnostic                                    - When a diagnostic is emitted on an operation, also print the operation as an attached note
      --mlir-print-stacktrace-on-diagnostic                            - When a diagnostic is emitted, also print the stack trace as an attached note
      --mlir-print-value-users                                         - Print users of operation results and block arguments as a comment
      --mlir-timing                                                    - Display execution times
      --mlir-timing-display=                                    - Display method for timing data
        =list                                                          -   display the results in a list sorted by total time
        =tree                                                          -   display the results ina with a nested tree view

    Generic Options:

      --help                                                           - Display available options (--help-hidden for more)
      --help-list                                                      - Display list of available options (--help-list-hidden for more)
      --version                                                        - Display the version of this program

    firtool Options:

      -I                                                               - Alias for --include-dir.  Example: -I
      -O=                                                       - Controls how much optimization should be performed
        =debug                                                         -   Compile with only necessary optimizations
        =release                                                       -   Compile with optimizations
      --add-mux-pragmas                                                - Annotate mux pragmas for memory array access
      --add-vivado-ram-address-conflict-synthesis-bug-workaround       - Add a vivado specific SV attribute (* ram_style = "distributed" *) to unpacked array registers as a workaronud for a vivado synthesis bug that incorrectly modifies address conflict behavivor of combinational memories
      --annotation-file=                                     - Optional input annotation file
      --blackbox-path=                                           - Optional path to use as the root of black box annotations
      --chisel-interface-out-dir=                              - The output directory for generated Chisel interface files
      --ckg-enable=                                            - Clock gate enable port name
      --ckg-input=                                             - Clock gate input port name
      --ckg-name=                                              - Clock gate module name
      --ckg-output=                                            - Clock gate output port name
      --ckg-test-enable=                                       - Clock gate test enable port name (optional)
      --dedup                                                          - Deduplicate structurally identical modules
      --disable-aggressive-merge-connections                           - Disable aggressive merge connections (i.e. merge all field-level connections into bulk connections)
      --disable-annotation-classless                                   - Ignore annotations without a class when parsing
      --disable-annotation-unknown                                     - Ignore unknown annotations when parsing
      --disable-opt                                                    - Disable optimizations
      Disable random initialization code (may break semantics!)
          --disable-mem-randomization                                     - Disable emission of memory randomization code
          --disable-reg-randomization                                     - Disable emission of register randomization code
          --disable-all-randomization                                     - Disable emission of all randomization code
      --emit-bytecode                                                  - Emit bytecode when generating MLIR output
      --emit-chisel-asserts-as-sva                                     - Convert all chisel asserts into SVA
      --emit-omir                                                      - Emit OMIR annotations to a JSON file
      --emit-separate-always-blocks                                    - Prevent always blocks from being merged and emit constructs into separate always blocks whenever possible
      --etc-disable-instance-extraction                                - Disable extracting instances only that feed test code
      --etc-disable-module-inlining                                    - Disable inlining modules that only feed test code
      --etc-disable-register-extraction                                - Disable extracting registers that only feed test code
      --export-chisel-interface                                        - Generate a Scala Chisel interface to the top level module of the firrtl circuit
      --export-module-hierarchy                                        - Export module and instance hierarchy as JSON
      --extract-test-code                                              - Run the extract test code pass
      -f                                                               - Enable binary output on terminals
      --format=                                                 - Specify input file format:
        =autodetect                                                    -   Autodetect input format
        =fir                                                           -   Parse as .fir file
        =mlir                                                          -   Parse as .mlir or .mlirbc file
      Location tracking:
          --ignore-info-locators                                          - Ignore the @info locations in the .fir file
          --fuse-info-locators                                            - @info locations are fused with .fir locations
          --prefer-info-locators                                          - Use @info locations when present, fallback to .fir locations
      --ignore-read-enable-mem                                         - Ignore the read enable signal, instead of assigning X on read disable
      --include-dir=                                        - Directory to search in when resolving source references
      --lower-memories                                                 - Lower memories to have memories with masks as an array with one memory per ground type
      --lowering-options=                                       - Style options.  Valid flags include: noAlwaysComb, exprInEventControl, disallowPackedArrays, disallowLocalVariables, verifLabels, emittedLineLength=, maximumNumberOfTermsPerExpression=, explicitBitcast, emitReplicatedOpsToHeader, locationInfoStyle={plain,wrapInAtSquareBracket,none}, disallowPortDeclSharing, printDebugInfo, disallowExpressionInliningInPorts, disallowMuxInlining, emitWireInPort, emitBindComments
      -o                                                    - Output filename, or directory for split output
      --omir-file=                                           - Optional input object model 2.0 file
      --output-annotation-file=                              - Optional output annotation file
      --output-final-mlir=                                   - Optional file name to output the final MLIR into, in addition to the output requested by -o
      --output-omir=                                           - File name for the output omir
      --preserve-aggregate=                                     - Specify input file format:
        =none                                                          -   Preserve no aggregate
        =1d-vec                                                        -   Preserve only 1d vectors of ground type
        =vec                                                           -   Preserve only vectors
        =all                                                           -   Preserve vectors and bundles
      --preserve-values=                                        - Specify the values which can be optimized away
        =none                                                          -   Preserve no values
        =named                                                         -   Preserve values with meaningful names
        =all                                                           -   Preserve all values
      --repl-seq-mem                                                   - Replace the seq mem for macro replacement and emit relevant metadata
      --repl-seq-mem-file=                                     - File name for seq mem metadata
      --scalarize-ext-modules                                          - Scalarize the ports of any external modules
      --scalarize-top-module                                           - Scalarize the ports of the top module
      Specify output format:
          --parse-only                                                    - Emit FIR dialect after parsing, verification, and annotation lowering
          --ir-fir                                                        - Emit FIR dialect after pipeline
          --ir-hw                                                         - Emit HW dialect
          --ir-sv                                                         - Emit SV dialect
          --ir-verilog                                                    - Emit IR after Verilog lowering
          --verilog                                                       - Emit Verilog
          --split-verilog                                                 - Emit Verilog (one file per module; specify directory with -o=

    )
          --disable-output                                                - Do not output anything
      --strip-debug-info                                               - Disable source locator information in output Verilog
      --strip-fir-debug-info                                           - Disable source fir locator information in output Verilog
      --vb-to-bv                                                       - Transform vectors of bundles to bundles of vectors
      --verbose-pass-executions                                        - Log executions of toplevel module passes
      --verify-each                                                    - Run the verifier after each transformation pass
      --warn-on-unprocessed-annotations                                - Warn about annotations that were not removed by lower-to-hw
     

  • 相关阅读:
    Git 系列:简介安装以及配置管理
    Mysql连接池详解——实现部分
    MySQL 锁机制全面解析
    洛谷-P7910 [CSP-J 2021]-插入排序(详细讲解)
    Find My背包|苹果Find My技术与背包相结合,智能防丢,全球定位
    Chapter 函数
    pinia中使用@vueuse/core库的useStorage做数据的持久化存储
    Vue-router的安装使用
    flex布局与float布局
    【节前福利】国庆搞定Java面试!
  • 原文地址:https://blog.csdn.net/weixin_39548025/article/details/132674821