VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI Yard. Doç. Dr. Özdemir ÇETİN
Sunu Başlıklar kları 1. Amaç 2. Temel Bilgiler 1. SoC (System-On-Chip) nedir? 2. SoC donanım araçları ASIC (Application Specific Integrated Circuit) CPLD (Complex Programmable Logic Device) FPGA (Field Programmable Gate Array) 3. SoC tasarım geliştirme I. SoC tasarım teknolojileri II. SoC tasarım metotları Schematic capture Hardware Description Language 2 /51
1.Amaç 1. Neden donanım tanımlama dillerine ihtiyaç vardır? 3 /51
Konfigürasyon özellikleri isteğe veya ihtiyaca göre kolaylıkla değiştirilebilen modüler bir tasarım gerçekleştirmek. 4 /51
3.Temel Bilgiler 1. SoC (System-On-Chip) nedir? 2. SoC donanım araçları ASIC (Application Specific Integrated Circuit) CPLD (Complex Programmable Logic Device) FPGA (Field Programmable Gate Array) 3. SoC tasarım geliştirme I. SoC tasarım teknolojileri II. SoC tasarım metotları Schematic capture Hardware Description Language 5 /51
3.1 SoC Nedir? 7404 7400 CPLD Baskı devredeki iletim hatları Modern tasarım araçları kullanılarak kompleks sistemlerin tek bir çip içerisine sığdırılması Elektronik sistemlerin tasarımına modern çözümler sunan çok avantajlı ve kullanışlı bir teknoloji 6 /51
Neden SoC? Yüksek performans, düşük maliyet, esneklik Güçlü piyasa hakimiyeti 2004 te 1.3 milyon kullanıcı, 2000 lerde entegre pazarının %20 si 2004 te %40 lara ulaşması beklenmektedir. 7 /51
SoC ile İlgili Terimler Maliyet Time-To-Market (TTM) Kapasite Performans Güç Kalite IP (Intellectual Property). 8 /51
SoC Avantajları Düşük maliyet Piyasaya hızlı çıkış Her uygulama için değişebilen kapasite Sistemlerde yüksek hız ve performans Her uygulama için farklı güç gereksinimi IP (Intellectual Property) core 9 /51
SoC Dizayn Akışı Sistem içerisindeki birimler bir donanım tanımlama dili (VHDL,VERILOG veya SystemC) yardımıyla ifade edilir, Derleme ve davranışsal benzetim adımları gerçekleştirilir, Sentezleme ve Yerleştirme işleminden sonra zamansal benzetim aşaması icra edilir, Bu işlemlerin ardından tasarım tekrar programlanabilir yapılara aktarılır. 10 /51
3.2 SoC Donanım m Araçlar ları SoC donanım araçları I. ASIC (Application Specific Integrated Circuit) II. CPLD (Complex Programmable Logic Device) III. FPGA (Field Programmable Gate Array) 11 /51
ASIC Nedir? Bir sefer programlanabilen entegre elemanı Tasarım Doğrulama Ürün Yeniden yapılandırılabilme 12 /51
ASIC Programlama Doğrulama Doğrulama Ürün Tasarım Üretim ASIC entegreleri bilgisayar ortamında, VLSI yöntemi ile tasarlanır. 13 /51
Yapı Olarak ASIC Temel olarak 3 farklı ASIC yapısı vardır; Kapı Dizileri, CBICs (Cell-Based ICs), PLDs (Programmable Logic Devices) 14 /51
Kapı Dizileri Kanallı Kapı Dizileri Kanalsız Kapı Dizileri 15 /51
CBICs Analog Analog Hafıza Hafıza Derlenmiş Lojik Lojik İşlemci İşlemci Hücre-Tabanlı IC 16 /51
PLDs Yapım şekillerine ve yapılarına göre gruplara ayrılırlar; PROM (Programmable Read Only Memory), PAL (Programmable Array Logic), PLA (Programmable Logic Array), 17 /51
Yapılar ların n Karşı şılaştırılması Fonksiyon Miktarı 1M 100K CBIC Maliyet=$50000 10K PLD Maliyet<$1000 Kapı Dizileri Maliyet<$20000 1 10 100 Üretim Zamanı 18 /51
ASIC Nerelerde Kullanılır? 1. Özel bir uygulamaya yönelik çok sayıda ürün ihtiyacı olan durumlarda, 2. Yalnız bir amaç için tasarlanan devrelerde 19 /51
CPLD Nedir? CPLD ler çip yoğunluğu arttırılmış kompleks bir PLD dir. CPLD, birbirlerine matris şeklinde bağlanmış, birer PLD olan giriş ve çıkış bloklarından oluşmuştur. 20 /51
CPLD Özellikleri Kapasiteleri ve Pin sayıları sınırlıdır, 5ns lik hıza sahip (200MHz) karmaşık kapılardan oluşur, Yeniden yazılabilir bir elemandır. Tasarım Doğrulama Ürün Yeniden yapılandırılabilme 21 /51
CPLD Avantajları Tasarım kolaylığı Düşük üretim maliyeti Daha fazla ürün kazancı Azaltılmış board alanı 7404 7400 = CPLD Baskı devredeki iletim hatları 22 /51
Basit Bir CPLD Tasarımı 7404 7400 CPLD Baskı devredeki iletim hatları 23 /51
CPLD Yapılar ları CPLD ler üç farklı mimaride yapılırlar; Sigorta veya Atık-Sigorta yapısı, EPROM, EEPROM veya Flash elemanları kullanılarak, StatikRAM kullanılarak. 24 /51
CPLD Yapılar ları Lojik Blok Lojik Blok I/O Lojik Blok Programlanabilir Ara Bağlant lantılarlar Lojik Blok I/O Lojik Blok Lojik Blok Genel Bir CPLD Mimarisi 25 /51
CPLD Programlama CPLD tasarımında VHDL,Verilog, ABEL gibi yazılımlar kullanılabilir. İstenilen tasarım dosyası JEDEC olarak kaydedilir. JEDEC dosyası CPLD ye aktarılır. 44P 84P CPLD Programlayıcı 26 /51
CPLD Nerelerde Kullanılır? 1. Enerji kesildiğinde dahi konfigürasyon bilgisinin kaybolmaması ve hızlı başlangıç gerektiren uygulamalarda, 2. Çok fazla kapasite ihtiyacı olmayan hemen hemen tüm lojik sistemlerin tasarımında, 27 /51
FPGA Nedir? PLD ve MPGA lerin başarılı bir birleşmesidir. Lojik bloklar dizisi ve ara bağlantı kaynaklarından oluşmuştur. 28 /51
FPGA Özellikleri Yeniden konfigüre edilebilir bir elemandır, Çok-Seviye lojik uygulamaya olanak sağlar, Çoğunlukla StatikRAM teknolojisi ile konfigüre edilirler, Tasarımın denklemleri olması gerekmez, algoritmalar yada genel hesaplamalar tasarımın gerçeklenmesinde yeterlidir. Tasarım Doğrulama Ürün Yeniden yapılandırılabilme 29 /51
Neden FPGA Sipariş, stok problemleri, Piyasaya hızlı çıkış ve düşük risk, Standart ve Süper bilgisayarların emülasyonu, Donanımın online olarak değiştirilebilmesi, Güç verimi ve hız kabiliyetleri, Esnek zamanlama yeteneği. 30 /51
FPGA Yapılar ları FPGA ler mimarileri ve programlama şekillerine göre 3 kısımda incelenirler; Antisigorta-tabanlı EPROM, EEPROM ve Flash tabanlı StatikRAM tabanlı 31 /51
Antisigorta FPGA Programlanmış Antisigortalar Çıkış Kısmı Lojik Modül Çıkışı Lojik Modül Girişi 1 Giriş Kısmı 2 3 4 Lojik Modül Sıraları 32 /51
SRAM FPGA Okuma Veya Yazma Q Q Konfigürasyon kontrol Data Bir SRAM Hafıza HücresiH 34 /51
FPGA Programlama FPGA elemanı kullanılarak bir lojik tasarım yapmak için şu adımlar izlenir; Tasarım tanımlanır, Netlist oluşturulur, Yerleştirme ve bağlantılar oluşturulur, Bitstream üretilir, Yükleme yapılır. 35 /51
FPGA Programlama Board VHDL Kodları Entity VE is port (x,y: in bit; z: out bit); end VE; Architecture arc of VE is begin z<= x and y; end deneme; Sentezleme Netlist LUT CLB FPGA Bitstream 1 0 1 0 0 0 1 1 Yerleştirme ve Bağlama Yükleme ve Test 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 Bitstream Üretilmesi Bağlantılar 36 /51
FPGA Nerelerde Kullanılır? Time to Market Performans Miktar Emülasyon Emülasyon Çok yüksek Önemsiz Düşük Prototip İlk Ürün Prototip Çok yüksek Önemsiz Düşük Ürün İlk ürün Çok yüksek Kritik Orta Ürün Çok yüksek Kritik Yüksek 1. Çok karmaşık lojik devre uygulamalarında, 2. Çok fazla kapasite ihtiyacı olan hemen hemen tüm lojik devrelerin tasarımında 37 /51
FPGA-CPLD Karşı şılaştırma FPGA Ailesi Yoğunluk Performans MHz I/O Hafıza Kbit Ara Bağlantı Virtex-II Virtex 40K- 8M S. Kapısı 50K- 1M S. Kapısı 420 200 88-1,108 180-512 72-3,024 32-131 Artan şekilde CPLD Spartan-3 50K-5M S. Kapısı 326 124-784 72-1,872 FPGA CPLD Ailesi Yoğunluk Performans MHz I/O Hafıza Kbit Ara Bağlantı 1.8V 32-1024 S. Kapısı 267-400 30-381 64-512 2.5V 3.3V 32-1024 S. Kapısı 32-1024 S. Kapısı 275-400 178-400 30-381 30-384 64-512 64-512 Crossbar Anahtar 5V 32-256 S. Kapısı 182 32-128 - 38 /51
3.3 SoC Tasarım m Geliştirme I. SoC tasarım teknolojisi SSI (Small Scale Integrated) MSI (Medium Scale Integrated) LSI (Large Scale Integrated) VLSI (Very Large Scale Integrated) ULSI (Ultra Large Scale Integrated) II. SoC tasarım metotları Şematik Çizim (Schematic capture) HDL (Hardware Description Language) ABEL (Advanced Boolen Expression Language) Verilog System C JHDL VHDL (VHSIC Hardware Description Language) 39 /51
3.3.I SoC Tasarım m Teknolojisi Mikroelektronik işlemci teknolojisindeki hızlı ilerlemeler sayesinde içerisinde milyonlarca transistör bulunduran çipler üretmek mümkündür. SSI (Small Scale Integrated) MSI (Medium Scale Integrated) LSI (Large Scale Integrated) VLSI (Very Large Scale Integrated) ULSI (Ultra Large Scale Integrated) 40 /51
3.3.II SoC Tasarım m Metotları Tasarım, iki yöntemden biri olan şematik çizim programı yada herhangi bir tanımlama dili ile tanımlanır. 41 /51
Şematik Çizim Şematik çizimde dört adım vardır: İstenilen tasarım için lojik kapılar sayfaya yüklenir, Tasarımcı kapılar arasında hatları kullanarak istediği bağlantıyı gerçekleştirir, Giriş çıkış birimleri eklenir, Son olarak bir netlist dosyası oluşturulur. Netlist, şematik çizim programı ile tasarlanan devrenin metin eşdeğeridir. Üretici firma tabanlı bir dosya olmasına rağmen endüstri tabanlı olan EDIF (Electronic Digital Interchange Format) standardı da vardır. 42 /51
Şematik Çizim Kapı Yükleme Kapıların Bağlanması DF DF Kütüphane VE VEYA Netlist ------- ------- ------- A B C D Q R S I/O eklenmesi 43 /51
Şematik Çizim Genel bir çalışma sayfası yaklaşık 200 kapı içerir, örneğin 10.000 kapılı tasarım için 50 safya Her bir sayfada yukarıdaki adımlar tekrarlanır, Firmalar ve teknolojiler arası geçiş zordur. Bu zorluklardan kurtulmak için donanım tanımlama dilleri kullanılır. 44 /51
Donanım m Tanımlama Dili Devre metin dosyası şeklinde tanımlanır. Tasarım firmalardan bağımsız ve kısa sürede olur. Tasarımda yapılacak herhangi bir değişiklik çok kısa sürede gerçeklenebilir. 45 /51
Şematik ve HDL Şematik Tasarım 6000 kapı, 30 çizim sayfası, Tasarım süresi: 3gün, Firmaya bağımlı Entity Mult is Port(A,B:in bit_vector(0 to 15); Y:out bit_vector(0 to 31)); End Mult; Architecture Behave of Mult is Begin Y<=A*B; End Behave; HDL ile yazılm lmış tasarım 6000 kapı, 1 metin dosyası,8 satırlık kod, Tasarım süresi: 30dk, Firmadan bağımsız 46 /51
VHDL Nedir? VHDL dili büyük sayısal tasarımların dökümantasyonu, doğrulanması ve sentezlenmesi için kullanılır. Devre metin dosyası şeklinde tanımlanır. Tasarım firmalardan bağımsız ve kısa sürede olur. Tasarımda yapılacak herhangi bir değişiklik çok kısa sürede gerçeklenebilir. 47 /51
Neden VHDL? Güç ve Esneklik Çipten Bağımsız Tasarım Taşınabilirlik Test Edilebilirlik ASIC e transfer Piyasaya hızlı çıkış düşük maliyet Avrupa da çok yaygın oluşu, Amerikan savunma sanayinde önemli bir yeri olması Dezavantaj olarak ise sentezleyiciler arasında farklılık göstermesi 48 /51
VHDL Akış Diyagramı Ürün seçimi VHDL Tasarım Sentezleme Komutları Sentezleyici Yazılım Netlist veya Lojik denklem Fonksiyonel Simülasyon Yerleştirme ve Yönlendirme Timing Simülasyon Post Layout Simülasyon Statik Timing Rapor Programlama Dosyası JEDEC Simülatör Programlayıcı Bilgi Form 49 /51
VHDL Nesneleri Entity Architecture Process/Subprogram Package Subprogram X X X X Component X X Configuration X Constant X X X X Datatype X X X X Port X Signal X X X Variable X 50 /51