FPGA ile Gömülü Sistem Tasarımına Giriş



Benzer belgeler
FPGA ile Gömülü Sistem Tasarımına Giriş Bilgisayar Bil. Müh. Selçuk BAŞAK

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula

Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK

FGPA ile Gömülü Sistem Tasarımına Giriş Introduction to Embeded System Design Using FPGA

VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI. Yard. Doç. Dr. Özdemir ÇETİN

Digital Design HDL. Dr. Cahit Karakuş, February-2018

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber

T.C. RC SERVO MOTOR KONTROLÜ

T.C. YILDIZ TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ FPGA TABANLI SENTEZLENEBİLİR İŞLEMCİ TASARIMI SELÇUK BAŞAK

VHDL. Ece Olcay Güneş & S. Berna Örs

Chapter1: Introduction. Ders 1: Giriş. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

VHDL Programlama Dili ve Sayısal Elektronik Devrelerin FPGA Tabanlı Uygulaması

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ŞİFRELEME İŞLEMLERİ İÇİN FPGA İLE YÜKSEK KAPASİTELİ ÇARPMA DEVRESİ TASARIMI.

ELM320- ENTEGRE DEVRE TASARIMI

HDL Dilleri VHDL. Son olarak, spesifik ASIC teknolojisi için devrenin yerleşimi netlist tanımlamalarından gelen diğer araçlarla oluşturulmuş olunur.

FPGA Mimarisi. Bilgisayar Mimarisinde Yeni Yaklaşımlar. Mehmet AKTAŞ

Gömülü Sistemler. (Embedded Systems)

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

GÖMÜLÜ SİSTEMLER GÖMÜLÜ SİSTEMLER 1

Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose

1. GİRİŞ 1.1. Giriş ve Çalışmanın Amacı

Yazılan programın simülasyonu için; (A<B), (A>B) ve (A=B) durumunu sağlayacak 2 şer tane değeri girerek modelsimde oluşan sonuçları çiziniz.

ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTUSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİMDALI. I. GENEL BİLGİLER Ders Adı

Programlanabilir Devreler

Tek Vuruşluk Đşlemci. -- Company : Ege Universitesi, Elektrik-Elektronik Mühendisliği

APPLICATION OF CPLD BASED LOGIC ELECTRONICS CIRCUITS

VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ŞİFRELEME ALGORİTMASININ FPGA'DA UYGULANMASI. Yasin AKMAN YÜKSEK LİSANS TEZİ

BM-311 Bilgisayar Mimarisi

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı

FPGA İLE UYGULAMA ÖRNEKLERİ

İ.T.Ü. Bilişim Enstitüsü Bilgisayar Bilimleri FPGA MİMARİSİ

MİKROİŞLEMCİLER. Mikroişlemcilerde Kullanılan Yeni Teknolojiler ve Mikroişlemcilerin Rakipleri

FPGA İLE UYGULAMA ÖRNEKLERİ

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BÖLÜM Mikrodenetleyicisine Giriş

SAYISAL ELEKTRONİK. Ege Üniversitesi Ege MYO Mekatronik Programı

FPGA ile 2x16 LCD Uygulaması

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ

EK A VHDL DONANIM TANIMLAMA DİLİ

FPGA KULLANILARAK DİŞ PROTEZ PİŞİRME FIRINLARININ ESNEK VE HASSAS DENETİMİNİ SAĞLAYAN BİR KONTROL KARTININ TASARIMI VE GERÇEKLEŞTİRİLMESİ

Programlanabilir Sayısal Sistemler

İçindekiler. Sinyal İşleme Donanımları FPGA FPGA ile Tasarım VHDL Uygulama Gerçekleştirme Kart Üzerinde Çalıştırma

T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ

(Random-Access Memory)

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

Bilgisayar Mimarisi ve Organizasyonu Giriş

William Stallings Computer Organization and Architecture 9 th Edition

XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL

FPGA TABANLI DES KRİPTO ÇÖZÜCÜ SİSTEMİ YÜKSEK LİSANS TEZİ. Müh. Bora EMİROĞLU. Anabilim Dalı : Disiplinler Arası Programlar

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması

1. GİRİŞ. 1.1 Giriş ve çalışmanın amacı

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK FAKÜLTESİ

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM223 SAYISAL MANTIK TASARIMI : QUARTUS II TASARIM ORTAMI: TEMEL VHDL KULLANIMI

