[Suzaku:01515] Re: Starter Kit Guideを参考にしたEDK上でのプログラミングについて

Ken-ichiro Ishikawa email@hidden
2009年 6月 13日 (土) 16:57:03 JST


石川です。

連投すいません。


XPSで自作のVerilogのプログラムを組み込んだシステムの開発をしようとしています。
Starter Kitの11章を参考に自分のプログラムに合わせながら開発をしています。

色々やってみたところVerilogのプログラムをコンパイルしてくれないため、
インターフェイス部になっているVHDLのプログラムのコンパイル時に
top_circuit is not an entity name
というエラーが出てしまっているようです(top_circuitはVerilogのプログラムのモジュール名)。

やったことは
1.
E:\TimeSynchronization\sz310-add_slot-20071214\pcores\opb_sil00_v1_01_c\data
の
opb_sil00_v2_1_0.mpd
の記述を
OPTION HDL = MIXED
に変更。

2.
E:\TimeSynchronization\sz310-add_slot-20071214\pcores\opb_sil00_v1_01_c\hdl\verilog
の下に
top_circuit.v
sync.v
を置く(両プログラムが自作のVerilogプログラム)。

3.
E:\TimeSynchronization\sz310-add_slot-20071214\pcores\opb_sil00_v1_01_c\data
の
opb_sil00_v2_1_0.pao
に
lib opb_sil00_v1_01_c top_circuit verilog
lib opb_sil00_v1_01_c sync verilog
lib opb_sil00_v1_01_c user_logic vhdl
lib opb_sil00_v1_01_c opb_sil00 vhdl
を追加。

4.
user_logic.vhdのプログラムを変更し、topp_circuitと接続。

です。

E:\TimeSynchronization\sz310-add_slot-20071214\synthesis
の
opb_sil00_0_wrapper_xst.srp
を読む限り、
top_circuitやsyncのコンパイルはされずに飛ばされてuser_logicのコンパイルに移ってしまっているようです。

他にやらなければならないことがあったら指摘してください。
よろしくお願いします。

2009/06/13 11:16 に Ken-ichiro Ishikawa<email@hidden> さんは書きました:
> 石川です。
>
> 中島さん、ご回答ありがとうございます。
>
> 中島さんのアドバイスを参考にcomponent文を入れてみたりもしたのですが、
> ダメでした。
>
> その後、Starter Kitのサンプルプログラムをダウンロードして
> それをいじるという方向に方向転換したのですが、
> VHDL文からVerilogのプログラムを認識させることができずに
> 困っています。
> XPSが自動生成するVHDLで書かれたuser_logicなどのプログラムから
> 自分が作ったVerilogのプログラムの回路を呼び出そうとするのですが、
> top_circuit is not an entity name
> となってしまい、エラーになってしまいます(top_circuitはVerilogのプログラムのモジュール名)。
> paoファイルには
> lib opb_sil00_v1_01_c top_circuit verilog
> lib opb_sil00_v1_01_c sync verilog
> lib opb_sil00_v1_01_c user_logic vhdl
> lib opb_sil00_v1_01_c opb_sil00 vhdl
> と記述してあります。
>
> XPSでVHDLからVerilogのモジュールを呼び出すときの注意点などを教えていただければ幸いです。
>
> よろしくお願いします。
>
> 2009/06/11 10:34 に mio<email@hidden> さんは書きました:
>> 中島です。
>>
>>> 石川です。
>>>
>>> 初心者質問ばかりしてしまって申し訳ありません。
>>>
>>> Starter Kit Guide 2.3.3を参考にしながら
>>> EDK8.2を使って、SUZAKU-V上でプログラムを動かそうとしています。
>>>
>>> Starter Kit Guideにしたがって、自分の回路に合わせて変えながら開発したつもりなのですが、
>>> >ERROR:HDLParsers:709 -
>>> "E:/TimeSynchronization/ProjectFile/pcores/top_v1_00_a/hdl/vhdl/top.vhd"
>>> Line 400. user_logic is not an entity name
>>> というエラーをどうにもできなくて困っています。
>>> 400行目というのは
>>>   USER_LOGIC_I : entity top_v1_00_a.user_logic
>>> です。
>>> topというのはStarter Kit Guideではopb_sil00uとしている回路です。
>>>
>>> top.vhdでは始めの方で
>>> library top_v1_00_a;
>>> use top_v1_00_a.all;
>>> としていますが、
>>> ここを
>>> library top_v1_00_a;
>>> use top_v1_00_a.user_logic;
>>> とすると
>>> Library unit user_logic is not available in library top_v1_00_a.
>>> というエラーになるのでLibraryで読み込めていないのかもしれないと思っていますが、
>>> どうすればLibraryで読み込めるようになるのかわからずに困っています。
>>>
>> 私もよく似たエラーでたびたび悩まされるのですが、
>> どこかしらにタイプミスがあったりとかが多かったりします。。
>> paoファイルのほうも間違いはないでしょうか?
>>
>> どうしても
>> USER_LOGIC_I : entity top_v1_00_a.user_logic
>> の書き方でうまくいかないなら、とりあえず、
>> componentをかいてしまったほうがらくちんかもです。
>> かなり適当ですが、以下のような感じです。
>>
>> entity top is
>>  port (
>>    SYS_RST         : in  std_logic
>>  );
>> end top;
>>
>> architecture imp of top is
>>
>> component user_logic
>>  port (
>>    din        : in  std_logic
>>  );
>> end component;
>>
>> begin
>>
>>  USER_LOGIC_I : user_logic
>>    port map (
>>      din        => DATA_IN
>>    );
>>
>> end architecture imp;
>>
>>
>> 何か良い資料があればよいのですが、
>> 文書として素敵なものはみつけられていません。
>> ひたすら、いろんなコードを読んでみるのみでしょうか。
>>
>>> 要領を得ていない質問&状況説明かもしれず、誠に申し訳ありませんが、
>>> わかる方、
>>> どうすればいいのか?
>>> 情報が足りないのであればどういう情報をお話しすればいいのか?
>>> 教えていただけませんか?
>>>
>>> よろしくお願いします。
>>
>>
>> _______________________________________________
>> suzaku mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>>
>



suzaku メーリングリストの案内