public class VivadoTools
extends Object
Modifier and Type | Field and Description |
---|---|
static String |
PLACE_DESIGN |
static String |
REPORT_ROUTE_STATUS |
static String |
ROUTE_DESIGN |
static String |
WRITE_CHECKPOINT |
static String |
WRITE_EDIF |
Constructor and Description |
---|
VivadoTools() |
Modifier and Type | Method and Description |
---|---|
static float |
getWorstSetupSlack(Path dcp,
Path workdir,
boolean encrypted)
Run Vivado's `get_timing_paths -setup` command on the provided DCP path (to
find its worst setup timing path) and return its SLACK property as a float.
|
static Design |
placeDesign(Path dcp,
Path workdir,
boolean encrypted)
Run Vivado's `place_design` command on the provided DCP path
and return the placed result as a new Design object.
|
static ReportRouteStatusResult |
reportRouteStatus(Design design)
Run Vivado's `report_route_status` command on the provided Design object
and return its result as a ReportRouteStatusResult object.
|
static String |
reportRouteStatus(Design design,
String netName)
Run Vivado's `report_route_status` command on the named net inside the
provided Design object and return its specific route status (e.g.
|
static ReportRouteStatusResult |
reportRouteStatus(Path dcp)
Run Vivado's `report_route_status` command on the provided DCP.
|
static ReportRouteStatusResult |
reportRouteStatus(Path dcp,
boolean encrypted)
Run Vivado's `report_route_status` command on the provided DCP path
and return its result as a ReportRouteStatusResult object.
|
static ReportRouteStatusResult |
reportRouteStatus(Path dcp,
Path workdir,
boolean encrypted)
Run Vivado's `report_route_status` command on the provided DCP path
and return its result as a ReportRouteStatusResult object.
|
static String |
reportRouteStatus(String netName,
Path dcp,
Path workdir,
boolean encrypted)
Run Vivado's `report_route_status` command on the named net inside the
provided DCP path and return its route status.
|
static ReportRouteStatusResult |
routeDesignAndGetStatus(Design design,
Path workdir)
Run Vivado's `route_design` command on the design provided and get the
`report_route_status` results.
|
static ReportRouteStatusResult |
routeDesignAndGetStatus(Path dcp,
Path workdir,
boolean encrypted)
Run Vivado's `route_design` command on the provided DCP path and return the
`report_route_status` results.
|
static List<String> |
runTcl(Path outputLog,
Path tclScript,
boolean verbose)
method to run a Tcl script in vivado
|
static List<String> |
runTcl(Path outputLog,
Path tclScript,
boolean verbose,
String[] environ,
File runDir)
method to run a Tcl script in vivado
|
static List<String> |
runTcl(Path outputLog,
String tclCmd,
boolean verbose)
method to run a single Tcl command in vivado
|
static List<String> |
searchVivadoLog(List<String> log,
String key)
method to search a vivado log for a specific key phrase
|
static List<String> |
writeBitstream(Design design,
Path bitFile)
Run Vivado's `write_bitstream` on the provided design to generate a bit file
at the specified location.
|
static List<String> |
writeBitstream(Path dcp,
Path bitFile,
boolean hasEncryptedIP)
Run Vivado's `write_bitstream` on the provided DCP file to generate a bit
file at the specified location.
|
static List<String> |
writeBitstream(Path dcp,
Path bitFile,
boolean hasEncryptedIP,
String tclPremable)
Run Vivado's `write_bitstream` on the provided DCP file to generate a bit
file at the specified location.
|
public static final String REPORT_ROUTE_STATUS
public static final String PLACE_DESIGN
public static final String ROUTE_DESIGN
public static final String WRITE_CHECKPOINT
public static final String WRITE_EDIF
public static List<String> searchVivadoLog(List<String> log, String key)
log
- Vivado log as list of stringskey
- Key phrase to search forpublic static List<String> runTcl(Path outputLog, String tclCmd, boolean verbose)
outputLog
- Path to the log file that vivado will generatetclCmd
- Tcl command to runverbose
- If true vivado command line and std.out/err will be printed
to std.outpublic static List<String> runTcl(Path outputLog, Path tclScript, boolean verbose)
outputLog
- Path to the log file that vivado will generatetclScript
- Path to the Tcl script that will be runverbose
- If true vivado command line and std.out/err will be printed
to std.outpublic static List<String> runTcl(Path outputLog, Path tclScript, boolean verbose, String[] environ, File runDir)
outputLog
- Path to the log file that vivado will generatetclScript
- Path to the Tcl script that will be runverbose
- If true vivado command line and std.out/err will be printed
to std.outenviron
- array of strings, each element of which has environment
variable settings in the format name=value, or null if the
subprocess should inherit the environment of the current
process.runDir
- the working directory of the subprocess, or null if the
subprocess should inherit the working directory of the
current process.public static ReportRouteStatusResult reportRouteStatus(Design design)
design
- Design object to report on.public static String reportRouteStatus(Design design, String netName)
design
- Design object to report on.public static List<String> writeBitstream(Path dcp, Path bitFile, boolean hasEncryptedIP, String tclPremable)
dcp
- The DCP file from which to generate a bitstream.bitFile
- The location of the bit file to generatehasEncryptedIP
- Flag indicating if the provided DCP contains encrypted
IP and was written by RapidWright such that it needs to
be loaded with a Tcl script.tclPremable
- String of Tcl commands to run before write_bitstream
(null for no preamble).public static List<String> writeBitstream(Path dcp, Path bitFile, boolean hasEncryptedIP)
dcp
- The DCP file from which to generate a bitstream.bitFile
- The location of the bit file to generatehasEncryptedIP
- Flag indicating if the provided DCP contains encrypted
IP and was written by RapidWright such that it needs to
be loaded with a Tcl script.public static List<String> writeBitstream(Design design, Path bitFile)
design
- The design from which to generate a bitstream.bitFile
- The location of the bit file to generatepublic static ReportRouteStatusResult reportRouteStatus(Path dcp)
dcp
- Path to DCP to report on.public static ReportRouteStatusResult reportRouteStatus(Path dcp, boolean encrypted)
dcp
- Path to DCP to report on.encrypted
- Indicates whether DCP contains encrypted EDIF cells.public static ReportRouteStatusResult reportRouteStatus(Path dcp, Path workdir, boolean encrypted)
dcp
- Path to DCP to report on.workdir
- Directory to work within.encrypted
- Indicates whether DCP contains encrypted EDIF cells.public static String reportRouteStatus(String netName, Path dcp, Path workdir, boolean encrypted)
netName
- Net name.dcp
- Path to DCP to report on.workdir
- Directory to work within.encrypted
- Indicates whether DCP contains encrypted EDIF cells.public static Design placeDesign(Path dcp, Path workdir, boolean encrypted)
dcp
- Path to DCP to report on.workdir
- Directory to work within.encrypted
- Indicates whether DCP contains encrypted EDIF cells.public static ReportRouteStatusResult routeDesignAndGetStatus(Design design, Path workdir)
design
- The design to route and report on.workdir
- Directory to work within.public static ReportRouteStatusResult routeDesignAndGetStatus(Path dcp, Path workdir, boolean encrypted)
dcp
- Path to DCP to route and report on.workdir
- Directory to work within.encrypted
- Indicates whether DCP contains encrypted EDIF cells.public static float getWorstSetupSlack(Path dcp, Path workdir, boolean encrypted)
dcp
- Path to DCP to report on.workdir
- Directory to work within.encrypted
- Indicates whether DCP contains encrypted EDIF cells.