帰らざるMOS回路(28) Icarus Verilog、ライブラリのパラメータ化

gtkwave
Joseph Halfmoon

前回、モジュールファイルの置き場所を決めたりして、作成済の部品を呼び出して使うのが便利になりました。すると即座に不満な点が出てきました。部品が「8ビット用」とかキメウチで応用が効かないことです。今回はシフトレジスタを題材にパラメタライズ、呼び出し時にビット幅を決められるようにしてみます。 “帰らざるMOS回路(28) Icarus Verilog、ライブラリのパラメータ化” の続きを読む

帰らざるMOS回路(27) Icarus Verilog小ネタ、ライブラリ、実行時パラメータ

vvpB0
Joseph Halfmoon

前回は、ROMのビットパターンを外部ファイルから読み取ってシミュレーションに使用してみました。ファイルからデータを入力できるのであれば、コマンドラインからちょいとテスト値などを読み込ませて使用することもしたいです。ついでにモジュール・ファイルの置き場所も所定の場所にまとめたいです。今回はiverilog使うときの小ネタ
“帰らざるMOS回路(27) Icarus Verilog小ネタ、ライブラリ、実行時パラメータ” の続きを読む

帰らざるMOS回路(26) ROMファイルをVerilogHDLとLogisimで共用する

ROM_LOGIC_LOADED
Joseph Halfmoon

前回はバイナリカウンタでしたが、今回はROMです。ROMは複数の用途に使うことを想定。ROMに記録すべきビットパターンは外部の「ROMファイル」に書いておいて必要に応じてファイルを切り替えて「ロード」するようにしたいです。またそのファイルはゲートレベルのLogisimとVerilogHDLで共用できるのが望ましいです。

“帰らざるMOS回路(26) ROMファイルをVerilogHDLとLogisimで共用する” の続きを読む

帰らざるMOS回路(25)今時ゲートレベルでもあるまいに。カウンタをVerilogしてみる

VerilogCounterEC
Joseph Halfmoon

前回はLogisimのライブラリから符号無整数の比較器「組み合わせ回路」をVerilogしてみました。今回はバイナリカウンタ「順序回路」をVerilogしてみます。端から部品を練習すれば、そのうち色々できるだろ~という勝手な思い込みです。記述のお作法もいろいろあるのだけれど、今のところ成り行き。徐々に修正する予定。

“帰らざるMOS回路(25)今時ゲートレベルでもあるまいに。カウンタをVerilogしてみる” の続きを読む

帰らざるMOS回路(24)今時ゲートレベルでもあるまいに。ライブラリをVerilogしてみる

LogicSim
Joseph Halfmoon

前回は、論理圧縮ツール Espresso を使うことができる LogicFriday を試してみました。今回は再びLogicsimへ戻ります。しかし後々のこと(なんだそれ)を考えるとライブラリがVerilogでも書けた方が安心。ということでVerilog化始めました。まずは組み合わせ回路、コンパレータから。 “帰らざるMOS回路(24)今時ゲートレベルでもあるまいに。ライブラリをVerilogしてみる” の続きを読む

帰らざるMOS回路(23)今時ゲートレベルでもあるまいに。ミニマイゼーションして論理合成

LF_generatedCircuit
Joseph Halfmoon

前回、Verilogを使えるようにしたので、さらに歯止めが効かなくなりました。普通なら、Verilog書いて、シミュレーションしてOKなら、論理合成デス。でもま、今回商用ツール使っている分けでもなく、またゲートレベルなので合成は無理、と思っていたら、面白いツールがありました。LogicFridayとな。

“帰らざるMOS回路(23)今時ゲートレベルでもあるまいに。ミニマイゼーションして論理合成” の続きを読む

帰らざるMOS回路(22)今時ゲートレベルでもあるまいに。ということでVerilogも?

VScodeSample
Joseph Halfmoon

ノスタルジックなゲートレベルのシミュレーションを楽しむ筈が、前回テストベンチもどきを取り付けたことで歯止めが効かなくなりました。やっぱりね~今時だからHDLも出来た方が良いよね~ ゲートレベルとHDLの橋渡しをどうするか、という問題は棚上げにして、今回はHDL環境を追加。

“帰らざるMOS回路(22)今時ゲートレベルでもあるまいに。ということでVerilogも?” の続きを読む

