Verilog ile FPGA Tasarimina Giris Dersi
What you'll learn
- Verilog Dili ile Donanım Tasarımı yapmak
- Verilog ile Combinational, Sequential devreler yaratarak RTL model tasarlamak, Finite State machine yapılarını öğrenmek
- Xilinx Vivado kullanarak Simülasyonlar yapmak
- Test bench ve Verification Methodology kavramlarını anlamak
- FPGA yapılarını (Register, Flip Flop, gates) verilog dili ile yaratmak ve kullanımını öğrenmek
- Örneklerle Verilog dilini pekiştirmek
Requirements
- Minimum 4GB RAM'e sahip bir bilgisayar
- Vivado kurulumu veya Online olarak (EdaPlayground ) takip edilebilir.
Description
Eğitim Düzeyi: Başlangıç - Orta seviye.
Linkedin Profili için : Fatih İliğ
Çalıştığı Kurum: Tübitak - Sayısal Tasarım (FPGA) Mühendisi
Güncelleme
* 17.12.2021 : Ekstra dosyalar bölümü eklendi. Buraya örnek sorular eklenecektir.
* 17.12.2021 : Ekstra dosyalar bölümüne Örnek 1 eklendi. Burada VHDL ile Verilog kodunun aynı anda bir testbench dosyası içerisinde yer
alabildiği ifade edilmiş ve örnek üzerinde gösterilmiştir.
* 20.12.2021 : Geri bildirimler üzerine bütün slaytlar eklenmiştir.
Kurs Hakkında:
Verilog ile FPGA Tasarimina Giris Dersi kursu, geçmiş tecrübelerim ve verilog notlarımın birleştirilmesi ile oluşturulmuştur. Özellikle savunma sanayisinde, bu alanda eleman ihtiyacının artması ve populer bir alan olması kursu cazip kılmaktadır. Üniversite öğrencilerininde faydalanabileceği bir kaynak sunan Verilog eğitimini almanızı tavsiye ederim. Ülkemizde birçok üniversitede Verilog dili anlatılmaktadır.
Kursta başlangıç düzeyden başlayıp orta düzeye bir akış olması planlanmıştır. Konu anlatırken örnek uygulamalara ağırlık verilip verilog dilinin pekiştirilmesi amaçlanmıştır.
Derslerde Vivadonun 2019.1 versiyonu kullanılmıştır. Fakat versiyon fark etmemektedir. 2017 ile 2021 arasındaki herhangi bir Vivado versiyonu kullanım için uygundur. Ayrıca Edaplayground sitesinden de kodlama yapılabilmektedir. Bilgisayarı ile ilgili RAM sorunu yaşayan arkadaşlar ilgili siteyi kullanıp dersleri takip edebilirler.
Verilog Dili Hakkında:
Verilog dili elektronik sistemleri modellemek için kullanılan bir donanım tanımlama dilidir. Verilog (bazen “Verilog HDL” olarak da adlandırılır) analog, sayısal ve karışık işaretli devrelerin tasarımını, doğrulanmasını ve yürütülmesini bazı düzeylerde desteklemektedir. Verilog dilinin tasarımcıları dilin C programlama diline yakın bir söz dizimine sahip olmasını istemişlerdir. Böylece bu dile yatkın olan mühendislerin dili kolayca kullanmasını amaçlamışlardır. Ülkemizde de C dili birçok üniversitede anlatılmaktadır. Dolayısıyla C diline hakim bir insanın Verilog diline adapte olması uzun sürmeyecektir.
===================================================================================
Verilog'dan sonraki aşama, SystemVerilog...
Avrupa'daki büyük şirketlerde (ARM,Siemens vs.) popüler olmaya başlayan ve birçok ilanda başı çeken bir dil var. SystemVerilog...
SystemVerilog dili VHDL ve Verilog dillerinin bir hibrit versiyonudur diyebiliriz. Bu dil SOC tasarımları desteklerken aynı zamanda tasarım (Design) ve doğrulama (Verification) alanlarında kullanımı ile öne çıkmaktadır. SystemVerilog dilini öğrenmek isteyen birisinin hem Object oriented programlama (C++ gibi) hem de Verilog diline hakim olması gerekir. Bu dil aynı zamanda UVM kütüphanesinin kullanımını class yapıları ile desteklemektedir. Piyasada (özellikle yurt dışı) UVM'in iş imkanlarından bahsetmektense, Linkedinden sadece
UVM yazmanızı ve iş ilanlarına bakmanızı tavsiye ederim.
Sonuç olarak SystemVerilog diline başlayacaklar için önereceğim iki tane
eğitim var.
1. C++ dili için :
İngilizcesi olan arkadaşlar için;
a. Beginning C++ Programming - From Beginner to Beyond (Frank J. Mitropoulos)
Türkçe olmasını tercih eden arkadaşlar için;
b. C++ Temelleri (Burcu Ülke)
2. Verilog Eğitimi için bu eğitim.
Verilog kursu bittikten sonra C++ bilen birisi rahatlıkla systemverilog diline hakim olabilir.
Herkese başarılar dilerim.
Saygılarımla,
Fatih
Who this course is for:
- Lisans ve Lisansüstü mühendislik veya teknoloji fakültesi öğrencileri
- Fpga'i hobi olarak öğrenmek isteyen kişiler
- Savunma sanayii, havacılık, AR-GE ve bilişim firmalarında, donanım tasarımı pozisyonlarına başvurmayı düşünen adaylar
Instructor
Digital Design Engineer/TUBITAK/Ankara
Digital Design Engineer/ELECTRA IC/Ankara
Digital Design Engineer / Turkish Aerospace Industries/Istanbul
System Engineer / Turkish Aerospace Industries/Ankara
Power Electronic Engineer / Günsel / Lefkoşa KKTC
Internship/Aselsan/Ankara
Ankara University - Electrical and Electronics Engineering (Bachelor degree)
• C++ (Experience with Xilinx SDK, HLS and Matlab Simulink) Experience with Microblaze and Zynq Processing Systems. Object Oriented Programming.
• Experience with communication protocols.
• PCIe Knowledge
• Skills in RTL logic design VHDL, Verilog and SystemVerilog
• Platforms: QuestaSim , Vivado , Modelsim, Quartus , Synopsys Sinplify
• Ability to analyze and debug RTL design issues.
• Experience with Xilinx FPGA development tools and IP(3rd third part IP). Using Vivado Design Suite (Simulation, Using Xilinx IP Cores, Implementation, Using Debugging IP cores (Such as ILA, VIO, and JTAG to AXI etc.) Ultrascale + Transceiver IP, MIG IP (DDR4)
• Experience with Altera (Intel) Platform
• Skills in Hierarchical Block Design