« 2009年11月 | トップページ | 2010年1月 »

2009.12.31

今年もありがとうございました

皆様、今年もありがとうございました

今年の成果をまとめてみます。
まず、今年リリースできた製品は、
・PCI ExpressボードとPCIe互換IPコア
・ユニバーサルJTAGプログラマ「J-Writer」
・MITOUJTAG Light
・Spartan-6ボードを世界中の(XILINX以外の)どこよりも早くリリース
・MITOUJTAG BASIC Version 2
です。

その他の成果としては、
・Lattice XP2用の書き込みツールのリリース
・WDM版汎用デバイスドライバ開発とリリース
・XILINXのアライアンスパートナーになる
・JTAG小冊子の配布
・書籍(USBマイコンでパソコンI/O!)の発売
・Pocket JTAG Cableの高速化
・ISEのバグを発見してXILINXに報告
・LED光センサアレイ
・電子回路クッキー

それからブログに書きませんでしたが、平成21年はうちにとっても大変な年でした。
特電も世間の景気のあおりを受け、前半は散々な目にあいました。
そんな中、読んだ本にこんなことが書いてありました

   『中小企業には世間の景気は関係ない』

そんな馬鹿なと思うかもしれません。
でも、今思うと、確かにそうなのかもしれません。

4月ごろから猛烈に勉強し、本をたくさん読み、そして考えました。

今年の最も大きな得たものは、勉強するという習慣でした。
おかげで特電は後半から回復することができました。
もし、この不況がなければ、そして、本当に土壇場まで追い込まれなければ、
本気で勉強しようという気持ちにならなかったと思います。
もし、そうだとしたら細々と生きていくことはできても、成長することはなかったでしょう。
不況のおかげで特電は変わりました。

平成22年は、特電はもっともっと変わります。
フットワークが軽いのがベンチャーの強みです。
今よりもずっと皆様のお役に立つことができるよう、
製品やサービスを試行錯誤していきます。

来年もよろしくお願いします。

| | コメント (0)

2009.12.26

汎用データ交換コアを作りたい

特電Spartan-6ボードには、USB2.0とDDR2 SDRAMが搭載されています。

これらにアクセスするためのコアは公開してはいるのですが、マニュアル等も十分ではないので、使いやすいとはいえない状況でした。これらのコアを使うためのマニュアルを整備するのも良いのですが、それよりも作りたいものがあります。

それは、汎用データ交換コアです。

特電Spartan-6ボードや、特電PCI Express評価ボードのハードウェアは概ね次のような構造になっています。
Gdx1

つまり、PCIeやUSBといった通信手段と、DDR2 SDRAMといった記憶手段があって、データ入力ポートとデータ出力ポートがあります。
多くのFPGAアプリケーションは、大まかにいって、これらの4つのポート間でデータをやりとりするものです。

最初のパターンは、データ取り込み装置。
Gdx2

入力ポートにつながるのは、CMOSイメージセンサだったり、ADコンバータだったり、いろいろな計測器からの信号だったりします。放射線計測というのもあるでしょう。

こういった信号をFPGAで取り込んでパソコンに送るのが、データ収集装置です。データ収集装に求められる機能は、取りんだデータをUSBやPCIeのバスへ直接送るのではなく、いったん、システム内のメモリに蓄えることです。
なぜなら、USBやPCIeの速度は一定ではないし、計測の速度やサンプリング間隔はUSBやPCIeのそれとは一致しないのが常だからです。
つまり、入力ポートからのデータをいったん蓄えて、パソコンに送る。そのときのタイミング調整をうまくやってくれることがFPGAに望まれます。

次のパターンは、データ出力装置。
Gdx3
出力ポートにつながるのは、ディスプレイだったり、DAコンバータだったり、計測制御機器だったりします。
パソコンからUSBやPCIeを使ってSDRAMにデータを送り込み、それを1回、あるいは周期的に出力するというわけです。
大事なことは、SDRAM→出力ポートというパスを最優先すること。そうしないと、出力する画像が乱れてしまうでしょう。

最後のパターンは、データ加工装置。
Gdx4
例えば、カメラとディスプレイの間のフレームレートの変換などの応用が考えられます。

このように、FPGAと通信手段、メモリ、入出力ポートを備えたシステムの応用例は、突き詰めて考えれば、これら4つのポート間でのデータ交換方法に帰着できると思われます。

