SlideShare a Scribd company logo
1 of 47
FPGA
Alanda Programlanabilir Kapı Dizisi
Dersin Amacı: %90 Teorik, %10 Pratik
Ödev içerikleri?
• Araştırma makalesi veya konu hakkında bir
yazının (blog, araştırma, inceleme, karşılaştırma)
sunumu
• Sayısal tasarım dersinde yapılan ödevlerin FPGA
tasarımlarının yapılması.
• 16-bitlik iki sayının çarpımı.
• Aritmetik mantık birimi
• 4-bitlik toplayıcı
• 4-bitlik çarpıcı
• 4-bitlik fark alıcı
• Karşılaştırıcı devresi
• Haberleşme Protokolleri (UART, SPI, I2C,
CanBUS, Ethernet)
2
Ders İçeriği
1. Giriş, Gömülü Sistemler, Entegre Devreler
2. FPGA,Tarihçe,Yapısı,Tasarım Süreci
3. IDE Kurulumu,Tasarım ve Simülasyon Ekranı
4. VHDLTasarımTemelleri
5. VHDL Nesneleri veVeriTipleri
6. Operatörler
7. Kombinasyonel DevreTasarımı
8. Ardışıl DevreTasarımı
9. Dosya ve Hafıza İşlemleri
10.Yapısal DevreTasarımı
11.İleri Konular veTasarımlar
12.Kart Uygulamaları
3
Gömülü Sistemler
• CPU – Merkezi işlem birimi
• GPU – grafik işlem birimi
• ASIC – Uygulamaya özel entegre devre
• FPGA – Alanda programlanabilir kapı dizisi
• MCU - Mikro denetleyici
Bir makinenin kontrolünü sağlamak için
donanım ve yazılımdan oluşan
sistemdir.
4
Gömülü Sistemler – Silicon Alternatives
5
FPGA nedir?
• Üzerinde hard-işlemci bulundurmayan ama işlem yapma yeteneği olan bir tek aygıttır.
• Sayısal entegre tasarımı için tek yoldur.
• Yapılan tasarımlar sonradan değiştirilebilir bir nitelik taşır.
• Seri üretim için uygun değildir.
• Donanım tasarımı yapılabilen bir aygıttır.
• İşlemler donanım üzerinde gerçekleştiğinden inanılmaz hızlıdır.
• Varsayılan olarak paralel işlem yapabilen tek teknolojidir.
6
FPGA – Field Programmed Gate Array
• FPGA, istenilen tasarıma göre sahada çalışabilecek şekilde programlanmış
entegre devredir.
• Bu demek oluyor ki; FPGA’lar yerine göre bir mikroişlemci gibi, bir şifreleme
ünitesi gibi veya bir grafik kartı gibi işlem görebilir.
• Hatta her üçünün aynı anda çalışabileceği bir sistemin parçası da olabilir.
7
FPGA – Field Programmed Gate Array
8
Gömülü Sistemler – Silicon Alternatives
9
ASIC - Application Spesific Integrated Circuit
• ASIC (Application Specific Integrated Curcuits), özel uygulamalar için geliştirilen
tümleşik bir devredir.
• FPGA gibi sayısal devrelerin yanında istenirse analog devreler ve alıcı-verici
devrelerde içerebilmektedir.
• Güç tüketimi açısından daha az enerji harcayıp daha az yer kaplamakta ve daha
hızlı işlem yapabilmektedir.
• Ancak tasarım maliyetleri açısından daha avantajlı hale gelebilmeleri için aynıASIC
devreden binlerce veya on binlerce basılmalıdır.
10
ASIC - Application Spesific Integrated Circuit
Mobil İşlemci iPhone 4 MobilTelefon
11
ASIC - Application Spesific Integrated Circuit
ElektronikTansiyon Aleti Medikal cihaz kontrol entegresi
12
FPGA ve ASIC
Karşılaştırması
NRE (Non-recurring engineering),
Yinelenmeyen mühendislik, yeni bir
ürün veya ürün geliştirmeyi araştırmak,
tasarlamak, geliştirmek ve test etmek
için bir kerelik maliyet anlamına gelir.
Yeni bir ürün için bütçeleme yapılırken
NRE, yeni bir ürünün karlı olup
olmayacağını analiz etmek için
düşünülmelidir.
13
FPGA ve ASIC Karşılaştırması
FPGA
• Yeniden düzenlenebilir, değiştirilebilir bir
devredir.
ASIC
• Tasarımı kalıcıdır ve değiştirilemez. Silikona
dönüştürüldükten sonra değiştirilmesi
imkansızdır.
14
FPGA ve ASIC Karşılaştırması
FPGA
• Donanım tanımlama dilleri olanVerilog veya
VHDL ile tasarlanır.
ASIC
• Tıpkı FPGA’larda olduğu gibi, donanım
tanımlama dilleri olanVerilog veyaVHDL ile
tasarlandıktan sonra silikona aktarılarak
entegreye dönüştürülür.
15
FPGA ve ASIC Karşılaştırması
FPGA
• Seri üretim için uygun değildir.
ASIC
• Seri üretim için son derece uygundur.
16
FPGA ve ASIC Karşılaştırması
FPGA
• Enerji tüketimi ASIC’lere nazaran yüksektir.
ASIC
• Enerji tüketimi FPGA’lara nazaran çok
düşüktür.
17
FPGA ve ASIC Karşılaştırması
FPGA
• FPGA’lar ile analog tasarımlar aynı yerde
olamaz. Her ne kadar ADC, PLL gibi bazı özel
devreler olsa da alıcı-verici gibi tam analog
devreler FPGA’larda bulunmaz.
ASIC
• ASIC'ler mikroişlemci çekirdekleriyle birlikte
aynı kalıpta örneğin analog alıcı-verici gibi tam
analog devrelere sahip olabilir. Bu, FPGA'ların
sahip olmadığı avantajdır.
18
FPGA ve ASIC Karşılaştırması
FPGA
• FPGA'lar, daha iyi algoritma veya daha iyi bir
tasarım kullanmak için mevcut tasarımın
yükseltilmesi gerekebilecek Radarlar, Cep
Telefonu Baz İstasyonları vb. Uygulamalar için
son derece uygundur.
ASIC
• ASIC'ler, tasarımın sık sık veya arada bir kez
yükseltilmesi gerekebilecek uygulama alanları
için kesinlikle uygun değildir.
19
FPGA ve ASIC Karşılaştırması
FPGA
• Bir tasarımın prototiplenmesi ve doğrulanması
için tercih edilir.
• Pek çok ASIC, FPGA'nın kendileri kullanılarak
prototip edilmiştir!
• Başlıca işlemci üreticileri kendi çipsetlerini
(SoC'ler) doğrulamak için FPGA'ları kullanmakta.
• FPGA prototiplemesi ile tasarımın doğru
çalıştığından emin olmak daha kolaydır.
ASIC
• Tamamen doğrulanmadıkça, ASIC'leri
kullanarak bir tasarımın prototiplenmesi
önerilmez.
• Silikon çip oluşturulduğunda, bir tasarım
hatasını düzeltmek için neredeyse hiçbir şey
yapılamaz (istisnalar uygulanır).
20
FPGA ve ASIC Karşılaştırması
FPGA
• FPGA tasarımcıları genellikle tasarım dışında ki
herhangi bir şeyle ilgilenmezler.
• Her şey, tasarımın RTL kodunda açıklandığı
şekilde çalıştığından ve zamanlamayı
karşıladığından emin olan sentez ve
yönlendirme araçlarıyla yapılır.
• Böylece, tasarımcılar RTL tasarımını yapmaya
odaklanabilirler.
ASIC
• ASIC tasarımcılarının RTL'den başlayarak
resetleme, saat darbesi, fiziksel yerleşim ve
yönlendirme, işlem düğümü, üretim
kısıtlamaları (DFM), test kısıtlamaları (DFT) vb.
her şeye özen göstermeleri gerekir.
• Genel olarak, söz konusu alanın her biri farklı
uzmanlar tarafından ele alınmaktadır.
21
FPGA ile ASIC
karşılaştırması
22
Gömülü Sistemler – Silicon Alternatives
23
FPGA ve CPU Karşılaştırması
FPGA
• Paralel işlem yapar.
• Donanımsal olarak uygulanır.
• Yüksek hızda çalışarak gerçek zamanlı
uygulamaların vazgeçilmezidir.
• Çevresel arabirimlere erişim için ayrıca tasarım
yapılmalıdır.
• Bellek alanı çok sınırlı ve dağınıktır.
CPU
• Ardışıl işlem yapar.
• Yazılımsal olarak uygulanır.
• Çalışması değişkendir, hızlı çalışabilmesinin
önünde çevresel bağımlılıklar mevcuttur.
• Pek çok çevresel arabirime kolaylıkla
ulaşılabilir.
• Bellek alanı çok geniştir.
24
FPGA ve CPU Karşılaştırması
FPGA
• Belli işlemleri doğrudan gerçekleştiremez. (Ör:
Floating Point)
• Tasarım dili (VHDL) karmaşıktır.
• Test ve debug olayı daha zordur. Her bir saat
darbesi test edilmelidir.
• Tasarım ve test işlemi için arabirim yazılımına
ihtiyaç duyar.
CPU
• İşlemlerde çok yönlülüğe sahiptir, bütün veri
tiplerini doğrudan tanıyabilir.
• C ile kolaylıkla programlanabilir.
• Test ve debug için çok çeşitli araçlara
sahiptir.
• Programlama ve test işlemi için herhangi bir
yazılım arabirimine ihtiyaç yoktur.
25
FPGA, GPU ve CPU
Karşılaştırması
Kaynak: Araştırma Makalesi
(Pulse-coupled neural network
performance for real-time identification
of vegetation during forced landing,
Warne ve arkadaşları, 2014)
İHA’ların herhangi bir sıkıntıda iniş
işlemini gerçekleştirirken bitki
örtüsünün gerçek zamanlı tanımlanarak
güvenli iniş gerçekleştirmesi
26
FPGA ve CPU
Karşılaştırması
Araştırma Makalesi
Hızlı Fourer Dönüşümünde CPU ve
FPGA’ların karşılaştırılması
27
DSP, FPGA ve ASIC
28
CPU, GPU, FPGA ve ASIC Karşılaştırması
29
FPGA ve Mikrodenetleyici
• Mikro denetleyici tüketici elektroniğinde yaygın bir şekilde kullanılır. O nedenle de piyasada son derece
baskındır.
• Mikro denetleyici seri üretimler için uygundur.
• FPGA ise özel amaçlı entegrelerin (ASIC) tasarımında kullanılır. O nedenle özel tasarımlarda vazgeçilmez bir
unsurdur.
• Örneğin 1 milyon adet üretilen bir oyuncakta mikro denetleyici kullanmak yerine ASIC kullanmak maliyeti
ziyadesiyle düşürecektir.
• Hatta ARM mühendislerinin mikroişlemcilerini tasarlamak için FPGA kullandıkları bilinen bir gerçektir.
• FPGA ile her türlü dijital işlemi gerçekleştirmek mümkündür, bir işlemci tasarlamak da buna dahil elbette.
• Mikro denetleyicilerde ise yapabilecekleriniz bu aygıtın yapısına bağlıdır.
30
Entegre Çeşitleri
Büyüklüğünü kullanılan mantık kapılarının sayıları belirler.
31
FPGA ile neler yapabiliriz?
• Sayısal entegrelerin sınıflandırılması:
• SSI (Small Scale Integration) – Küçük ölçekli entegre
• MSI (Middle Scale Integration) – Orta ölçekli entegre
• LSI (Large Scale Integration) – Büyük Ölçekli Entegre
• VLSI (Very Large SI) – Çok Büyük Ölçekli Entegre
Sayısal Entegre Tasarımı (ASIC)
gerçekleştirilerek lisanslama işlemi
yapılmaktadır.
32
SSI (Small Scale
Integration) – Küçük
Ölçekli Entegre
1 – 20 arası sayıda mantık kapısı
barındıran entegredir.
33
MSI (Middle Scale
Integration) – Orta Ölçekli
Entegre
20 – 100 arası sayıda mantık kapısı
barındıran entegredir.
34
74LS90 Sayıcı Entegre Şeması
LSI (Large Scale
Integration) – Büyük
Ölçekli Entegre
100 – 5000 arası sayıda mantık kapısı
barındıran entegredir.
35
VLSI (Very Large Scale
Integration) – Çok Büyük
Ölçekli Entegre
5000 – 10000 arası sayıda mantık kapısı
barındıran entegredir.
36
Entegre Üretim Aşamaları
Tasarım işleminden sonra da bazı aşamalar gerçekleştirilmelidir.
37
Entegre Üretimi
• Entegre üretiminde CMOS (FET) veTTL (BJT)
temelli teknolojiler kullanılır.
• SSI ve MSI ölçekli entegrelerTTL olarak
üretilirken; daha büyük ölçekli entegrelerin
üretiminde CMOS tercih edilir.
• Çünkü CMOS’da birim silisyum alana daha
fazla transistör yerleştirilmektedir.
• Ayrıca güç tüketimi açısından dolayıda CMOS
entegreler tercih edilmektedir.
38
Entegre Üretimi
• Çok fazla sayıda devre elemanının entegreye
monte edilmesi fotolitografi yöntemiyle
gerçekleşmektedir.
• Günümüzde devre elemanları 28 nm’ye kadar
küçültülerek silikon tabakaya
yerleştirilebilmektedir.
• Devre elemanlarının bağlantısı alüminyum ile
yapılmaktadır.
39
Fotolitografi Aşamaları
1. Litografi
2. Gravür (Oyma Baskı)
3. Tortu Giderme
4. Oksidasyon
5. İyonYerleştirme
6. Difüzyon
40
1) Litografi
• Silikon devre levhası oluşum aşaması
olarak da bilinir.
• Lazer yardımıyla tabakalara entegrenin
baskı devresi işlenir.
• Bu sayede maskeleme ve baskılama
işlemine hazır bir yüzey elde edilmiş olur.
41
2) Gravür (Oyma Baskı)
Seçici bir şekilde devre levhasında
istenmeyen malzemelerin çıkartılma
aşamasıdır.
42
EPROM mikro çipinin yakından görünümü
3)Tortu Giderme
• Fiziksel veya kimyasal yollarla levhanın
temizlenmesi işlemidir.
• Temizlik ve yüzey oluşturma aşamalarının
ilkidir.
43
4) Oksidasyon
Oksijen veya su kullanılarak silikon levhanın
tabakalarının silikon dioksit malzemesine
dönüştürülmesi işlemidir.
44
5) İyonYerleştirme
Tabakanın son şeklinin verildiği bu aşamada
iyonize edilmiş partiküller, elektrik alan
yardımıyla tabakaya yerleştirilir.
45
6) Difüzyon
İyon bombardımanı sonrası oluşabilecek olan
çeşitli istenmeyen partikülleri tabakadan
temizle işlemidir.
46
Bölüm Sonu
47

