FC2カウンター FPGAの部屋 2005年08月
fc2ブログ

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

FPGAの部屋

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

アイデア貯金箱

夏休みの宿題のアイデア貯金箱が出来上がった。
小5の息子のトレビの水槽貯金箱。余り秘密にする必要は無かったようである。
kame_tyokinbako.jpg

もっと、トレビの泉のようにゴージャスな装飾とかをイメージしていたのだが、なんか、中の亀がかわいらしい。亀を飼っているので、作りたかったのだと思う。貯金箱のプラスチックケースは、100円ショップの折り紙入れである。お金を入れる穴は私があけたが、後は一人で作った。

小1の娘は海の中の生き物たち貯金箱。お母さんが手伝ったというか、お母さんがだいぶ作ったので、人形の出来が良い。
oyako_tyokinbako.jpg

明日からは学校が始まる。2学期制なので、明日から給食があるそうだ。
  1. 2005年08月31日 20:22 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

息子の骨折

8月22日に旅行先で息子が骨折してしまった。
現地の病院では添え木をしてもらった。地元に戻って医者に行ってギブスをしてもらえとのことだったが、地元の医者に行ったら添え木だけで様子を見ましょうとのことだった。
my_sun_leg.jpg

このような格好になってしまった。歩くのは松葉杖だ。左足でケンケンするとまだ右足が痛くなるそうである。
でも、ギブスをしなくて良かった。夏のギブスは地獄だそうである。ギブスの中に汗をかいても、拭けないので、ものすごく痒くなるそうである。
添え木ならば、包帯をはずして、そっとシャワーを浴びることも出来る。
この点は良かったが、松葉杖は変わらない。9月からの学校で3階まで階段を登らなければならないが、大変そうである。心配だ。
  1. 2005年08月28日 12:05 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

FPGAの実験

最近、DDR SDRAMコントローラの記事とはトンとおさらばしているが、この時期、実験の準備で忙しいので、なかなか出来ない。
Phase Shiftの数値をPCIのコンフィギュレーション・レジスタの予約領域0x38に出そうとするのだが、そうするとBIOSがDVIボードを認識しない。タイミング制約は満たしているので、そっちの問題ではないとすると、予約領域が0ではないのがいけないのか?
予約外領域0x40に変更してみる。ビット・ファイルは出来た。月曜日に試してみよう。

FPGAの実験は、Spartan3 Starter KitにMIPSプロセッサのサブセットを載せる実験。Spartan3 Starter Kitは、アタッシュケース(ボードが入るように加工してある)に入れて、学生一人一人に貸し出す。なので、パラレルポートが付いているパソコンがあれば、家でも実験できる。
いきなり、プロセッサの実験では荷が重過ぎるので、VHDLの文法を説明しながら、サンプル回路を作ってもらう。手順はというと、
1.組み合わせ回路
2.順序回路
3.ステートマシン(ミーリー、ムーア)
4.実際の回路として、野球ゲームかブラックジャックを作る
野球ゲームは、この本と同様だが、ボードが変わっているのでインターフェースが異なっている。ちなみに、この野球ゲーム(本)の作者は、ウチの大学の研究室の卒業生で、よく知っている人だ。
ブラック・ジャックは、今回のオリジナル回路で、私の同僚が作った。結構、面白いと思うが、使用できる表示器は、7セグLEDとLEDだけなので、7セグエメントLEDでカードを表示するのが難しい。10はA、ジャックはb、クイーンはc、キングはdと表示するので、雰囲気が出ないのが難点。慣れてくれば、結構、おもしろいと思う。最後には、自分とディーラーの点数も出して、勝負の判定もする。点数は10進補正して、10進数で出す。
  1. 2005年08月27日 13:52 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:2

奥久慈旅行2

今日は奥久慈旅行の2日目だ。
これが宿の外観。
yamizo.jpg