だから、この4つのポート間で想定される、あらゆるタイプのデータ交換に対応したコアを作ろうと思ったわけです。

| | コメント (6)

マドレーヌを焼いた

100円ショップで貝殻風のマドレーヌの型が売られていたので、思わず買ってしまいました。
今日はマドレーヌを焼きました。

まず卵L1個&上白糖50gでメレンゲを作ります。溶かしバター50g、小麦粉50g、ベーキングパウダー少々を入れてよく混ぜます。この材料で12~13個できます。

型に生地を入れて焼きます。150℃程度の低温で20分くらい焼き、その後、200℃くらいに上げて2分焼いたら、ふっくら感と焦げ目がベストな感じになりました。
Ma1_2

次は、抹茶パウダーを入れて、抹茶マドレーヌ。
Ma2


器に盛り付けます。抹茶版が焼ける前に通常版を食べてしまったのでいささか数が足りません。
Ma3

貝殻風の金型があれば、紙型を使わなくてもよく、次々と焼けるので便利です。バターを塗っておけば焼いたときに張り付くこともありません。

同じような材料を使っていても、マドレーヌになったり、クッキーやスコーンやマフィンになったり。小麦粉って不思議ですね。

ベーキングパウダーは食品添加物なのであまり使いたくはなかったのですが、メレンゲだけではどうしてもふっくらサクサクが実現できなかったので使いました。食品添加物ってすごい。私のような菓子作り初心者でもそれなりのものが作れます。どうやったらベーキングパウダーを使わずに同じようなものを作れるかは、今後考えていきたいです。

| | コメント (0)

2009.12.24

ACTELのFPGAを試す

先日発注したACTELのFPGAボードを動かしてみました。

なんでしょうね、このワクワク感。
これから何が起こるのか的な、期待と緊張が入り混じったこの感覚は、もう、XILINXやALTERAではなかなか味わえなくなってきました。

まずは、本命のAGL-ICICLE-KIT。OLEDが付いていて面白そうという理由だけで買いました。
なお、写真右側に見えるカードエッジはPCI Expressではなく、単なるカードエッジのようです。(やはり気になって重ねてみたが、ピンの数から違った)

このコンパクトな基板にUSBをつないで電源供給すると、すぐにOLEDが点いてくれました。
Igloo_kit

このボードの箱の中にはLC ProgrammerとかいうUSB-JTAGケーブルが付属されていました。
Lc_programmer

でも、今回は使いません。J-Writerをつなぎました。
Igl_jwr

MITOUJTAG(今回はLightで試した)を起動し、デバイスを自動認識しようとすると、genericデバイスとして認識されました。どうやら、IDCODEが認識できなかったようです。

そのため、AGL125のデバイスを手動でチェーンに追加しました。しかし、QNG132というパッケージは現在のMITOUJTAGでは形状を自動生成できません。仕方なくCS196で代用します。FPGAの端子の中で、出力している端子がほとんどないのは、OLEDがシリアル接続だからです。
Agl125_1

ちなみに、QN132とはこんな形状です。
Qn132
BGAでもQFNでもない。半分ずれた真ん中のラインが可愛らしいパッケージです。
さあ、これに対応させるべきかどうか・・

JTAGが自動認識できなかった理由は、BSDLファイルに記述されたIDCODEと、実際のデバイスのが異なるからのようです。
Agl125_2


次は、AGLN-Z-NANO-KITです。
少し大きめの手ごろなサイズの基板です。Nanoのキットのほうが基板サイズは大きいです。このキットにもLC Programmerが付いていました。

基板にさっそく電源をつなぎ、J-WriterからJTAG信号をつなぎます。
Agln_kit

えいやと自動認識。しかし、やはり認識されません。
またもやJTAG IDCODEの微妙な相違があるようなので、手動で追加します。
Igloo_nano

バウンダリスキャンは成功。FPGAの端子が動作しているのが見えました。
Agln250


最後は、ProASIC3のスタータキット A3P-EVAL-KITです。大きいです。しかも、DC9Vなんていう邪悪な電源入力を要求します。
A3pe_board

このボードは、Libero V8.2のCD-ROMと、FlashPro3 programmerが付いていました。巨大な箱が届いてびっくりしました。お買い得。
Libero82

ProASIC3は、自動認識もバッチリできました。もちろん、バウンダリスキャンも完璧に動作します。
A3pe


JTAG的に見ると、ACTELのFPGAは、ProASIC3も、IglooもIgloo NANOも、
みんなIDCODEが同じでした。
似たような規模のデバイスは、中の設計はみんな同じなのでしょうか・・・
いや、ALTERAもFLEX10KとACEXがIDCODEが同じだったし、XILINXもVirtexとSpartanの古いやつ(無印とかEとか)もIDOCODEが同じだった気がします。

きっとProASICとIglooとIglooNanoは違うデバイスなんですよね。
しかし、IGLOOnanoのAGLN250は、パッケージに刻印された型番はAGL250 VQG100としか読めません。ですが、下のほうに「NANO」と書いてあります。
Agln250

なんだこのデバイス体系。
もう、マニアにはたまりません。

| | コメント (1)

2009.12.23

年末年始の営業予定とキャンペーン

特電の今年の商品出荷は28日までとさせていただきます。
28日のお昼ごろまでにいただいたご注文は、年内に発送いたします。
すると、運送会社さんのスケジュールにもよりますが、
おそらく29日か30日には到着できると思います。

年始は、1月6日から開始する予定です。

また、冬休みキャンペーンということで、
「MITOUJTAG LightとPocket JTAG Cableのセット」を
通常よりも12,800円お安い価格で提供してまいりましたが、
このキャンペーンはあと20台で終了しようと思います。

というのも、昨日Pocket JTAG Cableの在庫を棚卸したところ、
25個程度しかありませんでした。あまりたくさんのご注文をいただいても
品切れになってご不便をおかけしてしまうことになるからです。

さて、お正月休みは、Spartan-6のアプリケーションをいろいろ作ったり、
Spartan-6用に便利なIPコアをいろいろ作ったり、
Webサイトを充実させたり、ヘルプやマニュアルを作ったり、
PCI ExpressコアをDMAや割り込みやI/Oトランザクションに対応にしたり、
ACTELのFPGAのJTAG機能を調査したり、
ALTERAのJTAG通信の方法を解析してロジアナを移植したり、
マドレーヌやクッキーを焼いたりして、のんびりすごす予定です。

| | コメント (0)

2009.12.21

ACTELのFPGAボードが届いたが・・

今日ACTELのFPGAボードが届いたのですが、年末の納品や、原稿執筆などがあってまだ遊べません。
ああ、早く遊びたい。

| | コメント (0)

2009.12.20

冬限定!MITOUJTAG Light版を発売します

今年のお正月休みは、新しいスタイルでFPGAや組み込みCPUの開発をはじめてみませんか?
この冬も、期間限定で「MITOUJTAG Light(ライト)版」を発売します。

というのも、今年の夏にはMITOUJTAG Lightを期間限定で販売し、予定どおり8月31日をもって終了とさせていただきましたところ、先月行われた展示会「ET2009」の弊社ブースにお越しいただいた多くの方から、MITOUJTAG Light版の復活を望む声をいただきました。多くの皆様からの熱いご期待、本当にありがとうございました。
皆様からのご期待にお応えして、期間限定ですがMITOUJTAG Lightを再開することにいたしました。

Mjl_banner

MITOUJTAG Light版は、非営利・非商用目的に限ってご利用いただけるMITOUJTAGの個人向けバージョンで、MITOUJTAG2.0 Proのプラットフォームをベースに構築されています。ユーザインタフェースは、従来のMITOUJTAG BASIC1.5から格段に進化しており、ロジアナとバウンダリスキャン可視化の同時動作が可能となっています。

このツールを使うと、BGAの裏側が見え、FPGAが論理合成しなくても動くデバッグができるようになります。オシロや埋め込みロジアナだけでは決してできなかった「見える・楽しいデバッグ」が待っています。

Mjl_image

このバージョンは、仕事だけではなく個人でもFPGAの技術を身につけたいというパワフルな方や、先進の回路を趣味で研究する方、展示会や学園際のためにFPGAのデバッグに本腰を入れたいという方を対象にしています。

よって、個人のお客様でもご購入いただけるよう3万円台の価格を目指しました。
具体的にいうと、34,800円です。

また、ET2009にお越しいただいた皆様からの声でLight版を復活させる決意をいたしました。そのため、ET2009の弊社ブースにお越しいただいて、アンケートにご記入していただいた皆様には感謝を込めて、BASIC版の一部の機能をお付けいたします。
具体的にいうと、
 ①BLOGANA機能(FPGA内蔵のロジックアナライザ)
 ②SVFプレイヤー(未知のデバイスにも書き込めます)
 ③フラッシュROMプログラマ(パラレル接続のフラッシュROMに簡単に書き込めます)
 ④信号検索ウィンドウ(信号の状態をテーブルで表示)
