"Seçili blog gönderileri" FPGA sabit noktalı ondalık hesaplama (1)

Sabit noktalı ondalık, ondalık noktası belirli bir pozisyonda sabit olarak örtük olan verilerdir. Ondalık noktanın konumu sabit olduğundan, onu saklamaya gerek yoktur (ondalık noktanın konumu saklanıyorsa, bu bir kayan nokta sayısıdır). Ondalığın belirli konumu tamamen programcının kendisi tarafından belirlenir, bu nedenle, sabit noktalı ondalıkların işlenmesi sıradan tamsayılarla yapılabilir.

Sabit noktalı ondalık sayıların geleneksel biçiminden, kayan noktalı ondalık sayıların avantaj ve dezavantajlarından ve temel sabit nokta ondalık işlemlerini (toplama ve çarpma) uygulamak için Lattice ECP3 / ECP5'in sysDSP çarpanının nasıl kullanılacağından kısaca bahsedelim. Sonraki makalelerde, sabit nokta ondalık bölme, karekök, karşılıklı karekök, CORDIC algoritması ve HDL uygulamasının temel teorisini tanıtacağız.

1

Sabit noktalı ondalık sayılar için genel format

Geleneksel sabit nokta ondalık biçimi aşağıdaki gibidir:

Bunlar arasında, işaretli sabit noktalı ondalık sayı şu şekilde ifade edilebilir:

İşaretsiz sabit noktalı ondalık sayı şu şekilde ifade edilebilir:

Sabit nokta sayısının bit genişliği w ve kesirli bölümün bit genişliği wf, sabit noktalı sayının iki elemanı olarak kabul edilebilir. Bunlar arasında w, sabit nokta sayısının dinamik aralığını belirler ve wf, sabit nokta sayısının doğruluğunu belirler. Sabit nokta aritmetiği gerçekleştirirken, sayısal taşma sorununa (taşma ve yetersizlik dahil) dikkat etmeniz gerektiğine dikkat edilmelidir. Sözde taşma, işlemin sonucunun, sabit noktalı sayının tamsayı kısmının temsil edebileceği aralığı aştığı anlamına gelir ve taşma, işlemin sonucunun, sabit noktalı sayının ondalık kısmının temsil edebileceği aralığı aştığı anlamına gelir. Açıktır ki, bir kez aştığında, hesaplama doğruluğunun kaybına ve hatta hesaplama sonucunun hatasına neden olacaktır. Bu nedenle, w ve wf'yi makul bir şekilde seçmek çok önemlidir.Aşırı w ve wf değerleri kaynakları israf eder ve çok küçük değerler doğruluk kaybına neden olur.

2

Sabit noktalı ve kayan noktalı sayıların karşılaştırılması

Kayan noktalı sayılarla karşılaştırıldığında, sabit noktalı sayıların aşağıdaki avantajları vardır:

(1) Daha az kaynak

Genel olarak, FPGA'larda kayan nokta işlemleri gerçekleştirirken, daha fazla LUT, yazmaç ve çarpan tüketilir. Sabit noktalı sayıların ondalık noktanın konumunu saklaması gerekmediğinden, sabit nokta işlemleri tarafından tüketilen kaynaklar temelde aynı bit genişliğine sahip tamsayı işlemlerine eşdeğerdir ve kayan nokta işlemlerinin ek yükünden çok daha düşüktür.

(2) Daha yüksek performans

Kayan nokta operasyonları daha fazla kaynak tüketirken, aynı zamanda MAP ve PAR üzerinde baskı oluşturacak ve tüm tasarımın Fmax'ında bir düşüşe neden olacaktır. Aynı hesaplama ölçeğinde, sabit noktalı bir tasarım daha yüksek bir Fmax elde edebilir.

Aynı zamanda, kayan noktalı sayılarla karşılaştırıldığında, sabit noktalı sayıların da birçok kusuru ve eksikliği vardır:

(1) Değeri ifade edebilen dinamik aralık küçüktür

(2) Sayısal taşma sorunu

Kayan noktalı sayılar birleşik bir biçim (IEEE-754) benimsediğinden ve geniş bir dinamik aralığa sahip olduğundan, temelde sayısal taşma sorunu yoktur. Bununla birlikte, sabit nokta sayıları, program tasarımında w ve wf değerlerinin makul bir şekilde seçilmesini gerektirir ve birleşik bir format belirtiminin olmaması, karmaşık programların işbirliğine dayalı tasarımında da sorun yaratır.