Hale Yenginer 1, Çağatay Canbaz 1, S. Ünsal Keser 1,, Hayriye Korkmaz 2

DONANIM KURULUMU. Öğr. Gör. Murat YAZICI. 1. Hafta.

BELLEKLER. Kelime anlamı olarak RAM Random Access Memory yani Rastgele Erişilebilir Bellek cümlesinin kısaltılması ile oluşmuş bir tanımdır.

Mikroişlemcili Sistemler ve Laboratuvarı

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

VERILOG. Modüller

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Omron Sysmac ailesi ile gerçek makina otomasyonu. Nurcan Konak, Mayıs 2012

Mühendislik Tasarım-3 ve Bitirme Çalışması Konuları

HDL ile Gelişmiş Sayısal Tasarım (EE 425) Ders Detayları

MİKROİŞLEMCİ MİMARİLERİ

FPGA TABANLI MİKROBİLGİSAYAR MİMARİSİ KULLANILARAK DC MOTOR SÜRÜCÜ TASARIMI VE UYGULAMASI

SAYISAL VLSI SİSTEM TASARIM AKIŞI

Hamming Kodlamasının FPGA Ortamında Gerçekleştirilmesi

T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ FPGA TABANLI ÜÇ EKSENLİ ROBOT KOL KONTROLÜ

Mikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar

PSoC 1 ile Elektronik Uygulamaları için Deney Seti Tasarımı ve Gerçekleştirilmesi

XILINX PROGRAMI İLE PROJE HAZIRLANMASI İÇİNDEKİLER

BİLGİSAYAR DONANIMI KONU: ANAKART RAM-ROM ADI: KÜBRA SOYADI: ŞAHİN NO: SINIFI:1/B ADI: SELMA SOYADI: ÇELİK NO: SINIFI:1/B

KONTROL VE OTOMASYON KULÜBÜ

ENTEGRE DEVRE TASARIMI

Görüntü İşleme Algoritmalarının Fpga Donanımı Üzerinde Gerçeklenmesi. Implementatıon Image Processıng Algorıthms on FPGA Hardware

NECMETTİN ERBAKAN ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY FÖYÜ

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR

EGE Üniversitesi Mühendislik Fakültesi Bilgisayar Müh. Bölümü Öğretim Yılı Lisans Tezi Önerileri

DERS 1 GİRİŞ İÇERİK - PIC DSP

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

2. SAHADA PROGRAMLANABİLİR KAPI DİZİLERİ (FPGA)

BİLGİSAYAR ARİTMETİK ALGORİTMALARININ FPGA ÜZERİNDE GERÇEKLENMESİ

Deney 6: Ardışıl Devre Analizi

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

ENTEGRELER (Integrated Circuits, IC) Entegre nedir, nerelerde kullanılır?...

Transkript:

FPGA ile Gömülü Sistem Tasarımına Giriş Bilg. Yük. Müh. Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri www.selsistem.com.tr

Giriş Gömülü Sistemler Programlanabilir Lojik - SPLD FPGA & CPLD Donanım Tanımlama Dilleri - HDL FPGA ile Dijital Sistem Tasarım Adımları

Gömülü Sistemler Uygulamaya özel donanım ve yazılım Otomotiv, yayıncılık, tüketici elektroniği, endüstriyel uygulamalar, sağlık, savunma sanayi, iletişim. Elektronik Donanım: Hazır Bileşenler ile : Mikrodenetleyiciler, mikroişlemciler, DSP, ASIC ile Uygulamaya özel entegre devre Programlanabilir lojik cihazlar ile : FPGA, CPLD ve bunların kombinasyonu.

ASIC masked gate array İç devreleri oldukça hızlı çalışmaktadır Büyük çaplı üretimde oldukça ucuzdur (maske üretim maliyeti çok yüksek, çip üretim maliyesi çok düşük) Üretim ve test aşamaları oldukça fazla zaman gerektirmektedir Tasarımda bir hata yapılmışsa bunu düzeltmek uzun masraflı bir iştir. (Tekrar doğru maskeyi oluşturup üretim tekrarlanmalı)

ASIC ASIC programlanabilen bir aygıt değildir. Tasarımcılar üreticinin sağlamış olduğu hücre ve fonksiyon kütüphanelerini kullanarak çalışırlar Tasarımcının tasarımının tam olarak silikona nasıl aktarıldığını bilmesine gerek yoktur. Gerçekleme düşük seviye fonksiyonlardan tamamına doğru olmaktadır Öncelikle tasarım için gerekli birbirine yakın transistorler, daha sonrada birbirine yakın olacak şekilde modüller oluşturulur. (routing) Tasarıma göre oluşturulan maske yardımı ile chip oluşturulur

