Verilog HDLでは、異なる値を持つ2つの思い出

V

vivek_p

Guest
私の設計では私は2つ(2)同一のメモリを使用する。私は、Verilog HDLでのメモリのためのコードを書かれている。 MEM㎡(ポートリスト);私は上記のように思い出をインスタンス化している私のモジュールは"mem.v"/ /インスタンス化MEM M1(ポートリスト)であると言う。私は、異なる値を持つ2つのメモリを初期化したい。どのように私はそれを行うことができますメモリの2つのコピーを作成せずには、私は"mem1.v"と"mem2.vを言う".........と独立してそれを初期化するという意味。助けてください.....緊急
 
シミュレーションの開始時に実行されるコードのuでそれらを初期化についてはどうですか? - アムルアリ
 
私は昔のverilogでコードしなかった、私はカントの例を示します。私は1つを検索します。私の考え方は、機能のリセット時に各メモリにロードするデータを記述することです。 - アムルアリ
 
しかし、ザイリンクスまたはシノプシスを使用して関数を合成することができる
 
ファンクションとプロシージャを合成することができますが、なぜあなたは実行時にメモリを初期化する必要があるのですか?!これは通常、ブートローダーの仕事です。 - アムルアリ
 
誰もが、サンプルコードを投稿できますか?してください
 
これは私がそれを行うという方法です。あなたがmem.vを自分で書いてから、あなたにもある内部の初期化ルーチンを追加することができます。例えば:/ / mem.vモジュールMEM、REG [7:0] mem_array [99:0]; / /メモリアレイのタスクのinit、入力[200 * 8-1:0] data_fileを、/ / 200最大文字のためのデータファイル名$ readmemb(data_fileを、mem_array); EndTaskはのendmodule / / top.vモジュールの上部、MEM M1(ポートリスト); MEM㎡(ポートリスト);初期開始m1.init("m1_data_file.txt"); / /データファイルm2.init("m2_data_file.txt")とinitのメモリ1、データファイルの最後のendmoduleで/ / initのメモリ2は、この情報がお役に立てば幸いです。 - ハング
 
ザイリンクスとシノプシスで上記のコードの論理合成です。
 

Welcome to EDABoard.com

Sponsor

Back
Top