VIP_RGB888_YCbCr444.v ve src / Video_Image_Processor oluşturun ve kaydedin. Spesifik algoritmanın HDL uygulama süreci aşağıdaki gibidir:
(1) İlk adım, Y, Cb ve Cr'nin her çarpımının çarpımını hesaplamaktır. HDL aşağıdaki gibidir:
(2) İkinci adımda, Y, Cb ve Cr için parantez içindeki değerleri hesaplayın. HDL aşağıdaki gibidir:
(3) Üçüncü adım, 8Bit'i sağa kaydırmaktır. Burada, Adım 2'nin hesaplama sonucu 16Bit olduğundan, yüksek 8Bit çıkarılabilir.HDL aşağıdaki gibidir:
Aslında, (1) 'den (3)' e kadar olan hesaplamalar doğrudan yazmaçlar tarafından tanımlanır ve hat ve alanın etkili sinyalleri dikkate alınmaz. Ancak gerçek işlemin veri akışı üzerinde bir sıralaması olacaktır ve aynı zamanda (1) - (3) sürekli veri aynı anda işlenir.Bu şekilde elde edilen donanım ivmesi denir Montaj hattı tasarım becerileri. HDL-VIP'de çok önemli ve yaygın olarak kullanılan bir algoritma gerçekleştirme düşüncesidir ve FPGA donanım hızlandırmanın özlerinden biridir.
Daha önce bahsedildiği gibi, VIP işleme modülünün giriş verisi arayüz zamanlaması çıktı ile tamamen aynıdır. Bu üç saati (1) (2) (3) tüketmek için daha önce Y, Cb ve Cr hesapladık, bu nedenle giriş satırını ve alan sinyalini eşzamanlı olarak hareket ettirmemiz ve sinyali 3 saatle eşzamanlı olarak etkinleştirmemiz gerekiyor ki bu, kayıt kaydırma ile gerçekleştirilir. Gösterilen:
Ek olarak, yukarıdaki kodda olduğu gibi, Bingo versiyonunun VIP zamanlama kuralıyla tutarlı olan post_frame_href geçersiz olduğunda veri çıkışının 0 olmasını sağlamak için çıkış Y, Cb, Cr sinyali ve çıkış hattı geçerli sinyali etkinleştirilir.
Bu noktada, RGB888'in YCbCr444'e işlevini basitçe gerçekleştirdik. Buradaki Video_Image_Processor modülü nedeniyle, RGB888'den YCbCr'ye yalnızca işlevini gerçekleştirdik, bu nedenle Modül sinyal listesi Video_Image_Processor ile tamamen tutarlıdır (Y, Cb, Cr tanımlarına dikkat edin). Video_Image_Processor.v dosyasının listesi ve örneği aşağıdaki gibidir: