論理回路設計基礎
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[論理回路設計]]
*論理回路設計基礎 [#w761a5c1]
論理回路設計の基礎知識まとめ。
----
#contents
**ハードウェア記述言語 [#h2b1a9a4]
ハードウェア記述言語は、デジタル回路を設計するためのコンピュータ言語の一種です。~
一般にはHDL(Hardware Description Language)と呼ばれています。
SFLやVerilog-HDLもHDLの一種で、~
[[ASIC>http://ja.wikipedia.org/wiki/ASIC]]などの集積回路の設計や[[FPGA>http://ja.wikipedia.org/wiki/FPGA]]で動作させる回路の設計などで使用されます。
***ハードウェア記述言語を使う利点 [#z8e21882]
従来の回路図を入力してゲートレベルで回路を設計するような手法では、大規模なLSIを設計する際に大幅に時間がかかってしまいます。~
そういった理由から近年ではハードウェア記述言語から回路を自動的に合成してくれる設計手法に移行しています。~
これによって回路設計の際の手間が減り、大きく設計生産性が向上しています。~
~
今までの論理回路設計とは違い、難しい回路の簡単化や、真理値表からゲートをおこすような作業は、
全てハードウェア記述言語とその合成を行うプログラムに任せてしまいます。~
現在の設計工程では、このような複雑な作業は、すべてコンピュータによって処理しています。
**FPGA [#sdef72c2]
FPGA(Field Programmable Gate Array)はユーザーが自由に内部の回路構成を何度も変更できる集積回路です。~
最近では、テレビやオーディオ機器などの家電にもFPGAが使用されています。
***FPGAを使う利点 [#v1abe7db]
FPGAを使う上で最も大きい利点は回路構成を何度も変更できることです。~
また、同じFPGAデバイスが大量生産されているので単価が安く、~
専用の集積回路を作る手法であるASICと比べて少量生産時にコストを低く抑えることが可能です。~
最近では、量産品にFPGAを使用している例も少なくありません。
**0と1の世界 [#icfce088]
日常生活で使用する数値は10進数が多く、記号として0から9までの値を使用して数を表しています。~
ハードウェアの世界では、全ての情報を2進数の0と1の信号に置き換えて処理します。~
ハードウェアで数字や文字などの情報を扱う場合にはまず、全ての情報を0と1の信号に変換してからハードウェアに入力しなければなりません。
***2進数表現 [#rcbde538]
2進数では0と1だけで全ての数を表現するため、10進数の2を表す値は、2進数では1桁目が桁上がりして10として表現されます。~
以下に10進数表現に対応する2進数表現と、8進数表現、16進数表現の値を示します。
|10進数|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|
|2進数|0000|0001|0010|0011|0100|0101|0110|0111|1000|1001|1010|1011|1100|1101|1110|1111|
|8進数|00|01|02|03|04|05|06|07|10|11|12|13|14|15|16|17|
|16進数|0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|
***2の補数(負の値の表現) [#m0b2d554]
2進数で負の値を表現するためには、最上位ビットを正負を表現する符号ビットとして扱い、残りのビットで数値を表現します。~
最も良く使われるのが、負の値を各ビットの値を反転させ、そこに1を足した値として表現する2の補数表現があります。~
2の補数は以下のような対応になります。
|10進数|-8|-7|-6|-5|-4|-3|-2|-1|0|1|2|3|4|5|6|7|
|2進数|1000|1001|1010|1011|1100|1101|1110|1111|0000|0001|0010|0011|0100|0101|0110|0111|
負の値を2の補数で表現することの利点は、減算を加算として扱えるということで、~
減算用に特別な回路を用意する必要がなく、回路の簡略化をすることができます。
**論理回路の種類 [#u4f1b49c]
論理回路には大きく分ければ組み合わせ回路と順序回路の二つに分けることができます。
***組み合わせ回路 [#g02fd2fa]
入力のみで出力が決まる回路です。~
例えば、基本的な論理演算をするAND、OR、NOT、XORなどの論理ゲートは入力に対して出力が一意に決定するので組み合わせ回路となります。
***順序回路 [#h5103866]
内部の状態とそのとき入力で出力が決まる回路です。~
組み合わせ回路は入力の組み合わせで出力が決まりますが、順序回路は入力とともに、内部に保持している状態の情報が出力の決定に関わってきます。
終了行:
[[論理回路設計]]
*論理回路設計基礎 [#w761a5c1]
論理回路設計の基礎知識まとめ。
----
#contents
**ハードウェア記述言語 [#h2b1a9a4]
ハードウェア記述言語は、デジタル回路を設計するためのコンピュータ言語の一種です。~
一般にはHDL(Hardware Description Language)と呼ばれています。
SFLやVerilog-HDLもHDLの一種で、~
[[ASIC>http://ja.wikipedia.org/wiki/ASIC]]などの集積回路の設計や[[FPGA>http://ja.wikipedia.org/wiki/FPGA]]で動作させる回路の設計などで使用されます。
***ハードウェア記述言語を使う利点 [#z8e21882]
従来の回路図を入力してゲートレベルで回路を設計するような手法では、大規模なLSIを設計する際に大幅に時間がかかってしまいます。~
そういった理由から近年ではハードウェア記述言語から回路を自動的に合成してくれる設計手法に移行しています。~
これによって回路設計の際の手間が減り、大きく設計生産性が向上しています。~
~
今までの論理回路設計とは違い、難しい回路の簡単化や、真理値表からゲートをおこすような作業は、
全てハードウェア記述言語とその合成を行うプログラムに任せてしまいます。~
現在の設計工程では、このような複雑な作業は、すべてコンピュータによって処理しています。
**FPGA [#sdef72c2]
FPGA(Field Programmable Gate Array)はユーザーが自由に内部の回路構成を何度も変更できる集積回路です。~
最近では、テレビやオーディオ機器などの家電にもFPGAが使用されています。
***FPGAを使う利点 [#v1abe7db]
FPGAを使う上で最も大きい利点は回路構成を何度も変更できることです。~
また、同じFPGAデバイスが大量生産されているので単価が安く、~
専用の集積回路を作る手法であるASICと比べて少量生産時にコストを低く抑えることが可能です。~
最近では、量産品にFPGAを使用している例も少なくありません。
**0と1の世界 [#icfce088]
日常生活で使用する数値は10進数が多く、記号として0から9までの値を使用して数を表しています。~
ハードウェアの世界では、全ての情報を2進数の0と1の信号に置き換えて処理します。~
ハードウェアで数字や文字などの情報を扱う場合にはまず、全ての情報を0と1の信号に変換してからハードウェアに入力しなければなりません。
***2進数表現 [#rcbde538]
2進数では0と1だけで全ての数を表現するため、10進数の2を表す値は、2進数では1桁目が桁上がりして10として表現されます。~
以下に10進数表現に対応する2進数表現と、8進数表現、16進数表現の値を示します。
|10進数|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|
|2進数|0000|0001|0010|0011|0100|0101|0110|0111|1000|1001|1010|1011|1100|1101|1110|1111|
|8進数|00|01|02|03|04|05|06|07|10|11|12|13|14|15|16|17|
|16進数|0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|
***2の補数(負の値の表現) [#m0b2d554]
2進数で負の値を表現するためには、最上位ビットを正負を表現する符号ビットとして扱い、残りのビットで数値を表現します。~
最も良く使われるのが、負の値を各ビットの値を反転させ、そこに1を足した値として表現する2の補数表現があります。~
2の補数は以下のような対応になります。
|10進数|-8|-7|-6|-5|-4|-3|-2|-1|0|1|2|3|4|5|6|7|
|2進数|1000|1001|1010|1011|1100|1101|1110|1111|0000|0001|0010|0011|0100|0101|0110|0111|
負の値を2の補数で表現することの利点は、減算を加算として扱えるということで、~
減算用に特別な回路を用意する必要がなく、回路の簡略化をすることができます。
**論理回路の種類 [#u4f1b49c]
論理回路には大きく分ければ組み合わせ回路と順序回路の二つに分けることができます。
***組み合わせ回路 [#g02fd2fa]
入力のみで出力が決まる回路です。~
例えば、基本的な論理演算をするAND、OR、NOT、XORなどの論理ゲートは入力に対して出力が一意に決定するので組み合わせ回路となります。
***順序回路 [#h5103866]
内部の状態とそのとき入力で出力が決まる回路です。~
組み合わせ回路は入力の組み合わせで出力が決まりますが、順序回路は入力とともに、内部に保持している状態の情報が出力の決定に関わってきます。
ページ名: