Register-överföringsnivå

I digital kretsdesign är registeröverföringsnivå ( RTL ) en designabstraktion som modellerar en synkron digital krets i termer av flödet av digitala signaler ( data ) mellan hårdvaruregister och de logiska operationerna som utförs på dessa signaler.

Register-överföringsnivåabstraktion används i hårdvarubeskrivningsspråk (HDL) som Verilog och VHDL för att skapa representationer på hög nivå av en krets, från vilka representationer på lägre nivåer och slutligen faktiska ledningar kan härledas. Design på RTL-nivå är typisk praxis inom modern digital design.

Till skillnad från i mjukvarukompilatordesign, där registeröverföringsnivån är en mellanrepresentation och på den lägsta nivån, är RTL-nivån den vanliga ingången som kretsdesigners arbetar på. I själva verket, vid kretssyntes , används ibland ett mellanspråk mellan ingångsregisteröverföringsnivårepresentationen och målnätlistan . Till skillnad från i netlist är konstruktioner som celler, funktioner och multi-bits register tillgängliga. Exempel inkluderar FIRRTL och RTLIL.

Modellering på transaktionsnivå är en högre nivå av elektronisk systemdesign .

RTL beskrivning

Exempel på en enkel krets där utgången växlar vid varje stigande flank av ingången. Växelriktaren bildar kombinationslogiken i denna krets, och registret håller tillståndet.

En synkron krets består av två typer av element: register (sekventiell logik) och kombinationslogik . Register (vanligtvis implementerade som D-vippor ) synkroniserar kretsens funktion till kanterna på klocksignalen och är de enda elementen i kretsen som har minnesegenskaper. Kombinationslogik utför alla logiska funktioner i kretsen och den består vanligtvis av logiska grindar .

Till exempel visas en mycket enkel synkron krets i figuren. Växelriktaren är ansluten från utgången, Q, på ett register till registrets ingång, D, för att skapa en krets som ändrar tillstånd på varje stigande flank av klockan, clk . I denna krets består kombinationslogiken av växelriktaren.

När man designar digitala integrerade kretsar med ett hårdvarubeskrivningsspråk (HDL), är designen vanligtvis konstruerade på en högre abstraktionsnivå än transistornivå (logikfamiljer) eller logisk grindnivå. I HDL deklarerar designern registren (som ungefär motsvarar variabler i datorprogrammeringsspråk) och beskriver kombinationslogiken genom att använda konstruktioner som är bekanta från programmeringsspråk som om-då-annat och aritmetiska operationer. Denna nivå kallas registeröverföringsnivå . Termen syftar på att RTL fokuserar på att beskriva flödet av signaler mellan register.

Som ett exempel kan kretsen som nämns ovan beskrivas i VHDL enligt följande:

   
 


      
          
     
  D  <=  inte  Q  ;  process  (  clk  )  börjar  om  stigande_kant  (  clk  )  Q  <=  D  ;  sluta  om  ;  avsluta  processen  ; 

Med hjälp av ett EDA -verktyg för syntes kan denna beskrivning vanligtvis direkt översättas till en motsvarande hårdvaruimplementeringsfil för en ASIC eller en FPGA . Syntesverktyget utför även logikoptimering .

På registeröverföringsnivån kan vissa typer av kretsar kännas igen. Om det finns en cyklisk logikväg från ett registers utgång till dess ingång (eller från en uppsättning registerutgångar till dess ingångar), kallas kretsen en tillståndsmaskin eller kan sägas vara sekventiell logik . Om det finns logiska vägar från ett register till ett annat utan en cykel, kallas det en pipeline .

RTL i kretsdesigncykeln

RTL används i den logiska designfasen av den integrerade kretsdesigncykeln .

En RTL-beskrivning omvandlas vanligtvis till en grindnivåbeskrivning av kretsen av ett logiskt syntesverktyg . Syntesresultaten används sedan av placerings- och routingverktyg för att skapa en fysisk layout .

Logiska simuleringsverktyg kan använda en designs RTL-beskrivning för att verifiera dess riktighet.

Effektuppskattningstekniker för RTL

