2009-03-16 15 views

答えて

10

私はVeranogについて何も知らないのですが、私はCPANにVerilog Distributionがあることに注意していますが、あなたの仕事に関連するモジュールがたくさん含まれています。 search.cpan.orgで検索すると、いくつかの利点があります。

いずれにしても、実行する前に歩く方法を学ぶ必要があります。新しい言語を学ぶときに目標を達成するのは優れていますが、Perlの構文とセマンティクスを理解していない限り、モジュールはあなたを助けません。

あなたが学ぶべき良い本を探しているなら、既に述べた学習Perl(by Stackoverflow Regular brian d foy)は優れています。あなたが見つけることができる最新版を入手してください。 今すぐの学習を開始したい場合は、Perl Training AustraliaProgramming Perl course manualをダウンロードすることをおすすめします。両方のリソースには多くの詳細な例が含まれており、詳細な情報へのリンクがあり、あなたの知識を固めようとすることができます。

Perl 5 wikiにはrecommended online tutorialsのリストもあります。

開示:私はPerl Training Australiaのコースマニュアルの共同執筆者であり、Perlコミュニティのヒーローのひとりとしてブライアン・ダイフォーズを賞賛します。私はまた、Perl 5のwikiに時折貢献しています。

すべてのベスト、

ポール

+2

データいじるのperlのセクションでものを見つけることも、Perlののだ主な用途は、単にテキストのうちのものを引っ張っている人のために良い本です。 –

6

私はVerilogについて何も知らないが、既に別のプログラミング言語に精通しているなら、Perlを学ぶことを強くお勧めします

this pageを後でチェックすることもできます。

2

私は出力の解析についてはわかりませんが(具体的にどのようなものかを特定する必要があります)、最近更新されたgood guide to existing Verilog-based modulesがあるようです。

1

のVerilogゲート・レベルのネットリストファイルは、Synopsys社のDesign Compilerなど、通常はいくつかのソフトウェアから出力された単なるテキストファイルですので、彼らはによって解析されるのに適していますPerl。

単純なテキストファイルなので、Perlに関しては特別なことはありません。 Perlの構文と正規表現の基礎を紹介するPerlのチュートリアルを学習し、そこで学ぶことはVerilog関連のタスクに容易に適応できるはずです。例: http://perldoc.perl.org/perlintro.html - 一般的なイントロについては、 http://perldoc.perl.org/perlretut.html - 良い正規表現チュートリアル用。

しかし、単純なプログラムでも多くの隠れたフォールトを持つことができます。

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"; 

でもこの短い例では、潜在的なエラーに満ちている:たとえば、あなたは、階層Verilogネットリストからすべてのモジュール名を印刷したいと言うことができますモジュール名が同じ行にないものならば」モジュール "キーワード?モジュールの開口部( ""とモジュール名の間にスペースがない場合はどうでしょうか?行頭と "module"キーワードの間にスペース(またはスペース)がある場合はどうなりますか?

これらの問題に注意する必要があります。特定のVerilog関連タスクのためのシンプルなワンショットソリューションが必要な場合は、上記のソリューションのような単純なPerlスクリプトは、将来のユーザーに既知の欠点を警告するために適切に文書化されていれば、

Verilogコードのより複雑な解析を含む、もっと複雑なものが必要な場合は、既存のツール(コンパイラ、リンター、等価チェッカー、シミュレータなど)のいずれかが、あなたが必要とするデータ。これらのツールにはすべて、成熟したVerilogパーサーが含まれており、速度/メモリに最適化されており、頻繁にデータにアクセスするためのTclベースのインターフェイスを提供しています。

私の上にいるいくつかの人々は、Verilog-Perlを推奨しています。私はそれを試して、それが非常に遅いことがわかった。 100MBを超えるネットリストを扱っている場合は、このソリューションを使用しませんが、あなたの走行距離は異なる場合があります。

1

私はあなたがVerilog Perlを探していると思います。 Verilog/VHDLのPerlの有料クラスについては、this from Doulosと考えてください。私は一般的にPerlを学ぶためのPerl Training AustraliaのProgramming Perlコースマニュアルの投票に2番目を付けます。

2

perldocのPerl Introは私が最初に学んだ方法です。これは、言語の本当に速くて簡単な見通しです。すでにプログラミング言語を知っている初心者はすべてここから始めるべきです。約30分で読み込み、コーディングを開始する準備ができています。

関連する問題