Prozeduranweisung – VHDL-Beispiel
Prozeduren sind Teil einer Gruppe von Strukturen, die Unterprogramme genannt werden. Prozeduren sind kleine Codeabschnitte, die eine Operation ausführen, die im gesamten Code wiederverwendet wird. Dies dient dazu, Code zu bereinigen und Wiederverwendbarkeit zu ermöglichen.
Prozeduren können Eingaben annehmen und Ausgaben erzeugen. Sie können im Allgemeinen komplizierter sein als Funktionen. Es ist nicht erforderlich, irgendwelche Signale an eine Prozedur zu übergeben. Im Beispiel unten gibt es eine Prozedur p_INCREMENT_SLV, deren Zweck es ist, einen Standardlogikvektor um 1 zu inkrementieren und mit dem Ergebnis ein Signal zu erzeugen.
Ein zusätzlicher Hinweis zur Verwendung von Wait-Anweisungen:
Warteanweisungen KÖNNEN in einer Prozedur verwendet werden, solange der Prozess, der die Prozedur aufruft, keine Sensitivitätsliste hat. Im Beispiel unten hat die Prozedur eine 1-ns-Warteanweisung, um dies zu demonstrieren. Dies macht Prozeduren nützlich, um Testbench-Code zu erstellen.
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity example_procedure_simple is end example_procedure_simple; architecture behave of ex_procedure_simple is signal r_TEST : std_logic_vector(7 downto 0) := X"42"; -- Purpose: Increments a std_logic_vector by 1 procedure p_INCREMENT_SLV ( signal r_IN : in std_logic_vector(7 downto 0); signal r_OUT : out std_logic_vector(7 downto 0) ) is begin r_OUT <= std_logic_vector(unsigned(r_IN) + 1); wait for 1 ns; -- Wait is OK here. end p_INCREMENT_SLV; begin process is begin wait for 10 ns; p_INCREMENT_SLV(r_TEST, r_TEST); wait for 10 ns; p_INCREMENT_SLV(r_TEST, r_TEST); wait for 10 ns; p_INCREMENT_SLV(r_TEST, r_TEST); wait; end process; end behave;
VHDL
- Lernprogramm - Einführung in VHDL
- Beispiele für VHDL-Konvertierungen
- Aufzeichnungen - VHDL-Beispiel
- Signiert vs. Unsigniert in VHDL
- C#-switch-Anweisung
- C# break-Anweisung
- C#-Continue-Anweisung
- So erstellen Sie eine Liste von Zeichenfolgen in VHDL
- C++ Switch Case-Anweisung mit BEISPIEL
- Schreibverfahren:einfach und effizient durch Digitalisierung