のいずれか1つの機能をお付けするというものです。
(もちろん、夏にLight版をご購入いただいた方も、ET2009弊社ブースにお越しいただいた方なら対象です。)

なお、ご利用いただくユーザによって異なる機能を柔軟に追加するというのはMITOUJTAGでは初めての試みです。慣れないうちは、間違えて2つ以上の機能が追加されてしまうかもしれません。

このようなMITOUJTAG Light版ですが、来年1月15日をもって販売終了とさせていただく予定です。
その後の再復活の予定は、いまのところございません。

参考リンク
夏限定!MITOUJTAG Light版を発売します
MITOUJTAG Light版 製品紹介ページ

今年のお正月休みは、FPGAを、「見える・楽しい」ものにしてみませんか?

| | コメント (0)

2009.12.18

MITOUJTAG BASIC 2.1出荷を開始しました

昨日、メーリングリストのほうで先に案内させていただきましたが、
ついに、MITOUJTAG BASIC 2.1出荷を開始しました。

約1年半ぶりのメジャーバージョンアップです。
私自身もFPGAの開発などをしていますが、
ここ数ヶ月はずっと2.1で作業してきました。
もう1.5には戻れません。

さて、メールで案内させていただいたこともあってか、
昨日からたくさんバージョンアップの依頼や問い合わせをいただいております。
MITOUJTAGをご利用いただいている方がたくさんいらっしゃることは、とても嬉しいです。

サポート期間中(ご購入後1年以内)の方は、
無償でCD-ROMを送らせていただきますので、お問い合わせください。

MITOUJTAG BASIC 2.1を開発するにあたり、フラッシュROMライタの移植は大変でした。
プログラムがものすごく長大でわかりにくいから、最後の最後まで後回しにしていました。
でも、そのぶん、もう一度これらのソースを見直すことができ、
今後の機能拡張をする気力が湧いてきました。
現行のプログラムを拡張していけば、NANDフラッシュメモリの書き込みにも対応できそうな気がしてきました。

MITOUJTAG2.xは、各種機能がDLLになっていて、アドインで簡単に追加できることを意識して設計しています。ユーザインタフェースをMDIにして、プロジェクトツリーを採用したのも、そういう理由からです。
来年はいろんなオプション機能を作っていきたいと思います。

来年もMITOUJTAGをよろしくお願いします。

| | コメント (0)

2009.12.12

ISE11.5に期待します

XILINXのISE11.4が出たようなので、早速インストールしてみました。

ISE11.4をインストールするには、最初にISE11.1(5.9Gある)をインストールして、そこからバージョンアップしなければなりません。ISE11.1→11.2→11.3→ISE11.4と使ってきた私としては、ハードディスク内にゴミがたまって、素直にバージョンアップできませんでした。

今となっては、何が原因で失敗していたのかはわかりません。

ISEに関するゴミとしては、以下の2つが挙げられます。

C:\Xilinx\11.1\ISE\.backup\backupfiles01、backupfiles02、backupfiles03、backupfiles04・・・のフォルダ。これがひとつ数ギガあります。バージョンアップしたり、バージョンアップに途中まで成功したりすると、どんどん増えていきます。
それから、
C:\Documents and Settings\ユーザ名\Local Settings\Temp\にあるxil_1456_9のような一時ファイル。ISEで論理合成するたびに溜まっていきます。

いったん、ISE11をアンインストールして、Xilinxフォルダと、上記のゴミファイルを綺麗に消去してから再びISE11.1を入れ、そこからISE11.4に上げたところ、うまくいきました。ひとつひとつの作業が1時間くらいかかるので、何度もインストールしたら2日間を無駄にしてしまいました。

Spartan-6のバウンダリスキャンの問題が解決しているかと期待していたのですが、全く改善されていません。
Ise11_4_bscan

上の図で、実デバイスは未使用ピンはハイインピーダンスなのに、バウンダリスキャンで見たところ出力として認識されてしまいます。もう、ISE11.5に期待していますので、よろしくお願いします。>XILINXさん

