ほげめも(1998年12月27日)

Access counter:

1998年12月27日 日曜日

1998年12月27日 (日) 10時08分44秒 JST

うーむ日本語だ日本語。やっぱり日本語はいいねえ。

1998年12月27日 (日) 11時48分14秒 JST

Philips の I2C の DATA HANDBOOK ってやつを 拾ってきて読んだらわかんなかったところがわかった。 なるほどそうだったのか。 H8S/2128 のデータブックだけじゃだめだなあ。やっぱり。

しかしこの Philips の本は文章が 3 段組みになっていて、 やたら読みにくいぞ。 1 行にだいたい 5 語程度しか書かれてないという。

1998年12月27日 (日) 12時47分48秒 JST

予定よりずいぶん遅れたが、 とりあえず I2C モジュールの回路が シミュレータ上でまともに動くようにはなった。 まだ足りない機能もあるし、バグもたくさんでるだろうけど。 さっさと上位の部分も作って実機で動かそう。

といったあたりできりがいいのでおうちかえろっと。

1998年12月27日 (日) 15時06分57秒 JST

またきた。

ひょんなことからこれからあきばにいくことになった。 本を返してもらいに。

1998年12月27日 (日) 20時23分07秒 JST

たでーまー

竜世で焼肉くってきたーあうー禁酒したはずなのにー梅サワーを飲んできてしまったーもうあたしはだめだー

CD を買ってくる。globe の新しいアルバムと、RAYSTORM NEU TANZ MIX。

貸していた The TeXbook と CONCRETE MATHMATICS が帰ってきた。 しかしこの本は重い。


1998年12月28日 月曜日

1998年12月28日 (月) 05時33分26秒 JST

ふにゃー

1998年12月28日 (月) 10時11分43秒 JST

はらへりら。

1998年12月28日 (月) 10時46分21秒 JST

I2C の実験。 なのだが、どうがんばっても H8S/2128 が信号パルスを出してくれない。 ていうか、開始条件の発行すらしてくれない。 ていうか、修了^H^H終了条件をいきなり発行してるよこいつは! いったいなんなんだ!!

んでかれこれ 5 時間くらいは悩んでいたように思うが、 ぽやーんマニュアルをながめていると、 ICCR レジスタ説明の本文中に

開始条件/停止条件の発行は、MOV 命令を用います。
という記述が…。 がーんんんんん。そうだったのかー。

というわけで、マニュアルは穴があくまでちゃんと読みましょう。 シリアルポートの時も同じこと言ってた気がするなあ… はあ。もうしにそう。

1998年12月28日 (月) 13時47分59秒 JST

あまりにもはらがへって死にそうなので外にでてきた。 ゐうびんきょくにいって金をおろし、 銀行の口座につっこんでこようと思ったが、 生協第 2 購買部の ATM の前には昼休みの時間も終わったというのに人の列が。 それも三和のやつだけ妙に混んでいる。どういうこっちゃ。 といわけでさくっとあきらめる。

生協でめしを買おうかとおもったが、 おにぎりやパンが軒並み売りきれいていたので買えじ。 しかたないので、カップラーメンとおかしとシャンプーを買って帰る。 めしは 8 号館玄関まずい自動販売機のパンにすることにした。 最近変造硬貨のおかげで 本郷の自動販売機では 500 円玉が使用禁止になってしまっているのだが、 あたしの財布のなかにはなぜか 500 円玉が 5 枚もある。 必要なときに食料が手に入らなくて飢え死にしないように気をつけなくてはなるまい。

1998年12月28日 (月) 14時50分30秒 JST

PC の部品が届く。 Pentium II 450MHz が 12 個。わーいい。

1998年12月28日 (月) 15時45分01秒 JST

5 歳のおこさまにピカチュウげんきでちゅうはやはりむりだ! 字がよめん! ていうかあのパッドもでかすぎだ! しかしつかれた、はあはあ。

1998年12月28日 (月) 18時31分39秒 JST

みなさん帰っていった。 真にあたしひとりだ。


1998年12月29日 火曜日

1998年12月29日 (火) 05時11分51秒 JST

おきたた

1998年12月29日 (火) 13時11分37秒 JST