De mest exakta effektanalysverktygen finns tillgängliga för kretsnivån, men tyvärr, även med switch- snarare än enhetsnivåmodellering, har verktyg på kretsnivå nackdelar som att de antingen är för långsamma eller kräver för mycket minne och därmed hämmar hantering av stora chip. Majoriteten av dessa är simulatorer som SPICE och har använts av designers i många år som verktyg för prestandaanalys. På grund av dessa nackdelar har verktyg för effektuppskattning på gatenivå börjat få viss acceptans där snabbare, probabilistiska tekniker har börjat få fotfäste. Men det har också sin avvägning eftersom snabbhet uppnås på kostnaden för noggrannhet, särskilt i närvaro av korrelerade signaler. Under årens lopp har man insett att de största vinsterna i lågeffektdesign inte kan komma från krets- och grindnivåoptimeringar, medan arkitektur-, system- och algoritmoptimeringar tenderar att ha den största inverkan på strömförbrukningen. Därför har det skett en förändring i lutningen hos verktygsutvecklarna mot analys- och optimeringsverktyg på hög nivå för kraft.

Motivering

Det är välkänt att mer betydande effektminskningar är möjliga om optimeringar görs på abstraktionsnivåer, som den arkitektoniska och algoritmiska nivån, som är högre än krets- eller grindnivån. Detta ger den nödvändiga motivationen för utvecklarna att fokusera på utvecklingen av nya kraftanalysverktyg på arkitektonisk nivå. Detta innebär inte på något sätt att verktyg på lägre nivå är oviktiga. Istället ger varje lager av verktyg en grund på vilken nästa nivå kan byggas. Abstraktionerna av skattningsteknikerna på en lägre nivå kan användas på en högre nivå med små modifieringar.

Fördelar med att göra effektuppskattning på RTL eller arkitektonisk nivå

  • Designers använder en Register-Transfer Level (RTL) beskrivning av designen för att göra optimeringar och avvägningar mycket tidigt i designflödet.
  • Närvaron av funktionsblock i en RTL-beskrivning gör komplexiteten i arkitektonisk design mycket mer hanterbar även för stora chips eftersom RTL har en granularitet som är tillräckligt större än beskrivningar på grind- eller kretsnivå.

Gateekvivalenter

Det är en teknik baserad på konceptet portekvivalenter. Komplexiteten hos en chiparkitektur kan beskrivas ungefär i termer av grindekvivalenter där grindekvivalenträkning specificerar det genomsnittliga antalet referensgrindar som krävs för att implementera den speciella funktionen. Den totala effekten som krävs för den speciella funktionen uppskattas genom att multiplicera det ungefärliga antalet grindekvivalenter med den genomsnittliga effekt som förbrukas per grind. Referensgrinden kan vara vilken grind som helst, t.ex. NAND-grind med 2 ingångar.

Exempel på Gate Equivalent-teknik

  • Klassoberoende effektmodellering: Det är en teknik som försöker uppskatta chiparea, hastighet och effektförlust baserat på information om konstruktionens komplexitet i termer av grindekvivalenter. Funktionaliteten är uppdelad på olika block men ingen skillnad görs på funktionaliteten hos blocken, dvs den är i princip klassoberoende. Detta är tekniken som används av Chip Estimation System (CES).
Steg:
  1. Identifiera funktionsblocken såsom räknare, avkodare, multiplikatorer, minnen etc.
  2. Tilldela en komplexitet i termer av Gate-ekvivalenter. Antalet GE för varje enhetstyp tas antingen direkt som en input från användaren eller matas från ett bibliotek.
Där E typ är den antagna genomsnittliga förbrukade energin med en grindekvivalent, när aktiv. Aktivitetsfaktorn, A int , anger den genomsnittliga procentandelen av grindar som växlar per klockcykel och tillåts variera från funktion till funktion. Den kapacitiva belastningen, CL , är en kombination av fläktbelastning såväl som kablage. En uppskattning av den genomsnittliga ledningslängden kan användas för att beräkna ledningskapacitansen. Detta tillhandahålls av användaren och krysskontrolleras genom att använda en derivat av Rent's Rule.
Antaganden:
  1. En enda referensgrind tas som grund för alla effektuppskattningar utan hänsyn till olika kretsstilar, klockningsstrategier eller layouttekniker.
  2. Procentandelen grindarsomkopplingar per klockcykel betecknad med aktivitetsfaktorer antas vara fixerade oberoende av ingångsmönstren.
  3. Typisk gateomkopplingsenergi kännetecknas av fullständigt slumpmässigt likformigt vitt brus (UWN)-fördelning av indata. Detta innebär att effektuppskattningen är densamma oavsett om kretsen är ledig eller vid maximal belastning eftersom denna UWN-modell ignorerar hur olika ingångsfördelningar påverkar effektförbrukningen för grindar och moduler.
  • Klassberoende effektmodellering: Detta tillvägagångssätt är något bättre än det tidigare tillvägagångssättet eftersom det tar hänsyn till skräddarsydda uppskattningstekniker för de olika typerna av funktionsblock och försöker därmed öka modelleringsnoggrannheten, vilket inte var fallet i den tidigare tekniken såsom logik , minne, sammankoppling och klocka därav namnet. Effektuppskattningen görs på ett mycket liknande sätt som det oberoende fallet. Den grundläggande omkopplingsenergin är baserad på en OCH-grind med tre ingångar och beräknas utifrån teknologiparametrar, t.ex. grindbredd, tox och metallbredd som tillhandahålls av användaren.
