[Suzaku:01799] Re: MPMCについての質問

godshrine email@hidden
2010年 5月 24日 (月) 12:35:41 JST


鈴木様
SUZAKU利用者の皆様

お世話になっております。大学生の神宮です。
鈴木様、貴重なアドバイスどうもありがとうございます。
私も、さしあたりsz410-20090427デフォルトプロジェクトの設定を
できるだけそのまま使って、MPMCを利用することにしました。

ただ、さらに伺いたいことが2点ありまして、ご指導いただければ幸いです。

私がMPMCで行いたいのは、1つはSDRAMからブート(SDRAMにプログラムを書き込み、実行)することで、
もうひとつは単なるデータの読み込み/書き込みです。

質問したいのは以下の2点です。

1.MPMCでメモリのデータの書き込み/読み込みはどうするのか?

GPIOやUARTでは、所定のレジスタに書きこむことでデータの送受信を行いますが、
MPMCの仕様書にそれに該当するレジスタを発見できませんでした。
もしかして、レジスタに書き込むという発想自体がおかしいのでしょうか?

2.SDRAMからのブートの設定方法

sz410-20090427デフォルトプロジェクトにはMPMCのハードウェアの設定がなされていますが、
SDRAMからのブートの設定もなされているのでしょうか?
SUZAKU開発者サイトでSZ130-U00に対する設定方法は発見しました(下記URL)が、
( http://suzaku.atmark-techno.com/dev/howtos/run_from_sdram_microblaze )
SZ410-U00ではどのように設定したらよろしいでしょうか?

よろしくお願いします。

2010年5月24日10:14 mio <email@hidden>:

> 中島です。
>
> (2010/05/22 23:04), suzu bun wrote:
> > 鈴木と申します。
> >
> > いつも拝見させていただいています。
> > 私のほうでも現在同様な内容の事を実施しました。
> > やはり同じようにEDK10.1→11.5及び12.1等SZ410のデフォルトプロジェクトを
> > アップデートしましたが、相当数のエラー及び不具合の事象があり、一旦断念し
> > ていました。
> > 時間ができたときに、皆さんに呼びかけてSUZAKUの11.x化または12.x化を呼びか
> > て見ようかなと思っていたところです。
>
> 中々ツールのアップデートについていくのは大変だったりするので、
> とてもありがたいです。
> 10.1 -> 11.5のプロジェクトを作成しましたが、
> (一応Linuxまで動作はしてます。)
> まだあまりテストできていないため、参考程度に・・・。
>
> > そこでちょうどよい機会なので、ご参考までに私が確認している不具合内容及び
> > 気づき事項を簡単ではありますが記載しておきます。
> > なお、SZ410ユーザで情報交換していれば徐々にツールのアップデートは可能か
> > と思っています。
> >
> > *「sz410-20090427のデフォルトプロジェクトをEDK11.5にアップデートしたと
> > きのエラーなどについて」*
> > 1.MPMCのGUIインタフェースが表示されなくなり、パラメータのみの設定画面
> > になってしまう。
>
> MPMCのGUIファイルが変更になったのかも?
> たしかGUIの設定ファイルがIPコアに含まれていたので、
> それを変更すれば、解消されるかもしれません。
> あまり、GUIでMPMCの設定をみないので・・。
>
> > 2.EDK純正のMPMCを適用して上記インタフェースが有効になった状態でコンパ
> > イル出来るが、LINUXが起動しない。
> > (ucfのピンアサインについては特に変更していない)
>
> 以前ご質問いただいた、以下を参照でしょうか。
> http://lists.atmark-techno.com/pipermail/suzaku/2009-October/001639.html
>
> > 3.dcr_v29のIPコアにて"mpdファイルの記載にvertex4fx"の記載がなくコン
> > パイル時にエラーもしくはワーニングが出力される。
>
> 代替コアがあるようなので、1.00.a -> 1.00.bに変更してください。
>
> > 4.MPMCのバージョンを4.03a→5.0x等にアップデートするとGUIのポート設定画
> > 面にて1〜8ポートに対してPLBバスしか接続していないのに
> > 未使用部分にVFBCが割り当てられているような表示がされておりグレーアウ
> > トして変更できない。
>
> これは見たことないです。
> (そもそもあまりGUIでMPMCの設定を見てないです・・。)
>
> > 5.DCMまたはCLOCK GENERATOR、ツールのバージョンが上がったことによるも
> > のでしょうが、EDK10.1ではPPCのクロックが350MHZに設定されており
> > この状態で正常にコンパイルできて作動していたものがDCMのIPコアの設定
> > を変更しようとするとコンソールにERROER EDK−が出力され
> > パラメータの設定画面が表示されない。
>
> これも見たことないです。
> ただ、mssに記述しているCORE_CLOCK_FREQ_HZの記述は
> 消した方がよかった気がします。
>
> > 6.GPIOのバージョンを最新のものに変更するとパラメータの記述内容が変更
> > なっており、MHSのエラーとなってしまう。
>
> XPS_GPIOは新しいバージョンになって、
> ダイナミックにinputとoutputを変更したり、
> 3state bufferをdisable/enableしたりできるようになったようです。
> その他、GPIO_d_out等の信号が削除されたようです。
>
> > BEGIN xps_gpio
> > PARAMETER INSTANCE = gpio_system
> > PARAMETER HW_VER = 2.00.a
> > PARAMETER C_GPIO_WIDTH = 8
> > PARAMETER C_ALL_INPUTS = 0
> > PARAMETER C_IS_DUAL = 0 ← ここの記述が変更になっています。
> デフォルトで0のようなので、これは記述しなくてもよいかも。
> 元々記述していた、パラメータ(C_IS_BIDIR)はなくなったので、削除です。
> > PARAMETER C_BASEADDR = 0xf0ffa000
> > PARAMETER C_HIGHADDR = 0xf0ffa1ff
> > BUS_INTERFACE SPLB = plb_peripheral
> > PORT GPIO_IO_I = 0b00001 & BOOT_JP & 0b0 & FPGA_RESET_EN_w ← こ
> > この記述が変更になっています。
> > PORT GPIO_IO_O = GPIO_O_0 ← ここの記述が変更になっています。
> GPIO_in -> GPIO_IO_I, GPIO_d_out -> GPIO_O_Oに代替変更のようです。
>
> > END
> >
>
> その他11.5にアップすると、SUZAKUの赤色LEDが点灯しなくなりました。
> ucfで、nLED->nLED<0>とするか、mhsでnLEDのVEC = [0:0]の記述を削除すると、
> 解消されました。
>
> > *「sz410-20090427のデフォルトプロジェクトをEDK12.1にアップデートしたと
> > きのエラーなどについて」*
>
> 10.1のプロジェクトを一気に12.1にアップデートは大変なので、
> 一旦11.5ですべて最新のIPコアに置き換えないと
> 気が滅入ってしまう感じだと思います。
> 11.5ですべて最新のIPコアにさえ置き換えると、
> スムーズにアップデートできました。
>
> > 1.ソフトウェアの話になりますがBBootの記述内容でコンパイラにはじかれて
> > しまいました。理由はよくわかりません。
> > 2.その他、ハードウェアにおいても多々不具合があり、正直一人で解決できる
> > レベルではなさそうだったので一旦断念しました。
> > (EDK12.1から古いIPコアのファイルがインストールディレクトリからはずさ
> > れているため、正常にアップデートできなかったIPコアは大半が参照先不明でエ
> > ラーとなっているようです。
> > ちなみにEDK10.1もしくはEDK11.xのインストールディレクトリからIPコアの
> > フォルダをEDK12.xのフォルダにコピーすることである程度のエラーは解消でき
> > ましたが、ツール内部でどのような仕組みになっているかが
> > わからないのでたとえコンパルできても正常に作動しているかは不透明な感
> > じです。検証していないのでなんともいえませんが・・・)
> >
> > ちょっと質問からそれてしまった感じですが、EDK11.xを使用して開発される方
> > にはある程度有益な情報ではないかと思い投稿させていただきました。
> >
> > なお、一応sz410-20090427デフォルトプロジェクトを基にしたもので実際に
> > EDK11.5にてDDR2(64MB)にてLINUXの作動及びGPIOの制御等ある程度正常に作動
> > させることができています。
> >
> > mpmc_sz410 mhsファイルの一部を記載しておきます。
> > BEGIN mpmc_sz410
> > PARAMETER INSTANCE = mpmc_ddr2
> > PARAMETER HW_VER = 2.01.a
> > PARAMETER C_MEM_PARTNO = MT47H16M16-37E
> > PARAMETER C_MPMC_CLK0_PERIOD_PS = 5714
> > PARAMETER C_MEM_DATA_WIDTH = 32
> > PARAMETER C_MEM_CLK_WIDTH = 2
> > PARAMETER C_PIM1_BASETYPE = 4
> > PARAMETER C_NUM_PORTS = 2
> > PARAMETER C_PIM1_DATA_WIDTH = 32
> > PARAMETER C_MPMC_BASEADDR = 0x00000000
> > PARAMETER C_MPMC_HIGHADDR = 0x03ffffff
> > BUS_INTERFACE SPLB0 = plb_memory
> > PORT MPMC_Clk90 = DDR_SDRAM_64Mx32_mpmc_clk175_90_s
> > PORT MPMC_Clk_200MHz = clk_200mhz_s
> > PORT DDR2_DQS_n = DDR_DQSn
> > PORT DDR2_DQS = DDR_DQS
> > PORT DDR2_DM = DDR_DM
> > PORT DDR2_DQ = DDR_DQ
> > PORT DDR2_Addr = DDR_Addr
> > PORT DDR2_BankAddr = DDR_BankAddr
> > PORT DDR2_WE_n = DDR_WEn
> > PORT DDR2_CAS_n = DDR_CASn
> > PORT DDR2_RAS_n = DDR_RASn
> > PORT DDR2_ODT = DDR_ODT
> > PORT DDR2_CS_n = DDR_CSn
> > PORT DDR2_CE = DDR_CKE
> > PORT DDR2_Addr_2 = DDR_Addr_2
> > PORT DDR2_BankAddr_2 = DDR_BankAddr_2
> > PORT DDR2_WE_n_2 = DDR_WEn_2
> > PORT DDR2_CAS_n_2 = DDR_CASn_2
> > PORT DDR2_RAS_n_2 = DDR_RASn_2
> > PORT DDR2_ODT_2 = DDR_ODT_2
> > PORT DDR2_CS_n_2 = DDR_CSn_2
> > PORT DDR2_CE_2 = DDR_CKE_2
> > PORT DDR2_Clk_n = DDR_CLK_OUTn
> > PORT DDR2_Clk = DDR_CLK_OUT
> > PORT MPMC_Rst = sys_bus_reset
> > PORT MPMC_Clk0 = DDR_SDRAM_64Mx32_mpmc_clk175_0_s
> > END
> >
> > ちなみに、理由はよく解りませんがsz410-20090427のプロジェクトを変更して
> > DDRを1枚にしようと思いいろいろ試しましたが
> > EDK1.0.1純正のMPMC(v4.03a)では一度も正常に動作させることができませんでした。
> >
> > 以上です。
> >
> >
> >
> > ------------------------------------------------------------------------
> > Date: Fri, 21 May 2010 16:52:23 +0900
> > From: email@hidden
> > To: email@hidden
> > Subject: [Suzaku:01796] MPMCについての質問
> >
> >
> >
> > はじめまして、大学四年生で今年度から研究でsz410-U00を利用しております神
> > 宮と申します。
> > sz410-U00ではGPIOやUARTを利用した経験があり、以下のような環境で開発をし
> > ております。
> >
> > 開発環境
> > SZ410-U00 (PPC405 )
> > EDK11.5
> >
> > この開発環境で、MPMCでSDRAM(MT47H16M16BG-37E)を利用したいと考えており
> > ます。
> > MPMCの設定は以下のようなものを考えております。
> >
> >
> > ・PIMはPLB v4.6
> > ・MIG based PHY は利用しない
> > ・メモリはMT47H16M16BG-37E
> > (一応、SUZAKU開発者のサイト(http://suzaku.atmark-techno.com/series
> > /suzaku-v/download)
> > にあったsz410-20090427.zipを参考に同様の設定を試みています )
> >
> >
> > 上記のような設定でHardware Generateをしたところ、いくつものエラーが出て
> > しまいました。
> > 3週間ほどデバッグをし続けているのですが、一向に成果が出ず、
> > もしかして、データシートを根本から誤解しているのではないかと思い、確認い
> > たしたくメールしました。
> >
> > PPC405ではこのような設定ではいけないのでしょうか?また、MIGは利用する必
> > 要があるのでしょうか?
> > または、皆様はSZ410-U00 でSDRAMを利用する際にどのような設定にされており
> > ますでしょうか?
> >
> > かなり全般的で基本的な質問になってしまいますが、教えていただけると幸いです。
> >
> >
> > 神宮
> >
>
>
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.atmark-techno.com/pipermail/suzaku/attachments/20100524/69396efd/attachment.html>


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