hwtBuildsystem.vivado.api package

exception hwtBuildsystem.vivado.api.ConfigErr[source]

Bases: Exception

class hwtBuildsystem.vivado.api.FILE_TYPE[source]

Bases: object

EDIF = 'EDIF'
NGC = 'NGC'
SYSTEMVERILOG = 'SystemVerilog'
TCL = 'TCL'
VERILOG = 'Verilog'
VERILOG_HEADER = 'Verilog Header'
VHDL = 'VHDL'
VHDL_2008 = 'VHDL 2008'
class hwtBuildsystem.vivado.api.Language[source]

Bases: object

verilog = 'verilog'
vhdl = 'VHDL'

Submodules

hwtBuildsystem.vivado.api.boardDesign module

class hwtBuildsystem.vivado.api.boardDesign.VivadoBoardDesign(project: VivadoProject, name=None)[source]

Bases: object

create()[source]
delete(fromDisk=True)[source]
exist()[source]
exportToTCL(fileName, force=False)[source]
importFromTcl(fileName, refrestTclIfExists=True)[source]
Parameters:

refrestIfExists – refresh tcl file from bd before opening design

insertPort(port)[source]
mkWrapper()[source]
open()[source]
regenerateLayout()[source]
setAsTop()[source]
unit(name, ipCore=None) VivadoBoardDesignUnit[source]

hwtBuildsystem.vivado.api.net module

class hwtBuildsystem.vivado.api.net.VivadoBoardDesignNet(bd: VivadoBoardDesign, src, dst)[source]

Bases: object

create()[source]
classmethod createMultipleFromDict(bd: VivadoBoardDesign, netDict: dict)[source]

hwtBuildsystem.vivado.api.pin module

class hwtBuildsystem.vivado.api.pin.VivadoBoardDesignPin(bd: VivadoBoardDesign, name: str, hasSubIntf=False)[source]

Bases: object

get()[source]

hwtBuildsystem.vivado.api.port module

class hwtBuildsystem.vivado.api.port.VivadoBoardDesignPort(bd, name, direction=None, typ=None, hasSubIntf=False, config=None, width=None, bitIndx=None)[source]

Bases: object

create()[source]
forEachBit(fn)[source]
classmethod fromInterface(hwIO: HwIOSignal)[source]
get(forHdlWrapper=False)[source]
classmethod makeBdPinsExternal(pins: list[VivadoBoardDesignPin])[source]

hwtBuildsystem.vivado.api.project module

class hwtBuildsystem.vivado.api.project.VivadoProject(executor: VivadoExecutor, path, name)[source]

Bases: SynthesisToolProject

SUFFIX_TO_FILE_TYPE = {'.edif': 'EDIF', '.ngc': 'NGC', '.sv': 'SystemVerilog', '.svh': 'Verilog Header', '.tcl': 'TCL', '.v': 'Verilog', '.vh': 'Verilog Header', '.vhd': 'VHDL 2008'}
addConstrainObjects(name, constrains)[source]
addFiles(files)[source]
boardDesign(name) VivadoBoardDesign[source]
close()[source]
create(in_memory=False)[source]
get()[source]
getIpRepoPaths()[source]
implemAll()[source]
listFileGroups()[source]
listIpmplementations()[source]
listRuns()[source]
listSynthesis()[source]
open()[source]
run(jobName: str, to_step: str | None = None)[source]
setIpRepoPaths(paths)[source]
setPart(part: XilinxPart | str)[source]
setTargetLangue(lang)[source]
setTop(topName)[source]
synthAll()[source]
updateAllCompileOrders()[source]
writeBitstream()[source]

hwtBuildsystem.vivado.api.tcl module

class hwtBuildsystem.vivado.api.tcl.VivadoBDOpsTCL[source]

Bases: object

static connect_bd_intf_net(src: str, dst: str)[source]
static connect_bd_net(src: str, dst: str)[source]
static create_bd_cell(ipId: str, name: str)[source]
static create_bd_design(name: str)[source]
static create_bd_port(name: str, direction: DIRECTION, typ: str | None = None, width: int | None = None)[source]
static get_bd_cells(names: List[str])[source]
static get_bd_intf_pins(names: List[str])[source]
static get_bd_intf_ports(names: List[str])[source]
static get_bd_pins(names)[source]
static get_bd_ports(names)[source]
static make_bd_pins_external(names)[source]
static make_wrapper(bdFile: str)[source]
static open_bd_design(fileName)[source]
static regenerate_bd_layout()[source]
static save_bd_design()[source]
static write_bd_tcl(tclFileName, force=False)[source]

save bd as independent tcl bd has to be saved and opened

class hwtBuildsystem.vivado.api.tcl.VivadoFSOpsTCL[source]

Bases: object

static cd(path: str)[source]
class file[source]

Bases: object

static delete(files, force=True)[source]
static ls()[source]
static pwd()[source]
class hwtBuildsystem.vivado.api.tcl.VivadoHdlOps[source]

Bases: object

static get_ports(portNames)[source]
class hwtBuildsystem.vivado.api.tcl.VivadoProjectOpsTCL[source]

Bases: object

static add_files(files, fileSet=None, norecurse=True)[source]
static close_project()[source]
static create_project(_dir, name, in_memory=False)[source]
Parameters:
  • in_memory – Create an in-memory project

  • name – Project name

  • _dir – Directory where the project file is saved

static generate_target(bdFile)[source]
class ip_repo_paths[source]

Bases: object

static add(repoPath)[source]

Multiple add will not cause duplicates

static launch_runs(names: List[str], workerCnt=None, to_step=None, quiet=False)[source]
static open_project(filename: str)[source]
static remove_files(files)[source]

remove from project

static reset_run(name: str)[source]
static run(jobName, workerCnt=None)[source]
static update_compile_order(fileSet)[source]
static update_ip_catalog(rebuild=True, scan_changes=True)[source]
static wait_on_run(run, timeout=None)[source]
class hwtBuildsystem.vivado.api.tcl.VivadoTCL[source]

Bases: CommonTcl, VivadoFSOpsTCL, VivadoBDOpsTCL, VivadoProjectOpsTCL, VivadoHdlOps

python wraps for Vivado TCL commands

static get_property(obj, name)[source]
class group[source]

Bases: object

static end()[source]
static start()[source]
static set_property(obj, name=None, value=None, valDict=None, valList=None)[source]
class sim[source]

Bases: object

static close()[source]
static launch()[source]
static source(scriptPath, noTrace=True)[source]
static start_gui()[source]
static synth_design(top: str, part: str, quiet=False)[source]

hwtBuildsystem.vivado.api.unit module

class hwtBuildsystem.vivado.api.unit.VivadoBoardDesignUnit(bd: VivadoBoardDesign, ipCore: str, name: str)[source]

Bases: object

create()[source]
get()[source]
pin(name, hasSubIntf=False) VivadoBoardDesignPin[source]
set(config)[source]