EDK11.4はSpartan-6に対応したようです。もう苦労してこんな変なやり方をする必要はないです。ただし、EARLY ACCESSという警告は出ます。

| | コメント (0)

2009.12.10

ET2009 豪華商品プレゼント抽選結果

去る11月18~20日に開催されたET2009では、多くの皆様にご来場いただきました。
そのうち、100名を越える大勢の方がアンケートが弊社のブースでのアンケートにご協力くださいました。
皆様には、今月はじめにはJTAG小冊子を送らせていただきましたが、届きましたでしょうか。

さて、当アンケートの最後には、ご来場者プレゼントとして、希望商品をチェックする箇所がありました。
この項目を集計したところ、
・PCI Expressボードをご希望された方・・・8名
・MITOUJTAG Light&J-Writerをご希望された方・・・32名
・Spartan-6ボードをご希望された方・・・25名
(残りの約40名は希望なし)という結果となりました。

この中から、厳正なる抽選を行い、当選者は以下の方に決まりました。
PCI Express評価ボード 森山様
MITOUJTAG Light&J-Writer 松林様
Spartan-6評価ボード 三好様
ご当選された皆様、おめでとうございます!
アンケートにご協力いただいた皆様には、詳細はメールでお伝えいたします。

ETから約3週間ほどたって、もう忘れた頃になり、申し訳ございませんが、
来週はじめには商品を送らせていただきます。
これからも特殊電子回路を宜しくお願いします。

| | コメント (0)

MITOUJTAG BASIC 2.1まもなく正式リリース

MITOUJTAG BASIC 2.1をまもなく正式リリースします。
ただいま、最後の微調整を行っております。

Mjbas214_2

BASICについては、約1年9ヶ月ぶりのメジャーバージョンアップとなります。
本当にお待たせいたしました。

1.5から2.1になってどのような変化があるかというのは11月の記事に書いたとおりですが、4000個近くのデバイスの情報があらかじめ登録されていたり、子ウィンドウがいっぱい開いたりと、1.5と比べると格段に進化しています。
Mjbas_devsel


残る課題であった、フラッシュROMライタの移植と、
Mjbas214_flash

SVFプレイヤーの移植も無事に終えました。
Mjbas214_svf

フラッシュROMライタやSVFプレイヤー、信号検索などの各種ツールは、子ウィンドウとして開きます。複数のロジアナ画面も子ウィンドウとして開き、バウンダリスキャン可視化との連動も可能です。

書き込みの対応デバイスも、Cyclone3が追加されました。

サポート期間中の方には無償でバージョンアップCD-ROMをお送りいたします。
詳しくはメールでご請求ください。

ますます進化していくMITOUJTAGを今後ともよろしくお願いします。

| | コメント (0)

2009.12.08

ACTELのFPGAボードを発注

ACTELのFPGAボードを発注しました。

もちろん、自社のJTAGツールを対応させるためです。

今日、発注したボードは、
AGL-ICICLE-KIT
AGLN-Z-NANO-KIT
A3P-EVAL-KIT

AGL-ICICLE-KITは、IglooのAGL125-QNG132という125kゲートのものです。96×16ドットのOLEDが乗っています。
AGLN-Z-NANO-KITは、IglooNanoのAGLN250-ZVQG100というデバイスが乗っています。
A3P-EVAL-KITは、ProASIC3のA3PE1500-PQ208というデバイスが乗っています。

どれも楽しみです。


| | コメント (0)

2009.12.06

SVFプレイヤーの移植中

MITOUJTAG2.xへ、SVFプレイヤーを移植する作業も順調に進んでいます。

今日のターゲットボードは、ALTERAのDE0。
QualtusIIに出力させたSVFファイルを、開発中のSVFプレイヤーで実行したところ、ちゃんと書き込めるのを確認しました。MITOUJTAG BASIC 1.5でちゃんと動いていたのだから、移植して動いて当然といえば当然ですね・・

Altera_de0_svf
(画面は開発中のもので、ボタン等の配置は仮です。)

あとは、MITOUJTAG2.xの各種ボタンやツールバー/ステータスバーと連動させたり、SVFファイル実行中にはバウンダリスキャンができないようにする排他制御を仕込んだり、メッセージウィンドウを1つにまとめたり、そういう地道な作業が続きます。
Pro版では、SVFのステップ実行ができるようにしたりということも考えています。

| | コメント (0)

2009.12.04

ホームにて

中島みゆきさんの『ホームにて』という歌がありますが、
この歌詞が頭をぐるぐる回ったので考えてみました。

この歌は帰省を歌っているように思われていますが、実は隠喩だと思います。

この歌の主人公は、走りだせば間に合うのに走り出さないし、
切符が溜まっていくほど何度も終電を逃しています。
すごく汽車に乗りたいけど、なぜ乗れないのでしょう。

おそらく、汽車に乗って帰るふるさとというのは、物理的な故郷のことではなく、
居心地のよかった昔の生活(あるいは当時なら学生運動とか)ではないかと思います。

人は誰でもそういう居心地のよかった場所(ふるさと)から、
夢を追い求めて何かの行動(街に出る)をします。
でも、その街では苦労や挫折(彷徨う、涙、ため息)が待っています。
そんなとき、もうあきらめようという気持ち(やさしい声の駅長)が叫びます。
帰りたくなってホームまで来たのですが、結局、汽車には乗りません。
街に挨拶している間にドアが閉まってしまいます。
本当に帰りたいなら、街に挨拶なんてしないでしょう。
窓を叩いたりホームの端まで走ったりと、乗りたいふりしながら、
汽車に乗った人の笑顔をみているわけです。

故郷に戻るか、それとも夢を追い求めるか。
この歌の主人公は街に残るほうを選択しました。
かざり荷物を捨てなかったのです。

この歌は、今はどんなにつらくてもあきらめてはいけない、汽車に乗るな、と
励ます歌ではないかと思えるようになりました。
考えすぎかな。

帰りびとが、みな夢をかなえて故郷に帰るから笑っているのだといいですね!

| | コメント (0)

2009.12.02

画像機器展に行ってきました

ヒューマンデータさんから案内の葉書をいただいたことがきっかけで国際画像機器展に行ってきました。ヒューマンデータのブースでは、Virtex5の小型ボードがあって、RocketIOのデモが動いていました。

それからいろいろ見て歩いていていたのですが、
同時開催の先端光テクノロジー展2009で、
レーザーがいっぱい。いいですね。

カッカッカッカッカッカッカッカッカッ・・、とあちこちでフラッシュランプの音がします。
赤や緑や青の綺麗な光が飛び交います。
どこかの研究所の先生が、レーザ業者の若い人を質問攻めにしています。

楽しい展示会でした。

| | コメント (0)

PCI Expressでいろいろ進展

今夜のデバッグでは、PCI Express関連でいろいろ進展がありました。

① Vostro220sで特電PCI Expressボードが起動できない問題がある件
特電PCI Expressボードは、TIのXIO1100というPHYチップを使っています。特電PCIeのリファレンスデザインでは、PHYチップのPLLが安定したことを示すフラグが来るまで、FPGA内のDLLをリセットしています。

そして、このチップへ供給するTX_CLKはFPGA起動時にLレベルに固定しています。DLLのリセットが解除されてはじめて、TX_CLKが供給されるしくみになっています。

つまり、
「XIO1100電源ON→XIO1100リセット→パソコンからREFCLKが供給される→XIO1100のPHY_STATUS下がる→FPGAのDLLリセット解除→XIO1100へTX_CLK出力」
という流れなのです。

しかし、このチップのTX_CLKはLレベルだと上記のPHY_STATUSのフラグが出ないことがあるようです。(しかも、XIO1100のロットによるようだ)

TX_CLKがLのままだと、Vostro220sでは、特電PCI Expressボードの2号機では、90%の確率でPHYチップのPLL安定フラグが出ません。(やはりXIO1100のロットによるみたいで、大丈夫なXIO1100なら大丈夫)
こういう理由でデッドロックしてしまっていました。PHYチップのTX_CLKの初期値をHレベルにしたら、あっさり解決しました。

これは、MITOUJTAGのバウンダリスキャンでいろんなピンをポチポチしてみて、TX_CLKをHにしたら、RX_DATAがぶわーっと送られてきたのが見えたので気が付きました。バウンダリスキャンを使わなければ発見できなかったでしょう。

② PCI Expresss拡張コンフィギュレーション空間にアクセスする方法
WindowsXP以前では、OSレベルではPCI Expresss拡張コンフィギュレーション空間へのサポートをサポートしていないため、とても面倒です。

