JP2004133961A - Data inversion circuit and semiconductor device - Google Patents

Data inversion circuit and semiconductor device Download PDF

Info

Publication number
JP2004133961A
JP2004133961A JP2002294722A JP2002294722A JP2004133961A JP 2004133961 A JP2004133961 A JP 2004133961A JP 2002294722 A JP2002294722 A JP 2002294722A JP 2002294722 A JP2002294722 A JP 2002294722A JP 2004133961 A JP2004133961 A JP 2004133961A
Authority
JP
Japan
Prior art keywords
data
output
circuit
inversion
signal
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.)
Granted
Application number
JP2002294722A
Other languages
Japanese (ja)
Other versions
JP4068427B2 (en
Inventor
Hiroyasu Yoshida
吉田 博康
Tsuratoki Ooishi
大石 貫時
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.)
Micron Memory Japan Ltd
Original Assignee
Elpida Memory Inc
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 Elpida Memory Inc filed Critical Elpida Memory Inc
Priority to JP2002294722A priority Critical patent/JP4068427B2/en
Priority to TW092125698A priority patent/TWI233567B/en
Priority to DE10346559A priority patent/DE10346559A1/en
Priority to CN2003101007391A priority patent/CN100407109C/en
Priority to US10/680,239 priority patent/US6999352B2/en
Publication of JP2004133961A publication Critical patent/JP2004133961A/en
Application granted granted Critical
Publication of JP4068427B2 publication Critical patent/JP4068427B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Logic Circuits (AREA)
  • Dram (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a parallel data output circuit for facilitating a timing design in achieving a data inversion function for reducing the number of signals inverted in the output. <P>SOLUTION: In the data inversion circuit, each P pieces of data comparison means 21, 22-(2P), majority decision means 31, 32-(3P), inverted flag generating means 41, 42-(4P) and data inversion means 51, 52-(5P) are in existence, respectively, and each of them is operated in parallel in a single cycle. Furthermore, when generating an inverted flag 40k indicating whether or not parallel data 101, 102-(10P) should be output in inverse, inverted flags 401, 402-(40P) are calculated from outputs from the generating means 41, 42-(4P) and from the generating means (4P) of the cycle that is one cycle prior to the single cycle. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、多ビットの並列データを時間的に順次出力するデータインバージョン回路に関し、特に、クロック同期型半導体装置の読み出し系の回路に好適なデータインバージョン回路及びその回路を適用する半導体装置に関する。
【0002】
【従来の技術】
多ビットを並列に出力する装置では、データの遷移時に発生するノイズが問題となる。このノイズは、特にCMOSの論理回路が反転する際の遷移時には著しく発生し、さらにその時に電力の多くが消費される。論理回路が反転する際の遷移回数を低減する技術としてデータインバージョンの機能が知られている。データインバージョンは、当該サイクルのデータを前サイクルの出力データと比較し、全Nビットのうち、多数のビット、例えばN/2ビット以上が反転する場合には、当該サイクルのデータの論理を反転して出力し、外部バスで実際に反転するデータのビット数をN/2ビット以下に抑え、ノイズや消費電流を低減することを目的とした機能である。
【0003】
図8は、従来のデータインバージョン回路の構成を示すブロック図である。データインバージョン回路は、データ比較回路210、多数決回路及びデータ反転フラグ生成回路310、データ反転回路510、前データ保持回路810で構成されている。以下に、このデータインバージョンの機能を有する回路の動作についてステップを追って説明する。
【0004】
1.データ比較回路210は、データバスのデータ110と前データ保持回路810から出力される前サイクルのデータ820とをビット位置ごとに比較し、前サイクルからデータが切替っている場合にはビットごとの比較フラグ220をたてる(ハイレベルにする)。
【0005】
2.多数決回路及びデータ反転フラグ生成回路310は、ハイレベルである比較フラグ220の個数をカウントし、N/2個以上のビット位置でデータ110が切替っている場合には、反転フラグ410をたてる(ハイレベルにする)。
3.反転フラグ410がたっている場合に、データ反転回路510は、データバスのデータ110を反転して出力データ500として出力する。
【0006】
4.前データ保持回路810は、実際に出力した出力データ500を保持する。
【0007】
5.バースト読出しの間、1〜4を繰り返す。
【0008】
なお、前データ保持回路810には、読出し開始前に前データ信号を初期状態(例えばローレベル)にするためのリセット信号830が設けられてある。
【0009】
以上のように、図8に示すデータインバージョン回路が動作することによって、出力データ500における反転するデータのビット数は、N/2ビット以下に抑えられ、出力回路が発生するノイズや消費電流を低減させることができる。
【0010】
また、特許文献1に示す技術は、LSIチップ内で、該当サイクルの読出しデータと、1サイクル前の読出しデータとをビット数分だけ比較(排他的論理和)し、値の変化した数の多数決をとり、変化の数(1サイクル前の読出しデータと比較して反転したビット数)が多い(N/2以上の)場合は、反転のフラグ信号(例えばローレベル)を出力し、同時に出力データとして逆相データを出力するものである。この結果、反転したビット数が半数以上の場合には、逆相データを出力することによって、出力バッファから出力されるデータにおける反転するビット数が半数以下に抑えられる。また、反転を示すフラグ信号を同時に外部へ出力することによって、外部のデバイスに出力データが反転しているかどうかを通知する機能が備えられている。従って、この技術は、データインバージョン機能の基本的回路構成を備えたものであって、従来例の技術内容に相当するものである。
【0011】
さらに、特許文献2及び特許文献3に示す技術も、特許文献1と実質的に同じ課題、効果、解決手段を持っており、従来例の技術内容に相当するものである。
【0012】
【特許文献1】
特開平7−20973号公報(第2−4頁、第1図)
【特許文献2】
特開平8−101813号公報(第3頁、第1図)
【特許文献3】
特開平10−198475号公報(第4頁、第1図)
【0013】
【発明が解決しようとする課題】
しかしながら、従来のデータインバージョンの技術を高速のクロック信号で動作する半導体装置、例えばダブルデータレート・シンクロナス・ダイナミック・ランダムアクセスメモリ(DDR−SDRAM)等に適用する場合には以下のような課題がある。
【0014】
DDR−SDRAMは、与えられるクロック信号の1サイクル中のクロック信号の立ち上がりエッジと立ち下がりエッジとの双方でデータを出力する。従って、図8の回路構成の場合において、データ反転の判定(データの比較から、反転フラグ信号の生成、データバスのデータの反転まで)は、クロック信号の半サイクル内で行われなければならない。例えば、クロック信号の周波数が300MHzの場合に、データ反転の判定に使用できる時間は、約1.67nSであり、さらにクロック信号のハイレベルの幅、ローレベルの幅の標準的な仕様(周期の45%)を考慮すると最小1.5nSとなり、タイミング設計が極めて難しくなる。
【0015】
従って、本発明の主たる目的は、クロック信号の立ち上がりと立ち下がりのエッジで2度データを出力する半導体装置等に適用可能としたデータインバージョン機能を実現する回路及び、該データインバージョン回路を用いてデータインバージョンを行う半導体装置を提供することにある。
【0016】
【課題を解決するための手段】
前記目的を達成するために、本発明に係る半導体装置は、第1の視点によれば、あるサイクルのデータを前サイクルの出力データと比較し、複数の出力端子から出力されるデータのうち過半数が反転する場合には、前記サイクルのデータを反転して出力するデータインバージョン機能を有する半導体装置において、データ間で一の出力端子から出力される順序が規定されている複数のデータが、並列に転送される複数の経路のそれぞれに対応して、時間的に前後のデータを比較するデータ比較回路を複数備え、前記データ比較回路における比較結果を、複数の出力端子数分、入力し、多数決をとる多数決回路を複数備え、前記複数の多数決回路における判定結果に基づき、前記複数の出力端子からのデータを反転して出力することを示す反転フラグを生成する反転フラグ生成回路を複数備え、複数サイクル分のデータ反転の判定を、並行して行う構成とされている。
【0017】
本発明において、好ましくは、半導体装置は、ダブルレートのクロック信号の立ち上がりエッジで規定されるデータ、立ち下がりで規定されるデータが転送される経路に対して、前記データ比較回路、前記多数決回路、及び前記反転フラグ生成回路をそれぞれ複数備えた構成としてもよい。
【0018】
また、本発明の第2の視点によれば、半導体装置は、半導体装置が複数本のデータ出力端子を有し、1本の前記データ出力端子あたり、前記1本のデータ出力端子を介して出力されるべき、第1乃至第P(Pは予め定められた2以上の整数)のビットデータを並列に出力する第1乃至第Pのポートを備え、第1乃至第Pのビットデータは、この順序で1本の前記データ出力端子から出力されるものであり、前記第1乃至第Pのポートに対応して、前記第1乃至第Pのデータ比較回路を備え、第i(ただし、iは1乃至Pの整数)のデータ比較回路は、第i−1のポート(ただしiが1のときは、第Pのポート又は初期値)のデータと第iのポートのデータとを比較して第iの比較フラグ信号を出力し、前記半導体装置の前記複数本のデータ出力端子に応じて、前記第1乃至第Pのポートのデータ比較回路のそれぞれに対応して、データ出力端子の本数分の、第iの比較フラグ信号を入力し、不一致の個数が過半数を超えるか判定する第1乃至第Pの多数決回路と、前記第1乃至第Pの多数決回路に対応して前記第1乃至第Pの反転フラグ生成回路と、を備え、第i(ただし、iは1乃至Pの整数)の反転フラグ生成回路は、第i−1のポートの反転フラグ信号(ただしiが1のときは、第Pのポート又は初期値)と、第iの多数決回路の判定結果とを比較して第iの反転フラグ信号を出力し、前記第iの反転フラグ信号が反転を示すときは、前記第iのポートのデータを反転し、前記データ出力端子から出力される構成とされる。
【0019】
本発明において、好ましくは、半導体装置は、1つのデータ出力端子について前記第1乃至第Pのポートのデータは、第1乃至第Pのポートの順に順序付けられ、シリアルにデータが変換されて出力される構成としてもよい。
【0020】
さらに、本発明の第3の視点によれば、半導体装置は、クロック信号の第1の論理値から第2論理値への遷移と、前記第2の論理値から前記第1論理値への遷移に基づき、1クロックサイクル中に、1つのデータ端子から2度データを出力する半導体装置において、前記クロック信号の第1の論理値から第2論理値への第1の遷移と、前記第2の論理値から前記第1論理値への第2の遷移とでそれぞれ出力されるデータが転送される第1、第2の経路に接続される第1及び第2のデータ比較回路を備え、前記第1のデータ比較回路は、前記第1の経路における、前記クロック信号の第1の遷移タイミングでのデータと、前記第2の経路における、前記第1の遷移タイミング直前の前記クロック信号の第2の遷移タイミングでのデータとが互いに一致するか否か比較判定することで、前記第1の遷移の前の前記第2の遷移と前記第1の遷移とにおけるデータの切り替わりの有無を判定し、判定結果を第1の出力信号として出力し、前記第2のデータ比較回路は、前記第1の経路における、前記クロック信号の前記第1の遷移タイミングでの前記データと、前記第1の遷移につづく前記クロック信号の第2の遷移タイミングでのデータとが一致するか否か比較判定することで、前記第1の遷移と前記第1の遷移につづく前記第2の遷移とにおけるデータの切り替わりの有無を判定し、判定結果を第2の出力信号として出力し、半導体装置のデータ端子数分の前記第1のデータ比較回路からの第1の出力信号群を入力して、前記第1の出力信号群のうちの過半数のデータが切り替わっているか否かを判定し、第1の判定結果信号を出力する第1の多数決回路と、半導体装置のデータ出力端子数分の前記第2のデータ比較回路からの第2の出力信号群を入力して、前記第2の出力信号群のうち過半数のデータが切り替わっているか否かを判定し、第2の判定結果信号を出力する第2の多数決回路と、前記第1の多数決回路からの前記第1の判定結果信号と、前記クロック信号の少なくとも遷移1つ分前の第2の反転フラグの値とから、第1の反転フラグを生成する第1の反転フラグ生成回路と、前記第2の多数決回路からの前記第2の判定結果信号と、前記クロック信号の少なくとも遷移1つ分前の前記第1の反転フラグの値とから、第2の反転フラグを生成する第2の反転フラグ生成回路と、前記第1の反転フラグの値に基づき、前記第1の反転フラグが過半数のデータが切り替わっていることを示す場合、前記第1の経路のデータを反転して出力する第1のデータ反転回路と、前記第2の反転フラグの値に基づき、前記第1の反転フラグが過半数のデータが切り替わっていることを示す場合、前記第2の経路のデータを反転して出力する第2のデータ反転回路と、を備え、前記第1及び第2反転フラグ生成回路は、前記第1及び第2の反転フラグ信号を、出力データを反転したことを示すフラグとして、半導体装置の制御端子から出力する構成とされる。
【0021】
本発明において、好ましくは、半導体装置は、前記第1及び第2のデータ比較回路と、前記第1及び第2のデータ反転回路が、前記第1及び第2の経路のデータが出力回路に転送されるデータバス上に設けられるラッチ回路部の段に設けられている構成としてもよい。
【0022】
本発明において、好ましくは、半導体装置は、前記第1及び第2のデータ反転回路からのそれぞれの出力を並列に入力し並列・直列変換して出力する並列・直列変換回路と、前記並列・直列変換回路からの出力データを入力して出力端子から出力する出力バッファ回路とを備える構成としてもよい。
【0023】
本発明において、好ましくは、半導体装置は、前記ラッチ回路部が、前記第1、第2の経路に接続され、前記第1、第2の経路に並列に出力される第1、第2のデータを、サンプリング用の第1のクロック信号の前記第1、第2の遷移でラッチ出力する第1、第2のラッチ回路と、前記第1のラッチ回路の出力を、前記サンプリング用の第1のクロック信号の第1、第2の遷移のうち一方の遷移で取り込み他方の遷移で出力する第3のラッチ回路と、前記第2のラッチ回路の出力を入力し、前記サンプリング用の第1のクロック信号の第1、第2の遷移の前記一方の遷移でラッチ出力する第4のラッチ回路と、前記第4のラッチ回路の出力を入力し、前記サンプリング用の第1のクロック信号の第1、第2の遷移の前記一方の遷移でラッチ出力する第5のラッチ回路と、前記第5のラッチ回路の出力を入力し、サンプリング用のクロック信号の第1、第2の遷移の他方の遷移でラッチ出力する第6のラッチ回路と、を備えている構成としてもよい。
【0024】
本発明において、好ましくは、半導体装置は、前記第1のデータ反転回路が、前記第3のラッチ回路の出力とその反転信号を入力し、前記第1の反転フラグ信号を選択制御信号として入力し、前記第1の反転フラグ信号が反転を示す場合に、前記反転信号を出力する第1の選択回路よりなり、前記第2のデータ反転回路が、前記第6のラッチ回路の出力とその反転信号を入力し、前記第2の反転フラグ信号を選択制御信号として入力し、前記第2の反転フラグ信号が反転を示す場合に、前記反転信号を出力する第2の選択回路よりなる構成としてもよい。
【0025】
本発明において、好ましくは、半導体装置は、前記第1のデータ比較回路は、前記第1の経路のデータと前記第4のラッチ回路の出力を入力して一致を検出し、前記第2のデータ比較回路は、前記第1及び第2の経路のデータを入力して一致を検出する構成としてもよい。
【0026】
本発明において、好ましくは、半導体装置は、前記第1の反転フラグ生成回路が、前記第1の多数決回路からの前記第1の判定結果信号と、前記第2の反転フラグ生成回路からの前記第2の反転フラグとが一致するか判定する第1の比較回路と、前記第1の比較回路の出力を、前記サンプリング用の第2のクロック信号の第1、第2の遷移の一方の遷移で取り込み他方の遷移で出力する第7のラッチ回路と、を備え、前記第2の反転フラグ生成回路が、前記第2の多数決回路からの前記第2の判定結果信号を、前記サンプリング用の第2のクロック信号の第1、第2の遷移の他方の遷移でラッチ出力する第8のラッチ回路と、前記第1の反転フラグ生成回路からの前記第1の反転フラグと、前記第8のラッチ回路の出力とが一致するか判定する第2の比較回路と、前記第8の比較回路の出力を、前記サンプリング用の第2のクロック信号の第1、第2の遷移の一方の遷移で取り込み他方の遷移で出力する第9のラッチ回路と、を備えている構成としてもよい。
【0027】
本発明において、好ましくは、半導体装置は、前記第4のラッチ回路をリセットする手段を備えている構成としてもよい。また、本発明において、好ましくは、半導体装置は、前記第9のラッチ回路をリセットする手段を備えている構成としてもよい。
【0028】
本発明において、好ましくは、半導体装置は、前記サンプリング用の第1、2のクロック信号は、半導体装置外部より前記半導体装置に供給されるクロック信号より生成され、互いに同期している構成としてもよい。
【0029】
本発明において、好ましくは、半導体装置は、セルアレイからの読み出しデータを、クロック信号の立ち上がりと立ち下がりのエッジで出力するクロック同期型の半導体メモリを含み、前記半導体メモリのセルアレイからの読み出しデータをクロック信号の立ち上がりと立ち下がりのエッジで出力端子から出力する構成としてもよい。
【0030】
また、本発明の第4の視点によれば、以下のデータインバージョン回路が提供される。本発明に係るデータインバージョン回路は、N(Nは2以上の整数)ビットからなる並列データを出力するデータインバージョン回路において、前記並列データを出力の時間順に相隣るP(Pは2以上の整数)組ごとに分類し、第1乃至第Pの前記並列データのそれぞれに対して時間的に一つ前の出力対象となる並列データとの同一ビット位置の論理値を比較し、一致するか否かを論理値として出力する第1乃至第Pのデータ比較手段を、前記Nビットに対応してN組備え、前記N組の前記第p(pは1以上かつP以下の整数)のデータ比較手段から出力されるN個の論理値の中で不一致である個数が所定の数より大きいか否かを判定し、判定結果を論理値として出力する第pの多数判定手段をpが1からPに対応して備え、第p−1の反転フラグの出力論理値と前記第pの多数判定手段の出力論理値との一致を判定し、判定結果の論理値を第pの反転フラグとして出力する第pの反転フラグ生成手段をpが2からPに対応して備え、前記第Pの反転フラグ生成手段の出力論理値をデータ保持手段で保持した出力論理値と前記第1の多数判定手段の出力論理値との一致を判定し、判定結果の論理値を第1の反転フラグとして出力する第1の反転フラグ生成手段を備え、前記第1乃至第Pの反転フラグに応じて前記第1乃至第Pの前記並列データにおけるそれぞれのビット位置の論理値を反転する第1乃至第Pのデータ反転手段を、前記Nビットに対応してN組備え、前記第1乃至第Pの反転フラグを並列直列変換して時刻順に出力するフラグ出力手段を備え、前記第pのデータ反転手段の出力をpが1からPに対応して並列直列変換し、前記フラグ出力手段が出力する反転フラグの時刻順に同期して出力するデータ出力手段を、前記Nビットに対応してN組備えるように構成される。
【0031】
本発明において、好ましくは、データ比較手段、多数判定手段、反転フラグ生成手段、データ反転手段、フラグ出力手段及びデータ出力手段の少なくとも一つは、クロック信号に同期して動作し、クロック信号に同期したフラグ出力手段のデータ出力及びクロック信号に同期してデータ出力手段からデータを出力するように構成してもよい。
【0032】
本発明において、好ましくは、データ比較手段、多数判定手段、反転フラグ生成手段、データ反転手段、フラグ出力手段及びデータ出力手段の少なくとも一つは、クロック信号の立ち上がり及び立ち下がりに同期して動作し、クロック信号の立ち上がり及び立ち下がりに同期したフラグ出力手段のデータ出力並びにクロック信号の立ち上がり及び立ち下がりに同期してデータ出力手段からデータを出力するように構成してもよい。
【0033】
本発明において、好ましくは、フラグ出力手段から出力されるデータは、データ出力手段から出力されるデータがデータインバージョン回路に入力される元のデータの論理値を反転したもであるか否かの情報を有している。
【0034】
本発明において、好ましくは、Pは、2又は4とされる。また、本発明において、好ましくは、所定の数は、N/2あるいはその前後の整数値とされる。
【0035】
さらに、本発明に係るデータインバージョン回路を、読み出し系の回路に備えた半導体装置として具備してもよい。
【0036】
本発明において、好ましくは、半導体装置は、プリフェッチ動作により一度にメモリアレイから読み出された複数個のデータをクロック信号の立ち上がり側に対応するデータとクロック信号の立ち下がり側に対応するデータとに分離して入力し、Pは2である本発明のデータインバージョン回路を備えるように構成してもよい。
【0037】
【発明の実施の形態】
添付図面を参照して、本発明の実施の形態を以下に説明する。
【0038】
図1は、本発明の一実施の形態に係るデータインバージョン回路の構成を示すブロック図である。データインバージョン回路は、データ比較手段21、22、…2Pと、多数判定手段31、32、…3Pと、反転フラグ生成手段41、42、…4Pと、データ反転手段51、52、…5Pと、フラグ出力手段6と、データ出力手段7と、データ保持手段8とを備えている。この実施の形態では、Pは、2以上の整数である。
【0039】
なお、データ比較手段21、22、…2P、データ反転手段51、52、…5P、及びデータ出力手段7を構成するデータ読出し手段9は、N(Nは2以上の整数)ビットからなる並列データの所定の1ビット分に対応して存在する。
【0040】
並列データ供給手段1より出力されるNビットからなる並列データ10k(kは1〜Pを示す整数)は、データ反転手段5kに入力されると共に、データ比較手段2k及びデータ比較手段2(k+1)に供給される。ただし、並列データ10Pは、データ反転手段5Pに入力されると共に、データ比較手段2Pに供給される。また、並列データ100は、データ比較手段21に供給される。
【0041】
並列データ10kは、kが小さいものほど時間的に早くデータ出力手段7において出力されるものとし、並列データ100は、時間的に一つ前に対応するP組の並列データ中の並列データ10Pと同じ内容である。
【0042】
データ比較手段2kは、並列データ10kと並列データ10(k−1)との該当ビット位置の論理値同士を比較し、一致するか否かを論理値20kとして出力する。
【0043】
多数判定手段3kは、Nビット分の論理値20kを入力し、N個の論理値20kの中で不一致である個数が所定の数より大きいか否かを判定し、判定結果を論理値30kとして出力する。この場合、所定の数とは、例えばN/2あるいはその前後の整数値である。
【0044】
反転フラグ生成手段4kは、k−1番目の反転フラグ40(k−1)の出力論理値とk番目の多数判定手段3kから出力される論理値30kとの一致を判定し、判定結果の論理値をk番目の反転フラグ40kとして出力する。ただし、反転フラグ400は、データ保持手段8より出力され、データ保持手段8は、時間的に一つ前の反転フラグ生成手段4Pから出力される反転フラグ40Pを保持し、保持した内容を反転フラグ400として出力する。
【0045】
データ反転手段5kは、並列データ10kの該当ビットの論理値を反転フラグ40kに応じて反転(論理的否定)し、出力50kとして出力する。
【0046】
フラグ出力手段6は、反転フラグ40kを出力するものであって、例えば並列に入力される反転フラグ40kを時間順に並べ、図示されない所定のクロック信号に同期して一つの出力端子から出力するものである。
【0047】
データ出力手段7は、出力50kを出力するものであって、例えば並列に入力される出力50kを時間順に並べ、図示されない所定のクロック信号に同期して一つの出力端子から出力するものである。
【0048】
本発明の一実施の形態に係るデータインバージョン回路は、以上で説明したように構成されており、並列データ供給手段1より出力されるNビットからなる並列データ10kは、時間順に並べて一つ前のサイクルの並列データと比較され、全Nビットのうち、多数のビット、例えばN/2あるいはその前後の整数値以上が反転する場合には、当該サイクルの並列データの論理が反転されて出力され、データ出力手段7にて外部バス等に出力される際に反転されたデータのビット数がN/2あるいはその前後の整数値以下に抑えられ、出力回路の発生するノイズ及び消費電流が低減される。
【0049】
また、データ比較手段21、22、…2P、多数判定手段31、32、…3P、反転フラグ生成手段41、42、…4P、データ反転手段51、52、…5PがそれぞれP個づつ存在し、それぞれが一つのサイクル内で並列的に動作する。このため動作周波数が高くなっても安定的に動作するデータインバージョン回路を実現する際のタイミング設計が容易となる。
【0050】
さらに、反転フラグ40kを生成するにあたって、本発明の一実施の形態に係るデータインバージョン回路は、該当サイクルの一つ前の実際にデータインバージョン回路から出力されるデータと、該当サイクルの並列データとを比較し、多数判定をした結果から反転フラグ40kを生成せずに、反転フラグ生成手段41、42、…4Pと、該当サイクルの一つ前の反転フラグ生成手段4Pとの出力から反転フラグ401、402、…40Pを算出している。このため動作周波数が高くなっても安定的に動作するデータインバージョン回路を実現する際のタイミング設計が容易となる。
【0051】
【実施例】
次に、さらに詳細に説明すべく、P=2とP=4の場合について本発明を適用した一実施例に即して説明する。以下で説明する信号名において、信号XYZ_Bのように_Bの付けられた信号名は、信号XYZの反転信号(相補信号)を意味する。また、端子名/Aは、端子名Aの反転(相補)信号を表す入力又は出力端子を意味する。
【0052】
[実施例1]
図2は、本発明の第1の実施例に係るデータインバージョン回路の構成を示すブロック図であって、P=2の場合に該当する。第1の実施例に係るデータインバージョン回路は、メインアンプ11、12、13、14と、並列直列変換回路15と、バスドライバ16、17と、レイテンシラッチ回路18と、データ比較回路211、212と、多数決回路311、312と、反転フラグ生成回路40と、データ反転回路511、512と、並列直列変換回路61、71と、出力バッファ回路62、72と、出力ピン63、73とを備えている。
【0053】
なお、メインアンプ11、12、13、14、並列直列変換回路15、バスドライバ16、17、レイテンシラッチ回路18、データ比較回路211、212、データ反転回路511、512、並列直列変換回路71、出力バッファ回路72、出力ピン73を構成するデータ読出し部90は、N(Nは2以上の整数)ビットからなる並列データの所定の1ビット分に対応して存在する。
【0054】
プリフェッチ動作等によってメモリアレイ(図示されない)から一度に読み出された4個のデータは、それぞれメインアンプ11、12、13、14で増幅され、MAQ0、MAQ1、MAQ2、MAQ3の各信号として出力される。並列直列変換回路15は、例えば信号MAQ0、MAQ2をクロック信号(図示されない)の立ち上がり側に対応するデータMAQRに並列直列変換し、例えば信号MAQ1、MAQ3をクロック信号の立ち下がり側に対応するデータMAQFに並列直列変換する。バスドライバ16、17は、データMAQR、データMAQFをそれぞれデータ信号DATAR_B、データ信号DATAF_Bとして送出する。
【0055】
データ信号DATAR_B及びデータ信号DATAF_Bは、レイテンシラッチ回路18及びデータ比較回路211、212に送られる。レイテンシラッチ回路18は、データ信号DATAR_Bを遅延し、データ反転回路511に所定のタイミングでデータ信号DATAR3を出力する。また、レイテンシラッチ回路18は、データ信号DATAF_Bを遅延し、データ比較回路211に所定のタイミングでデータ信号DATAF2_Bを出力し、データ反転回路512に所定のタイミングでデータ信号DATAF3を出力する。
【0056】
データ比較回路211は、当該サイクルの立ち上がり側のデータ信号DATAR_Bと、レイテンシラッチ回路18から出力される前サイクルの立ち下がり側のデータ信号DATAF2_Bとを比較(排他的論理和)し、立ち上がり側の比較信号INVRを出力する。また、データ比較回路212は、当該サイクルの立ち下がり側のデータ信号DATAF_Bと、当該サイクルの立ち上がり側のデータ信号DATAR_Bとを比較して立ち下がり側の比較信号INVFを出力する。
【0057】
比較信号INVR、INVFの意味するところは、データの切替えがあるか否かであり、データの切替えがある場合、比較信号INVR、INVFにはハイレベルが出力される。
【0058】
N本分の比較信号INVRは、立ち上がり側に対応する多数決回路311に入力され、N本分の比較信号INVFは、立ち下がり側に対応する多数決回路312に入力される。多数決回路311は、半数以上の入力データが切替っているか否か、すなわちハイレベルである比較信号INVRの数がN/2以上であるか否かを判定し、判定結果に応じた多数決判定信号DATAINVRを出力する。また、多数決回路312は、半数以上の入力データが切替っているか否か、すなわちハイレベルである比較信号INVFの数がN/2以上であるか否かを判定し、判定結果に応じた多数決判定信号DATAINVFを出力する。半数以上のデータが切替っている場合、多数決判定信号DATAINVR、DATAINVFは、それぞれハイレベルとなる。さらに、多数決判定信号DATAINVR、DATAINVFは、反転フラグ生成回路40に送られる。
【0059】
反転フラグ生成回路40において、立ち上がり側の反転フラグ信号DINVRは、当該サイクルの立ち上がり側の多数決判定信号DATAINVRと、前サイクルの立ち下がり側の反転フラグ信号DINVFとを演算処理(例えば排他的論理和)して生成される。また、立ち下がり側の反転フラグ信号DINVFは、当該サイクルの立ち下がり側の多数決判定信号DATAINVFと当該サイクルの立ち上がり側の反転フラグ信号DINVRとを演算処理(例えば排他的論理和)して生成される。
【0060】
上記において、多数決判定信号DATAINVR、DATAINVFと、反転フラグ信号DINVR、DINVFとの演算(例えば排他的論理和)を行っているのは、データ比較の対象としているデータが内部データバスのデータであって、実際に出力ピン73から外部に出力されるデータとは異なるからである。例えば、多数決回路311、312で半数以上のデータが切替っているという判定が連続した場合では、後のデータは、実際にピンから出力するときには、反転せずに出力されなければならないこととなる。
【0061】
一方、反転フラグ信号DINVRは、データ反転回路511に送られ、反転フラグ信号DINVFは、データ反転回路512に送られる。データ反転回路511は、反転フラグ信号DINVRがハイレベルの場合すなわち半数以上のデータが切替っている場合には、データ信号DATAR3のデータを反転し、反転フラグ信号DINVRがローレベルの場合すなわち半数未満のデータが切替っている場合には、データ信号DATAR3のデータを反転せずに、出力データ信号DORとして並列直列変換回路71に送る。
【0062】
また、データ反転回路512は、反転フラグ信号DINVFがハイレベルの場合すなわち半数以上のデータが切替っている場合には、データ信号DATAF3のデータを反転し、反転フラグ信号DINVFがローレベルの場合すなわち半数未満のデータが切替っている場合には、データ信号DATAR3のデータを反転せずに、出力データ信号DOFとして並列直列変換回路71に送る。なお、上に述べた出力データを反転する回路としては、排他的論理和回路を用いることができる。
【0063】
並列直列変換回路71は、立ち上がりデータに対応する出力データ信号DORと立ち下がりデータに対応する出力データ信号DOFとを並列直列変換して、時間順に出力バッファ回路72に信号DOとして送出する。出力バッファ回路72は、信号DOを増幅して出力ピン73より信号DQj(j=1〜N)として出力する。
【0064】
他方、反転フラグ信号DINVR、DINVFは、直列並列変換回路61に送られ、並列直列変換され、時間順に出力バッファ回路62に信号DINVとして送出される。出力バッファ回路62は、信号DINVを増幅して出力ピン63より信号DQMとして出力する。なお、信号DINVは、対応する信号DOに同期して出力されている。
【0065】
次に、以上説明した第1の実施例における主要部分であるレイテンシラッチ回路18、データ比較回路211、212、反転フラグ生成回路40、データ反転回路511、512について詳細に説明する。図3は、本発明の第1の実施例に係る主要部分の回路ブロック図である。また、図4は、図3中の回路シンボルの等価回路を示す図である。
【0066】
図3において、1801、1802、1804、1811、2111、2112、2121、2122、4001、4004、4005、4007、4011、4012、5111、5121は、インバータ回路である。1807は、NAND回路である。4009は、NOR回路である。2113、2123、4002、4008、5112、5122は、選択回路であって、その等価回路は、図4(A)に示される。
【0067】
また、1805、4003、4010は、エッジトリガ型のDフリップフロップ回路であって、その等価回路は、図4(B)に示される。1808は、Dフリップフロップ回路であって、その等価回路は、図4(C)に示される。1803、1806、1809、1810、4006は、否定論理を出力するDフリップフロップ回路であって、その等価回路は、図4(D)に示される。
【0068】
信号QCLKFF、QCLKFF_Bは、互いに逆相のクロック信号である。また、信号QCLKDINV、QCLKDINV_Bは、互いに逆相のクロック信号である。これらのクロック信号は、データインバージョン回路の外部より供給される図示されないクロック信号(CLK)に同期している。
【0069】
信号RSTQ_Bは、リセット信号であって、レイテンシラッチ回路18を初期化する信号である。また、信号RSTDINVは、リセット信号であって、反転フラグ生成回路40を初期化する信号である。
【0070】
インバータ回路2111、2112、2121、2122、4001、4005、4007、4012、5111、5121は、それぞれの接続先において必要となる反転信号を生成する。
【0071】
次に、図2及び図3における信号の動作を説明する。図5は、図2及び図3における信号の動作のタイムチャートを示す図である。
【0072】
図示されない回路により、クロック信号(CLK)の立ち上がりのT0のタイミングで読出しの指示(COMMANDがREAD)を受けると、メインアンプ11、12、13、14は、遅延した4ビットのデータ(それぞれQ0、Q1、Q2、Q3)を信号MAQ0、MAQ1、MAQ2、MAQ3として出力する。次に信号MAQ0、MAQ2は、並列直列変換回路15、バスドライバ16を介して、時間順に並べられ、信号DATAR_Bとして出力される。また、信号MAQ1、MAQ3は、並列直列変換回路15、バスドライバ17を介して、時間順に並べられ、信号DATAF_Bとして出力される。
【0073】
CLKのT2のタイミングで、データQ0が信号DATAR_Bに出力され、データQ1が信号DATAF_Bに出力される。また、CLKのT3のタイミングで、データQ2が信号DATAR_Bに出力され、データQ3が信号DATAF_Bに出力される。ただし、信号DATAR_Bは、CLKのT2のタイミングの前において、データQ−1(初期状態)が出力されているものとする。
【0074】
信号DATAR_Bは、レイテンシラッチ回路18、データ比較回路211及びデータ比較回路212に入力され、信号DATAF_Bは、レイテンシラッチ回路18及びデータ比較回路212に入力される。レイテンシラッチ回路18に入力された信号DATAR_Bは、Dフリップフロップ回路1803、インバータ回路1804、エッジトリガ型のDフリップフロップ回路1805を介して、約1.5クロック分遅延させられ、信号DATAR3としてデータ反転回路511に入力される。
【0075】
レイテンシラッチ回路18に入力された信号DATAF_Bは、Dフリップフロップ回路1806、NAND回路1808、Dフリップフロップ回路1808を介して、約1クロック分遅延した信号DATAF2_Bとして出力されると共に、さらにDフリップフロップ回路1809、Dフリップフロップ回路1810、インバータ回路1811を介して、約2クロック分遅延させられ、信号DATAF3としてデータ反転回路512に入力される。NAND回路1808にローレベルの信号RSTQ_Bが入力される場合には、Dフリップフロップ回路1808、Dフリップフロップ回路1809、Dフリップフロップ回路1810が初期化される。
【0076】
一方、データ比較回路211に入力された信号DATAR_Bと信号DATAF2_Bとは、データ比較回路211に入力され、インバータ回路2111、インバータ回路2112及び選択回路2113による排他的論理和演算がなされ、データ比較が行われる。
【0077】
すなわち、信号DATAR_Bが選択回路2113の端子Sに、信号DATAR_Bをインバータ回路2111により反転(論理否定)した信号が選択回路2113の端子/Sに、信号DATAF2_Bが選択回路2113の端子Aに、信号DATAF2_Bをインバータ回路2112により反転(論理否定)した信号が選択回路2113の端子Bに入力されることで、論理式
/Y=DATAF2_B・/DATAR_B+/DATAF2_B・DATAR_B
の排他的論理和の演算が行われ、信号DATAF2_Bと信号DATAR_Bとのデータ比較がなされ、その比較結果が選択回路2113の端子/Yに出力される。すなわち、信号DATAF2_Bと信号DATAR_Bとの論理値が不一致であれば、端子/Yはハイレベルとなり、信号INVRとして出力される。ただし、/は否定、・は論理積、+は論理和を表す。
【0078】
データ比較の結果は、データ比較回路211から信号INVRとして、多数決回路311に入力される。
【0079】
他方、データ比較回路212に入力された信号DATAR_Bと信号DATAF_Bとは、データ比較回路212に入力され、インバータ回路2121、インバータ回路2122及び選択回路2123による排他的論理和演算がなされ、データ比較が行われる。先に説明した排他的論理和演算と同等の演算がなされ、データ比較の結果は、データ比較回路212から信号INVFとして、多数決回路312に入力される。
【0080】
N本分の比較信号INVRが立ち上がり側に対応する多数決回路311に入力され、N本分の比較信号INVFが立ち下がり側に対応する多数決回路312に入力される。多数決回路311は、半数以上の入力データが切替っているか否か、すなわちハイレベルである比較信号INVRの数がN/2以上であるか否かを判定し、N/2以上であれば多数決判定信号DATAINVRにハイレベルを出力する。また、多数決回路312は、半数以上の入力データが切替っているか否か、すなわちハイレベルである比較信号INVFの数がN/2以上であるか否かを判定し、N/2以上であれば多数決判定信号DATAINVFにハイレベルを出力する。なお、多数決回路311、312には、公知の多数決回路を用いることができる。
【0081】
多数決判定信号DATAINVRと反転フラグ信号DINVFとは、インバータ回路4001及び選択回路4002による排他的論理和演算がなされ、データ比較が行われる。先に説明した排他的論理和演算と同等の演算がなされ、データ比較の結果は、エッジトリガ型のDフリップフロップ回路4003、インバータ回路4004を介し、約1クロック分遅延されて、信号DINVRとして出力される。
【0082】
また、Dフリップフロップ回路4006により約0.5クロック分遅延された多数決判定信号DATAINVFと反転フラグ信号DINVRとは、インバータ回路4007及び選択回路4008による排他的論理和演算がなされ、データ比較が行われる。先に説明した排他的論理和演算と同等の演算がなされ、データ比較の結果は、NOR回路4009、エッジトリガ型のDフリップフロップ回路4010、インバータ回路4011を介し、約1クロック分遅延されて、信号DINVFとして出力される。なお、ハイレベルの信号RSTDINVがNOR回路4009に入力されると、エッジトリガ型のDフリップフロップ回路4010が初期化される。
【0083】
反転フラグ信号DINVRと信号DATAR3とは、データ反転回路511におけるインバータ回路5111及び選択回路5112による排他的論理和演算がなされ、反転フラグ信号DINVRがハイレベルのときに信号DATAR3の反転信号が信号DORとして出力される。すなわち、信号DATAR_BのデータQ0は、約2クロック遅延されて信号DORのデータQ0又は論理が反転したデータQ0として現れる。また同様に、信号DATAR_BのデータQ2は、約2クロック遅延されて信号DORのデータQ2又は論理が反転したデータQ2として現れる。
【0084】
また、反転フラグ信号DINVFと信号DATAF3とは、データ反転回路512におけるインバータ回路5121及び選択回路5122による排他的論理和演算がなされ、反転フラグ信号DINVFがハイレベルのときに信号DATAF3の反転信号が信号DOFとして出力される。すなわち、信号DATAF_BのデータQ1は、約2.5クロック遅延されて信号DOFのデータQ1又は論理が反転したデータQ1として現れる。また同様に、信号DATAF_BのデータQ3は、約2.5クロック遅延されて信号DOFのデータQ3又は論理が反転したデータQ3として現れる。
【0085】
信号DORのデータQ0、Q2と信号DOFのデータQ1、Q3とは、並列直列変換回路71により時間順に出力される直列データに並べられ、出力バッファ回路72により信号DQjとして出力ピン73から出力される。
【0086】
また、反転フラグ信号DINVRのQ0のフラグ、Q2のフラグと反転フラグ信号DINVFのデータQ1のフラグ、Q3のフラグとは、並列直列変換回路61により時間順に出力される直列データに並べられ、出力バッファ回路62により信号DQMとして出力ピン63から出力される。
【0087】
次に具体的な数値データの例を用いて、各信号の変化を説明する。図6は、本発明の第1の実施例に係るデータインバージョン回路における各信号のデータの変化の例を示す図である。
【0088】
具体的な例としてメモリから「11111111」、「00000000」、「11111111」、「00000000」の4つの8ビットからなるデータ(それぞれQ0、Q1、Q2、Q3)が順次連続して読み出される場合を考える。バスドライバ16、17から出力されるそれぞれの信号DATAR_B、DATAF_Bは、図2、3ではメモリからの読出しデータの反転信号であるが、以下の説明では明確化のために、非反転である信号DATAR、DATAFが出力されているものとする。
【0089】
データQ0、Q1を読み出すサイクルで、立ち上がり側の信号DATARの値「11111111」と立ち下がり側の信号DATAFの初期状態「00000000」とが比較(排他的倫理和)されると、8ビットすべてが切替っていることから、立ち上がり側の比較フラグ信号INVRとして「11111111」が出力される。また、立ち下がり側の信号DATAFの値「00000000」と立ち上がり側の信号DATARの値「11111111」とが比較されると、8ビットすべてが切替っていることから立ち下がり側の比較フラグ信号INVFとして「11111111」が出力される。8ビットが切替っていることから、多数決判定信号DATAINVR、DATAINVFは、両方共にハイレベル(High)となる。
【0090】
立ち上がり側の多数決判定信号DATAINVR(ハイレベル)と立ち下がり側データに対する反転フラグ信号DINVFの初期値(ローレベル)とが演算処理(排他的論理和)され、立ち上がり側のデータに対する反転フラグ信号DINVRにハイレベル(High)が出力される。立ち下がり側の多数決判定信号DATAINVF(ハイレベル)と立ち上がり側のデータに対する反転フラグ信号DINVR(ハイレベル)とが演算処理(排他的論理和)され、立ち下がり側データに対する反転フラグ信号DINVFにローレベル(Low)が出力される。
【0091】
立ち上がり側のデータに対する反転フラグ信号DINVRがハイレベルであることから、サイクルQ0におけるデータ「11111111」は、反転され、信号DQjに「00000000」として出力され、データを反転していることを示すフラグ信号(ハイレベル)がDQMから出力される。
【0092】
一方、立ち下がり側のデータに対する反転フラグ信号DINVFがローレベルであることから、サイクルQ1におけるデータ「00000000」は、反転されずに信号DQjに「00000000」として出力され、データを反転していないことを示すフラグ信号(ローレベル)が信号DQMとして出力される。
【0093】
同様にデータQ2、Q3を読み出すサイクルでは、立ち上がり側の信号DATARの値「11111111」と前サイクルの立ち下がり側の値「00000000」とが比較(排他的論理和)されると、8ビットすべてが切替っている。このため立ち上がり側の比較フラグ信号INVRとして「11111111」が出力される。また、立ち下がり側の信号DATAFの値「00000000」と立ち上がり側の信号DATARの値「11111111」とが比較されると、8ビットすべてが切替っている。このため立ち下がり側の比較フラグ信号INVFとして「11111111」が出力される。
【0094】
8ビットが切替っていることから、多数決判定信号DATAINVR、DATAINVFは、両方共にハイレベルとなる。立ち上がり側の多数決判定信号DATAINVR(ハイレベル)と前サイクルの立ち下がり側データに対する反転フラグ信号の値(ローレベル)とが演算処理(排他的論理和)され、立ち上がり側のデータに対する反転フラグ信号DINVRにハイレベルが出力される。立ち下がり側の多数決判定信号DATAINVF(ハイレベル)と立ち上がり側のデータに対する反転フラグ信号DINVR(ハイレベル)とが演算処理(排他的論理和)され、立ち下がり側のデータに対する反転フラグ信号DINVFにローレベルが出力される。
【0095】
立ち上がり側のデータに対する反転フラグ信号DINVRがハイレベルであることから、サイクルQ2のデータ「11111111」は反転され、信号DQjに「00000000」として出力され、データを反転していることを示すフラグ信号(ハイレベル)が信号DQMとして出力される。
【0096】
一方、立ち下がり側のデータに対する反転フラグ信号DINVFがローレベルであることから、サイクルQ3のデータ「00000000」は、反転せずにDQjから「00000000」として出力され、データを反転していないことを示すフラグ信号(ローレベル)が信号DQMとして出力される。
【0097】
以上の説明でデータ比較回路211、212は、データ比較において実際に出力ピン73から外部に出力されるデータではなく、内部の信号DATAR_B、DATAF_B、DATAF2_Bにおけるデータを入力している。このため多数決回路311、312の出力信号の結果と、実際にデータを反転すべきか否かの信号DINVR、DINVFとは、一致していないことになる。
【0098】
従って、判定フラグ生成回路40は、多数決回路311の出力信号と前サイクルの反転フラグ信号DINVFとの演算(排他的論理和)を行い、実際にデータを反転すべきか否かの信号DINVR、DINVFを得ている。
【0099】
本発明の第1の実施例に係るデータインバージョン回路は、以上で説明したように構成され、プリフェッチ動作等により一度にメモリアレイから読み出された4個のデータをクロック信号の立ち上がり側に対応するデータとクロック信号の立ち下がり側に対応するデータとに分割して、各々のデータに対して一つのクロックサイクル内で並列的に動作させる。このため動作周波数が高くなっても安定的に動作するデータインバージョン回路を実現する際のタイミング設計が容易となる。従って、DDR−SDRAM等に好適なデータインバージョン回路を提供することができる。
【0100】
[実施例2]
図7は、本発明の第2の実施例に係るデータインバージョン回路の構成を示すブロック図であって、P=4の場合に該当する。図7は、データインバージョン回路の主要部分であるデータ比較回路、多数決回路、反転フラグ生成回路のブロックの接続を示し、シリアルに4系統分を持つ場合の回路構成例である。
【0101】
排他的論理和回路213、214、215、216は、データ比較回路に相当し、N(Nは2以上の整数)ビットからなる並列データの所定の1ビット分に対応して存在する。また、排他的論理和回路413、414、415、416は、反転フラグ生成回路に相当する。さらに、Dフリップフロップ回路418は、排他的論理和回路416が出力した反転フラグ信号DINV3を、図示されないタイミング回路あるいはクロック回路から供給されるクロック信号Kにより保持する。Dフリップフロップ回路418の出力信号DINV3Dは、排他的論理和回路413に入力される。さらに、AND回路417は、リセット信号RSTをローレベルにすることによりDフリップフロップ回路418を初期化する。
【0102】
次にデータ信号の処理について説明する。シリアルに送出される4ビット分のプリフェッチされたデータが、データQ0、Q1、Q2、Q3として入力されるものとする。
【0103】
排他的論理和回路213は、初期状態(あるいは前サイクルのデータQ3)に相当するデータQ−1とデータQ0とを比較し、一致するか否かを論理値として比較フラグ信号INV0を出力する。また、排他的論理和回路214は、データQ0とデータQ1とを比較し、一致するか否かを論理値として比較フラグ信号INV1を出力する。さらに、排他的論理和回路215は、データQ1とデータQ2とを比較し、一致するか否かを論理値として比較フラグ信号INV2を出力する。また、排他的論理和回路216は、データQ2とデータQ3とを比較し、一致するか否かを論理値として比較フラグ信号INV3を出力する。
【0104】
Nビット分の比較フラグ信号INV0が多数決回路313に入力され、多数決回路313は、N個の論理値で不一致である個数が所定の数より大きいか否かを判定し、判定結果を論理値として多数決判定信号DTAINV0を出力する。この場合、所定の数とは、例えばN/2あるいはその前後の整数値である。以下の説明で所定の数は、同様の値である。
【0105】
Nビット分の比較フラグ信号INV1が多数決回路314に入力され、多数決回路314は、N個の論理値で不一致である個数が所定の数より大きいか否かを判定し、判定結果を論理値として多数決判定信号DTAINV1を出力する。また、Nビット分の比較フラグ信号INV2が多数決回路315に入力され、多数決回路315は、N個の論理値で不一致である個数が所定の数より大きいか否かを判定し、判定結果を論理値として多数決判定信号DTAINV2を出力する。さらに、Nビット分の比較フラグ信号INV3が多数決回路316に入力され、多数決回路316は、N個の論理値で不一致である個数が所定の数より大きいか否かを判定し、判定結果を論理値として多数決判定信号DTAINV3を出力する。
【0106】
排他的論理和回路413は、初期状態あるいは前サイクルに対する反転フラグ信号DINV3Dと多数決判定信号DTAINV0とを比較し、一致するか否かを論理値として反転フラグ信号DINV0を出力する。また、排他的論理和回路414は、反転フラグ信号DINV0と多数決判定信号DTAINV1とを比較し、一致するか否かを論理値として反転フラグ信号DINV1を出力する。
【0107】
排他的論理和回路415は、反転フラグ信号DINV1と多数決判定信号DTAINV2とを比較し、一致するか否かを論理値として反転フラグ信号DINV2を出力する。また、排他的論理和回路416は、反転フラグ信号DINV2と多数決判定信号DTAINV3とを比較し、一致するか否かを論理値として反転フラグ信号DINV3を出力する。なお、反転フラグ信号DINV3は、AND回路417を介してDフリップフロップ418に保持され、次サイクルの反転フラグ信号DINV3Dとして出力される。
【0108】
以上説明した回路構成の場合では、4つのデータが並列に処理されることから、データ反転判定は、クロック信号の2サイクルに対して1回で済むことになる。従って、クロック信号周波数が高くなっても安定的に動作するデータインバージョン回路を実現する際のタイミング設計が容易となる。
【0109】
以上、本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本願特許請求の範囲の各請求項の範囲内で、当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【0110】
【発明の効果】
以上説明したように、本発明によるデータインバージョン回路は、複数の系統の処理回路を持ち、データ反転の判定を並行して行うことによって、データインバージョン機能を実現する上でのタイミング設計が容易となる。また、本発明によるデータインバージョン回路を、ダブルデータレート機能を持つ半導体デバイス(DDR−SDRAMなど)に適用することによって、クロック信号の周波数が高速化しても、データインバージョン機能を実現する上でのタイミング設計が容易となる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るデータインバージョン回路の構成を示すブロック図である。
【図2】本発明の第1の実施例に係るデータインバージョン回路の構成を示すブロック図である。
【図3】本発明の第1の実施例に係る主要部分の回路ブロック図である。
【図4】図3中の回路シンボルの等価回路を示す図である。
【図5】図2及び図3における信号の動作のタイムチャートを示す図である。
【図6】本発明の第1の実施例に係るデータインバージョン回路における各信号のデータの変化の例を示す図である。
【図7】本発明の第2の実施例に係るデータインバージョン回路の構成を示すブロック図である。
【図8】従来のデータインバージョン回路の構成を示すブロック図である。
【符号の説明】
1 並列データ供給手段
6 フラグ出力手段
7 データ出力手段
8 データ保持手段
9 データ読出し手段
11、12、13、14 メインアンプ
15、61、71 並列直列変換回路
16、17 バスドライバ
18 レイテンシラッチ回路
21、21、…2P データ比較手段
31、32、…3P 多数判定手段
40 反転フラグ生成回路
41、42、…4P 反転フラグ生成手段
51、52、…5P データ反転手段
62、72 出力バッファ回路
63、73 出力ピン
90 データ読出し部
100、101、102、…10P 並列データ
201、202、…20P 論理値
211、212 データ比較回路
213、214、215、216、413、414、415、416 排他的論理和回路
301、302、…30P 論理値
311、312、313、314、315、316 多数決回路
401、402、…40P 反転フラグ
417 AND回路
418、1808 Dフリップフロップ回路
501、502、…50P 出力
511、512 データ反転回路
1801、1802、1804、1811、2111、2112、2121、2122、4001、4004、4005、4007、4011、4012、5111、5121 インバータ回路
1803、1806、1809、1810、4006 否定論理を出力するDフリップフロップ回路
1805、4003、4010 エッジトリガ型のDフリップフロップ回路
1807 NAND回路
2113、2123、4002、4008、5112、5122 選択回路
4009 NOR回路
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data inversion circuit for sequentially outputting multi-bit parallel data in time, and more particularly to a data inversion circuit suitable for a read-out circuit of a clock synchronous semiconductor device and a semiconductor device to which the circuit is applied. .
[0002]
[Prior art]
In a device that outputs multiple bits in parallel, noise generated at the time of data transition becomes a problem. This noise is remarkably generated particularly at the time of transition when the CMOS logic circuit is inverted, and at the same time, much power is consumed. A data inversion function is known as a technique for reducing the number of transitions when a logic circuit is inverted. The data inversion compares the data of the cycle with the output data of the previous cycle, and when many bits out of all N bits, for example, N / 2 bits or more, are inverted, the logic of the data in the cycle is inverted. This function is intended to reduce the number of bits of data actually output on an external bus to N / 2 bits or less, thereby reducing noise and current consumption.
[0003]
FIG. 8 is a block diagram showing a configuration of a conventional data inversion circuit. The data inversion circuit includes a data comparison circuit 210, a majority decision circuit and a data inversion flag generation circuit 310, a data inversion circuit 510, and a previous data holding circuit 810. The operation of the circuit having the data inversion function will be described below step by step.
[0004]
1. The data comparison circuit 210 compares the data 110 of the data bus with the data 820 of the previous cycle output from the previous data holding circuit 810 for each bit position. The comparison flag 220 is set (high level).
[0005]
2. The majority decision circuit and the data inversion flag generation circuit 310 count the number of the comparison flags 220 at the high level, and set the inversion flag 410 when the data 110 is switched at N / 2 or more bit positions. (To high level).
3. When the inversion flag 410 is on, the data inversion circuit 510 inverts the data 110 on the data bus and outputs it as output data 500.
[0006]
4. The previous data holding circuit 810 holds the output data 500 actually output.
[0007]
5. Steps 1 to 4 are repeated during burst reading.
[0008]
Note that the previous data holding circuit 810 is provided with a reset signal 830 for setting the previous data signal to an initial state (for example, low level) before starting reading.
[0009]
As described above, by operating the data inversion circuit shown in FIG. 8, the number of inverted data bits in the output data 500 is suppressed to N / 2 bits or less, and noise and current consumption generated by the output circuit are reduced. Can be reduced.
[0010]
In addition, the technique disclosed in Patent Document 1 compares (exclusive OR) read data of a corresponding cycle and read data of one cycle before by the number of bits (exclusive OR) in an LSI chip, and determines the majority of the number of changed values. If the number of changes (the number of bits inverted compared to the read data one cycle before) is large (N / 2 or more), an inverted flag signal (for example, low level) is output, and the output data is simultaneously output. To output the reversed-phase data. As a result, when the number of inverted bits is more than half, by outputting the opposite phase data, the number of inverted bits in the data output from the output buffer can be suppressed to less than half. In addition, a function is provided for notifying an external device whether the output data is inverted by simultaneously outputting a flag signal indicating inversion to the outside. Therefore, this technique has a basic circuit configuration of the data inversion function, and corresponds to the technical content of the conventional example.
[0011]
Further, the techniques disclosed in Patent Literature 2 and Patent Literature 3 have substantially the same problems, effects, and solutions as Patent Literature 1, and correspond to the technical content of the conventional example.
[0012]
[Patent Document 1]
JP-A-7-20973 (pages 2-4, FIG. 1)
[Patent Document 2]
JP-A-8-101813 (page 3, FIG. 1)
[Patent Document 3]
JP-A-10-198475 (page 4, FIG. 1)
[0013]
[Problems to be solved by the invention]
However, when the conventional data inversion technique is applied to a semiconductor device operating with a high-speed clock signal, for example, a double data rate synchronous dynamic random access memory (DDR-SDRAM) or the like, the following problems occur. There is.
[0014]
The DDR-SDRAM outputs data at both a rising edge and a falling edge of a clock signal in one cycle of a given clock signal. Therefore, in the case of the circuit configuration of FIG. 8, the determination of data inversion (from data comparison to generation of an inversion flag signal and inversion of data on the data bus) must be performed within a half cycle of the clock signal. For example, when the frequency of the clock signal is 300 MHz, the time that can be used to determine the data inversion is about 1.67 nS, and the standard specification of the high-level width and low-level width of the clock signal (period of the cycle) (45%), the minimum is 1.5 ns, which makes timing design extremely difficult.
[0015]
Accordingly, a main object of the present invention is to provide a circuit for implementing a data inversion function which can be applied to a semiconductor device or the like which outputs data twice at the rising and falling edges of a clock signal, and to use the data inversion circuit. To provide a semiconductor device that performs data inversion by using the same.
[0016]
[Means for Solving the Problems]
To achieve the above object, according to a first aspect, a semiconductor device according to a first aspect compares data of a certain cycle with output data of a previous cycle and determines a majority of data output from a plurality of output terminals. Is inverted, in a semiconductor device having a data inversion function of inverting and outputting the data of the cycle, a plurality of data in which the order of output from one output terminal among the data is defined are parallelized. A plurality of data comparison circuits for comparing data before and after in time corresponding to each of a plurality of paths to be transferred to the plurality of paths; And a plurality of majority circuits that take the form of a plurality of majority circuits, and invert the data from the plurality of output terminals based on the determination result in the plurality of majority circuits. A plurality of inversion flag generation circuit for generating a lag, the determination of the data inversion of multiple cycles and are configured to perform in parallel.
[0017]
In the present invention, preferably, the semiconductor device is configured such that the data comparison circuit, the majority circuit, the data defined by the rising edge of the double-rate clock signal, and the path through which the data defined by the falling edge are transferred. And a plurality of inversion flag generation circuits.
[0018]
Further, according to a second aspect of the present invention, in a semiconductor device, the semiconductor device has a plurality of data output terminals, and outputs one data output terminal via the one data output terminal. First to P-th ports that output first to P-th (P is a predetermined integer of 2 or more) bit data to be performed in parallel, and the first to P-th bit data are The data is output from one of the data output terminals in order, and includes the first to P-th data comparison circuits corresponding to the first to P-th ports. The data comparison circuit of (1 to P integer) compares the data of the (i-1) th port (however, when i is 1, the Pth port or the initial value) with the data of the ith port. i, and outputs the plurality of data of the semiconductor device. Depending on the terminal, the i-th comparison flag signal corresponding to the number of data output terminals is input corresponding to each of the data comparison circuits of the first to P-th ports, and whether the number of mismatches exceeds a majority A first to a P-th majority decision circuit to be determined; and the first to the P-th inversion flag generation circuits corresponding to the first to the P-th majority decision circuits, wherein an i-th (where i is 1 to 1) The inversion flag generation circuit of (P integer) outputs the inversion flag signal of the (i-1) th port (however, when i is 1, the Pth port or the initial value) and the determination result of the i-th majority circuit. In comparison, an i-th inversion flag signal is output, and when the i-th inversion flag signal indicates inversion, the data of the i-th port is inverted and output from the data output terminal. .
[0019]
In the present invention, preferably, in the semiconductor device, the data of the first to P-th ports for one data output terminal are arranged in the order of the first to P-th ports, and the data is serially converted and output. May be adopted.
[0020]
Further, according to a third aspect of the present invention, a semiconductor device includes a transition of a clock signal from a first logical value to a second logical value, and a transition from the second logical value to the first logical value. A first transition from a first logical value of the clock signal to a second logical value, and a second transition of the second logical value, in the semiconductor device outputting data twice from one data terminal in one clock cycle based on A first and a second data comparison circuit connected to first and second paths through which data respectively output at a second transition from a logical value to the first logical value is transferred; The first data comparison circuit may be configured to control the data at the first transition timing of the clock signal in the first path and the second data of the clock signal immediately before the first transition timing in the second path. The data at the transition timing By comparing and determining whether or not they match, it is determined whether or not data has been switched between the second transition and the first transition before the first transition, and the determination result is used as a first output signal. The second data comparison circuit outputs the data at the first transition timing of the clock signal on the first path and a second transition of the clock signal following the first transition. By comparing and determining whether or not the data at the timing coincides, it is determined whether or not data has switched between the first transition and the second transition following the first transition. 2 as output signals, and the first output signal group from the first data comparison circuit for the number of data terminals of the semiconductor device is input, and the majority of the data in the first output signal group is Switched A first majority circuit that outputs a first determination result signal and a second output signal group from the second data comparison circuits for the number of data output terminals of the semiconductor device. A second majority circuit that determines whether or not a majority of the data in the second output signal group has been switched, and outputs a second determination result signal; and a second majority circuit from the first majority circuit. A first inversion flag generation circuit for generating a first inversion flag from the determination result signal of the first clock signal and the value of the second inversion flag at least one transition before the clock signal; A second inversion flag generation circuit that generates a second inversion flag from the second determination result signal from the circuit and the value of the first inversion flag at least one transition before the clock signal; , Based on the value of the first inversion flag, When the first inversion flag indicates that the majority of the data has been switched, a first data inversion circuit that inverts and outputs the data of the first path and a value based on the second inversion flag are used. A second data inverting circuit that inverts and outputs the data of the second path when the first inversion flag indicates that the majority of the data has been switched, The inversion flag generation circuit is configured to output the first and second inversion flag signals from a control terminal of the semiconductor device as a flag indicating that the output data has been inverted.
[0021]
In the present invention, preferably, in the semiconductor device, the first and second data comparison circuits and the first and second data inversion circuits transfer data of the first and second paths to an output circuit. May be provided at a stage of a latch circuit section provided on a data bus to be provided.
[0022]
In the present invention, preferably, the semiconductor device comprises: a parallel / serial conversion circuit which inputs respective outputs from the first and second data inversion circuits in parallel, converts the parallel / serial data, and outputs the parallel / serial data; An output buffer circuit that inputs output data from the conversion circuit and outputs the output data from the output terminal may be provided.
[0023]
In the present invention, preferably, in the semiconductor device, the latch circuit section is connected to the first and second paths, and the first and second data are output in parallel to the first and second paths. And a second latch circuit for latching and outputting at the first and second transitions of the first clock signal for sampling, and an output of the first latch circuit for the first clock signal for sampling. A third latch circuit which takes in one of the first and second transitions of the clock signal and outputs it at the other transition; and an input of the output of the second latch circuit, the first clock for sampling. A fourth latch circuit that latches and outputs the one of the first and second transitions of the signal, an input of the output of the fourth latch circuit, and the first and second signals of the first clock signal for sampling. Latch out on one of the second transitions And a sixth latch circuit that receives an output of the fifth latch circuit, and latches and outputs the output at the other of the first and second transitions of the sampling clock signal. May be adopted.
[0024]
In the present invention, preferably, in the semiconductor device, the first data inverting circuit inputs an output of the third latch circuit and an inverted signal thereof, and inputs the first inverted flag signal as a selection control signal. A first selection circuit that outputs the inverted signal when the first inverted flag signal indicates inversion, and wherein the second data inversion circuit includes an output of the sixth latch circuit and an inverted signal thereof. And a second selection circuit that inputs the second inverted flag signal as a selection control signal and outputs the inverted signal when the second inverted flag signal indicates inversion. .
[0025]
In the present invention, preferably, in the semiconductor device, the first data comparison circuit inputs data of the first path and an output of the fourth latch circuit, detects a match, and outputs the second data. The comparison circuit may be configured to input the data of the first and second paths and detect a match.
[0026]
In the present invention, preferably, in the semiconductor device, the first inversion flag generation circuit outputs the first determination result signal from the first majority circuit and the second inversion flag generation circuit from the second inversion flag generation circuit. A first comparison circuit for determining whether the two inversion flags match, and an output of the first comparison circuit in response to one of the first and second transitions of the second clock signal for sampling. A seventh latch circuit that outputs the second determination result signal from the second majority circuit. The seventh latch circuit outputs the second determination result signal from the second majority circuit. An eighth latch circuit for latching and outputting at the other of the first and second transitions of the clock signal, the first inversion flag from the first inversion flag generation circuit, and the eighth latch circuit Judge whether the output of A second comparison circuit, and a ninth latch which takes in the output of the eighth comparison circuit at one of the first and second transitions of the second clock signal for sampling and outputs at the other transition And a circuit.
[0027]
In the present invention, preferably, the semiconductor device may be provided with means for resetting the fourth latch circuit. Further, in the present invention, preferably, the semiconductor device may be provided with means for resetting the ninth latch circuit.
[0028]
In the present invention, preferably, the semiconductor device may have a configuration in which the first and second clock signals for sampling are generated from a clock signal supplied to the semiconductor device from outside the semiconductor device and are synchronized with each other. .
[0029]
In the present invention, preferably, the semiconductor device includes a clock-synchronous semiconductor memory that outputs read data from a cell array at rising and falling edges of a clock signal, and clocks read data from the cell array of the semiconductor memory. A configuration may be adopted in which the signal is output from the output terminal at the rising and falling edges of the signal.
[0030]
According to a fourth aspect of the present invention, there is provided the following data inversion circuit. A data inversion circuit according to the present invention is a data inversion circuit for outputting parallel data composed of N (N is an integer of 2 or more) bits, wherein P (P is 2 or more) The logical values at the same bit position of the first to P-th parallel data and the parallel data to be output immediately before are compared for each of the first to P-th parallel data. N sets of first to P-th data comparing means for outputting whether or not the data are logical values are provided in correspondence with the N bits, and the N sets of the p-th (p is an integer of 1 or more and P or less) It is determined whether or not the number of mismatches among the N logical values output from the data comparing means is greater than a predetermined number, and the p-th majority determining means that outputs the determination result as a logical value is 1 To P, the p-1 inversion The p-th inversion flag generation means for judging the coincidence between the output logic value of the lag and the output logic value of the p-th majority judgment means and outputting the logical value of the judgment result as the p-th inversion flag is from p = 2. P, the output logic value of the P-th inversion flag generating means is determined by a data holding means to determine a match between the output logical value held by the data holding means and the output logical value of the first majority determining means. A first inversion flag generating means for outputting the logical value of the first as a first inversion flag, and in accordance with the first to P-th inversion flags, each bit position in the first to P-th parallel data is N sets of first to P-th data inversion means for inverting a logical value are provided corresponding to the N bits, and flag output means for converting the first to P-th inversion flags from parallel to serial and outputting them in time order is provided. The p-th data inversion N sets of data output means corresponding to the N bits are provided, which perform parallel-to-serial conversion of the output of the stage corresponding to p from 1 to P, and output in synchronization with the time of the inversion flag output by the flag output means. It is configured as follows.
[0031]
In the present invention, preferably, at least one of the data comparing unit, the majority determining unit, the inversion flag generating unit, the data inverting unit, the flag output unit and the data output unit operates in synchronization with the clock signal, and synchronizes with the clock signal. The data output unit may output data in synchronization with the data output of the flag output unit and the clock signal.
[0032]
In the present invention, preferably, at least one of the data comparison means, the majority judgment means, the inversion flag generation means, the data inversion means, the flag output means and the data output means operates in synchronization with the rise and fall of the clock signal. The data output of the flag output means synchronized with the rising and falling edges of the clock signal and the data output means may be configured to output the data in synchronization with the rising and falling edges of the clock signal.
[0033]
In the present invention, it is preferable that the data output from the flag output means is the data output from the data output means inverted from the logical value of the original data input to the data inversion circuit. Have information.
[0034]
In the present invention, P is preferably 2 or 4. Also, in the present invention, preferably, the predetermined number is N / 2 or an integer value before and after N / 2.
[0035]
Further, the data inversion circuit according to the present invention may be provided as a semiconductor device provided in a readout circuit.
[0036]
In the present invention, preferably, the semiconductor device converts a plurality of data read from the memory array at a time by the prefetch operation into data corresponding to the rising side of the clock signal and data corresponding to the falling side of the clock signal. It may be configured to include a data inversion circuit of the present invention in which inputs are separated and P is 2.
[0037]
BEST MODE FOR CARRYING OUT THE INVENTION
Embodiments of the present invention will be described below with reference to the accompanying drawings.
[0038]
FIG. 1 is a block diagram showing a configuration of a data inversion circuit according to one embodiment of the present invention. The data inversion circuit includes data comparison means 21, 22,... 2P, majority determination means 31, 32,... 3P, inversion flag generation means 41, 42,. , A flag output unit 6, a data output unit 7, and a data holding unit 8. In this embodiment, P is an integer of 2 or more.
[0039]
2P, the data inverting means 51, 52,... 5P, and the data reading means 9 constituting the data output means 7 are composed of N (N is an integer of 2 or more) parallel data. Exists in correspondence with a predetermined one bit.
[0040]
N-bit parallel data 10k (k is an integer indicating 1 to P) output from the parallel data supply unit 1 is input to the data inversion unit 5k, and is also compared with the data comparison unit 2k and the data comparison unit 2 (k + 1). Supplied to However, the parallel data 10P is input to the data inversion means 5P and is also supplied to the data comparison means 2P. The parallel data 100 is supplied to the data comparing unit 21.
[0041]
It is assumed that the smaller the k is, the earlier the parallel data 10k is output by the data output means 7 in time, and the parallel data 100 is the same as the parallel data 10P in the P set of parallel data corresponding to the immediately preceding one. The content is the same.
[0042]
The data comparison means 2k compares the logical values of the corresponding bit positions of the parallel data 10k and the parallel data 10 (k-1), and outputs whether or not they match as a logical value 20k.
[0043]
The majority determination unit 3k inputs the logical value 20k for N bits, determines whether the number of mismatches among the N logical values 20k is larger than a predetermined number, and sets the determination result as the logical value 30k. Output. In this case, the predetermined number is, for example, N / 2 or an integer before and after N / 2.
[0044]
The inversion flag generation unit 4k determines whether the output logical value of the (k-1) th inversion flag 40 (k-1) matches the logical value 30k output from the k-th majority determination unit 3k, and determines the logic of the determination result. The value is output as the k-th inversion flag 40k. However, the inversion flag 400 is output from the data holding unit 8, and the data holding unit 8 holds the inversion flag 40P output from the immediately preceding inversion flag generation unit 4P, and stores the held content in the inversion flag. Output as 400.
[0045]
The data inversion means 5k inverts (logically negates) the logical value of the corresponding bit of the parallel data 10k according to the inversion flag 40k, and outputs it as an output 50k.
[0046]
The flag output means 6 outputs the inversion flag 40k. For example, the inversion flags 40k input in parallel are arranged in chronological order and output from one output terminal in synchronization with a predetermined clock signal (not shown). is there.
[0047]
The data output means 7 outputs the output 50k. For example, the data output means 7 arranges the outputs 50k input in parallel in time order and outputs them from one output terminal in synchronization with a predetermined clock signal (not shown).
[0048]
The data inversion circuit according to one embodiment of the present invention is configured as described above, and the parallel data 10k composed of N bits output from the parallel data supply means 1 is arranged one by one in chronological order. Is compared with the parallel data of the cycle, and if a large number of bits out of all N bits, for example, N / 2 or an integer greater than or equal to N / 2, are inverted, the logic of the parallel data in the cycle is inverted and output. The number of bits of data inverted when output to an external bus or the like by the data output means 7 is suppressed to N / 2 or an integer value before or after N / 2, thereby reducing noise and current consumption generated by the output circuit. You.
[0049]
.. 2P, a large number of determination means 31, 32,... 3P, inversion flag generation means 41,,... 4P, and data inversion means 51, 52,. Each operates in parallel within one cycle. This facilitates the timing design when implementing a data inversion circuit that operates stably even when the operating frequency increases.
[0050]
Further, when generating the inversion flag 40k, the data inversion circuit according to one embodiment of the present invention includes the data actually output from the data inversion circuit immediately before the corresponding cycle and the parallel data of the corresponding cycle. .. 4P and the inversion flag generation unit 4P before the corresponding cycle and the inversion flag generation unit 4P before the inversion flag generation unit 4P. 40P are calculated. This facilitates the timing design when implementing a data inversion circuit that operates stably even when the operating frequency increases.
[0051]
【Example】
Next, in order to describe in more detail, a case where P = 2 and P = 4 will be described in accordance with an embodiment to which the present invention is applied. In the signal names described below, a signal name with _B attached like a signal XYZ_B means an inverted signal (complementary signal) of the signal XYZ. Further, the terminal name / A means an input or output terminal representing an inverted (complementary) signal of the terminal name A.
[0052]
[Example 1]
FIG. 2 is a block diagram showing the configuration of the data inversion circuit according to the first embodiment of the present invention, which corresponds to the case where P = 2. The data inversion circuit according to the first embodiment includes main amplifiers 11, 12, 13, and 14, a parallel-to-serial conversion circuit 15, bus drivers 16 and 17, a latency latch circuit 18, and data comparison circuits 211 and 212. , Majority circuits 311, 312, an inversion flag generation circuit 40, data inversion circuits 511, 512, parallel / serial conversion circuits 61, 71, output buffer circuits 62, 72, and output pins 63, 73. I have.
[0053]
The main amplifiers 11, 12, 13, and 14, the parallel-to-serial conversion circuit 15, the bus drivers 16 and 17, the latency latch circuit 18, the data comparison circuits 211 and 212, the data inversion circuits 511 and 512, the parallel-serial conversion circuit 71, and the output The data read section 90 constituting the buffer circuit 72 and the output pin 73 is provided corresponding to a predetermined bit of parallel data composed of N (N is an integer of 2 or more) bits.
[0054]
Four data read at once from a memory array (not shown) by a prefetch operation or the like are amplified by main amplifiers 11, 12, 13, and 14, respectively, and output as signals of MAQ0, MAQ1, MAQ2, and MAQ3. You. The parallel-to-serial conversion circuit 15 performs parallel-to-serial conversion of the signals MAQ0 and MAQ2 into data MAQR corresponding to the rising side of a clock signal (not shown), and converts the signals MAQ1 and MAQ3 into data MAQF corresponding to the falling side of the clock signal, for example. To parallel-serial conversion. The bus drivers 16 and 17 transmit the data MAQR and the data MAQF as a data signal DATAR_B and a data signal DATAF_B, respectively.
[0055]
The data signal DATAR_B and the data signal DATAF_B are sent to the latency latch circuit 18 and the data comparison circuits 211 and 212. Latency latch circuit 18 delays data signal DATAR_B and outputs data signal DATAR3 to data inverting circuit 511 at a predetermined timing. In addition, the latency latch circuit 18 delays the data signal DATAF_B, outputs the data signal DATAF2_B to the data comparison circuit 211 at a predetermined timing, and outputs the data signal DATAF3 to the data inversion circuit 512 at a predetermined timing.
[0056]
The data comparison circuit 211 compares the data signal DATAR_B on the rising side of the cycle with the data signal DATAF2_B on the falling side of the previous cycle output from the latency latch circuit 18 (exclusive OR), and compares the data on the rising side. The signal INVR is output. Further, the data comparison circuit 212 compares the falling data signal DATAF_B of the cycle with the rising data signal DATAR_B of the cycle to output a falling comparison signal INVF.
[0057]
The meaning of the comparison signals INVR and INVF is whether or not there is data switching. When there is data switching, a high level is output to the comparison signals INVR and INVF.
[0058]
The N comparison signals INVR are input to the majority circuit 311 corresponding to the rising side, and the N comparison signals INVF are input to the majority circuit 312 corresponding to the falling side. The majority decision circuit 311 determines whether or not half or more of the input data is switched, that is, whether or not the number of the high-level comparison signals INVR is equal to or more than N / 2, and determines a majority decision signal according to the determination result. Outputs DATAINVR. The majority decision circuit 312 determines whether or not more than half of the input data is switched, that is, whether or not the number of the high-level comparison signals INVF is greater than or equal to N / 2. It outputs the determination signal DATAINVF. When more than half of the data is switched, the majority decision signals DATAINVR and DATAINVF are each at a high level. Further, the majority decision signals DATAINVR and DATAINVF are sent to the inversion flag generation circuit 40.
[0059]
In the inversion flag generation circuit 40, the inversion flag signal DINVR on the rising side is an arithmetic processing (eg, exclusive OR) of the majority decision signal DATAINVR on the rising side in the cycle and the inversion flag signal DINVF on the falling side in the previous cycle. Generated. The inverted flag signal DINVF on the falling side is generated by performing arithmetic processing (for example, exclusive OR) on the majority decision signal DATAINVF on the falling side of the cycle and the inverted flag signal DINVR on the rising side of the cycle. .
[0060]
In the above, the operation (for example, exclusive OR) of the majority decision signals DATAINVR and DATAINVF and the inverted flag signals DINVR and DINVF is performed on the data of the internal data bus as the data to be compared. This is because the data is different from the data actually output from the output pin 73 to the outside. For example, if the majority circuits 311 and 312 continue to determine that more than half of the data has been switched, the subsequent data must be output without inversion when actually output from the pins. .
[0061]
On the other hand, the inverted flag signal DINVR is sent to the data inverting circuit 511, and the inverted flag signal DINVF is sent to the data inverting circuit 512. The data inversion circuit 511 inverts the data of the data signal DATAR3 when the inversion flag signal DINVR is at the high level, that is, when half or more of the data are switched, and when the inversion flag signal DINVR is at the low level, that is, less than half. Is switched, the data of the data signal DATAR3 is sent to the parallel-to-serial conversion circuit 71 as the output data signal DOR without being inverted.
[0062]
The data inversion circuit 512 inverts the data of the data signal DATAF3 when the inversion flag signal DINVF is at the high level, that is, when half or more of the data are switched, and when the inversion flag signal DINVF is at the low level, If less than half of the data has been switched, the data of the data signal DATAR3 is sent to the parallel-to-serial conversion circuit 71 as an output data signal DOF without inversion. Note that an exclusive OR circuit can be used as a circuit for inverting the output data described above.
[0063]
The parallel-to-serial conversion circuit 71 converts the output data signal DOR corresponding to the rising data and the output data signal DOF corresponding to the falling data from parallel to serial, and sends them to the output buffer circuit 72 in time order as the signal DO. The output buffer circuit 72 amplifies the signal DO and outputs it from the output pin 73 as a signal DQj (j = 1 to N).
[0064]
On the other hand, the inversion flag signals DINVR and DINVF are sent to the serial / parallel conversion circuit 61, where they are converted into parallel / serial, and sent out to the output buffer circuit 62 in time order as the signal DINV. The output buffer circuit 62 amplifies the signal DINV and outputs it from the output pin 63 as a signal DQM. Note that the signal DINV is output in synchronization with the corresponding signal DO.
[0065]
Next, the latency latch circuit 18, the data comparison circuits 211 and 212, the inversion flag generation circuit 40, and the data inversion circuits 511 and 512, which are main parts in the first embodiment described above, will be described in detail. FIG. 3 is a circuit block diagram of a main part according to the first embodiment of the present invention. FIG. 4 is a diagram showing an equivalent circuit of the circuit symbol in FIG.
[0066]
In FIG. 3, reference numerals 1801, 1802, 1804, 1811, 2111, 2112, 2121, 2122, 4001, 4004, 4005, 4007, 4011, 4012, 5111, and 5121 denote inverter circuits. Reference numeral 1807 denotes a NAND circuit. 4009 is a NOR circuit. Reference numerals 2113, 2123, 4002, 4008, 5112, and 5122 denote selection circuits, the equivalent circuits of which are shown in FIG.
[0067]
Reference numerals 1805, 4003, and 4010 denote edge-triggered D flip-flop circuits, the equivalent circuits of which are shown in FIG. Reference numeral 1808 denotes a D flip-flop circuit, an equivalent circuit of which is shown in FIG. Reference numerals 1803, 1806, 1809, 1810, and 4006 denote D flip-flop circuits which output a NOT logic, and an equivalent circuit thereof is shown in FIG.
[0068]
The signals QCLKFF and QCLKFF_B are clock signals having phases opposite to each other. The signals QCLKDINV and QCLKDINV_B are clock signals having phases opposite to each other. These clock signals are synchronized with a clock signal (CLK) (not shown) supplied from outside the data inversion circuit.
[0069]
The signal RSTQ_B is a reset signal for initializing the latency latch circuit 18. The signal RSTDINV is a reset signal for initializing the inversion flag generation circuit 40.
[0070]
Each of the inverter circuits 2111, 2112, 2121, 2122, 4001, 4005, 4007, 4012, 5111, and 5121 generates an inversion signal required at each connection destination.
[0071]
Next, the operation of the signals in FIGS. 2 and 3 will be described. FIG. 5 is a diagram showing a time chart of the operation of the signals in FIG. 2 and FIG.
[0072]
When a read instruction (COMMAND is READ) is received at the timing T0 of the rising edge of the clock signal (CLK) by a circuit (not shown), the main amplifiers 11, 12, 13, and 14 delay the 4-bit data (Q0, Q0, respectively). Q1, Q2, and Q3) are output as signals MAQ0, MAQ1, MAQ2, and MAQ3. Next, the signals MAQ0 and MAQ2 are arranged in chronological order via the parallel / serial conversion circuit 15 and the bus driver 16, and are output as the signal DATAR_B. The signals MAQ1 and MAQ3 are arranged in chronological order via the parallel / serial conversion circuit 15 and the bus driver 17, and are output as a signal DATAF_B.
[0073]
At timing T2 of CLK, data Q0 is output to signal DATAR_B, and data Q1 is output to signal DATAF_B. Further, at the timing of T3 of CLK, the data Q2 is output to the signal DATAR_B and the data Q3 is output to the signal DATAF_B. It is assumed that data Q-1 (initial state) is output from the signal DATAR_B before the timing of T2 of CLK.
[0074]
The signal DATAR_B is input to the latency latch circuit 18, the data comparison circuit 211, and the data comparison circuit 212, and the signal DATAF_B is input to the latency latch circuit 18 and the data comparison circuit 212. The signal DATAR_B input to the latency latch circuit 18 is delayed by about 1.5 clocks via a D flip-flop circuit 1803, an inverter circuit 1804, and an edge trigger type D flip-flop circuit 1805, and the data is inverted as a signal DATAR3. The signal is input to the circuit 511.
[0075]
The signal DATAF_B input to the latency latch circuit 18 is output as a signal DATAF2_B delayed by about one clock through a D flip-flop circuit 1806, a NAND circuit 1808, and a D flip-flop circuit 1808, and furthermore, a D flip-flop circuit The signal is delayed by about 2 clocks via 1809, a D flip-flop circuit 1810, and an inverter circuit 1811 and input to the data inversion circuit 512 as a signal DATAF3. When the low-level signal RSTQ_B is input to the NAND circuit 1808, the D flip-flop circuit 1808, the D flip-flop circuit 1809, and the D flip-flop circuit 1810 are initialized.
[0076]
On the other hand, the signal DATAR_B and the signal DATAF2_B input to the data comparison circuit 211 are input to the data comparison circuit 211, and an exclusive OR operation is performed by the inverter circuit 2111, the inverter circuit 2112, and the selection circuit 2113, and the data comparison is performed. Be done.
[0077]
That is, the signal DATAR_B is supplied to the terminal S of the selection circuit 2113, the signal DATAR_B inverted (logically negated) by the inverter circuit 2111 is supplied to the terminal / S of the selection circuit 2113, the signal DATAF2_B is supplied to the terminal A of the selection circuit 2113, and the signal DATAF2_B is supplied. Is input to the terminal B of the selection circuit 2113 by inverting (logically negating) by the inverter circuit 2112, the logical expression
/Y=DATAF2_B./DATAR_B+/DATAF2_B.DATAR_B
Is performed, and data comparison between the signal DATAF2_B and the signal DATAR_B is performed, and the comparison result is output to the terminal / Y of the selection circuit 2113. That is, if the logical values of the signal DATAF2_B and the signal DATAR_B do not match, the terminal / Y becomes high level and is output as the signal INVR. Here, / represents negation, • represents logical product, and + represents logical sum.
[0078]
The result of the data comparison is input from the data comparison circuit 211 to the majority decision circuit 311 as a signal INVR.
[0079]
On the other hand, the signal DATAR_B and the signal DATAF_B input to the data comparison circuit 212 are input to the data comparison circuit 212, and an exclusive OR operation is performed by the inverter circuit 2121, the inverter circuit 2122, and the selection circuit 2123, and the data comparison is performed. Be done. An operation equivalent to the exclusive OR operation described above is performed, and the result of the data comparison is input from the data comparison circuit 212 to the majority circuit 312 as a signal INVF.
[0080]
N comparison signals INVR are input to the majority circuit 311 corresponding to the rising side, and N comparison signals INVF are input to the majority circuit 312 corresponding to the falling side. The majority circuit 311 determines whether or not half or more of the input data is switched, that is, whether or not the number of the high-level comparison signals INVR is N / 2 or more. A high level is output to the determination signal DATAINVR. Further, the majority decision circuit 312 determines whether or not half or more of the input data is switched, that is, whether or not the number of the high-level comparison signals INVF is equal to or more than N / 2. For example, it outputs a high level to the majority decision signal DATAINVF. Note that a known majority circuit can be used for the majority circuits 311, 312.
[0081]
An exclusive OR operation is performed between the majority decision signal DATAINVR and the inverted flag signal DINVF by the inverter circuit 4001 and the selection circuit 4002, and data comparison is performed. An operation equivalent to the exclusive OR operation described above is performed, and the result of the data comparison is delayed by about one clock through an edge trigger type D flip-flop circuit 4003 and an inverter circuit 4004 and output as a signal DINVR. Is done.
[0082]
Further, the majority decision signal DATAINVF and the inverted flag signal DINVR delayed by about 0.5 clock by the D flip-flop circuit 4006 are subjected to exclusive OR operation by the inverter circuit 4007 and the selection circuit 4008, and data comparison is performed. . An operation equivalent to the exclusive OR operation described above is performed, and the result of the data comparison is delayed by about one clock via a NOR circuit 4009, an edge trigger type D flip-flop circuit 4010, and an inverter circuit 4011. It is output as a signal DINVF. Note that when the high-level signal RSTDINV is input to the NOR circuit 4009, the edge-triggered D flip-flop circuit 4010 is initialized.
[0083]
An exclusive OR operation is performed on the inverted flag signal DINVR and the signal DATAR3 by the inverter circuit 5111 and the selection circuit 5112 in the data inverting circuit 511, and when the inverted flag signal DINVR is at a high level, the inverted signal of the signal DATAR3 is used as the signal DOR. Is output. That is, the data Q0 of the signal DATAR_B appears as data Q0 of the signal DOR or data Q0 whose logic is inverted with a delay of about 2 clocks. Similarly, the data Q2 of the signal DATAR_B is delayed by about 2 clocks and appears as the data Q2 of the signal DOR or the data Q2 whose logic is inverted.
[0084]
An exclusive OR operation is performed on the inverted flag signal DINVF and the signal DATAF3 by the inverter circuit 5121 and the selection circuit 5122 in the data inverting circuit 512. When the inverted flag signal DINVF is at a high level, the inverted signal of the signal DATAF3 is output. Output as DOF. That is, the data Q1 of the signal DATAF_B appears as the data Q1 of the signal DOF or the data Q1 whose logic is inverted with a delay of about 2.5 clocks. Similarly, data Q3 of signal DATAF_B appears as data Q3 of signal DOF or data Q3 whose logic is inverted with a delay of about 2.5 clocks.
[0085]
The data Q0 and Q2 of the signal DOR and the data Q1 and Q3 of the signal DOF are arranged in serial data output in chronological order by the parallel-serial conversion circuit 71, and output from the output pin 73 as a signal DQj by the output buffer circuit 72. .
[0086]
The Q0 flag and Q2 flag of the inverted flag signal DINVR and the Q1 flag and Q3 flag of the inverted flag signal DINVF are arranged in serial data output in chronological order by the parallel / serial conversion circuit 61, and output buffer. The signal DQM is output from the output pin 63 by the circuit 62.
[0087]
Next, changes in each signal will be described using specific examples of numerical data. FIG. 6 is a diagram illustrating an example of a change in data of each signal in the data inversion circuit according to the first embodiment of the present invention.
[0088]
As a specific example, consider a case in which four 8-bit data (Q0, Q1, Q2, and Q3) of “11111111”, “00000000”, “11111111”, and “00000000” are sequentially and sequentially read from the memory. . Each of the signals DATAR_B and DATAF_B output from the bus drivers 16 and 17 is an inverted signal of the data read from the memory in FIGS. 2 and 3. However, in the following description, the non-inverted signal DATAR_B is used for clarity. , DATAF are output.
[0089]
In the cycle in which the data Q0 and Q1 are read, when the value “11111111” of the rising signal DATAR and the initial state “00000000” of the falling signal DATAF are compared (exclusive ethics), all 8 bits are switched. Therefore, “11111111” is output as the rising-side comparison flag signal INVR. When the value of the falling signal DATAF “00000000” is compared with the value of the rising signal DATAR “11111111”, all the 8 bits have been switched, so that the comparison flag signal INVF on the falling side is obtained. “11111111” is output. Since the eight bits are switched, the majority decision signals DATAINVR and DATAINVF are both at a high level (High).
[0090]
The majority decision signal DATAINVR (high level) on the rising side and the initial value (low level) of the inversion flag signal DINVF for the falling side data are subjected to arithmetic processing (exclusive OR), and the inverted flag signal DINVR for the rising side data is obtained. A high level (High) is output. The majority decision signal DATAINVF (high level) on the falling side and the inverted flag signal DINVR (high level) for the data on the rising side are arithmetically processed (exclusive OR), and the inverted flag signal DINVF for the data on the falling side is set to the low level. (Low) is output.
[0091]
Since the inverted flag signal DINVR for the rising-side data is at the high level, the data “11111111” in the cycle Q0 is inverted and output as “00000000” to the signal DQj to indicate that the data is inverted. (High level) is output from the DQM.
[0092]
On the other hand, since the inverted flag signal DINVF for the falling data is at the low level, the data “00000000” in the cycle Q1 is output as “00000000” to the signal DQj without being inverted, and the data is not inverted. Is output as a signal DQM.
[0093]
Similarly, in the cycle in which the data Q2 and Q3 are read, when the value “11111111” of the rising-side signal DATAR and the value “00000000” on the falling side of the previous cycle are compared (exclusive OR), all 8 bits are obtained. Switching. Therefore, “11111111” is output as the rising-side comparison flag signal INVR. When the value of the falling signal DATAF “00000000” and the value of the rising signal DATAR “11111111” are compared, all eight bits are switched. Therefore, “11111111” is output as the falling-side comparison flag signal INVF.
[0094]
Since the eight bits are switched, the majority decision signals DATAINVR and DATAINVF are both at a high level. The majority decision signal DATAINVR (high level) on the rising side and the value (low level) of the inverted flag signal for falling data in the previous cycle are arithmetically processed (exclusive OR), and the inverted flag signal DINVR for the rising data. Output a high level. The majority decision signal DATAINVF (high level) on the falling side and the inverted flag signal DINVR (high level) for the data on the rising side are processed (exclusive OR), and the inverted flag signal DINVF for the data on the falling side is set to low. The level is output.
[0095]
Since the inverted flag signal DINVR for the rising-side data is at the high level, the data “11111111” in the cycle Q2 is inverted and output as “00000000” to the signal DQj to indicate that the data is inverted. (High level) is output as the signal DQM.
[0096]
On the other hand, since the inversion flag signal DINVF for the falling data is at the low level, the data “00000000” in the cycle Q3 is output as “00000000” from DQj without being inverted, indicating that the data is not inverted. The indicated flag signal (low level) is output as signal DQM.
[0097]
In the above description, the data comparison circuits 211 and 212 input data in the internal signals DATAR_B, DATAF_B, and DATAF2_B instead of the data actually output from the output pin 73 to the outside in the data comparison. Therefore, the results of the output signals of the majority circuits 311 and 312 do not match the signals DINVR and DINVF indicating whether the data should be actually inverted.
[0098]
Accordingly, the determination flag generation circuit 40 performs an operation (exclusive OR) between the output signal of the majority circuit 311 and the inverted flag signal DINVF of the previous cycle, and generates signals DINVR and DINVF indicating whether or not the data should be actually inverted. It has gained.
[0099]
The data inversion circuit according to the first embodiment of the present invention is configured as described above, and four data read out from the memory array at a time by a prefetch operation or the like correspond to the rising side of the clock signal. And the data corresponding to the falling side of the clock signal are divided, and each data is operated in parallel within one clock cycle. This facilitates the timing design when implementing a data inversion circuit that operates stably even when the operating frequency increases. Therefore, a data inversion circuit suitable for a DDR-SDRAM or the like can be provided.
[0100]
[Example 2]
FIG. 7 is a block diagram showing the configuration of the data inversion circuit according to the second embodiment of the present invention, which corresponds to the case where P = 4. FIG. 7 shows connection of blocks of a data comparison circuit, a majority decision circuit, and an inversion flag generation circuit, which are main parts of a data inversion circuit, and is an example of a circuit configuration in a case where four systems are serially provided.
[0101]
The exclusive OR circuits 213, 214, 215, and 216 correspond to a data comparison circuit, and exist corresponding to a predetermined bit of parallel data composed of N (N is an integer of 2 or more) bits. The exclusive OR circuits 413, 414, 415, and 416 correspond to an inversion flag generation circuit. Further, the D flip-flop circuit 418 holds the inverted flag signal DINV3 output from the exclusive OR circuit 416 with a clock signal K supplied from a timing circuit or a clock circuit (not shown). The output signal DINV3D of the D flip-flop circuit 418 is input to the exclusive OR circuit 413. Further, the AND circuit 417 initializes the D flip-flop circuit 418 by setting the reset signal RST to low level.
[0102]
Next, processing of a data signal will be described. It is assumed that four bits of prefetched data transmitted serially are input as data Q0, Q1, Q2, and Q3.
[0103]
The exclusive OR circuit 213 compares the data Q-1 corresponding to the initial state (or the data Q3 in the previous cycle) with the data Q0, and outputs a comparison flag signal INV0 as a logical value indicating whether or not they match. Further, the exclusive OR circuit 214 compares the data Q0 and the data Q1, and outputs a comparison flag signal INV1 as a logical value indicating whether or not they match. Further, the exclusive OR circuit 215 compares the data Q1 and the data Q2, and outputs a comparison flag signal INV2 as a logical value indicating whether or not they match. Further, the exclusive OR circuit 216 compares the data Q2 and the data Q3, and outputs a comparison flag signal INV3 as a logical value indicating whether or not the data Q2 matches the data Q3.
[0104]
The comparison flag signal INV0 for N bits is input to the majority circuit 313, and the majority circuit 313 determines whether or not the number of mismatches among the N logical values is greater than a predetermined number, and determines the determination result as a logical value. The majority decision signal DTAINV0 is output. In this case, the predetermined number is, for example, N / 2 or an integer before and after N / 2. In the following description, the predetermined number is a similar value.
[0105]
The N-bit comparison flag signal INV1 is input to the majority circuit 314, and the majority circuit 314 determines whether or not the number of mismatches among the N logical values is larger than a predetermined number, and determines the determination result as a logical value. The majority decision signal DTAINV1 is output. Further, the comparison flag signal INV2 for N bits is input to the majority decision circuit 315, and the majority decision circuit 315 determines whether or not the number of mismatches among the N logical values is larger than a predetermined number, and determines the logical result. The majority decision signal DTAINV2 is output as a value. Further, the comparison flag signal INV3 for N bits is input to the majority decision circuit 316, and the majority decision circuit 316 determines whether or not the number of unmatched N logic values is greater than a predetermined number, and determines the determination result as a logical value. The majority decision signal DTAINV3 is output as a value.
[0106]
The exclusive OR circuit 413 compares the inverted flag signal DINV3D for the initial state or the previous cycle with the majority decision signal DTAINV0, and outputs the inverted flag signal DINV0 as a logical value indicating whether or not they match. Further, the exclusive OR circuit 414 compares the inverted flag signal DINV0 with the majority decision signal DTAINV1, and outputs the inverted flag signal DINV1 as a logical value indicating whether or not they match.
[0107]
The exclusive OR circuit 415 compares the inverted flag signal DINV1 with the majority decision signal DTAINV2, and outputs an inverted flag signal DINV2 as a logical value indicating whether or not they match. Further, the exclusive OR circuit 416 compares the inverted flag signal DINV2 with the majority decision signal DTAINV3, and outputs an inverted flag signal DINV3 as a logical value indicating whether or not they match. The inverted flag signal DINV3 is held by the D flip-flop 418 via the AND circuit 417, and is output as the inverted flag signal DINV3D in the next cycle.
[0108]
In the case of the circuit configuration described above, since four data are processed in parallel, the data inversion need be determined only once for two cycles of the clock signal. Therefore, the timing design for realizing a data inversion circuit that operates stably even when the clock signal frequency increases becomes easy.
[0109]
As described above, the present invention has been described with reference to the above embodiments. However, the present invention is not limited only to the configuration of the above embodiments, and a person skilled in the art should be within the scope of the claims of the present application. Of course, various changes and modifications that could be made are included.
[0110]
【The invention's effect】
As described above, the data inversion circuit according to the present invention has a plurality of processing circuits, and performs the data inversion determination in parallel, thereby facilitating the timing design for realizing the data inversion function. It becomes. Further, by applying the data inversion circuit according to the present invention to a semiconductor device (such as DDR-SDRAM) having a double data rate function, even if the frequency of the clock signal is increased, the data inversion function can be realized. Timing design becomes easy.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a data inversion circuit according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of a data inversion circuit according to a first example of the present invention.
FIG. 3 is a circuit block diagram of a main part according to the first embodiment of the present invention.
4 is a diagram showing an equivalent circuit of the circuit symbol in FIG.
FIG. 5 is a diagram showing a time chart of the operation of the signals in FIGS. 2 and 3;
FIG. 6 is a diagram illustrating an example of a change in data of each signal in the data inversion circuit according to the first example of the present invention.
FIG. 7 is a block diagram illustrating a configuration of a data inversion circuit according to a second example of the present invention.
FIG. 8 is a block diagram showing a configuration of a conventional data inversion circuit.
[Explanation of symbols]
1 Parallel data supply means
6 Flag output means
7 Data output means
8 Data holding means
9 Data reading means
11, 12, 13, 14 Main amplifier
15,61,71 Parallel / serial conversion circuit
16, 17 bus driver
18 Latency latch circuit
21, 21,... 2P data comparison means
31, 32,... 3P majority determination means
40 Inversion flag generation circuit
41, 42,... 4P inversion flag generation means
51, 52,... 5P data inversion means
62, 72 output buffer circuit
63, 73 output pin
90 Data reading unit
100, 101, 102, ... 10P parallel data
201, 202,... 20P logical value
211, 212 Data comparison circuit
213, 214, 215, 216, 413, 414, 415, 416 Exclusive OR circuit
.., 30P logical value
311, 312, 313, 314, 315, 316 majority circuit
.., 40P inversion flag
417 AND circuit
418, 1808 D flip-flop circuit
501, 502, ... 50P output
511, 512 Data inversion circuit
1801, 1802, 1804, 1811, 2111, 2112, 2121, 2122, 4001, 4004, 4005, 4007, 4011, 4012, 5111, 5121 Inverter circuit
1803, 1806, 1809, 1810, 4006 D flip-flop circuit outputting negative logic
1805, 4003, 4010 Edge trigger type D flip-flop circuit
1807 NAND circuit
2113, 2123, 4002, 4008, 5112, 5122 Selection circuit
4009 NOR circuit

