circt firtool man page

12 篇文章 0 订阅
8 篇文章 0 订阅

$: firtool --help


OVERVIEW: MLIR-based FIRRTL compiler

USAGE: firtool [options] <input file>

OPTIONS:

General options:

  --mlir-disable-threading                                         - Disable multi-threading within MLIR, overrides any further call to MLIRContext::enableMultiThreading()
  --mlir-elide-elementsattrs-if-larger=<uint>                      - Elide ElementsAttrs with "..." that have more elements than the given upper limit
  --mlir-pass-pipeline-crash-reproducer=<string>                   - 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=<value>                           - 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=<long>             - Print DenseElementsAttrs with a hex string that have more elements than the given upper limit (use -1 to disable)
  --mlir-print-ir-after=<pass-arg>                                 - 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=<pass-arg>                                - 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=<value>                                    - 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<directory>
  -O=<value>                                                       - 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=<filename>                                     - Optional input annotation file
  --blackbox-path=<path>                                           - Optional path to use as the root of black box annotations
  --chisel-interface-out-dir=<string>                              - The output directory for generated Chisel interface files
  --ckg-enable=<string>                                            - Clock gate enable port name
  --ckg-input=<string>                                             - Clock gate input port name
  --ckg-name=<string>                                              - Clock gate module name
  --ckg-output=<string>                                            - Clock gate output port name
  --ckg-test-enable=<string>                                       - 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=<value>                                                 - 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>                                        - 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=<value>                                       - Style options.  Valid flags include: noAlwaysComb, exprInEventControl, disallowPackedArrays, disallowLocalVariables, verifLabels, emittedLineLength=<n>, maximumNumberOfTermsPerExpression=<n>, explicitBitcast, emitReplicatedOpsToHeader, locationInfoStyle={plain,wrapInAtSquareBracket,none}, disallowPortDeclSharing, printDebugInfo, disallowExpressionInliningInPorts, disallowMuxInlining, emitWireInPort, emitBindComments
  -o <filename>                                                    - Output filename, or directory for split output
  --omir-file=<filename>                                           - Optional input object model 2.0 file
  --output-annotation-file=<filename>                              - Optional output annotation file
  --output-final-mlir=<filename>                                   - Optional file name to output the final MLIR into, in addition to the output requested by -o
  --output-omir=<string>                                           - File name for the output omir
  --preserve-aggregate=<value>                                     - 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=<value>                                        - 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=<string>                                     - 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=<dir>)
      --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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值