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

Ontwerpabstractielagen: Duidelijke gids voor chip-architectuur

Voordat we dieper ingaan op de Verilog-taal, is het goed om de verschillende abstractielagen in chipontwerp te begrijpen.

De bovenste laag is de systeemarchitectuur die de verschillende sub-blokken definieert en grotpeert op functionaliteit. Een processorcluster heeft bijvoorbeeld meerdere cores, cache-blokken en cache-coherentielogica. Al dit wordt geencapsuleerd en voorgesteld als een enkel blok met in- en uitgangssignalen.

Op het volgende niveau wordt elk sub-blok beschreven in een hardwarebeschrijvingstaal om de functionaliteit van elk individueel blok nauwkeurig te beschrijven. Lagere implementatiedetails zoals circuitschema's en technologiebibliotheken worden op dit moment genegeerd. Een controllerblok zal bijvoorbeeld uit meerdere Verilog-bestanden bestaan die elk een kleiner onderdeel van de functionaliteit beschrijven.

HDL's worden vervolgens omgezet in gate-level schema's die ook technologiebibliotheken omvatten die digitale elementen zoals flipflops karakteriseren. Het digitale circuit voor een D-latch bevat bijvoorbeeld NAND-gates in een bepaalde rangschikking zodat alle combinaties van D- en E-ingangen een uitgang Q produceren gegeven door de waarheidstabel.

Een waarheidstabel geeft de permutatie van alle ingangsniveaus en het resulterende uitgangsniveau. Hieronder is de tabel voor een D-latch met enable-pin. Het hardwareschema kan ook afgeleid worden uit de waarheidstabel met Booleaanse logica en K-maps. Voor complexe digitale blokken zoals processors en controllers is deze methode echter niet praktisch.

Implementatie van een NAND-gate wordt gedaan door verbinding van CMOS-transistoren in een bepaald formaat. Op dit niveau worden transistorkanaalbreedtes, Vdd en het vermogen om de uitgangscapacitatieve belasting aan te sturen in rekening gebracht.

De laatste stap is de layout van deze transistoren in silicium met EDA-tools zodat het geproduceerd kan worden. Op dit niveau is apparatuur- en technologiekennis vereist omdat verschillende layouts verschillende fysieke eigenschappen hebben zoals weerstand en capaciteit.

Ontwerpstijlen

Er zijn voornamelijk twee stijlen in het ontwerp van digitale blokken: top-down en bottom-up methodologieën.

Top-Down

In deze stijl wordt eerst een top-level blok gedefinieerd met identificatie van sub-modules die nodig zijn om het top-blok te bouwen. Elke sub-module wordt verder verdeeld in kleinere componenten, en het proces gaat door tot we de leaf cell bereiken of een stadium waar geen verdere deling mogelijk is.

Bottom-up

Hier is de eerste taak het identificeren van beschikbare bouwblokken. Deze worden samengevoegd en op een bepaalde manier verbonden om grotere cellen te bouwen en het top-level blok te vormen.

Typisch wordt een combinatie van beide stromen gebruikt. Architecten definiëren het systeelmniveau, en ontwerpers implementeren de logica van elk functioneel blok en laten het synthetiseren naar gates. Een top-down stijl wordt gevolgd tot dat punt. Echter, deze gates zijn gebouwd volgens een bottom-up stroom, beginnend met de fysieke layout van het kleinste blok in de beste mogelijke oppervlakte, prestaties en stroom. Deze standaardcellen hebben ook een hardwareschema en leveren informatie zoals rise/fall tijden, stroom en andere vertragingen. Deze cellen worden beschikbaar gemaakt voor de synthetise-tool die ze kiest en instantieert waar nodig.

Verilog

  1. Productontwerp meesteren: Bewezen strategieën om veelvoorkomende uitdagingen te overwinnen
  2. Betonblokken (CMU's): Geschiedenis, Materialen, Ontwerp & Moderne Innovaties
  3. Betrouwbare Schakelaarcontacten Ontwerpen: Materialen, Typen en Beschermingsstrategieën
  4. Architectuuropwerp Begrijpen: Principes, Praktijken en Impact
  5. Precieze Draaibank Niveleren: Een Professionele Gids
  6. Variabele Scope in C#: Klasse-, Methode- en Blokniveau
  7. Verilog beheersen: Complete tutorial voor digitale schakelingontwerp
  8. Verilog controlestroom beheersen: IF-ELSE, Case, en meer
  9. Gate-Level Modeling: van hardware-schema's naar Verilog-code
  10. Praktisch Verilog Gate-Level Ontwerp: AND, OR, NOT Gates & 2x1 Multiplexer
  11. Geavanceerde Switch-Level Modeling in Verilog