VHDL: Verhaltensmesser
Dieses Beispiel implementiert einen Verhaltenszähler mit Load-, Clear- und Up/Down-Funktionen. Es wurde nicht für eine bestimmte Gerätearchitektur optimiert, daher kann die Leistung variieren. Intel® FPGA empfiehlt die Verwendung der lpm_counter Funktion zur Implementierung eines Zählers (siehe VHDL: Down Counter). Dieses Beispiel zeigt die Counter-Implementierung, die das LPM nicht erfordert.
Weitere Informationen zur Verwendung dieses Beispiels in Ihrem Projekt siehe:
counters.vhd
ENTITY-Zähler IST PORT( d: IN INTEGER-BEREICH 0 BIS 255; clk: IN BIT; löschen: IN BIT; laden: IN BIT; up_down: IN BIT; qd: OUT INTEGER RANGE 0 BIS 255); END-Zähler; ARCHITECTURE a OF counters IS BEGIN – Ein up/down counter PROCESS (clk) VARIABLE cnt: INTEGER RANGE 0 TO 255; VARIABLE Richtung: INTEGER; BEGIN IF (up_down = "1") DANN --Generate up/down counter direction := 1; ELSE-Richtung:= -1; END-IF; IF (clk'EVENT AND clk = '1') DANN IF (load = '1') THEN --Generate loadable cnt := d; --counter. Nehmen Sie diese ELSE-Zeilen heraus, um die Leistung zu steigern. cnt := cnt + richtung; END-IF; --Die folgenden Zeilen erzeugen eine synchrone --clear auf dem Zähler IF (clear = '0') THEN cnt := 0; END-IF; END-IF; qd <= cnt; --Outputs END PROCESS generieren; ENDE a;