FPGA の練習 ~ 1ビットデータの加算器
「1ビットデータの加算器」 とは何のことかというと、画像左側のスイッチを押している個数を、右側の2個の LED で、2進数表示する機能である。
押してない → off off
1個押す → off on
2個押す → on off
3個押す → on on
この処理は、論理式を使って、次のように表わされる。
3個のスイッチの状態変数(値が0 か 1)を A, B, C とすると
左 LED状態 = ( (A xor B) and C ) or ( A and B ) (※ xor は排他的論理和 )
右 LED状態 = A xor B xor C
式の意味については 「加算器」 といった用語で検索して調べるとよい。 とにかく FPGA の中に、この論理式に相当する回路を作ると上記の機能を実現できる。
いわゆる 「電卓」 という道具は、このような機能を複雑に組み合わせた回路からできているわけだ。 ビット数を増やして四則演算に対応する必要があるので、相当に大変な作業だと思うが、もうずいぶん昔、パソコンなど全くない時代に、手書きの回路図から電卓を開発した先人の努力には、頭が下がる。
最近のコメント