More Related Content

What's hot

Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGAvelamakuri
 
ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI Jayant Suthar
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate arrayNeha Agarwal
 
Intellectual property in vlsi
Intellectual property in vlsiIntellectual property in vlsi
Intellectual property in vlsiSaransh Choudhary
 
Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Olivier Coudert
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training CoursePaul Laskowski
 
Cadence GenusTutorial------------ .pdf.pdf
Cadence GenusTutorial------------ .pdf.pdfCadence GenusTutorial------------ .pdf.pdf
Cadence GenusTutorial------------ .pdf.pdfSamHoney6
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An OverviewSanjiv Malik
 
FPGA in outer space
FPGA in outer spaceFPGA in outer space
FPGA in outer spaceAgradeepSett
 
Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Deepak Shankar
 
01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swethaswethamg18
 

What's hot (20)

ASIC VS FPGA.ppt
ASIC VS FPGA.pptASIC VS FPGA.ppt
ASIC VS FPGA.ppt
 
Introduction to FPGAs
Introduction to FPGAsIntroduction to FPGAs
Introduction to FPGAs
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 
Asic design flow
Asic design flowAsic design flow
Asic design flow
 
Fpga
FpgaFpga
Fpga
 
ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate array
 
Intellectual property in vlsi
Intellectual property in vlsiIntellectual property in vlsi
Intellectual property in vlsi
 
Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training Course
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
Cadence GenusTutorial------------ .pdf.pdf
Cadence GenusTutorial------------ .pdf.pdfCadence GenusTutorial------------ .pdf.pdf
Cadence GenusTutorial------------ .pdf.pdf
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An Overview
 