帰らざるMOS回路(21)今時ゲートレベルでもあるまいに。やっぱりTEST Benchはいる

TESTBENCH_MAIN
Joseph Halfmoon

今時ノスタルジックなゲートレベルのシミュレーションにハマりつつあります。前回はPWM回路を動かしてみましたが、素のSIM環境には不満が残りました。最低限の「テストベンチみたいなもの」がないと「シミュレーションやった感」が無いよな~と。あくまで「やった感」自己満足の世界ですが、そこが大事じゃないかと。

“帰らざるMOS回路(21)今時ゲートレベルでもあるまいに。やっぱりTEST Benchはいる” の続きを読む

帰らざるMOS回路(20)今時ゲートレベル論理SIMでもあるまいに。リハビリのPWM。

PWM_Schematic
Joseph Halfmoon

前回「昔懐かしいゲートレベル回路図の論理シミュレーション」結果をVCD波形ビューワーで観察。何十年ぶりかでゲートレベルのロジックを作って動かしてみるべし、と機運?が盛り上がりました。単なる年寄りのノスタルジーでないかい。忘却の彼方にあるものどもを黄泉の国から呼び起こさねば。リハビリの第1回はPWMであります。

“帰らざるMOS回路(20)今時ゲートレベル論理SIMでもあるまいに。リハビリのPWM。” の続きを読む

帰らざるMOS回路(19) ゲートレベル回路図で論理SIMでもあるまいに。GoでVCD生成。

GTKWave000
Joseph Halfmoon

別シリーズにてゲートレベル回路図の論理シミュレーションをやってみたらば結構よかったです。MOSトランシスタ記述も可能。昔ながらのシミュレータとはちょっと違う感じもしますが使いでが良いです。ただ「回路図レベル」です。とうに開発停止状態。そのシミュレータ出力をGo言語で変換してVCD波形ビューワーに接続してみました。

“帰らざるMOS回路(19) ゲートレベル回路図で論理SIMでもあるまいに。GoでVCD生成。” の続きを読む

帰らざるMOS回路(18) N-MOSトランスファゲートでレベル変換

JosephHalfmoon

古代N-MOSのダイナミックな回路の準備じゃ、ということで前回、2相ノンオーバラップクロック回路を作りました。もひとつ準備として、N-MOSトランスファゲートの実験をやっておこうと思うのです。が、題材として素朴すぎる?とおもったら、まさに、そのものズバリの「応用製品」がありました。秋月電子の双方向ロジックレベルの変換モジュールです。 “帰らざるMOS回路(18) N-MOSトランスファゲートでレベル変換” の続きを読む

帰らざるMOS回路(17) 続、2相ノンオーバラップクロック

JosephHalfmoon

「続」というほどの「続」じゃないんでありますが。前回、「動いた」などと唱えながら、実際には部品がちょっとトラブッたために(オノレの不注意ですが)片肺飛行の波形しかお見せできなかったです。本日は、ちゃんと2相で動作しておるところの波形をばお目にかけます。「古代技術」2相ノンオーバラップクロックについては前回をご参照ください。 “帰らざるMOS回路(17) 続、2相ノンオーバラップクロック” の続きを読む

帰らざるMOS回路(16) 2相ノンオーバラップクロック

JosephHalfmoon

ダイナミック回路は、「仮初な一時の電荷」を当てにして動く回路と言ったら怒られるでしょうか。以前から、やるやると言いながら中々手をつけないできましたが、ここに来て部品も少しく届いたので手をつけることにいたしました。ま、ね、そういいながら部品に振り回されておるのですが。今回は、ダイナミック回路を始めるための準備であります。 “帰らざるMOS回路(16) 2相ノンオーバラップクロック” の続きを読む

帰らざるMOS回路(15) なんちゃってPLA(もどき)

JosephHalfmoon

第12回では「なんちゃってNAND型ROM(もどき)」を作ってみました。ベースになったのは、第11回の直列接続されたNMOSトランジスタ群です。このトランジスタの直列接続はまだまだ噛み応え?があります。今回は、NAND型ROM(もどき)を「改造」してPLA(Programable Logic Array)回路を構成してみたいと思います。 “帰らざるMOS回路(15) なんちゃってPLA(もどき)” の続きを読む