Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Verilog

Ontwerp abstractielagen

Voordat we naar meer details van de Verilog-taal kijken, zou het goed zijn om de verschillende abstractielagen in chipontwerp te begrijpen.

De bovenste laag is de architectuur op systeemniveau die de verschillende subblokken definieert en groepeert op basis van functionaliteit. Een processorcluster zou bijvoorbeeld meerdere kernen, cacheblokken en cachecoherentielogica hebben. Dit alles wordt ingekapseld en weergegeven als een enkel blok met input-output-signalen.

Op het volgende niveau wordt elk subblok geschreven in een hardwarebeschrijvingstaal om de functionaliteit van elk afzonderlijk blok nauwkeurig te beschrijven. Implementatiedetails op een lager niveau, zoals circuitschema's en technologiebibliotheken, worden in dit stadium genegeerd. Een controllerblok heeft bijvoorbeeld meerdere Verilog-bestanden die elk een kleiner onderdeel van zijn functionaliteit beschrijven.

HDL's worden vervolgens geconverteerd naar schema's op poortniveau die ook betrekking hebben op technologiebibliotheken die digitale elementen zoals flip-flops karakteriseren. Het digitale circuit voor een D-latch bevat bijvoorbeeld NAND-poorten die op een bepaalde manier zijn gerangschikt, zodat alle combinaties van D- en E-ingangen een output Q produceren die wordt gegeven door de waarheidstabel.

Een waarheidstabel geeft in wezen permutatie van alle ingangssignaalniveaus en het resulterende uitgangsniveau en de onderstaande is voor een D-latch met een activeringspen. Het hardwareschema kan ook worden afgeleid uit de waarheidstabel met behulp van booleaanse logica en K-maps. Het is echter niet praktisch om deze methode te volgen voor complexere digitale blokken zoals processors en controllers.

Implementatie van een NAND-poort wordt gedaan door de aansluiting van CMOS-transistoren in een bepaald formaat. Op dit niveau wordt tijdens het ontwerpproces rekening gehouden met de kanaalbreedtes van de transistoren, Vdd en de mogelijkheid om de capacitieve uitgangsbelasting aan te sturen.

De laatste stap is de lay-out van deze transistors in silicium met behulp van EDA-tools, zodat ze kunnen worden gefabriceerd. Op dit niveau zou enige kennis van apparaten en technologie vereist zijn, omdat verschillende lay-outs uiteindelijk verschillende fysieke eigenschappen hebben, zoals weerstand en capaciteit, naast andere implicaties.

Ontwerpstijlen

Vervolgens worden er voornamelijk twee stijlen gevolgd bij het ontwerpen van digitale blokken, namelijk top-down en bottom-up methodologieën.

Van boven naar beneden

In deze stijl wordt eerst een blok op het hoogste niveau gedefinieerd, samen met de identificatie van submodules die nodig zijn om het bovenste blok te bouwen. Evenzo is elk van de subblokken verder onderverdeeld in kleinere componenten, en het proces gaat door totdat we de bladcel bereiken of een stadium waarin het niet verder kan worden verdeeld.

Van onderaf

In dit geval is de eerste taak het identificeren van de beschikbare bouwstenen. Vervolgens worden ze samengevoegd en op een bepaalde manier met elkaar verbonden om grotere cellen te bouwen en worden ze gebruikt om het blok op het hoogste niveau samen te voegen.

Meestal wordt een combinatie van beide stromen gebruikt. Architecten definiëren de weergave op systeemniveau van het ontwerp en ontwerpers implementeren de logica van elk van de functionele blokken en worden gesynthetiseerd in poorten. Tot nu toe wordt een top-down stijl gevolgd. Deze poorten zijn echter gebouwd volgens een bottom-up stroom, waarbij wordt begonnen met de fysieke lay-out van het kleinste blok met de best mogelijke oppervlakte, prestaties en kracht. Deze standaardcellen hebben ook een hardwareschema en kunnen worden gebruikt om verschillende informatie te verkrijgen, zoals stijg- en daaltijden, stroom en andere vertragingen. Deze cellen worden beschikbaar gesteld aan de synthesetool die ze uitkiest en waar nodig instantieert.


Verilog

  1. De uitdagingen van productontwerp
  2. Switch contactontwerp
  3. Betonblok
  4. C# Variabel bereik
  5. Verilog-zelfstudie
  6. Verilog-besturingsblokken
  7. Modellering op poortniveau
  8. Voorbeelden van Verilog Gate-niveaus
  9. Modellering van schakelniveau
  10. Wat is architectuurontwerp?
  11. Een draaibank waterpas zetten