Source code for hwtBuildsystem.vivado.api.unit

from hwtBuildsystem.vivado.api.tcl import VivadoTCL
from hwtBuildsystem.vivado.api.pin import VivadoBoardDesignPin


[docs] class VivadoBoardDesignUnit(): def __init__(self, bd: 'VivadoBoardDesign', ipCore: str, name: str): self.bd = bd self.ipCore = ipCore self.name = name self.pins = {}
[docs] def create(self): exe = self.bd.project.executor.exeCmd exe(VivadoTCL.create_bd_cell(self.ipCore, self.name))
[docs] def get(self): return VivadoTCL.get_bd_cells([self.name])
[docs] def pin(self, name, hasSubIntf=False) -> VivadoBoardDesignPin: realPinName = "/%s/%s" % (self.name, name) p = self.pins.get(realPinName, None) if p: return p else: p = VivadoBoardDesignPin(self.bd, realPinName, hasSubIntf=hasSubIntf) self.pins[realPinName] = p return p
[docs] def set(self, config): exe = self.bd.project.executor.exeCmd exe(VivadoTCL.set_property(VivadoTCL.get_bd_cells([self.name]), valDict=config))