FC2カウンター FPGAの部屋 基板のデバック
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

基板のデバック

大きな基板は大体動作してきた。FPGA内のブロックRAMからPowerPCをブートしているのだが、ブートは出来るようになった。
そういえばブロックRAMはRAMBプリミティブを並べて作っている。そしてブートコードを入れる際にはBMMファイルを作成してDATA2BRAMでCコンパイラが吐いたELFファイルをブロックRAMにロードしている。今のところISE6.3iなのでこれでよいのだが、どうやらISE8.2iにはDATA2BRAMがなくなっているようだ。他のプログラムロードの手段があるだろうから調査が必要なようだ。
しかし、Xilinxのツールはいろいろ変わってしまうので、その都度苦労する気がする。
この辺は動作してXport経由でパソコン上のターミナルにブートメッセージを表示するようになったが、その先のXport経由でプログラムコードを流し込んでSDRAMで動作させる部分が動かない。チップスコープで確かめてみたところ32ビットワード単位で言うと0番地には正しいデータが入ってるが、4番地のデータはC番地に、8番地のデータは10番地に入ってしまっているようだ。これは以前デーバスが32ビット幅だったのを64ビット幅に修正したのだが、その辺がバグっているようだ。
PowerPCは命令フェッチのキャッシュフィル時に例えば8番地に飛ぶとすると8番地、10番地、18番地、0番地というようにぐるりと回ってアクセスする。(データバス64ビットの場合、キャッシュラインサイズ32バイト)これは4ビートだが、以前はデータバスが32ビットだったので8ビートだったのだ。修正後のアドレスアクセス機能がどこかバグっているらしい。
小さい基板は順調だと思ったが1枚は完動するが、2枚はSDRAMのあるビットがたまに間違ってしまう。原因は不明だ。SDRAMに供給するクロックの位相を変えても変化がないのでFPGAの出力が遅延しているせいではないと思うのだが。。。基板のパターンがおかしいのだろうか?でも必ず間違うわけじゃないし、となるとクロストーク?でも1枚は動いているし。。。
  1. 2006年10月04日 06:05 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:4

コメント

はずしてたら、ごめんなさい。bmmファイルに関係していて似たような名前というとdata2memでしょうか?
  1. 2006/10/04(水) 07:13:09 |
  2. URL |
  3. Sim #mQop/nM.
  4. [ 編集 ]

コメントありがとうございます。
私もその辺がくさいと思っていますが、まだ調べるところまで行きません。そのうち調べてみようと思っています。今までコマンドラインからバッチファイルを起動していたのでISEに入れればそのままやってくれるのかもしれませんね。
  1. 2006/10/04(水) 08:54:56 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

data2memはオプションが複雑怪奇で使い方難しそうです。picoblazeのソースと同じzipファイル(KCPSM3.zip)にDATA2MEM_assistanceというフォルダーがあってA way to use DATA2MEM with PicoBlazeというドキュメントがあるのを見つけました。
  1. 2006/10/05(木) 07:27:44 |
  2. URL |
  3. Sim #mQop/nM.
  4. [ 編集 ]

PicoBlazeでもDATA2MEMでプログラムをロードできるんですね。でもこれでやるとシミュレーション時にコードを実行できないですね。実行できるのがわかっていれば論理合成から始めなくて良いので時間は相当短縮できますね。
この辺もトレードオフなのでは思っています。うちのコードは外部PowerPCのコードでシミュレーションできないので、DATA2BRAMで入れています。
  1. 2006/10/05(木) 21:50:50 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/323-51f59357
この記事にトラックバックする(FC2ブログユーザー)