Na het voltooien van tutorials 6-11 van de Basic VHDL Tutorial-reeks, daag jezelf uit met deze door experts gemaakte quiz. Het is ontworpen om de grenzen van je begrip te verleggen, dus gebruik je redeneringsvaardigheden om het meest plausibele antwoord te selecteren als je onsicher bent. Lees de ko
In VHDL zijn signed en unsigned gespecialiseerde bitvectoren die je in staat stellen rekenkundige operaties op databussen uit te voeren. In tegenstelling tot std_logic_vector, wat ideaal is voor het routeren van signalen maar niet voor berekeningen, worden deze typen door de compiler als numerieke w
Een concurrente statement in VHDL is een signaaltoewijzing die direct in een architectuur staat, buiten elk process-blok. Het wordt ook wel een concurrente toewijzing of concurrente proces genoemd. Wanneer je een concurrente statement schrijft, creëer je effectief een proces dat automatisch gevoelig
De Case-When-statement stuurt een VHDL-programma langs een van meerdere paden gebaseerd op een signaal, variabele of expressie. Het biedt een schonere, leesbaardere alternatief voor lange if-then-elsif-else-ketens, met name bij het afhandelen van meerdere discrete waarden. Veel programmeertalen gebr
In VHDL is een module een zelfstandige eenheid die communiceert met de buitenwereld via zijn entity. De port map-clausule van een instantie verbindt de formele poorten van de entity met signalen in het omringende ontwerp. Modules, Entiteiten en Testbenches Wanneer we voor een FPGA of ASIC ontwikkele
Herbruikbare modules maken is een hoeksteen van efficiënt VHDL-ontwerp, maar kleine variaties vereisen vaak gedupliceerde code. Generics en generic maps lossen dit op door je een modules parameters te laten configureren tijdens compilatie, wat je code DRY en onderhoudbaar houdt. Constanten helpen he
De meerderheid van VHDL-ontwerpen gebruikt geclockte logica – vaak aangeduid als synchrone of sequentiële logica. Een geclockt proces activeert uitsluitend op de flank van de masterklok, ongeacht veranderingen in andere invoersignalen. Het fundamentele element van geclockte logica is de flip-flop. I
Voltooi tutorials 12-17 van de Basic VHDL Tutorial-reeks en test je kennis met deze gerichte quiz. Welke stelling is waar over het signed-type? Ze kunnen hogere waarden voorstellen dan unsigned types Als het linkerste bit 1 is, moet de waarde negatief zijn Overflow is een runtime-fout - Contin
In eerdere tutorials gebruikten we de wait for-statement om tijd in simulatie te vertragen. Echter, wait for kan niet in productieontwerpen gebruikt worden omdat een echt circuit niet kan worden geïnstrueerd om te pauzeren. De praktische manier om tijd in een VHDL-module te meten is door klokcycli t
In VHDL zijn procedures subprogrammas die ontwerpers in staat stellen herhalende codeblokken te vermijden. Wanneer dezelfde operatie op meerdere plekken nodig is, kan het maken van een volledige module overkill zijn. Een procedure biedt een lichtgewicht, herbruikbare oplossing. Procedures mogen in e
Een eindige-toestandsmachine (FSM) is een deterministisch logica-model waarvan de output niet alleen afhangt van de huidige invoer, maar ook van de reeks eerdere in- en outputs. In FPGA-ontwerp en tijdsafhankelijke VHDL-algoritmen is een FSM de standaardabstractie om stateful gedrag vast te leggen.
Functies zijn subprogrammas in VHDL die gebruikt kunnen worden voor het implementeren van veelvoorkomende algoritmen. Een functie neemt nul of meer invoerwaarden en retourneert altijd een waarde. Naast de returnwaarde, wat een functie onderscheidt van een procedure, is dat het geen Wait-statements m
In VHDL kan een impure functie toegang krijgen tot of wijzigen in elk signaal binnen zijn lexicale bereik, inclusief signalen die niet als parameters zijn opgesomd. Deze mogelijkheid geeft de functie bijwerkingen – de returnwaarde kan variëren zelfs wanneer dezelfde argumenten worden geleverd, en he
In VHDL kan een procedure externe signalen aansturen zolang het signaal in zijn bereik blijft. Terwijl een procedure gedeclareerd in een architectuur geen toegang heeft tot externe signalen – omdat die signalen niet zichtbaar zijn tijdens compilatie – kan een procedure gedefinieerd binnen een proces
Test je voortgang met deze VHDL-quiz na het voltooien van deel 4 van de Basic VHDL Tutorial-reeks! Hoe meten we echte tijd in VHDL? Door een wait for 1 ns-statement te gebruiken Door klokperiodes te tellen Door propagatievertraging te benutten Correct! Fout! - Welke stelling is waar Een
Een gelinkte lijst is een dynamische datastructuur die uitbreidt en inkrimpt naarmate elementen worden toegevoegd of verwijderd. VHDLs objectgeoriënteerde functies – access types, records en protected types – maken het mogelijk om deze structuur netjes en efficiënt te implementeren. Het DataStructur
Een self-checking testbench is een VHDL-programma dat de correctheid van een device under test (DUT) verifieert zonder handmatige inspectie. Eenmaal uitgevoerd, rapporteert het automatisch een OK of Failed-status, wat het een essentieel hulpmiddel maakt voor betrouwbare VHDL-ontwikkeling. Elke VHDL-
Een interactieve testbench is een simulatoropstelling waarbij invoer aan het device under test (DUT) wordt geleverd door een operator tijdens de uitvoering van de testbench. Meestal betekent dit dat je commandos in de simulatorconsole intypt om de DUT van stimulus te voorzien. Hoewel je altijd een s
Cirkelbuffers zijn populaire constructies voor het maken van wachtrijen in sequentiële programmeertalen, maar ze kunnen ook in hardware worden geïmplementeerd. In dit artikel maken we een ringbuffer in VHDL om een FIFO in blok-RAM te realiseren. Er zijn veel ontwerpbeslissingen die je moet nemen bij
Constrained random verification is een testbench-strategie die vertrouwt op het genereren van pseudo-random transacties voor het device under test (DUT). Het doel is functionele coverage van een aantal vooraf gedefinieerde evenementen te bereiken door willekeurige interactie met de DUT. Open Source
VHDL