HDL'yi nasıl öğrenirim


24

Bu dönemde Digital Design'da bir kurs alıyorum ve sadece onu seviyorum. Artık gömülü sistem ve dijital tasarımdaki çalışmaların çoğunun önce bilgisayar simülatörleri üzerinde yapıldığını ve ardından donanım kullanarak uygulandığını biliyorum. Bu yüzden HDL öğrenmeye nasıl başlamalıyım diye merak ediyordum. Birkaç sorum var

  1. Ne? Standartların ne olduğunu bilmiyorum ama hangisini alması kolay olduğunu öğrenmek istiyorum. HDL'lerin çoğunun FPGA'lar ile kullanılmak üzere tasarlandığını biliyorum.
  2. Nasıl? Bir ders kitabını bağımsız örneklerle izlemeli miyim yoksa küçük bir sistemin uygulanması gibi bir projeye mi katılmalıyım (trafik ışığı kontrolü gibi bir şey olabilir).
  3. Nerede? Kaynakları nereden edinebilirim?

1
HDL'nizden ne istediğinizi netleştirebilir misiniz? Çoğu HDL, FPGA'larla birlikte kullanılmak üzere tasarlanmıştır, çünkü çoğu insan bunun için bir FPGA'ya ihtiyaç duyar. Genel olarak, FPGA olmayan ve ASIC olmayan devre tasarımı için (grafik şematikten çalışan) bir simülatör kullanılır. İnşa etmek istiyor musunuz: (1) Ayrık dijital devreler, yani 74XX bileşenleri, (2) Analog devreler, yani anahtarlama düzenleyicileri, RF antenleri / alıcı vericileri, genel op-amp devreleri veya (3) Analog karışık sinyal devreleri, yani Arayüzleme Dijital ve analog sinyaller arasında.
Kevin Vermeer

Donanım tanımlamak için HDL öğrenmek istiyorum. Bu 1, 2 ve 3'tür. Ayrıca bir tanesinde FPGA'ya özgü olmamasını istiyorum, çünkü bunları elde etmek için erişimim veya finansmana sahip değilim.
Rick_2047

Donanım tanımlamak için HDL öğrenmek istiyorum. Bu 1, 2 ve 3'tür. Ayrıca bir tanesinde FPGA'ya özgü olmamasını istiyorum, çünkü bunları elde etmek için erişimim veya finansmana sahip değilim. Sanırım temelde HDL'yi düşündüklerimi simüle etmek için kullanmak istiyorum. Bu yılki büyük bir plan kendi bilgisayarımı oluşturmak. Sanırım bunun için 74xx kullanacağım. Bu yüzden teorilerimi ve devrelerimi test etmek için HDL fikri gündeme geldi.
Rick_2047

Yanıtlar:


8

Hangi HDL kullanmak istediğinizi netleştirir misiniz? Seçenekler temel olarak Verilog veya VHDL, [EDIT] ve akrabaları, Verilog-ASM ve VHDL-ASM'dir (Analog karışık sinyal). [/ EDIT] Verilog, daha önce C ile çalıştıysanız almayı kolaylaştıran, ancak bu aynı zamanda kötü alışkanlıklar geliştirmeyi kolaylaştıran bazı C benzeri sözdizimlerine sahiptir - hepsi paralel! Ayrıca C gibi, ne yaptığını bildiğini varsayar ve kendini ayağından vurmak kolaydır. VHDL sizi tamamen farklı bir şekilde düşünmeye zorlar, bu yararlı ama zor. Daha ayrıntılı ve garip bir şey yaparsanız sizi uyarması daha olasıdır. Bu Slashdot tartışmasına veya bu makaleye bakın .

EDIT: "Netlist dilleri" tasarım çalışmaları için kullandığım bir şey değil (bir metin editöründe), ama yapabileceğinizi varsayalım. SPICE, Cadsoft Eagle'ın biçimi ve EDIF, akla gelen örneklerdir (çok farklı amaçlarla). Şemalarımın doğru olduğunu doğrulamak için netlists kullandım (kartal şematiklerimdeki her bağlantı mantıklı geliyor), bir simülatörün sağladığı soyutlamayı düzeltmek için (SPICE, birinin C'deki ASM deyimlerini kullanmasına benzer şekilde) veya Farklı programlar arasında (EDIF) ihracat / ithalat yapmak. Spectre netlisting dil Verilog-A [nalog] ve baharat ile ilgilidir, ve tasarım ve doğrulama çalışması için tasarlanmıştır. DİREK
Verilog-AMS ve VHDL-AMS ile uyumlu bir bileşen modelleme dilidir. Bu dillerdeki öğreticileri aramak, ağda yayın yapan dilin kendisinde programlama yapmak yerine şematik yakalama araçlarına benzeyen araçların sıklıkla kullanıldığını göstermektedir.

Ayrıca Xilinx Spartan FPGA'yı ve bir Digilent geliştirme kartını da ikinci kez kullanacağım . Ancak, O Engenheiro (Eğitim Ücretli Fiyatlar) tarafından belirtilen Başlangıç ​​tahtasındaki (150 $) Ethernet'e ihtiyacınız yoksa Basys (60 $) veya Nexys (100 $) ile giderim. Basys ve Nexys daha ucuzdur ve bu nedenle okullarda daha popülerdir, bu nedenle çevrimiçi olarak daha fazla öğretici ve laboratuvar vardır.


"Netlist" dillerini öğrenmenin Verilog veya VHDL öğrenmeye göre daha mı faydalı veya daha kolay olacağını mı merak ediyordum?
Rick_2047

