CFLAT Options - HACKT Tutorials
Description: HACKT Tutorials

Up: CAST Flatten

#### 5.1.1 CFLAT Options

General options:

— User Option: -c

> Indicate that input file is source, as opposed to an object file, and needs to be compiled.

— User Option: -C opts

> When compiling input source, forward options opt to the compiler driver.

hflat provides convenient and fine-grain control over the output text format. Options can be divided into two categories, modes and flags. Flags control individual traits of the output format, whereas modes are presets of traits, named after specific tools. The presets are set to emulate the formats expected by the legacy tools as closely as possible. Currently, the following list of modes is supported:

— `cflat` option: prsim

> prsim output mode.

— `cflat` option: lvs
— `cflat` option: LVS
— `cflat` option: java-lvs

> LVS output mode. The java-lvs option is a slight variant from the traditional lvs.

— `cflat` option: ergen

> ergen output mode.

— `cflat` option: alint

> alint output mode.

— `cflat` option: prlint

> prlint output mode.

— `cflat` option: prs2tau

> prs2tau output mode.

— `cflat` option: connect

> connect output mode.

— `cflat` option: check

> check output mode.

— `cflat` option: wire

> wire output mode.

— `cflat` option: aspice
— `cflat` option: Aspice

> aspice output mode.

— `cflat` option: ADspice

> ADspice output mode.

— `cflat` option: default

> default output mode.

TODO: make table summarizing the flags implied by each preset mode.

Other non-preset options can be used to fine-tune and customize the output format. All options except the connect-* options may also be prefixed with no- for negation, e.g. -f no-sizes disables printing of sized production rule literals. The following -f flags are supported:

— `cflat -f` option: no-connect
— `cflat -f` option: connect-none

> Suppress printing of aliases.

— `cflat -f` option: connect-equal

> Print aliases with style: = x y.

— `cflat -f` option: connect-connect

> Print aliases with style: connect x y.

— `cflat -f` option: connect-wire

> Print aliases with style: wire x y.

— `cflat -f` option: include-prs
— `cflat -f` option: exclude-prs
— `cflat -f` option: no-include-prs
— `cflat -f` option: no-exclude-prs

> Include or exclude production rules from output.

— `cflat -f` option: precharges
— `cflat -f` option: no-precharges

> Print or hide precharge expressions.

— `cflat -f` option: self-aliases
— `cflat -f` option: no-self-aliases

> Includes or exclude aliases x = x.

— `cflat -f` option: quote-names
— `cflat -f` option: no-quote-names

> Wrap all node names in “quotes”.

— `cflat -f` option: node-attributes
— `cflat -f` option: no-node-attributes

> Whether or not to print node attributes.

— `cflat -f` option: split-instance-attributes
— `cflat -f` option: join-instance-attributes

> Determines whether to print instance attributes (including nodes) on a single line like:

>               @ "node" attr1 attr2 attr3 ...

> or one attribute per line:

>               @ "node" attr1
>               @ "node" attr2
>               @ "node" attr3
>               ...

— `cflat -f` option: SEU
— `cflat -f` option: no-SEU

> Enable single-event-upset mode for selected tool.

— `cflat -f` option: check-mode
— `cflat -f` option: no-check-mode

> Silences cflat output while traversing hierarchy. Useful only as a diagnostic tool for debugging.

— `cflat -f` option: wire-mode
— `cflat -f` option: no-wire-mode

> Accumulate aliases in the form: wire (x,y,...)

— `cflat -f` option: dsim-prs
— `cflat -f` option: no-dsim-prs

> Wraps prs in: dsim { ... }

— `cflat -f` option: sizes
— `cflat -f` option: no-sizes

> Prints rule literals with `<size>` specifications.

Preset modes are just combinations of the individual mode modifiers.