2011年3月14日

PlanAheadがたちあがらない・・・

ついにWindows7 64bitにも正式対応ということで、
Windows7でXilinxツール使ってるのですが、
PlanAheadがたちあがらなかった・・・。
環境変数のPathの中に"がついている子がいて、
そのせいでたちあがれなかったらしい。
"をつけてくれた子はWindows7対応ではないので・・・。やられました。。

2011年3月 8日

Smartxplorer

自動で配線してもらう時にとても便利なSmartxplorer。

$ smartxplorer -p デバイス名 ngdファイル -uc ucfファイル -map_options "-pr b -timing -ol high -xe n -logic_opt on -global_opt speed -retiming on -register_duplication" -m 100

とりあえず、これでしかけてまっていれば、自動で最適なものを見つけてくれるという。
FloorPlannerでやってもいいけど、こっちのが気にいった。

2011年3月 4日

IDS13.1

ちょこっと使ってみたりしてます。
とりあえず、予告通り、EDKからソフトウェア開発系のものたちがみんななくなっちゃいました。。
ついにSDKと本格的に格闘しなければいけないみたい。
後は、mpmcの5.04がなくなっていたり。ま、でもそんなもんか。
分かっちゃいたけど、SDKか・・・。
日本語が文字バケでエラーが読めないよ・・・。
ま、Windows7についに正式対応なのはステキです。
そいえば、axi関係のものたちはかなりアップされてるのかなー。

2011年3月 1日

ZYNQ

なんて読むんだろ?
じんく?
ついに発表されたね。Cortex™-A9のはいったFPGA。

シリコン デバイスの出荷は 2011 年の後半に予定しており、
エンジニアリング サンプル品は 2012 年前半に利用可能

だってさ。消費電流がばかでかいくさい。
当面気になるのは、いつのまにかでてる13.1。
12.4にしたばっかなのに・・・。
とりあえず、ダウンロードしようと思ったら、エラーがでておとせないぽ。
またあした~。

2011年2月22日

IPコア XPS-LCD00

なんてものを7月ごろにつくってました。
7月はなんとなく、LCDぷらすタッチパネルブームな気持ちだったわけです。

名前のとおり、XIlinx PLB用のLCDのIPコア。
EDKにはXPS-TFTってIPコアがはいってるんだけど、
手持ちのLCDと相性があわなかったのです。。
ちなみに手持ちのLCDのスペックは4.3inch,480x272,バックライト, 抵抗膜タッチパネル。んんー?LCDってどのスペックが重要かよくわかんない。

Xilinxと同じ名前だと何かびみょーなので、XPS-LCD00にした。
一応できて、LCDに表示ができるようになったものの、
(横向きカラーバーしか表示してないけど・・・。)
ストレージくっつけて、そっからデータを吸い出して表示できるようにしたいなーと思って、
USB基板を用意して、とりあえずUSBを接続できるようにして、
USBはXPS-EMCで接続して、大体動作確認して、
こっからソフトいじらなきゃなぁとLinuxさわりはじめて、
どうにもこうにもソフトがだめで放置。。
そしてすでに2月。

SDも何かIPコアつくろうと、ちょっと勉強しはじめてたんだけど、
放置してるな。そういえば。

忘れちゃう前にというかあまりすでにおぼえてないけど、メモを残しておこう。

MPMCとXCLバスで接続。XCL部分はがっつりSUZAKU AVから流用。バーストリードしちゃいます。FIFOどれだけつんだらいいか、計算したんだっけな?なんかしてなさそう。24bitの512だね。そして、レジスタも大体まねてみた。かなり流用してるし、結構簡単にLinuxからもさわれちゃうんじゃないかと期待してるんだけど。。あっ、これくらい書けばいいのに、SUZAKU LED_SWからslot_counterもそのまま流用してるや。。
そしてLCDの部分は・・・。
おぼえてない・・・。
だめだ・・・。

そんなLCDのIPコアはこちら

2011年2月15日

axi

少しAXIの情報収集。
とりあえず、今日は頭をつかわないで見てみた。

まずは、S6のプロジェクトがEDKのBSBで作れないか確認。

知ってはいたけど、でてくるデバイスの数がとても少ない。
私の求めてるのはないので、適当なのにしてみる。
メモリはDDR2を追加したいのに、DDR3しか追加できないみたいなので、
仕方なくDDR3を追加。それ以外はとりあえず、適当なのがあったので、追加。

できあがったプロジェクトには見たことない、AXI S6 Memory Controllerなるものが接続されてた。デバイスとメモリの種類がちがうと全く役にたたないものが追加されただけだったので、削除して追加しなおし。サポートしてるのはMicronのMT47H128M8xxとはELPIDAのEDE1116Axxだけぽい。しょうがないのでCustomで値をいれてみる。

UART,SPI,GPIOも設定を見直し。AXIだとサイズがみんな4Kだ。なんでこんなに必要なのか??AXIはそんなに大変なバスなのだろうか。

何故かAXIバスが2本追加されている。2本必要なのか??片方はAXI_Liteとか名前がなってるけど、小さいのかも?メモリコントローラとその他のペリフェラルは別バスにしてあるみたい。