Chapter1.slides
Chapter1.slidesChapter1.slides
Chapter1.slides
 
Crosstalk.pdf
Crosstalk.pdfCrosstalk.pdf
Crosstalk.pdf
 
FPGA in outer space
FPGA in outer spaceFPGA in outer space
FPGA in outer space
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAs
 
Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power
 
01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha
 
Applications of ATPG
Applications of ATPGApplications of ATPG
Applications of ATPG
 

Similar to FPGA ve VHDL Ders - 1

Bilgisayar Mimarisi 01, Feza BUZLUCA
Bilgisayar Mimarisi 01, Feza BUZLUCABilgisayar Mimarisi 01, Feza BUZLUCA
Bilgisayar Mimarisi 01, Feza BUZLUCAFeza BUZLUCA
 
Java, android ve arduino ile gömülü programlama
Java, android ve arduino ile gömülü programlamaJava, android ve arduino ile gömülü programlama
Java, android ve arduino ile gömülü programlamaborasayiner
 
FPGA MİMARİSİ ve TARİHİ GELİŞİMİ
FPGA MİMARİSİ ve TARİHİ GELİŞİMİFPGA MİMARİSİ ve TARİHİ GELİŞİMİ
FPGA MİMARİSİ ve TARİHİ GELİŞİMİAliMETN
 
