LM-TRNG, FPGA ve SoC tasarımları için fiziksel bir rastgele sayı üreteci bloğudur.
Entropi kaynağı, periyotlarındaki ısıl jitter'ı toplamak için sistem saatiyle örneklenen, serbest çalışan bir ring osilatör dizisidir. Sayısallaştırılmış gürültü, çıkışa ulaşmadan önce yapılandırılabilir bir parite filtresinden ve sürekli çalışan bir sağlık testi zincirinden geçer; testlerden herhangi biri alarmdayken blok çıkışı engeller.
Blok, üreticiden bağımsız SystemVerilog olarak teslim edilir ve AMD, Altera ve Efinix cihazlarında aynı kaynaktan derlenir. AMBA AXI arayüzleri ve bir register haritası içerir; hedef platforma hızlı entegrasyon için ANSI C sürücüleri sağlanır.
Ölçülmüş FPGA sonuçları
Ürün top'ı, bağlam dışı (out of context) ve hedef saatte kısıtlanmış olarak. AMD ve Efinix LUT, Altera ALM raporlar; ikisi hiçbir zaman birleştirilmez.
| Cihaz | Konfigürasyon | Mantık | FF | Bellek | DSP | Fmax |
|---|---|---|---|---|---|---|
| Altera Agilex 3A3CW135BM16AE6S · quartus-pro 26.1.1 | APT_W_LOG2=10, AXIS_W=32, PFILT_MAX=128, ROSC_N=8, ROSC_STAGES=13, ROSC_TAPS=3, S22_W_LOG2=12, SRC_EXT=0 | 852 ALM | 1.469 | 0 Kb M20K | 3 | 295,2 MHzhedef 295 |
| AMD Kintex UltraScale+xcku3p-ffva676-1-e · vivado 2026.1 | APT_W_LOG2=10, AXIS_W=32, PFILT_MAX=128, ROSC_N=8, ROSC_STAGES=13, ROSC_TAPS=3, S22_W_LOG2=12, SRC_EXT=0 | 968 LUT | 1.141 | 0 BRAM | 4 | 481,9 MHzhedef 475 |
| Efinix Titanium Ti375Ti375N1156 · efinity 2026.1 | APT_W_LOG2=10, AXIS_W=32, PFILT_MAX=128, ROSC_N=8, ROSC_STAGES=13, ROSC_TAPS=3, S22_W_LOG2=12, SRC_EXT=0 | 1.107 LUT | 1.027 | 0 RAM | 6 | 457,5 MHzhedef 400 |
Özellikler
Entropi kaynağı
- Sayısı ve uzunluğu yapılandırılabilen, serbest çalışan evirici halkalar dizisi
- Her halkanın her fazı örneklenir ve birleştirilir
- Kendi gürültü kaynağını sağlayan sistemler için harici gürültü kaynağı desteği
Koşullandırma
- Uzunluk sınırlamalı, yapılandırılabilir XOR parite filtresi
- Yapılandırılan her ham bit grubu için bir çıkış biti: hiçbir bit tekrar kullanılmaz, hiçbiri atılmaz
Sürekli sağlık testleri
- Repetition Count Test: NIST SP 800-90B bölüm 4.4.1
- Adaptive Proportion Test: NIST SP 800-90B bölüm 4.4.2
- Toplam arıza testi: AIS-31 gereksinimi PTG.2.5, duran bir halkayı izler
- Frekans (monobit) ve Runs testleri: NIST SP 800-22 bölüm 2.1 ve 2.3, yapılandırılabilir pencereler üzerinde sürekli uygulanır
- Deterministik yolun açılışta bilinen cevap testi
- Herhangi bir test alarmdayken çıkış engellenir; her alarm mandallanır ve okunabilir
Entegrasyon
- AMBA AXI4-Lite kontrol ve bir AXI4-Stream rastgele çıkış
- Tüm test eşikleri register'dır; entegratör onları kendi değerlendirmesine göre ayarlar
- İki teslim top'ı: eksiksiz AXI ürünü ya da kendi yapınız için yalın çekirdek
- ANSI C sürücüsü, UVM RAL, IP-XACT, SystemRDL register tanımı
Uygulamalar
- Deterministik bir rastgele bit üretecini tohumlamak: eşleşen blok LM-DRBG'dir
- Henüz hiçbir tohum yokken, açılışta anahtar üretimi
- Nonce ve challenge üretimi
- Fiziksel klonlanamaz fonksiyonlar ve cihaz kimliği şemaları
- Tohumlanmış değil, deterministik olmayan bir kaynak gerektiren her sistem
Blok diyagramı
Arayüzler
| Arayüz | Tür | Genişlik | Taşıdığı |
|---|---|---|---|
s_axil | AXI4-Lite slave | 32 bit | yetenekler, konfigürasyon, eşikler, durum, alarmlar, sayaçlar |
m_axis | AXI4-Stream source | AXIS_W | rastgele çıkış |
irq | seviye | 1 bit | alarm ve durum olayları |
Çıkış stream'inin bir sonu yoktur. Fiziksel bir kaynak etkin olduğu sürece bit
üretir; istek uzunluğu ve tlast yoktur. Deterministik bir üreteçten yapısal farkı
budur ve arayüzde görülür.
Sağlık ve güvence
Dört sürekli test ve bir açılış öz testi. İki SP 800-90B testi, her birinde yanlış yapılması kolay sınır koşulları dahil, dokümanda yazıldığı gibi gerçeklenmiştir. AIS-31 toplam arıza testi birleştirilmiş gürültü bitini değil, örneklenen halka fazlarını doğrudan izler; böylece duran bir halka, istatistiksel bir testin yakalayacağından daha erken ve daha net yakalanır.
Her eşik bir register'dır. Eşik değerleri, pencere boyutları ve parite filtresi uzunluğu sabit değil, konfigürasyondur; çünkü bu kaynağı kendi cihazında ve çalışma köşesinde doğrulayan bir entegratörün onları kendi değerlendirmesine göre ayarlayabilmesi gerekir.
Herhangi bir test alarmdayken çıkış engellenir ve her alarm mandallanır.
Entropi iddiası, açıkça
Örnek başına min-entropi bu teslimatla belirlenmez ve hiçbir değer iddia edilmez. Bir min-entropi tahmini, fiziksel kaynaktan hedef cihazda ve çalışma köşesinde toplanmış en az bir milyon ardışık ham örneğin SP 800-90B tahmincilerinden geçirilmesini gerektirir. Bu donanım üzerinde yapılan bir ölçümdür; simülasyonla, sentezle ya da bu paketteki herhangi bir çıktıyla üretilemez.
Register haritasında gelen varsayılan eşik değerleri varsayılan bir min-entropiden hesaplanmıştır ve bu varsayım, geçtiği her yerde varsayım olarak etiketlenmiştir. Herhangi bir doğrulama arayan entegratör, her eşiği kendi değerlendirmesine göre değiştirir; eşiklerin register olmasının nedeni de tam olarak budur.
Ring osilatör dizisinin modeli yoktur ve simüle edilmez. Sayısallaştırılmış gürültü bitinden sonraki her şey deterministik bir durum makinesidir ve bir referans modele karşı saat saat doğrulanır; halkaların kendisi fiziksel olduğundan silikon üzerinde ölçümle doğrulanır ve bu ölçüm entegratörün işidir.
Konfigürasyon
| Parametre | Tür | Etkisi |
|---|---|---|
ROSC_N, ROSC_STAGES, ROSC_TAPS | elaboration | halka sayısı, uzunluğu, örneklenen fazlar |
SRC_EXT | elaboration | halkalar yerine harici bir gürültü kaynağı kullanır |
PFILT_MAX | elaboration | maksimum parite filtresi grup uzunluğu |
APT_W_LOG2, S22_W_LOG2 | elaboration | sağlık testi pencere boyutları |
AXIS_W | elaboration | çıkış stream genişliği |
| eşikler, sınır değerleri, filtre uzunluğu | çalışma zamanı | entegratörün kendi değerlendirmesine göre ayarlanır |
Kaynaklar ve performans
Her hedef cihaz için kaynak kullanımı ve maksimum saat frekansı bağlam dışında (out of context) ölçülür ve bu sayfadaki ölçülmüş sonuçlarda hedef bazında yayımlanır. AMD ve Efinix satırları LUT, Altera satırları ALM raporlar; ikisi hiçbir zaman birleştirilmez.
Çıkış hızı, örnekleme hızının parite filtresi uzunluğuna bölümüdür ve ikisi de konfigürasyondur.
Teslimat içeriği
| Öğe | İçerik |
|---|---|
| RTL | parametrik, üreticiden bağımsız SystemVerilog |
| Model | deterministik yolun çevrim doğruluğunda C++ modeli |
| Register'lar | SystemRDL kaynağı ve üretilmiş altı dışa aktarım |
| Doğrulama | UVM RAL, formal property wrapper'ları, sağlık testi vektör sürücüleri |
| Yazılım | üretilmiş başlık dosyası ve JSON ile ANSI C referans sürücüsü |
| Paketleme | IP-XACT, IEEE 1685-2022 |
| Gerçekleme | her FPGA üreticisi için çalıştırılabilir akış script'i, dosya listesi, SDC |
| Dokümantasyon | entegrasyon kılavuzu |