Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Een korte introductie tot de Verilog- en HDL-talen

Inleiding:

In dit artikel laten we u kennismaken met VHDL en Verilog. We zullen ook de basisstructuur van een Verilog-module bestuderen en vertrouwd raken met het Verilog-gegevenstype 'wire' en zijn vectorvorm. We zullen u ook het fundamentele verschil tussen Verilog en VHDL vertellen.

Wat is Verilog?

Verilog is een type Hardware Description Language (HDL), gestandaardiseerd als IEEE 1364. Het wordt het meest gebruikt bij het beschrijven van elektronische circuits en systemen, gebruikt bij het ontwerp en de verificatie van digitale circuits.

Wat is VHDL?

VHDL is ook een type hardwarebeschrijvingstaal (HDL) dat wordt gebruikt in elektronische ontwerpautomatisering om het gedrag en de structuur van elektronische systemen te beschrijven en is bijzonder geschikt als taal om de structuur en het gedrag van digitale elektronische hardwareontwerpen te beschrijven, evenals conventionele digitale schakelingen.

Heb ik zowel Verilog als VHDL nodig?

Laten we, voordat we verder gaan, bespreken of we beide talen nodig hebben? Beide zijn krachtige tools die worden gebruikt bij het ontwerpen van complexe digitale circuits, maar je bent vrij om er een te beheersen die je wilt gebruiken. U dient echter een basiskennis van beide talen te hebben.

De evolutie van Verilog

Verilog is in 1984 ontworpen bij Gateway Design Automation. In 1987 werd VHDL een IEEE-standaard, terwijl Verilog in 1995 op de markt kwam. Tegenwoordig zijn dit beide krachtige HDL's (Hardware Description Languages). Het woord 'Verilog' is afgeleid van de woorden 'verificatie' en 'logica'. Dit komt omdat de taal eerst werd gebruikt als een simulatie- en verificatietool.

Nu zullen we enkele Verilog-concepten bespreken.

Voorbeeld 1:

Laten we in dit voorbeeld de Verilog-code schrijven voor het onderstaande circuit.

Er zijn twee ingangen en één uitgang wordt getoond en de poorten zijn één bit breed. Het circuit toont een EN-functie van de twee ingangen, wat resulteert in een uitgang op de out1-poort. De Verilog-beschrijving kan worden weergegeven als:

Lijnen 1 en 8:

De trefwoorden 'module' en 'endmodule' worden gebruikt om de tussenliggende regels te specificeren die het Circuit_1 beschrijven.

Lijnen 2 tot 6:

Deze regels specificeren de interface van 'Circuit_1' met zijn omgeving. De trefwoorden 'input' en 'output' tonen de invoer- en uitvoerpoorten. Hierna specificeert het trefwoord 'draad' een Verilog-gegevenstype dat een fysieke draad in het ontwerp vertegenwoordigt. Er zijn drie draden a, b en out1 in onze module.

Lijn 7: 

De regel beschrijft de AND-functionaliteit van het circuit met de bitsgewijze AND-operator '&'. Het trefwoord ‘toewijzen; wordt gebruikt om a &b op de uitvoerpoort te plaatsen. Dit staat ook bekend als een continue toewijzing omdat het altijd actief is wanneer de uitdrukking aan de rechterkant verandert, de linkerkant opnieuw wordt geëvalueerd, d.w.z. de uitvoer wordt voortdurend bijgewerkt.

Voorbeeld 1 vergelijken met de VHDL-code:

De onderstaande afbeelding toont de Verilog- en VHDL-beschrijvingen voor de Circuit_1-module.

In VHDL moeten we enkele bibliotheken opnemen die de datatypes en operators definiëren. Daarom is de VHDL-code meer beschrijvend. In sommige gevallen is dit echter voordelig, zoals bij het modelleren van systemen op een hoger niveau.

Vierwaardensysteem van Verilog:

Er worden vier waarden gebruikt in Verilog-gegevenstypen:

  • 0:weinig logisch/false
  • 1:hoge logica/waar
  • z:voor de toestand met hoge impedantie (ook gebruikt om de uitvoer van een buffer met drie toestanden te beschrijven)
  • x:onbekende waarde

Het gegevenstype VHDL std_logic kan negen verschillende waarden aannemen, maar veelgebruikte waarden zijn '0', '1', 'Z' en '-' ('-' staat voor een onbekende waarde).

Voorbeeld 2:

Laten we in het volgende voorbeeld de Verilog-code schrijven voor het circuit (Circuit_2) dat wordt weergegeven in de onderstaande afbeelding.

De volgende Verilog-code beschrijft het getoonde circuit:

De gebruikte elementen zijn vergelijkbaar met die in ons vorige voorbeeld, maar een intern signaal is gedefinieerd in regel 10. Het trefwoord ‘wire’ specificeert het datatype van deze verbinding. De bitsgewijze operator '~' wordt gebruikt voor NOT en '|' voor OR-bewerkingen. De bitsgewijze operator '^' wordt gebruikt voor XOR-bewerking.

De volgende afbeelding toont zowel de Verilog- als VHDL-beschrijvingen voor de Circuit_2-module, zodat u de verschillen kunt observeren.

Voorbeeld 3:

Voor ons derde en laatste voorbeeld geven we de Verilog-code voor het schema in de volgende afbeelding: Je zult zien dat de rode en blauwe invoerpoorten worden gecombineerd met de AND-operator. Het resultaat wordt weergegeven door de uitvoerpoort. We kunnen de signalen groeperen en ze behandelen als een vector die onze code compact en leesbaar maakt. We kunnen het bovenstaande circuit beschrijven met behulp van de Verilog-code. We kunnen de code van Listing 1 ook gemakkelijk uitbreiden om dit circuit te beschrijven.

Houd er rekening mee dat het indexbereik van de vectoren oplopend ([0:2]) of aflopend ([2:0]) kan zijn. Het aflopende formaat is meestal minder foutgevoelig en kan in plaats daarvan worden gebruikt.


Industriële technologie

  1. Een inleiding tot doorvoertules en hoe ze werken
  2. De toeleveringsketen en machine learning
  3. Kevlar 101:wat is het en wat zijn de voordelen?
  4. De symbiose van e-commerce en Brick-and-Mortar
  5. De wielen op het chassis gaan rond en rond … Niet
  6. De snelle en vuile gids voor typen pompkoppelingen
  7. Wat is het verschil tussen Industrie 4.0 en Industrie 5.0?
  8. De vele soorten polyurethaan en waarvoor ze worden gebruikt
  9. Wat is een freesmachine en waarvoor wordt hij gebruikt?
  10. Krachttesten begrijpen:de limieten van cruciale materialen en onderdelen meten
  11. De toekomst van metaalbewerkingsvloeistoffen, machinesmeermiddelen en koelvloeistoffen