Söylemesi zor. Dilinizde ne yapmak istediğinize bağlı. Yarım düzine dilin ve müthiş kullanım durumlarının her permütasyonu için nasıl ve nereye girmeden önce ne yapmak istediğinizi ve ne tür bir dil kullanmak istediğinizi daha iyi anlayabilir miyiz?
Kevin Vermeer

9

Neredeyse seninle aynı durumdayım.

Ben ne yapıyorum:

Okuduğum kolejde çok basit bir VHDL kursu aldım. Spartan 3E tahtası ile oynadım .

Ben de tahtayı aldım ve oynamaya başlayacağım.

Bir arkadaşım bu kitapları önerdi:

  1. Dijital Sistemlerin Hızlı Prototiplemesi , James O. Hamblen, Michael D. Furman
  2. Doone Yayınları - HDL Çip Tasarımı , Douglas J Smith

Ve o da bu dokümanı önerdi:

Xilinx Sentezi ve Simülasyon Tasarım Kılavuzu


1
Hamblen ve Furman kitabından sonra ikinci olarak çıkardım. Kendi küçük Altera Flex 10K10 kartımı tasarladım ve kitaptaki kodun çoğunu onunla birlikte kullanabildim. Bu bir yemek kitabı, ama bunun için daha kötü değil.
Leon Heller

4
  1. İki HDL dili vardır, bunlar VHDL ve Verilog'dur. Profesörünüze, nasıl çalıştığını görmeye çalışacağınızı ve nasıl çalıştığını görmeye çalışacağınız profesörünüze sorun: sözdizimi ve bu konuda nasıl modüller yapabilir ve TÜM dijital devreler hakkında büyük bir inceleme yapabilirsiniz.

  2. Herhangi bir şeyi yapmadan önce 1, dijital devreler hakkında gerçekten her şeyi bildiğinizden emin olun, çünkü HDL yeni bir şey yaratmaz, bu şeyleri yalnızca farklı bir şekilde kullanırsınız. Böylece, yukarıdaki iki kitaptan birini kullanabilir, bazı alıştırmalar yapmak için, tavsiye ettiği kitaplardan öğretmeninize sorabilir ve yukarıdaki ikisinden birini kullanabilirsiniz.

  3. Eğer Altera, Xilinx, Lattice veya diğer, eğer Altera Quartus Web Sürümü'nü indirirse, eğer Xilinx, ISE Webpack ise bunlardan ücretsiz olarak indirebilirlerse, FPGA'nın derslerde kullanacakları öğretmeninize sorun. Yazılımlardan birini öğrenmeye çalışın ve egzersizlerinizden bazılarını yapın.

Haklısınız, HDL'deki çalışmaların yaklaşık% 90'ı simülatörlerde, bu yüzden Modelsim simülatörü ve / veya xilinx'deki ISIM simülatörü hakkında bilgi edinin, komutlar ve test tezgahlarının nasıl yapılacağını öğrenin.


İki büyük HDL. CUPL, MyHDL ve Lava gibi daha az popüler olanlar var. Üniversitemdeki Dijital Tasarım dersi VHDL'den bahsetti, ancak laboratuarda CUPL kullandı. Wikipedia hakkında daha fazla: en.wikipedia.org/wiki/…
Yann Vernier

3

Nerede çalışıyorsanız çalışın, kullandıkları HDL'yi kullanmak zorunda kalacaksınız - böylece işe alma şansınızı arttırmak için hem Verilog hem de VHDL ile biraz zaman geçirin. Oldukça basitti: Verilog, ABD'de ve Avrupa'da VHDL'de kullanılıyordu - bugünlerde basit değil.

Yukarıdan birisi VHDL için 'farklı düşünmeyi' öğrenmekten bahsetti - bunu yapmak zorundasın, bunun için C'ye benziyor ama görünmüyor - başlamak için iyi bir yer, bir kez ulaştığında tellerin ve flopların nerede üretildiğini görmek - Bunları görebileceğiniz ve kafanızdaki zamanlama tehlikelerini 'sadece' görebildiğiniz nokta.


2

icarus verilog veya verilator, öğrenmek veya verilog ile oynamak için tavsiye edeceğim şeyler. ghdl, vhdl ile oynamak için kullanacağım şey. Ana akımdan uzakta değil, aynı zamanda kendi sim ortamına sahip olan ve sentezlenebilir verilog üreten cyclicity-cdl.sf.net 'i de tavsiye ederim. simülatörler tarafından oluşturulan .vcd dosyalarını incelemek için gtkwave kullanın ve öğrenin.


1

Verilog'u üniversitede bir kursta öğrendim. Bu kursun sonucu 2 yollu Superscalar MIPS işlemcisinin uygulanmasıydı (sınıfın% 30'u tamamen işe yaradı; diğer% 70'deydim). Sanırım endüstrideki işler, Verilog'dan ve VHDL'den uzaklaşarak giderek büyüyor. Olduğu söyleniyor, her iki dil için çok sayıda çevrimiçi öğreticiler var. İşte VHDL bir tane ve burada Verilog bir tane .

Muhtemelen ModelSim'i kullanmak isteyeceksiniz ve muhtemelen öğrenci baskısını kullanabilirsiniz (bence ücretsiz; belki de kısıtlamalarla). Bu arada, VHDL 2nd Edition'ı Ders Kitabı Olarak Kullanan Dijital Sistemler Tasarımını kullanmanızı önerirler .


1

İşte size uygun olabilecek ucuz bir FPGA geliştirme kiti. Ancak, onunla çalışan Açık kaynak araçlarının seviyesinden emin değilim. Satıcının araç takımı zincirleri ücretsiz olarak indirilebilir. Bu kitin kullanabileceği fiyat noktasında gidip almaya değer olduğunu duydum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.