部屋や食事は値段の割りになかなか良かった。もう一度行きたい。
最初に八溝山に言ったが、なんか人がいなくて淋しい。山頂まで行ったが、早々に退散。一応、名水の金性水を汲んでくる。
次に、おやき学校に行く。おやき作りの体験も出来る。私は写真専門だが、他の4人がおやきを作った。写真は、蒸かす前のおやき。
oyaki.jpg

りんご餡のおやきがおいしかった。
今度は、茶の里公園へ行く。
お茶についての展示や、紙人形館を見る。余りたいしたこと無い。
電動アシスト自転車を借りて、鯉にえさをやりに行く。私の自転車のバッテリーが0だったので、返しに行ったが、その間に大変な騒ぎになっていた。
息子が堀に転落して、ずぶぬれになっていた。しかも、足がとても痛いそうだ。尋常でない様子なので、病院を聞いて、行ってみる。すると、足のひ骨が骨折していた。
応急処置をしてもらって、急遽、高速を飛ばして、地元に帰り、医者に行った。これで、運動会はパーだそうだ。残念。
大変な旅行になってしまった。
  1. 2005年08月22日 19:45 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

奥久慈旅行1

今日は奥久慈へ家族で旅行に行った。後で大変なことになるのだが、それは明日の話。
今日は、家を車で出て高速に乗り、茨城県の那珂インターで降りた。
大子方面へ向けて車を走らせる。だんだん山が迫って来るようになり、旅行気分が出る。
2時間ほどで袋田の滝に到着。かなり水量が多く、見ごたえがある。
fukuroda_no_kaki.jpg

ここでは、滝の上まで登れる。子供とウチの奥さんは登っていったが、私は途中でダウン。でも途中でも見ごたえがあった。
次はやなへ行った。やなは鮎を取る漁具の一種で川の水を竹で作った網に導いて、鮎だけ一網打尽にしようという仕掛けだ。
でも、見ていても一匹もかからなかった。子供は水浸しになって遊んでいた。流されてもやなに戻ってくるので、かなり安全みたい。
yana.jpg

次は月待ちの滝だ。ここは滝の裏に入れるので、目の前で落ちてくる水が見える。滝の見える茶屋もあるので、そこでお茶にしたけど、風情があった。
tukimachi_no_taki.jpg

その後、宿に行った。今日の宿はやみぞ。りんご風呂が有名だが、9月からで、まだである。
  1. 2005年08月21日 19:29 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

PSXのノイズ

かねてからテレビの4チャンネルにノイズが載っているなと思っていた。斜めに走るビート干渉縞と白いドットが目立つ時がある。
一昨日、雷がなって、電波状態が悪かったが、(スポラディックE層が出来ていたかもしれない)、PSXを電源ONしたら、とたんに前に書いたようなノイズが載って来た。
”えー、そうか、このノイズはPSXから出ているのか”PSXを消すと干渉縞と白いドットは消える。そのほかに雷のバーストノイズが入るが。。。
状況としては、PSXをつけて、テレビのチューナーで4チャンネルを見ると、ノイズが出る。
PSXのチューナーで4チャンネルを見るとノイズは出ない。
ビデオのチューナーで4チャンネルを見るとノイズが出る。
おかしいのでPSXのサポートにメール。

次の日(昨日)、朝同じようにやってみたら、PSXをつけて、テレビのチューナーで4チャンネルを見ると、干渉縞は出るが、昨日よりもかなり薄い。白いドットは確認できない。

夕方、メールチェックするとソニーのサポートからメールあり。電話してくれとのこと。
電話したら、部屋の状況によってそうなることもある。とのこと。どうしようもないとのこと。
私は、”なんでノイズが載るんだ、電波暗室でスプリアスチェックやってないのか。スペアナのデータを出せ。”と言いたかったが。どうせサポートの人に言っても話し通じないだろうし、クレーマーと見られるのが落ちなので止めた。
シールドしたら直るかしら?やってみようかな?
PSXのノイズがテレビのIFにでも回っているのだろうか?
やはりソニーはだめなのか?
  1. 2005年08月17日 19:25 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:8

15インチCRTディスプレイを捨てました

mag_display.jpg

昨日、MAGのCRTディスプレイを引き取ってもらいました。
以前、に液晶ディスプレイをもらったので、以前使っていたCRTディスプレイがいらなくなったという話をしたが、それで、いらなくなった今は無きMAGのディスプレイをどうしようかと思っていた。
MAGは今はなくなってしまったらしいが、以前はGATEWAYのOEMディスプレイだったこともある。でも会社がなくなってしまったらしいので、廃棄するには「パソコン3R推進センター」に申し込むそうである。料金は5千いくらかかるらしい。こんなにかかっては、いやなので他の方法を探していた。
だめもとで、リサイクルショップのハードオフに電話してみたら、15インチCRTでもDサブコネクタで、ちゃんと写れば引き取るとのこと。
で、昨日行ってきました。査定後、100円で引き取るとのこと。100円要らないし、書類を書くのが面倒なので、お金は要らないと言って、CRTを引き取ってもらった。
私は、5千いくら払わなくて良くなったので、儲かったし、向こうも千円とかで売るので儲かるのだろう。双方丸く収まったと思う。とにかく良かった。

  1. 2005年08月15日 17:23 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

お盆

今日からお盆だ。
今日は迎え盆で、仏様をお墓から家に迎えてくる日だ。
子供らは、今日から16日まで、奥さんの実家にお泊りに行く。
奥さんの実家では、義理の弟の子供らも来ているので、子供が合計6人になり、とても楽しいらしく、いつもお盆と正月に泊まりに行くのである。
ちなみに、この地方のお盆は、午後5時ころ、お墓に行って、お供え、(いろいろな果物やサトイモの葉っぱの上に、キュウリやナスをさいの目に切って載せた物)をあげ、お線香をあげる。
お墓にろうそくを灯し、そのろうそくから提灯のろうそくに火を灯す。
提灯を家まで持って帰って、仏壇のろうそくに火を移す。
仏壇にお線香を上げる。
という手順だ。写真があると良かったが、後で取れたらアップしたい。
今日は午前中は久しぶりにプールに行く。
プールはこの地方では、公共事業で複数の温泉付き温水プールが出来ており、安い料金で利用できる。(その代わり、財政が破綻して、火の粉が降りかかるかもしれないが)
そのうちの1つに行ってきた。
プールで泳いでから、プールの周りにあるジャグジーやサウナに入ってきた。プールで泳いでからジャグジーに入るのが最高。
出てから食事(子供のリクエストでマック)してから、奥さんの実家へ行く。そのうち、義理の弟の子供たちも来て学校状態。
奥さんの実家で迎え盆をして、少しご馳走になり、自分の家の迎え盆をするために帰る。
そうしたら、雨が降りそうだったから、もう行ってしまったとのこと。雨大丈夫だったのに。もう少し待っててくれれば良かったのに。といってもしょうがないから、送り盆は行こう。
  1. 2005年08月13日 20:50 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

夏休み自由研究

mad_pH_test.jpg

今日は、自分の息子の自由研究の手伝いだ。
土壌の酸性度を測る自由研究だそうだ。
ウチは学研の科学という雑誌を取っていて、夏休みが近くなるとそういう実験をするキットが付いてくる。
実験としては、土を取ってきて、水を入れて攪拌する。
じっと待っていると、土が沈殿して、上澄みが出来るので、それを取って試験管に入れる。
試薬を1滴たらして、色を見る。
という手順だ。
右側から、道端の土、林の土、家の畑の土だ。pHは右側から6.5以上、5.56.0くらいだ。
もうすこし、サンプルを集めて、自由研究にまとめる。
その他の夏休み選択テーマは、どうも簡単な標語、ポスター、読書感想文は嫌いらしく、アイデア貯金箱を作るという。
どっちも親が手伝わなくては、ものにならないものを選んでくれたものだ。
アイデア貯金箱のアイデアは*****のような**貯金箱だそうだ。
-- 結構、アイデア貯金箱の検索ワードで当たっているようなので、息子のため夏休み終了時まで秘密ということにしました --
  1. 2005年08月12日 20:17 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:5

DVIボードのDDR SDRAMコントローラのテスト

DVIボードパラレルケーブル4をつないで、PCIバスに入れた。
電源ONする。しばらくして、GRUBのブート画面でESCを押してブートを止めて、FPGAのコンフィギュレーションを始める。
終了したので、CTRL+ALT+DELで再起動、BIOSにPCIコンフィギュレーションをしてもらう。LINUX起動。
cat /proc/pciでPCIの割り当て状況を見ると、DVIボードの必要とするメモリが割り当てられている。すでにデバイス・ドライバは起動時に自動的に入っているので、デバッカを起動。
PCIコンフィギュレーション・レジスタを読む。よしよし、値が読めたここまではOK。
次にDDR SDRAM領域を読む。何だ、何だ、めちゃくちゃ、だめだ。ちょっとは、1発で動くだろうと期待していたのに。やっぱりだめだったか。
昨日は...という状況でした。
今日から16日まで夏休みなので、それが終わったらデバックです。どこが悪いのかわからないけど、とりあえずRead用のクロックがどの位、位相シフトされているのかをChipscopeで確かめないと。

テーマ:拡張ボード - ジャンル:コンピュータ

  1. 2005年08月12日 14:16 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

Verilog HDL 2001

昨日、デザインウエーブマガジン9月号を買って読んだら、SystemVerilogの特集だった。
まずは、Verilogを復習しようということで、Verilog HDL 2001の仕様が載っていたが、びっくり。
私の欲しかったgenerate機能が増えていて、下位モジュールを複数個インスタンス出来るとのこと。また、VHDLのif generateの機能もOK。
多次元配列も使えるようになったとのこと。singedも追加されたそう。
always @*と書けて、組み合わせ回路の時にセンシティビティリストを書かなくても良くなったのは最高。
Verilog HDLで書いてみたくなった。
でもまだ、ステートマシンのステートはparameterで直接値を入れなくちゃいけないみたい。VHDLみたいにtypeでかければいいのに。。。1つステートを増やすと、値も1ビットずつ全部のステート増やさなくちゃいけない。(1ホットなので)それに、ステート値がステートの変数だけにスコープされない。他で値として入力してもエラーにならないはず。エラーチェックが甘くなることが予想される。
後、構造体がまだない。これは、SystemVerilogで改善されるとのこと。
Xilinx社の無料ツールISE Webpackに標準の論理合成ツールXSTのマニュアル見たらVerilog HDL 2001対応しているみたいだし、generateや多次元配列が使えるのならば、Verilogで書いてみたい。
  1. 2005年08月11日 09:45 |
  2. 入門Verilog
  3. | トラックバック:0
  4. | コメント:2

DDR SDRAMコントローラのインプリメント2

昨日のタイミングが収束できない件は解決できた。
結局1.ではだめだった。
dqs_enable_2dはトラーステートバッファ制御用DDR FFなどを制御する信号で、各64個のDQ(DDR SDRAMのデータ)を出力するIOBに回っている。
昨日のdqs_enable_2dは途中の状態で、dqs_enable_2dを8個に分けて8個ずつDQにまわした状態だった。
最初は、1本のdqs_enable_2dで各64個のDQ(DDR SDRAMのデータ)にまわしていた。その時のタイミングレポートを見ると、やはり0.841ns足りない。

