FC2カウンター FPGAの部屋 2007年06月

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

FPGAの部屋

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

アサーションベース設計 原書2版

Amazonに注文しておいたアサーションベース設計 原書2版が今日届きました。まだあまり読んでいませんが、奮発して8,400円もの本を買ってしまったので、がんばって読む予定です。
目標は今やっているPCI-Xバス・モジュールにアサーションを埋め込んで、検証したいと思っています。
今のところ、あまり読んでいないのですが、論理合成では無視するようにした領域に、VHDLでは assert 文で不正な状態を検出するような記述を書けば良いのでしょうか?
せっかく買ったので、生かすために読んでみようと思います。
  1. 2007年06月30日 21:15 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:4

PCIバスなどのシミュレーション(VHDL)

大体のバスはそうだと思うが、PCIバスに代表される(代表されないか?)バスをシミュレーションするときに普通にやろうとすると、シミュレーション時に入力が 'Z' になると出力が 'X' になって、それが伝播して、シミュレーション時の信号が'X'でいっぱいになる。(VHDLの場合)

PCIバスの信号は大体はサスティンド・トライステートと呼ばれる信号になっている。サスティンド・トライステートは、信号をマザーボードで、電源から抵抗でプルアップしておく。そして、いずれかのデバイスがバスをドライブし、ドライブが終了してバスを放すときに、必ず出力を'1'レベルにドライブしてから、ハイインピーダンス 'Z' にする。ちなみに、それらの信号はアクティブ・ローだ。'0'の時にアクティブとなる。
そうすることで、'0'でドライブをオフ(ハイインピーダンス状態)にした時の、'1'になるまでの長い回復時間を防いでいる。('0'でドライブをオフした時には、'1'にするためにはプルアップ抵抗と浮遊容量で構成された積分回路を充電する必要があるため、バススピードから見たら長い時間がかかる)
このマザーボードでの抵抗プルアップをシミュレーションで実現することを考えてみた。std_logicの信号値は 'U', 'W', 'X', 'L', 'H', '0', '1', '-', 'Z' の9種類あって、そのうちの弱い'1'の 'H' を使うことにした。
PCIバスモデルで、PCIバスのサスティンド・トライステート信号を常に 'H' にドライブしておいて、ターゲットボードの回路の信号を接続した。ターゲットボードの回路が信号をドライブするときには、PCIバスモデルは 'H' を出力しながら、ターゲットボードの回路が '0' や '1' に信号をドライブする。これで 'U' が伝播せずにシミュレーションができるようになった。信号レベルが 'H' だと他のデバイスが '1' や '0' を出力してもぶつかる事がなく、シミュレーションをすることができた。
しかし、前回のターゲットボードの回路は入力信号が 'H' にドライブされることを考慮していなかったため、動作がおかしくなってしまったので、PCIバスモデルのほうで強制的に '1' にしたところもあった。
今回は、それも修正したつもりだ。
具体的には、

when bus_busy =>
 if (irdyx = '1') and (framex = '1') then
  next_state <= idle;
 end if;


というのを、

when bus_busy =>
 if (irdyx /= '0') and (framex /= '0') then
  next_state <= idle;
 end if;


に書き直した。
今から確認するのだが、これで大丈夫だろう?と思う。

ご意見、指摘をお待ちしています。

#なお、ブラウザでブログを書いているのだが、操作をミスって、3回消してしまった。ブログ書く専用エディタにしようかしら、せっかく書いたのにくやしーーーーーい。だんだんどうでも良くなってきた。

2007/07/03 追加:上記の記述で無事シミュレーションができました。
今回、私は使っていませんが、haltoさんからTo_X01を教えていただきました。haltoさんありがとうございました。
To_X01を使用すると 'H'を '1'、'L' を '0' に変換してくれるようです。その他の信号も変換します。
To_X01は <ISEインストールホルダ>\vhdl\src\ieee\std_logic_1164.vhd に定義があります。
  1. 2007年06月29日 20:40 |
  2. シミュレーション
  3. | トラックバック:0
  4. | コメント:2

PCI-Xバス・モジュール

