[Suzaku:01951] Re: IPコアの合成

gs09055 email@hidden
2010年 9月 3日 (金) 16:56:57 JST


 谷敷です。お世話になっております。

1.SUZAKUのJP1をショート
2.SUZAKUの電源をオン
3.TeraTermにPlease choose one ・・・・の画面で「Enter」
4.iMPACTで書き込み
5.「frob」「Enter]
6.「peek 0xffff42fc」 「Enrer」を入力
7.(SUZAKUから"*0xffff42fc == 0x5007100c "と表示される)
8.「peek 0xffff44fc」 「Enrer」を入力
9.(SUZAKUから"*0xffff42fc == 0x5008100b "と表示される)

という結果になりました

(2010/09/03 14:28), KeichiKawaoka wrote:
> 川岡です。
>
> ソースを確認してみました。
> 問題は無さそうにですね。
>
> 試していただきたいことがあります。
>
> 手順
> 1.SZAUKUのJP1をショート
> 2.送っていただいたファイルを使用し生成したbitファイルをSUZAKUに書込み
> 3.(SUZAKUはhermit(ブートローダ)でとまります)
> 4.(SUZAKUから"hermit > "と表示される)
> 5. 「frob」「Enrer」入力。
> 6.(SUZAKUから"hermit:frob> "と表示される)
> 7.「peek 0xffff42fc」 「Enrer」を入力
> 8.(SUZAKUから"*0xffff42fc == 0x5007100a "と表示される)
> 9.「peek 0xffff44fc」 「Enrer」を入力
> 10.(SUZAKUから"*0xffff42fc == 0x5008100a "と表示される)
>
> 正常にIPコアが組み込まれていたら、CORE ID Registerの
> や0x5008100aという値が返ってくるかと思います。
> (CORE ID RegisterについてはOPB-SIA00 Data SheetやOPB-SIV00 Data Sheet記載がります)
> もし、返ってこなかったらIPコアが組み込めなかったことになるのですが、
> その原因は
>  ・bitファイルが違う
>  ・CON7からiMPACTで書き込んだあと、電源OFF->ONしている
>   などなど
> が考えられます。
>
> 補足
> hermit(ブートローダ)のfrobというのは、
> アドレスを指定し、IOやメモリを読み書きできる機能です。
> 「help」で操作方法を確認できます。
>
>
> (2010/09/03 13:10), gs09055 wrote:
>>   谷敷です。こんにちは。
>>
>> sz130-20090319の物に変更を加えたものになります
>>
>> (2010/09/02 21:11), KeichiKawaoka wrote:
>>> 川岡と申します。
>>>
>>>> Implementationの通りにsz130-20090319の
>>>> mhs,mss,ucfを変更し,
>>> もし、よろしければmhs,mss,ucfを送っていただけませんか?
>>> 変更内容を確認してみたいと思います。
>>>
>>>
>>> (2010/09/02 16:00), gs09055 wrote:
>>>>    谷敷です。こんにちは。
>>>> VHDLに関しては私は全くの素人です。
>>>>
>>>> VHDLを本格的にいじる前段階として
>>>> AV Boardのソフトウェアマニュアルに載っている
>>>> demo-avと同じ動きをするものを作ろうと思した。
>>>>
>>>> demo-avに相当するIPコアがopb-siv00だと思ったので
>>>> それをSUZAKUのデフォルトFPGAプロジェクトと合成しようとしました。
>>>>
>>>> そこでopb-siv00の資料の最後に載っている
>>>> Implementationの通りにsz130-20090319の
>>>> mhs,mss,ucfを変更し,
>>>> * mhsファイル
>>>> - microblaze(4.00.b ->   7.20.d)
>>>> - i_lmb_bram_if_cntlr(1.00.b ->   2.10.a)
>>>> - d_lmb_bram_if_cntlr(1.00.b ->   2.10.a)
>>>> *mssファイル
>>>> -standalone(1.00.a->2.00.a)
>>>> と変更してGenerateNetlist→GenerateBitstream
>>>> として出来たxps_proj.bitを書き込んこんだのですが
>>>> 何も変化が起きなかったので色々方法を模索していました。
>>>>
>>>> ISEを使おうとしたのは12章にそういう方法が載って居たからです。
>>>> 特に資料と違うことをしているというつもりはありませんでした。
>>>>
>>>> (2010/09/01 19:27), KeichiKawaoka wrote:
>>>>> (横からすみません)
>>>>> 川岡と申します。
>>>>> こんにちは。
>>>>>
>>>>> 送っていただいたファイルではVHDLの文法的な面から、
>>>>> おそらく合成できないのではと思われます。
>>>>> もし、VHDLに関してお調べになりたいことがあるならば、
>>>>> まずはVHDLの専門書をご参照されることとお勧めします。
>>>>>
>>>>>
>>>>> あと、参考までに質問をさせていただきたいことがあります。
>>>>> ・現在製作されているProjectの階層構成はどのようになっていますか?
>>>>> ・その各階層間をどの信号で接続しようとされていますか?
>>>>>
>>>>> もし差支えがなければ、
>>>>> ・opb_siv00の資料に示されている内容と違うことをこようとしている理由は?
>>>>> ・SUZAKUスターターキットガイドやVHDLの専門書はお読みになられていますか?
>>>>> を教えていただければと思っています。
>>>>>
>>>>>
>>>>> (2010/09/01 18:24), gs09055 wrote:
>>>>>>     谷敷です。お世話になっております。
>>>>>>
>>>>>> opb_siv00_v1_00_cを書き換えた物を見せてくれとのことですが,
>>>>>> もとからopb_siv00のほうを書き換えているのではなく
>>>>>> xps_proj_stubをopb_siv00.vhdのように書き換えています。
>>>>>>
>>>>>> その書き換えを行っていたファイルを添付します。
>>>>>> ここにipifやopb_siv00の記述を追加しようとしたところでエラーがでます。
>>>>>> 方法がそもそもおかしいかもしれません。
>>>>>>
>>>>>> 後、デフォルトプロジェクトを11.5用に
>>>>>> * mhsファイル
>>>>>> - microblaze(4.00.b ->   7.20.d)
>>>>>> - i_lmb_bram_if_cntlr(1.00.b ->   2.10.a)
>>>>>> - d_lmb_bram_if_cntlr(1.00.b ->   2.10.a)
>>>>>> *mssファイル
>>>>>> -standalone(1.00.a->2.00.a)
>>>>>> と変更してGenerateBitstreamし
>>>>>> SUZAKU-Sスターターキットにダウンロードするとともに、
>>>>>> Linux イメージファイル</files/downloads/suzaku-starter-kit/image/image-sz130-sil-uclinux-dist-20051110-suzaku12.bin>を スターターキット(FPGA開発編)の
>>>>>> </files/downloads/suzaku-starter-kit/image/image-sz130-sil-uclinux-dist-20051110-suzaku12.bin>物に書き換えたところ、
>>>>>> ログインの直前で止まりました。
>>>>>>
>>>>>> 11.5でビルドできるプロジェクトなど公開してましたら教えて下さい。
>>>>>> よろしくお願い致します。
>>>>>>
>>>>>>
>>>>>> (2010/09/01 10:24), mio wrote:
>>>>>>> 中島です。
>>>>>>>
>>>>>>> (2010/08/31 20:27), gs09055 wrote:
>>>>>>>>      谷敷です。
>>>>>>>>
>>>>>>>> OPB、XCLバスの信号すべてをEDK側でExternalし(全部で29本くらい)
>>>>>>>>
>>>>>>>> という作業ですが,mhs,mss,ucfをopb_siv00付属のpdf通りに書き換えると
>>>>>>>> すでにExternal portに追加されているようですが他に手作業で
>>>>>>>> 追加しなければいけない物はありますか?
>>>>>>>>
>>>>>>> 例えば、XCLバスをISEのほうにひっぱりだす場合、
>>>>>>> MHSファイルにて以下のような感じでExternalしなきゃいけません。
>>>>>>>
>>>>>>> ----------------------------------
>>>>>>> PARAMETER VERSION = 2.1.0
>>>>>>>
>>>>>>>
>>>>>>>     PORT clk_in = clk_in, DIR = I, SIGIS = CLK
>>>>>>>     PORT SYS_Rst = SYS_Rst, DIR = I
>>>>>>>     PORT SDRAM_CASn = SDRAM_CASn_w, DIR = O
>>>>>>>     PORT SDRAM_CASn_2o = SDRAM_CASn_w, DIR = O
>>>>>>>     PORT SDRAM_WEn = SDRAM_WEn_w, DIR = O
>>>>>>>     PORT SDRAM_WEn_2o = SDRAM_WEn_w, DIR = O
>>>>>>>     # 途中省略
>>>>>>>     PORT MCH0_Access_Control = MCH0_Access_Control_w, DIR = I
>>>>>>>     PORT MCH0_Access_Data = MCH0_Access_Data_w, DIR = I, VEC = [0:31]
>>>>>>>     PORT MCH0_Access_Write = MCH0_Access_Write_w, DIR = I
>>>>>>>     PORT MCH0_Access_Full = MCH0_Access_Full_w, DIR = O
>>>>>>>     PORT MCH0_ReadData_Control = MCH0_ReadData_Control_w, DIR = O
>>>>>>>     PORT MCH0_ReadData_Data = MCH0_ReadData_Data_w, DIR = O, VEC = [0:31]
>>>>>>>     PORT MCH0_ReadData_Read = MCH0_ReadData_Read_w, DIR = I
>>>>>>>     PORT MCH0_ReadData_Exists = MCH0_ReadData_Exists_w, DIR = O
>>>>>>>     PORT MCH1_Access_Control = MCH1_Access_Control_w, DIR = I
>>>>>>>     PORT MCH1_Access_Data = MCH1_Access_Data_w, DIR = I, VEC = [0:31]
>>>>>>>     PORT MCH1_Access_Write = MCH1_Access_Write_w, DIR = I
>>>>>>>     PORT MCH1_Access_Full = MCH1_Access_Full_w, DIR = O
>>>>>>>     PORT MCH1_ReadData_Control = MCH1_ReadData_Control_w, DIR = O
>>>>>>>     PORT MCH1_ReadData_Data = MCH1_ReadData_Data_w, DIR = O, VEC = [0:31]
>>>>>>>     PORT MCH1_ReadData_Read = MCH1_ReadData_Read_w, DIR = I
>>>>>>>     PORT MCH1_ReadData_Exists = MCH1_ReadData_Exists_w, DIR = O
>>>>>>>
>>>>>>>
>>>>>>> BEGIN mch_opb_sdram
>>>>>>>     PARAMETER INSTANCE = sdram_controller
>>>>>>>     # 途中省略
>>>>>>>     PORT MCH0_Access_Control = MCH0_Access_Control_w
>>>>>>>     PORT MCH0_Access_Data = MCH0_Access_Data_w
>>>>>>>     PORT MCH0_Access_Write = MCH0_Access_Write_w
>>>>>>>     PORT MCH0_Access_Full = MCH0_Access_Full_w
>>>>>>>     PORT MCH0_ReadData_Control = MCH0_ReadData_Control_w
>>>>>>>     PORT MCH0_ReadData_Data = MCH0_ReadData_Data_w
>>>>>>>     PORT MCH0_ReadData_Read = MCH0_ReadData_Read_w
>>>>>>>     PORT MCH0_ReadData_Exists = MCH0_ReadData_Exists_w
>>>>>>>     PORT MCH1_Access_Control = MCH1_Access_Control_w
>>>>>>>     PORT MCH1_Access_Data = MCH1_Access_Data_w
>>>>>>>     PORT MCH1_Access_Write = MCH1_Access_Write_w
>>>>>>>     PORT MCH1_Access_Full = MCH1_Access_Full_w
>>>>>>>     PORT MCH1_ReadData_Control = MCH1_ReadData_Control_w
>>>>>>>     PORT MCH1_ReadData_Data = MCH1_ReadData_Data_w
>>>>>>>     PORT MCH1_ReadData_Read = MCH1_ReadData_Read_w
>>>>>>>     PORT MCH1_ReadData_Exists = MCH1_ReadData_Exists_w
>>>>>>> END
>>>>>>> -----------------------------------------------------
>>>>>>>
>>>>>>> OPBバスもひっぱりだそうと思ったのですが、
>>>>>>> なんだか簡単にはいかなさそうでした。。
>>>>>>>
>>>>>>> とても初めにもどってしまうのですが、
>>>>>>> ISE側で接続するのは大変なような気がしてきました。
>>>>>>> EDKだけで完結したほうが、今回は簡単かも・・・。
>>>>>>> もし、方向転換するならば、初めにエラーがたくさんでていた、
>>>>>>> opb_siv00_v1_00_cを書き換えた物をみせてもらえませんか??
>>>>>>>
>>>>>>> IPコアまるごとあれば、一番よいのですが、opb_siv00.vhd、user_logic.vhd、
>>>>>>> opb_siv00_v2_1_0.paoあたりがあればアドバイスできると思います。
>>>>>>> (どれだけ書き換えたかにもよりますが・・・。)
>>>>>>>
>>>>>>>
>>>>>>>> (2010/08/23 14:02), mio wrote:
>>>>>>>>> 中島です。
>>>>>>>>>
>>>>>>>>> ↓どっちの方法をとったとしても
>>>>>>>>> 同じ結果が得られるだけだと思います。
>>>>>>>>> 違うとしたら、どっちかが何か間違ってます。
>>>>>>>>>
>>>>>>>>> (2010/08/23 12:18), gs09055 wrote:
>>>>>>>>>> 谷敷です。お世話になっております。
>>>>>>>>>>
>>>>>>>>>> "そのまま書いていく"
>>>>>>>>>> というのはopb_siv00.vhdの内容をxps_proj_stubの中に
>>>>>>>>>> コピーして行くことで,
>>>>>>>>>>
>>>>>>>>>> "元のファイルのまま"
>>>>>>>>>> というのはop_siv00_v1_00_cをISEで読み込んでコンパイル
>>>>>>>>>> することです。
>>>>>>>>>>
>>>>>>>>> OPB SIV00をISE側ですべて接続するのは結構大変だと思います。
>>>>>>>>>
>>>>>>>>> OPB SIV00のデータシートのBlock Diagramをみてもらえますか?
>>>>>>>>> OPB SIV00はOPB、XCLバスと接続しています。
>>>>>>>>>
>>>>>>>>> ですので、IPコアをEDK側で接続せずにISE側で接続する場合、
>>>>>>>>> OPB、XCLバスの信号すべてをEDK側でExternalし(全部で29本くらい)
>>>>>>>>> ISE側で接続する必要があります。
>>>>>>>>>
>>>>>>>>> エラーがでているのは、
>>>>>>>>> この作業がうまくいっていないのではないかと思います。
>>>>>>>>>
>>>>>>>>> ちなみに私はXCLバスはExternalしたことありますが、
>>>>>>>>> OPBバスはExternalしたことありません。
>>>>>>>>>
>>>>>>>>> 私がISE側で接続するとしたら、OPB_IPIFとRegister(v_register)部分は、IPコ
>>>>>>>>> アを作成し、EDK側で接続すると思います。
>>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> suzaku mailing list
>>>>>>> email@hidden
>>>>>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> -- 
>>>>>> 静岡大学大学院
>>>>>>
>>>>>> 情報学研究科M2
>>>>>>
>>>>>> 秡川研究室所属
>>>>>>
>>>>>> 70930055 谷敷聡史
>>>>>>
>>>>>> email@hidden
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> suzaku mailing list
>>>>>> email@hidden
>>>>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>>> _______________________________________________
>>> suzaku mailing list
>>> email@hidden
>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>>>
>>>
>>>
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>
>
>


-- 
静岡大学大学院

情報学研究科M2

秡川研究室所属

70930055 谷敷聡史

email@hidden





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