Slack: -0.841ns (requirement - (data path - clock path skew + uncertainty))
Source: U_ddr_cont_inf/DDR_CONT/write_data_module_inst/dqs_enable_2d[0] (FF)
Destination: U_ddr_cont_inf/DDR_CONT/write_data_module_inst/WRDATA_DDR_TRI_INST.0.WRDATA_DDR_TRI/FF0 (FF)
Requirement: 3.750ns
Data Path Delay: 4.011ns (Levels of Logic = 0)
Clock Path Skew: -0.580ns
Source Clock: U_ddr_cont_inf/DDR_CONT/clkx rising at 2.754ns
Destination Clock: U_ddr_cont_inf/DDR_CONT/clk rising at 6.504ns
Clock Uncertainty: 0.000ns
Timing Improvement Wizard
Data Path: U_ddr_cont_inf/DDR_CONT/write_data_module_inst/dqs_enable_2d[0] to U_ddr_cont_inf/DDR_CONT/write_data_module_inst/WRDATA_DDR_TRI_INST.0.WRDATA_DDR_TRI/FF0
Delay type Delay(ns) Logical Resource(s)
---------------------------- -------------------
Tcko 0.493 U_ddr_cont_inf/DDR_CONT/write_data_module_inst/dqs_enable_2d[0]
net (fanout=128) 3.241 U_ddr_cont_inf/DDR_CONT/write_data_module_inst/dqs_enable_2d(0)
Tiosrckt 0.277 U_ddr_cont_inf/DDR_CONT/write_data_module_inst/WRDATA_DDR_TRI_INST.0.WRDATA_DDR_TRI/FF0
---------------------------- ---------------------------
Total 4.011ns (0.770ns logic, 3.241ns route)
(19.2% logic, 80.8% route)

それをFPGA EditorのWorld画面で見ると、ネットがどのようになっているかが良く分かる。

dqs_enable_2d_fanout128.png


このように、128のファンアウトがあるので、ネットがたくさん走っているのが見える。赤い線がネットだ。これでは、いくらUCFでMAXDELAY=2nsを入れても遅延時間は縮まるはずがないのが分かる。
dqs_enable_2dを複製して増やしても、論理合成ツール(Synplify)が無駄と判断し、複製した分は消されてしまう。
Synplifyのマニュアルを見てみるとattributeを設定すると、VHDLのsignalごとにファンアウトを設定出来ることがわかった。それはsyn_maxfanというattributeだ。
VHDL記述は、
attribute syn_maxfan : integer;
attribute syn_maxfan of dqs_reset_2d :signal is 2;
attribute syn_maxfan of dqs_reset_2d_dqtri :signal is 1;
attribute syn_maxfan of dqs_enable_2d :signal is 1;
attribute syn_maxfan of dqs_reset_1d :signal is 9;
attribute syn_maxfan of dqs_enable_1d :signal is 8;
というようにした。
dqs_enable_2dは、ファンアウト1なので、1出力しか出来ないので、128個のFFが出来るはず。
これでコンパイルしてみた。
見事にタイミングクリア。
タイミングレポート。

Slack: 0.181ns (requirement - (data path - clock path skew + uncertainty))
Source: U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/wp_fast[1] (FF)
Destination: U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/FIFO_DATA_GEN.38.RAM64_INST/F.S0 (RAM)
Requirement: 7.500ns
Data Path Delay: 7.319ns (Levels of Logic = 4)
Clock Path Skew: 0.000ns
Source Clock: U_ddr_cont_inf/DDR_CONT/clk rising at 6.504ns
Destination Clock: U_ddr_cont_inf/DDR_CONT/clk rising at 14.004ns
Clock Uncertainty: 0.000ns

Data Path: U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/wp_fast[1] to U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/FIFO_DATA_GEN.38.RAM64_INST/F.S0
Delay type Delay(ns) Logical Resource(s)
---------------------------- -------------------
Tcko 0.493 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/wp_fast[1]
net (fanout=42) 1.229 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/wp_fast(1)
Tilo 0.382 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/un4_fifo_full_a_0_c3
net (fanout=1) 0.217 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/un4_fifo_full_a_0_c3
Tilo 0.382 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/un4_fifo_full_NE_2
net (fanout=2) 1.047 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/rddata_fifo_full_2
Tilo 0.382 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/we_0_a2
net (fanout=89) 2.730 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/we
Tws 0.457 U_ddr_cont_inf/DDR_CONT/rddata_fifo_inst/FIFO_DATA_GEN.38.RAM64_INST/F.S0
---------------------------- ---------------------------
Total 7.319ns (2.096ns logic, 5.223ns route)
(28.6% logic, 71.4% route)

というようにSlackが+になって、他のパスがクリティカルパスになっている。
またFPGA EditorのWorld画面を見ると。

