Getting Started with SpyDrNet
SpyDrNet was originally built for EDF netlist, but has since been expanded to Verilog and EBLIF netlists.
- Note
This guide makes references to SpyDrNet TMR
Parsing
Default parsing arguments
parse(filename, architecture=None):
filename
Name of the file that is being parsed
architecture
Desired board architecture
General structure
netlist = sdn.parse(filename, ...)
Basic structure for Verilog netlist
netlist = sdn.parse("filename.v", architecture=XILINX_7SERIES)
Basic structure for EDF netlists
netlist = sdn.parse("filename.edf")
edf usually only needs the filename and not the other arguments
Composing
Default composing arguments
compose(netlist, filename, voters=[], definition_list=[], write_blackbox=True, write_eblif_cname=True, defparam=False):
netlist
Netlist that was parsed in / replicated / changed
filename
Desired output name of netlist
voters
List of voters that was created in script this is only needed for verilog netlists
definition_list
List of definitions to write
write_blackbox
Flag that skips writing black boxes/verilog primitives
write_eblif_cname
Flag used for eblif (Yosys to F4PGA)
defparam
Flag that composes parameters in defparam statements instead of using #()
General structure
netlist.compose(filename, ...)
Basic structure for Verilog netlist
netlist.compose("filename_tmr.v", voters, reinsert_space=True)
Basic structure for EDF netlists
netlist.compose("filename_tmr.edf")
edf usually only needs the filename and not the other arguments