Използваме конструкцията process , която се активира при промяна на тактовия сигнал. Важно е да използваме rising_edge(clk) за откриване на предния фронт на импулса.

Чрез Testbench файл се проверява дали логиката работи правилно преди самия синтез.

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Counter_Module is Port ( clk : in STD_LOGIC; -- Тактов сигнал reset : in STD_LOGIC; -- Асинхронен нулиращ сигнал load : in STD_LOGIC; -- Сигнал за паралелно зареждане data_in : in STD_LOGIC_VECTOR(3 downto 0); -- Входни данни count_out : out STD_LOGIC_VECTOR(3 downto 0) -- Изход на брояча ); end Counter_Module; Use code with caution. 2. Описание на логиката (Architecture)

В контекста на VHDL, е процесът на преобразуване на софтуерно описание (RTL код) в мрежа от логически елементи (netlist), които могат да бъдат физически реализирани върху FPGA или ASIC чип. За разлика от езиците за програмиране като C++, тук редът на линиите не винаги е последователен – VHDL описва хардуерни структури, които работят паралелно.

За по-висока оценка добавете втори модул (декодер), който преобразува изхода на брояча за управление на светодиоди или дисплеи.

Уверете се, че сте включили библиотеката ieee.std_logic_unsigned за работа с аритметични оператори като + .