Dies Aliquanti

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PICを作ろう、コンパレータもジュールのテスト

コンパレータモジュールの残りのテストだが、動作モードによって、合計4系統の入出力を面倒見なければならない。
モードごとに、トップモジュールをちょっとずつ変更すればよいのだが、どうも面倒くさくて手がつかなかったのだが、コンパレータそのものは既にテストをしているので、細かなアナログ値を与えなくてくてもよいだろうということで、ハイ・インピーダンス、5v,0vと変化させてやればいいだろうということで、簡単なモジュールを作った。これでディジタル出力を擬似アナログ系の入力に接続できる。実際の回路をシミュレーションするときにも役に立つだろう。ポイントは、ifの条件式の===。RTLを書くときは普通使いませんが、これで、値がZかどうかを判断できます。実際の回路では、ハイインピーダンスかどうかを知るのはメンドウですけど、シミュレーションならではです。3ステートバスでハイインピーダンスになっているか否かをチェックする必要がありますので、必須ですね。
Spiceなどのアナログ・シミュレータなら、簡単なのだが、しょせんVerilogでアナログ量を扱おうとするところにムリがあるのは承知の上です(哂ってやってください)。
----
本日の御託
報道によれば、日立がパソコンの製造から撤退するそうだ。
最近,HPのOEMとかもはじめてたので,やばいなーって感じでしたが・・・
「ベーシックマスター」は日本発の「パソコン」だったのですが,伊藤美咲をつかっても,フローラはだめでしたねェ.
ベーシックマスターにはお世話になりましたよ。
-初代。
-ほぼ同じでBasicが実数型になったレベル2。
-初代のROMをレベル2とほぼ同等にしたものと交換したもの。
と使いましたね。カセットテープのインターフェースがついていたのだけれど、Basicのソースをテキストイメージでセーブ(しかも300ボーとかだった思う)するのでめちゃ遅いうえ、ロードの時は、ソースコードが大きくなると、1行分読み込んで、次の入力を受け付けることができる様になる前に、テープからは次の行のデータが来てしまいロードエラーになるしまつ。仕方ないので、「ピー、ヒョロヒョロ」の音を聴きながら、テープレコーダーのポーズボタンを押して、行の切れ目と思われる部分で、1~2秒くらい止めたりしてましたね(笑)。
レベル2は、リレーがついていてテープを止めることが自動でできました(大進歩!)。初代も、PCBにはリレー用のパターンがありましたが、実装されていませんでした。
もっとも、そのうち友人が、中間言語のバイナリのままテープに落とす方法を、秋葉のラジ館にあった日立のショールーム(「マイコンスペース」だっけ?)の兄ちゃんから教わってきて、その後はもっぱらその方法でしたが・・・

(あらら、インデントがぼろぼろ、後で直します)
module isolater(
    output reg `ANALOG a_o ,
    input d_i
) ;
    always@ * begin
 if( d_i === 1'bz ) begin
     a_o = {64{1'bz}} ;
 end // if
 else if ( d_i == 1'b1 ) begin
     a_o = $realtobits( 5.0 ) ;
 end // else if
 else begin
     a_o = $realtobits( 0.0 ) ;
 end // else
    end // always

endmodule // isolater



コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://diesaliquanti.blog.fc2.com/tb.php/402-def68754
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。