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