synth_sf2 - synthesis for SmartFusion2 and IGLOO2 FPGAs
synth_sf2 [options]
This command runs synthesis for SmartFusion2 and IGLOO2 FPGAs.
-top <module>
use the specified module as top module
-edif <file>
write the design to the specified EDIF file. writing of an output file
is omitted if this parameter is not specified.
-vlog <file>
write the design to the specified Verilog file. writing of an output file
is omitted if this parameter is not specified.
-json <file>
write the design to the specified JSON file. writing of an output file
is omitted if this parameter is not specified.
-run <from_label>:<to_label>
only run the commands between the labels (see below). an empty
from label is synonymous to 'begin', and empty to label is
synonymous to the end of the command list.
-noflatten
do not flatten design before synthesis
-noiobs
run synthesis in "block mode", i.e. do not insert IO buffers
-clkbuf
insert direct PAD->global_net buffers
-retime
run 'abc' with -dff option
The following commands are executed by this synthesis command:
begin:
read_verilog -lib +/sf2/cells_sim.v
hierarchy -check -top <top>
flatten: (unless -noflatten)
proc
flatten
tribuf -logic
deminout
coarse:
synth -run coarse
fine:
opt -fast -mux_undef -undriven -fine
memory_map
opt -undriven -fine
techmap -map +/techmap.v -map +/sf2/arith_map.v
abc -dff (only if -retime)
map_ffs:
dffsr2dff
techmap -D NO_LUT -map +/sf2/cells_map.v
opt_expr -mux_undef
simplemap
map_luts:
abc -lut 4
clean
map_cells:
techmap -map +/sf2/cells_map.v
clean
map_iobs:
sf2_iobs [-clkbuf] (unless -noiobs)
clean
check:
hierarchy -check
stat
check -noinit
edif:
write_edif -gndvccy <file-name>
vlog:
write_verilog <file-name>
json:
write_json <file-name>