Claims (23)

あるサイクルのデータを前サイクルの出力データと比較し、複数の出力端子から出力されるデータのうち過半数が反転する場合には、前記サイクルのデータを反転して出力するデータインバージョン機能を有する半導体装置において、
データ間で一の出力端子から出力される順序が規定されている複数のデータが、並列に転送される複数の経路のそれぞれに対応して、時間的に前後のデータを比較するデータ比較回路を複数備え、
前記データ比較回路における比較結果を、複数の出力端子数分、入力し、多数決をとる多数決回路を複数備え、
前記複数の多数決回路における判定結果に基づき、前記複数の出力端子からのデータを反転して出力することを示す反転フラグを生成する反転フラグ生成回路を複数備え、
複数サイクル分のデータ反転の判定を、並行して行う構成とされている、ことを特徴とする半導体装置。
A semiconductor having a data inversion function of comparing data of a certain cycle with output data of a previous cycle and inverting and outputting the data of the cycle when a majority of data output from a plurality of output terminals is inverted. In the device,
A data comparison circuit that compares the data before and after in time corresponding to each of a plurality of paths in which a plurality of data, the order of which is output from one output terminal between data, is transferred in parallel. Multiple,
The comparison result in the data comparison circuit is input for a plurality of output terminals, and a plurality of majority circuits for taking a majority decision are provided.
A plurality of inversion flag generation circuits that generate an inversion flag indicating that data from the plurality of output terminals is inverted and output based on the determination result in the plurality of majority circuits;
A semiconductor device having a configuration in which data inversion for a plurality of cycles is determined in parallel.
ダブルレートのクロック信号の立ち上がりエッジで規定されるデータ、立ち下がりで規定されるデータが転送される経路に対して、前記データ比較回路、前記多数決回路、及び前記反転フラグ生成回路をそれぞれ複数備えている、ことを特徴とする請求項1記載の半導体装置。The data comparison circuit, the majority circuit, and the inversion flag generation circuit each include a plurality of data paths for data defined by rising edges and falling edges of the double-rate clock signal. The semiconductor device according to claim 1, wherein 半導体装置が複数本のデータ出力端子を有し、
1本の前記データ出力端子あたり、前記1本のデータ出力端子を介して出力されるべき、第1乃至第P(Pは予め定められた2以上の整数)のビットデータを並列に出力する第1乃至第Pのポートを備え、第1乃至第Pのビットデータは、この順序で1本の前記データ出力端子から出力されるものであり、
前記第1乃至第Pのポートに対応して、前記第1乃至第Pのデータ比較回路を備え、第i(ただし、iは1乃至Pの整数)のデータ比較回路は、第i−1のポート(ただしiが1のときは、第Pのポート又は初期値)のデータと第iのポートのデータとを比較して第iの比較フラグ信号を出力し、
前記半導体装置の前記複数本のデータ出力端子に応じて、前記第1乃至第Pのポートのデータ比較回路のそれぞれに対応して、データ出力端子の本数分の、第iの比較フラグ信号を入力し、不一致の個数が過半数を超えるか判定する第1乃至第Pの多数決回路と、
前記第1乃至第Pの多数決回路に対応して前記第1乃至第Pの反転フラグ生成回路と、
を備え、第i(ただし、iは1乃至Pの整数)の反転フラグ生成回路は、第i−1のポートの反転フラグ信号(ただしiが1のときは、第Pのポート又は初期値)と、第iの多数決回路の判定結果とを比較して第iの反転フラグ信号を出力し、
前記第iの反転フラグ信号が反転を示すときは、前記第iのポートのデータを反転し、前記データ出力端子から出力される、ことを特徴とする半導体装置。
A semiconductor device having a plurality of data output terminals,
A first to a P-th (P is a predetermined integer of 2 or more) bit data to be output via the one data output terminal per one data output terminal in parallel. A first to a P-th port, and the first to the P-th bit data are output from one of the data output terminals in this order;
The first to P-th data comparison circuits are provided corresponding to the first to P-th ports, and the i-th (where i is an integer of 1 to P) data comparison circuit is an (i−1) -th data comparison circuit. Comparing the data of the port (where i is 1, the P-th port or the initial value) with the data of the i-th port to output an i-th comparison flag signal;
According to the plurality of data output terminals of the semiconductor device, i-th comparison flag signals corresponding to the number of data output terminals are input corresponding to the data comparison circuits of the first to Pth ports. A first to P-th majority circuit for determining whether the number of mismatches exceeds a majority,
The first to P-th inversion flag generation circuits corresponding to the first to P-th majority decision circuits;
The i-th (where i is an integer of 1 to P) inversion flag generation circuit outputs the inversion flag signal of the (i-1) -th port (however, when i is 1, the P-th port or the initial value) And a comparison result of the i-th majority circuit and outputs an i-th inversion flag signal,
When the i-th inversion flag signal indicates inversion, the data of the i-th port is inverted and output from the data output terminal.
1つのデータ出力端子について前記第1乃至第Pのポートのデータは、第1乃至第Pのポートの順に順序付けられ、シリアルにデータが変換されて出力される、ことを特徴とする請求項3記載の半導体装置。The data of the first to P-th ports for one data output terminal are arranged in the order of the first to P-th ports, and the data is converted and output serially, and is output. Semiconductor device. クロック信号の第1の論理値から第2論理値への遷移と、前記第2の論理値から前記第1論理値への遷移に基づき、1クロックサイクル中に、1つのデータ端子から2度データを出力する半導体装置において、
前記クロック信号の第1の論理値から第2論理値への第1の遷移と、前記第2の論理値から前記第1論理値への第2の遷移とでそれぞれ出力されるデータが転送される第1、第2の経路に接続される第1及び第2のデータ比較回路を備え、前記第1のデータ比較回路は、前記第1の経路における、前記クロック信号の第1の遷移タイミングでのデータと、前記第2の経路における、前記第1の遷移タイミング直前の前記クロック信号の第2の遷移タイミングでのデータとが互いに一致するか否か比較判定することで、前記第1の遷移の前の前記第2の遷移と前記第1の遷移とにおけるデータの切り替わりの有無を判定し、判定結果を第1の出力信号として出力し、
前記第2のデータ比較回路は、前記第1の経路における、前記クロック信号の前記第1の遷移タイミングでの前記データと、前記第1の遷移につづく前記クロック信号の第2の遷移タイミングでのデータとが一致するか否か比較判定することで、前記第1の遷移と前記第1の遷移につづく前記第2の遷移とにおけるデータの切り替わりの有無を判定し、判定結果を第2の出力信号として出力し、
半導体装置のデータ端子数分の前記第1のデータ比較回路からの第1の出力信号群を入力して、前記第1の出力信号群のうちの過半数のデータが切り替わっているか否かを判定し、第1の判定結果信号を出力する第1の多数決回路と、
半導体装置のデータ出力端子数分の前記第2のデータ比較回路からの第2の出力信号群を入力して、前記第2の出力信号群のうち過半数のデータが切り替わっているか否かを判定し、第2の判定結果信号を出力する第2の多数決回路と、
前記第1の多数決回路からの前記第1の判定結果信号と、前記クロック信号の少なくとも遷移1つ分前の第2の反転フラグの値とから、第1の反転フラグを生成する第1の反転フラグ生成回路と、
前記第2の多数決回路からの前記第2の判定結果信号と、前記クロック信号の少なくとも遷移1つ分前の前記第1の反転フラグの値とから、第2の反転フラグを生成する第2の反転フラグ生成回路と、
前記第1の反転フラグの値に基づき、前記第1の反転フラグが過半数のデータが切り替わっていることを示す場合、前記第1の経路のデータを反転して出力する第1のデータ反転回路と、
前記第2の反転フラグの値に基づき、前記第1の反転フラグが過半数のデータが切り替わっていることを示す場合、前記第2の経路のデータを反転して出力する第2のデータ反転回路と、
を備え、
前記第1及び第2反転フラグ生成回路は、前記第1及び第2の反転フラグ信号を、出力データを反転したことを示すフラグとして、半導体装置の制御端子から出力する、ことを特徴とする半導体装置。
Based on the transition of the clock signal from the first logical value to the second logical value and the transition from the second logical value to the first logical value, the data is transmitted twice from one data terminal during one clock cycle. In a semiconductor device that outputs
Data output at a first transition from a first logical value to a second logical value of the clock signal and at a second transition from the second logical value to the first logical value are transferred. And first and second data comparison circuits connected to the first and second paths, respectively, wherein the first data comparison circuit operates at a first transition timing of the clock signal on the first path. Is compared with the data at the second transition timing of the clock signal immediately before the first transition timing on the second path to determine whether the first transition occurs. Determining whether there is a data switch between the second transition and the first transition before and outputting a determination result as a first output signal;
The second data comparison circuit may be configured to control the data at the first transition timing of the clock signal and the data at a second transition timing of the clock signal following the first transition in the first path. By comparing and determining whether or not the data matches, it is determined whether or not data has switched between the first transition and the second transition following the first transition, and the determination result is output to a second output. Output as a signal,
A first output signal group from the first data comparison circuit for the number of data terminals of the semiconductor device is input, and it is determined whether or not a majority of the first output signal group has been switched. A first majority circuit that outputs a first determination result signal;
The second output signal group from the second data comparison circuit corresponding to the number of data output terminals of the semiconductor device is input, and it is determined whether or not a majority of the second output signal group is switched. A second majority circuit that outputs a second determination result signal;
A first inversion flag for generating a first inversion flag from the first determination result signal from the first majority circuit and a value of a second inversion flag at least one transition before the clock signal; A flag generation circuit;
A second inversion flag for generating a second inversion flag from the second determination result signal from the second majority circuit and the value of the first inversion flag at least one transition before the clock signal; An inversion flag generation circuit;
A first data inverting circuit that inverts and outputs the data of the first path when the first inversion flag indicates that a majority of the data has been switched based on the value of the first inversion flag; ,
A second data inverting circuit that inverts and outputs data of the second path when the first inversion flag indicates that majority data has been switched based on the value of the second inversion flag; ,
With
The first and second inversion flag generation circuits output the first and second inversion flag signals from a control terminal of a semiconductor device as a flag indicating that output data has been inverted. apparatus.
前記第1及び第2のデータ比較回路と、前記第1及び第2のデータ反転回路が、前記第1及び第2の経路のデータが出力回路に転送されるデータバス上に設けられるラッチ回路部の段に設けられている、ことを特徴とする請求項5記載の半導体装置。A latch circuit unit, wherein the first and second data comparison circuits and the first and second data inversion circuits are provided on a data bus through which data of the first and second paths is transferred to an output circuit 6. The semiconductor device according to claim 5, wherein the semiconductor device is provided in a stage. 前記第1及び第2のデータ反転回路からのそれぞれの出力を並列に入力し並列・直列変換して出力する並列・直列変換回路と、
前記並列・直列変換回路からの出力データを入力して出力端子から出力する出力バッファ回路とを備える、ことを特徴とする請求項5記載の半導体装置。
A parallel-to-serial conversion circuit that inputs respective outputs from the first and second data inversion circuits in parallel, converts the data from parallel to serial, and outputs the result;
6. The semiconductor device according to claim 5, further comprising: an output buffer circuit that inputs output data from the parallel / serial conversion circuit and outputs the output data from an output terminal.
前記ラッチ回路部が、
前記第1、第2の経路に接続され、前記第1、第2の経路に並列に出力される第1、第2のデータを、サンプリング用の第1のクロック信号の前記第1、第2の遷移でラッチ出力する第1、第2のラッチ回路と、
前記第1のラッチ回路の出力を、前記サンプリング用の第1のクロック信号の第1、第2の遷移のうち一方の遷移で取り込み他方の遷移で出力する第3のラッチ回路と、
前記第2のラッチ回路の出力を入力し、前記サンプリング用の第1のクロック信号の第1、第2の遷移の前記一方の遷移でラッチ出力する第4のラッチ回路と、
前記第4のラッチ回路の出力を入力し、前記サンプリング用の第1のクロック信号の第1、第2の遷移の前記一方の遷移でラッチ出力する第5のラッチ回路と、
前記第5のラッチ回路の出力を入力し、サンプリング用のクロック信号の第1、第2の遷移の他方の遷移でラッチ出力する第6のラッチ回路と、
を備えている、ことを特徴とする請求項6記載の半導体装置。
The latch circuit section includes:
The first and second data connected to the first and second paths and output in parallel to the first and second paths are converted to the first and second data of the first clock signal for sampling. First and second latch circuits that output latches at the transition of
A third latch circuit that takes in the output of the first latch circuit at one of the first and second transitions of the first clock signal for sampling and outputs the other at the other transition;
A fourth latch circuit that receives an output of the second latch circuit, and that latches and outputs at the one of the first and second transitions of the first clock signal for sampling;
A fifth latch circuit that receives an output of the fourth latch circuit and latches and outputs the first clock signal for sampling at the one of the first and second transitions;
A sixth latch circuit which receives the output of the fifth latch circuit, and latches and outputs the output at the other of the first and second transitions of the sampling clock signal;
7. The semiconductor device according to claim 6, comprising:
前記第1のデータ反転回路が、前記第3のラッチ回路の出力とその反転信号を入力し、前記第1の反転フラグ信号を選択制御信号として入力し、前記第1の反転フラグ信号が反転を示す場合に、前記反転信号を出力する第1の選択回路よりなり、
前記第2のデータ反転回路が、前記第6のラッチ回路の出力とその反転信号を入力し、前記第2の反転フラグ信号を選択制御信号として入力し、前記第2の反転フラグ信号が反転を示す場合に、前記反転信号を出力する第2の選択回路よりなる、ことを特徴とする請求項8記載の半導体装置。
The first data inverting circuit inputs the output of the third latch circuit and its inverted signal, inputs the first inverted flag signal as a selection control signal, and the first inverted flag signal And a first selection circuit for outputting the inverted signal.
The second data inverting circuit inputs the output of the sixth latch circuit and its inverted signal, inputs the second inverted flag signal as a selection control signal, and the second inverted flag signal 9. The semiconductor device according to claim 8, further comprising a second selection circuit that outputs the inverted signal when indicated.
前記第1のデータ比較回路は、前記第1の経路のデータと前記第4のラッチ回路の出力を入力して一致を検出し、
前記第2のデータ比較回路は、前記第1及び第2の経路のデータを入力して一致を検出する、ことを特徴とする請求項8記載の半導体装置。
The first data comparison circuit inputs data of the first path and an output of the fourth latch circuit to detect a match,
9. The semiconductor device according to claim 8, wherein the second data comparison circuit inputs data of the first and second paths and detects a match.
前記第1の反転フラグ生成回路が、前記第1の多数決回路からの前記第1の判定結果信号と、前記第2の反転フラグ生成回路からの前記第2の反転フラグとが一致するか判定する第1の比較回路と、
前記第1の比較回路の出力を、前記サンプリング用の第2のクロック信号の第1、第2の遷移の一方の遷移で取り込み他方の遷移で出力する第7のラッチ回路と、を備え、
前記第2の反転フラグ生成回路が、前記第2の多数決回路からの前記第2の判定結果信号を、前記サンプリング用の第2のクロック信号の第1、第2の遷移の他方の遷移でラッチ出力する第8のラッチ回路と、
、前記第1の反転フラグ生成回路からの前記第1の反転フラグと、前記第8のラッチ回路の出力とが一致するか判定する第2の比較回路と、
前記第8の比較回路の出力を、前記サンプリング用の第2のクロック信号の第1、第2の遷移の一方の遷移で取り込み他方の遷移で出力する第9のラッチ回路と、
を備えている、ことを特徴とする請求項8記載の半導体装置。
The first inversion flag generation circuit determines whether the first determination result signal from the first majority circuit matches the second inversion flag from the second inversion flag generation circuit. A first comparison circuit;
A seventh latch circuit that captures an output of the first comparison circuit at one of the first and second transitions of the second clock signal for sampling and outputs the output at the other transition,
The second inversion flag generation circuit latches the second determination result signal from the second majority circuit at the other of the first and second transitions of the second clock signal for sampling. An eighth latch circuit for outputting,
A second comparison circuit that determines whether the first inversion flag from the first inversion flag generation circuit matches the output of the eighth latch circuit,
A ninth latch circuit which takes in the output of the eighth comparison circuit at one of the first and second transitions of the second clock signal for sampling and outputs at the other transition;
9. The semiconductor device according to claim 8, comprising:
前記第4のラッチ回路をリセットする手段を備えている、ことを特徴とする請求項8記載の半導体装置。9. The semiconductor device according to claim 8, further comprising: means for resetting said fourth latch circuit. 前記第9のラッチ回路をリセットする手段を備えている、ことを特徴とする請求項11記載の半導体装置。12. The semiconductor device according to claim 11, further comprising means for resetting said ninth latch circuit. 前記サンプリング用の第1、2のクロック信号は、半導体装置外部より前記半導体装置に供給されるクロック信号より生成され、互いに同期している、ことを特徴とする請求項11記載の半導体装置。12. The semiconductor device according to claim 11, wherein the first and second clock signals for sampling are generated from clock signals supplied to the semiconductor device from outside the semiconductor device, and are synchronized with each other. 前記半導体装置が、セルアレイからの読み出しデータを、クロック信号の立ち上がりと立ち下がりのエッジで出力するクロック同期型の半導体メモリを含み、前記半導体メモリのセルアレイからの読み出しデータをクロック信号の立ち上がりと立ち下がりのエッジで出力端子から出力する、ことを特徴とする請求項11記載の半導体装置。The semiconductor device includes a clock-synchronous semiconductor memory that outputs read data from a cell array at rising and falling edges of a clock signal, and reads read data from the cell array of the semiconductor memory with rising and falling clock signals. 12. The semiconductor device according to claim 11, wherein the signal is output from an output terminal at an edge of the signal. N(Nは2以上の整数)ビットからなる並列データを出力するデータインバージョン回路において、
前記並列データを出力の時間順に相隣るP(Pは2以上の整数)組ごとに分類し、第1乃至第Pの前記並列データのそれぞれに対して時間的に一つ前の出力対象となる並列データとの同一ビット位置の論理値を比較し、一致するか否かを論理値として出力する第1乃至第Pのデータ比較手段を、前記Nビットに対応してN組備え、
前記N組の前記第p(pは1以上かつP以下の整数)のデータ比較手段から出力されるN個の論理値の中で不一致である個数が所定の数より大きいか否かを判定し、判定結果を論理値として出力する第pの多数判定手段をpが1からPに対応して備え、
第p−1の反転フラグの出力論理値と前記第pの多数判定手段の出力論理値との一致を判定し、判定結果の論理値を第pの反転フラグとして出力する第pの反転フラグ生成手段をpが2からPに対応して備え、
前記第Pの反転フラグ生成手段の出力論理値をデータ保持手段で保持した出力論理値と前記第1の多数判定手段の出力論理値との一致を判定し、判定結果の論理値を第1の反転フラグとして出力する第1の反転フラグ生成手段を備え、
前記第1乃至第Pの反転フラグに応じて前記第1乃至第Pの前記並列データにおけるそれぞれのビット位置の論理値を反転する第1乃至第Pのデータ反転手段を、前記Nビットに対応してN組備え、
前記第1乃至第Pの反転フラグを並列直列変換して時刻順に出力するフラグ出力手段を備え、
前記第pのデータ反転手段の出力をpが1からPに対応して並列直列変換し、前記フラグ出力手段が出力する反転フラグの時刻順に同期して出力するデータ出力手段を、前記Nビットに対応してN組備える、ことを特徴とするデータインバージョン回路。
In a data inversion circuit that outputs parallel data composed of N (N is an integer of 2 or more) bits,
The parallel data is classified into sets of P (P is an integer of 2 or more) adjacent to each other in the order of time of output, and each of the first to P-th parallel data is output as the immediately preceding output target. N sets of first to P-th data comparing means for comparing logical values at the same bit position with the parallel data and outputting whether or not they match as logical values, corresponding to the N bits,
It is determined whether or not the number of mismatches among the N logical values output from the N sets of the p-th (p is an integer not less than 1 and not more than P) data comparison means is greater than a predetermined number. , P is provided corresponding to P from 1 to P,
Generating a p-th inversion flag that determines whether the output logic value of the (p−1) -th inversion flag matches the output logic value of the p-th majority determination unit and outputs the logical value of the determination result as the p-th inversion flag Means are provided for p from 2 to P,
It is determined whether the output logical value of the P-th inversion flag generating means matches the output logical value held by the data holding means with the output logical value of the first majority determining means, and the logical value of the determination result is set to the first logical value. A first inversion flag generation unit that outputs the inversion flag,
First to P-th data inversion means for inverting logical values of respective bit positions in the first to P-th parallel data according to the first to P-th inversion flags correspond to the N bits. N sets
A flag output unit configured to convert the first to Pth inversion flags from parallel to serial and output them in chronological order;
Data output means for performing parallel-to-serial conversion on the output of the p-th data inversion means in accordance with p from 1 to P, and outputting in synchronization with the time of the inversion flag output by the flag output means, A data inversion circuit comprising N sets correspondingly.
前記データ比較手段、前記多数判定手段、前記反転フラグ生成手段、前記データ反転手段、前記フラグ出力手段及び前記データ出力手段の少なくとも一つは、クロック信号に同期して動作し、前記クロック信号に同期した前記フラグ出力手段のデータ出力及び前記クロック信号に同期して前記データ出力手段からデータを出力する、ことを特徴とする請求項16記載のデータインバージョン回路。At least one of the data comparison unit, the majority determination unit, the inversion flag generation unit, the data inversion unit, the flag output unit, and the data output unit operates in synchronization with a clock signal and synchronizes with the clock signal. 17. The data inversion circuit according to claim 16, wherein the data output means outputs data in synchronization with the data output of the flag output means and the clock signal. 前記データ比較手段、前記多数判定手段、前記反転フラグ生成手段、前記データ反転手段、前記フラグ出力手段及び前記データ出力手段の少なくとも一つは、クロック信号の立ち上がり及び立ち下がりに同期して動作し、前記クロック信号の立ち上がり及び立ち下がりに同期した前記フラグ出力手段のデータ出力並びに前記クロック信号の立ち上がり及び立ち下がりに同期して前記データ出力手段からデータを出力する、ことを特徴とする請求項16記載のデータインバージョン回路。At least one of the data comparison unit, the majority determination unit, the inversion flag generation unit, the data inversion unit, the flag output unit, and the data output unit operate in synchronization with rising and falling of a clock signal, 17. The data output of the flag output means synchronized with rising and falling of the clock signal and outputting data from the data outputting means synchronized with rising and falling of the clock signal. Data inversion circuit. 前記フラグ出力手段から出力されるデータは、前記データ出力手段から出力されるデータがデータインバージョン回路に入力される元のデータの論理値を反転したものであるか否かの情報を有している、ことを特徴とする請求項16記載のデータインバージョン回路。The data output from the flag output means has information on whether or not the data output from the data output means is the logical value of the original data input to the data inversion circuit inverted. 17. The data inversion circuit according to claim 16, wherein: 前記Pは、2又は4である、ことを特徴とする請求項16記載のデータインバージョン回路。17. The data inversion circuit according to claim 16, wherein said P is 2 or 4. 前記所定の数は、N/2あるいはその前後の整数値である、ことを特徴とする請求項16記載のデータインバージョン回路。17. The data inversion circuit according to claim 16, wherein the predetermined number is N / 2 or an integer before and after N / 2. 請求項16乃至21のいずれか一に記載のデータインバージョン回路を備えている、ことを特徴とする半導体装置。A semiconductor device comprising the data inversion circuit according to any one of claims 16 to 21. プリフェッチ動作により一度にメモリアレイから読み出された複数個のデータをクロック信号の立ち上がり側に対応するデータと前記クロック信号の立ち下がり側に対応するデータとに分離して入力し、前記Pは2である請求項16記載の前記データインバージョン回路を備えている、ことを特徴とする半導体装置。A plurality of data read at one time from the memory array by the prefetch operation are separately input into data corresponding to the rising side of the clock signal and data corresponding to the falling side of the clock signal, and P is 2 17. A semiconductor device comprising the data inversion circuit according to claim 16.
JP2002294722A 2002-10-08 2002-10-08 Data inversion circuit and semiconductor device Expired - Fee Related JP4068427B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002294722A JP4068427B2 (en) 2002-10-08 2002-10-08 Data inversion circuit and semiconductor device
TW092125698A TWI233567B (en) 2002-10-08 2003-09-18 Data inversion circuit and semiconductor device
DE10346559A DE10346559A1 (en) 2002-10-08 2003-10-07 Data inverting circuit and semiconductor device
CN2003101007391A CN100407109C (en) 2002-10-08 2003-10-08 Data switching circuit and semiconductor device
US10/680,239 US6999352B2 (en) 2002-10-08 2003-10-08 Data inversion circuit and semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002294722A JP4068427B2 (en) 2002-10-08 2002-10-08 Data inversion circuit and semiconductor device

