Att sätta hjul på din Zedboard (12 / 14 steg)
Steg 12: Top.bsv
Top.BSV instansierar alla inre tillstånd och definierar de gränssnitt som Connectal ramen ansluts till fysiska stiften på FPGA-enheten.
I vår design, HBridgeCtrlIndication gränssnittet genomförs i SW och anropas från HW. Som ett resultat, initiera vi genererad proxy mkHBridgeCtrlIndicationProxy. Denna modul har en sub-gränssnitt "ifc" av typen "HbridgeCtrlIndication" som skickas till den modul mkController anropas direkt från sin inre logik. Eftersom HBridgeCtrlRequest genomförs i HW och anropas från SW, måste vi avsluta den med den genererade modulen mKHBridgeCtrlRequestWrapper för att ansluta den till bussen. Både wrapper och proxy är anslutna till systemet bus av första muxing dem med "mkSlaveMux" och ansluta det resulterande enda gränssnittet till "slav"-gränssnittet.
Bus slav och masters, som avbryter och lysdioder har tilldelats dedicerade gränssnitt. Connectal framework ansluter automatiskt dessa till rätt stiften beroende på angivna bygga målet. Underlåtenhet att definiera dessa gränssnitt inte resulterar i en build fel, men kommer sannolikt resultatet i körning anomalier. Till exempel om SW utnyttjar systemet samtal "poll" att anmälas till ett väntande meddelande från HW, gör underlåtenhet att definiera avbrottsgränssnittet konstruktionen att hänga. Om du inte definierar gränssnittet slav, kommer att SW proxyservrar rapportera ett fel när de försöker hitta rätt register kartläggningen vid starten.
Den paketfilen som definierar gränssnittet extra stift måste slutligen exporteras uttryckligen så att den kan användas av plattformsspecifika toppen (mkZynqTop, mkBsimTop, etc.). Plattformsspecifik toppen är markerad som verktyg-kedjan beroende på bygga målet. Dessa filer finns i $CONNECTALDIR/bsv.