VHDL floating point

Başlatan E_Kk, 01 Kasım 2012, 21:37:11

E_Kk

Merhaba arkadaşlar,

FPGA üzerinde floating point işlemlerini nasıl yapıyorsunuz? Herhangi bir kütüphane kullanan var mı acaba? Ben şuan da Xilinx üzerinde floating point uygulaması yapmaya çalışıyorum. http://www.eda.org/fphdl/ linkteki kütüphaneyi kullanmaya çalışıyorum. Daha önce bu kütüphane ile xilinx fpga leri üzerinde uygulama geliştiren oldumu acaba? Ya da işe yarar başka floating point kütüphanesi bilen var mı?
"Meselâ: Hendese bir fendir. Onun hakikatı ve nokta-i müntehası, Cenab-ı Hakk'ın İsm-i Adl ve Mukaddir'ine yetişip, hendese âyinesinde o ismin hakîmane cilvelerini haşmetiyle müşahede etmektir."Sözler

muuzoo

Hangi modeli kullandığınızı bilmiyorum ama xilinx floating point işlmler için ip-core sağlıyor. Onu kullanarak da floating point işlem için birim oluşturabilir ve component gibi ekleyip kullanabilirsiniz.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

E_Kk

Spartan-3an üzerinde çalışıyorum. Öncelikle kütüphane kullanmak istiyorum. IPcore a bir sonraki aşamada geçmeyi planlıyorum. Aslında şuan yukarıda linkini verdiğim linkteki kütüphanede "01000010101010110110011001100110" gibi 32 bit bir sayı ile bit düzeyinde işlemler yaptırıyorum. Fakat benim istediğim "4.12317236" gibi bir sayıyı sabit olarak tanımlayarak onunla işlem yapmak. Bu konu da yol gösterebilecek olan var mı?
"Meselâ: Hendese bir fendir. Onun hakikatı ve nokta-i müntehası, Cenab-ı Hakk'ın İsm-i Adl ve Mukaddir'ine yetişip, hendese âyinesinde o ismin hakîmane cilvelerini haşmetiyle müşahede etmektir."Sözler

E_Kk

Merhaba arkadaşlar,

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

library ieee_proposed;
use ieee_proposed.float_pkg.all;


entity bir is
end bir;

architecture Behavioral of bir is
	signal xf,yf,zf : float32;
	--signal x, y : float32;
	--CONSTANT y: float32 := 3.1;
	--CONSTANT x: float32 := 2;
begin
	yf <= to_float32 (3.1415);
	xf <= to_float32 (2);
	zf <= xf * yf;

end Behavioral;


Floating point işlem için yukarıdaki kodu yazdım. Fakat sentezlerken;

ERROR:HDLParsers:808 - "C:/Users/Kk/CDwVHDL/ffloat/bir.vhd" Line 19. to_float32 can not have such operands in this context.
ERROR:HDLParsers:808 - "C:/Users/Kk/CDwVHDL/ffloat/bir.vhd" Line 20. to_float32 can not have such operands in this context.

hatalarını aldım.  Kütüphanenin  yazaı  David Bishop "yf <= to_float32 (3.1415);" şeklinde kullanıldığında olacağını söylüyor ama hata aldım.
Daha önce böyle bir program çalıştıran oldu mu acaba?
"Meselâ: Hendese bir fendir. Onun hakikatı ve nokta-i müntehası, Cenab-ı Hakk'ın İsm-i Adl ve Mukaddir'ine yetişip, hendese âyinesinde o ismin hakîmane cilvelerini haşmetiyle müşahede etmektir."Sözler

quarko

Arkadaşlar merhaba.

VHDL dili FPGA öğrenmeye çalışıyorum. 32bit single precision floating point işlemler direk sentezlenemiyor sanırım. Bu nedenle Floating point sayılar ile çalışmak için ek paket veya IP lere ihtiyaç duyuluyor. Xilinx Vivado ile çalışıyorum. Nasıl ilerlemeliyim. Ne tür paket veya kütüphaneler kullanmamı tavsiye edersiniz ?
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

quarko

"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

muuzoo

Alıntı yapılan: quarko - 04 Mayıs 2021, 09:12:02Arkadaşlar merhaba.

VHDL dili FPGA öğrenmeye çalışıyorum. 32bit single precision floating point işlemler direk sentezlenemiyor sanırım. Bu nedenle Floating point sayılar ile çalışmak için ek paket veya IP lere ihtiyaç duyuluyor. Xilinx Vivado ile çalışıyorum. Nasıl ilerlemeliyim. Ne tür paket veya kütüphaneler kullanmamı tavsiye edersiniz ?

Genel bir tasarım kuralı olarak mümkün mertebe float işlemler yapmayın. Eğer mecbursanız kullandığınız FPGA üreticisinin sağladığı IP çekirdeklerini kullanın.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...