大体できてきたので、アプリケーションも追加しようとおもったら、XPSでは追加できないぽい。mssが開かなかったのもこのせいか・・・。色々立ちあげるの面倒なのにSDKを使えってことか・・・。

少しがんばってみたけど、SDKの使い方がおもいだせないので、あきらめて、ELFファイルを簡易的に追加してみることにする。

ということでなんだかんだ、download.bitができあがった。

まぁきっとだめだろうな、と期待せずに書き込み!

・・・。

何の応答もなし・・・。

ま、考えなしにやったらこんなもんさ。。

2011年2月13日

なひたふさんのspartan6でLinuxが動いたよ

なひたふさんのspartan6っていうのはこれのことです。
何だかU-bootが動いてるらしいですが、全然さわったことがなくて、調べるのが大変なので、
SUZAKUからみんな移植してみました。全く作りこんでいないので色々きたない・・・。

全部ダウンロードできるようにすると問題ありそうな気がするので、
大丈夫そうなとこだけ。。もし興味のある方は連絡ください。
ファイル一式
image/download.bit : fpgaファイル
image/image.bin.gz : linuxイメージ
image/loader.bin : bootloaderイメージ
image/s6-20110213.mcs : fpga+bootloaer+linux
source : bootloaerとlinuxのソース
tool : linux用のイメージ書き込みツール

FPGAは以下のような構造でつくってあります。

PLB
|- MB(MMUあり)
|- MPMC
|- XPS SPI
|- XPS Timer
|- XPS Intc
|- XPS Uartlite
|- XPS GPIO1
|- XPS GPIO2

メモリマップは以下のとおり。
------------------------------------------
MPMC 0x80000000 - 0x83FFFFFF
XPS SPI 0xFF000000 - 0xFF0001FF
XPS Timer 0xFFFF1000- 0xFFFF10FF
XPS Intc 0xFFFF3000 - 0xFFFF30FF
XPS Uartlite 0xFFFF2000 - 0xFFFF20FF
XPS GPIO1 0xFFFFD000 - 0xFFFFD1FF
XPS GPIO2 0xFFFFD200- 0xFFFFD3FF
------------------------------------------

シリアルはRX:C6、TX:B2に割りあてて(FPGA JTAGの隣)レベル変換かましてます。

そして、フラッシュメモリマップ。
-------------------------------------------
0xff000000:0xff3fffff FLA all bf:8K bl:64x64K/l
0xff000000:0xff17ffff FLA fpga bf:8K bl:24x64K/l
0xff180000:0xff19ffff FLA bootloader bf:8K bl:2x64K/l
0xff1a0000:0xff3effff FLA image bf:8K bl:37x64K
0xff1a0000:0xff23ffff FLA kernel bf:8K bl:10x64K
0xff240000:0xff3effff FLA user bf:8K bl:27x64K
0xff3f0000:0xff3fffff FLA config bf:8K bl:1x64K
--------------------------------------------
xc6slx45だと、bitファイルのサイズが思いがけず、1450KBと大きかったのがちょっと予想外。
きっと全部使ってないけど、ちいさくならないのかなー??かなりの存在感だよ・・・。

そいえば、CPUクロックとかとりあえず、動きそうなところで50MHzにしたまま変えてないや・・・。もうちょい速くできそう。DDRは300MHzだっけかな??こっちもすこぶる適当。。

とにもかくも、FPGA+bootloader+linuxのmcsファイルをiMPACTでフラッシュメモリに書き込めば、Linuxが起動する予定。

FPGAとかSDRAMとかレギュレータとか結構あったかくなっているので(ACアダプタから給電してます)使っていないUSBのところの処理の仕方など、まずいような気がしています。RESETのところが良くわかんなかった・・・。もっと考えろってね・・・。

無防備に書き込むと何かあるかもしれないのでご了承を・・・。

2011年1月26日

EDK12.4をつかってみたよ

何だか最近とってもばーじょんあっぷがはやくて、全くついてけません。。
それでも最新版つかってみました。
そこら中axiの割には、何だかまだ、もう一息そろってない感じ。
axiを本格的に使ってみる気にはなれずです。
基本あんまり変わってないのかな~とおもってたら、
microblazeの設定画面ががらっとかわってるみたい。
ん~。別にかえなくてもいいのにな。。

2011年1月 8日

Lattice

最近LatticeのCPLDをいぢってます。
初めispLEVER1.3をつかってたんだけど、途中で1.4に替えてみた。
したら、動いてたものが動かなくなっちゃいました。
タイミングなのかな。全くそのへん制約かけてないけど・・・。
そもそも1.3で動いてたのはそんなきわきわだったのか??
気づいてよかったのかな。
とにかく解析しないと。。

2006年10月21日

FPGA

FPGAのカンファレンスとかいうセミナー?に行きました。
内容はともかく、それの最後で
皆さんお待ちかねの抽選会ですーと。
こういうセミナーって抽選会あるのをたまにみるけど、
抽選会目当てできてる人もいるって事?
なんかあの抽選会のテンションが
微妙でちょっと恥ずかしい。
何か当たりましたって?
あたりました。マウス。
ちょうどノーパソ用のマウスがなかったからうれしい。
必要なものがすぱっとあたるってすばらしいです。