Där C- tråd anger bitledningskapacitansen per längdenhet och C- cell betecknar belastningen på grund av att en enda cell hänger utanför bitledningen. Klockkapacitansen är baserad på antagandet om ett H-träddistributionsnätverk . Aktiviteten modelleras med hjälp av en UWN-modell. Som kan ses av ekvationen är effektförbrukningen för varje komponent relaterad till antalet kolumner (Ncol) och rader (N row ) i minnesarrayen.
Nackdelar:
  1. Kretsaktiviteterna modelleras inte exakt eftersom en övergripande aktivitetsfaktor antas för hela chippet som inte heller är tillförlitlig som tillhandahålls av användaren. Faktum är att aktivitetsfaktorerna varierar över hela chipet, så detta är inte särskilt exakt och riskerar att göra fel. Detta leder till problemet att även om modellen ger en korrekt uppskattning av den totala strömförbrukningen av chippet, är den modulmässiga effektfördelningen ganska felaktig.
  2. Den valda aktivitetsfaktorn ger korrekt total effekt, men uppdelningen av effekt i logik, klocka, minne etc. är mindre exakt. Därför är detta verktyg inte mycket annorlunda eller förbättrat i jämförelse med CES.

Förkarakteriserade cellbibliotek


Denna teknik skräddarsyr ytterligare effektuppskattningen av olika funktionsblock genom att ha en separat effektmodell för logik, minne och sammankoppling som föreslår en effektfaktorapproximationsmetod (PFA) för att individuellt karakterisera ett helt bibliotek av funktionella block såsom multiplikatorer, adderare, etc. istället av en enda grind-ekvivalent modell för "logiska" block. Effekten över hela chippet uppskattas av uttrycket:

Där Ki är PFA-proportionalitetskonstanten som kännetecknar det i: Gi { är måttet på hårdvarukomplexitet, och anger aktiveringsfrekvensen.

Exempel

Gi som anger hårdvarukomplexiteten hos multiplikatorn är relaterad till kvadraten på inmatningsordets längd, dvs N2 där N är ordlängden. Aktiveringsfrekvensen är den hastighet med vilken multipliceringar utförs av algoritmen betecknad med och PFA-konstanten, , extraheras empiriskt från tidigare multiplikatordesigner och visat sig vara cirka 15 fW/bit2-Hz för en 1,2 µm teknologi vid 5V. Den resulterande effektmodellen för multiplikatorn på basis av ovanstående antaganden är:

Fördelar:

  • Anpassning är möjlig i termer av vilka komplexitetsparametrar som helst som är lämpliga för det blocket. Till exempel för en multiplikator var kvadraten på ordet längd lämplig. För minne används lagringskapaciteten i bitar och för I/O-drivrutinerna är enbart ordlängden tillräcklig.

Svaghet:

  • Det finns det implicita antagandet att indata inte påverkar multiplikatoraktiviteten vilket är motsägelsefullt till det faktum att PFA-konstanten är avsedd att fånga den inneboende interna aktiviteten som är associerad med multiplikationsoperationen eftersom det anses vara en konstant.

Uppskattningsfelet (relativt till omkopplingsnivåsimulering) för en 16x16 multiplikator experimenteras och det observeras att när det dynamiska omfånget för ingångarna inte helt upptar ordlängden för multiplikatorn, blir UWN-modellen extremt inexakt. Visst, bra designers försöker maximera användningen av ordlängden. Ändå är fel i intervallet 50-100 % inte ovanliga. Figuren tyder tydligt på ett fel i UWN-modellen.

Se även

Effektuppskattning