アダルト・ヴァイオリン May the force be with you..

2009年9月16日

PDP11互換CPU

Filed under: Weblog — い~ぐる @ 12:19 AM


このところ、大規模なコード変更中の、sfl2vlのデバグのため、昔の大き目のパッケージで動作確認中。

今日確認していた、PDP11互換CPUは、2002年にI氏作成のもの。数千行になる大規模パッケージで、過去との互換性チェックにちょうどよい。

といっても、さくっと試すと当然のようにハザードストップであった。

まずは、出力端子のデータ候補にハイインピーダンスがあることのチェックルーチンで、なぜか文字列検索が停止しない不具合。停止しなければ暴走尾するかというと、システム中のどこかにZの文字を見つけるとそこで停止するので、特定の場合にのみ出力端子を3ステート対応に変更してしまう。このコアは、while(*c) という典型的な文字列検索であり、普通に動きそうなのに、動かない理由は不明だが、文字列長は既知だし、急ぎの修正のため、for文に変更。

これを対策しても、まだどこかでハザードになる?

追いかけていくと、実は、PDP11互換CPUのシミュレーションパッケージは、Verilogとのつなぎのインスタンス生成に、名前なしの引数形式の端子接続をしていて、今回、端子順序を変更したことにより、接続が間違ってしまっていた。
これは、名前指定の接続にPDP11パッケージ側を修正。ついでに、ZIP形式のアーカアイブにした上で、IP ARCHからも配布することにした。(実行には、non-profitライセンスが必須)

まだシミュレーション実行中だが、とりあえず、UNIXを擬似ハードディスクからコールドブートして、
login:
のメッセージがでるところまで来たので、動作としては完璧だろう。

20090915版は、もう少し確認したら、正式リリース版にする予定。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress