Genelde process yapılarını tetikleme için harici bir kaynak tarafından üretilen kare dalga işareti kullanılmaktadır. Bu kare dalga işaretinin değişimlerinde ise process yapısı tetiklenmektedir. Bu dışarıdan uygulanan (tasarıma göre FPGA içerisinde de üretilebilir) tetikleme işareti çoğu zaman “saat darbesi” (clock) olarak adlandırılır.
Şekil 1’de saat darbesi gösterimi verilmiştir. Şekil 1’den de görüleceği üzere saat darbesi işaretin 0’dan 1’e veya 1’den 0’a değişim göstermektedir. Bu değişimler iki şekilde adlandırılır:
- Yükselen Kenar Tetikleme (Rising Edge Triggered)
- Düşen Kenar Tetikleme (Falling Edge Triggered)’dir.

Şekil 1 Saat darbesi gösterimi
VHDL dilinde yükselen kenar durumunu tespiti için iki tip sözdizimi mevcuttur:
- if in_clk’event and in_clk=’1’ then
- if rising_edge(in_clk) then
Yukarıda verilen sözdizimleri in_clk sinyalinde değişim meydana geldiğinde ve in_clk değerinin 0’dan 1’e değiştiğinde koşul ifadelerini aktif etmektedir.
VHDL dilinde düşen kenar durumunu tespiti için iki tip sözdizimi mevcuttur:
- if in_clk’event and in_clk=’0’ then
- if falling_edge(in_clk) then
Yukarıda verilen sözdizimleri in_clk sinyalinde değişim meydana geldiğinde ve in_clk değerinin 1’den 0’a değiştiğinde koşul ifadelerini aktif etmektedir.
Örnek 1 : Aşağıda saat_darbesi_ornek.vhd VHDL kodunda saat darbesi uygulaması gerçeklenmiştir. process hassasiyet listesinde in_clk giriş portu mevcuttur. 20. satırda tanımlanan koşul ifadesi ile in_clk giriş portunda değişim meydana geldiğinde ve in_clk giriş portu değeri 0’dan 1’e değiştiğinde: in_giris_secme giriş port değeri ‘0’ ise out_cikis çıkış portuna in_giris_1 giriş portunun değeri atanmaktadır. Eğer in_giris_secme giriş port değeri ‘1’ ise out_cikis çıkış portuna in_giris_2 giriş portunun değeri atanmaktadır. in_giris_secme giriş port değeri ‘0’ ve ‘1’ haricinde başka değerler alması durumunda ise out_cikis çıkış portuna ‘0’ değeri atanmaktadır.
library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity saat_darbesi_ornek is Port ( in_clk : in std_logic; in_giris_1 : in std_logic; in_giris_2 : in std_logic; in_giris_secme : in std_logic; out_cikis : out std_logic ); end saat_darbesi_ornek; architecture Behavioral of saat_darbesi_ornek is begin process(in_clk) begin if rising_edge(in_clk) then if in_giris_secme = '0' then out_cikis <= in_giris_1; elsif in_giris_secme = '1' then out_cikis <= in_giris_2; else out_cikis <= '0'; end if; end if; end process; end Behavioral;
Bu noktada önemli bir uyarı yapmak gerekmektedir. Bir process içerisinden aynı anda hem yükselen hem de düşen kenar kontrolü yapılamaz. Bu şekilde bir kod yazıldığında sentezleyici hata verecektir.