2012年1月31日火曜日

w11でOSを実行する

FPGA上のPDP-11には各種デバイスは載っていない。実際にOSを実行する際には、PC上でハードディスクやシリアルによるコンソール接続をエミュレートするサーバーを動かして、FPGAと通信してデバイスの機能を提供する。その際、rlinkという専用の通信経路を使う。rlinkはPDP-11を動作させるためのインフラなので、PDP-11にとっては見えない。実際のFPGAボードではrlinkの入出力はおもにシリアル経由のUSBを利用する。

エミュレーターの場合は事情がすこし異なる。エミュレーター内の状態の変化を取り出すには、専用のインターフェースが必要である。w11aで提供されているghdlの場合、rlinkへの入出力部分はVHDLの記述をC言語で拡張したインターフェースによりnamed pipe経由で通信する。こういった拡張はエミュレーター依存であることに注意。

XilinxのISimなら実際のハードウェアに近いエミュレーションが可能なのだが、現在提供されていない。ISimはtclスクリプトによるコントロールが可能なので、これを使ってインターフェースを作ればいいはず。

2 件のコメント: