Dijital Kapı Kilidi: FPGA Tabanlı Şifre Doğrulama Sistemi
- Davut
- 27 Şub
- 3 dakikada okunur

Dijital sistem tasarımında durum makineleri (state machines), veri işleme ve kontrol mekanizmalarında kritik bir rol oynamaktadır. Bu proje, FPGA üzerinde çalışan bir dijital kapı kilidi sistemi tasarlamayı ve uygulamayı amaçlamaktadır. Sistem, bir kullanıcı şifresini doğrulayan ve doğru giriş sağlandığında kapıyı açan bir mantık devresi içermektedir.
Bu çalışmada, VHDL tabanlı bir durum makinesi tasarlanmış ve FPGA üzerinde test edilmiştir. Kullanıcının belirlenen şifreyi giriş olarak sağlayıp onayladığı, ardından doğrulama sürecinin bir durum makinesi aracılığıyla gerçekleştirildiği bir sistem geliştirilmiştir.
Projenin Amacı
Bu projenin temel hedefleri şunlardır:
✔️ FPGA üzerinde çalışan bir kapı kilidi sistemi tasarlamak,
✔️ Durum makineleri kullanarak parola doğrulama sürecini yönetmek,
✔️ VHDL ile dijital devre bileşenleri tasarlamak ve test etmek,
✔️ FPGA donanımına uygun bir yapıda kayıt (register) ve paralel-seri kaydırma (shift register) sistemleri oluşturmak,
✔️ Dijital tasarım sürecinde testbench kullanarak simülasyonlar yapmak ve hata analizlerini gerçekleştirmek.
Sistem Tasarımı ve Uygulama
1️⃣ Dijital Kapı Kilidi Üst Düzey Tasarım
Sistem, bir VHDL tabanlı durum makinesi (State Machine), bir kaydedici (Register), bir saat bölücü (Clock Divider) ve giriş/çıkış kontrol devrelerinden oluşmaktadır.
🔹 Şifre Girişi:
Kullanıcı, öğrenci numarasına dayalı belirlenen şifreyi (12-bit) giriş olarak sağlar.
Giriş, 12 adet anahtar (SW0 - SW11) kullanılarak yapılır.
"Enable" düğmesi (BTNR) kullanılarak veri kayıt edilir.
🔹 Şifre Doğrulama Süreci:
Kullanıcı, "Start" düğmesine (BTNL) basarak doğrulama işlemini başlatır.
Giriş verisi, bir paralel-seri kaydırma (shift register) mekanizması ile durum makinesine bit bit gönderilir.
Her bit için LED’ler (LD0 - LD11), girişin doğruluğunu gösterir.
Yanlış giriş tespit edildiğinde, LD14 hata göstergesi aktif olur.
🔹 Kapı Açma Mekanizması:
Eğer tüm girişler doğruysa, sistem kapıyı açtığını 12 LED’in tamamını yakarak gösterir.
Yanlış giriş yapıldığında, sistem bekleme durumunda kalır ve reset gerektirir.
2️⃣ Durum Makinesi (State Machine) Tasarımı
Durum makinesi, şifre doğrulama sürecini yöneten temel bileşendir.
🔹 Durum Geçişleri:
Başlangıç Durumu: Sistem resetlendiğinde ilk duruma döner.
Şifre Okuma Durumu: Kullanıcı giriş verisini girer ve kaydeder.
Doğrulama Durumu: Giriş verisi sistemde kayıtlı şifre ile bit bit karşılaştırılır.
Başarılı Doğrulama: Şifre doğruysa, tüm LED’ler yanar ve kapı açılır.
Hatalı Giriş Durumu: Yanlış giriş yapıldığında sistem bekler ve LD14 hata göstergesi aktif olur.
🔹 VHDL Uygulaması:
VHDL kullanılarak durum makinesi kodlanmış ve simülasyonları yapılmıştır.
Testbench yazılarak doğrulama işlemi test edilmiştir.
3️⃣ Kaydedici (Register) ve Paralel-Seri Kaydırma (Shift Register)
Sistemin doğru çalışabilmesi için kullanıcı girişlerini kaydeden ve bunları durum makinesine sırasıyla ileten bir kayıt mekanizması tasarlanmıştır.
🔹 Kayıt Devresi (Register):
Kullanıcı giriş verisini saklar ve doğrulama sürecine hazır hale getirir.
VHDL ile tasarlanmış ve simüle edilmiştir.
🔹 Paralel-Seri Kaydırma (Shift Register):
Kayıtlı veri, her saat darbesinde (clock cycle) bir bit olacak şekilde durum makinesine iletilir.
Bu işlem, şifre doğrulama sürecinin adım adım gerçekleştirilmesini sağlar.
4️⃣ Saat Sinyali Yönetimi (Clock Division)
Sistem, bir saat bölücü (Clock Divider) devresi kullanarak FPGA üzerinde uygun hızda çalışması sağlanmıştır.
🔹 Saat Bölücü (ClkDiv.vhd):
400 Hz’lik ana saat sinyali, 100 Hz’lik işlem hızına düşürülerek sistem zamanlaması kontrol edilmiştir.
Sinyal manipülasyonu, FPGA üzerinde kararlı bir çalışma için optimize edilmiştir.
5️⃣ FPGA Uygulaması ve Testler
Sistem, FPGA üzerinde fiziksel olarak test edilmiş ve doğrulama süreçleri tamamlanmıştır.
🔹 Simülasyon Testleri:
VHDL testbench kullanılarak şifre doğrulama sürecinin doğruluğu kontrol edilmiştir.
Durum makinesinin dalga formları (waveform) analiz edilmiştir.
Comments