I stora konstruktioner är det vanligt att dela upp konstruktionen i delar, där varje del blir en ”definition” som kan användas som instanser i konstruktionen. I dammsugaranalogin kan man ha en definition av en dammsugare med dess portar, men nu skulle denna definition också innehålla en fullständig beskrivning av maskinens interna komponenter och hur de ansluts (motorer, brytare osv.), som ett kopplingsschema gör.

En definition som inte innehåller några instanser kallas ”primitiv” (eller ett ”blad”, eller andra namn), medan en definition som innehåller instanser är ”hierarkisk”.

En ”veckad” hierarki gör det möjligt för en enda definition att representeras flera gånger av instanser. En ”utfälld” hierarki tillåter inte att en definition används mer än en gång i hierarkin.

Fällda hierarkier kan vara extremt kompakta. En liten nätlista med bara några få instanser kan beskriva konstruktioner med ett mycket stort antal instanser. Anta till exempel att definition A är en enkel primitiv, som en minnescell. Anta att definition B innehåller 32 instanser av A, C innehåller 32 instanser av B, D innehåller 32 instanser av C och E innehåller 32 instanser av D. Konstruktionen innehåller nu 5 definitioner (A till E) och 128 instanser. Ändå beskriver E en krets som innehåller över en miljon minnesceller.

UnfoldingEdit

I en ”platt” konstruktion är endast primitiver instanserade. Hierarkiska konstruktioner kan rekursivt ”sprängas” (”plattas”) genom att skapa en ny kopia (med ett nytt namn) av varje definition varje gång den används. Om konstruktionen är mycket veckad kommer en sådan expansion att resultera i en mycket större databas med nätlistor, men hierarkins beroenden bevaras. Givet en hierarkisk nätlista anger listan över instansnamn i en sökväg från rotdefinitionen till en primitiv instans den enda unika sökvägen till den primitiva instansen. Sökvägarna till varje primitiv utgör tillsammans en stor men platt nätlista som är exakt likvärdig med den kompakta hierarkiska versionen.

BackannotationEdit

Backannotation är data som kan läggas till i en hierarkisk nätlista. Vanligtvis hålls de åtskilda från nätlistan, eftersom flera sådana alternativa uppsättningar av data kan tillämpas på en enda nätlista. Dessa data kan ha hämtats från en fysisk konstruktion och kan ge extra information för noggrannare simuleringar. Vanligtvis består uppgifterna av en hierarkisk väg och ett stycke data för den primitiviteten eller att hitta värdena för RC-fördröjning på grund av sammankoppling.

ArvEdit

Ett annat begrepp som ofta används i nätlistor är det om arv. Anta att en definition av en kondensator har ett associerat attribut som heter ”Capacitance”, som motsvarar den fysiska egenskapen med samma namn, med ett standardvärde på ”100 pF” (100 picofarads). Varje instans av denna kondensator kan också ha ett sådant attribut, men med ett annat värde för kapacitansen. Andra instanser kanske inte har någon kapacitans alls. Om ingen kapacitans anges för en instans kommer instansen att ”ärva” värdet 100 pF från sin definition. Ett angivet värde kommer att ”åsidosätta” värdet i definitionen. Om ett stort antal attribut slutar med att vara desamma som i definitionen, kan en stor mängd information ”ärvas” och behöver inte specificeras redundant i nätlistan, vilket sparar utrymme och gör konstruktionen lättare att läsa för både maskiner och människor.

Lämna ett svar

Din e-postadress kommer inte publiceras.