Stap 12: Top.bsv
Top.BSV instantieert alle interne status en definieert de interfaces die het kader van de Connectal met de fysieke pinnen op de FPGA-apparaat verbindt.
In ons ontwerp, wordt de HBridgeCtrlIndication-interface geïmplementeerd in SW en ingeroepen van HW. Dientengevolge, instantiëren we de gegenereerde proxy-mkHBridgeCtrlIndicationProxy. Deze module heeft een sub interface 'ifc' soort 'HbridgeCtrlIndication', die wordt doorgegeven aan de mkController van de module moet worden gestart vanuit het interne logica. Omdat HBridgeCtrlRequest is uitgevoerd in HW en van SW ingeroepen, moeten we wikkel het met behulp van de gegenereerde module mKHBridgeCtrlRequestWrapper op de bus te sluiten. Zowel de proxy de wrapper zijn aangesloten op het systeem bus door eerste muxing hen met 'mkSlaveMux' en de resulterende enkele interface verbinden met de 'slave'-interface.
De bus slaaf en meesters, evenals de interrupts en leds zijn speciale interfaces toegewezen. Connectal-kader automatisch aan elkaar gekoppeld aan de juiste pinnen afhankelijk van het doel van de opgegeven bouwen. Falen om te definiëren van deze interfaces zal niet resulteren in een fout van de bouw, maar zal waarschijnlijk resulteren in run-time anomalieën. Bijvoorbeeld, als de SW afhankelijk van de system call 'poll is' om worden meegedeeld van een wachtende bericht van HW, niet definieert van de interrupt-interface zal leiden tot het ontwerp te hangen. Als u niet de slaaf interface definieert, zal de SW-proxy een mislukking rapporteren als ze proberen te vinden van de juiste register-toewijzing tijdens het opstarten.
Tot slot, het pakketbestand waarin de aanvullende pinnen interface/moeten worden expliciet geëxporteerd zodat het kan worden gebruikt door de top van de platform-specifieke (mkZynqTop, mkBsimTop, etc.). De platform-specifieke top is geselecteerd door de tool-keten afhankelijk van het doel van het bouwen. Deze bestanden bevinden zich in $CONNECTALDIR/bsv.