Özel Doğrudan Bellek Erişimi Modülü Tasarımı ve Kırmık Üstü Sistem İçinde Gerçeklenmesi
Proje Ortakları
- Müşteri Kuruluş: Procenne – Güvenpark Bilişim Teknolojileri Ar-Ge Tic. Ltd. Şti.
- Yürütücü Kuruluş: İstanbul Teknik Üniversitesi, Gömülü Sistem Tasarımı Laboratuvarı
- Destekleyen Kuruluş: TÜBİTAK 1505 Üniversite-Sanayi İş Birliği Destek Programı



Proje Ekibi
- Yürütücü: Prof. Dr. Berna Örs Yalçın
Proje Kısa Tanıtımı
Donanımsal güvenlik modülleri (HSM), kriptografik algoritmaların yüksek performansla ve güvenli şekilde donanım üzerinde gerçeklenmesine olanak sağlamaktadır.
Özellikle finans, askerîye, istihbarat ve sağlık gibi alanlarda kritik görevler üstlenen ve geniş veri bloklarıyla çalışan güvenlik protokollerinin yüksek hızda yürütülebilmesi, algoritmaya özel donanımların kullanılmasıyla mümkün olabilmektedir.
Kriptografik algoritmalar için ASIC veya FPGA üzerinde gerçeklenen özel donanım birimleri, yazılım gerçeklemelerine göre çok daha hızlı çalışmaktadır. Bununla birlikte, sistem kontrolü ve dış dünya ile veri haberleşmesi için bir işlemci kullanılmakta ve algoritmaya özel donanım birimleri bu işlemciye bağlanarak bir kırmık üstü sistem oluşturulmaktadır.
Kriptografik algoritmaların veri girişleri ve çıkışları, günümüzde kullanılan işlemcilerin veri yolu genişliklerinden 4 ila 128 kat daha uzun olabilmektedir. Algoritmaya özel donanımlar doğrudan işlemciye bağlandığında sistem zamanının önemli bir bölümü veri aktarımına ayrılmakta ve sistem verimli çalışamamaktadır.
Bu projede, RISC-V işlemcisinin RAM arayüzü kullanılarak PCIe gibi veri portları, algoritmaya özel donanımlar ve işlemci arasında komut ve veri aktarımı gerçekleştirecek özel bir doğrudan bellek erişimi modülü tasarlanacaktır.
Tasarlanan modül kullanılarak yüksek hızlı bir HSM, FPGA üzerinde bir kırmık üstü sistem olarak gerçeklenecektir. Sistemin fonksiyonel testleri, performans testleri ve ayrıntılı doğrulaması tamamlandıktan sonra ASIC tasarımı, üretimi ve testleri gerçekleştirilecektir.

Yöntem
Özel doğrudan bellek erişimi modülü tasarlanırken mevcut özel DMA tasarımları incelenecek ve literatürde benzer problemlere uygulanmış çözümler araştırılacaktır.
Hedeflenen davranışları sağlayan ve performansı artıracak yeni özellikleri içeren mimari, literatür araştırmasının ardından netleştirilecektir. Tasarımın esnek, geliştirilebilir, gerçeklenmesi kolay ve kullanışlı olmasına önem verilecektir.
İşlemci, algoritmaya özel donanımlar ve bellekten oluşan kırmık üstü sistem, veri haberleşmesinden kaynaklanan performans kaybını azaltacak şekilde tasarlanacaktır.
Sistemin dış dünyayla Ethernet, UART ve PCIe gibi standart arayüzler üzerinden haberleşmesini sağlayan haricî bağlantı noktaları içermesi planlanmaktadır. Bu bağlantı noktaları ile bellek arasındaki haberleşme, proje kapsamında tasarlanacak özel doğrudan bellek erişimi bloğu tarafından gerçekleştirilecektir. Böylece dış dünya ile haberleşmenin işlemci üzerinde ek bir işlem yükü oluşturmaması sağlanacaktır.
Kırmık Üstü Sistem Tasarımı
- Zynq işlemcisi, doğrudan bellek erişimi bloğu, kriptografi çekirdekleri ve PCIe arayüzü kullanılarak bir kırmık üstü sistem tasarlanacaktır.
- Bütün veri aktarım işlemlerini kapsayan testler hazırlanacak ve test dosyaları kullanılarak davranışsal benzetimler gerçekleştirilecektir.
- Analiz aşamasında belirlenen performans gereksinimlerine göre sistem gerçeklenecek ve FPGA’ya yüklenecektir.
- FPGA üzerindeki bellek erişim hızlarını ölçmek için test yazılımı hazırlanacak ve performans kısıtlarının karşılanıp karşılanmadığı değerlendirilecektir.
Özel Doğrudan Bellek Erişimi Tasarımı
- RISC-V işlemcisi, kriptografi çekirdekleri, PCIe ve BRAM arayüzlerini gösteren sistem şeması hazırlanacaktır.
- Sistemin sağlaması gereken işlevsel davranışlar belirlenecektir.
- Hedeflenen haberleşme hızına göre kullanılabilecek giriş ve çıkış arayüzleri değerlendirilecektir.
- Gerekli hız koşullarını sağlayan ve mümkün olan en düşük donanım kaynağını kullanan blok yapısı belirlenecektir.
Özel Doğrudan Bellek Erişimi ile Haberleşen Kırmık Üstü Sistemin Tasarlanması
- Performans ve alan tüketimi açısından uygun bir açık kaynak kodlu RISC-V işlemcisi seçilecektir.
- RISC-V işlemcisindeki mevcut arayüzlerle haberleşebilen IP birimleri üretilecektir.
- Kırmık üstü sistemin blok tasarımı oluşturulacaktır.
- Özel doğrudan bellek erişimi modülü için gerekli sürücüler yazılacaktır.
- Sistemin VHDL kodu oluşturulacaktır.
- Davranışsal benzetim, sentez, gerçekleme ve sentez sonrası benzetim işlemleri gerçekleştirilecektir.
- Benzetim ve doğrulama işlemleri tamamlandıktan sonra FPGA programlama dosyası olan bitstream üretilecek ve sistem FPGA üzerine yüklenecektir.
Fonksiyonel Doğrulama ve Performans Testleri
- Sistemin test edilmesi için test vektörleri oluşturulacaktır.
- Test verileri bir haberleşme protokolü kullanılarak bilgisayardan FPGA’ya gönderilecektir.
- FPGA’dan alınan cevaplar bilgisayar tarafından okunacak ve beklenen sonuçlarla karşılaştırılacaktır.
- Bir hata tespit edilmesi durumunda hatanın nedeni araştırılacak, hata giderilecek ve testler tekrarlanacaktır.
- Performans testleri için ayrı test dosyaları hazırlanacak ve sistemin her davranışı için performans sonuçları ölçülecektir.
ASIC Gerçeklemesi
Fonksiyonel ve performans doğrulaması tamamlanan kırmık üstü sistem ASIC olarak gerçeklenecek, ürettirilecek ve hazırlanan baskılı devre kartı üzerinde test edilecektir.