Linux は、とうとう次のバージョンを 2.2.0 にすることに決めたらしい。 いま 2.2.0 pre-patch 1 というのを配っている。 今年中に 2.2.0 は無理かなあ。

1998年12月29日 (火) 14時10分40秒 JST

Linux/IR Project


1998年12月30日 水曜日

1998年12月30日 (水) 17時05分44秒 JST

うーむ、だれもおらん。

1998年12月30日 (水) 18時58分53秒 JST

ftp://ftp.jp.kernel.org/ なんていうミラーサイトができていることを知った。 Linux カーネルのソースコードはここから取ってくるのがいいのかな。 でも学校からだったら、 ftp://ftp.riken.go.jp/pub/Linux/ のほうがずっと速いや。400Kbytes/sec とか出るもんな。

1998年12月30日 (水) 19時03分53秒 JST

ftp.jp.kernel.org(142.92.65.9)ってカナダにあるみたい。 なんだそりゃ。


1998年12月31日 木曜日

1998年12月31日 (木) 03時57分48秒 JST

はかどらん。

1998年12月31日 (木) 11時28分32秒 JST

I2C に関して H8S/2128 のデータブックに書いてあることはまったくあてにならんなー。 違うことがかいてある箇所があるし、 なによりひどいのはフローチャートの通りに作るとうまくいかんことだな。 しかしこれも、ロジックアナライザの助けがなければさっぱりわからんところだった。

1998年12月31日 (木) 17時17分20秒 JST

はらへった。

1998年12月31日 (木) 20時58分43秒 JST

うまくいったたたい


1999年01月01日 金曜日

1999年01月01日 (金) 02時08分46秒 JST

としがあけた

家族からメールの返事が来ていた。超ひさびさというか。 しかし Outlook Express の設定がまともにできてないようである。 Message-ID をなんとかしていただきたい。

1999年01月01日 (金) 12時27分14秒 JST

ちとねた。

1999年01月01日 (金) 16時02分34秒 JST

I2C バスの VHDL のシミュレーションで、 プルアップ抵抗というものを表現するにはどうしたらいいのだろうと 考えこんでいたのだが、 std_logic_1164 にはまさにそういうことを表現するために 作られているということに気づいた。

とりあえずは、バスを'H'(弱い '1') でドライブしておけば、 resolution function があとはなんとかしてくれるらしい。 std_logic_1164 のパッケージファイルを見ると、 To_X01 といったような strength stripper と呼ばれている変換関数があるのも発見。

パッケージファイルは C のヘッダファイルみたいなもんだから、 すみからすみまで目を通しておくべきものだな。 それにしても std_logic_1164 のような外付けのパッケージでここまでできるとは、 VHDL ってよくできてるんだなーと感心した。 VHDL シミュレータが 100 万円とか 1000 万円とかするのも 無理はないっていう感じですかね。

1999年01月01日 (金) 19時24分29秒 JST

I2C でコントロールできる 4ch 10bit PWM 回路のシミュレーションはうまくいった。 フィッタにかけてみたら所要 CLB は 82 個だそうで、 CLB はぜんぶで 196 個あるからまだまだいろいろと入りそうである。

Design Information
------------------
Command Line   : map -p xc4005e-4-pq100 -o mapped.ncd test3.ngd test3.pcf 
Target Device  : x4005e
Target Package : pq100
Target Speed   : -4
Mapper Version : xc4000e -- M1.4.12
Mapped Date    : Fri Jan  1 19:23:59 1999

Design Summary
--------------
   Number of errors:        0
   Number of warnings:      1
   Number of CLBs:             82 out of   196   41%
      CLB Flip Flops:     123
      4 input LUTs:       114
      3 input LUTs:        44 (36 used as route-throughs)
   Number of bonded IOBs:      27 out of    77   35%
      IOB Flops:            0
      IOB Latches:          0
   Number of global buffers:    1 out of     8   12%
   Number of primary CLKs:      1 out of     4   25%
   Number of RPM macros:        2
Total equivalent gate count for design: 1570
Additional JTAG gate count for IOBs:    1296
まだまだかわいいもんですな。 実機で動作を確認したら次はエンコーダ回路も組みこんで完成とする。

1999年01月01日 (金) 19時59分55秒 JST

なんかしらんが動いているみたいだからよしとしよう。
きむちらーめんをたべる。