dqs_enable_2d_fanout1.png


ネットがほんの少ししか走ってないことが分かる。
これで、タイミングは収束した。結局、”2.Syplify Proに制約を加えて、クリティカルパスを削除しないようにする”が一番効いた。
これから、テストだが環境を構築しなければいけない。机の上の整理も含めて。
なお、attributeのsyn_maxfanはISEに付属の論理合成ツール(XST)でも使えるそうだ。(マニュアルに書いてあった)

テーマ:拡張ボード - ジャンル:コンピュータ

  1. 2005年08月10日 13:46 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

DDR SDRAMコントローラのインプリメント

DDR SDRAMコントローラのインプリメントを始めた。インプリメントの対象はXilinx社のFPGA、Virtex2の6000,FF1517ピンのパッケージ。やはりタイミングが満足しない。
DDR SDRAMへデータを出力する時には、出力ピンに内蔵された出力データ用DDR FFとトラーステートバッファ制御用DDR FFを使用する。それらのタイミングが満足しない。
下にタイミングレポートを貼る。これは、トラーステートバッファ制御用DDR FFのセットアップ時間が足りないそうだ。7.5nsクロックの立ち上がり、立下りで動作するので、3.75nsでラッチしなければいけないが、0.867ns余計にかかるそうである。
一応、FAN OUTを減らすためにdqs_reset_2d_dqtri信号を8本にしてみたが、論理合成ツール(Synplify pro)で削除されたようだ。

Slack: -0.867ns (requirement - (data path - clock path skew + uncertainty))
Source: U_ddr_cont_inf/DDR_CONT/write_data_module_inst/dqs_reset_2d_dqtri[0] (FF)
Destination: U_ddr_cont_inf/DDR_CONT/write_data_module_inst/WRDATA_DDR_TRI_INST.4.WRDATA_DDR_TRI/FF0 (FF)
Requirement: 3.750ns
Data Path Delay: 3.744ns (Levels of Logic = 0)
Clock Path Skew: -0.873ns
Source Clock: U_ddr_cont_inf/DDR_CONT/clkx rising at 2.754ns
Destination Clock: U_ddr_cont_inf/DDR_CONT/clk rising at 6.504ns
Clock Uncertainty: 0.000ns
Timing Improvement Wizard
Data Path: U_ddr_cont_inf/DDR_CONT/write_data_module_inst/dqs_reset_2d_dqtri[0] to U_ddr_cont_inf/DDR_CONT/write_data_module_inst/WRDATA_DDR_TRI_INST.4.WRDATA_DDR_TRI/FF0
Delay type Delay(ns) Logical Resource(s)
---------------------------- -------------------
Tcko 0.493 U_ddr_cont_inf/DDR_CONT/write_data_module_inst/dqs_reset_2d_dqtri[0]
net (fanout=32) 2.947 U_ddr_cont_inf/DDR_CONT/write_data_module_inst/dqs_reset_2d_dqtri(0)
Tiotck 0.304 U_ddr_cont_inf/DDR_CONT/write_data_module_inst/WRDATA_DDR_TRI_INST.4.WRDATA_DDR_TRI/FF0
---------------------------- ---------------------------
Total 3.744ns (0.797ns logic, 2.947ns route)
(21.3% logic, 78.7% route)

解決策としては、
1.Place and Routeにがんばってもらう。(MAXDELAYなどの制約を加える)
2.Syplify Proに制約を加えて、クリティカルパスを削除しないようにする。
3.相対位置指定制約を加える。
4.絶対位置を指定する。(フロアプラン)
5.ソースを変更してクリティカルパスを減らす。

5.がいいのだが、あまり好きじゃない変更なので、とりあえず1.でがんばってもらうことにする。

テーマ:ハードウェア - ジャンル:コンピュータ

  1. 2005年08月09日 10:18 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

CATSへ行ってきました2

cats2.jpg

