Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan FPGA (Field-Programmable Gate Array) ve Verilog programlama dili hakkında kapsamlı bir eğitim dersidir.
- Ders, veri çıkışı ve laboratuvar dersi ile başlayıp, FPGA'nın temel kavramlarını, Verilog'un 1984'te çıktığını ve yapısal-davranışsal tasarım yöntemlerini açıklamaktadır. Daha sonra dijital devrelerde gecikme kavramı, kapıların gecikme süreleri, simülasyon araçları ve modüllerin nasıl birleştirileceği örneklerle anlatılmaktadır.
- Videoda Vivado yazılım aracının yaygın kullanımı, modül tanımlama, giriş-çıkış bağlantıları ve bit vektörleri gibi konular ele alınmaktadır. Ayrıca yapısal ve davranışsal kapı yazımı arasındaki farklar, öncelik sırası ve modüllerin nasıl birleştirileceği detaylı şekilde açıklanmaktadır.
- 00:04FPGA Tasarım Dilleri ve Simülasyon
- Veri 1984'te çıkıyor ve bu derste hem teorik hem de laboratuvar dersi verilecek.
- Tasarım uygulamak için simüle etmek (benzetmek) gerekiyor, bu da benzer bir devre yaratmak anlamına geliyor.
- Sentezlemek, devreleri yazıp FPGA'nın içine koyulacak bir bit dosyasına çevirmek demektir.
- 01:11Tasarım Dilleri ve Araçları
- 1981'de Aselsan ve diğer savunma sanayii kuruluşları bir dili kullanmış, bu dil blok hakim olarak Silikon Vadisi'nde kullanılmış.
- 2002'de çıkan üst düzey diller, daha soyut yazmak ve otomatik kod üretmek için geliştirilmiş.
- Chisel (Berkeley'de çıkarılmış bir dil) ve Bluespec (RISC-V işlemcilerinde kullanılan) gibi üst düzey diller bulunmaktadır.
- 02:33Verilog ve Vivado
- Bu ders kapsamında yaygın olarak Silikon Vadisi'nde kullanılan Verilog dili kullanılacak.
- Verilog ve VHDL arasında sintaks farkı vardır, Verilog biraz daha üst düzey bir haldedir.
- Verilog iki şekilde geliştirilebilir: yapısal ve davranışsal, bu derste her ikisine de örnek verilecek.
- 03:24Vivado Yazılım Aracı
- Vivado, Xilinx'in (dünyanın en büyük FPGA üreticisi) bir yazılım aracıdır.
- Endüstride yaygın olarak kullanılan bir araçtır ve uluslararası bir alanda bilinirlik sağlar.
- Vivado profesyonel sürümleri paralı olmasına rağmen, eğitim amaçlı kullanım için ucuza alınabilir.
- 04:37Modül Tanımlama
- Modül tanımlamasında önce modülün başlangıcı ve adı, ardından giriş listesi ve çıkış listesi yazılır.
- Yapısal tasarımda her kapıyı tek tek yazmak gerekir, örneğin AND kapısı, OR kapısı gibi.
- Giriş ve çıkışlar mutlaka bir bit olmak zorunda değil, örneğin 32 bitlik bir işlemcide girişler ve çıkışlar 32 bitlik olabilir.
- 06:20Bit Sistemi
- Bit sisteminde en anlamsız bit en sağda, en önemli bit ise en soldadır.
- IBM ve Intel'de bu gösterim değişebilir, eskiden IBM'de en önemli bit en soldaydı.
- Verilog'da bit gösterimi yapılırken, örneğin bir vektörün 15. bit ile 8. bit arasındaki 8 biti göstermek için belirli bir gösterim kullanılır.
- 07:19Kapıların Gecikme Süresi
- Kapılarda giriş ve çıkış arasında zaman farkı vardır; giriş yükseldiğinde çıkış düşer ve aralarında bir gecikme süresi bulunur.
- Elektrik sinyalleri bir yerden bir yere giderken gecikme yaşar, bu gecikme kapıların özelliklerine bağlıdır.
- İşlemcilerde "7FO4" (seven from four) denilen bir gecikme süresi vardır; bir kapının çıkışına dört kapı bağlandığında bu gecikme oluşur.
- 09:19Gecikme Hesaplama ve Tasarım
- Tasarım sırasında her kapının gecikmesi belirlenir ve bu gecikme sıcaklık gibi faktörlere göre değişir.
- Simülasyon araçlarında kapılara gecikme değerleri verildiğinde, çıkışların hangi zaman diliminde oluşacağını görebilirsiniz.
- Laboratuvarda girişler sıfırdan bir'e geçildiğinde, çıkışların değerlerinin değişmesi belli bir zaman alır.
- 11:21Yapısal ve Davranışsal Tasarım
- Yapısal tasarımda kapılar tek tek yazılır ve çıkış değerleri belirtilir.
- Davranışsal tasarımda kapıların detayları belirtilmeden, sadece giriş ve çıkış ilişkisi tanımlanır.
- Öncelik sırası önemlidir: önce değil işlemi yapılır, sonra çarpma, mod, toplama, çıkarma ve kaydırma işlemleri yapılır.
- 13:37Modüller ve Hierarşik Tasarım
- Hierarşik tasarımda küçük modüller büyük modüller içinde barındırılabilir.
- Küçük modüller ayrı ayrı tanımlanır ve büyük modüllerde bu küçük modüller birleştirilir.
- Büyük modülde küçük modüllerin giriş ve çıkışları belirtilerek birleştirilir.