Modellering på transaktionsnivå

Transaktionsnivåmodellering ( TLM ) är ett tillvägagångssätt för att modellera komplexa digitala system genom att använda programvara för elektronisk designautomation . TLM-språk (TLML) är ett hårdvarubeskrivningsspråk , vanligtvis skrivet i C++ och baserat på SystemC- biblioteket. TLML:er används för modellering där information om kommunikation mellan moduler separeras från detaljer om implementering av funktionella enheter eller kommunikationsarkitektur. Det används för modellering av system som involverar komplexa datakommunikationsmekanismer.

Komponenter som bussar eller FIFO modelleras som kanaler och presenteras för moduler som använder SystemC- gränssnittsklasser. Transaktionsförfrågningar sker genom att anropa gränssnittsfunktioner för dessa kanalmodeller, som kapslar in detaljer på låg nivå av informationsutbytet. På transaktionsnivå ligger tonvikten mer på funktionaliteten i dataöverföringarna – vilka data som överförs till och från vilka platser – och mindre på deras faktiska implementering, det vill säga på det faktiska protokoll som används för dataöverföring. Detta tillvägagångssätt gör det lättare för systemnivådesignern att experimentera, till exempel med olika bussarkitekturer (alla stöder ett gemensamt abstrakt gränssnitt) utan att behöva koda om modeller som interagerar med någon av bussarna, förutsatt att dessa modeller interagerar med bussen genom det gemensamma gränssnittet.

Tillämpningen av modellering på transaktionsnivå är dock inte specifik för SystemC-språket och kan användas med andra språk. Konceptet TLM dyker först upp i systemnivåspråk och modelleringsdomän.

Transaktionsnivåmodeller används för högnivåsyntes av registeröverföringsnivåmodeller (RTL) för en lägre nivåmodellering och implementering av systemkomponenter. RTL representeras vanligtvis av en källkod för hårdvarubeskrivningsspråk (t.ex. VHDL , SystemC , Verilog ).

Historia

År 2000 förberedde Thorsten Grötker, FoU-chef på Synopsys en presentation om kommunikationsmekanismen i vad som skulle bli SystemC 2.0-standarden, och kallade det "transaktionsbaserad modellering". Gilles Baillieu, då en företagsapplikationsingenjör på Synopsys, insisterade på att den nya termen måste innehålla "nivå", som i " registeröverföringsnivå" eller "beteendenivå". Det faktum att TLM inte betecknar en enda abstraktionsnivå utan snarare en modelleringsteknik fick honom inte att ändra sig. Det måste vara "level" för att få det att fästa. Så det blev "TLM". [ citat behövs ]

Open SystemC Initiative bildades för att standardisera och sprida användningen av SystemC-språket. Den organisationen sponsras av stora EDA- leverantörer och kunder som delar ett gemensamt intresse av att underlätta verktygsutveckling och IP-interoperabilitet. Organisationen utvecklade OSCI-simulatorn för öppen användning och distribution.

Sedan de tidiga dagarna har SystemC antagits som det valda språket för syntes på hög nivå, och kopplar samman designmodellering och virtuella prototypapplikationsdomäner med funktionsverifiering och automatiserad path gate-nivåimplementering. Detta ger projektteam möjligheten att producera en modell för flera ändamål. Vid 2010 DVCon-evenemanget tog OSCI fram en specifikation av den första syntetiserbara delmängden av SystemC för industristandardisering.

Se även

externa länkar