Ödev içerikleri?
• Araştırmamakalesi 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
FPGA nedir?
• Üzerindehard-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 – FieldProgrammed 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
ASIC - ApplicationSpesific 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
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 ASICKarşı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 ASICKarşı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 ASICKarşılaştırması
FPGA
• Seri üretim için uygun değildir.
ASIC
• Seri üretim için son derece uygundur.
16
17.
FPGA ve ASICKarşı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 ASICKarşı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 ASICKarşı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 ASICKarşı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 ASICKarşı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 ve CPUKarşı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 CPUKarşı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 veCPU
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 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 Ü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
• Çokfazla 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
1) Litografi
• Silikondevre 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 (OymaBaskı)
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
• Fizikselveya kimyasal yollarla levhanın
temizlenmesi işlemidir.
• Temizlik ve yüzey oluşturma aşamalarının
ilkidir.
43