Voglio iniziare a studiare Perl, in particolare per il controllo dei file di output verilog. C'è qualche tutorial specifico per dire ingegneri Perl per Verilog o qualcosa del genere?Esiste un tutorial Perl per gli ingegneri di Verilog?
risposta
Temo di non sapere nulla di Verilog, anche se noto che c'è un Verilog Distribution sul CPAN e contiene molti moduli che potrebbero essere rilevanti per il tuo lavoro. Effettuare una ricerca su search.cpan.org potrebbe anche fornire alcuni vantaggi.
In ogni caso, è necessario imparare a camminare prima di poter correre. È eccellente avere un obiettivo quando si impara una nuova lingua, ma i moduli non ti aiuteranno se prima non capisci la sintassi e la semantica di Perl.
Se stai cercando un buon libro da cui imparare, il già citato Learning Perl (di Stackoverflow Regular brian d foy) è eccellente; prendi l'ultima edizione che puoi trovare. Se si desidera iniziare l'apprendimento al momento, quindi mi consiglia di scaricare . Entrambe le risorse contengono molti esempi approfonditi, link ad ulteriori informazioni ed esercitazioni che puoi provare a rafforzare le tue conoscenze.
C'è anche un elenco di recommended online tutorials su Perl 5 wiki.
Disclosure: Sono coautore dei manuali del corso Perl Training Australia, e ammiro brian d foy come uno degli eroi della comunità Perl. Sono anche un collaboratore occasionale del wiki Perl 5.
Tutto il meglio,
Paul
Non so nulla di Verilog, ma se hai già familiarità con un altro linguaggio di programmazione, ti consiglio vivamente Learning Perl.
Si potrebbe anche verificare this page per dopo.
Non sono sicuro di analizzare l'output, (dovresti essere più specifico su come sembra) ma sembra esserci un good guide to existing Verilog-based modules che è stato aggiornato di recente.
Verilog gate-livello di file netlist sono solo file di testo, di solito in uscita dal alcuni software come Synopsys Design Compiler, in modo che siano adatti ad essere analizzato da Perl.
Essendo semplici file di testo, non c'è davvero nulla di speciale riguardo a Perl. Studia qualsiasi esercitazione in Perl che ti introduca alle basi della sintassi Perl e delle espressioni regolari e ciò che imparerai dovrebbe essere facilmente adattabile alle tue attività relative a Verilog. Vedi ad esempio: http://perldoc.perl.org/perlintro.html - per un'introduzione generale. http://perldoc.perl.org/perlretut.html - per un buon tutorial sulle espressioni regolari.
Tuttavia, anche un semplice programma può presentare molti errori nascosti. Per esempio, diciamo che si desidera stampare tutti i nomi di modulo dal gerarchica Verilog netlist:
use strict;
use warnings;
my $infile = $ARGV[0] or die "$0 Usage:\n\t$0 <input verilog file>\n\n";
open(my $in_fh , '<' , $infile) or die "$0 Error: Couldn't open $infile for reading: $!\n";
while(<$in_fh>) {
if (m/^module\s+(\S+)/) {
print "$1\n";
}
}
close($in_fh) or die "$0 Error: Couldn't close $infile after reading: $!\n";
Anche questo breve esempio è piena di potenziali errori: che cosa succede se il nome del modulo non è sulla stessa linea della " modulo "parola chiave? cosa succede se non c'è spazio tra l'apertura "(" del modulo e il nome del modulo?cosa succede se c'è uno spazio (o spazi) tra l'inizio della linea e la parola chiave "modulo"?
È necessario essere consapevoli di queste sfide. Se tutto ciò di cui hai bisogno è una semplice soluzione one-shot per un'attività specifica di Verilog, un semplice script Perl come la soluzione di cui sopra è una buona soluzione, purché sia adeguatamente documentato per avvisare i futuri utenti delle sue note mancanze.
Se avete bisogno di qualcosa di più complesso, che comporta un parsing più complesso del codice Verilog, potrei provare a vedere se qualcuno dei vostri strumenti esistenti (compilatore, linter, correttore di equazioni formali, simulatore, ecc.) Vi dà accesso al dati di cui hai bisogno. Tutti questi strumenti includono parser Verilog maturi e funzionanti, ottimizzati per velocità/memoria e spesso forniscono un'interfaccia basata su Tcl per l'accesso ai dati.
Diverse persone sopra di me hanno consigliato Verilog-Perl. L'ho provato e ho trovato estremamente lento. Se gestisci netlist superiori ai 100 MB, non utilizzerei questa soluzione, ma il tuo numero di chilometri può variare.
Credo che stiate cercando Verilog Perl. Per una classe di pagamento su Perl per Verilog/VHDL, considerare this from Doulos. In secondo luogo il voto per il manuale del corso Perl in Australia Perl per l'apprendimento in generale.
Il Perl Intro su perldoc è il modo in cui l'ho imparato per la prima volta. È un oveview veramente veloce e facile della lingua. Tutti i principianti che conoscono già un linguaggio di programmazione dovrebbero iniziare qui. Puoi leggerlo in circa mezz'ora e essere pronto per iniziare la codifica.
Si può trovare uno nella sezione perl di http://pickatutorial.com
- 1. Esiste un utile tutorial per Android Animation per principianti?
- 2. Esiste un delicato tutorial sulla funzione hash?
- 3. Esiste un equivalente C per il modulo Carpa di Perl?
- 4. Esiste un supporto per gli script su Windows Phone?
- 5. mappa per gli hash in Perl
- 6. Un tutorial per libjingle?
- 7. Esiste un modulo come LWP di Perl per Ruby?
- 8. Esiste un modulo Perl in grado di automatizzare ollydbg?
- 9. Includere un modulo in verilog
- 10. Esiste un Tutorial di Restkit 2.0 come raywenderlich?
- 11. Esiste un buon tutorial per l'implementazione di un'applicazione per la realtà aumentata per iPhone?
- 12. Esiste uno strumento di analisi statico come Lint o Perl :: Critic per gli script di shell?
- 13. Esiste un modo più semplice per creare il pacchetto perl
- 14. Esiste un editor per il pod Perl WYSIWYG?
- 15. Esiste una shell REPL per Perl 6?
- 16. Esiste un OO Perl equivalente a un'interfaccia?
- 17. Esiste un buon tutorial o risorsa disponibile su SolrJ?
- 18. Esiste un eccellente tutorial su come usare emacs?
- 19. Tutorial per OpenGL per iPhone
- 20. Tutorial per ServiceMix 4.2
- 21. Esiste un buon tutorial (esempio) per il test unitario del progetto di base di kohana?
- 22. Tutorial per ClojureBox
- 23. Esiste un buon riferimento per gli intrinsechi di ARM Neon?
- 24. Esiste un equivalente di scipy.signal.deconvolve per gli array 2D?
- 25. Esiste un analogo MGET per gli hash di Redis?
- 26. Esiste un python equivalente all'avvio di modulo di perl?
- 27. WEKA Tutorial/Esempi per un newbie
- 28. Tutorial di layout reattivo?
- 29. Python per un programmatore Perl
- 30. Verilog interrogativo operatore (?)
dati munging con Perl da Dave Cross è anche un buon libro per la gente che è l'uso primario di Perl è semplicemente tirando roba fuori testo. –