Geri Git   ForumSinsi - 2006 Yılından Beri > Eğitim - Öğretim - Dersler - Genel Bilgiler > Mühendislik / Mimarlık / Peyzaj Mimarlığı

Yeni Konu Gönder Yanıtla
 
Konu Araçları
dili, donanım, tanımlama

Donanım Tanımlama Dili

Eski 10-09-2012   #1
Prof. Dr. Sinsi
Varsayılan

Donanım Tanımlama Dili



Donanım Tanımlama Dili
Vikipedi, özgür ansiklopedi

Elektronik devrelerin tanımlanması amacıyla kullanılan herhangi bir bilgisayar dilinin sınıfına "donanım tanımlama dili" veya DTD denmektedir Donanım tanımlama dili devrenin; yürüttüğü işlemi, tasarımını ve benzetim (simülasyon) yoluyla doğrulamasını gerçekleştirebilir
Yazılım programlama dilinden farklı olarak, DTD’nin sözdizimi ve semantiği donanımın birinci özelliği olan zaman ve uyumluluk açısından açık ifadelere yer vermektedir Sadece devre bağlantılarını ifade etmeye yarayan ve bloklar arasındaki hiyerarşiyi tanımlamaya yarayan dillere netlist denmektedir
DTD önceleri herhangi bir donanım için çalıştırılabilir özelliklerin benzetimini yapmak amacıyla kullanılıyordu Zamana bağlı işlem yapan benzetim programları sayesinde bir donanım parçası fiziksel olarak üretilmeden önce tasarımcı tarafından test edilebiliyordu Bu çalıştırılabilirlik DTD’nin bir programlama dili olduğu hissini vermiştir
Tabi ki donanım anlamı C++ gibi geleneksel programlama dilleri ile kazanılabilir fakat C++ dilinde zamanı açık bir şekilde ifade etmek mümkün olmadığından düzgün bir donanım tanımlama dili değildir
Herhangi uygun bir donanım tanımlama dili ile yazılmış kod, sentezleyici adı verilen bir yazılım tarafından işlenir Bu işlem koddan mantıksal işlemlerin çıkarılması ve buna eş değer bir netlist yaratılarak donanımın taslağının oluşturulması işlemidir Bu işlem koddaki herhangi bir zaman yapısının ihmal edilmesi ile elde edilir Bir dilin bir altkümesinin sentezlenebilir olması o dilin bir DTD olduğunu temin etmez
Bir sistemi DTD kullanarak tasarlamak, bir programlama dili ile yapmaktan çoğu zaman daha zor ve daha çok zaman gerektiren bir Çişlemdir Bu sebeple C programlama dili kodunu otomatik olarak DTD’ye çevrilmesi üzerinde birçok uğraş verilmiştir fakat 2004 yılı itibariyle bu işlemin yüksek bir ticari başarıya ve kullanıma ulaştığı söylenemez

Donanım Tanımlama Dillerinin Tarihçesi
İlk donanım tanımlama dilleri olan ISP (Carnegie Mellon Üniversitesi) ve KARL (Kaiserslautern Üniversitesi) 1977 yılı civarında bulunmuştur Bu diller daha çok tasarımın giriş ve çıkışı arasındaki bağlantıları tanımlayan yazılım programlama dilleri gibiydi Bu sebeple tasarım benzetimi için kullanılabilirken, sentezlenemezlerdi
İlk modern DTD, Verilog 1985 yılında Gateway Design Automation tarafından bulunmuştur Daha sonraları Cadence Design Systems gelecek on senenin DTD benzetim standardı haline gelecek olan Verilog-XL’nin haklarını aldı 1987 yılında Amerika Savunma Dairesi tarafından yapılan bir istek ile VHDL (Very High Speed Integrated Circuit Hardware Description Language) doğdu DTD benzetimleri mühendislere şematik seviyesinden daha ileri bir seviyede çalışma imkanı vermiş ve tasarım sığasını yüzlerce transistörden binlerceye yükseltmiştir
Donanım tanımlama dillerinin mantık kapıları seviyesinde sentezlenebilmesi sayısal tasarım alanında DTD’leri ön plana çıkarmıştır Sentezleme araçları DTD kaynak dosyalarını (yazmaç aktarımı seviyesi adı verilen bir biçimde yazılmış olan) derleyerek kapı/transistor seviyesinde üretime hazır netlist tanımlamaları yaratmaktadır
Verilog ve VHDL senelerdir sayısal tasarımın en önde gelen iki donanım tanımlama dilidir fakat ikisi de hemen hemen aynı sınırlamalara sahiptir Örneğin iki DTD analog veya karışık-sinyal devrelerinin benzetimleri için uygun değillerdir Özyinelemeli kurulan mantık yapıları için gerekli tanımlamalara sahip değillerdir Bu amaçla ortaya çıkan özelleşmiş DTD’ler olsa dahi hiç biri VHDL/Verilog’un yerini tutamamıştır
Uzun bir süredir DTD’leri geliştirmek için büyük bir emek harcanmaktadır Verilog’un IEEE 1800-2005 Systemverilog olarak bilenen son sürümü daha iyi rastgele hale getirilmiş test, tasarım hiyerarşisi ve tekrar kullanım adına birçok yenilik (sınıflar, rastgele değişkenler vs) içermektedir Böylece hem VHDL hem de Verilog sahip oldukları yeniliklerle gelecek senelerde de aktif olarak kullanılacaktır

DTD Kullanarak Tasarım
Modern sayısal devre tasarımlarının büyük bir çoğunluğu istenilen devrenin, aygıtın ve sistemin donanım tanımlama dili ile gerçekleştirilmiş hali ile yürümektedir
Çoğu tasarıma geleneksel olarak kâğıt ve kalem ile istenilenlerin bir özeti ve mimari düzeyinde şemalarla başlanır Donanım tanımlama dili ile tanımlama işlemi genel olarak devrenin yapısına ve kodu yazanın geçmişine bağlıdır Kontrol ve karar verme yapıları genel olarak akış diyagramları veya durum diyagramları ile modellenir Tasarımcılar kendi kendini otomatik olarak tekrarlayan devre yapıları için DTD içerisinde komut dizisi dillerini (PERL gibi) dahi kullanabilir
Tasarımın ana hatları gerçekleşmeye başlayınca, yazılan kod bir gözden geçirmeye tabi tutmalıdır Sentezlemeye hazırlanırken DTD otomatik kontrol edicilerden geçer Bu kontrol ediciler genel olarak yapılan mantıksal hataları (kısa devre veya bağlanmamış bağlantı noktaları gibi) saptama amacıyla kullanılır
Endüstriyel bir deyişle, DTD tasarımı sentezlemeden sonra sona erer Sentezleme aracı DTD tanımlamasını kapıların netlisti şeklinde haritaladıktan sonra, netlist son kısma gönderilir Fiziksel teknolojiye göre (FPGA veya çeşitli ASIC türleri olabilir) donanım tanımlama dilinin görevi devam edebilir veya etmeyebilir Eğer sonuçta silikon bir yonga üretilecekse tasarım veritabanı daha çok üretim teknolojisi ile ilgili verilerle yüklü olur

DTD Kodunun Benzetimi ve Hata Ayıklaması
DTD kodunun benzetimi, tasarımın amacı ile ilgili doğrulamayı geçmesini sağlamasının yanında tasarımın gerekli işlemi doğru yaptığını gösteren önemli bir basamaktır Aynı zamanda farklı tasarım seçenekleri bu basamakta denenerek mimari açısından da gelişmeyi sağlayabilecek yararlar edinilebilir Bu sebeplerden dolayı benzetim basamağı başarılı bir DTD tasarımı için çok önemlidir
Modern DTD benzeticilerinin bir çok hata ayıklama aracıyla birlikte grafiksel ara yüzü bulunmaktadır Bu araçlar tasarımcıya benzetimi herhangi bir zamanda durdurup yeniden başlatma koddan bağımsız bir şekilde kesme noktası koyabilme gibi avantajlar sağlamaktadır
Tasarım doğrulaması genelde tasarım işleminin en çok zaman alan kısmıdır Bunun nedeni tasarımın işlevsel gerekliliğin tasarımcı tarafından farklı yorumlanması olabileceği gibi DTD dilinin net olmayan ifadelerinden de kaynaklanabilir Bir DTD tanımlaması aynı zamanda bir donanımda da ilk örnek (prototip) haline getirilip test edilebilir Programlanabilir mantık aygıtı ile gerçekleştirilen bu işlem benzetime göre pahalı olsa da, tasarımın gerçek çalışan halinin elde edilmesi daha tutarlı sonuçlar vermektedir İlk örnekleme, eldeki tasarımı, yavaş çalışan FPGA’lerde gerçekleştirilse dahi, en hızlı test/benzetim şeklidir

Diller

Sayısal Devre Tasarımı
En çok bilinen, kullanılan ve desteklenen DTD dilleri:
  • VHDL
  • Verilog
Diğerleri
  • Advanced Boolean Expression Language (ABEL)
  • AHDL (Altera HDL, Altera’nın tescilli dili)
  • Atom (Haskell üzerine kurulmuş yüksek seviyeli bir DTD)
  • Bluespec (Haskell üzerine kurulmuş bir DTD Şu anda SystemVerilog sözdizimine sahiptir)
  • Confluence (Fonksiyonel bir DTD fakat devamı gelmemiştir)
  • CUPL ( Logical Devices, Inc firmasının tescilli dili)
  • HDCaml (Objective Caml temelli)
  • Hardware Join Java (Join Java temelli)
  • HML ( SML temelli)
  • Hydra ( Haskell temelli)
  • JHDL (Java temelli)
  • Lava (Haskell temelli)
  • Lola (eğitim amaçlı basit bir dil)
  • MyHDL (Python temelli)
  • PALASM (Programmable Array Logic (PAL) aygıtları için)
  • Ruby (donanım tanımlama dili)
  • RHDL ( Ruby programlama dili temelli)
  • CoWareC, CoWare tarafından yaratılmış C-temelli DTD SystemC kullanımı amacıyla kullanılmamaktadır
  • SystemVerilog, sistem seviyesi tasarım ve doğrulama iyileştirmeleriyle Verilog’un bir üst kümesi gibi görülmektedir
  • SystemC, C++ kütüphanelerinin bir sistem tanımlama dili şeklinde standartlaşmış hali

Alıntı Yaparak Cevapla
 
Üye olmanıza kesinlikle gerek yok !

Konuya yorum yazmak için sadece buraya tıklayınız.

Bu sitede 1 günde 10.000 kişiye sesinizi duyurma fırsatınız var.

IP adresleri kayıt altında tutulmaktadır. Aşağılama, hakaret, küfür vb. kötü içerikli mesaj yazan şahıslar IP adreslerinden tespit edilerek haklarında suç duyurusunda bulunulabilir.

« Önceki Konu   |   Sonraki Konu »


forumsinsi.com
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ForumSinsi.com hakkında yapılacak tüm şikayetlerde ilgili adresimizle iletişime geçilmesi halinde kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde gereken işlemler yapılacaktır. İletişime geçmek için buraya tıklayınız.