Snc moduler sunucu
Snc moduler sunucuSnc moduler sunucu
Snc moduler sunucutarkansnc
 
Asteriks pbx hakkında
Asteriks pbx hakkındaAsteriks pbx hakkında
Asteriks pbx hakkındaSoner ALAT
 
Sta4cad proje
Sta4cad projeSta4cad proje
Sta4cad projesersld62
 
ARYA-IT - Products Catalog 2018
ARYA-IT - Products Catalog 2018ARYA-IT - Products Catalog 2018
ARYA-IT - Products Catalog 2018Mustafa Demiröz
 
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek Hususlar
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek HususlarCeph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek Hususlar
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek HususlarHuseyin Cotuk
 
Ibm storage sales
Ibm storage salesIbm storage sales
Ibm storage salesHande Hnd
 
Ibm storage presales presentation
Ibm storage presales presentationIbm storage presales presentation
Ibm storage presales presentationHande Hnd
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy TalksMetin Uslu
 
Plc tasarimi
Plc tasarimiPlc tasarimi
Plc tasarimisersld91
 
Sta4cad ornek
Sta4cad ornekSta4cad ornek
Sta4cad orneksersld62
 
Sta4cad odevi
Sta4cad odeviSta4cad odevi
Sta4cad odevisersld62
 
