başlıkdaki sorudan farklı olarak 2. bi sorum var,
bu yazılım dilleriyle bir donanım oluşturuyoruz,onra oluşturduğumuz donanım üzerinde çalışacak bir yazılım dahamı yazıyoruz?yoksa bunlarla herikisinide mi yapıyoruz,yaptık diyelim bunları fpga gibi donanımlaramı yüklüyoruz başka ne gibi şeylere yarıyor?vhdl yi okudum kitaphanede ama donanımın dışında bunun yazılımda içerdiğini düşündüm bir an için,bu doğrumudur acaba?
VLSI dil değil. Ben oyle biliyorum.
VLSI, LSI ve MSI gibi cip yogunlugunu tanimlayan bir isimlendirme.
Cok buyuk yogunlukta entegre demek. (MCU, MPU, FPGA gibi)
VHDL ise FPGA tipi ciplere program yazmak icin kullanilan yuksek duzeyli bir dil.
VHDL ile yonganın hem donanım tarafı tarif edilir hem de bu donanımın nasıl çalışacağı, nasıl tepki vereceği yani yazılım tarafı tanımlanır.
Yonga geliştirme süreci FPGA üzerinde yapılıyor. Üretim miktarı yüksek ise ASIC olarak basılıyor ve bu -hatırladığım kadarıyla- %20 civarı performans artışı getiriyor. VLSI yukarıda söylendiği gibi Very Large Scale Integration yani yani çok geniş ölçekli entegrasyon / bütünleştirme demek. Günümüzdeki işlemciler, mikrodenetleyiciler VLSI tipine giriyor.
HDL Hardware Desciribtion Language. VHDL ise VHSIC-HDL... VHDL deki V harfi VHSIC ifade ediyor. VHSIC ise Very High Speed Integrated Circuits teriminin kısaltılmışıdır.
Ayrıca Mentor Graphics (http://www.mentor.com) firmasının VHDL adında bir yazılımı da var. Boğaziçinde kullanılıyor. Ama ITU ve YTU de Verilog kullanılıyor.
Bu yazılımlarla kod yazarak devrenin tanımlanması yapılıyo arka planda devre oluşturuluyo.........
VHDL is a language for describing digital electronic systems. It arose
out of the United States Government's Very High Speed Integrated Circuits
(VHSIC) program, initiated in 1980. In the course of this program, it
became clear that there was a need for a standard language for describing
the structure and function of integrated circuits (ICs). Hence the VHSIC
Hardware Description Language (VHDL) was developed, and subsequently
adopted as a standard by the Institute of Electrical and Electronic
Engineers (IEEE) in the US.
referans : The VHDL Cookbook 1st Edition
cevaplarınız için çok teşekkürler,terimlerin doğrudan bi alakası yokmuş,sadece ikisi aynı konuda sıksık geçitiğinden öyle anlamışım..
örnek olarak pikle porta dan ve port b den toplanan sayıları port c den yazdıracağız,bunu yapmak için de basit bir program yazıyoruz ve pike yüklüyoruz,bunu fpga olarak yapmak istersek donanımı direk toplama işlemi için ayarlayabiliriz değilmi?yani donananımı tanımlarken lojik kapıları toplama işlemi için bağlarız sonradan hiç bir yazılıma gerek kalmaz,bu böyleyse çok karışık işler için nereyi yazılımla nereyi donanımla halletmemiz gerektiğini nasıl kestiriyoruz? c de bir program yazsak buna göre bir donanımın bir kısmını oluşturan bi şey var mi ?
Çok karışık işlerde nereyi yazılım nereyi donanım ile tasarlıcaz sorusuna şöle bi yanıt verilebilir.
Bir fonksiyonun var ve diğer fonksiyonların habire bu fonksiyonu çağırıyor. Yani programın hızını etkileyen bir etmen oldu o fonksiyon. o halde bu fonksiyon çok kullanıldığından onu donanımsal tasarlayarak hız ve verimlilik elde edebilirsin...
Merhaba,
VHDL ve Verilog dilleri birer HDL (hardware description language) dir. Sayisal tumdevre tasarimi amacli kullanılmaktadir. Karmasik sayisal devrelerde tranzistorlerin tek tek cizilmesi olanaksiz oldugundan c, pascal gibi dillerin notasyonlarina sahip bu diller gelistirilmistir. En sonunda elde edilen urun esasinda bir tumdevre serimidir. Bir sure sonra baski oncesinden prototip uzerinde testler yapmak icin FPGA (field programmable gate array) tumdevreleri ortaya cikmistir. Bunlari kisaca birbirine bagli tranzistorler olarak kabul edebiliriz. Xilinx gibi yardimci programlar da yazdigimiz koda gore bu trazistorler uzerindeki baglamalari gerceklestirerek bir sayisal devre ortaya cikarmaktadir. FPGA fiyatlari dustukce bunlarin dogrudan kullanimi da artmaktadir.
VHDL ve Verilog dillerini c gibi dillerle karistirmamak gerekmektedir. Yazdigimiz kodun her asamasindan ne gibi devre ortaya cikacagina dikkat etmek ona gore tasarim yapmamiz gerekmektedir. Ornegin:
if(d==1)
c=a;
else
c=b;
gibi bir kod iki girisli bir mux uretmekte, d hattini muxun kontrol girisine baglamakta degerine gore cikisa a veya b yi aktarmaktadir. Burada a,b gibi degiskenler de bizim daha once belirttigimiz veri hatlaridir. Bir ornek daha:
if(a==1||b==1)
c=1;
else
c=0;
Bu da tahmin ettiginiz gibi bir or kapisi cizecektir.
Yukaridaki orneklerde de goruldugu gibi bir yazilim kavrami FPGA de yoktur. Elbette isterseniz bir FPGA uzerinde bir programlanabilir mikroislemci tasarlayarak bu islemciyi programlayabilirsiniz. Tabii bir mikroislemcinin ALUsunu (aritmetic logic unit) bile yapmak cok fazla bilgi, deneyim ve zaman istemektedir. Ayrica boyle bir seyin performansi da kotu olacaktir. Piyasadaki mikroislemci ve mikrodenetleyiciler tranzistor seviyesinde, analog tasarim sartlari goz onune (hatlardaki gecikmeler, anten etkisi ivir zivir) alinarak tasarlanmaktadir. Ama tabii yapabilecekleriniz tamamen sizin hayal gucunuze kalmistir.
Iyi gunler.