Publications (2)

Publication Number Publication Date
JP2004133961A true JP2004133961A (en) 2004-04-30
JP4068427B2 JP4068427B2 (en) 2008-03-26

Family

ID=32040743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002294722A Expired - Fee Related JP4068427B2 (en) 2002-10-08 2002-10-08 Data inversion circuit and semiconductor device

Country Status (5)

Country Link
US (1) US6999352B2 (en)
JP (1) JP4068427B2 (en)
CN (1) CN100407109C (en)
DE (1) DE10346559A1 (en)
TW (1) TWI233567B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179724A (en) * 2005-12-28 2007-07-12 Intel Corp Memory provided with storage of spatially encoded data
JP2009502000A (en) * 2005-06-30 2009-01-22 テラダイン・インコーポレーテッド Device and method for reducing simultaneous switching noise
US7567476B2 (en) 2005-03-30 2009-07-28 Elpida Memory, Inc. Semiconductor memory device and testing method thereof
US7755953B2 (en) 2006-08-28 2010-07-13 Elpida Memory, Inc. Semiconductor memory device with minimum burst length bit transfer in parallel to and from a FIFO block
US7852685B2 (en) 2008-03-25 2010-12-14 Kabushiki Kaisha Toshiba Semiconductor memory device
US7885130B2 (en) 2008-08-07 2011-02-08 Renesas Electronics Corporation Semiconductor integrated circuit
US7941573B2 (en) 2007-06-27 2011-05-10 Elpida Memory, Inc. Semiconductor memory device
KR20190136709A (en) * 2018-05-31 2019-12-10 에스케이하이닉스 주식회사 Integrated circuit

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100546335B1 (en) * 2003-07-03 2006-01-26 삼성전자주식회사 Semiconductor device with data inversion scheme
JP4447200B2 (en) * 2002-07-19 2010-04-07 Necエレクトロニクス株式会社 Video data transfer method, display control circuit, and liquid crystal display device
US7406608B2 (en) * 2004-02-05 2008-07-29 Micron Technology, Inc. Fast and compact circuit for bus inversion
KR100613463B1 (en) * 2005-07-06 2006-08-22 주식회사 하이닉스반도체 Data output device & output method of semiconductor device
KR100621353B1 (en) * 2005-11-08 2006-09-07 삼성전자주식회사 Data in-out put circuit with verification for data inversion and semiconductor memory device having the same
KR100656448B1 (en) * 2005-11-29 2006-12-11 주식회사 하이닉스반도체 Apparatus and method for generating dbi signal of semiconductor memory
US7580273B2 (en) * 2007-10-23 2009-08-25 Rao G R Mohan Digital memory with controllable input/output terminals
US9116828B2 (en) 2008-06-11 2015-08-25 Micron Technology, Inc. Data bus inversion usable in a memory system
US7729166B2 (en) 2008-07-02 2010-06-01 Mosaid Technologies Incorporated Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same
KR20210104498A (en) * 2020-02-17 2021-08-25 에스케이하이닉스 주식회사 Semiconductor device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3299342B2 (en) * 1993-06-11 2002-07-08 株式会社日立製作所 Semiconductor memory module
JPH0720973A (en) 1993-07-01 1995-01-24 Sony Corp Bus driving circuit
JPH07201191A (en) * 1993-12-28 1995-08-04 Toshiba Corp Nonvolatile semiconductor memory device
JPH08101813A (en) 1994-09-30 1996-04-16 Hitachi Cable Ltd Modulating and demodulating method for data
JPH10198475A (en) 1997-01-14 1998-07-31 Hitachi Ltd Simultaneous switching noise reducing method, parallel data transmitting and receiving method and bus interface circuit
JP3258283B2 (en) * 1998-11-05 2002-02-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Data transfer method and apparatus for reducing data change amount

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567476B2 (en) 2005-03-30 2009-07-28 Elpida Memory, Inc. Semiconductor memory device and testing method thereof
JP2009502000A (en) * 2005-06-30 2009-01-22 テラダイン・インコーポレーテッド Device and method for reducing simultaneous switching noise
JP2007179724A (en) * 2005-12-28 2007-07-12 Intel Corp Memory provided with storage of spatially encoded data
JP4509995B2 (en) * 2005-12-28 2010-07-21 インテル コーポレイション Memory with spatially encoded data storage
US7755953B2 (en) 2006-08-28 2010-07-13 Elpida Memory, Inc. Semiconductor memory device with minimum burst length bit transfer in parallel to and from a FIFO block
US7941573B2 (en) 2007-06-27 2011-05-10 Elpida Memory, Inc. Semiconductor memory device
US7852685B2 (en) 2008-03-25 2010-12-14 Kabushiki Kaisha Toshiba Semiconductor memory device
US7885130B2 (en) 2008-08-07 2011-02-08 Renesas Electronics Corporation Semiconductor integrated circuit
KR20190136709A (en) * 2018-05-31 2019-12-10 에스케이하이닉스 주식회사 Integrated circuit
KR102577999B1 (en) 2018-05-31 2023-09-14 에스케이하이닉스 주식회사 Integrated circuit