Sta4cad odev-sitesi
Sta4cad odev-sitesiSta4cad odev-sitesi
Sta4cad odev-sitesisersld62
 

Similar to FPGA ve VHDL Ders - 1 (20)

Video Birlestirme
Video BirlestirmeVideo Birlestirme
Video Birlestirme
 
Bilgisayar Mimarisi 01, Feza BUZLUCA
Bilgisayar Mimarisi 01, Feza BUZLUCABilgisayar Mimarisi 01, Feza BUZLUCA
Bilgisayar Mimarisi 01, Feza BUZLUCA
 
Java, android ve arduino ile gömülü programlama
Java, android ve arduino ile gömülü programlamaJava, android ve arduino ile gömülü programlama
Java, android ve arduino ile gömülü programlama
 
FPGA MİMARİSİ ve TARİHİ GELİŞİMİ
FPGA MİMARİSİ ve TARİHİ GELİŞİMİFPGA MİMARİSİ ve TARİHİ GELİŞİMİ
FPGA MİMARİSİ ve TARİHİ GELİŞİMİ
 
Snc moduler sunucu
Snc moduler sunucuSnc moduler sunucu
Snc moduler sunucu
 
Asteriks pbx hakkında
Asteriks pbx hakkındaAsteriks pbx hakkında
Asteriks pbx hakkında
 
Sta4cad proje
Sta4cad projeSta4cad proje
Sta4cad proje
 
ARYA-IT - Products Catalog 2018
ARYA-IT - Products Catalog 2018ARYA-IT - Products Catalog 2018
ARYA-IT - Products Catalog 2018
 
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek Hususlar
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek HususlarCeph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek Hususlar
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek Hususlar
 
Ibm storage sales
Ibm storage salesIbm storage sales
Ibm storage sales
 
Ibm storage presales presentation
Ibm storage presales presentationIbm storage presales presentation
Ibm storage presales presentation
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy Talks
 
Erlang web-frameworks
Erlang web-frameworksErlang web-frameworks
Erlang web-frameworks
 
Plc tasarimi
Plc tasarimiPlc tasarimi
Plc tasarimi
 
Cizgi Tagem 10 Mart 2010
Cizgi Tagem 10 Mart 2010Cizgi Tagem 10 Mart 2010
Cizgi Tagem 10 Mart 2010
 
Sta4cad ornek
Sta4cad ornekSta4cad ornek
Sta4cad ornek
 
İşlemciler
İşlemcilerİşlemciler
İşlemciler
 
Sta4cad odevi
Sta4cad odeviSta4cad odevi
Sta4cad odevi
 
Sta4cad odev-sitesi
Sta4cad odev-sitesiSta4cad odev-sitesi
Sta4cad odev-sitesi
 
Inc 15 Scada Cyber Security
Inc 15 Scada Cyber SecurityInc 15 Scada Cyber Security
Inc 15 Scada Cyber Security
 

