Domanda

Sono uno sviluppatore incorporato autodidatta. Uso principalmente AVR programmati in C e ASM, ma mi sono dilettato con altri sistemi. Sto cercando di passare a dispositivi più complessi come CPLD e FPGA, ma non ho idea da dove iniziare. Quindi le mie domande e mezzo sono:

  1. Preferisci VHDL o Verilog e perché?
  2. Qual è un buon modo per chi non ha alcuna esperienza precedente in HDL iniziare a imparare una tale bestia?
È stato utile?

Soluzione

Acquista un kit di partenza economico da Xilinx o Altera (i due grandi giocatori FPGA). Un kit di partenza Xilinx Spartan3 costa $ 200.

Personalmente preferisco VHDL. È fortemente tipizzato e ha funzionalità più avanzate rispetto a Verilog. VHDL è più popolare in Europa e Verilog domina negli Stati Uniti.

Acquista un libro (ad esempio Peter Ashendens The Designers Guide to VHDL) e inizia a simulare i tuoi progetti in un simulatore gratuito. ModelSim di Mentor Graphis è buono e ci sono versioni gratuite disponibili (con velocità di simulazione paralizzata).

Crea un progetto interessante (mini cpu, grafica vga, sintetizzatore) e inizia a progettare. Simula sempre e assicurati che il tuo progetto funzioni prima di inserirlo nell'hardware ...

Se non hai esperienza nell'elettronica digitale, acquista un libro anche in quell'argomento.

Altri suggerimenti

Ai tempi in cui lavoravo al design ASIC, era in verilog. In molti casi come designer non puoi scegliere: gli strumenti di sintesi ASIC per un HDL costano una notevole quantità di denaro e le aziende acquistano la toolchain completa solo per un & Quot; beato & Quot; linguaggio. Il mio datore di lavoro aveva standardizzato Verilog, quindi è quello che abbiamo usato.

Gli strumenti di sintesi FPGA sono notevolmente più economici, quindi hai più libertà come designer FPGA di scegliere la tua lingua e i tuoi strumenti preferiti.

Ci sono anche simulatori di verilog gratuiti disponibili su verilog.net .

Come accennato da @kris, anche una scheda di partenza FPGA è una buona strada da percorrere. Far accendere il tuo codice Verilog su un LED su una scheda è infinitamente più soddisfacente di una forma d'onda del simulatore sullo schermo.

Dai un'occhiata anche a opencores.org - Ci sono alcuni articoli e un sacco di codice open source in entrambi Verilog e VHDL da cui puoi imparare.

Per quanto ne so, VHDL vs Verilog diventa altrettanto religioso come Ruby vs Python o Java vs C #. Diverse persone hanno i loro preferiti.

Dai un'occhiata a questo sito: http://www.fpga4fun.com/

Simpatici progetti semplici che utilizzano strumenti semplici. Ho usato una di queste schede alcuni anni fa per creare un piccolo sistema di visualizzazione VGA da utilizzare come bacheca.

Guardando di nuovo il sito sto pensando di ottenere una scheda Xylo-LM in quanto ha un processore ARM, SDRAM e Xilinx Spartan 3e.

Un'altra scheda che ho usato prima era l'XPort 2 di Charmed Labs. Questo si inserisce in un Gameboy Advance che è ben supportato con strumenti di sviluppo open source.

Scopri: http://www.charmedlabs.com/index.php?option=com_virtuemart&page=shop.browse&category_id=6&Itemid=43

Un'altra cosa a cui pensare è se dovresti iniziare imparando un HDL, o imparando la logica booleana, le mappe di Karnaugh, il teorema di DeMorgan, le porte, implementando l'aritmetica nelle porte, ecc. È facile scrivere HDL non sintetizzabile se non hanno un modello mentale accurato di come apparirà l'hardware sottostante.

Questo libro è la versione Verilog del uno che ho usato a undergrad, e secondo me ha fatto un ottimo lavoro. Ti inizia con il materiale sopra menzionato, oltre ad alcune informazioni di base e di base sull'implementazione delle porte a livello di transistor, quindi ti introduce in un HDL e ti fa costruire blocchi hardware strutturali e comportamentali progressivamente più complessi. Sì, lo so che è ingiustamente costoso, come la maggior parte dei libri di testo del college, ma questa è una di quelle cose per le quali le informazioni che sono stato in grado di trovare online, almeno, sono state dolorosamente inadeguate.

Quando sei pronto a scegliere un HDL, consiglio vivamente Verilog (avendo appreso prima VHDL). Sì, VHDL era una volta molto più ricco di funzionalità rispetto a Verilog, ma le revisioni successive del linguaggio (Verilog 2001, Verilog 2005, SystemVerilog, ecc.) Hanno raccolto molte delle funzionalità interessanti e c'è un supporto per toolchain molto più robusto per Verilog e la sua variante in questi giorni, oltre ad essere il linguaggio dominante in uso negli Stati Uniti (secondo la mia esperienza, VHDL viene utilizzato qui solo quando si tratta di blocchi legacy estremi e in contesti accademici, in parte a causa del supporto degli strumenti menzionato in precedenza). Infine, una volta che hai imparato l'HDL, hai un linguaggio di verifica hardware (HVL) in SystemVerilog con sintassi a superset rigoroso, risparmiando un bel po 'della curva di apprendimento. Non è così per VHDL, per quanto ne so.

Altera e Xilinx hanno simulatori integrati nei loro set di strumenti gratuiti. Sono versioni limitate dei famosi strumenti Mentor ModelSim. Gestiranno le dimensioni dei disegni che è probabile che si adatteranno in un & Lt; Pensione da $ 500 (USA).

Per la scelta di HDL Verilog è in C come VHDL è in ADA. Quindi Verilog è più facile da iniziare, ma puoi fare errori più facilmente. Controlla gli avvisi di simulazione e compilazione per evitare tali problemi.

Verilog è molto più facile da imparare e sintassi più semplice. È anche una lingua più recente. In secondo luogo, molte persone usano verilog. VHDL ha molti tipi di dati che gli danno una curva di apprendimento. Una volta che conosci Verilog, sarà più facile colmare il divario con VHDL. Oh e c'è anche macro in verilog che sono molto neet. Ho inventato una lingua con essa. Infine, sarai finalmente in grado di realizzare progetti HW in linguaggio misto. Ho iniziato con VHDL, poi ho imparato Verilog e ora sono Pro Verilog.

Ero nella stessa barca come sei ora un semestre fa. Il mio libro preferito era questo , poiché parlava di FPGA esaminando la logica digitale . Mostra anche confronti diretti tra il codice VHDL e il codice Verilog in modo che, invece di sceglierne uno a cui le persone possano spingerti, puoi imparare quello che ti piace stilisticamente.

Come per un FPGA stesso, usa ISE webpack per eseguire la programmazione (è gratuito) e iniziare con FPGA come scheda FPGA Basys2 . È un FPGA molto piccolo che dovrebbe iniziare a un prezzo ridotto, ma ha l'ulteriore vantaggio di apprendere molto presto la gestione delle risorse e della memoria. Puoi utilizzare Adept (anche gratuito) di Digilent per semplificare la vita in caricamento del tuo " compilato " codice alla lavagna.

Buona fortuna!

Prima di immergermi in Verilog / VHDL o di acquistare un kit di sviluppo FPGA, consiglierei di seguire una lezione introduttiva sul design digitale. Esistono buone OpenCourseWare MIT online.

Buona fortuna.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top