PCI-Xバス・モジュールが大体出来上がってきた。と言ってもコンフィグレーション・アクセスとメモリ・リード、メモリ・ライトにDWORDアクセスで応答するだけだ。PCI-Xターゲットの機能しかない。
とりあえず、コンフィギュレーション・アクセスに応答する予定だ。タイムアウト(リトライ終了)はすぐアクセスできるので、とりあえず無し。
一応、出来上がってきたが、まだシミュレーションしていないので動くかどうかわからない。テストベンチを作らなくちゃいけないが、前のPCIのを直そうと思っている。
できたらとりあえず、Chipscopeを入れて、どんなアクセスが来るのか見たいと思っている。
でも、チップセットがどのようにスプリット応答するかどうかなどは、マスタ機能をつけないと確認できないな。。。

PCI-Xには、PCI-Xコマンド・レジスタとPCI-Xステータ・レジスタが追加されている。PCI-Xステータ・レジスタには、自分のFunction Number, Device Number, Bus Numberのフィールドがある。これらのフィールドの値は、コンフィギュレーション・アクセスのときのアトリビュート・フェーズでADに出てくるので、それを保存する。
  1. 2007年06月27日 19:44 |
  2. PCI
  3. | トラックバック:0
  4. | コメント:0

”スーパーコンピュータを20万円で創る”を読みました

牧野先生の日記で”スーパーコンピュータを20万円で創る”という本を知ったので、早速買って読んでみました。
非常に面白く、昨日全部一気に読みきってしまいました。朴先生がGRAPE-1の開発の時にかかわっていたのを知って、びっくりしました。
GRAPE-1はワイヤラッピングで3000本つないだそうです。3000本は多いですが、基板が大きいので、結構配線に余裕がありそうに見えました。あれならば、間違えてもやり直せそうです。
まったく経験のない人が、GRAPE-1を設計、ラッピングで3000本接続して完成させたのだから、たいしたものだと思いました。完成した時に鳥肌が立ったと書いてありましたが、その気持ちよくわかります。私も達成感が味わいたくて、このようなことをやっているようなものです。でも、年齢と共に薄れていきますけどね。。。
もう一度読んでみようと思っています。
  1. 2007年06月24日 05:13 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:5

キャラクタ・ディスプレイ・コントローラのまとめ

やっとVerilog2001版キャラクタ・ディスプレイ・コントローラが出来上がった。思えば怪我をする前からだから、1ヶ月くらいかかっている。
興味がある人はキャラクタ・ディスプレイ・コントローラの本体をここからダウンロードしてほしい。この中には7つのVerilogファイルと1つのUCFファイル、インクルードファイルとして、1つの.vhファイルが入っている。今回はISEプロジェクトは入れていないので自分で作ってください。
尚、例によって、動作の保証は出来ない。自己責任でお使いください。急に公開中止になることもあります。自分でお使いになるのはかまいませんが、他のサイトで公開しないでください。
キャラクタ・ディスプレイ・コントローラの本体はCharDispCtler.vで入出力は以前書いたとおりだ。VGA_はディスプレイにそのままつなぐとして、内部のフレームバッファへの書き込み方法は、processor_addrにアドレスをセットし、processor_dinにセットするキャラクタをセットして、processor_weを1クロックの間'1'にする。
フォーマットはR,G,B,キャラクタコード7ビットだ。合計10ビット。R,G,Bのビットを全て0にすると(キャラクタコードしか書かないと)文字は黒になって表示されないことに注意。
CharDispCtler_5_070621.png

上図の最初のprocessor_dinの 3b0 はR,G,Bが1,1,1でキャラクタコードが 30 つまり白の'0'キャラクタを示す。次の 3C1 はR,G,Bが1,1,1でキャラクタコードが 41 つまり白の'A'キャラクタを示す。
シミュレーション用のテストベンチもCharDispCtler_tb.vとして入れてある。
CharDispCtler.vだけだとそのままでは何も表示しないし、入力クロックが25MHzでSpartan3 Starter Kitの50MHzがそのまま入らないので、CharDispCtlerTest.v, dcm_inst.vファイルを用意してある。CharDispCtlerTest.vはキャラクタコードを+1、色コードも+1しながら全画面にキャラクタを表示する回路だ。
ISEのプロジェクトは下の図の様になる。
CharDispCtler_4_070621.png

Spartan3 Stater Kit用のUCFは用意してあるので、上図のようにプロジェクトに入れると良い。
これをインプリして、iMPACTでコンフィギュレーションして、VGAケーブルをディスプレイにつなぐと下のようにキャラクタが表示されるはずである。
char_disp_ctler_2_070523.jpg

(キャラクタの種類が多くなっているけど。。。)

最後にISEで論理合成する時にはインクルードファイルのパスを指定することになっているのを忘れないほうが良い。ISE
のXSTのプロパティの Verilog Include Directories の設定を忘れないようにしてください。
Verilog2001版DDR SDRAMコントローラーのインプリメント2、この辺をご参考にどうぞ。

更に、Spartan3E Stater KitでもUCFを書き直せば、いけるはずだ。Spartan3Aは各色3ビットあるので、それをマルチすれば同様にいけるはずだ。

2007/06/24:追加
動いたよ。動かない、というレポートをコメントでお知らせください。
  1. 2007年06月23日 13:56 |
  2. VGAコントローラ
  3. | トラックバック:0
  4. | コメント:7

PCI Express Fair 2007

昨日、TEDさんのPCI Express Fair 2007に行ってきた。

1.ザイリンクスPCI Expressソリューションとロードマップのご紹介
Xilinx FPGAの紹介。大体知っていることだった。

2.inrevium PCI Express®(XC5VLXT)評価ボードのご紹介と高速I/Fボード開発のポイント
TEDオリジナルV5LXTのPCIeボード。やはりかなり電源の個数がある。その辺に苦労されているようだ。V5はPLLを持っているのでカードエッジコネクタからのクロックをPLLチップを介さずに直接入れているようだ。3端子コンデンサも使っているようだ。3端子コンデンサの実装方法はFPGAの電源ラインが島になってしまうので、何か不安だ。 3端子コンデンサの電流容量はどのくらいなのだろうか? 電圧降下は? 疑問が尽きない。
でも、いろいろできるように考えられていて、よく出来たボードだと思った。

3.PCI Express®のプロトコルとアナライザによるデバッグ
こんなアナライザがあれば開発がラクだろうな?と思った。後のアジデントのオシロスコープもそうだが、いったい幾らするんだろうか? 数百万? オシロスコープは1千数百万か? 値段を聞く気もおきなかった。やはり、お金のあるところ以外は開発が難しい? うちでもしやるとしたら、リファレンスデザインにかけるしかない。。。

後は飛ばして プリント基板におけるPCI Express®設計の注意点
いつ聞いてもアイカ工業さんの発表は凄いと思った。いろんな実験をやりまくっているし、やれる環境も測定器もそろっているなんて凄い。懐が深いというか、技術力ある感じ。
PCIe基板を作る時は出来れば頼みたい。でも高いんだろうな?

この前行ったX-Fest2007と比べて、実際やり方の紹介がなかった。例えば、X-FestではDDRメモリインターフェースジェネレータ(MIG)やV5LXTのPCIeのコアジェンのやり方の紹介とかがあったが、今回はFPGAの使い方や内部構造についてはあまり紹介がなかった。やはり、そういうところももう少しやってくれると良かったと思った。そういうところはトレーニングでということだと思うが。。。

追加:秋葉原UDXの椅子は結構硬かった。お尻が危ない私には硬すぎた。九段下は大丈夫だったのだが、今度何かでここに行く時には、座布団を持っていくことにする。
  1. 2007年06月23日 06:39 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:4

キャラクタ・ディスプレイ・コントローラのシミュレーション

ようやく、腕の調子も良くなってきて、だいぶ打てるところまで回復してきた。まだ打ちまくれはしないが。。。箸も右手で持てるようになって来た。医者やリハビリも終了した。
皆様、ご心配ありがとうございました。大体治りました。

大体、キャラクタ・ディスプレイ・コントローラもVerilog2001に出来たので、Veritakでシミュレーションをしてみた。今回はModelSimは使わないでVeritakのみとすることにした。理由はVSYNCがでるまでに17msec位シミュレーションする必要があるので、ModelSimだと遅いのでは?ということだ。後でやってみてもいいと思っているが。。。
キャラクタ・ディスプレイ・コントローラのモジュールの入出力は下のようになっている。

module CharDispCtrler(clk, reset, processor_addr, processor_din, processor_dout, processor_we, VGA_RED, VGA_GREEN, VGA_BLUE, VGA_HSYNC, VGA_VSYNC);


processor_ と名前のついてるのが、プロセッサ側からフレーム・バッファに読み書きする関係の信号、VGA_がディスプレイに行く信号だ。
シミュレーション結果は、下のようになった。
CharDispCtler_1_070621.png

VGA_VSYNCが後のほうで1発、0になっているのがわかると思う。これが垂直同期だ。
垂直同期付近を拡大すると下のようになる。
CharDispCtler_2_070621.png

VGA_HSYNCの水平同期信号もアクティブ(0)になるのが確認できる。
Veritakシミュレータでもかなりシミュレーション時間がかかっている。やはりクロックがnsecオーダーなのに、msecオーダーで動く回路のシミュレーションは時間がかかる。

2007/06/23:追記
やはりだいぶ時間がかかるし、約20 msecシミュレーションしてみて、ModelSim StarterやVeritakでどのくらいかかるのかを調べてみた。VHDL版もあるので、それから調べてみた。
CharDispCtler_3_070621.png

VHDLでは分解能を変えて調べてみたが、それほど差はなかった。
Veritakの方がModelSim Starterより遅かったのが意外だった。やはり全ての信号をシミュレーションしているからだろうか? DDR SDRAMコントローラでは圧倒的に早かったのだが。。。ModelSimの1万行制限が影響していたのか? オプション設定が悪いのかもしれない?
いずれにしても、数分オーダーでシミュレーション時間がかかるので、終わるまでネットサーフィンが出来る。。。
  1. 2007年06月21日 05:44 |
  2. VGAコントローラ
  3. | トラックバック:0
  4. | コメント:0

腕の骨折の状況

金曜日に整形外科のリハビリに行ったが、リハビリ担当の理学療法士の人に、勝手にギブスをはずしたと2回も言われてしまった。
確かに1週間程度ではずしてしまったが、本来は3週間くらいはつけているようだ。でも、つけているとキーボード打てない!!!
その人によると1ヶ月は仕事が出来なくて、休むほどの重症だそうだ。そうなんだ。改めてびっくり。
でも、そんなに休んでいたら机もなくなってしまうし。。。休んでいられないよね。。。
確かにまだ痛いし、入力も休み休みでないと出来ない。少し打つと肘が痛くなる。

追加:fpga-labさんの徒然日記で笑われてしまったが、3,000字打っても1行65文字平均だとすると、46行しかないですよ。イメージを忘れないようにHDLにするとなると、やはり数万文字打てないと。。。それでもやっと打てるようになったんですよ。
今もそうですが、キーボードを打つときに上になる腕の骨(尺骨? 肘より手前の骨)にひびが入っているので、指を動かすとだんだん痛くなって、打てなくなります。今も打ちすぎです。。。
もう1つ追加:右腕が不自由になって特に困ったこと
1.箸がもてなくなった。左手で持っても食べられない。左手フォーク。ほんとに食べづらい。お弁当はずーとおにぎり。
2.汚い話だが、右手でお尻がふけない。ウォシュレットにするのがいいのだが、左手で代用。
3.車の運転が出来ない。田舎だと本当に困る。最近まで送り迎え。
4.荷物を持ちながら傘が持てない。=雨の日は出張にいけない。

追伸:お仕事はお受けできませんが、周りに同じような仕事をしている人がいないので、話し相手や相談相手は募集中です。ただし今のところ長文は書けません。

以前展示会で声をかけてくれた方がいらしたのですが、FPGA関係のリクルーターの方で、私のブログにリクルートのための宣伝文を載せろという、ずうずうしい申し込みをされたことがあります。それ以来、知り合いでない方の連絡の申し込みには慎重になっている傾向があります。
  1. 2007年06月17日 09:02 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:6

VHDLにおけるifdefの代わり

何かVHDLの時にifdefを使いたいという要求があるみたいだが、私も if generate を使って代わりにしている。
これがサンプルコードだ。

    BRAM16I : if ISETUP_ADDR_WIDTH=13 generate -- 8Kbyteの場合
        BLKRAM16GEN : for i in 0 to 3 generate
            blkram16 : ramb16_s18 port map(
                di => int_reg_din(15+16*i downto 16*i),
                dip => gnd2,
                en => vcc,
                we => bram_we(1+2*i),
                ssr => gnd,
                clk => clk,
                addr => adr_node(12 downto 3),
                do => bram_dout(15+16*i downto 16*i)
            );
        end generate;
    end generate;
    
    BRAM8I : if ISETUP_ADDR_WIDTH=14 generate -- 16Kbyteの場合
        BLKRAM8GEN : for i in 0 to 7 generate
            blkram8 : ramb16_s9 port map(
                di => int_reg_din(7+8*i downto 8*i),
                dip => gnd1,
                en => vcc,
                we => bram_we(i),
                ssr => gnd,
                clk => clk,
                addr => adr_node(13 downto 3),
                do => bram_dout(7+8*i downto 8*i)
            );
        end generate;
    end generate;


constantで指定した値 ISETUP_ADDR_WIDTH=13、つまりアドレスが13ビット(8Kbyte)の時にはRAMB16_S18を、SETUP_ADDR_WIDTH=14、つまりアドレスが14ビット(16Kbyte)の時にはRAMB16_S9を使うようになっている。

あれ、今良く見てみると end generate の後にラベル名を忘れている。これでも通るんだね。。。
  1. 2007年06月16日 11:03 |
  2. VHDLの書き方
  3. | トラックバック:0
  4. | コメント:0

キャラクタ・ディスプレイ・コントローラの詳しい説明

キャラクタ・ディスプレイ・コントローラはVHDLをVerilog2001に変更中だ。何しろ、腕が痛くて入力が難しいので遅々として進まないが2つファイルを変換済み。
ここでもう一度キャラクタ・ディスプレイ・コントローラの原理について説明しようと思う。
キャラクタ・ディスプレイ・コントローラはディスプレイに文字のみを表示する。文字しか表示しないならば、文字の画像データをキャラクタROMに入れておいて、文字コードを指定すれば、その文字がディスプレイ上に表示するという動作で十分だ。これでビットマップのディスプレイ・コントローラよりもフレーム・バッファの容量を減らすことが出来る。
例えば640X480ドットのビットマップ・ディスプレイ・コントローラを考えた場合に、RGB1ビットずつ3ビットの時には640X480X3bit = 921,600bit必要となる。
キャラクタ・ディスプレイ・コントローラの場合は640X480ドット・ディスプレイで8X8ドットのキャラクタとすると80X60文字表示できる。1文字RGB3ビット+キャラクタ7ビット=10ビットとすると、80X60X10 = 86,000ビットとなる。よって、Spartan3 Starter Kitでもフレーム・バッファに内部Block RAMを使用することが出来るようになる。(キャラクタROMに8X8X128 = 8.1288ビット、そのほかに必要)
そもそもディスプレイのアナログRGB信号は、Red,Green,BlueとH_SYNC, V_SYNC信号がある。
これから、その説明をする。
ディスプレイの右から横に振られるラインのドットを光らすことで画像を書き出している。そのライン上のドットが640ドットあることになる。次に今書いたラインの下に、次のラインを書く。ライン(ラスタ)は480本ある。
次のラインに移動するための同期信号がH_SYNCである。1画面書いた後に、元の位置に戻る同期信号がV_SYNCだ。

キャラクタを表示する時に、例えば画面の最初の行に A と言う文字を2つ書いたとする。display_method_070613.png

図1 ディスプレイの画面表示の最初の部分(図の色は逆です)

char_disp_ctler_3_070524.png

図2 キャラクタ・ディスプレイ・コントローラブロック図

図1の最初の A キャラクタの最初の行(ピンクで囲まれた部分)が図2のシフトレジスタに取り込まれる。図1の左側からシフトされて、図2のRGBのそれぞれの判定回路に送られる。フレーム・バッファにはRGBのビットがあって、そこが1でないと判定回路はキャラクタROMからのシフトデータが1でも、いつも0となる。
例えば、Rだけが1でGBがどちらも0ならば、最初のシフトデータ"00111000"に従って、R信号だけが出力されて、最初のラインの最初のドットに反映される。それが最初のラインの最初のキャラクタ分の8ドットだが、次は次のキャラクタの最初のデータ8ビットがシフトレジスタにロードされ、同様に処理される。緑色の線で囲まれた部分。
それを80文字(1ライン文)書くと、次のラインを書くことになる。最初の文字の次のラインは"00101000"なので、このキャラクタROMからの出力をシフトレジスタにロードして同様に比較し信号に出力する。これらの処理のために垂直カウンタからの下位アドレス3ビットがキャラクタROMに供給されている。
更にフレーム・バッファにアドレスを供給するカウンタは最初のラインの80文字分をカウントした後、次のラインの時には0に戻る。これを8ライン分繰り返す。8ライン分終了したら、次の下に表示するキャラクタのアドレスに移る。(10進で80、0x50)
  1. 2007年06月16日 06:10 |
  2. VGAコントローラ
  3. | トラックバック:0
  4. | コメント:4

X-fest2007に行ってきた

昨日、X-fest2007に行ってきた。
とてもためになったと思う。
なひたふさんも参加されていたようだ。ぜんぜん気づかなかった。よろしければ、お声掛けください。

聴講してきたのは
1.Spartan3Aコンフィギュレーション技術
BPIコンフィギュレーションはうちのCPLDでやっていることとそっくりだった。さらに複数のコンフィギュレーションを切り替えるところと、ウオッチドックを組み込んでおかしいコンフィギュレーションデータを排除できるところも。
ただし、コンフィギュレーションデータの不正を見るので、動作の不正を見る、うちのシステムとは少し違う。(まだ未実装なのだが。。。)

2.Synplify Premier
論理合成と配置配線を同時に行うツール。配線遅延も考慮して論理合成するので、うたい文句が本当ならば最強かも?
そうならば、ぜひほしいツール、20%品質アップ?

3.FPGAのデバックツール
なひたふさんのところでも書いたが、FPGA内部にMUXを入れているので、その遅延も換算しているのだろうか?
換算していないと、クロック分解能以上に測定できても意味無いような???

4.Virtex5高速シリアルトランシーバ
RXのエラスティク・バッファの位置が8B10Bデコーダより後だった。
前からそうだったけ? そうするとidleデータはKキャラクタでシンボライズされていて、idleキャラクタ用ビットがエラスティク・バッファにあるということかな?
6月22日のTEDのセミナで確認してみよう。

5.メモリコントローラ及びMIG紹介
FLASHとかを説明していたせいか、聞きたかったMIGの説明が少なかった。バンクによってピンが決まってしまうと思ったので、すでに出来ているボードには対応できないときがあるのではないか?
短い時間だからと思うが、その辺の紹介もあったほうがよいと思った。
MIGのピンのポーティングについてはPALTEKさんの資料が詳しい。私はとても素晴らしい資料だと思う。PALTEKさんは日が浅いはずなのに。。。(AVNETさんは、当然素晴らしいが。。。)
でも、PALTEKさんはあまり相手にしてくれない。。。

6.V5のPCIeエンドポイント
コアジェンで、やったこと無かったので、興味深く見た。
でもお手軽Plusはペイロードが512、VCが1では使えなさそう。リードレイテンシを隠蔽するには、VCが2必要?

とてもためになった1日だった。
抽選もやっていたし、I様とお話もしたかったのだが、腕も痛いし、早々に退散。バスもなくなるしね。。。
右腕が使えないので、電車が大変だった。

今日も腕が痛い。ちょうど悪いところを折った。。。
  1. 2007年06月14日 17:22 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

ディズニーランド

disneyland_1_070610.jpg

disneyland_2_070610.jpg

