JP7099904B2 - デコーダ回路およびデコーダ回路の設計方法 - Google Patents

デコーダ回路およびデコーダ回路の設計方法 Download PDF

Info

Publication number
JP7099904B2
JP7099904B2 JP2018154599A JP2018154599A JP7099904B2 JP 7099904 B2 JP7099904 B2 JP 7099904B2 JP 2018154599 A JP2018154599 A JP 2018154599A JP 2018154599 A JP2018154599 A JP 2018154599A JP 7099904 B2 JP7099904 B2 JP 7099904B2
Authority
JP
Japan
Prior art keywords
output
thm
input
bit
decoder circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018154599A
Other languages
English (en)
Other versions
JP2020031300A (ja
Inventor
真吾 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2018154599A priority Critical patent/JP7099904B2/ja
Priority to CN201910723764.6A priority patent/CN110855296A/zh
Priority to US16/538,890 priority patent/US10680641B2/en
Publication of JP2020031300A publication Critical patent/JP2020031300A/ja
Application granted granted Critical
Publication of JP7099904B2 publication Critical patent/JP7099904B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/16Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
    • H03M7/165Conversion to or from thermometric code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/06Continuously compensating for, or preventing, undesired influence of physical parameters
    • H03M1/0617Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence
    • H03M1/0675Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence using redundancy
    • H03M1/0697Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence using redundancy in time, e.g. using additional comparison cycles
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Analogue/Digital Conversion (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

本発明は、バイナリコードを表すnビットのバイナリ入力をデコードして、サーモメータコードを表す2のサーモメータ出力に変換するデコーダ回路およびデコーダ回路の設計方法に関する。
電流型DAC(デジタルアナログ変換器)のアナログ出力のリニアリティを保つために、デコーダ回路により、バイナリコードを表すnビットのバイナリ入力、例えば8ビットのバイナリ入力を、サーモメータコードを表す2ビットのサーモメータ出力、例えば256ビットのサーモメータ出力に変換し、この2のサーモメータ出力を用いてDACの動作を制御することが行われている。
例えば、4ビットのバイナリ入力BIN<3:0>をデコードして、16ビットのサーモメータ出力THM<15:0>に変換する4ビットのデコーダ回路の真理値表は表1で表される。
Figure 0007099904000001
4ビットのデコーダ回路の実現方法として、下記方法(1)および(2)が知られている。
方法(1):表1に示す真理値表に従って論理回路を構成する方法。
方法(2):16個のAND回路を用いて、表1に示す4ビットのバイナリ入力BIN<3:0>の全ての状態のANDをとり、実際に入力されるバイナリ入力BIN<3:0>の状態に対応する1つのAND回路から下位側の全てのサーモメータ出力THMを‘1’に設定する方法。
まず、方法(1)は、表1の真理値表を満たす、例えば下記の代数式を作成し、これに応じて具体的な4ビットのデコーダ回路を実現する。
T0=B3+B2+B1+B0
T1=B3+B2+B1
T2=B3+B2+B1*B0
T3=B3+B2
T4=B3+B2*(B1+B0)
T5=B3+B2*B1
T6=B3+B2*B1*B0
T7=B3
T8=B3*(B2+B1+B0)
T9=B3*(B2+B1)
T10=B3*(B2+B1*B0)
T11=B3*B2
T12=B3*B2*(B1+B0)
T13=B3*B2*B1
T14=B3*B2*B1*B0
T15=0
ここで、B3~B0はバイナリ入力BIN<3:0>を表し、T15~T0はサーモメータ出力THM<15:0>を表す。なお、T15、つまり、サーモメータ出力THM<15>は、表1の真理値表に示すように、バイナリ入力BIN<3:0>の状態に関わらず常に‘0’である。
図10は、(1)の方法により作成されたデコーダ回路の構成を表す一例の回路図である。方法(1)により生成されたデコーダ回路は、高速に動作するが、設計が面倒であり、回路構成が複雑になる。図10のデコーダ回路のように、4ビット程度であれば、その構成はそれほど複雑ではないが、8ビット程度にもなると、その構成は非常に複雑になってくる。また、方法(1)により生成されたデコーダ回路の回路規模は、バイナリ入力BINのビット数nに対して、2ではなく、n×2に比例して大きくなることが容易に想像できる。
続いて、図11は、(2)の方法により作成されたデコーダ回路の構成を表す一例の回路図である。図11に示すデコーダ回路は、特許文献1の図3に示されたコード変換部50であり、2進コード発生部20のnビットの2進コード値BCをデコードして2n個の値DCを出力するデコーダ51と、デコーダ51の出力値を温度計コード値TCに変換する温度計コード変換部52とを備えている。
図11に示すコード変換部50においては、まず、デコーダ51により、実際に入力される2進コード値BCの状態に対応する1つのNAND回路NDの出力だけが‘0’になり、この1つのNAND回路NDに対応する1つの温度計コード値TCが‘1’になる。その後、温度計コード変換部52の数珠つなぎに接続されたNOR回路およびINV回路により、この1つの温度計コード値TCよりも下位側の全ての温度計コード値TCとして、順次‘1’が出力される。
図11に示すコード変換部50において、デコーダ51を構成するNAND回路NDは、2進コード値BCのビット数によって、その入力本数が変わり、8ビットの場合には8入力NAND回路が必要になる。8入力NAND回路をそのまま実現するのは現実的ではないため、例えば2つの4入力NAND回路の出力を2入力NOR回路およびINV回路に入力することにより、8入力NAND回路相当の回路を実現する必要がある。デコーダ51の回路規模は、2進コード値BCのビット数nに対し、n×2(または、これ以上)に比例して大きくなる。
一方、温度計コード変換部52の回路規模は、2に比例するだけなので、方法(1)により生成されたデコーダ回路に比べると、回路全体としての規模は大きくはないが、いずれにしても2進コード値BCのビット数の変化に対するフレキシビリティさには欠ける。また、数珠つなぎに接続されたNOR回路群から、最下位の温度計コード値TCが出力されるまでの出力伝播遅延時間が非常に大きくなり、高速化には絶対的に不利な回路である。
ここで、本発明に関連性のある先行技術文献としては、特許文献1の他にも特許文献2~6等がある。
特開2003-46388号公報 特開昭61-165130号公報 特開昭62-178015号公報 特開平2-26413号公報 特開平7-235869号公報 特開2008-141676号公報
従って、本発明の第1の目的は、非常に簡潔で、かつプリミティブな回路を用意し、プリミティブな回路を組み合わせるだけで異なるビット数のバイナリ入力に対応することができるデコーダ回路およびデコーダ回路の設計方法を提供することにある。
また、本発明の第2の目的は、バイナリ入力のビット数の増加に対して、回路規模の増大をn×2よりも十分に小さくすることができるデコーダ回路およびデコーダ回路の設計方法を提供することにある。
さらに、本発明の第3の目的は、クリティカルパス長を極力短くすることができるデコーダ回路およびデコーダ回路の設計方法を提供することにある。
上記目的を達成するために、本発明は、n(nは、2以上の整数)ビットのバイナリ入力BIN<n-1:0>をデコードして、2ビットのサーモメータ出力THM(n)<2-1:0>に変換するnビットのデコーダ回路であって、
選択信号S<1:0>の設定に応じて、出力信号OAとして、‘0’を出力するか、‘1’を出力するか、または入力信号IAを出力する2個の基本回路と、
(n-1)ビットのデコーダ回路と、を備え、
前記サーモメータ出力THM(n)<2-1:2(n-1)>に対応する上位側の2(n-1)個の基本回路の選択信号S<1:0>として、‘0’および前記バイナリ入力BIN<n-1>が連結して入力され、前記上位側の2(n-1)個の基本回路の入力信号IAとして、前記(n-1)ビットのデコーダ回路から出力されるサーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットがそれぞれ入力され、
前記上位側の2(n-1)個の基本回路は、前記サーモメータ出力THM(n)<2-1:2(n-1)>として、前記バイナリ入力BIN<n-1>=‘0’の場合に、全てのビットに‘0’を出力し、前記バイナリ入力BIN<n-1>=‘1’の場合に、前記サーモメータ出力THM(n-1)<2(n-1)-1:0>を出力し、
前記サーモメータ出力THM(n)<2(n-1)-1:0>に対応する下位側の2(n-1)個の基本回路の選択信号S<1:0>として、前記バイナリ入力BIN<n-1>および‘1’が連結して入力され、前記下位側の2(n-1)個の基本回路の入力信号IAとして、前記サーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットがそれぞれ入力され、
前記下位側の2(n-1)個の基本回路は、前記サーモメータ出力THM(n)<2(n-1)-1:0>として、前記バイナリ入力BIN<n-1>=‘0’の場合に、前記サーモメータ出力THM(n-1)<2(n-1)-1:0>を出力し、前記バイナリ入力BIN<n-1>=‘1’の場合に、全てのビットに‘1’を出力し、
前記(n-1)ビットのデコーダ回路は、n≧3である場合に、m(mは、n≧m≧3の整数)をnから3として、(m-1)ビットのデコーダ回路を備え、n=2である場合に、1ビットのデコーダ回路を備え、
mをnから3として、前記(m-1)ビットのデコーダ回路は、2(m-1)個の前記基本回路と、(m-2)ビットのデコーダ回路と、を備え、
前記1ビットのデコーダ回路は、サーモメータ出力THM(1)<1:0>として、前記バイナリ入力BIN<0>=‘0’の場合に、‘00’を出力し、前記バイナリ入力BIN<0>=‘1’の場合に、‘01’を出力する、デコーダ回路を提供する。
ここで、前記基本回路は、第1インバータと、第2インバータと、出力選択回路と、を備え、
前記第1インバータは、第1P型MOSトランジスタと、第1N型MOSトランジスタと、を備え、前記第1P型MOSトランジスタのゲートおよび前記第1N型MOSトランジスタのゲートには前記入力信号IAが入力され、前記第1P型MOSトランジスタのドレインおよび前記第1N型MOSトランジスタのドレインが内部ノードに接続され、
前記出力選択回路は、第2P型MOSトランジスタと、第3P型MOSトランジスタと、第2N型MOSトランジスタと、第3N型MOSトランジスタと、を備え、前記第2P型MOSトランジスタは、電源と前記第1P型MOSトランジスタのソースとの間に接続され、前記第3P型MOSトランジスタは、電源と前記内部ノードとの間に接続され、前記第2N型MOSトランジスタは、前記第1N型MOSトランジスタのソースとグランドとの間に接続され、前記第3N型MOSトランジスタは、前記内部ノードとグランドとの間に接続され、前記第2P型MOSトランジスタのゲートおよび前記第3N型MOSトランジスタのゲートには前記選択信号S<1>が入力され、前記第2N型MOSトランジスタのゲートおよび前記第3P型MOSトランジスタのゲートには前記選択信号S<0>が入力され、
前記第2インバータの入力端子には前記内部ノードが接続され、前記第2インバータからは前記出力信号OAが出力されることが好ましい。
また、前記1ビットのデコーダ回路は、前記選択信号S<1:0>として‘01’が入力され、前記出力信号OAとして、前記バイナリ入力BIN<0>を出力する1個の基本回路を備え、
前記サーモメータ出力THM(1)<1>として、‘0’を出力し、
前記サーモメータ出力THM(1)<0>として、前記1個の基本回路から前記バイナリ入力BIN<0>を出力することが好ましい。
また、前記1ビットのデコーダ回路は、前記バイナリ入力BIN<0>を出力するバッファを備え、
前記サーモメータ出力THM(1)<1>として、‘0’を出力し、
前記サーモメータ出力THM(1)<0>として、前記バッファから前記バイナリ入力BIN<0>を出力することが好ましい。
また、本発明は、n(nは、2以上の整数)ビットのバイナリ入力BIN<n-1:0>をデコードして、2ビットのサーモメータ出力THM(n)<2-1:0>に変換するnビットのデコーダ回路の設計方法であって、
選択信号S<1:0>の設定に応じて、出力信号OAとして、‘0’を出力するか、‘1’を出力するか、または入力信号IAを出力する基本回路を設計するステップと、
サーモメータ出力THM(1)<1:0>として、前記バイナリ入力BIN<0>=‘0’の場合に、‘00’を出力し、前記バイナリ入力BIN<0>=‘1’の場合に、‘01’を出力する1ビットのデコーダ回路を設計するステップと、
n≧3である場合に、m(mは、n≧m≧3の整数)が3からnになるまで、2(m-1)個の前記基本回路と、(m-2)ビットのデコーダ回路と、を用いて、(m-1)ビットのデコーダ回路を設計するステップと、
個の前記基本回路と、(n-1)ビットのデコーダ回路と、を用いて、nビットのデコーダ回路を設計するステップと、を含み、
前記nビットのデコーダ回路を設計するステップは、
前記サーモメータ出力THM(n)<2-1:2(n-1)>に対応する上位側の2(n-1)個の基本回路の選択信号S<1:0>として、‘0’および前記バイナリ入力BIN<n-1>を連結して入力し、前記上位側の2(n-1)個の基本回路の入力信号IAとして、前記(n-1)ビットのデコーダ回路から出力されるサーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットをそれぞれ入力するステップと、
前記サーモメータ出力THM(n)<2(n-1)-1:0>に対応する下位側の2(n-1)個の基本回路の選択信号S<1:0>として、前記バイナリ入力BIN<n-1>および‘1’を連結して入力し、前記下位側の2(n-1)個の基本回路の入力信号IAとして、前記サーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットをそれぞれ入力するステップと、を含み、
前記(m-1)ビットのデコーダ回路を設計するステップは、
前記サーモメータ出力THM(m-1)<2(m-1)-1:2(m-2)>に対応する上位側の2(m-2)個の基本回路の選択信号S<1:0>として、‘0’および前記バイナリ入力BIN<m-2>を連結して入力し、前記上位側の2(m-2)個の基本回路の入力信号IAとして、(m-2)ビットのデコーダ回路から出力されるサーモメータ出力THM(m-2)<2(m-2)-1:0>の各ビットをそれぞれ入力するステップと、
前記サーモメータ出力THM(m-1)<2(m-2)-1:0>に対応する下位側の2(m-2)個の基本回路の選択信号S<1:0>として、前記バイナリ入力BIN<m-2>および‘1’を連結して入力し、前記下位側の2(m-2)個の基本回路の入力信号IAとして、前記サーモメータ出力THM(m-2)<2(m-2)-1:0>の各ビットをそれぞれ入力するステップと、を含む、デコーダ回路の設計方法を提供する。
本発明によれば、複数の基本回路および1ビットのデコーダ回路という、複数のプリミティブな回路を組み合わせるだけで、nビットのデコーダ回路を実現可能である。また、nビットのデコーダ回路の回路規模は、例えば基本回路の個数=(2×2)-3に比例し、従来回路のn×2よりも回路規模の増大を大幅に小さくすることができる。さらに、クリティカルパス長も、バイナリ入力BINのビット数であるnに比例してしか増えないため、十分に小さくすることができる。
また、バイナリ入力BINのビット数に応じて、複数の基本回路および1ビットのデコーダ回路を組み合わせてnビットのデコーダ回路を設計することができる。また、基本回路および1ビットのデコーダ回路というプリミティブな回路の出力遅延時間を計測しておけば、バイナリ入力BINのビット数に応じて、nビットのデコーダ回路の出力遅延時間を容易に算出できる。そのため、非常に容易に設計を行うことができ、バイナリ入力BINのビット数を変える場合も、短時間で設計変更を行うことが可能である。
本発明のデコーダ回路の構成を表す第1実施形態のブロック図である。 基本回路の構成を表す一実施形態の回路図である。 1ビットのデコーダ回路の構成を表す第1実施形態の回路図である。 1ビットのデコーダ回路の構成を表す第2実施形態の回路図である。 本発明のデコーダ回路の構成を表す第2実施形態のブロック図である。 本発明のデコーダ回路を設計する手順を表す一実施形態のフローチャートである。 (m-1)ビットのデコーダ回路を設計する手順を表す一実施形態のフローチャートである。 nビットのデコーダ回路を設計する手順を表す一実施形態のフローチャートである。 特許文献2の第2図に示された桁上げ信号発生回路の構成を表す回路図である。 4ビットのデコーダ回路の構成を表す一例の回路図である。 特許文献1の図3に示されたコード変換部の構成を表す回路図である。
以下に、添付の図面に示す好適実施形態に基づいて、本発明のデコーダ回路およびデコーダ回路の設計方法を詳細に説明する。
本発明のデコーダ回路は、例えばnビット(nは、2以上の整数)の電流型DACを搭載するプロダクトにおいて、そのDACのアナログ出力のリニアリティを保つために、入力となるnビットのバイナリコードを表すバイナリ入力BINを、出力となる2ビットのサーモメータコードを表すサーモメータ出力THMに変換し、このサーモメータ出力THMを用いてDACを制御するために使用することが可能である。
まず、nビットのバイナリ入力BIN<n-1:0>から、2ビットのサーモメータ出力THM(n)<2-1:0>に変換するnビットのデコーダ回路を設計する際の基本アルゴリズムを以下に説明する。
ここで、バイナリ入力BIN<n-1:0>は、最下位ビット(LSB)がバイナリ入力BIN<0>であり、最上位ビット(MSB)がバイナリ入力BIN<n-1>となるnビットのバス表記の信号である。同様に、サーモメータ出力THM(n)<2-1:0>は、最下位ビットがサーモメータ出力THM(n)<0>であり、最上位ビットがサーモメータ出力THM(n)<2-1>となる2ビットのバス表記の信号である。
また、(n-1)ビットのバイナリ入力BIN<n-2:0>から、2(n-1)ビットのサーモメータ出力(n-1)<2(n-1)-1:0>に変換する(n-1)ビットのデコーダ回路は既にあるものとする。
nビットのバイナリ入力BIN<n-1:0>の最上位ビットであるバイナリ入力BIN<n-1>の状態によって、各サーモメータ出力THM(n)<2-1:0>に対し、以下のアルゴリズムに従って操作を行う。
最上位ビットであるバイナリ入力BIN<n-1>=‘0’の場合
サーモメータ出力THM(n)<2-1:2(n-1)>:全てのビットに‘0’を出力する。
サーモメータ出力THM(n)<2(n-1)-1:0>:(n-1)ビットのデコーダ回路から出力されるサーモメータ出力THM(n-1)<2(n-1)-1:0>をスルーさせてそのまま出力する。
最上位ビットであるバイナリ入力BIN<n-1>=‘1’の場合
サーモメータ出力THM(n)<2-1:2(n-1)>:(n-1)ビットのデコーダ回路から出力されるサーモメータ出力THM(n-1)<2(n-1)-1:0>をスルーさせてそのまま出力する。
サーモメータ出力THM(n)<2(n-1)-1:0>:全てのビットに‘1’を出力する。
なお、nビットのデコーダ回路を設計する際には、前述のように、既に(n-1)ビットのデコーダ回路が存在している必要があるが、これはn=2の場合から成立する。すなわち、最も基本となる1ビットのデコーダ回路さえあれば、上記アルゴリズムに従って2ビットのデコーダ回路を設計することができ、さらに、3ビット、4ビット、5ビット、…、と増やしていけば、任意のnビットのデコーダ回路を設計可能である。
Figure 0007099904000002
表2は、1ビットのデコーダ回路の動作、つまり、バイナリ入力BIN<0>とサーモメータ出力THM(1)<1:0>との関係を表す真理値表である。
Figure 0007099904000003
表3は、2ビットのデコーダ回路の動作、つまり、2ビットのバイナリ入力BIN<1:0>と4ビットのサーモメータ出力THM(2)<3:0>との関係を表す真理値表である。
表2および表3に示すように、2ビットのデコーダ回路の真理値表のサーモメータ出力THM(2)<3:0>の4×4の領域のうち、左上の2×2の領域は、全て‘0’であり、右下の2×2の領域は、全て‘1’である。また、右上の2×2の領域および左下の2×2の領域は、1ビットのデコーダ回路の真理値表のサーモメータ出力THM(1)<1:0>と同じ値になっている。
これは、バイナリ入力BINのビット数が増えても常に同じであり、例えば4ビットの場合には、前述の表1のようになる。つまり、4ビットのデコーダ回路の真理値表のサーモメータ出力THM(4)<15:0>の16×16の領域のうち、左上の8×8の領域は、全て‘0’であり、右下の8×8の領域は、全て‘1’である。また、右上の8×8の領域および左下の8×8の領域は、後述する表5に示す、3ビットのデコーダ回路の真理値表のサーモメータ出力THM(3)<7:0>と同じ値になる。
つまり、1ビットのデコーダ回路を用い、前述のアルゴリズムに従って、2ビットのデコーダ回路を設計し、さらに、3ビット、4ビット、5ビット、…、と増やしていけば、任意のnビットのデコーダ回路を容易に設計できることが分かる。
以下、本発明のデコーダ回路の具体例を挙げて説明する。
図1は、本発明のデコーダ回路の構成を表す第1実施形態のブロック図である。図1に示すデコーダ回路10は、バイナリコードを表す2ビットのバイナリ入力BIN<1:0>をデコードして、サーモメータコードを表す4ビットのサーモメータ出力THM(2)<3:0>に変換する2ビットのデコーダ回路である。
2ビットのデコーダ回路10は、4個の基本回路12a、12b、12c、12dと、1ビットのデコーダ回路14と、を備えている。
基本回路12a、12b、12c、12dは、それぞれ、2ビットの選択信号S<1:0>の設定に応じて、出力信号OAとして、‘0’を出力するか、‘1’を出力するか、または入力信号IAをそのまま出力する。
なお、入力信号IAをそのまま出力するとは、出力信号OAとして、入力信号IAをスルーさせて、入力信号IAと同じ値の信号を出力することを意味する。
上位側の2ビットのサーモメータ出力THM(2)<3:2>に対応する上位側の2個の基本回路12a、12bの選択入力端子S<1>には、‘0’固定となる1ビットのデータ1’b0が入力され、選択入力端子S<0>には、バイナリ入力BIN<1:0>の最上位ビットであるバイナリ入力BIN<1>が入力される。1’b0は、VerilogのHDL(Hardware Discription Language:ハードウェア記述言語)での記述例であり、1ビットの2進数の‘0’を表す。これ以降も同様に記載されている。つまり、上位側の2個の基本回路12a、12bの選択信号S<1:0>として、‘0’およびバイナリ入力BIN<1>が、{1’b0,BIN<1>}として、連結して入力される。
また、上位側の基本回路12aの信号入力端子IAには、1ビットのデコーダ回路14から出力されるサーモメータ出力THM(1)<1>が入力され、上位側の基本回路12bの信号入力端子IAには、サーモメータ出力THM(1)<0>が入力される。つまり、上位側の2個の基本回路12a、12bの入力信号IAとして、サーモメータ出力THM(1)<1:0>の各ビットがそれぞれ入力される。
一方、下位側の2ビットのサーモメータ出力THM(2)<1:0>に対応する下位側の2個の基本回路12c、12dの選択入力端子S<1>には、バイナリ入力BIN<1>が入力され、選択入力端子S<0>には、‘1’固定となる1ビットのデータ1’b1が入力される。つまり、下位側の2個の基本回路12c、12dの選択信号S<1:0>として、バイナリ入力BIN<1>および‘1’が、{BIN<1>,1‘b1}として入力される。
また、下位側の基本回路12cの信号入力端子IAには、サーモメータ出力THM(1)<1>が入力され、下位側の基本回路12dの信号入力端子IAには、サーモメータ出力THM(1)<0>が入力される。つまり、下位側の2個の基本回路12c、12dの入力信号IAとして、サーモメータ出力THM(1)<1:0>の各ビットがそれぞれ入力される。
基本回路12a、12b、12c、12dの信号出力端子OAからは、出力信号OAとして、サーモメータ出力THM(2)<3:0>が出力される。
図2は、基本回路の構成を表す一実施形態の回路図である。図2に示す基本回路12aは、第1インバータと、第2インバータ16と、出力選択回路と、を備えている。
なお、基本回路12b、12c、12dの構成も基本回路12aの構成と同じである。
第1インバータは、入力信号IAの反転信号を内部ノードAに出力するものであり、第1P型MOSトランジスタ(以下、PMOSともいう)18aと、第1N型MOSトランジスタ(以下、NMOSともいう)18bと、を備えている。
第1PMOS18aのゲートおよび第1NMOS18bのゲートには入力信号IAが入力される。第1PMOS18aのドレインおよび第1NMOS18bのドレインが内部ノードAに接続されている。
出力選択回路は、選択信号S<1:0>の設定に応じて、内部ノードAにおける内部信号として、‘0’を出力するか、‘1’を出力するか、または入力信号IAの反転信号を出力するかを切り替えるものであり、第2PMOS20aと、第3PMOS20bと、第2NMOS22aと、第3NMOS22bと、を備えている。
第2PMOS20aは、電源と第1PMOS18aのソースとの間に接続され、第3PMOS20bは、電源と内部ノードAとの間に接続されている。また、第2NMOS22aは、第1NMOS18bのソースとグランドとの間に接続され、第3NMOS22bは、内部ノードAとグランドとの間に接続されている。第2PMOS20aのゲートおよび第3NMOS22bのゲートには選択信号S<1>が入力され、第2NMOS22aのゲートおよび第3PMOS20bのゲートには選択信号S<0>が入力される。
第2インバータ16は、内部ノードAにおける内部信号の反転信号を出力信号OAとして出力する。第2インバータ16の入力端子には内部ノードAが接続され、第2インバータからは出力信号OAが出力される。
Figure 0007099904000004
表4は、基本回路12aの動作、つまり、2ビットの選択信号S<1:0>と出力信号OAとの関係を表す真理値表である。
表4に示すように、基本回路12aにおいて、選択信号S<1:0>=‘00’の場合、PMOS20a、20bはオン状態になり、NMOS22a、22bはオフ状態になる。この場合、入力信号IAに関わらず、内部ノードAはPMOS20bを介してチャージアップされて‘1’になり、さらに内部ノードAにおける内部信号は第2インバータ16により反転されて、出力信号OAは、‘0’固定、つまり、‘0’になる。
選択信号S<1:0>=‘01’の場合、PMOS20aおよびNMOS22aはオン状態になり、PMOS20bおよびNMOS22bはオフ状態になる。この場合、入力信号IAは第1インバータにより反転されて内部ノードAに出力され、さらに内部ノードAにおける内部信号は第2インバータにより反転され、出力信号OAは、入力信号IAがスルーの状態になる。つまり、出力信号OAとして、入力信号IAがそのまま出力される。
選択信号S<1:0>=‘11’の場合、PMOS20a、20bはオフ状態になり、NMOS22a、22bはオン状態になる。この場合、入力信号IAに関わらず、内部ノードAはNMOS22bを介してディスチャージされて‘0’になり、さらに内部ノードAにおける内部信号は第2インバータにより反転されて、出力信号OAは、‘1’固定、つまり、‘1’になる。
選択信号S<1:0>=‘10’の場合、PMOS20aおよびNMOS22aはオフ状態になり、PMOS20bおよびNMOS22bはオン状態になる。この場合、電源からPMOS20bおよびNMOS22bを介してグランドに直流電流が流れるため、選択信号S<1:0>=‘10’の入力は禁止となっている。
図1に示す2ビットのデコーダ回路10において、基本回路12a、12bの選択入力端子S<1>には1ビットのデータ1’b0が入力され、選択信号S<1>=‘0’固定になる。また、基本回路12c、12dの選択入力端子S<0>には1ビットのデータ1’b1が入力され、選択信号S<0>=‘1’固定になる。つまり、選択信号S<1:0>=‘10’となる選択信号S<1:0>は入力されないように構成されている。
なお、基本回路12aとしては、表4に示す真理値表を実現する任意の構成の基本回路を利用可能である。
例えば、図9に示すように、特許文献2の第2図に示された桁上げ信号発生回路において、A1、B1、およびNEG C1を、それぞれ、選択信号S<1>、選択信号S<0>、および入力信号IAと置き換えれば、表4に示す真理値表を実現する基本回路を生成できる。しかしながら、本発明に係る基本回路12aは、バイナリコードからサーモメータコードへの変換に特化し、選択信号S<1:0>=‘10’の入力を禁止することにより、回路規模の大幅な簡略化を実現している点が大きく異なる。
続いて、1ビットのデコーダ回路14は、1ビットのバイナリ入力BIN<0>をデコードして、2ビットのサーモメータ出力THM(1)<1:0>に変換する。
1ビットのデコーダ回路14のバイナリ入力端子BINには、バイナリ入力BIN<0>が入力される。1ビットのデコーダ回路14のサーモメータ出力端子THM(1)<1:0>からは、2ビットのサーモメータ出力THM(1)<1:0>が出力される。
1ビットのデコーダ回路14は、前述の表2に示すように、サーモメータ出力THM(1)<1>として、常に‘0’を出力する。また、サーモメータ出力THM(1)<0>として、バイナリ入力BIN<0>をそのまま出力する。言い換えると、サーモメータ出力THM(1)<1:0>として、バイナリ入力BIN<0>=‘0’の場合に、‘00’を出力し、バイナリ入力BIN<0>=‘1’の場合に、‘01’を出力する。
次に、1ビットのデコーダ回路14の構成について具体例を挙げて説明する。
図3は、1ビットのデコーダ回路の構成を表す第1実施形態の回路図である。図3に示す1ビットのデコーダ回路14aは、図2に示す基本回路12aと同じ構成の1個の基本回路を備えている。
1個の基本回路の選択入力端子S<1>には、‘0’固定となる1ビットのデータ1’b0が入力され、選択入力端子S<0>には、‘1’固定となる1ビットのデータ1’b1が入力される。つまり、1個の基本回路の選択信号S<1:0>として、‘01’が入力される。また、1個の基本回路のバイナリ入力端子BINには、バイナリ入力BIN<0>が入力される(図1参照)。
サーモメータ出力THM(1)<1>には、‘0’固定となる1ビットのデータ1’b0が接続されている。
1ビットのデコーダ回路14aにおいて、サーモメータ出力THM(1)<1>は、‘0’固定、つまり‘0’である。つまり、1ビットのデコーダ回路14aは、サーモメータ出力THM(1)<1>として、表2に示すように、常に‘0’を出力する。
また、選択信号S<1:0>=‘01’の場合、PMOS20aおよびNMOS22aがオン状態、PMOS20bおよびNMOS22bがオフ状態であり、1個の基本回路は、出力信号OAとして、入力信号IAをスルーさせてそのまま出力する。つまり、1ビットのデコーダ回路14aは、サーモメータ出力THM(1)<0>として、表2に示すように、バイナリ入力BIN<0>をそのまま出力する。
このように、1ビットのデコーダ回路14aは、選択信号S<1:0>=‘01’に固定することにより、基本回路12aをバッファとして使用して、その出力信号OAを、サーモメータ出力THM(1)<0>として出力し、さらに、サーモメータ出力THM(1)<1>として、‘0’固定を出力することにより、簡単に実現できる。この場合、1ビットのデコーダ回路として専用の回路を設計することなく、1個の基本回路だけを利用して、nビットのデコーダ回路14aを実現可能である。
図4は、1ビットのデコーダ回路の構成を表す第2実施形態の回路図である。図4に示す1ビットのデコーダ回路14bは、直列に接続された2個のインバータ24a、24b、つまり、バッファを備えている。
前段のインバータの入力端子、つまり、1ビットのデコーダ回路14bのバイナリ入力端子BINにはバイナリ入力BIN<0>が入力され(図1参照)、後段のインバータの出力端子からは、サーモメータ出力THM(1)<0>が出力される。
サーモメータ出力THM(1)<1>には、‘0’固定となる1ビットのデータ1’b0が接続されている。
1ビットのデコーダ回路14bにおいて、サーモメータ出力THM(1)<1>は、‘0’固定、つまり‘0’である。つまり、1ビットのデコーダ回路14bは、サーモメータ出力THM(1)<1>として、表2に示すように、常に‘0’を出力する。
また、1ビットのデコーダ回路14bは、インバータ24a、24bによりバイナリ入力BIN<0>を2回反転し、サーモメータ出力THM(1)<0>として、表2に示すように、バッファからバイナリ入力BIN<0>をそのまま出力する。
1ビットのデコーダ回路14bは、バッファの出力信号を、サーモメータ出力THM(1)<0>として出力し、さらに、サーモメータ出力THM(1)<1>として、‘0’固定を出力することにより、簡単に実現できる。この場合、2個のインバータ23a、24bからなるバッファのみという、非常にシンプルな回路で1ビットのデコーダ回路を実現可能である。
なお、1ビットのデコーダ回路14としては、表2に示す真理値表を実現する任意の構成の1ビットのデコーダ回路を利用可能である。
次に、2ビットのデコーダ回路10の動作を説明する。
2ビットのデコーダ回路10において、バイナリ入力BIN<1>=‘0’の場合、上位側の2個の基本回路12a、12bの選択入力端子S<1:0>には、選択信号S<1:0>として、‘0’およびバイナリ入力BIN<1>、つまり、{1’b0,BIN<1>}=‘00’が入力される。この場合、2個の基本回路12a、12bの信号出力端子OAからは、サーモメータ出力THM(2)<3:2>として、前述の表3に示すように、‘00’が出力される。
また、バイナリ入力BIN<1>=‘0’の場合、下位側の2個の基本回路12c、12dの選択入力端子S<1:0>には、選択信号S<1:0>として、バイナリ入力BIN<1>および‘1’、つまり、{BIN<1>,1’b1}=‘01’が入力される。この場合、2個の基本回路12c、12dの信号出力端子OAからは、サーモメータ出力THM(2)<1:0>として、表3に示すように、1ビットのデコーダ回路14から出力されるサーモメータ出力THM(1)<1:0>がそのまま出力される。
つまり、サーモメータ出力THM(2)<1:0>として、バイナリ入力BIN<0>=‘0’の場合、‘00’が出力され、バイナリ入力BIN<0>=‘1’の場合、‘01’が出力される。
バイナリ入力BIN<1>=‘1’の場合、上位側の2個の基本回路12a、12bの選択入力端子S<1:0>には、選択信号S<1:0>として、‘0’およびバイナリ入力BIN<1>、つまり、{1’b0,BIN<1>}=‘01’が入力される。この場合、2個の基本回路12a、12bの信号出力端子OAからは、サーモメータ出力THM(2)<3:2>として、表3に示すように、1ビットのデコーダ回路14から出力されるサーモメータ出力THM(1)<1:0>がそのまま出力される。
つまり、サーモメータ出力THM(2)<3:2>として、バイナリ入力BIN<0>=‘0’の場合、‘00’が出力され、バイナリ入力BIN<0>=‘1’の場合、‘01’が出力される。
また、バイナリ入力BIN<1>=‘1’の場合、下位側の2個の基本回路12c、12dの選択入力端子S<1:0>には、選択信号S<1:0>として、バイナリ入力BIN<1>および‘1’、つまり、{BIN<1>,1’b1}=‘11’が入力される。この場合、2個の基本回路12c、12dの信号出力端子OAからは、サーモメータ出力THM(2)<1:0>として、表3に示すように、‘11’が出力される。
次に、図5は、本発明のデコーダ回路の構成を表す第2実施形態のブロック図である。図5に示すデコーダ回路26は、3ビットのバイナリ入力BIN<2:0>をデコードして、8ビットのサーモメータ出力THM(3)<7:0>に変換する3ビットのデコーダ回路である。
3ビットのデコーダ回路26は、8個の基本回路12e、12f、12g、12h、12i、12j、12k、12lと、2ビットのデコーダ回路10と、を備えている。
上位側の4ビットのサーモメータ出力THM(3)<7:4>に対応する上位側の4個の基本回路12e、12f、12g、12hの選択入力端子S<1>には、‘0’固定となる1ビットのデータ1’b0が入力され、選択入力端子S<0>には、バイナリ入力BIN<2:0>の最上位ビットであるバイナリ入力BIN<2>が入力される。つまり、上位側の4個の基本回路12e、12f、12g、12hの選択信号S<1:0>として、‘0’およびバイナリ入力BIN<2>が、{1’b0,BIN<2>}として、連結して入力される。
また、上位側の基本回路12eの信号入力端子IAには、2ビットのデコーダ回路10から出力されるサーモメータ出力THM(2)<3>が入力され、上位側の基本回路12fの信号入力端子IAには、サーモメータ出力THM(2)<2>が入力され、上位側の基本回路12gの信号入力端子IAには、サーモメータ出力THM(2)<1>が入力され、上位側の基本回路12hの信号入力端子IAには、サーモメータ出力THM(2)<0>が入力される。つまり、上位側の4個の基本回路12e、12f、12g、12hの入力信号IAとして、サーモメータ出力THM(2)<3:0>の各ビットがそれぞれ入力される。
一方、下位側の4ビットのサーモメータ出力THM(3)<3:0>に対応する下位側の4個の基本回路12i、12j、12k、12lの選択入力端子S<1>には、バイナリ入力BIN<2>が入力され、選択入力端子S<0>には、‘1’固定となる1ビットのデータ1’b1が入力される。つまり、下位側の4個の基本回路12i、12j、12k、12lの選択信号S<1:0>として、バイナリ入力BIN<2>および‘1’が、{BIN<2>,1’b1}として、連結して入力される。
また、下位側の基本回路12iの信号入力端子IAには、サーモメータ出力THM(2)<3>が入力され、下位側の基本回路12jの信号入力端子IAには、サーモメータ出力THM(2)<2>が入力され、下位側の基本回路12kの信号入力端子IAには、サーモメータ出力THM(2)<1>が入力され、下位側の基本回路12lの信号入力端子IAには、サーモメータ出力THM(2)<0>が入力される。つまり、下位側の4個の基本回路12i、12j、12k、12lの入力信号IAとして、サーモメータ出力THM(2)<3:0>の各ビットがそれぞれ入力される。
基本回路12e、12f、12g、12h、12i、12j、12k、12lの信号出力端子OAからは、サーモメータ出力THM(3)<7:0>が出力される。
基本回路12e、12f、12g、12h、12i、12j、12k、12lの構成は、2ビットのデコーダ回路10で用いられているものと同じであり、図2に示す通りである。
続いて、2ビットのデコーダ回路10は、図1に示すものであり、2ビットのバイナリ入力BIN<1:0>をデコードして、4ビットのサーモメータ出力THM(2)<3:0>に変換する。
2ビットのデコーダ回路10のバイナリ入力端子BIN<1:0>には、バイナリ入力BIN<1:0>が入力される。2ビットのデコーダ回路10のサーモメータ出力端子THM(2)<3:0>からは、4ビットのサーモメータ出力THM(2)<3:0>が出力される。
次に、3ビットのデコーダ回路26の動作を説明する。
Figure 0007099904000005
表5は、3ビットのデコーダ回路26の動作、つまり、3ビットのバイナリ入力BIN<2:0>と8ビットのサーモメータ出力THM(3)<7:0>との関係を表す真理値表である。
3ビットのデコーダ回路26において、バイナリ入力BIN<2>=‘0’の場合、上位側の4個の基本回路12e、12f、12g、12hの選択入力端子S<1:0>には、選択信号S<1:0>として、‘0’およびバイナリ入力BIN<2>、つまり、{1’b0,BIN<2>}=‘00’が入力される。この場合、4個の基本回路12e、12f、12g、12hの信号出力端子OAからは、サーモメータ出力THM(3)<7:4>として、表5に示すように、‘0000’が出力される。
バイナリ入力BIN<2>=‘0’の場合、下位側の4個の基本回路12i、12j、12k、12lの選択入力端子S<1:0>には、選択信号S<1:0>として、バイナリ入力BIN<2>および‘1’、つまり、{BIN<2>,1’b1}=‘01’が入力される。この場合、4個の基本回路12i、12j、12k、12lの信号出力端子OAからは、サーモメータ出力THM(3)<3:0>として、表5に示すように、2ビットのデコーダ回路10から出力されるサーモメータ出力THM(2)<3:0>がそのまま出力される。
つまり、サーモメータ出力THM(3)<3:0>として、バイナリ入力BIN<1:0>=‘00’の場合、‘0000’が出力され、バイナリ入力BIN<1:0>=‘01’の場合、‘0001’が出力され、バイナリ入力BIN<1:0>=‘10’の場合、‘0011’が出力され、バイナリ入力BIN<1:0>=‘11’の場合、‘0111’が出力される。
バイナリ入力BIN<2>=‘1’の場合、上位側の4個の基本回路12e、12f、12g、12hの選択入力端子S<1:0>には、選択信号S<1:0>として、‘0’およびバイナリ入力BIN<2>、つまり、{1’b0,BIN<2>}=‘01’が入力される。この場合、4個の基本回路12e、12f、12g、12hの信号出力端子OAからは、サーモメータ出力THM(3)<7:4>として、表5に示すように、2ビットのデコーダ回路10から出力されるサーモメータ出力THM(2)<3:0>がそのまま出力される。
つまり、サーモメータ出力THM(3)<3:0>として、バイナリ入力BIN<1:0>=‘00’の場合、‘0000’が出力され、バイナリ入力BIN<1:0>=‘01’の場合、‘0001’が出力され、バイナリ入力BIN<1:0>=‘10’の場合、‘0011’が出力され、バイナリ入力BIN<1:0>=‘11’の場合、‘0111’が出力される。
バイナリ入力BIN<2>=‘1’の場合、下位側の4個の基本回路12i、12j、12k、12lの選択入力端子S<1:0>には、選択信号S<1:0>として、バイナリ入力BIN<2>および‘1’、つまり、{BIN<2>,1’b1}=‘11’が入力される。この場合、4個の基本回路12i、12j、12k、12lの信号出力端子OAからは、サーモメータ出力THM(3)<3:0>として、表5に示すように、‘1111’が出力される。
なお、nビットのバイナリ入力BIN<n-1:0>をデコードして、2ビットのサーモメータ出力THM(n)<2-1:0>に変換するnビットのデコーダ回路の構成も同様である。
nビットのデコーダ回路は、2個の基本回路と、(n-1)ビットのデコーダ回路と、を備える。
サーモメータ出力THM(n)<2-1:2(n-1)>に対応する上位側の2(n-1)個の基本回路の選択信号S<1:0>として、‘0’およびバイナリ入力BIN<n-1>が、{1’b0,BIN<n-1>}として、連結して入力される。また、上位側の2(n-1)個の基本回路の入力信号IAとして、(n-1)ビットのデコーダ回路から出力されるサーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットがそれぞれ入力される。
そして、上位側の2(n-1)個の基本回路は、サーモメータ出力THM(n)<2-1:2(n-1)>として、バイナリ入力BIN<n-1>=‘0’の場合に、サーモメータ出力THM(n)<2-1:2(n-1)>の全てのビットに‘0’を出力し、バイナリ入力BIN<n-1>=‘1’の場合に、サーモメータ出力THM(n-1)<2(n-1)-1:0>を出力する。
一方、サーモメータ出力THM(n)<2(n-1)-1:0>に対応する下位側の2(n-1)個の基本回路の選択信号S<1:0>として、バイナリ入力BIN<n-1>および‘1’が、{BIN<n-1>,1’b1}として、連結して入力される。また、下位側の2(n-1)個の基本回路の入力信号IAとして、サーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットがそれぞれ入力される。
そして、下位側の2(n-1)個の基本回路は、サーモメータ出力THM(n)<2(n-1)-1:0>として、バイナリ入力BIN<n-1>=‘0’の場合に、サーモメータ出力THM(n-1)<2(n-1)-1:0>を出力し、バイナリ入力BIN<n-1>=‘1’の場合に、サーモメータ出力THM(n)<2(n-1)-1:0>の全てのビットに‘1’を出力する。
また、(n-1)ビットのデコーダ回路は、n≧3である場合に、m(mは、n≧m≧3の整数)をnから3として、(m-1)ビットのデコーダ回路を備え、n=2である場合に、1ビットのデコーダ回路を備える。
さらに、mをnから3として、(m-1)ビットのデコーダ回路は、2(m-1)個の基本回路と、(m-2)ビットのデコーダ回路と、を備える。
次に、図6~図8のフローチャートを参照しながら、本発明のデコーダ回路の設計方法に従って、nビットのデコーダ回路を設計する手順を説明する。
まず、選択信号S<1:0>の設定に応じて、出力信号OAとして、‘0’を出力するか、‘1’を出力するか、または入力信号IAを出力する基本回路を設計する(図6のステップS1)。例えば、図2に示す基本回路12aを設計する。
また、サーモメータ出力THM(1)<1:0>として、バイナリ入力BIN<0>=‘0’の場合に、‘00’を出力し、バイナリ入力BIN<0>=‘1’の場合に、‘01’を出力する1ビットのデコーダ回路を設計する(図6のステップS2)。例えば、図3に示す1ビットのデコーダ回路14aまたは図4に示す1ビットのデコーダ回路14bを設計する。例えば、図2に示す基本回路12aを設計し、図3に示す1ビットのデコーダ回路14aまたは図4に示す1ビットのデコーダ回路14bを設計する。
続いて、n≧3である場合に、m(mは、n≧m≧3の整数)が3からnになるまで、2(m-1)個の基本回路と、(m-2)ビットのデコーダ回路と、を用いて、(m-1)ビットのデコーダ回路を設計する(図6のステップS3)。
ここで、(m-1)ビットのデコーダ回路を設計する場合、サーモメータ出力THM(m-1)<2(m-1)-1:2(m-2)>に対応する上位側の2(m-2)個の基本回路の選択信号S<1:0>として、‘0’およびバイナリ入力BIN<m-2>を、{1’b0,BIN<m-2>}として、連結して入力する(図7のステップS31)。
また、上位側の2(m-2)個の基本回路の入力信号IAとして、(m-2)ビットのデコーダ回路から出力されるサーモメータ出力THM(m-2)<2(m-2)-1:0>の各ビットをそれぞれ入力する(図7のステップS32)。
一方、サーモメータ出力THM(m-1)<2(m-2)-1:0>に対応する下位側の2(m-2)個の基本回路の選択信号S<1:0>として、バイナリ入力BIN<m-2>および‘1’を、{BIN<m-2>,1’b1}として、連結して入力する(図7のステップS33)。
また、下位側の2(m-2)個の基本回路の入力信号IAとして、サーモメータ出力THM(m-2)<2(m-2)-1:0>の各ビットをそれぞれ入力する(図7のステップS34)。
図6のフローチャートに戻って、(n-1)ビットのデコーダ回路の設計が終了した後、2個の基本回路と、(n-1)ビットのデコーダ回路と、を用いて、nビットのデコーダ回路を設計する(図6のステップS4)。
ここで、nビットのデコーダ回路を設計する場合、サーモメータ出力THM(n)<2-1:2(n-1)>に対応する上位側の2(n-1)個の基本回路の選択信号S<1:0>として、‘0’およびバイナリ入力BIN<n-1>を、{1’b0,BIN<n-1>}として、連結して入力する(図8のステップS41)。
また、上位側の2(n-1)個の基本回路の入力信号IAとして、(n-1)ビットのデコーダ回路から出力されるサーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットをそれぞれ入力する(図8のステップS42)。
一方、サーモメータ出力THM(n)<2(n-1)-1:0>に対応する下位側の2(n-1)個の基本回路の選択信号S<1:0>として、バイナリ入力BIN<n-1>および‘1’を、{BIN<n-1>,1’b1}として、連結して入力する(図8のステップS43)。
また、下位側の2(n-1)個の基本回路の入力信号IAとして、サーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットをそれぞれ入力する(図8のステップS44)。
例えば、n=4である場合、まず、4個の基本回路と、1ビットのデコーダ回路と、を用いて、図1に示す2ビットのデコーダ回路10を設計する。続いて、8個の基本回路と、2ビットのデコーダ回路と、を用いて、図5に示す3ビットのデコーダ回路26を設計する。その後、16個の基本回路と、3ビットのデコーダ回路26と、を用いて、4ビットのデコーダ回路を設計する。n≧5の場合も同様にして、nビットのデコーダ回路を設計することができる。
上記のように、本発明に係るnビットのデコーダ回路は、2個の基本回路と、(n-1)ビットのデコーダ回路と、の組み合わせによって実現できる。
そのため、複数の基本回路および1ビットのデコーダ回路という、複数のプリミティブな回路を組み合わせるだけで、nビットのデコーダ回路を実現可能である。また、nビットのデコーダ回路の回路規模は、例えば1ビットのデコーダ回路14aを使用した場合、基本回路12の個数=(2×2)-3に比例し、従来回路のn×2よりも回路規模の増大を大幅に小さくすることができる。さらに、クリティカルパス長も、バイナリ入力BINのビット数であるnに比例してしか増えないため、十分に小さくすることができる。
また、バイナリ入力BINのビット数に応じて、複数の基本回路および1ビットのデコーダ回路を組み合わせてnビットのデコーダ回路を設計することができる。また、基本回路および1ビットのデコーダ回路というプリミティブな回路の出力遅延時間を計測しておけば、バイナリ入力BINのビット数に応じて、nビットのデコーダ回路の出力遅延時間を容易に算出できる。そのため、非常に容易に設計を行うことができ、バイナリ入力BINのビット数を変える場合も、短時間で設計変更を行うことが可能である。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
10、26 デコーダ回路
12a、12b、12c、12d、12e、12f、12g、12h、12i、12j、12k、12l 基本回路
14、14a、14b デコーダ回路
16 第2インバータ
18a 第1PMOS
18b 第1NMOS
20a 第2PMOS
20b 第3PMOS
22a 第2NMOS
22b 第3NMOS
24a、24b インバータ

Claims (5)

  1. n(nは、2以上の整数)ビットのバイナリ入力BIN<n-1:0>をデコードして、2ビットのサーモメータ出力THM(n)<2-1:0>に変換するnビットのデコーダ回路であって、
    選択信号S<1:0>の設定に応じて、出力信号OAとして、‘0’を出力するか、‘1’を出力するか、または入力信号IAを出力する2個の基本回路と、
    (n-1)ビットのデコーダ回路と、を備え、
    前記サーモメータ出力THM(n)<2-1:2(n-1)>に対応する上位側の2(n-1)個の基本回路の選択信号S<1:0>として、‘0’および前記バイナリ入力BIN<n-1>が連結して入力され、前記上位側の2(n-1)個の基本回路の入力信号IAとして、前記(n-1)ビットのデコーダ回路から出力されるサーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットがそれぞれ入力され、
    前記上位側の2(n-1)個の基本回路は、前記サーモメータ出力THM(n)<2-1:2(n-1)>として、前記バイナリ入力BIN<n-1>=‘0’の場合に、全てのビットに‘0’を出力し、前記バイナリ入力BIN<n-1>=‘1’の場合に、前記サーモメータ出力THM(n-1)<2(n-1)-1:0>を出力し、
    前記サーモメータ出力THM(n)<2(n-1)-1:0>に対応する下位側の2(n-1)個の基本回路の選択信号S<1:0>として、前記バイナリ入力BIN<n-1>および‘1’が連結して入力され、前記下位側の2(n-1)個の基本回路の入力信号IAとして、前記サーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットがそれぞれ入力され、
    前記下位側の2(n-1)個の基本回路は、前記サーモメータ出力THM(n)<2(n-1)-1:0>として、前記バイナリ入力BIN<n-1>=‘0’の場合に、前記サーモメータ出力THM(n-1)<2(n-1)-1:0>を出力し、前記バイナリ入力BIN<n-1>=‘1’の場合に、全てのビットに‘1’を出力し、
    前記(n-1)ビットのデコーダ回路は、n≧3である場合に、m(mは、n≧m≧3の整数)をnから3として、(m-1)ビットのデコーダ回路を備え、n=2である場合に、1ビットのデコーダ回路を備え、
    mをnから3として、前記(m-1)ビットのデコーダ回路は、2(m-1)個の前記基本回路と、(m-2)ビットのデコーダ回路と、を備え、
    前記1ビットのデコーダ回路は、サーモメータ出力THM(1)<1:0>として、前記バイナリ入力BIN<0>=‘0’の場合に、‘00’を出力し、前記バイナリ入力BIN<0>=‘1’の場合に、‘01’を出力する、デコーダ回路。
  2. 前記基本回路は、第1インバータと、第2インバータと、出力選択回路と、を備え、
    前記第1インバータは、第1P型MOSトランジスタと、第1N型MOSトランジスタと、を備え、前記第1P型MOSトランジスタのゲートおよび前記第1N型MOSトランジスタのゲートには前記入力信号IAが入力され、前記第1P型MOSトランジスタのドレインおよび前記第1N型MOSトランジスタのドレインが内部ノードに接続され、
    前記出力選択回路は、第2P型MOSトランジスタと、第3P型MOSトランジスタと、第2N型MOSトランジスタと、第3N型MOSトランジスタと、を備え、前記第2P型MOSトランジスタは、電源と前記第1P型MOSトランジスタのソースとの間に接続され、前記第3P型MOSトランジスタは、電源と前記内部ノードとの間に接続され、前記第2N型MOSトランジスタは、前記第1N型MOSトランジスタのソースとグランドとの間に接続され、前記第3N型MOSトランジスタは、前記内部ノードとグランドとの間に接続され、前記第2P型MOSトランジスタのゲートおよび前記第3N型MOSトランジスタのゲートには前記選択信号S<1>が入力され、前記第2N型MOSトランジスタのゲートおよび前記第3P型MOSトランジスタのゲートには前記選択信号S<0>が入力され、
    前記第2インバータの入力端子には前記内部ノードが接続され、前記第2インバータからは前記出力信号OAが出力される、請求項1に記載のデコーダ回路。
  3. 前記1ビットのデコーダ回路は、前記選択信号S<1:0>として‘01’が入力され、前記出力信号OAとして、前記バイナリ入力BIN<0>を出力する1個の基本回路を備え、
    前記サーモメータ出力THM(1)<1>として、‘0’を出力し、
    前記サーモメータ出力THM(1)<0>として、前記1個の基本回路から前記バイナリ入力BIN<0>を出力する、請求項1または2に記載のデコーダ回路。
  4. 前記1ビットのデコーダ回路は、前記バイナリ入力BIN<0>を出力するバッファを備え、
    前記サーモメータ出力THM(1)<1>として、‘0’を出力し、
    前記サーモメータ出力THM(1)<0>として、前記バッファから前記バイナリ入力BIN<0>を出力する、請求項1または2に記載のデコーダ回路。
  5. n(nは、2以上の整数)ビットのバイナリ入力BIN<n-1:0>をデコードして、2ビットのサーモメータ出力THM(n)<2-1:0>に変換するnビットのデコーダ回路の設計方法であって、
    選択信号S<1:0>の設定に応じて、出力信号OAとして、‘0’を出力するか、‘1’を出力するか、または入力信号IAを出力する基本回路を設計するステップと、
    サーモメータ出力THM(1)<1:0>として、前記バイナリ入力BIN<0>=‘0’の場合に、‘00’を出力し、前記バイナリ入力BIN<0>=‘1’の場合に、‘01’を出力する1ビットのデコーダ回路を設計するステップと、
    n≧3である場合に、m(mは、n≧m≧3の整数)が3からnになるまで、2(m-1)個の前記基本回路と、(m-2)ビットのデコーダ回路と、を用いて、(m-1)ビットのデコーダ回路設計を繰り返すステップと、
    個の前記基本回路と、(n-1)ビットのデコーダ回路と、を用いて、nビットのデコーダ回路を設計するステップと、を含み、
    前記nビットのデコーダ回路を設計するステップは、
    前記サーモメータ出力THM(n)<2-1:2(n-1)>に対応する上位側の2(n-1)個の基本回路の選択信号S<1:0>として、‘0’および前記バイナリ入力BIN<n-1>を連結して入力し、前記上位側の2(n-1)個の基本回路の入力信号IAとして、前記(n-1)ビットのデコーダ回路から出力されるサーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットをそれぞれ入力するステップと、
    前記サーモメータ出力THM(n)<2(n-1)-1:0>に対応する下位側の2(n-1)個の基本回路の選択信号S<1:0>として、前記バイナリ入力BIN<n-1>および‘1’を連結して入力し、前記下位側の2(n-1)個の基本回路の入力信号IAとして、前記サーモメータ出力THM(n-1)<2(n-1)-1:0>の各ビットをそれぞれ入力するステップと、を含み、
    前記(m-1)ビットのデコーダ回路を設計するステップは、
    前記サーモメータ出力THM(m-1)<2(m-1)-1:2(m-2)>に対応する上位側の2(m-2)個の基本回路の選択信号S<1:0>として、‘0’および前記バイナリ入力BIN<m-2>を連結して入力し、前記上位側の2(m-2)個の基本回路の入力信号IAとして、(m-2)ビットのデコーダ回路から出力されるサーモメータ出力THM(m-2)<2(m-2)-1:0>の各ビットをそれぞれ入力するステップと、
    前記サーモメータ出力THM(m-1)<2(m-2)-1:0>に対応する下位側の2(m-2)個の基本回路の選択信号S<1:0>として、前記バイナリ入力BIN<m-2>および‘1’を連結して入力し、前記下位側の2(m-2)個の基本回路の入力信号IAとして、前記サーモメータ出力THM(m-2)<2(m-2)-1:0>の各ビットをそれぞれ入力するステップと、を含み
    前記上位側の2 (n-1) 個の基本回路は、前記サーモメータ出力THM(n)<2 -1:2 (n-1) >として、前記バイナリ入力BIN<n-1>=‘0’の場合に、全てのビットに‘0’を出力し、前記バイナリ入力BIN<n-1>=‘1’の場合に、前記サーモメータ出力THM(n-1)<2 (n-1) -1:0>を出力し、
    前記下位側の2 (n-1) 個の基本回路は、前記サーモメータ出力THM(n)<2 (n-1) -1:0>として、前記バイナリ入力BIN<n-1>=‘0’の場合に、前記サーモメータ出力THM(n-1)<2 (n-1) -1:0>を出力し、前記バイナリ入力BIN<n-1>=‘1’の場合に、全てのビットに‘1’を出力する、デコーダ回路の設計方法。
JP2018154599A 2018-08-21 2018-08-21 デコーダ回路およびデコーダ回路の設計方法 Active JP7099904B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018154599A JP7099904B2 (ja) 2018-08-21 2018-08-21 デコーダ回路およびデコーダ回路の設計方法
CN201910723764.6A CN110855296A (zh) 2018-08-21 2019-08-06 解码器电路以及解码器电路的设计方法
US16/538,890 US10680641B2 (en) 2018-08-21 2019-08-13 Decoder circuit and decoder circuit design method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018154599A JP7099904B2 (ja) 2018-08-21 2018-08-21 デコーダ回路およびデコーダ回路の設計方法

Publications (2)

Publication Number Publication Date
JP2020031300A JP2020031300A (ja) 2020-02-27
JP7099904B2 true JP7099904B2 (ja) 2022-07-12

Family

ID=69586452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018154599A Active JP7099904B2 (ja) 2018-08-21 2018-08-21 デコーダ回路およびデコーダ回路の設計方法

Country Status (3)

Country Link
US (1) US10680641B2 (ja)
JP (1) JP7099904B2 (ja)
CN (1) CN110855296A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021135156A (ja) 2020-02-27 2021-09-13 オムロン株式会社 流量測定装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003046388A (ja) 2001-06-30 2003-02-14 Hynix Semiconductor Inc クロック同期装置
US20100201557A1 (en) 2009-02-06 2010-08-12 Chen Jinfu Thermo-decoder circuit
JP2010199770A (ja) 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> ディジタル/アナログ変換器

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61165130A (ja) 1985-01-17 1986-07-25 Matsushita Electric Ind Co Ltd 桁上げ信号発生回路
JPS62175020A (ja) * 1986-01-29 1987-07-31 Hitachi Ltd Da変換器用デコ−ダ
JPS62178015A (ja) 1986-01-31 1987-08-05 Nippon Telegr & Teleph Corp <Ntt> デイジタル論理fet回路
JPH0226413A (ja) 1988-07-15 1990-01-29 Matsushita Electric Ind Co Ltd 論理集積回路
EP0533253B1 (fr) * 1991-09-20 1996-07-10 Philips Composants Et Semiconducteurs Procédé de transcodage de données d'un code thermométrique, décodeur et convertisseur appliquant ce procédé
US5243347A (en) * 1992-09-28 1993-09-07 Motorola, Inc. Monotonic current/resistor digital-to-analog converter and method of operation
US5283580A (en) * 1992-09-28 1994-02-01 Motorola, Inc. Current/resistor digital-to-analog converter having enhanced integral linearity and method of operation
KR0130037B1 (ko) 1993-12-18 1998-04-06 김광호 동작전압의 변동에 대응 가능한 반도체집적회로의 입력버퍼회로
US5640162A (en) * 1994-10-04 1997-06-17 Brooktree Corporation Digital-to-analog converter with binary coded inputs to produce a plurality of outputs in the form of thermometer code
GB2333171A (en) * 1998-01-08 1999-07-14 Fujitsu Microelectronics Ltd Thermometer coding circuitry
EP1492237B1 (en) * 1999-11-10 2006-09-06 Fujitsu Limited Noise shaping in segmented mixed-signal circuitry
DE60119476T2 (de) * 2000-10-26 2006-11-23 Fujitsu Ltd., Kawasaki Segmentierte Schaltungsanordnung
US7239116B2 (en) * 2004-12-21 2007-07-03 Primarion, Inc. Fine resolution pulse width modulation pulse generator for use in a multiphase pulse width modulated voltage regulator
US20030201924A1 (en) * 2002-04-27 2003-10-30 Lakshmikumar Kadaba R. Digital-to-analog converter
US6703956B1 (en) * 2003-01-08 2004-03-09 Agilent Technologies, Inc. Technique for improved linearity of high-precision, low-current digital-to-analog converters
JP2008141676A (ja) 2006-12-05 2008-06-19 Toshiba Corp 半導体集積回路
US20140103985A1 (en) * 2012-10-11 2014-04-17 Easic Corporation Digitally Controlled Delay Line for a Structured ASIC Having a Via Configurable Fabric for High-Speed Interface
US9356614B1 (en) * 2015-01-23 2016-05-31 Qualcomm Incorporated Thermometer code converter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003046388A (ja) 2001-06-30 2003-02-14 Hynix Semiconductor Inc クロック同期装置
US20100201557A1 (en) 2009-02-06 2010-08-12 Chen Jinfu Thermo-decoder circuit
JP2010199770A (ja) 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> ディジタル/アナログ変換器

Also Published As

Publication number Publication date
JP2020031300A (ja) 2020-02-27
US10680641B2 (en) 2020-06-09
US20200067522A1 (en) 2020-02-27
CN110855296A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
JP7099904B2 (ja) デコーダ回路およびデコーダ回路の設計方法
US6012079A (en) Conditional sum adder using pass-transistor logic and integrated circuit having the same
US6329838B1 (en) Logic circuits and carry-lookahead circuits
JPH05341963A (ja) 多ビット入力加算回路及びその方法
US7716270B2 (en) Carry-ripple adder
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
CN115102553B (zh) 二进制码转温度计码的装置和电子设备
US20080046498A1 (en) Carry-Select Adder Structure and Method to Generate Orthogonal Signal Levels
WO2015015905A1 (ja) 論理演算装置
JP3339566B2 (ja) サーモメトリック−バイナリコード変換方法および回路、それに使用されるエンコーダ素子回路
JP3663186B2 (ja) 部分積生成回路および乗算器
JP3727301B2 (ja) 加算回路および加算回路を備えた半導体装置
JP4230234B2 (ja) 全加算器用のパリティ予測回路
JPH03228122A (ja) 加算回路
JPH0682395B2 (ja) ビットマスク生成回路
US10409594B2 (en) Processing circuit and control method of processing circuit
US5909386A (en) Digital adder
CN117873424A (zh) 查找表电路及配置方法
JP3741280B2 (ja) 桁上げ先見回路およびこれを用いた加算回路
US20230214182A1 (en) Adder with first and second adder circuits for non-power of two input width
JP3540136B2 (ja) データ分割並列シフタ
JP2014027498A (ja) Da変換装置および試験装置
JP2991788B2 (ja) 復号器
JP3199196B2 (ja) 5入力加算器
Birleanu et al. First steps towards designing a compact language for the description of logic circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220630

R150 Certificate of patent or registration of utility model

Ref document number: 7099904

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150