いくつかの文献(PCI Express入門講座:電波新聞社、PCI Express System Architecture:Mindshare Inc)を見ても、『PCI Express拡張コンフィギュレーション空間にアクセスするには、メモリ空間にマップして読み出す。そのアドレスは[ベースアドレス(36bit)][バス番号(8bit)][デバイス番号(4bit)][ファンクション番号(4bit)][レジスタ番号(12bit)]である』というくらいの情報しか書いてありません。

どうやら、OSが起動した時には、すでにこのテーブルの場所は決まっているようです。しかし、Microsoftのドキュメント(「PCI, PCI-X, and PCI Express: Frequently Asked Questions」)によればそのマッピングの先頭アドレスやサイズはシステムによって異なると書かれていて、結局のところわかりません。

調べたところ、ACPIのMCFGテーブルに書かれているというとろこまでわかりました。ACPIというのは、電源管理とかをやっているアレのことで、BIOSと同じくらいのレベルでのプログラムだかなんだかそういうものだそうです。ACPIにアクセスするには、ACPI言語(AML)を使うとか、わけがわからないことばかりで、結局ACPIのテーブルを見る方法は、すぐにはわかりませんでした。

といっても、基本的にはCPUからみた32bitアドレス空間のどこか256MByteにマッピングされているのでしょう。
256MByteということは、4G÷256M=16だから、0x00000000、0x10000000、0x20000000、0x30000000・・、0xe0000000、0xf0000000のどこかにいるのでしょう。

順番に調べていったら、私のPCでは、0xf0000000にいました。
MmMapIoSpaceを使って0xf0000000を仮想空間にマップして、READ_REGISTER_BUFFER_ULONGで読むと、0x29B08086という値が返ってきました。これは、バス0、デバイス0、ファンクション0、つまりルートコンプレックスのデバイスIDとベンダIDです。やった!

バス番号を1番にして、コンフィグ空間の0x58c番地を読み出してみます。すると、
Pcie_extcfg
おおっ!拡張コンフィギュレーション空間への読み出しトランザクションが発生するではないですか!!

② PCI Expresss拡張コンフィギュレーション空間(Vistaと7の場合)
WindowsVista以降(Windows7も)では、OSがPCI Expresss拡張コンフィギュレーション空間をサポートしているので、IRP_MN_READ_CONFIGやIRP_MN_WRITE_CONFIGを使えば簡単に読み出せます。
実際にやってみたところ、Windows7ならば、サンプルアプリケーションでcrd long 100とやれば普通に読めました。

残る問題
① 最初にVostro220sでの動作不良をご連絡していただいたお客様の状況では、一度リンクアップした後にリンクが切れるとのこと。残念ながら当社のVostro220sでは、その状況はまだ再現できていません。そのお客様では特電ボードの隣のスロットにx16のビデオボードを挿しているから何か干渉してしまっているのでしょうか。

② 別のお客様によればx16のスロットに挿したら動かなかったのでx4のスロットに挿したとのこと。
確かに、Vostro220sのx16のスロットに特電PCIeボード(x1)を差し込んだ場合、動作しません。なぜだろう・・。
PCIeのx16スロットは下位互換性があるはずですが・・・
まだまだIPコアの物理層ロジックに改良の余地があるということでしょうか。

③ ACPIのテーブルってどうやって読めばいいのでしょう

| | コメント (0)

2009.12.01

今年もあと1ヶ月

今年も残すところあと1ヶ月となりました。

残った1ヶ月間にやりたいことを書いておきます。
・Vostro220sと特電PCIeコアの相性が悪い原因を究明する
・PCI ExpressコアをDMA対応にする
・PCI Expressの拡張コンフィギュレーション空間にアクセスする
・ユーザサポートを充実する
・特電SP6ボードのサンプルデザインを充実させる
・SP6ボートやPCIeで使う「4方向データエクスチェンジ」IPコアを開発する
・MITOUJTAG 2のマニュアル・ヘルプを整備する
・MITOUJTAG BASIC 2.1にSVFプレイヤーを実装
・MITOUJTAG BASIC 2.1の正式リリース(現在はVerupのみ)
・MITOUJTAG Pro特別版の正式リリース
・ALTERAのJTAG通信方法の究明
・10×10 LED光センサアレイの実験
・今度こそ締め切りに間に合うよう原稿を送る
・チップコンデンサクッキーの製法確立

さて、1ヶ月で足りるでしょうか。

| | コメント (0)

« 2009年11月 | トップページ | 2010年1月 »