Also Published As

Publication number Publication date
TWI233567B (en) 2005-06-01
US20040065904A1 (en) 2004-04-08
DE10346559A1 (en) 2004-10-21
TW200415505A (en) 2004-08-16
JP4068427B2 (en) 2008-03-26
CN100407109C (en) 2008-07-30
US6999352B2 (en) 2006-02-14
CN1497414A (en) 2004-05-19

Similar Documents

Publication Publication Date Title
JP4068427B2 (en) Data inversion circuit and semiconductor device
KR100880867B1 (en) Circuit for producing a data bit inversion flag
US20060150044A1 (en) On-chip data transmission control apparatus and method
Kim et al. Bitwise competition logic for compact digital comparator
KR20070108331A (en) A semiconductor memory
US6769044B2 (en) Input/output interface and semiconductor integrated circuit having input/output interface
KR19990061013A (en) Double Data Rate Synchronous DRAM Increases Data Rate
JP2001167580A (en) Semiconductor memory
JPH09120672A (en) Synchronous semiconductor memory
CN115001507A (en) Parallel-serial conversion circuit
JP3292584B2 (en) Timing generator
JPH11185492A (en) Self clock logic circuit and method for latching its output signal
JP2002150796A (en) Always enabled test method for monolithic integrated circuit device, and integrated circuit device
US7213090B2 (en) Data transfer apparatus for serial data transfer in system LSI
JP3859885B2 (en) Semiconductor memory device
JP2000040363A (en) Semiconductor memory
JP2000357392A (en) Semiconductor memory
KR100642639B1 (en) semiconductor memory device
US7058840B2 (en) Method and apparatus for generating a second signal having a clock based on a second clock from a first signal having a first clock
Choy et al. A new control circuit for asynchronous micropipelines
JP2011197981A (en) I/o extension circuit
JP4468564B2 (en) Pulse width modulation circuit
JP4193284B2 (en) Elastic and integrated circuits
JP2000353939A (en) Clock signal synchronous flip flop circuit
WO2010134252A1 (en) Communication circuit and communication method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070725

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: 20071218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120118

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120118

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

SG99 Written request for registration of restore

Free format text: JAPANESE INTERMEDIATE CODE: R316G99

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

SG99 Written request for registration of restore

Free format text: JAPANESE INTERMEDIATE CODE: R316G99

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140118

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S803 Written request for registration of cancellation of provisional registration

Free format text: JAPANESE INTERMEDIATE CODE: R316803

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees