FC2カウンター FPGAの部屋 2008年08月

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

FPGAの部屋

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

豪雨、洪水

一昨日の豪雨は本当にすごかった。
午後6時過ぎころ、娘を迎えに車で大穂庁舎まで行こうとしたのだが、道路が冠水続きで、途中で迎えに行くことを断念してしまった。
もう、水を掻き分けながら進んでいる状態。水が車内に入ってこないといいなとか、このまま止まったら、もう動かないかなと思いながら進んでいたのだが、もう限界。豪雨もすごく、まだまだ冠水しそうなので、途中で引き返してしまった。
娘にはバスで帰ってこいと連絡。地上高がバスのほうが高いから大丈夫だろう。(薄情です!!!)
引き返すにしても、大丈夫だろうかと心配になったが、道路も一面に冠水しているわけではなく、低い場所が冠水していた。それならば、畑や田んぼの中の裏道のほうが道が高くなっているので冠水していないんじゃないかと思って通ったら正解だった。何とか家まで帰れた。
娘からバスも危ないから、ルートを変えるかもという電話が入って心配した。もしだめなときは、車高が高い奥さんの車で迎えに行こうと思っていた。
7時過ぎに雨が少し小降りになった7時過ぎころ、娘が帰宅。良かった!!!思わず家族みんなで拍手。。。本当に良かった。バスもかなり危なくなりながら走っていたそうだ。
何軒か床下浸水していたのを見たし、十数年ぶりの豪雨だった気がする。これは小貝川で豚が泳いでいたとき以来の豪雨だった。(今回、小貝川は氾濫していないが。。。)
車が水没して人が亡くなられていたニュースを見たが、本当にそれが人事でない気がした。
  1. 2008年08月30日 06:27 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:4

Veritakでのシミュレーションのやり方3(SuzakuV DDR2 SDRAMテスト回路を使用)

”Veritakでのシミュレーション方法2(SuzakuV DDR2 SDRAMテスト回路を使用)”の続き。

ここからVeriak-Basic Version 3.49C Build Aug.20.2008 をインストールして試しました。

26.”シミュレーションを開始します。”ボタンをクリックすると、シミュレーションが開始される。
SuzakuV_ddr2_test_sim_21_080826.png

27.シミュレーションが開始され、Document View にDDR2 SDRAMモデルからの表示が表示され、シミュレーションの一時停止($stop) で終了する。(私はNotepad++ を外部エディタとして指定しているので、そのテストベンチVerilogファイルの$stop にフォーカスがいっている)
SuzakuV_ddr2_test_sim_22_080826.png

28.”Scope Tree View を前面にします。”ボタンをクリックする。
SuzakuV_ddr2_test_sim_23_080826.png

29.Scope Tree View と Waveform Viewer と WaveformView Manager が起動する。
SuzakuV_ddr2_test_sim_24_080826.png

30.Scope Tree View の左側にVerilog moduleのインスタンスが表示されている。四角に+をクリックすると展開されるので、DDR2_SDRAMtest_tbの下のddr2_sdram_cont_inst をクリックする。右のペインに信号が表示されるのですべて選択する。
SuzakuV_ddr2_test_sim_25_080826.png

31.30.で選択した信号のところで右クリックして、”選択信号をWaveform Viewerに追加”を選択する。
SuzakuV_ddr2_test_sim_26_080826.png

32.Waveform Viewer に選択した信号が表示される。ちなみにScope Tree View で選択した信号をWaveform Viewer にドラック・アンド・ドロップしてもOK。
SuzakuV_ddr2_test_sim_27_080826.png

33.Waveform Viewer で全体の波形を見てみよう。Waveform Viewer の一番左のピンクの四角で囲ったアイコンをクリックすると、シミュレーション全体の波形を見ることができる。
SuzakuV_ddr2_test_sim_28_080826.png

34.シミュレーション全体の波形を見ている状態。ここで、左クリックが黒カーソル出て、右クリックが赤カーソルが出る。下の図のように黒カーソル、赤カーソルを配置して、ピンクの四角で囲ったアイコンをクリックする。
SuzakuV_ddr2_test_sim_29_080826.png

35.黒カーソルと赤カーソルの間がズームされる。信号はWaveform Viewer 内でドラック・アンド・ドロップすることができる。信号を多少並べ替えたWaveform Viewer の図。この辺はDDR2 SDRAMの初期化部分。
SuzakuV_ddr2_test_sim_30_080826.png

36.Waveform Viewer の信号名表示の位置で右クリックすると、いろいろなメニューがでる。例えば、空白行を入れたり、名前行を入れたりできる。”波形フォーマットを保存”は、Waveform Viewer に入れた信号名を??????.do というファイルに保存しておくことができる。
SuzakuV_ddr2_test_sim_31_080826.png

37.それでは、先ほどのWaveform Viewer に入れた信号名を保存した??????.do を読み込むときはどうするかだが。。。これは、ユーティリティメニューから”Doファイル(Waveform Viewerフフォーマット)の読み込み”を選択する。
SuzakuV_ddr2_test_sim_32_080826.png

38.ダイアログが開くので、DDR2_SDRAMtest_tb1.do を選んで開く。
SuzakuV_ddr2_test_sim_33_080826.png

39.そうすると、私が見たい信号を入れておいたWaveform Viewer が開く。
SuzakuV_ddr2_test_sim_34_080826.png