1999年01月01日 (金) 23時03分15秒 JST

なにやらマシンを組みたてはじめているぞ。ごそごそ

VHDL で STARTBUF とか OSC4 とかの コンポーネントを使う方法を調べる。 実際にこいつらを使うのはこれが初めてである。 今回の回路ではホストである H8S/2128 が狂うと クロック源自体が停止する可能性があるため、 内蔵オシレータをウォッチドッグタイマとして使うつもりなんだが、 非同期なクロックで動く回路どうしのインタフェースをどうしたらいいかわからない。 単にゲートの出力を継いだだけだと、 ひげがでただけでリセットがかかってしまうなんてことが起きるし。


1999年01月02日 土曜日

1999年01月02日 (土) 01時12分28秒 JST

うが、はう、わからん。 いったいこれはどうしろと。

XILINX のドキュメントはほんとにあてにならんな。 記述もれがあって、ぜんぜん動かんかった。 パッケージファイルを直接読みとったほうがずっと早かったぞ。 OSC4generic map で使う 周波数の種類を選択しないとだめらしい。

1999年01月02日 (土) 01時53分43秒 JST

PC が一台組みあがったらしい。 が、起動時にハードウェア電圧モニタがエラーメッセージをだす。 なんでも CPU のコア電圧が 2.2V になってるぞ、ということらしい。 Pentium II 450MHz は 2.0V なのに。

マザーボードは ASUS P2B-D であるが、 電圧の設定があるわけでもなく マニュアルにも電圧は自動的に設定されるみたいなことが書いてあるので、 なんでこんなエラーがでるのかさっぱりわからない。 ファームウェアの問題だろうか。

1999年01月02日 (土) 03時35分14秒 JST

はあはあ、 ROC コンポーネントを再動員するとかして、 なんとかシミュレーションもうまくいくようにごまかせたもよう。 しかしこういう使いかたでいいんだろうか。 XILINX はどう使ってほしいのか、 ドキュメントを読んでもいまいちよくわからんなー。 とりあえず EPIC(フロアプランナ)で観察する限りでは、 STARTUPOSC4 は正しく設定されているように見える。 わからんけど。

結局ウォッチドッグタイマは、I2C バスの状況を監視して、 バスの活動がある限りはリセットはかけないというようにした。 これじゃ完璧じゃないのはわかっているが、 まあたいていの場合役に立つだろうからこのへんで妥協することにする。 あまり時間かけすぎてもまずいから。

1999年01月02日 (土) 05時37分14秒 JST

しーふーどぬーどるをくった。
ねむい。ねよ。

1999年01月02日 (土) 13時27分16秒 JST

おきたた

ゆめをみた…これが初夢?

1999年01月02日 (土) 21時47分15秒 JST

うーむむ。口内炎ができているな。いたい。

1999年01月02日 (土) 23時28分08秒 JST

FPGA Express め。 ベクタのスライスの指定に定数しか使えないなんてどこにも書いてないぞ。 それもエラボレーションのときになって初めてエラーをだしやがって、 迷惑なことこの上ない。 だいたい HDL-27 とかいう エラーリファレンス番号はどこで調べりゃいいんだまったく。

vhdlref.pdf には Synopsys の提供するパッケージの使い方とかが 書いてあって、読んでおくと役にたつ。 とりあえずシフト関数というのがあるのを見つけたので急場をしのいだ。

  com_mux:
  process(SCAN, P)
    variable SH: integer range K-1 downto 0;
  begin
    SH:=CONV_INTEGER(unsigned(SCAN));
    MUX_O<=P(SCAN*2+1 downto SCAN*2);  -- エラー(スライス範囲指定が定数でない)
  end process;
こいつを
  com_mux:
  process(SCAN, P)
    variable SH: std_logic_vector(2*2**K-1 downto 0);
  begin
    SH:=SHR(P, SCAN);  -- シフト関数(Synopsys パッケージ)
    SH:=SHR(SH, SCAN); -- シフト関数(Synopsys パッケージ)
    MUX_O<=SH(1 downto 0);
  end process;
こうした。 我ながらなにやってんだって感じ。まともに論理合成してくれればいいけど。


Last modified: Sat Jan 2 23:35:31 1999