今日はディズニーランドに電車で行ってきました。
最初は天気ももっていたのですが、途中から凄い雨アンド雷で参りました。
雨の中並んでレストランに入いり、雨のやむのを待っていましたが、だめそうなのでファストパスで取ったスペースマウンテンに行きました。奥さんと長女、長男のみ、次女とお父さんはショッピング。
リトルグリーンメンの人形のボイスチェンジャーを買いました。なかなか面白い。今年の夏休みの自由研究企画で使えそうです。
そのうちに雨もやみ、良いお天気になりました。鉄道に乗って、お土産をじっくり見て5時頃帰りました。

やはり帰りの頃は骨折した腕が痛かったです。最初は大丈夫だったんですが、疲れてくるとだめみたい。やはりまだ無理は出来ません。。。
  1. 2007年06月10日 22:27 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

X‐Fest 2007

5月中にAVNET JAPAN社主宰のX‐Fest 2007の参加申し込みをした。
Web上で申し込んでX-FEST Registration Form from Webのメールが5月23日に来た。正式な受講票は後ほどメールでということだったが、6月13日に開催なのに、いまだに正式な受講表がとどかない。
届いている方いらっしゃいますか?
AVNETさんとしても私が受講しても、儲からないので受講させるかどうかを考えているのかな?

2007/06/12: 昨日遅く、AVNETさんから受講のお知らせが来た。あまり受講表が来るのが遅かったこともあり、行くつもりがなくなって来た。どうしようか。。。

2007/06/12: やはり明日、行くことにしました。
  1. 2007年06月09日 13:17 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:2

PlanAhead 9.1

XilinxからPlanAhead 9.1を勧めるメールが来て、チュートリアルユーザーズマニュアルも日本語化したというので、無料評価版をダウンロードして試している。
まだチュートリアルの途中だが、PACEやFloorplannerで回路ブロックをフロアプランするに比べて、かなり便利そうだ。回路ブロックごとにエリアを制約するのには”Floorplannerの使い方覚書2”のようにFloorplannerでやる方法があるが、その際に自分で設定しているエリアが、どのくらいなのが良くわからずにやっていた。
PlanAheadを使うと、今のエリアが回路ブロックの使用リソースに比べて、どのくらいの大きさなのかがリアルタイムに表示されて、とても便利だった。
今度はISEとの連帯なので、チュートリアルを進めたい。

手が痛いのでこの辺で終了。
  1. 2007年06月08日 05:14 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:0

PCI-Xモジュールについて

右手は、だいぶ入力が出来るようになってきたが、まだ危ない。

PCI-Xについて考えている。
DMAをどういう形式にするかだが、ホストのメモリをリードする時(PCI-Xマスタ)にスプリット応答されたら、レイテンシがかかりそう。スループットを確保するためには、チップセットにスプリット完了用のバッファが2つあれば、ホストのメモリをリードする時にスプリット応答が来たら、もう1つ次のを入れておくのも手か?
当然、スプリット完了用バッファが1つだったら、リトライになって、性能が極端に落ちるだろうが。。。
PCI-Xターゲットもスプリット転送をサポートしなければ、効率が落ちそうだ。。。その場合は回路が複雑になりそうだ。。。
  1. 2007年06月05日 21:36 |
  2. PCI
  3. | トラックバック:0
  4. | コメント:1

奥さんの新車

今日、奥さんの新車が来ました。ダイハツのビーゴです。
凄いきれいな色です。周りの芝生と色がマッチしています。
new_car_070603.jpg

  1. 2007年06月03日 22:40 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

近況(2007/06/02)

皆様、お見舞いのコメント、いろいろありがとうございました。
右腕もだいぶ良くなってきましたが、まだキーボードは打てませんし、車の運転も出来ません。毎日リハビリに通っています。
仕事も不自由ですが、この際じっくりとPCI-X仕様書を読んで、回路構成を考えています。すぐコード化出来ないのがもどかしいですが、基本的なコンセプトは出来上がってきつつあります。
それではまた自由にキーボードが打てるようになりましたら、戻ってきます。
  1. 2007年06月02日 05:53 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0