1. Home
  2. /
  3. Vhdl
  4. /
  5. Counter and Theme Toggle

Counter and Theme Toggle - Vhdl Typing CST Test

Loading…

Counter and Theme Toggle — Vhdl Code

Demonstrates a simple counter with theme toggle using VHDL signals and processes.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

entity Counter is
	Port (
		clk : in STD_LOGIC;
		reset : in STD_LOGIC;
		count_out : out INTEGER;
		isDark_out : out STD_LOGIC
	);
end Counter;

architecture Behavioral of Counter is
	signal count : INTEGER := 0;
	signal isDark : STD_LOGIC := '0';
begin

	process(clk, reset)
	begin
		if reset = '1' then
		count <= 0;
		isDark <= '0';
		elsif rising_edge(clk) then
		count <= count + 1;
		isDark <= not isDark;
		end if;
	end process;

	count_out <= count;
	isDark_out <= isDark;

end Behavioral;

Vhdl Language Guide

VHDL (VHSIC Hardware Description Language) is a strongly typed, concurrent hardware description language used to model, simulate, and synthesize digital systems such as FPGAs, ASICs, and SoCs. Designed for reliability, formal precision, and hardware-level abstraction.

Primary Use Cases

  • ▸FPGA design and development
  • ▸ASIC/SoC prototyping
  • ▸Digital logic design (counters, FSMs, datapaths)
  • ▸High-reliability hardware (military/aerospace)
  • ▸Hardware verification and simulation

Notable Features

  • ▸Strong static typing
  • ▸Concurrency built into the language
  • ▸Timing-accurate simulation
  • ▸Synthesizable constructs for hardware generation
  • ▸Package- and library-based modularity

Origin & Creator

Developed in the early 1980s by the U.S. Department of Defense (DoD) under the VHSIC program; standardized as IEEE 1076.

Industrial Note

You’ll find VHDL embedded in aerospace avionics, defense-grade chips, satellite systems, telecom switching, and radiation-hardened FPGA applications.

More Vhdl Typing Exercises

VHDL Simple AdditionVHDL FactorialVHDL Fibonacci SequenceVHDL Max of Two NumbersVHDL Array SumVHDL Even Numbers FilterVHDL String ConcatenationVHDL Conditional Counter IncrementVHDL Conditional Counter Increment

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher