Bu maddedeki bilgilerin için ek kaynaklar gerekli.Mayıs 2020) () ( |
Donanım tanımlama dili veya DTD, elektronik devrelerin tanımlanması amacıyla kullanılan herhangi bir bilgisayar dilinin sınıfına verilen addır. 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 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.
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ı itibarıyla 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.(kitap bölümü)
İlk modern DTD, Verilog 1985 yılında tarafından bulunmuştur. Daha sonraları 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 imkânı 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 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 ç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:
Diğerleri:
- (ABEL)
- AHDL (Altera HDL, Altera’nın tescilli dili)
- Atom 2 Ocak 2008 tarihinde Wayback Machine sitesinde . ( üzerine kurulmuş yüksek seviyeli bir DTD)
- ( üzerine kurulmuş bir DTD. Şu anda sözdizimine sahiptir.)
- Confluence 22 Mayıs 2020 tarihinde Wayback Machine sitesinde . (Fonksiyonel bir DTD fakat devamı gelmemiştir.)
- ( firmasının tescilli dili)
- HDCaml 14 Aralık 2007 tarihinde Wayback Machine sitesinde . ( temelli)
- (404 Error) ( temelli)
- HML (SML temelli)
- Hydra 18 Temmuz 2011 tarihinde Wayback Machine sitesinde . ( temelli)
- ( temelli)
- Lava 27 Temmuz 2011 tarihinde Wayback Machine sitesinde . ( temelli)
- (eğitim amaçlı basit bir dil)
- (Python temelli)
- ( (PAL) aygıtları için)
- (Ruby programlama dili temelli)
- CoWareC, tarafından yaratılmış C-temelli DTD. SystemC kullanımı amacıyla kullanılmamaktadır.
- , sistem seviyesi tasarım ve doğrulama iyileştirmeleriyle Verilog’un bir üst kümesi gibi görülmektedir.
- , C++ kütüphanelerinin bir sistem tanımlama dili şeklinde standartlaşmış hali.
Dış bağlantılar
- değişik üniversitelerde.
- Curlie'de Donanım tanımlama dilleri (DMOZ tabanlı)
- Verilog-AMS Technical Subcommittee 24 Kasım 2005 tarihinde Wayback Machine sitesinde .
Kaynakça
- ^ J. Mermet (editor): Fundamentals and Standards in Hardware Description Languages (Springer Verlag, 1993)
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bu maddedeki bilgilerin dogrulanabilmesi icin ek kaynaklar gerekli Lutfen guvenilir kaynaklar ekleyerek maddenin gelistirilmesine yardimci olun Kaynaksiz icerik itiraz konusu olabilir ve kaldirilabilir Kaynak ara Donanim tanimlama dili haber gazete kitap akademik JSTOR Mayis 2020 Bu sablonun nasil ve ne zaman kaldirilmasi gerektigini ogrenin Donanim tanimlama dili veya DTD elektronik devrelerin tanimlanmasi amaciyla kullanilan herhangi bir bilgisayar dilinin sinifina verilen addir Donanim tanimlama dili devrenin yuruttugu islemi tasarimini ve benzetim simulasyon yoluyla dogrulamasini gerceklestirebilir Yazilim programlama dilinden farkli olarak DTD nin sozdizimi ve semantigi donanimin birinci ozelligi olan zaman ve uyumluluk acisindan acik ifadelere yer vermektedir Sadece devre baglantilarini ifade etmeye yarayan ve bloklar arasindaki hiyerarsiyi tanimlamaya yarayan dillere denmektedir DTD onceleri herhangi bir donanim icin calistirilabilir ozelliklerin benzetimini yapmak amaciyla kullaniliyordu Zamana bagli islem yapan benzetim programlari sayesinde bir donanim parcasi fiziksel olarak uretilmeden once tasarimci tarafindan test edilebiliyordu Bu calistirilabilirlik DTD nin bir programlama dili oldugu hissini vermistir Donanim anlami C gibi geleneksel programlama dilleri ile kazanilabilir fakat C dilinde zamani acik bir sekilde ifade etmek mumkun olmadigindan duzgun bir donanim tanimlama dili degildir Herhangi uygun bir donanim tanimlama dili ile yazilmis kod sentezleyici adi verilen bir yazilim tarafindan islenir Bu islem koddan mantiksal islemlerin cikarilmasi ve buna es deger bir netlist yaratilarak donanimin taslaginin olusturulmasi islemidir Bu islem koddaki herhangi bir zaman yapisinin ihmal edilmesi ile elde edilir Bir dilin bir altkumesinin sentezlenebilir olmasi o dilin bir DTD oldugunu temin etmez Bir sistemi DTD kullanarak tasarlamak bir programlama dili ile yapmaktan cogu zaman daha zor ve daha cok zaman gerektiren bir Cislemdir Bu sebeple C programlama dili kodunu otomatik olarak DTD ye cevrilmesi uzerinde bircok ugras verilmistir fakat 2004 yili itibariyla bu islemin yuksek bir ticari basariya ve kullanima ulastigi soylenemez Donanim tanimlama dillerinin tarihcesiIlk donanim tanimlama dilleri olan ISP Carnegie Mellon universitesi ve KARL Kaiserslautern Universitesi 1977 yili civarinda bulunmustur Bu diller daha cok tasarimin giris ve cikisi arasindaki baglantilari tanimlayan yazilim programlama dilleri gibiydi Bu sebeple tasarim benzetimi icin kullanilabilirken sentezlenemezlerdi kitap bolumu Ilk modern DTD Verilog 1985 yilinda tarafindan bulunmustur Daha sonralari gelecek on senenin DTD benzetim standardi haline gelecek olan Verilog XL nin haklarini aldi 1987 yilinda Amerika Savunma Dairesi tarafindan yapilan bir istek ile VHDL Very High Speed Integrated Circuit Hardware Description Language dogdu DTD benzetimleri muhendislere sematik seviyesinden daha ileri bir seviyede calisma imkani vermis ve tasarim sigasini yuzlerce transistorden binlerceye yukseltmistir Donanim tanimlama dillerinin mantik kapilari seviyesinde sentezlenebilmesi alaninda DTD leri on plana cikarmistir Sentezleme araclari DTD kaynak dosyalarini yazmac aktarimi seviyesi adi verilen bir bicimde yazilmis olan derleyerek kapi transistor seviyesinde uretime hazir netlist tanimlamalari yaratmaktadir Verilog ve VHDL senelerdir sayisal tasarimin en onde gelen iki donanim tanimlama dilidir fakat ikisi de hemen hemen ayni sinirlamalara sahiptir Ornegin iki DTD analog veya karisik sinyal devrelerinin benzetimleri icin uygun degillerdir Ozyinelemeli kurulan mantik yapilari icin gerekli tanimlamalara sahip degillerdir Bu amacla ortaya cikan ozellesmis DTD ler olsa dahi hicbiri VHDL Verilog un yerini tutamamistir Uzun bir suredir DTD leri gelistirmek icin buyuk bir emek harcanmaktadir Verilog un IEEE 1800 2005 Systemverilog olarak bilenen son surumu daha iyi rastgele hale getirilmis test tasarim hiyerarsisi ve tekrar kullanim adina bircok yenilik siniflar rastgele degiskenler vs icermektedir Boylece hem VHDL hem de Verilog sahip olduklari yeniliklerle gelecek senelerde de aktif olarak kullanilacaktir DTD kullanarak tasarimModern sayisal devre tasarimlarinin buyuk cogunlugu istenilen devrenin aygitin ve sistemin donanim tanimlama dili ile gerceklestirilmis hali ile yurumektedir Cogu tasarima geleneksel olarak kagit ve kalem ile istenilenlerin bir ozeti ve mimari duzeyinde semalarla baslanir Donanim tanimlama dili ile tanimlama islemi genel olarak devrenin yapisina ve kodu yazanin gecmisine baglidir Kontrol ve karar verme yapilari genel olarak akis diyagramlari veya durum diyagramlari ile modellenir Tasarimcilar kendi kendini otomatik olarak tekrarlayan devre yapilari icin DTD icerisinde komut dizisi dillerini PERL gibi dahi kullanabilir Tasarimin ana hatlari gerceklesmeye baslayinca yazilan kod bir gozden gecirmeye tabi tutmalidir Sentezlemeye hazirlanirken DTD otomatik kontrol edicilerden gecer Bu kontrol ediciler genel olarak yapilan mantiksal hatalari kisa devre veya baglanmamis baglanti noktalari gibi saptama amaciyla kullanilir Endustriyel bir deyisle DTD tasarimi sentezlemeden sonra sona erer Sentezleme araci DTD tanimlamasini kapilarin netlisti seklinde haritaladiktan sonra netlist son kisma gonderilir Fiziksel teknolojiye gore FPGA veya cesitli ASIC turleri olabilir donanim tanimlama dilinin gorevi devam edebilir veya etmeyebilir Eger sonucta silikon bir yonga uretilecekse tasarim veritabani daha cok uretim teknolojisi ile ilgili verilerle yuklu olur DTD kodunun benzetimi ve hata ayiklamasiDTD kodunun benzetimi tasarimin amaci ile ilgili dogrulamayi gecmesini saglamasinin yaninda tasarimin gerekli islemi dogru yaptigini gosteren onemli bir basamaktir Ayni zamanda farkli tasarim secenekleri bu basamakta denenerek mimari acisindan da gelismeyi saglayabilecek yararlar edinilebilir Bu sebeplerden dolayi benzetim basamagi basarili bir DTD tasarimi icin cok onemlidir Modern DTD benzeticilerinin bircok hata ayiklama araciyla birlikte grafiksel ara yuzu bulunmaktadir Bu araclar tasarimciya benzetimi herhangi bir zamanda durdurup yeniden baslatma koddan bagimsiz bir sekilde kesme noktasi koyabilme gibi avantajlar saglamaktadir Tasarim dogrulamasi genelde tasarim isleminin en cok zaman alan kismidir Bunun nedeni tasarimin islevsel gerekliligin tasarimci tarafindan farkli yorumlanmasi olabilecegi gibi DTD dilinin net olmayan ifadelerinden de kaynaklanabilir Bir DTD tanimlamasi ayni zamanda bir donanimda da ilk ornek prototip haline getirilip test edilebilir Programlanabilir mantik aygiti ile gerceklestirilen bu islem benzetime gore pahali olsa da tasarimin gercek calisan halinin elde edilmesi daha tutarli sonuclar vermektedir Ilk ornekleme eldeki tasarimi yavas calisan FPGA lerde gerceklestirilse dahi en hizli test benzetim seklidir DillerSayisal Devre tasarimi En cok bilinen kullanilan ve desteklenen DTD dilleri VHDL Verilog Digerleri ABEL AHDL Altera HDL Altera nin tescilli dili Atom 2 Ocak 2008 tarihinde Wayback Machine sitesinde uzerine kurulmus yuksek seviyeli bir DTD uzerine kurulmus bir DTD Su anda sozdizimine sahiptir Confluence 22 Mayis 2020 tarihinde Wayback Machine sitesinde Fonksiyonel bir DTD fakat devami gelmemistir firmasinin tescilli dili HDCaml 14 Aralik 2007 tarihinde Wayback Machine sitesinde temelli 404 Error temelli HML SML temelli Hydra 18 Temmuz 2011 tarihinde Wayback Machine sitesinde temelli temelli Lava 27 Temmuz 2011 tarihinde Wayback Machine sitesinde temelli egitim amacli basit bir dil Python temelli PAL aygitlari icin Ruby programlama dili temelli CoWareC tarafindan yaratilmis C temelli DTD SystemC kullanimi amaciyla kullanilmamaktadir sistem seviyesi tasarim ve dogrulama iyilestirmeleriyle Verilog un bir ust kumesi gibi gorulmektedir C kutuphanelerinin bir sistem tanimlama dili seklinde standartlasmis hali Dis baglantilardegisik universitelerde Curlie de Donanim tanimlama dilleri DMOZ tabanli Verilog AMS Technical Subcommittee 24 Kasim 2005 tarihinde Wayback Machine sitesinde Kaynakca J Mermet editor Fundamentals and Standards in Hardware Description Languages Springer Verlag 1993