この辺でVeritakのチュートリアルは終了する。
そういえば、本題のDDR2 SDRAMの初期化部分の後ろで、何かやっているみたいなところがDDR2 SDRAMへのWRITEとREADなので、このチュートリアルでやったように拡大してご覧ください。

なお、Veriak-Basic Version 3.49C Build Aug.20.2008 にすると、新規プロジェクトを作成してプロジェクトをロードするときVeritakが落ちるときがあるようだ。
その場合は、最初にThread generate Error. status_process というダイアログを表示する。次に Microsoft Visual C++ Runtime Error のダイアログが出てVeritakが落ちてしまうことがある。解決方法としては、もう一度Veritakを起動して作ったプロジェクトをロードすれば問題なく実行することができる。

2008/09/06 追記:Veriak-Basic Version 3.50A Build Sep.2.2008 では新規プロジェクトを作成したときにVeritakが落ちることはなくなった。

2008/08/28 追記: Veritakの作者の方によるとDoファイルは将来的には廃止方向だそうだ。WaveformView Managerを使用してほしいとのことだった。私もWaveformView Manager について勉強しようと思う。

2008/09/06 追記:
controller.v などではステートマシンのステートをシミュレータで見やすいように定義してある。
それが下の図に示すINT_STATE, MAIN_STATE, STAT_DETS などなのだが、ディフォルトのままではステート名は表示されていない。
SuzakuV_ddr2_test_sim_37_080826.png
そこで、それらの信号を選択して右クリックし、右クリックのメニューから表示の選択 -> ストリングを選択する。
SuzakuV_ddr2_test_sim_38_080826.png
そうすると、ステート名が見えるはずだ。
SuzakuV_ddr2_test_sim_39_080826.png

2009/07/09 追記:
最新のVeritakバージョン3.71Cではdoファイルの項目は削除されている。前のWaveform Viewerの状態が保存されているので、doファイルを使う必要はなくなっている。
  1. 2008年08月28日 05:04 |
  2. FPGAリテラシー及びチュートリアル
  3. | トラックバック:0
  4. | コメント:0

Veritakでのシミュレーション方法2(SuzakuV DDR2 SDRAMテスト回路を使用)