Programlanabilir Lojik - SPLD PLA Programmable Logic Array Signetics, 1975 Esnek, 10µm, Yavaş!

Programlanabilir Lojik - SPLD PAL Programmable Array Logic MMI, 1978 PLA den daha az esnek, daha hızlı, daha ucuz.

CPLD Complex Programmable Logic Device SPLD lerden oluşan macroceller ve bu macrocellerin ara bağlantılarından oluşur. Binlerce kapı içerebilir. Çok hızlı ~200 Mhz. Konfigurasyonu kendi içinde saklar. ISP(JTAG vs.) ile programlanabilir.

FPGA-Field Programmable Gate Array İlk FPGA : XC2064, Ross Freeman, Xilinx 1985 Sahada programlanabilir, Yani Çipin üretildiği fabrika dışında, Elektronik karta lehimlendikten sonra Ve hatta son kullanıcıda kullanımdayken!

FPGA-Field Programmable Gate Array SRAM Tabanlı: Bir çeşit hafıza çipi yapısında. Konfigürasyonu PROM dan yüklenir. CPLD ler FPGA ye konfigurasyonu PROM dan yüklemek için kullanılabilir. OTP(One Time Programmable) : Antifuse

FPGA Logic Elements or Configurable Logic Blocks (CLBs) Programmable interconnect I/O Blocks (IOBs) Clock Management Dedicated multipliers Block RAM DSP Resources Microprocessors.

Configurable Logic Blocks (CLBs) CLB ler Slice yapılarında olşumaktadır. Aynı CLB içindeki Slice lar birbirleri ile yerel arabağlantılara sahiptir. Slice lar LUT(Look Up Table), Carry Logic, Flip-Flop lar içerir. COUT BUFT BUF T COUT Slice 0 Slice S3 PRE LUT Carry D Q CE Switch Matrix SHIFT Slice S2 CLR Slice S1 LUT Carry D PRE CE Q Slice S0 Local Routing CLR CIN CIN

Logic Element Altera Cyclone III FPGA LE

Ara bağlantılar - Interconnections Altera Cyclone III FPGA

Look Up Table (LUT) CLB içinde Kombinasyonal Lojik LUT ile gerçeklenir. LUT fonksiyon jeneratörü olarak da adlandırılır. Kapasite, LUT giriş sayısı ile sınırlı. Devrenin karmaşıklığı fark etmez. LUT gecikmesi sabit. A B C D Combinatorial Logic Z A B C D Z 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1... 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1

I/O Blokları - FPGA Her I/O portu giriş çıkış ya da çift yönlü ayarlanabilir Giriş çıkışlar diğer aygıtlarla uyumlu olabiecek şekilde değişik voltaj seviyelerine ayarlanabilmektedir.

Saat devresi - FPGA Özel yüksek hızlı saat buffer ları çip yüzeyine dağılmıştır Bu bufferlar saat giriş pinlerine bağlıdırar Clock tree boyunca saat hatlarına sinyali sürerler Senkron tasarımlarda saat in devrenin her yerine aynı anda ulaşması çok önemlidir

Programlanabilen Anahtarlama Teknolojileri CPLD: EEPROM lara benzer yapıda Floating Gate Transistor

Programlanabilen Anahtarlama Teknolojileri FPGA: SRAM Kontrollü Programlanabilen Anahtarlar

Programlanabilen Anahtarlama Teknolojileri OTP FPGA: Antifuse

Dijital Tasarım Girişi Şematik Tasarım Girişi Devre şeması çizilerek Hiyerarşik Bloklar ve ara bağlantılar Sistemin genel yapısı kolay görülebilir Avantajları Sistemin genel yapısı görsel olarak anlaşılabilir Kapı seviyesinde optimize tasarım yapılabilir Dezavantajları Karmaşık ve büyük sistemlerin tasarımı, bakımı ve anlaşılması zor Kısıtlı simülasyon

