7月のこの時期は、私の師匠ともいえる人の命日です。
もう、10年以上たっていますが、そのNさんが私に与えた影響はとても大きいです。
私は、以前別の記事にも書いた通り、新卒で会社に入るまでは回路のことは勉強はしていましたが、実技としてはからっきしでした。
趣味とはいえ、ソフトウェアの知識しかなかった自分が、ハードウェアとはなんなのか?に「はっ」としたきっかけが2回ありました。
1回目は、就職してCPUの動作(正確にはメモリアクセスの仕組み)を知ったときです。
新卒で入社した会社は、1996年にも関わらず、社内的には68000が主流な時代でした。
当時の68000は、周辺回路など何も入っておらず、メモリアクセスしかできないCPUでした。外付けに、リセット回路、クロックの分配、ROM、RAM、IO、サウンド関係を実装するのが定番で、すべてロジックICで組んでいました。かろうじてPALやCPLDが使われ始めている、という感じでした。
アドレスをデコードする回路や非同期回路のメモリアクセスのタイミング回路などの仕組みが分かった時が一回目のその時でした。
このとき、自分の書いたプログラムがどのように回路に信号を伝えるのかを知りました。
【スポンサーリンク】
私が入社して3年目くらいに、Nさんは中途で入社してきました。
当時の会社のレベルの低さに、Nさんはあきれたと思いますが、私は外の空気へのあこがれなどから、Nさんとは公私ともにすぐに仲良くなりました。
2回目のその時は、Nさんと仕事をすることになったときです。
その時、Nさんから最初に言われたのは、「仕事は、自分が作りたいものを設計できるように、会社を説得するもんだ。」ということです。
結局Nさんは、まんまと自分の作りたかったSH4、SISのビデオチップ搭載の基板を作る段取りを進め、その基板に搭載するATAバスHDDからUltra DMA mode4で読み出すFPGAをIPコアなど使わず作れといわれて、一緒に開発することになりました。
(正確には「作れ」というより、これこれこういう速度でHDDから読み出した画像を画面に表示しないといけない。どうしようか?といった打ち合わせでした。)
私はHDDから読み出したデータをキャッシュにいれて、CPUに割り込みを入れるところまでが担当でしたが、おそらく私を次のステップに上げるために、水を向けてくれたのだと思います。
今考えても恐ろしいですが、その時まで、私は同期回路と非同期回路の違いを知りませんでした。
前述の通り、ロジックICでタイミングを作っていた時代の名残で、平気でFFのCLK端子にCPUのAddress Strobeを入れてしまうような回路を作っていました。
HDLは完全に独学で、デジタル回路の教科書などにも同期回路、非同期回路など(少なくとも私の環境では)どこにも出てきませんでした。
同期回路で回路設計ができるようになってからは、システムを自分のアイディアで回路設計をしてなんでも作れるんではないか?とも思ったものです。(現実はそんなに甘くないですけど。)
【スポンサーリンク】
結局その後、私は回路設計をする前のアイディアを考える楽しさを知ることができ、Nさんがなくなるまでの数年はハードウェアエンジニアをしていました。
Nさんが亡くなったあと、私はその部署に魅力を感じなくなり、また、時代もビデオ表現、サウンド関係、ネットワーク関係はPCに奪われて行く時代だったこともあり、社内で他の部署に異動することを決めたのでした。(その5年後、会社の事業方針など、もろもろの事情で、またもどってくるのですが。。。)
三年半前に転職してしまいましたが、その会社のその部署にはハードウェアエンジニアが10人くらいいましたが、果たして設計の楽しさを知っている人間が何人いたのだろう?と思うと、Nさんが私に与えた影響はとても大きく、それは生き方にまで影響を受けてしまったように思います。私も、なんとか、回路設計の楽しさの本質を後輩に伝えたいと努力をしていたつもりでしたが、伝わっていたのかなぁ?
そんなわけで、10年以上たっても、この時期になるとNさんのことを思い出します。
私もとっくに彼の年齢を超えてしまい、「もし、彼が今でも生きていたら、どんな話をするかなぁ?」といつも心を巡らせています。