”Veritakでのシミュレーション方法1(SuzakuV DDR2 SDRAMテスト回路を使用)”の続き
(注:(2008/08/27 追記: Veritakの現在のバージョンは3.49Cです。私が使っているのは3.46Cですので、現在のバージョンでやってみたときには、もしかすると動作が違っているかもしれません。)

14.今のフォルダの上のフォルダ SuzakuV_ddr2_test\ddr2_controller に移動して、そこにあるVerilogファイルをすべて選択してAdd ボタンをクリックする。
SuzakuV_ddr2_test_sim_9_080826.png

15.左下のリストボックス?にそれらのVerilogファイルが入る。
SuzakuV_ddr2_test_sim_10_080824.png

16.SuzakuV_ddr2_test\ddr2_controller\simulation フォルダに移動して、ddr2.v と DDR2_SDRAMtest_tb.v を選択し、Add ボタンをクリックして、左下のリストボックスに追加する。
SuzakuV_ddr2_test_sim_12_080826.png

17.次にISE10.1i のインストールフォルダの下のXilinx\10.1\ISE\verilog\src フォルダの下のglbl.v をを選択し、Add ボタンをクリックして、左下のリストボックスに追加する。これはGTSやGRSなどの初期化が書いてあるので、XilinxのプリミティブやCoregenなどで生成するIPがプロジェクトに入っているときには必ずプロジェクトに入れる。
SuzakuV_ddr2_test_sim_13_080826.png

19.最後にその下のXilinx\10.1\ISE\verilog\src\unisims フォルダに移動し、ライブラリとして追加するためにAdd Lib Dir ボタンをクリック。
SuzakuV_ddr2_test_sim_14_080826.png

20.これでプロジェクトをセーブする。Save Projectボタンをクリック。
SuzakuV_ddr2_test_sim_15_080826.png

21.EXITをクリックしてダイアログを閉じる。
SuzakuV_ddr2_test_sim_16_080826.png

22.VeritakWinの”Verilogプロジェクト”メニューから”Load Verilogプロジェクト”を選択する。
SuzakuV_ddr2_test_sim_17_080826.png

23.”ファイルを開く”ダイアログが開くので、今作ったプロジェクトをクリック(DDR2_burst_test_tb.vtakprj)し、開くボタンをクリック。
SuzakuV_ddr2_test_sim_18_080826.png

24.Internal Exception EC1560 というダイアログが開くので、OKボタンをクリック。(この辺はやり方がおかしいのかも知れない?)
SuzakuV_ddr2_test_sim_19_080826.png

25.コンパイルが終了して、シミュレーションの準備が完了する。
SuzakuV_ddr2_test_sim_20_080826.png

この辺で第2部を終了する。
”Veritakでのシミュレーション方法3(SuzakuV DDR2 SDRAMテスト回路を使用)”に続く。
  1. 2008年08月27日 04:56 |
  2. FPGAリテラシー及びチュートリアル
  3. | トラックバック:0
  4. | コメント:0

Veritakでのシミュレーション方法1(SuzakuV DDR2 SDRAMテスト回路を使用)

SuzakuV DDR2 SDRAMテスト回路のVeritakを使ったシミュレーションの方法を解説しようと思う。Veritak使いの方はたくさんいらっしゃると思うが、何かおかしいやり方があったらお知らせください。
ちなみにVeritakは”Verilog Simulator & FPGA &CPUのページ”によると”Veritakは、高速Verilog HDLシミュレータです。LSI エンジニアによるプロフェッショナルLSIエンジニア為の設計ツールですが、FPGAの開発ツールとしてもご利用いただけます。”だそうです。
私は4,830円のシェアウェア版(Basic版)を使っています。個人用途にはこれで十分だと思います。ダウンロードのページから”Basic版(シェアウェア版”を選んでダウンロードします)試用期間は16日だそうです。
なお、ModelSim XE3 Starter は、このDDR2 SDRAMのシミュレーションをすると制限行数を超えてしまうのでスピードが極端に落ちてしまいます。そこで安価なVeritakを使用しています。VeritakでシミュレーションをしたいのでVHDLでなくVerilogで書いています。

(2008/08/27 追記: Veritakの現在のバージョンは3.49Cです。私が使っているのは3.46Cですので、現在のバージョンでやってみたときには、もしかすると動作が違っているかもしれません。)

1.まずは”SuzakuVのDQSでリードデータを受けるDDR2 SDRAMコントローラ”からプロジェクトをダウンロードする。

2. 1.でダウンロードしたプロジェクトを適当な場所に解凍する。

3.Micron社のMT47H16M16BG-37EのページからDDR2 SDRAM(Micron MTH16M16-37E)のモデルをダウンロード。

4.DDR2 SDRAM(Micron MTH16M16-37E)のモデルのZIPファイルを解凍して、すべてのファイルをコピーする。
SuzakuV_ddr2_test_sim_1_080824.png

5. 2.で解凍したフォルダの、SuzakuV_DDR2_test\ddr2_controller\simulation フォルダに移動する。
SuzakuV_ddr2_test_sim_2_080824.png

6. 4.のSuzakuV_DDR2_test\ddr2_controller\simulation フォルダに3.のDDR2 SDRAM(Micron MTH16M16-37E)のモデルのZIPファイルを貼り付ける。
SuzakuV_ddr2_test_sim_3_080824.png

7.貼り付けた中のddr2_parameters.vh ファイルをエディタで開いて、コメントが終わったあとの27行目くらいに、DDR2 SDRAMのスピードグレードとデータバスの数のデファインを追加する。(下の値をコピペ)

`define sg37E
`define x16



8.veritakwin を起動する。
SuzakuV_ddr2_test_sim_4_080824.png

9.Veritakが起動した。
SuzakuV_ddr2_test_sim_5_080824.png

10.Veritakのプロジェクトを作成する。”Verilogプロジェクト”メニューの”新しいプロジェクトの生成”を選ぶ。
SuzakuV_ddr2_test_sim_6_080824.png

11.”名前をつけて保存”ダイアログが開くので、 ダイアログの”保存する場所(I)”で、2.で解凍したフォルダの、SuzakuV_DDR2_test\ddr2_controller\simulation フォルダに移動する。(Windows XPの場合)
12.ダイアログの”ファイル名(N):”にプロジェクト名を入力。ここではDDR2_burst_test_tb と入力し、保存ボタンをクリックする。
SuzakuV_ddr2_test_sim_7_080824.png

13.コンパイルするファイルを選択するダイアログが開く。
SuzakuV_ddr2_test_sim_8_080824.png

導入部分で終わってしまったが、Veritakでのシミュレーションのやり方1(SuzakuV DDR2 SDRAMテスト回路)はここまでとする。
録画してあるF1を見なければ。。。

”Veritakでのシミュレーション方法2(SuzakuV DDR2 SDRAMテスト回路)”に続く。
  1. 2008年08月26日 05:51 |
  2. FPGAリテラシー及びチュートリアル
  3. | トラックバック:0
  4. | コメント:0

リキャプチャ技術を使った書籍のデジタル化

朝日新聞を読んでいたら、”正解率99% ネット認証技術、書籍のデジタル化に威力”という記事があった。
これは、FCブログにもあるロボットにコメントなどを投稿させないために、わざと見えにくくした文字を入力させて人間がやっているという認証を行う技術(リキャプチャというらしい)を書籍のデジタル化に使ったという記事だった。
詳細は記事を見てほしい。
しかし、これを見て感心した。そうか、あれをそういう用途に使うと考えつくなんて。。。本当にうまいことやったじゃないですか。。。
やはりアイディアが重要なんだな~。感心することしきり。。。
  1. 2008年08月25日 12:56 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

ISE10.1iのインプリメントとFPGAのコンフィギュレーション(SuzakuV DDR2 SDRAMテスト回路を使用)

ISE10.1iではProcesses ペインのGenerate Programming File と Configure Target Device が分かれた。
ここでSuzakuVのDQSでリードデータを受けるDDR2 SDRAMコントローラのプロジェクトのインプリメントとFPGAコンフィギュレーションの使い方を説明しながら、ISE10.1iのやり方について説明しようと思う。
まずは”SuzakuVのDQSでリードデータを受けるDDR2 SDRAMコントローラ”からプロジェクトをダウンロードする。

1.ダウンロードしたZIPファイルをどこかのフォルダに置く。
SuzakuV_ddr_test_1_080823.png

2.ZIPファイルの中の SuzakuV_DDR2_testフォルダをどこかにコピー
SuzakuV_ddr_test_2_080823.png

3.SuzakuV_DDR2_test\Synth\SuzakuV_DDR2_test フォルダのSuzakuV_DDR2_test.ise をダブルクリックしてISE10.1.02 を起動する
SuzakuV_ddr_test_3_080823.png

4.Processes ペインのGenerate Programming File をダブルクリックする。
SuzakuV_ddr_test_4_080823.png

5.論理合成、MAP, Place & Route されてbit ファイルが生成される。Processes ペインのConfigure Target Device をダブルクリックして、FPGAのコンフィギュレーションをはじめる。iMPACTのプロジェクトファイルがないというダイアログが出るのでOKボタンをクリックする。
SuzakuV_ddr_test_5_080823.png

6.iMPACTのダイアログが開く。Configure devices using Boundary-Scan (JTAG) のラジオボタンがデフォルトで有効になっているので、そのままFinish ボタンをクリック。
SuzakuV_ddr_test_6_080823.png

7.suzakuv_ddr2_test.bit があるので、それをクリックし、Openボタンをクリック。
SuzakuV_ddr_test_7_080823.png

8.ダイアログが開くので、そのままOKボタンをクリック。
SuzakuV_ddr_test_8_080823.png

9.Virtex4デバイスがメインのウインドウに見え、Device Programming Properties ダイアログが開くので、OKボタンをクリック。
SuzakuV_ddr_test_9_080823.png

10.左真ん中のProcesses ペインにある→ Program をダブルクリックすると、FPGAのコンフィギュレーションが実行され、成功すれば Program Succeeded が表示される。
SuzakuV_ddr_test_11_080823.png

これでFPGAのコンフィギュレーションが終了したので、動作を確かめることができる。
下の写真で、ロータリーエンコーダー SW4 が値を設定するスイッチだ。7セグメントLEDにドットが点灯しているセグメントにロータリーエンコーダー SW4の値がSW1を押すとロードされ、ドットの位置が1つ左のLEDへシフトする。
SW3はWRIITEスイッチで、このスイッチを押すと現在の7セグメントLEDの値がDDR2 SDRAMに書き込まれる。SW2はREADスイッチで、このスイッチを押すと、DDR2 SDRAMからデータを読み込んで7セグメントLEDに表示する。
Suzakuv_ddr_test_12_080824.jpg

なお、DDR2 SDRAMのアドレスは0固定である。下の写真は7セグメントLEDを043にセットしたところ。
Suzakuv_ddr_test_13_080824.jpg
  1. 2008年08月24日 15:38 |
  2. FPGAリテラシー及びチュートリアル
  3. | トラックバック:0
  4. | コメント:0

まつりつくば

昨日はまつりつくばを見に行ってきました。数年来見に行ってなかったので、久しぶりでした。
ペデストリアン(遊歩道)に両脇に屋台やつくば市内のお店の屋台が立ち並んで、それらを食べ歩くのが楽しいんです。
いろいろな国や地方の物産を売っているので、それを食べるのが楽しみです。
トルコあたりの肉を縦に串を刺して回転させて焼いて、そぎ落として、丸い薄いパンの間に挟み、キャベツとたれをかけて食べるもの、名前は忘れました。それが好物なんです。それがあったので、すかさずかって食べました。きれいな外人の女性が売っていたので、少しお話できたのがうれしかったです。
あとは、韓国のすじ肉の煮込み(これは辛いので私は食べません)や、沖縄の肉まん(これは肉がそのままでした)、きゅうりの浅漬けを棒にさした物などを買って食べました。
そろそろ帰ろうと、下の土浦学園線に降りたら、つくば市内のいろいろな地方のお祭りがパレードしていました。獅子舞?お神輿。現在5時くらいです。まつりつくばの時は土浦学園線を通行止めにして、いろいろなパレードをやったりしています。夜になるとねぶたもでます。
matsuri_tutsukuba_1_080824.jpg

もう雨が降ってきたので、帰ろうとしたらねぶたが収納されているのが見えました。
matsuri_tutsukuba_2_080824.jpg
しばらく見ていたらねぶたが出てきました。今からパレードに出て行くところなんですね。大きなビニールをかぶせてあるのが印象的でしたね。雨だったらどうするんだろうと思っていたのですが、あんなに大きなビニールがあるとは思いませんでした。
matsuri_tutsukuba_3_080824.jpg
matsuri_tutsukuba_4_080824.jpg
結構楽しかったです。まつりつくばは今日も開催されます。
  1. 2008年08月24日 06:10 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

SuzakuVのDQSでリードデータを受けるDDR2 SDRAMコントローラ

SuzakuVのDQSでリードデータを受けるDDR2 SDRAMコントローラのISEプロジェクトとVerilogファイルをここにおいて置くので、興味のある方はダウンロードしてください。
例によって保証はありません。プロジェクトやファイルは個人的に実験するのみで、商用に使用することや再配布は禁止します。ダウンロードして試してみた方も動いたどうかコメントで教えてください。ただし、多分、DDR2 SDRAMコントローラ部分にバグがあってバーストアクセスは今のところできないようである。

このプロジェクトはSuzakuV(SZ410) スタータキットの7セグメントLEDとスイッチ、ロータリーエンコーダーを使用して、DDR2 SDRAMの読み書きをテストするためのものだ。

ISE10.1iでのインプリメントの仕方は別にISE10.1iのインプリメントのやり方編として、別の記事に書こうと思う。

とりあえず、今の”SuzakuVのDQSでリードデータを受けるDDR2 SDRAMコントローラ”は遅延が計算から求めた固定の遅延値でやっている。やはり、以前、”DQの最適な遅延値を測定するDDR2 SDRAMコントローラのシミュレーション”などでやったように、最適な遅延値を測定するフェーズを”SuzakuVのDQSでリードデータを受けるDDR2 SDRAMコントローラ”にも追加しようと思っている。幸いにも、以前使用した回路は無効にしているだけで残っているので、それを改造しようと思う。
しかし、やはり、DQSを使ってトレーニングシーケンスを使うところまで来てしまった。やはりDDR2 SDRAMを使うのは難しいのか? それとも私がぼんくらなのかもしれないが。。。
  1. 2008年08月23日 20:37 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

トラ技8月号、9月号基板の部品を注文

Simさんのブログ”トラ技9月号のマルチテスターキットを作りました”という記事を見るとなかなかよさそうなので、私も作りたくなった。
実はトラ技の8月号と9月号を買ってあったので、早速マルツパーツ館でトラ技8月号と9月号の部品を注文した。
届くのが楽しみ、久しぶりにハンダ付けだ。楽しみ。
自分で基板も起こしていないし、キットなのでちょっと物足りない気もするが、ハンダ付けして作るのは楽しい。
  1. 2008年08月22日 20:58 |
  2. パソコン関連
  3. | トラックバック:0
  4. | コメント:0

DDR2 SDRAMコントローラの経過説明

DDR2 SDRAMコントローラはどうもバーストテストがうまくいかない。Chipscopeを入れてもリードデータの2バーストデータのうち1個だけ受かっているように見えるときもあるが、ほんの少しパラメータを変えたら(関係のなさそうな)リードデータがなくなったりしてしまう。どうも、趣味のレベルではとりあえずうまくいかなそう。。。

後で、Suzaku-V(SZ410)でのDDR2 SDRAMのスイッチでの単発読み書きのプロジェクトと、DDR2 SDRAMのバーストテスト用Verilogファイル(シミュレーション用、インプリしてうまくいかなかったので。。。)を公開しようと思う。どなたたか、やる気ある方は、やってみてぜひ、どこが悪いのかを指摘してほしい。
  1. 2008年08月22日 20:50 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

東京FPGAカンファレンス2008

最近FPGAの話題が少ないが、少々夏バテ気味だ。朝、5時くらいにしか起きられないので、FPGAを触る時間が減っている。夕方は子供の夏休みの宿題も見なくてはいけないし。。。

さて、FPGAの話題だが、東京FPGAカンファレンス2008へ参加申し込みをした。
最新のいろいろなFPGAのお話が聞けることだろう。楽しみにしている。
申し込んでからスケジュールをよく見たら、特殊電子回路株式会社の講演がある。なひたふさんのお話が聞けるようなので、新しいJTAGツールの説明が聞けることだろう。楽しみ。

私を会場で見かけましたら、お気軽にお声掛けください。ブログのprofileに載っている通りの風体です。最近、年のため白髪が増えてきましたが。。。
  1. 2008年08月21日 08:46 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

人間ドック

昨日人間ドックに行ってきた。
超音波検診や採血などをやった。
胃カメラは、去年やってもらった、とてもフレンドリーなお医者さん、N先生が今年も担当でした。

私は例年、胃カメラをやった後で、昼食もとれないで、寝込んでしまっていた。
去年、胃カメラをやったときに、”胃カメラをやった後では昼食は食べられない"という私の言を聞いて、N先生は”それじゃ、私が昼食を食べられるようにうまくやりましょう"といってくれたのだった。やっている最中も、今はどういうところを見ていて、後どのくらいだから頑張れと絶えず声をかけてくれた。おかげで、去年は昼食にバナナと水をとることができた。
果たして今年はどうだろう?

のどからの胃カメラは最初に胃の泡を取る薬を飲み、その後に、のどの麻酔薬を1分、のどの奥にためおいてから飲み込む。
胃の泡を取る薬もまずいし、その後ののどの麻酔薬もたぶん、のど付近に付着するようにどろどろしているので、とてもいやな気持ちになる。それにいよいよ始まるという精神的ストレスがあるので余計なのだ。(ストレスに弱いんです。。。)

でも、今年は、それらの薬を飲む前に、N先生の姿を見たので、今年もあのN先生か~とわかったら、急に気が軽くなった。
でもやはり、相変わらず薬はまずい。
内視鏡検査室に行ったらN先生、相変わらずフレンドリーな雰囲気。ちょっとのども悪いと話していたら、今かかっている耳鼻科のお医者さんはなんとN先生の奥さんだそうだ。。。”えー、本当ですか?”と聞いたが冗談ではなく本当の様子。。。そういえば名前は同じだ。。。(あたりまえか?)
そんなこんなで、リラックスして胃カメラに臨めた。(しかし、いまだに胃カメラというのはどうなのかな?本当は内視鏡ですよね。リアルタイムにすべて見られるしカメラではない気が。。。)
やはり、やっているときは苦しくて4回くらい”げー”となってしまったが、N先生の励ましもあり、無事に終了。終わってしまえば、全く正常に戻ってしまう。それでもやっている最中には”げー”となっているので涙と鼻水は出てしまった。(汚い話で申し訳ないが。。。)

終わって、N先生の説明。軽い胃炎とかはあるが問題ないとのこと。良かった。。。
帰りがけに、”N先生、来年もお願いします”と言って帰ってきた。
お昼ごろになったら、腹がすいてきた。普通のご飯は食べられないかな?と思っていたので、買ってきたパンを食べたところ、完食。まだ、腹がすいていたので、カップラーメンも。。。
やりました。今年は昼飯が食べられました。
結局、具合が悪くなっていたのは、精神的なものなんでしょうかね?
  1. 2008年08月20日 08:21 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:6

娘の自由研究のポスター

昨日は娘の自由研究のポスターを書くのを手伝っていて1日が終わってしまった。
A4の紙にまとめながら模造紙に貼っていた。その後、自分で書いたイラストをその間に張っていたので、なかなか良くできたと思う。
後は、論文(自由研究の)が残っているが、これは、この次の休みにでも一緒にやることにする。

今日、私は人間ドックなので、結構どきどきだ。いつも胃カメラをするのだが、げーとなって負担が大きい。のどから入れる胃カメラではなく、鼻から入れる胃カメラをやりたいが、いつも行っているところは、のどからなのだ。来年は鼻からやってくれるところで、人間ドックをしたい。
  1. 2008年08月19日 05:46 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

DDR2 SDRAMコントローラをランダムなバースト長でテスト(インプリメント編)

”DDR2 SDRAMコントローラをランダムなバースト長でテスト(シミュレーション編)”でシミュレーションしたDDR2 SDRAMコントローラをランダムなバースト長でテストする回路をインプリメントしてやってみた。
結果はどうもうまくいかないようだ。Chipscopeを入れて波形を見てみるとどうもリードデータがうまく受けられていないようだ。昨日はいろいろパラメータを変えてやってみたが、リードデータが受からない。
それじゃ、以前の”やったー! DDR2 SDRAMコントローラが動いたようだ?”で手動でLEDでやってみたときには大丈夫だったのだが。。。
そこで、こっちの回路にChipscopeを入れて確かめてみることにした。
下がChipscopeのキャプチャ図だ。
SuzakuV_ddr2_test_1_080817.png
7セグメントLEDには443が表示されていて、その値をWriteしてReadしたところだ。ちなみにWriteもReadもスイッチを押したときに実行される。
dq_rise_1dでピンクの四角で囲った部分の下3桁がそのリードデータで、ちゃんと443になっている。dq_fall_1dの同じ時刻のデータもちゃんと合っている。
単発でReadしたときは大丈夫なようなので、バーストするとだめなのか?それとも、WriteとReadの間が狭すぎるのか?その辺をトラブルシュートして行こうと思う。
  1. 2008年08月18日 07:27 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

下の娘の自由研究

13日から19日までお盆休みで家にいます。
しかし、暑いですね。。。茹で上がりそうです。やはり、涼しい職場が懐かしいです。子供たちはこの暑い中、夏休み中がんばっているわけですから大したものです。
昨日は、下の娘の自由研究を一緒にやりました。
去年、石の自由研究をやって、いったんポスターを書いて学校に持って行きました。そうしたら論文が足りないというのがわかって、論文を追加しようとしたら”面倒だからもういや”となったのですが、今年は、草木染をやりたいと言い出して、昨日からやることになりました。
模造紙、論文用の用紙、ノートを買ってきて、やる気満々です。
昨日はコーヒー染め、紅茶染めをしました。大体思ったように染まったようです。上の娘の自由研究も草木染をやったことがあって、そのときは良く染まらなかったのですが、媒染剤に焼きミョウバンを使ったほうが良く染まるようです。
今日も午前中はいろいろなもので布を染めてみるそうです。私は実働部隊+写真取り係です。
午後からは奥さんの実家にお盆参りに行く予定です。

  1. 2008年08月15日 05:44 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

DDR2 SDRAMコントローラをランダムなバースト長でテスト(シミュレーション編)

Suzaku-V(SZ410)用DDR2 SDRAMコントローラをランダムなバースト長でテストするためにDDR2_burst_test.v を書いので、シミュレーションをしてみた。
DDR2_burst_test.v の上にテストベンチとして、DDR2_burst_test_tb.v を作って、Veritakでシミュレーションしてみた。
シミュレーションしてみたところ、コントローラのバグを発見した。テストベンチのバグもたくさんあったが、修正していったところシミュレーションも50us位の間、エラーなく通るようになった。
シミュレーションの一部を紹介する。下の図がシミュレーション波形だ。
ddr2_burst_test_1_080813.png
1.最初のM1マーカー(最初の緑の縦線)はプリチャージをあらわしている。前のREADやWRITEとこれから行うWRITEやREADのROWアドレスとバンクが合わないのでプリチャージをおこなう。
2.M2マーカー(2番目の緑の線)は、これから使用するROWアドレスとバンクをアクティベートする。これでセンスアンプにキャッシュされた。
3.M3マーカー(3番目の緑の線)でWRITEコマンドを発行している。ddr2_dq に書き込むデータが、ddr2_dqs, ddr2_dqs_n にサンプルクロックが出力されている。
4.M4マーカー(4番目の緑の線)でREADコマンドが発行されている。CASレイテンシー3クロック後にddr2_dqにリードデータが、ddr2_dqsにクロックが出力される。なお、コマンドレジスタ設定時にDQS#はディスエーブルしてあるので、ddr2_dqs_nにクロックは出力されない。
5.黒のカーソルと赤のカーソルの間にRAEDで受け取ったデータが出力されるので、期待値と照合する。

1.~5.をランダムなバースト長で繰り返しテストする。LED0がついている間はエラーなしで、エラーが起こるとLED0は消え、LED1が点灯する。
ddr2_burst_test_2_080813.png

シミュレーションは大丈夫そうなので、UCFファイルを作って実際にインプリメントしてやってみることにする。
  1. 2008年08月13日 11:24 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

ゴキブリ

なつたんさんの所でもゴキブリやバルサンについて書かれていたが、うちでも最近良くゴキブリを見るようになった。
うちの上の娘と息子は大の苦手。。。見ると大声を上げて逃げ出してしまう。
この前も上の娘の2階の部屋で、大げさな悲鳴が。。。”きゃつ”がいたそうだ。ちなみに上の娘はゴキちゃんのことを”きゃつ”と呼んでいる。行ってみると、いました大きなやつが。。。
つぶそうとしたけど逃げられました。。。
うちの奥さんはゴキブリホイホイを買い込んできました。仕掛けるそうです。うちはバルサンは被害が大きそうなのでやったことありません。
私はと言うと、ゴキブリあまり怖くないし、いてもそんなに気にはならないんですけど。。。やはりいないほうが良いですね。。。ただ、顔に飛んでこられるのだけは勘弁ですね!!!

今日の朝、台所用の排水枡を開けたら、ごそごそ20匹くらいいました。すかさず、持って行ったコックローチでしとめました。台所用の排水枡のところにいるのはわかっているので、一網打尽です。大体2週間くらいするとまたわいてきますので、同じことを繰り返すわけです。こうするとゴキブリが少なくなるのでは?と思っています。つまり排水溝あたりから部屋に上がってくるのでは???
  1. 2008年08月10日 17:54 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:6

ISERDESとOSERDESでのデータの授受方法

”OSERDESとISERDESその後”で”ISERDESのOCLK と CLKDIV、OSERDESのCLKには同じクロックを入力する。”と言うことがわかった。従ってOSERDESのCLKにはclk270を入れることになっているので、ISERDESのOCLK と CLKDIVにもclk270を入れることになってしまった。これをしょうがないと思ってあきらめていたが、崖の上のポニョを見るために映画館でぼーとしてたら、1つひらめいたことがある。
別にOSERDESはDDR2 SDRAMのWRITEの時に使用して、ISERDESはDDR2 SDRAMのREADの時に使用するので、双方独立に使用するわけではない。(重なるときもないではないが、それはコントローラのほうで避けられる)なので、クロックをWRITEのときとREADの時で違うクロックを入れても良いはず。。。
Virtex4にはBUGCTRL、BUFGMUXというクロックの切り替え器があるので、これを使っても良いのでは?と思った。
今のところOSERDESとISERDESが同じclk270 で受かっているようなので、これでよいと思うが、汎用的に使用できるDDR2 SDRAMコントローラもBUFGMUXでクロックを切り替えられるとより自由度があがるのではないか?と思う。
  1. 2008年08月10日 15:12 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

崖の上のポニョを見てきた

今日、崖の上のポニョを見てきました。
宮崎駿の久しぶりのアニメ映画です。見に行きたいと思っていたのですが、今日下の娘と一緒に見てきました。
感想は思ったより良かったな?という感じです。見に行ってよかったと思いました。いろいろ設定がわからなかったことがありましたが、まあまあでした。
  1. 2008年08月10日 14:52 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:3

FPGAの部屋の有用と思われるコンテンツのまとめサイトを修正した

FPGAの部屋の有用と思われるコンテンツのまとめサイトをしばらく修正していなかったので、その後のコンテンツを追加しました。
ブラウザのキャッシュに入っている方はリロードしてご覧ください。
追加のコンテンツのほとんどはDDR2に関する記事です。
  1. 2008年08月08日 05:55 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

AVNET社のSpartan3A Evaluation Kitが届いた

昨日、AVNET社のSpartan3A Evaluation Kitが届いた。早速あけてみると、PSoCのMiniProg も同梱されていた。パンフレットを除いた同梱物は下の写真のとおり。
Spa3A_eva_kit_1_080806.jpg
ユーザーズマニュアルなどは入っていなかった。あくまでパンフレットのみ。
Spa3A_eva_kit_2_080806.jpg
Spartan3A EvaluationボードにはUSBのミニBコネクタがついてて、パソコンからUSBで電源供給ができた。USBケーブルをつなぐと、LEDのD7,D6が点灯して、D2からD5までが連続的に点滅する(行ったりきたり)。
Spa3A_eva_kit_3_080806.jpg
デバイスマネージャーを見るとその他のデバイスのところにAvnet_Sp3A_Demo と言うデバイスが増えていた。これはデバイス・ドライバをインストールする必要があるのだろう。
Spa3A_eva_kit_4_080806.png
いろいろな情報がAVNET社のXilinx® Spartan™-3A Evaluation Kitのページにあるので、参考にしながらやっていこうと思う(注:このページはログインしないと入れません)。
  1. 2008年08月07日 05:33 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

2008/08/05 の近況

日曜日の夏休み自由研究お助け企画の音の実験は、使用したパソコンのうちの1台が音が出なかった。一部しかテストをしていないのが敗因だったが、見苦しい点を中学生に見せてしまった。あわてて、自分のノートパソコンを持ってきてやってもらった。失敗。。。
まあそれでも、自分の音声やリコーダなどの楽器の波形を見てもらったので、満足していただけたと思う。自分の音声の波形を見て、もう一度再生して自分の声を聞くのは面白いもんだと思う。
やっと、イベントが終わってよかった。

やっと上のイベントが終わったので、気持ち的にも余裕ができた。
現在、SUZAKU-V (SZ410) 用のDDR2 SDRAMコントローラはバーストテスト用のVerilogファイルを書き換えている。バーストテストをして、正常に動いているかを確かめる予定だ。しかし、このところの暑さでやる気が減退している。

だれか、SZ410を持ってい方で、テストしても良いという方がいらっしゃったら、いまのビットファイルを入れて、ほかのSZ410でもSUZAKU-V (SZ410) 用のDDR2 SDRAMコントローラが動くことを確かめてみたいのだが、誰か奇特な方はいらっしゃらないだろうか?

そういえば、SUZAKUのメーリングリストのSZ410の処理性能についてという質問で、DRAMのバスクロックが87.5MHzと回答があったが、これは1/4のクロック?だろうか?そうするとSZ410はDDR2-350で動いているのかな?
SZ410のDDR2 SDRAMコントローラだけを自分で作ったものに置き換えて、Linuxを動かすと言うことを目標にしようかな?
DDR2-400だけではなくて、もう少し上のクロックに挑戦しても良いかな?
  1. 2008年08月05日 05:39 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

夏休み自由研究お助け企画

最近、このブログも自由研究のキーワードでヒットすることが多いようだ。

昨日は中学生の夏休み自由研究お助け企画1日目、かなりたくさん来てくれた。
いろいろなテーマがあるのだが、私が担当したのはFMラジオを作って遊んでみるものだった。
電子選局、復調できるICとパワー用ICの2つがあらかじめ基板に半田付けされていて、基板に実装されているソケットに抵抗、セラミックコンデンサ、電解コンを差し込むだけでFMラジオができるというものだ。
最初に、電波や周波数、波長について説明した。中学生は、このころは面白くもなさそうに聞いていたが、FMラジオキットを取りだして、組み立てる番になったら、集中してきた。一応、セラコンなどの部品について説明しながら作ってもらった。
1人、基板がおかしくてならなかった人がいたが、その人の基板は良品と交換したので、全員ラジオを鳴らすことができた。
ラジオが鳴ったら、屋外にでた。どの場所で、どのくらい聞こえるかをチェックしてもらった。これは興味を持って歩き回って書いていたようだ。予想よりも興味を持ってくれてよかった。
今度はアンテナの長さを変えてもらった。今までキットについてきたのは、1/2波長のアンテナだったが、1/4波長、1/8波長のアンテナ線を用意してある。変えてみると大体の人は1/4波長のアンテナが良いとのこと。これはそのとおりだと思う。
今度は室内のどこが良く聞こえるかをチェックしてもらった。
その後、最後に説明をして終了となった。
いまどきの中学生はラジオなんて知らないかと思っていたが、結構知っていて、興味を持ってくれたのでうれしかった。

これで、電子回路や電子部品に親しめる中学生が1人でも増えてくれればいいんだけど。。。
屋外のフィールドを歩き回ったので疲れたが、今日も音の実験があるので、がんばらねば。。。
  1. 2008年08月03日 05:14 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

那珂湊のおさかな市場に行ってきました

昨日は代休だったので、那珂湊のおさかな市場に行ってきました。場所はここです。

大きな地図で見る
私と奥さんと下の娘とばあちゃんの4人です。上の娘は部活だし、息子は家のほうが良いのかお留守番でした。
高速ですいすいなので1時間20分くらいで到着。県営駐車場に車を入れました。
大きい魚屋さんばかり立ち並んでいます。
nakaminato_fish_1_080801.jpg
一軒の店に入ったところ魚が所狭しと並んでいました。これだけあると壮観です。かつお、ブリ、金目鯛、鯛、ホタテ、牡蠣、蟹、すごいです。
nakaminato_fish_2_080801.jpg
nakaminato_fish_3_080801.jpg
nakaminato_fish_4_080801.jpg
nakaminato_fish_5_080801.jpg
興奮して買う気満々になってしまいました。でも、最初に今回の来た目的の生シラス丼を食べるというミッションが残っています。(去年、江ノ島で食べたその味が忘れられずに食べたかったのです)
そのために、その辺の食事処をリサーチしました。結果は残念ながら、ないとのことで惨敗でした。残念。結局、その辺の回転寿司に入りました。私は青魚が好きなので、秋刀魚、鯵、鰯、鯖などを食べました。鯖が一番おいしかったです。活きのいい生の鯖、あまりありませんが、やはりうまい。漁港に来た甲斐がありました。
食事後はお買い物タイム、奥さんの実家へのお土産も買いましたが、花咲ガニ4匹、金目鯛、マグロかま、etc...を買って、発泡スチロール箱に氷詰めにしてもらいました。だいぶ買っちゃいましたが、勢いです。
その後、奥さんが行きたかった大洗リゾートアウトレットに行きました。いろいろなお店が集まっているショッピング街のようなものですね。
nakaminato_fish_6_080801.jpg
ここでアジアンショップ?でデンデン太鼓のようなものと、マラカス、ベルを買いました。明日からのイベントの音の素材です。
後は流行のエスカレータに巻き込みやすいサンダルを買いました。これは軽くて履き心地が良いですね。
  1. 2008年08月01日 06:04 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2