Donanım Tanımlama Dilleri - HDL İlk olarak 1977 yılında, ISP(Instruction Set Processor) - Carnegie Mellon Universitesi KARL- Kaiserslautern Üniversitesi İlk modern HDL olan Verilog, 1985, Gateway Design Automation. VHDL, 1987, Amerika Birleşik Devletleri Savunma Bakanlığı Sponsorluğunda. HDL şematik devre tasarımlarının dökümantasyonu ve simulasyonu amacıyla geliştirilmişti. HDL den Lojik sentezleme yapılması ile HDL Dijital Tasarımda ön plana geçti.

Verilog Verilog HDL, 1984-1985 Philip Morby, Gateway Design Automation Amaç : Dijital devreleri, modelleme, simülasyon ve analiz amacıyla kolay, basit ve etkili bir şekilde ifade etmek. IEEE tarafından ilk olarak1995 yılında standardlaştırıldı. C programlama dilini andırır. Öğrenilmesi nispeten kolay Sistem hiyerarşik modüllerden ve bu modüllerin bir birleri ile ilişkileri ile tanımlanır. Modüller, Yapısal (Düşük seviyeli lojik olarak), Veri akışı ile (Çıkışları giriş sinyallerinin dönüşümü ile) Davranışsal olarak (Devreden beklenen davranışın ifadesi şeklinde) üç değişik yapıda ifade edilebilir Üst seviyeli modüllerde soyutlamaya gidilebilmesini ve alt seviyeli modüllerinde de verimli olarak ifade etme imkanı sağlar

Verilog ile 4-Bit Sayaç module counter(clock, DIRECTION, COUNT_OUT); input CLOCK; input DIRECTION; output [3:0] COUNT_OUT; reg [3:0] count_int = 0; always @(posedge CLOCK) if (DIRECTION) count_int <= count_int + 1; else count_int <= count_int - 1; assign COUNT_OUT = count_int; endmodule

VHDL VHDL (Very high speed integrated circuit Hardware Description Language) Amerika Birleşik Devletleri Savunma Bakanlığı sponsorluğunda elektronik cihazların modellenmesi ve simülasyonu için desteklenen bir HDL olarak geliştirilmiştir. VHDL'in geliştirilmesindeki amaç modelleme, simülasyondu. Ancak sonradan tasarım aşamalarının otomasyonunu sağlayabilmek için sentezlemede de kullanılmaya başlandı. VHDL IEEE tarafından ilk olarak 1987 yılında standartlaştırıldı. VHDL, Verilog'a göre daha esnek sistem tasarımlarına imkan vermekle beraber üst seviyeli tasarıma daha uygundur. Ancak öğrenilmesi ve kullanımı biraz daha karmaşık ve uzundur.

VHDL ile 4-Bit Sayaç library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity counter is Port ( CLOCK : in STD_LOGIC; DIRECTION : in STD_LOGIC; COUNT_OUT : out STD_LOGIC_VECTOR (3 downto 0)); end counter; architecture Behavioral of counter is signal count_int : std_logic_vector(3 downto 0) := "0000"; begin process (CLOCK) begin if CLOCK='1' and CLOCK'event then if DIRECTION='1' then count_int <= count_int + 1; else count_int <= count_int - 1; end if; end if; end process; COUNT_OUT <= count_int; end Behavioral;

FPGA Platformunda Tasarım Süreçleri

CPLD & FPGA Seçimi Seçim tamamen gerekliliklere bağlıdır İkisi de yeniden programlanabildiğinden donanım geliştirmek için oldukça avantajlı platformlardır Hız olarak ise ASIC 'in hızına yetişemezler Bu yüzden çoklu üretimde geliştirme FPGA-CPLD üzerinde yapılırken olgunlaşan dizayn ASIC e aktarılır CPLD FPGA Mimari PAL benzeri Kapı dizisi - benzeri Hız Hızlı, tahmin edilebilir Uygulama bağımlı Yoğunluk Düşük - orta Orta - yüksek Bağlantı Crossbar Routing Güç Tüketimi Kapı başına yüksek Kapı başına düşük

Proje için Platform Seçimi FPGA ve CPLD ler her ne kadar esnek yapılar olsa da proje geliştirme yeni başlayanlar için zaman alan bir süreçtir. Bazı durumlarda sıralı komutlar işleyen bir işlemcinin kullanılması daha avantajlıdır. Proje ile ilgili IP(Intellectual property) ler araştırılmalıdır. FPGA ya da CPLD projenin gerekliliklerine uyacak şekilde seçilmelidir İçerisinde bir işlemci ve FPGA bulunduran hibrit yapılar da değerlendirilmelidir.