FPGA ve VHDL Ders - 1

  • 1. FPGA Alanda Programlanabilir Kapı Dizisi Dersin Amacı: %90 Teorik, %10 Pratik
  • 2. Ödev içerikleri? • Araştırma makalesi veya konu hakkında bir yazının (blog, araştırma, inceleme, karşılaştırma) sunumu • Sayısal tasarım dersinde yapılan ödevlerin FPGA tasarımlarının yapılması. • 16-bitlik iki sayının çarpımı. • Aritmetik mantık birimi • 4-bitlik toplayıcı • 4-bitlik çarpıcı • 4-bitlik fark alıcı • Karşılaştırıcı devresi • Haberleşme Protokolleri (UART, SPI, I2C, CanBUS, Ethernet) 2
  • 3. Ders İçeriği 1. Giriş, Gömülü Sistemler, Entegre Devreler 2. FPGA,Tarihçe,Yapısı,Tasarım Süreci 3. IDE Kurulumu,Tasarım ve Simülasyon Ekranı 4. VHDLTasarımTemelleri 5. VHDL Nesneleri veVeriTipleri 6. Operatörler 7. Kombinasyonel DevreTasarımı 8. Ardışıl DevreTasarımı 9. Dosya ve Hafıza İşlemleri 10.Yapısal DevreTasarımı 11.İleri Konular veTasarımlar 12.Kart Uygulamaları 3
  • 4. Gömülü Sistemler • CPU – Merkezi işlem birimi • GPU – grafik işlem birimi • ASIC – Uygulamaya özel entegre devre • FPGA – Alanda programlanabilir kapı dizisi • MCU - Mikro denetleyici Bir makinenin kontrolünü sağlamak için donanım ve yazılımdan oluşan sistemdir. 4
  • 5. Gömülü Sistemler – Silicon Alternatives 5
  • 6. FPGA nedir? • Üzerinde hard-işlemci bulundurmayan ama işlem yapma yeteneği olan bir tek aygıttır. • Sayısal entegre tasarımı için tek yoldur. • Yapılan tasarımlar sonradan değiştirilebilir bir nitelik taşır. • Seri üretim için uygun değildir. • Donanım tasarımı yapılabilen bir aygıttır. • İşlemler donanım üzerinde gerçekleştiğinden inanılmaz hızlıdır. • Varsayılan olarak paralel işlem yapabilen tek teknolojidir. 6
  • 7. FPGA – Field Programmed Gate Array • FPGA, istenilen tasarıma göre sahada çalışabilecek şekilde programlanmış entegre devredir. • Bu demek oluyor ki; FPGA’lar yerine göre bir mikroişlemci gibi, bir şifreleme ünitesi gibi veya bir grafik kartı gibi işlem görebilir. • Hatta her üçünün aynı anda çalışabileceği bir sistemin parçası da olabilir. 7
  • 8. FPGA – Field Programmed Gate Array 8
  • 9. Gömülü Sistemler – Silicon Alternatives 9
  • 10. ASIC - Application Spesific Integrated Circuit • ASIC (Application Specific Integrated Curcuits), özel uygulamalar için geliştirilen tümleşik bir devredir. • FPGA gibi sayısal devrelerin yanında istenirse analog devreler ve alıcı-verici devrelerde içerebilmektedir. • Güç tüketimi açısından daha az enerji harcayıp daha az yer kaplamakta ve daha hızlı işlem yapabilmektedir. • Ancak tasarım maliyetleri açısından daha avantajlı hale gelebilmeleri için aynıASIC devreden binlerce veya on binlerce basılmalıdır. 10
  • 11. ASIC - Application Spesific Integrated Circuit Mobil İşlemci iPhone 4 MobilTelefon 11
  • 12. ASIC - Application Spesific Integrated Circuit ElektronikTansiyon Aleti Medikal cihaz kontrol entegresi 12
  • 13. FPGA ve ASIC Karşılaştırması NRE (Non-recurring engineering), Yinelenmeyen mühendislik, yeni bir ürün veya ürün geliştirmeyi araştırmak, tasarlamak, geliştirmek ve test etmek için bir kerelik maliyet anlamına gelir. Yeni bir ürün için bütçeleme yapılırken NRE, yeni bir ürünün karlı olup olmayacağını analiz etmek için düşünülmelidir. 13
  • 14. FPGA ve ASIC Karşılaştırması FPGA • Yeniden düzenlenebilir, değiştirilebilir bir devredir. ASIC • Tasarımı kalıcıdır ve değiştirilemez. Silikona dönüştürüldükten sonra değiştirilmesi imkansızdır. 14
  • 15. FPGA ve ASIC Karşılaştırması FPGA • Donanım tanımlama dilleri olanVerilog veya VHDL ile tasarlanır. ASIC • Tıpkı FPGA’larda olduğu gibi, donanım tanımlama dilleri olanVerilog veyaVHDL ile tasarlandıktan sonra silikona aktarılarak entegreye dönüştürülür. 15
  • 16. FPGA ve ASIC Karşılaştırması FPGA • Seri üretim için uygun değildir. ASIC • Seri üretim için son derece uygundur. 16
  • 17. FPGA ve ASIC Karşılaştırması FPGA • Enerji tüketimi ASIC’lere nazaran yüksektir. ASIC • Enerji tüketimi FPGA’lara nazaran çok düşüktür. 17
  • 18. FPGA ve ASIC Karşılaştırması FPGA • FPGA’lar ile analog tasarımlar aynı yerde olamaz. Her ne kadar ADC, PLL gibi bazı özel devreler olsa da alıcı-verici gibi tam analog devreler FPGA’larda bulunmaz. ASIC • ASIC'ler mikroişlemci çekirdekleriyle birlikte aynı kalıpta örneğin analog alıcı-verici gibi tam analog devrelere sahip olabilir. Bu, FPGA'ların sahip olmadığı avantajdır. 18
  • 19. FPGA ve ASIC Karşılaştırması FPGA • FPGA'lar, daha iyi algoritma veya daha iyi bir tasarım kullanmak için mevcut tasarımın yükseltilmesi gerekebilecek Radarlar, Cep Telefonu Baz İstasyonları vb. Uygulamalar için son derece uygundur. ASIC • ASIC'ler, tasarımın sık sık veya arada bir kez yükseltilmesi gerekebilecek uygulama alanları için kesinlikle uygun değildir. 19
  • 20. FPGA ve ASIC Karşılaştırması FPGA • Bir tasarımın prototiplenmesi ve doğrulanması için tercih edilir. • Pek çok ASIC, FPGA'nın kendileri kullanılarak prototip edilmiştir! • Başlıca işlemci üreticileri kendi çipsetlerini (SoC'ler) doğrulamak için FPGA'ları kullanmakta. • FPGA prototiplemesi ile tasarımın doğru çalıştığından emin olmak daha kolaydır. ASIC • Tamamen doğrulanmadıkça, ASIC'leri kullanarak bir tasarımın prototiplenmesi önerilmez. • Silikon çip oluşturulduğunda, bir tasarım hatasını düzeltmek için neredeyse hiçbir şey yapılamaz (istisnalar uygulanır). 20
  • 21. FPGA ve ASIC Karşılaştırması FPGA • FPGA tasarımcıları genellikle tasarım dışında ki herhangi bir şeyle ilgilenmezler. • Her şey, tasarımın RTL kodunda açıklandığı şekilde çalıştığından ve zamanlamayı karşıladığından emin olan sentez ve yönlendirme araçlarıyla yapılır. • Böylece, tasarımcılar RTL tasarımını yapmaya odaklanabilirler. ASIC • ASIC tasarımcılarının RTL'den başlayarak resetleme, saat darbesi, fiziksel yerleşim ve yönlendirme, işlem düğümü, üretim kısıtlamaları (DFM), test kısıtlamaları (DFT) vb. her şeye özen göstermeleri gerekir. • Genel olarak, söz konusu alanın her biri farklı uzmanlar tarafından ele alınmaktadır. 21
  • 23. Gömülü Sistemler – Silicon Alternatives 23
  • 24. FPGA ve CPU Karşılaştırması FPGA • Paralel işlem yapar. • Donanımsal olarak uygulanır. • Yüksek hızda çalışarak gerçek zamanlı uygulamaların vazgeçilmezidir. • Çevresel arabirimlere erişim için ayrıca tasarım yapılmalıdır. • Bellek alanı çok sınırlı ve dağınıktır. CPU • Ardışıl işlem yapar. • Yazılımsal olarak uygulanır. • Çalışması değişkendir, hızlı çalışabilmesinin önünde çevresel bağımlılıklar mevcuttur. • Pek çok çevresel arabirime kolaylıkla ulaşılabilir. • Bellek alanı çok geniştir. 24
  • 25. FPGA ve CPU Karşılaştırması FPGA • Belli işlemleri doğrudan gerçekleştiremez. (Ör: Floating Point) • Tasarım dili (VHDL) karmaşıktır. • Test ve debug olayı daha zordur. Her bir saat darbesi test edilmelidir. • Tasarım ve test işlemi için arabirim yazılımına ihtiyaç duyar. CPU • İşlemlerde çok yönlülüğe sahiptir, bütün veri tiplerini doğrudan tanıyabilir. • C ile kolaylıkla programlanabilir. • Test ve debug için çok çeşitli araçlara sahiptir. • Programlama ve test işlemi için herhangi bir yazılım arabirimine ihtiyaç yoktur. 25
  • 26. FPGA, GPU ve CPU Karşılaştırması Kaynak: Araştırma Makalesi (Pulse-coupled neural network performance for real-time identification of vegetation during forced landing, Warne ve arkadaşları, 2014) İHA’ların herhangi bir sıkıntıda iniş işlemini gerçekleştirirken bitki örtüsünün gerçek zamanlı tanımlanarak güvenli iniş gerçekleştirmesi 26
  • 27. FPGA ve CPU Karşılaştırması Araştırma Makalesi Hızlı Fourer Dönüşümünde CPU ve FPGA’ların karşılaştırılması 27
  • 28. DSP, FPGA ve ASIC 28
  • 29. CPU, GPU, FPGA ve ASIC Karşılaştırması 29
  • 30. FPGA ve Mikrodenetleyici • Mikro denetleyici tüketici elektroniğinde yaygın bir şekilde kullanılır. O nedenle de piyasada son derece baskındır. • Mikro denetleyici seri üretimler için uygundur. • FPGA ise özel amaçlı entegrelerin (ASIC) tasarımında kullanılır. O nedenle özel tasarımlarda vazgeçilmez bir unsurdur. • Örneğin 1 milyon adet üretilen bir oyuncakta mikro denetleyici kullanmak yerine ASIC kullanmak maliyeti ziyadesiyle düşürecektir. • Hatta ARM mühendislerinin mikroişlemcilerini tasarlamak için FPGA kullandıkları bilinen bir gerçektir. • FPGA ile her türlü dijital işlemi gerçekleştirmek mümkündür, bir işlemci tasarlamak da buna dahil elbette. • Mikro denetleyicilerde ise yapabilecekleriniz bu aygıtın yapısına bağlıdır. 30
  • 31. Entegre Çeşitleri Büyüklüğünü kullanılan mantık kapılarının sayıları belirler. 31
  • 32. FPGA ile neler yapabiliriz? • Sayısal entegrelerin sınıflandırılması: • SSI (Small Scale Integration) – Küçük ölçekli entegre • MSI (Middle Scale Integration) – Orta ölçekli entegre • LSI (Large Scale Integration) – Büyük Ölçekli Entegre • VLSI (Very Large SI) – Çok Büyük Ölçekli Entegre Sayısal Entegre Tasarımı (ASIC) gerçekleştirilerek lisanslama işlemi yapılmaktadır. 32
  • 33. SSI (Small Scale Integration) – Küçük Ölçekli Entegre 1 – 20 arası sayıda mantık kapısı barındıran entegredir. 33
  • 34. MSI (Middle Scale Integration) – Orta Ölçekli Entegre 20 – 100 arası sayıda mantık kapısı barındıran entegredir. 34 74LS90 Sayıcı Entegre Şeması
  • 35. LSI (Large Scale Integration) – Büyük Ölçekli Entegre 100 – 5000 arası sayıda mantık kapısı barındıran entegredir. 35
  • 36. VLSI (Very Large Scale Integration) – Çok Büyük Ölçekli Entegre 5000 – 10000 arası sayıda mantık kapısı barındıran entegredir. 36
  • 37. Entegre Üretim Aşamaları Tasarım işleminden sonra da bazı aşamalar gerçekleştirilmelidir. 37
  • 38. Entegre Üretimi • Entegre üretiminde CMOS (FET) veTTL (BJT) temelli teknolojiler kullanılır. • SSI ve MSI ölçekli entegrelerTTL olarak üretilirken; daha büyük ölçekli entegrelerin üretiminde CMOS tercih edilir. • Çünkü CMOS’da birim silisyum alana daha fazla transistör yerleştirilmektedir. • Ayrıca güç tüketimi açısından dolayıda CMOS entegreler tercih edilmektedir. 38
  • 39. Entegre Üretimi • Çok fazla sayıda devre elemanının entegreye monte edilmesi fotolitografi yöntemiyle gerçekleşmektedir. • Günümüzde devre elemanları 28 nm’ye kadar küçültülerek silikon tabakaya yerleştirilebilmektedir. • Devre elemanlarının bağlantısı alüminyum ile yapılmaktadır. 39
  • 40. Fotolitografi Aşamaları 1. Litografi 2. Gravür (Oyma Baskı) 3. Tortu Giderme 4. Oksidasyon 5. İyonYerleştirme 6. Difüzyon 40
  • 41. 1) Litografi • Silikon devre levhası oluşum aşaması olarak da bilinir. • Lazer yardımıyla tabakalara entegrenin baskı devresi işlenir. • Bu sayede maskeleme ve baskılama işlemine hazır bir yüzey elde edilmiş olur. 41
  • 42. 2) Gravür (Oyma Baskı) Seçici bir şekilde devre levhasında istenmeyen malzemelerin çıkartılma aşamasıdır. 42 EPROM mikro çipinin yakından görünümü
  • 43. 3)Tortu Giderme • Fiziksel veya kimyasal yollarla levhanın temizlenmesi işlemidir. • Temizlik ve yüzey oluşturma aşamalarının ilkidir. 43
  • 44. 4) Oksidasyon Oksijen veya su kullanılarak silikon levhanın tabakalarının silikon dioksit malzemesine dönüştürülmesi işlemidir. 44
  • 45. 5) İyonYerleştirme Tabakanın son şeklinin verildiği bu aşamada iyonize edilmiş partiküller, elektrik alan yardımıyla tabakaya yerleştirilir. 45
  • 46. 6) Difüzyon İyon bombardımanı sonrası oluşabilecek olan çeşitli istenmeyen partikülleri tabakadan temizle işlemidir. 46