En ensam simulatorkärna, som klarar både analoga och digitala konstruktioner, är snabbare och enklare att använda jämfört med en bakplanslösning.
Analoga och digitala simulatorer är som olja och vatten - de blandas inte så lätt. Verktygstillverkarna tar till alla möjliga knep för att klara blandsimuleringen. Noggrannhet och prestanda står på spel för konstruktörens del. Felaktiga resultat och tid som kastas bort på långsamma simulatorer kan skjuta projektet i sank.
Varför är det då så knepigt med blandsimuleringar? Kruxet är att analoga och digitala simulatorer arbetar på fundamentalt olika sätt. Analoga simulatorer arbetar med kontinuerlig tid och kontinuerliga nivåer. Såväl ström som spänning beräknas mycket noggrant med hjälp av numerisk iteration. Haken är att det krävs mycket datorkraft.
De digitala kusinerna hanterar däremot diskreta tidssteg och fokuserar på övergångarna i konstruktionens logiska grindar.
När den analoga och digitala världen skall mötas kan man angripa problemen på olika sätt. Ett alternativ är att köra analoga och digitala simulatorer parallellt och sköta handskakningen mellan dem med hjälp av ett så kallat simulatorbakplan. Fördelen är att man lätt kan haka på ytterligare simulatorer.
En vassare variant är att använda en ensam simulatorkärna där den analoga och digitala så kallade simuleringsmotorn kopplas samman i en enda exekverbar kodsnutt. Simuleringarna blir snabbare eftersom man slipper synkroniseringsproblemen i bakplanslösningen.
Dessutom blir timingen smidigare att styra. Det är därför lättare att "skruva tillbaks" tiden för att göra en ny beräkning, vilket är mycket användbart om en av simulatorerna råkat hoppa över en tidpunkt. Klarar verktyg inte att backa stryker noggrannheten på foten.
Rätt etikettVerktyget måste också kunna sätta etikett på de olika komponenterna i konstruktionen för att ange om de skall hanteras av den digitala eller analoga simulatormotorn. En AND-grind kan exempelvis först beskrivas med en digital modell för att senare ses som en transistorekvivalent när man behöver en mer noggrann analys. Och även här drar bakplanslösningen det kortaste strået. Om konstruktionen har många hierarkier kan det nämligen bli mycket extraarbete när verktyget skall hantera alla kontaktpunkter mellan de separata analoga och digitala nätlistorna.
Även initieringen är oftast långsammare i bakplanslösningen, jämfört med en simulator med enkel kärna.
Allt i samma fönsterNär simuleringen sedan är färdig vill användaren kunna avlusa konstruktionen på ett smidigt sätt. Ett minimikrav är att simuleringsresultaten kan visas i ett enda fönster. Vid simuleringar med en ensam kärna är detta relativt enkelt eftersom det bara finns en tidsregent.
I bakplansfallet däremot har varje simulator sin egen timing. Om den analoga simulatorn har tagit tid på sig för att finna jämviktsläget medan den digitala simulatorn kör för fullt, så måste de digital simuleringsresultaten förskjutas så att det totala resultatet kan presenteras i ett enda fönster.
Slutsatsen blir att simulering med en enda kärna är smidigare för såväl användare som verktygsleverantör. Bakplan kan inledningsvis erbjuda flexibilitet, men priset är högt i prestanda och hantering. När både verktyg och konstruktioner blir allt mer komplexa, så torde allt som underlättar konstruktörens arbete vara välkommet.
Andrew Patterson
Författaren är teknisk chef för Analogy i Europa, artikeln är översatt och bearbetad av Charlotta von Schultz
Initiering av simulatormotornDen analoga och digitala simulatormotorn måste initieras före själva simuleringen. För analoga verktyg gör man en jämvikts- eller DC-analys medan den digitala simulatorn väntar.
I den digitala motorn sätts alla komponenter till "X", det vill säga odefinierat. De "X", som är anslutna till analoga delar, sätts till 0. Jämviktsläget för den analoga simulatorn kan sedan orsaka digitala förändringar som måste hanteras innan simuleringen kan starta.