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 opts to the compiler driver.

— User Option: -h

Print command-line help and exit.

— User Option: -v

Print version and build information and exit.

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: ipple

ipple output mode. Prints out hierarchical processes and source/destination terminals of channels.

cflat option: vcd

vcd (standard trace file) header 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: supply-nodes
cflat -f option: no-supply-nodes

Print or hide supply-nodes associated with each rule. This is mostly useful for checking circuits involving multiple voltage domains.

cflat -f option: process-hierarchy
cflat -f option: no-process-hierarchy

When enabled, rules are encapsulated by the names of the process to which they belong, in nested fashion.

cflat -f option: channel-terminals
cflat -f option: no-channel-terminals

When enabled, channels' sources and destinations are printed out as the hierarchy is traversed. Recommend process-hierarchy with this option.

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: literal-attributes
cflat -f option: no-literal-attributes

Whether or not to print node literal attributes within rules.

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.

cflat -f option: mangled-vcd-ids
cflat -f option: no-mangled-vcd-ids

For the vcd output mode, when enabled, print out base-94 ASCII characters for unique identifiers, otherwise print out human-readable <integer> values for identifiers. Default: true (mangled)

Preset modes are just combinations of the individual mode modifiers.

There are limited options for mangling the hierarchical names of nodes.

cflat -f option: process_member_separator=SEP

By default, '.' is used to separate process hierarchy. SEP can be any string that doesn't contain a comma.

cflat -f option: struct_member_separator=SEP

By default, '.' is used to denote channel or structure members. SEP can be any string that doesn't contain a comma.

cflat -f option: alt_tool_name=name

By setting an alternate tool name (just a string), this enables the printing of an additional name map between the baseline names and alternatively mangled names. For example, you may wish to generate a map between equivalent spice names and hflat names.

The following alt- options control the mangling for names emitted for the alternate tool.

cflat -f option: alt_name_prefix=STR

This specifies a string to prefix in front of all tool names. For example, alt_name_prefix=TOP. will turn a hierarchical name x.y.z into TOP.x.y.z.

cflat -f option: alt_process_member_separator=SEP

By default, '.' is used to separate process hierarchy. SEP can be any string that doesn't contain a comma.

cflat -f option: alt_struct_member_separator=SEP

By default, '.' is used to denote channel or structure members. SEP can be any string that doesn't contain a comma.