Uygulama gereksinimleri perspektifinden bakıldığında, birçok durumda sabit nokta sayıları sistemin performans gereksinimlerini karşılayabilir, ancak radar görüntüleme, tıbbi görüntüleme ve yüksek hassasiyetli veri toplama ve analizi gibi yüksek doğruluk gerektiren bazı durumlar da vardır. Kayan noktalı sayılar işlemleri gerçekleştirir.

3

ECP3 / ECP5'te SysDSP çarpanı

Latticein ECP3 / ECP5 serisi FPGA'ları, birden çok sysDSP mimarisi çarpan modülünü entegre eder. SysDSP'ye dayalı olarak kullanıcılar, düşük güçlü, yüksek performanslı dijital sinyal işleme uygulamalarını kolayca tasarlayabilir. LUT tarafından uygulanan çarpanla karşılaştırıldığında, sysDSP'ye dayalı çarpan önemli performans avantajlarına sahiptir. Ek olarak, Lattice ayrıca FFT, FIR ve CIC gibi çeşitli sysDSP tabanlı IP sağlar.

ECP5'teki sysDSP'nin dilim yapısı diyagramı aşağıdaki şekilde gösterilmektedir:

4

Sabit noktalı ondalık sayıların toplanması ve çarpımı

Sabit noktalı ondalık sayıların toplanması ve çarpımı temelde sıradan tam sayıların toplanması ve çarpılmasıyla aynıdır, ancak işlem sonucunun w ve wf ile w ve wf'nin orijinal değeri arasındaki yazışmaya dikkat etmeniz gerekir.

İşte basit bir örnek: iki 32-bit işaretli sabit noktalı ondalık sayıları çarpın, burada w = 32 ve wf = 23. hangisi

şu anda,

Aşağıdaki şekilde gösterildiği gibi bölme çarpanının Modülünü oluşturmak için doğrudan Clarity'yi kullanabiliriz. İşaret biti, XOR işlemi için ve kalan 31 bit ise çarpma için çıkarılabilir.

Hesaplama sonucunu girişle aynı formata dönüştürmeniz gerekirse, aşağıdaki işlemleri gerçekleştirebilirsiniz:

Yukarıdaki örnekte, işaretli bir sayı, işaretsiz bir sayıya dönüştürülür ve ardından işlem gerçekleştirilir (yani, orijinal kod doğrudan kullanılır). Aslında, MULT Modülündeki Veri Tipini de İmzalı olarak doğrudan yapılandırabiliriz ve işlenen tamamlayıcı şeklinde çalıştırılır.

Deqing İlçesi Tıp Topluluğunu ziyaret edin: Tıbbi AI tabana nasıl gidiyor?
önceki
Başka bir büyük başarı elde edin! Liu Zuohu: OnePlus 6T'nin ilk ay satışları OnePlus 6'ya göre% 249 arttı
Sonraki
Para biriktirmek, Guanyin Köprüsü'nün yanında bir sokak dükkanı satın almak için 8600 yuan / 'den başlayan bir mağazaya para yatırmak kadar iyi değildir
Birden fazla flaşı kaybettikten sonra, WeChat avatarım ve takma adım kime ait?
Yang Chaoyue'nin ilk varyete şovunu izleyerek, bekarlardan çıkabilir mi?
Zhuzhou Merkez Hastanesinin Anorektal Cerrahi Bölümü günde sekiz ameliyat geçiriyor ve profesyonel bir ekip hassas tedavi sağlıyor
Poisoned Milk E3 Üçüncü Taraf Özeti: Şaşırdım, 9 soru gerçekten doğru!
Seazen Holdings 100 hisseye teşekkür etti ve Chongqing'in 7 eski ve yeni üçlü töreni başladı
ABD'de Eğitim Üzerine Beşinci Oturum: Bebekleri itme yolunda "kaplan anne" mi yoksa "keçi anne" mi olmalıyım? | Özel sütun
WeChat Pay, "müttefiklerden" "silah arkadaşlarına" geçiş yapın, hizmet sağlayıcılar için yeni bir strateji başlatır
Çok temalı film Kasım'ı ateşliyor
CC3200 ve WeChat resmi hesabına dayalı etkileşimli bulut ev sistemi
Dört büyük yerli komedi ası takımının "kendi kendine yapılan" kombo boksu
Hayranlar "Gizli Savaş" ı destekliyor ve Aaron Kwok, Zhao Liying ve Zhang Han'ı yerinde oynadıkları için övüyorlar.
To Top