CATSのストーリーはプログラムによりますと、ジェリクルキャッツがゴミ捨て場で舞踏会をして、その舞踏会で長老猫が新しい生を生きるジェリクルキャッツを選ぶので、ジェリクルキャッツたちが選ばれるために舞踏会で踊り狂うということらしいです。ジェリクルキャッツというのは、誇り高い野良猫というような意味なんでしょうね。
踊りはマジシャンのミストフェリーズという猫の踊りが見事でした。歌はヴィクトリアのソプラノボイスが素敵でした。
歌でも踊りでもないんですが、時々勢いをつけてステージをひざですべっています。ひざにレッグウォーマーみたいなプロテクタをしているように見えたので、そうか!それで足につけているのかな?と思ってたんですが、どう見ても、そんなものをつけてないようなヒトもひざで滑っているようです。それじゃ、1回公演したら、ひざが真っ赤かになるんじゃないかと要らぬ心配をしてしまいました。
猫なので四つんばいで歩くのも多いし、ひざが大変ですね。一度団員の方のひざを見せてもらいたいと思いま
した。
  1. 2005年08月08日 20:43 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

CATSへ行ってきました

cats.jpg

CATSを見てきました。(ミュージカルです)
10数年ぶりの五反田に出て、ケンタッキーであわただしく食事の後、8分ほど歩いて、CATSシアターに着きました。20年ほど前に新宿でCATSのテントを見て、黒い色や奇抜なデザインに驚いたことがありましたが、同じように黒です。中に入って席に着くと、なんかサーカスみたいな全方向から見えるような舞台になってました。目の前には丘見たいのがあって、これで見えるのかなと思っていたら、始まるころ観客席の一部ごと舞台が回って、見渡しが良くなりました。
公演が始まると、猫の格好をした男女が出てきて踊り始めました。踊りはみんな上手でしたが、(この辺は見ごたえがあるでしょう)ストーリーは余りないようでした。こういうのは私は余り好きじゃありません。特に奥さんのお供なので。一緒に行った小1の子供(女の子です)は、最初は怖がってましたが、だんだん喜んでみるようになって来ました。最後は、割れんばかりの拍手をして、喜んでいるようでした。
私は、風とともに去りぬとかレ・ミゼラブルとか筋のあるほうが好きです。でも、CATSはからだの線のはっきりする衣装なので、踊りのうまさがよりはっきりわかるような気がします。
  1. 2005年08月07日 20:49 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

DDR SDRAMコントローラ その後2

ddr_transaction.png

DDR SDRAMコントローラはシミュレーションで検証する限りは大体出来上がった。これはその波形だ。DDR SDRAMコントローラとマイクロンのチップMT46V16M16、4個のモデルをつないで、シミュレーションした。
DQSがクロック、DQがデータである。どうせわかるヒトにしかわからないと思うので、これ以上の解説はしないが、データ幅64ビット、バースト長2、 CAS LATENCY=2である。最初のトランザクションは4 burst write(データは8個)次は、4 burst read(データは8個)。なお、この前にACTコマンドでバンクをアクティベートしてある。
最初、column addressに8,9,A,Bと入れてしまったが、なんだかおかしい。1クロックでデータが2つ出るので、1つwriteやreadコマンドを入れると 2つ書き読みしてしまうので、column addressの8番地にwriteすると、8と9番地に書いてしまう。次に9番地に書き込むと9とA番地に書き込んでしまったらしい。これは失敗。
column addressを8,A,C,Eにして問題解決。

テーマ:拡張ボード - ジャンル:コンピュータ

  1. 2005年08月04日 20:54 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:3

DDR SDRAMコントローラ その後

今日はDDR SDRAMコントローラのシミュレーションをした。そしたら、バグがぽろぽろ出てきて、バグフィックスに忙しかった。Write、Read、Write After Read, Burst WriteはだいたいOKそう。
Burst Readも大体大丈夫そうだが、もう少しテストパターンを入れてみる必要がありそう。
後は、Read After WriteとRefreshが絡んだ時のそれぞれのパターンについて、テストしなければ。
それが終わったら、実際にボードに合わせて、コンパイルして、実機でテストとなる。
  1. 2005年08月02日 18:57 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0