FPGA で CPU を作ろう 第2章 簡単な論理回路の実験
- 論理回路(ディジタル回路)
- 電圧の高低で論理値(ON/OFF)を表す回路
- 「交流信号の位相で表現する回路など他にもいろいろある」へー
- High の電圧はひと昔ぐらい前までは 5V が普通でしたが DE0-Nano は 3.3V、MFPGA-SPAR3E では 3.3V 一部ボード内 2.5V
- はい、ひと昔前に弄ってた組です
- 1入力1出力の論理回路のバリエーションには「入力をそのまま出力」「いつもHigh」「いつもLow」「入力の逆」しかなく、この中で意味があるのは「入力の逆」だけ→ NOT(Invert が論理回路の基礎)
- なるほど。この説明のしかたは初めて見ました。ただ厳密に言うと「組み合わせ回路の場合」というか素子の場合ですよね?
- 2入力1出力の素子(AND,OR,NAND,NOR,XOR)
- 正論理、負論理のはなし。まぎらわしいけど負論理のケースは多い
- 回路の作りやすさ、トランジスタの作りやすさ、Low(GND)のほうが電位が安定している、など
- 正論理、負論理のはなし。まぎらわしいけど負論理のケースは多い
- 論理素子をループを作らずに繋げたものが「組み合わせ回路」
- 入力が決まると出力が決まる
- 参照透明性のある関数のようなもの(内部に状態を持たない)
- 順序回路のサンプル
- クロックに応じて High/Low を繰り返す回路(「パタパタする回路」)を使って LED を暗くする回路のサンプル
- 「パタパタする回路」=「フリップフロップ」
- NSL での記述
declare patapata { output o ; } module patapata { reg ff = 0b0 ; ff := ~ff ; o = ff ; }
VHDL とかやってたらだいたいわかりますね!