JP2014116054A - 集積回路 - Google Patents

集積回路 Download PDF

Info

Publication number
JP2014116054A
JP2014116054A JP2012271358A JP2012271358A JP2014116054A JP 2014116054 A JP2014116054 A JP 2014116054A JP 2012271358 A JP2012271358 A JP 2012271358A JP 2012271358 A JP2012271358 A JP 2012271358A JP 2014116054 A JP2014116054 A JP 2014116054A
Authority
JP
Japan
Prior art keywords
signal
output
circuit
input
information
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.)
Pending
Application number
JP2012271358A
Other languages
English (en)
Inventor
Tsugio Takahashi
次男 高橋
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012271358A priority Critical patent/JP2014116054A/ja
Publication of JP2014116054A publication Critical patent/JP2014116054A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Static Random-Access Memory (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】論理回路の設計効率が低下するという問題を解決すること。
【解決手段】入力された情報を保持する複数のフリップフロップ回路と、複数のフリップフロップ回路にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号信号を出力する復号回路と、フリップフロップ回路に入力されるクロック信号の予め設定された変化を検出し、クロック信号の変化を検出してから、予め定められた待機時間が経過したときに待機終了信号を出力する遅延発生回路と、遅延発生回路から出力された待機終了信号の入力に応じて、復号回路から入力された復号信号を有効にして、出力先に出力する制御回路と、を備える。
【選択図】図21

Description

本発明は、集積回路にかかり、特に、論理回路の構造を変更可能な集積回路に関する。
集積回路の製造後に、ユーザが論理回路の構造を定義、変更することが可能なFPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスの技術が知られている(例えば特許文献1参照)。FPGAには、大量のブロックRAM(Random Access Memory)が搭載されており、各種のアプリケーションに広く利用されている。
特開2012−221077
ところで、プログラマブルロジックデバイスの技術においては、製造プロセスが微細になるにつれて、クロック周波数が高くなったり、特定のクロック入力により駆動する回路が増加したり、レジスタの数が増加したりする。このような場合に、プログラマブルロジックデバイスの技術では、データの記憶領域を示すアドレス信号のセットアップタイムとホールドタイムとが十分に確保されない状態(以下、アドレスレーシング状態と記載する)が生じることがあった。
特に、プログラマブルロジックデバイスの技術では、アドレスレーシング状態を考慮して製造されていなかった古い製造プロセスに基づく回路を流用したり、マルチサイクル動作を行う際にアドレスレーシング状態の考慮が抜けると、アドレスレーシング状態が生じることがあった。例えば、図1に示すデータの読み出しと書き込みを行うRAM201が、書き込み動作時に図2のタイムチャートに示すように動作したとする。この場合、古い製造プロセスでは、WE信号がH(ハイ)レベル(ライトイネーブル状態)では、W‐ADD信号やW−Data信号のタイミングがクロック信号のタイミングと同期するように考慮されていたが、WE信号がL(ロー)レベル(ライトディスイネーブル状態)では上記したタイミングが考慮されていなかった。このため、データを読み出すタイミングが、クロック信号の立ち上がるタイミングと重なり、アドレスレーシング状態が生じることがあった。
また、例えば、図1の構成を有するRAM201が、図3に示すように、複数クロック(例えば2クロック)を1つのサイクルとするマルチサイクル動作を行う場合に、データの書き込みや読み出しを行うタイミングが、2つ目以降のクロック信号の立ち上がるタイミングと重なり、アドレスレーシング状態が生じることがあった。そして、このアドレスレーシング状態が生じると、アドレス情報を保持するためのFF(Flip Flop)回路の出力が不安定な状態(以下、メタステーブル状態と記載する)になることがあった。
FF回路の出力がメタステーブル状態になると、FF回路の出力に基づいてデータの読み書きを行う記憶領域のアドレスを指定する場合に、複数の記憶領域のアドレスを同時に指定してしまうことがあった。例えば、図4に示す集積回路211が、図5のタイムチャートに示すように動作する場合に、FF回路221の出力(Address-t_1)がメタステーブル状態(発信状態)になったとする。この場合、図4に示すアドレスデコーダ222は、図5に示すように、FF回路221の出力結果(Address-t_0,Address-t_1, Address-t_2)として、(H,L,L)と(H,H,L)との2つの出力結果を取得することがある。そして、アドレスデコーダ222は、出力結果(H,L,L)に基づいて、アドレスAdd_1をハイレベルにする(選択する)とともに、出力結果(H,H,L)に基づいて、アドレスAdd_3をハイレベルにすることで、複数の記憶領域のアドレスを同時に指定することがあった。
このとき、図4に示すように、指定したAdd_1にて示される情報保持部223bが保持するデータ(例えば0)とAdd_3にて示される情報保持部223dが保持するデータ(例えば1)とが異なる場合、一方のアドレスにて示される情報保持部223が保持するデータが反転(例えばAdd_3にて示される情報保持部223dが保持するデータ「1」が「0」になる)し、データが破壊されることがあった。
これにより、ユーザは論理回路の構造を定義、変更する際に、アドレスレーシング状態が生じないように入念な回路チェックを行う必要があった。この結果、プログラマブルロジックデバイスを利用する場合に、論理回路の設計効率が低下するという問題があった。
このため、本発明の目的は、論理回路の設計効率が低下するという問題を解決することができる集積回路を提供させることにある。
上記目的を達成するため本発明の一態様における集積回路は、
入力された情報を保持する複数のフリップフロップ回路と、
複数の前記フリップフロップ回路にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号信号を出力する復号回路と、
前記フリップフロップ回路に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力する遅延発生回路と、
前記遅延発生回路から出力された前記待機終了信号の入力に応じて、前記復号回路から入力された前記復号信号を有効にして、出力先に出力する制御回路と、
を備えるという構成を取る。
また、本発明の他の形態であるプログラムは、
記憶制御装置に、
入力された情報を保持する情報保持手段と、
複数の前記情報保持手段にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号情報を出力する復号手段と、
前記情報保持手段に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力する遅延発生手段と、
前記遅延発生手段から出力された前記待機終了信号の入力に応じて、前記復号手段から入力された前記復号情報を有効にして、出力先に出力する制御手段と、
を実現させるためのプログラムである。
また、本発明の他の形態である情報処理方法は、
複数のフリップフロップ回路が入力された情報を保持し、
複数の前記フリップフロップ回路にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号信号を出力し、
前記フリップフロップ回路に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力し、
出力された前記待機終了信号の入力に応じて、出力された前記復号信号を有効にして、出力先に出力する、
という構成を取る。
本発明によれば、プログラマブルロジックデバイスを利用する場合に、論理回路を効率的に設計することができる。
RAMの構成の概略を示すブロック図である。 アドレスレーシング状態を説明するための図である。 アドレスレーシング状態を説明するための図である。 集積回路の構成を示すブロック図である。 図4に示す集積回路の動作を示すタイムチャートである。 本発明の第1実施形態における集積回路の構成を示すブロック図である。 図6に示す集積回路の動作を示すタイムチャートである。 アドレス信号とチップセレクト信号との対応関係を示す図である。 遅延発生回路の構成を示すブロック図である。 EX-NORゲートの入力と出力との対応関係を示す図である。 図9に示す遅延発生回路の動作を示すタイムチャートである。 図6に示す集積回路の他の動作を示すタイムチャートである。 遅延発生回路の他の構成を示すブロック図である。 EX-ORゲートの入力と出力との対応関係を示す図である。 図13に示す遅延発生回路の動作を示すタイムチャートである。 遅延発生回路の他の構成を示すブロック図である。 図16に示す遅延発生回路の動作を示すタイムチャートである。 遅延発生回路の他の構成を示すブロック図である。 図18に示す遅延発生回路の動作を示すタイムチャートである。 集積回路の他の構成を示すブロック図である。 本発明の第2実施形態における集積回路の構成を示すブロック図である。
<第1実施形態>
図6は、本発明の第1実施形態にかかる集積回路1の構成を概略的に示す図である。図6に示すように、集積回路1は、FF(FlipFlop)回路11(フリップフロップ回路)と、アドレスデコーダ12(復号回路)と、遅延発生回路13と、ANDゲート14(制御回路)と、情報保持部15(記憶領域)と、を備える。FF回路11は、アドレス端子から入力されたアドレス信号をラッチする。そして、アドレスデコーダ12は、FF回路11にてラッチされたアドレス信号をデコードし、特定の情報保持部15を選択するチップセレクト信号(復号信号)を出力する。また、遅延発生回路13は、FF回路11に入力されるクロック信号の立ち上がりを検出し、予め設定された待機時間だけ待機し、待機時間が経過した後に、待機の終了を表す遅延終了信号(待機終了信号)を出力する。そして、ANDゲート14(具体的にはANDゲート14a乃至14h)は、アドレスデコーダ12から出力されたチップセレクト信号と、遅延発生回路13から出力された遅延終了信号と、に基づく信号を出力し、特定の情報保持部15(情報保持部15a乃至15hのいずれか)を選択する。
なお、図6の例では、アドレスデコーダ12が、Add_0乃至Add_7の8つの情報保持部15のアドレスのうちのいずれかを選択する場合について説明するが、集積回路1の構成は上記に限られない。以下に、集積回路1の詳細について説明する。
まず、FF回路11は、クロック信号Clockの入力時(つまりクロック信号Clockの立ち上がり時)のD入力としてアドレス信号Address(3:0)の入力を受け付ける。ここでは、Address(3:0)は、図7に示すように、Address_0, Address_1, Address_2の3つを表す。そして、FF回路11(具体的には3つのFF回路11のそれぞれ)は、Address(3:0)の入力を受け付けると、Q出力としてAddress-t(3:0)をアドレスデコーダ12へ出力する。Address-t(3:0)は、入力されたAddress_0に対する出力を示すAddress-t_0と、入力されたAddress_1に対する出力を示すAddress-t_1と、入力されたAddress_2に対する出力を示すAddress-t_2の3つを表す。
アドレスデコーダ12は、FF回路11から出力されたアドレス信号Address-t(3:0)の入力を受け付けると、入力を受け付けたAddress-t(3:0)をデコードし、Add_0乃至Add_7のいずれかを表すチップセレクト信号Addを出力する。ここで、アドレス信号Address-t(3:0)とチップセレクト信号Addとの対応関係の例を図8に示す。例えば、図7の例では、最初のクロック信号が入力された時に、アドレスデコーダ12は、FF回路11からアドレス信号(Address-t_0, Address-t_1, Address-t_2)=(L,H,L)の入力を受け付ける。従って、アドレスデコーダ12は、図8に示すように、アドレス信号(L,H,L)に対応する「Add_2」をチップセレクト信号として出力する(Hレベルにする)。
また、遅延発生回路13は、FF回路11に入力されるクロック信号Clockの立ち上がり(予め設定された変化)を検出し、予め設定された待機時間だけ待機する。ここで、図9を参照して、遅延発生回路13の具体的な回路構成について説明する。遅延発生回路13は、トグルFF回路21と、インバータ22と、EX-NORゲート23と、を備えている。トグルFF回路21は、クロック信号が入力される度(クロック信号の立ち上がりが検出される度)にQ出力を反転させる。例えば図10に示すように、トグルFF21は、1つ目のクロック信号が入力されると、LレベルであったQ出力は反転してHレベルになり、次のクロック信号が入力されると、Q出力は反転してLレベルになる。
インバータ22a乃至22fのそれぞれは、例えばNOTゲートであり、入力を受け付けた信号を反転して出力する。例えば、インバータ22がHレベルの信号の入力を受け付けた場合に、Hレベルを反転したLレベルの信号を出力し、Lレベルの信号の入力を受け付けた場合にLレベルを反転したHレベルの信号を出力する。このインバータ22a乃至22fのそれぞれは、直列に接続されており、トグルFF回路21からの出力が1つのインバータ22を通過する度に、入力を反転して出力する時間だけ遅延を生じさせる。
なお、図9の遅延発生回路13は6個のインバータ22a乃至22fを備えているが、遅延発生回路13は、予め設定された遅延時間(待機時間)に応じた偶数個のインバータ22を備えていればよい。インバータ22の数が偶数個である場合、全てのインバータ22を介して出力された信号(図9のA点における信号レベル)は、トグルFF回路21から出力された信号(Q出力の信号レベル)と同じになる。
また、予め設定された遅延時間は、例えば、トランジスタレベルのデバイスシミュレーションに基づいて、FF回路11のメタステーブル状態が継続する時間(以下、メタステーブル時間と記載する)を算出し、メタステーブル時間以上になるように設定することができる。さらに、シミュレーション等によりメタステーブル時間を算出しない場合には、FF回路11が入力された信号を出力するまでの予め設定されたFF回路遅延時間と、予め設定された定数(例えば5)と、の積を遅延時間として設定してもよい。
EX-NORゲート23は、トグルFF回路21から直接出力された信号であるQ出力と、Q出力に対して偶数個のインバータ22を介した信号であるA出力(A点の信号レベル)と、の否定排他的論理和を遅延終了信号Delay_Outとして出力する。Q出力とA出力との否定排他的論理和の例を図10に示す。ここで、図11の例では、最初のクロック信号が入力された時に、Q出力が「Hレベル」になり、A出力が「Lレベル」になるので、EX-NORゲート23は、図10に示すように、遅延終了信号Delay_Out「Lレベル」を出力する。また、予め設定された遅延時間が経過すると、A出力が「Hレベル」になるので、EX-NORゲート23は、Q出力が「Hレベル」になり、A出力が「Hレベル」になる遅延終了信号Delay_Out「Hレベル」を出力する。
このように、EX-NORゲート23は、Q出力とA出力とが同じ場合(出力が真である場合)に遅延終了信号Delay_Out「Hレベル」を出力し、Q出力とA出力とが異なる場合(出力が偽である場合)に遅延終了信号Delay_Out「Lレベル」を出力する。この結果、遅延発生回路13は予め設定された遅延時間が経過するまで待機させることができる。
そして、ANDゲート14a乃至14hのそれぞれは、アドレスデコーダ12から出力されたチップセレクト信号Add1乃至Add7のそれぞれと、遅延発生回路13から出力された遅延終了信号Delay_Outと、に基づく信号Add1’乃至Add7’を出力する。例えば、最初のクロック信号が入力された時に、上記したようにアドレスデコーダ12は、チップセレクト信号「Add_2」の「Hレベル」を出力し、図7に示すように、遅延発生回路13は、遅延終了信号Delay_Outの「Lレベル」を出力する。このため、チップセレクト信号「Add_2」の入力を受け付けたANDゲート14cは、チップセレクト信号「Add_2」の「Hレベル」と、遅延終了信号Delay_Outの「Lレベル」と、に基づいて「Add_2’」として「Lレベル」(すなわち、チップセレクト信号「Add_2」が無効)を出力する。
また、予め設定された遅延時間が経過すると、遅延終了信号Delay_Outが「Hレベル」になるので、ANDゲート14cは、チップセレクト信号「Add_2」の「Hレベル」と、遅延終了信号Delay_Outの「Hレベル」と、に基づいて「Add_2’」として「Hレベル」を出力する。このように、ANDゲート14cは、チップセレクト信号と遅延終了信号との論理積の信号を情報保持部15c(出力先)に出力する。この結果、チップセレクト信号「Add_2」が有効になり、「Add_2’」に対応付けられた情報保持部15cに保持されたデータが選択(読み出しまたは書き込み)可能になる。
続いて、次のクロック信号が入力された時に、例えばAddress-t_1にメタステーブル状態が生じたとする。この場合、アドレスデコーダ12は、FF回路11からアドレス信号(Address-t_0, Address-t_1, Address-t_2)=(H,L,L)と(H.H,L)との入力を受け付ける。そして、アドレスデコーダ12は、図8に示すように、アドレス信号(H,L,L)に対応する「Add_1」をチップセレクト信号として出力するとともに、アドレス信号(H,H,L)に対応する「Add_3」をチップセレクト信号として出力する。またこの時、遅延発生回路13は、遅延終了信号Delay_Out「Lレベル」を出力する。
このため、チップセレクト信号「Add_1」の入力を受け付けたANDゲート14bは、チップセレクト信号「Add_1」の「Hレベル」と、遅延終了信号Delay_Outの「Lレベル」と、に基づいて「Add_1’」として「Lレベル」を出力する。また、チップセレクト信号「Add_3」の入力を受け付けたANDゲート14dは、チップセレクト信号「Add_3」の「Hレベル」と、遅延終了信号Delay_Outの「Lレベル」と、に基づいて「Add_3’」として「Lレベル」を出力する。この結果、チップセレクト信号「Add_1」と「Add_3」とのそれぞれは無効になる。
そして、予め設定された遅延時間が経過した時、遅延終了信号Delay_Outが「Hレベル」になる。メタステーブル状態は時間の経過とともに解消されるので、この遅延時間が経過した時、メタステーブル状態になっていたAddress-t_1の出力は一意に決定される。図7の例では、遅延時間が経過した時、Address-t_1は「Lレベル」を示すので、アドレスデコーダ12はチップセレクト信号「Add_1」の「Hレベル」を出力する。この結果、チップセレクト信号「Add_1」の「Hレベル」と、遅延終了信号Delay_Outの「Hレベル」と、に基づいて、チップセレクト信号「Add_1」が有効になり、チップセレクト信号「Add_1」の入力を受け付けたANDゲート14bは「Hレベル」を出力する。
一方、アドレスデコーダ12はチップセレクト信号「Add_3」の「Lレベル」を出力するので、チップセレクト信号「Add_3」の「Lレベル」と、遅延終了信号Delay_Outの「Hレベル」と、に基づいて、チップセレクト信号「Add_3」の入力を受け付けたANDゲート14dは「Lレベル」を出力する。
このように、集積回路1は、クロック信号が入力されてから予め設定された遅延時間が経過するまで、アドレスデコーダ12の全出力(Add_0乃至Add_7)をオフ(Lレベル)にするので、メタステーブル状態が生じた場合でも複数のアドレスが同時に選択されるマルチアドレスの発生を抑えることができる。この結果、記憶領域に記憶されたデータの破壊(例えばRAMのbit化け)を防ぐことができる。
なお、仮に遅延時間よりもメタステーブル時間が長い場合でも、マルチアドレスが発生している状態を十分に短くすることができるので、記憶領域に記憶されたデータが破壊される可能性を十分小さくすることができる。
ここで、図7のタイムチャートでは、メタステーブル状態になったAddress-t_1が「Lレベル」になった例を説明したが、メタステーブル状態では、Address-t_1が「Hレベル」になることがある。図12は、メタステーブル状態になったAddress-t_1が「Hレベル」になる場合のタイムチャートを示す。
図12の例では、2つ目のクロック信号の入力を受け付けたFF回路11は、アドレス信号(Address_0, Address_1, Address_2)=(H,L,L)の入力を受け付ける。そして、アドレス信号Address_1がレーシング状態である場合に、アドレスデコーダ12は、FF回路11からアドレス信号(Address-t_0, Address-t_1, Address-t_2)=(H,L,L)と(H.H,L)との入力を受け付ける。
そして、予め設定された遅延時間が経過し、遅延終了信号Delay_Outが「Hレベル」になった時、メタステーブル状態になっていたアドレス信号Address-t_1は「Hレベル」を示す。この場合に、アドレスデコーダ12はチップセレクト信号「Add_3」の「Hレベル」を出力するので、チップセレクト信号「Add_3」の「Hレベル」と、遅延終了信号Delay_Outの「Hレベル」と、に基づいて、チップセレクト信号「Add_3」の入力を受け付けたANDゲート14dは「Hレベル」を出力する。
FF回路11に入力されたアドレス信号(Address_0, Address_1, Address_2)=(H,L,L)は、図8に示すように「Add_1」を示すので、アドレスデコーダ12から出力されるチップセレクト信号「Add_3」とは異なるものになる。このように、メタステーブル状態が生じると、アドレス信号Address-t(3:0)の論理を確定することができないことがある。しかし、マルチアドレスが発生することを防ぐことができるので、情報保持部15に保持されたデータが破壊されることを防ぐことができる。
またここで、図9の遅延発生回路13では、インバータ22の数が偶数個である場合について説明したが、予め設定された遅延時間に応じて、インバータ22の数を奇数個にすることもできる。図13は、インバータ22の数が奇数個(例えば5個)である遅延発生回路31の回路構成を示す図である。なお、図9の遅延発生回路13と同様の構成を有するものには、同じ符号が付されている。すなわち、図13の遅延発生回路31は、インバータ22の数が奇数個であり、EX-NORゲート23の代わりにEX-ORゲート41を備える点が図9の遅延発生回路13と異なり、それ以外の構成は遅延発生回路13と同様である。
インバータ22の数が奇数個である場合、全てのインバータ22を介して出力された信号(図13のA点における信号レベル)は、トグルFF回路21から出力された信号(Q出力の信号レベル)と異なる(反転した)ものになる。
EX-ORゲート41は、トグルFF回路21から直接出力された信号であるQ出力と、Q出力を奇数個のインバータ22を介して入力を受け付けた信号であるA出力(A点の信号レベル)と、の排他的論理和を遅延終了信号Delay_Outとして出力する。Q出力とA出力との排他的論理和の対応関係を図14に示す。ここで、図15の例では、最初のクロック信号が入力された時に、Q出力が「Hレベル」になり、A出力が「Hレベル」になるので、EX-ORゲート41は、図14に示すように、遅延終了信号Delay_Out「Lレベル」を出力する。また、予め設定された遅延時間が経過すると、A出力が「Lレベル」になるので、EX-ORゲート41は、図14に示すように、Q出力が「Hレベル」になり、A出力が「Lレベル」になる遅延終了信号Delay_Out「Hレベル」を出力する。
このように、EX-ORゲート41は、Q出力とA出力とが異なる場合に遅延終了信号Delay_Out「Hレベル」を出力し、Q出力とA出力とが同じ場合に遅延終了信号Delay_Out「Lレベル」を出力する。この結果、遅延発生回路31は予め設定された遅延時間が経過するまで待機させることができる。
さらに図9の遅延発生回路13と図13の遅延発生回路31とは、インバータ22を備えていたが、遅延発生回路の構成は上記に限られず、バッファや遅延専用素子、または、多入力論理ゲート等の遅延を発生させることができる素子であればよい。例えば、遅延発生回路がインバータ22の代わりに、PLL(Phase Locked Loop)を備える場合について図16を参照して説明する。
図16は、PLL61を備える遅延発生回路51の回路構成を示す図である。なお、図9の遅延発生回路13と同様の構成を有するものには、同じ符号が付されている。すなわち、図15の遅延発生回路51は、インバータ22の代わりにPLL61を備える点が図9の遅延発生回路13と異なり、それ以外の構成は遅延発生回路13と同様である。
PLL61は、入力された信号と、PLL61内の発振器からの出力との位相差が一定になるよう、PLL61内の発振器にフィードバック制御をかけて発振をさせる発振回路であり、多様な信号を安定した状態で作り出すことができる。従って、PLL61は、より正確に予め設定された待機時間だけ待機することができる。例えば、PLL61は、待機時間が経過するまでの間、EX-NORゲート23へ「Lレベル」の信号を出力(A出力)し、待機時間が経過したときにEX-NORゲート23へ「Hレベル」の信号を出力する。
遅延発生回路51では、例えば図17に示すように、最初のクロック信号が入力された時に、Q出力が「Hレベル」になり、A出力が「Lレベル」になるので、EX-NORゲート23は、遅延終了信号Delay_Out「Lレベル」を出力する。また、予め設定された遅延時間が経過すると、A出力が「Hレベル」になるので、EX-NORゲート23は、Q出力が「Hレベル」になり、A出力が「Hレベル」になる遅延終了信号Delay_Out「Hレベル」を出力する。
このように、PLL61を用いることで、より正確に予め設定された待機時間だけ待機することができるので、集積回路の動作をより安定させることができる。なお、遅延発生回路51はPLL61を備えるとしたが、PLL61の代わりにDLL(Dynamic Link Library)を備えてもよい。
次に、遅延発生回路がFF回路を用いる場合について図18を参照して説明する。図18は、遅延を発生させるためのFF回路81を備える遅延発生回路71の回路構成を示す図である。なお、図9の遅延発生回路13と同様の構成を有するものには、同じ符号が付されている。すなわち、図18の遅延発生回路71は、FF回路81と1つのインバータ22を備える点が図9の遅延発生回路13と異なり、それ以外の構成は遅延発生回路13と同様である。
FF回路81には、トグルFF回路21に入力されたクロック信号を、インバータ22を介して受け付ける。つまり、トグルFF回路21に「Hレベル」のクロック信号が入力された場合、FF回路81は、インバータ22により「Hレベル」のクロック信号が反転された「Lレベル」のクロック信号を受け付ける。また、トグルFF回路21に「Lレベル」のクロック信号が入力された場合、FF回路81は、「Hレベル」のクロック信号を受け付ける。そして、FF回路81は、「Hレベル」のクロック信号を受け付けた場合に、「Hレベル」の信号を出力(出力A)する。
遅延発生回路71のEX-NORゲート23は、例えば図19に示すように、最初のクロック信号が入力された時(立ち上がった)に、Q出力が「Hレベル」になり、A出力が「Lレベル」になるので、EX-NORゲート23は、遅延終了信号Delay_Out「Lレベル」を出力する。また、クロック信号が立ち下がった時(HレベルからLレベルになった時)に、A出力が「Hレベル」になるので、EX-NORゲート23は、Q出力が「Hレベル」になり、A出力が「Hレベル」になる遅延終了信号Delay_Out「Hレベル」を出力する。
このように、遅延発生回路71では、A出力がQ出力に対して180度位相シフトした信号になる。従って、遅延時間をシミュレーション等に基づいて決定していない場合でも、メタステーブル状態が解消されるのに十分な時間だけ待機させることができる。
なお、遅延発生回路13は、例えば集積回路が設置されたRAMの内部に配置されていてもよいし、図20に示すように、RAM91の外部に配置されていてもよい。図20に示すように、遅延発生回路13をRAM91の外部に配置することにより、遅延発生回路13を複数のRAMで共有可能になる。従って、複数のRAMごとに遅延回路を配置する場合に比べて、回路全体を小型化することができる。
<第2実施形態>
次に、本発明の第2実施形態にかかる集積回路について図21を参照して説明する。
第2実施形態に係る集積回路101は、
入力された情報を保持する複数のフリップフロップ(FF)回路111と、
複数のFF回路111にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号信号を出力する復号回路112と、
FF回路111に入力されるクロック信号の予め設定された変化を検出し、クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力する遅延発生回路113と、
遅延発生回路113から出力された待機終了信号の入力に応じて、復号回路112から入力された復号信号を有効にして、出力先に出力する制御回路114と、
を備える。
上記構成により、復号回路112は、複数のFF回路111にて保持された情報に基づいて復号信号を出力する。また、遅延発生回路113は、FF回路111に入力されるクロック信号の変化を検出し、クロック信号の変化(例えば立ち上がり)を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力し、制御回路114は、遅延発生回路113から出力された待機終了信号の入力に応じて、復号回路112から入力された復号信号を有効にして、出力先に出力する。このように、予め設定された待機時間だけ待機するので、FF回路111の出力にメタステーブル状態が生じても、メタステーブル状態が解消されるまで待機することができる。このため、例えば、制御回路114が複数の出力先に対して同時に復号信号を有効にして出力することを防ぐことができる。この結果、例えば出力先のデータが破壊されることを防ぐことができるので、迅速かつ容易に論理回路の設計することができる。
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
例えば、上記集積回路の構成を、プログラムを用いて実現させることができる。例えば、プログラムは、RAM等の記憶を制御する記憶制御装置に、入力された情報を保持する情報保持部(情報保持手段)と、複数の情報保持部にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号情報を出力する復号部(復号手段)と、情報保持部に入力されるクロック信号の予め設定された変化を検出し、クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力する遅延発生部(遅延発生手段)と、遅延発生部から出力された待機終了信号の入力に応じて、復号部から入力された復号情報を有効にして、出力先に出力する制御部(制御手段)と、を実現させることができる。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における集積回路等の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
入力された情報を保持する複数のフリップフロップ回路と、
複数の前記フリップフロップ回路にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号信号を出力する復号回路と、
前記フリップフロップ回路に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力する遅延発生回路と、
前記遅延発生回路から出力された前記待機終了信号の入力に応じて、前記復号回路から入力された前記復号信号を有効にして、出力先に出力する制御回路と、
を備える集積回路。
上記構成により、復号回路は、複数のフリップフロップ回路にて保持された情報に基づいて復号信号を出力する。また、遅延発生回路は、フリップフロップ回路に入力されるクロック信号の変化を検出し、クロック信号の変化(例えば立ち上がり)を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力し、制御回路は、遅延発生回路から出力された待機終了信号の入力に応じて、復号回路から入力された復号信号を有効にして、出力先に出力する。このように、予め設定された待機時間だけ待機するので、フリップフロップ回路の出力にメタステーブル状態が生じても、メタステーブル状態が解消されるまで復号信号を無効にすることができる。このため、例えば、制御回路が複数の出力先に対して同時に復号信号を有効にして出力することを防ぐことができる。この結果、例えば出力先のデータが破壊されることを防ぐことができるので、迅速かつ容易に論理回路の設計することができる。
(付記2)
付記1に記載の集積回路であって、
前記遅延発生回路は、前記クロック信号の変化を検出してから前記待機時間が経過するまでの間、ローレベルの前記待機終了信号を出力し、前記クロック信号の変化を検出してから前記待機時間が経過したときに前記待機終了信号をローレベルからハイレベルに変更して出力し、
前記制御回路は、前記遅延発生回路からハイレベルの前記待機終了信号が入力された場合に、前記復号回路から入力された前記復号信号を有効にして、前記出力先に出力する、
集積回路。
上記構成により、遅延発生回路は、クロック信号の変化を検出してから待機時間が経過するまでの間、ローレベルの待機終了信号を出力し、クロック信号の変化を検出してから待機時間が経過したときに待機終了信号をローレベルからハイレベルに変更して出力する。そして、制御回路は、遅延発生回路からハイレベルの待機終了信号が入力された場合に、復号回路から入力された復号信号を有効にして出力先に出力する。このように、ハイレベルの待機終了信号が制御回路に入力された場合に復号信号を有効にするので、メタステーブル状態が解消されるまで待機し、出力先のデータが破壊されることを防ぐことができる。
(付記3)
付記2に記載の集積回路であって、
前記制御回路は、前記復号回路から入力された前記復号信号と、前記遅延発生回路から入力された前記待機終了信号と、の論理積の信号を前記出力先に出力する、
集積回路。
上記構成により、制御回路は、復号回路から入力された復号信号と、遅延発生回路から入力された待機終了信号と、の論理積の信号を出力先に出力する。このように、制御回路は例えばANDゲートの構成を有しているので、簡単な構成で確実に復号信号の出力処理を行うことができる。
(付記4)
付記1乃至3のいずれかに記載の集積回路であって、
複数の前記フリップフロップ回路は、所定の記憶領域のアドレス情報を示すアドレス信号を保持し、
前記復号回路は、前記フリップフロップ回路にて保持された前記アドレス信号を読み出し、読み出した前記アドレス信号に基づいて前記アドレス情報を復号し、復号した前記アドレス情報に対応する信号を前記復号信号としてハイレベルにする、
集積回路。
上記構成により、複数のフリップフロップ回路は、所定の記憶領域のアドレス情報を示すアドレス信号を保持し、復号回路は、フリップフロップ回路にて保持されたアドレス信号を読み出し、読み出したアドレス信号に基づいてアドレス情報を復号し、復号したアドレス情報に対応する信号を復号信号としてハイレベルにする。この結果、例えば複数の記憶領域へ一度にアクセスすることにより記憶領域内に格納されたデータが破壊されることを防ぐことができ、ユーザが設計した論理回路の構造を入念にチェックしなくてもデータの破壊を防ぐことができる。
(付記5)
付記1乃至4のいずれかに記載の集積回路であって、
前記遅延発生回路は、シミュレーションに基づいてメタステーブル状態が生じるメタステーブル時間以上になるように設定された前記待機時間が経過したときに前記待機終了信号を出力する、
集積回路。
上記構成により、遅延発生回路は、シミュレーションに基づいてメタステーブル時間以上になるように設定された待機時間が経過したときに待機終了信号を出力するので、アドレスデコーダからの出力が不安定になることがなく、アドレスデコーダの出力を一意に決定することができる。従って、記憶領域内に格納されたデータが破壊されることを防ぐことができる。
(付記6)
付記1乃至4のいずれかに記載の集積回路であって、
前記遅延発生回路は、予め設定された前記フリップフロップ回路の遅延時間と、予め設定された定数と、の積により設定された前記待機時間が経過したときに前記待機終了信号を出力する、
集積回路。
上記構成により、遅延発生回路は、フリップフロップ回路の遅延時間と定数との積により設定された待機時間が経過したときに待機終了信号を出力するので、メタステーブル時間がわからない場合でも、アドレスデコーダの出力を一意に決定するために十分な時間だけ待機することができる。従って、記憶領域内に格納されたデータが破壊されることを防ぐことができる。
(付記7)
記憶制御装置に、
入力された情報を保持する情報保持手段と、
複数の前記情報保持手段にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号情報を出力する復号手段と、
前記情報保持手段に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力する遅延発生手段と、
前記遅延発生手段から出力された前記待機終了信号の入力に応じて、前記復号手段から入力された前記復号情報を有効にして、出力先に出力する制御手段と、
を実現させるためのプログラム。
(付記8)
付記7に記載のプログラムであって、
前記遅延発生手段は、前記クロック信号の変化を検出してから前記待機時間が経過するまでの間、ローレベルの前記待機終了信号を出力し、前記クロック信号の変化を検出してから前記待機時間が経過したときに前記待機終了信号をローレベルからハイレベルに変更して出力し、
前記制御手段は、前記遅延発生手段からハイレベルの前記待機終了信号が入力された場合に、前記復号手段から入力された前記復号信号を有効にして、前記出力先に出力する、
プログラム。
(付記9)
複数のフリップフロップ回路が入力された情報を保持し、
複数の前記フリップフロップ回路にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号信号を出力し、
前記フリップフロップ回路に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力し、
出力された前記待機終了信号の入力に応じて、出力された前記復号信号を有効にして、出力先に出力する、
情報処理方法。
(付記10)
付記9に記載の情報処理方法であって、
前記クロック信号の変化を検出してから前記待機時間が経過するまでの間、ローレベルの前記待機終了信号を出力し、前記クロック信号の変化を検出してから前記待機時間が経過したときに前記待機終了信号をローレベルからハイレベルに変更して出力し、
ハイレベルの前記待機終了信号が入力された場合に、出力された前記復号信号を有効にして、前記出力先に出力する、
情報処理方法。
1 集積回路
11 FF回路
12 アドレスデコーダ
13 遅延発生回路
14 ANDゲート
15 情報保持部
21 トグルFF
22 インバータ
23 EX-NORゲート
31 遅延発生回路
41 EX-ORゲート
51 遅延発生回路
61 PLL
71 遅延発生回路
81 FF回路
91 RAM
101 集積回路
111 FF回路
112 復号回路
113 遅延発生回路
114 制御回路




Claims (10)

  1. 入力された情報を保持する複数のフリップフロップ回路と、
    複数の前記フリップフロップ回路にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号信号を出力する復号回路と、
    前記フリップフロップ回路に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力する遅延発生回路と、
    前記遅延発生回路から出力された前記待機終了信号の入力に応じて、前記復号回路から入力された前記復号信号を有効にして、出力先に出力する制御回路と、
    を備える集積回路。
  2. 請求項1に記載の集積回路であって、
    前記遅延発生回路は、前記クロック信号の変化を検出してから前記待機時間が経過するまでの間、ローレベルの前記待機終了信号を出力し、前記クロック信号の変化を検出してから前記待機時間が経過したときに前記待機終了信号をローレベルからハイレベルに変更して出力し、
    前記制御回路は、前記遅延発生回路からハイレベルの前記待機終了信号が入力された場合に、前記復号回路から入力された前記復号信号を有効にして、前記出力先に出力する、
    集積回路。
  3. 請求項2に記載の集積回路であって、
    前記制御回路は、前記復号回路から入力された前記復号信号と、前記遅延発生回路から入力された前記待機終了信号と、の論理積の信号を前記出力先に出力する、
    集積回路。
  4. 請求項1乃至3のいずれかに記載の集積回路であって、
    複数の前記フリップフロップ回路は、所定の記憶領域のアドレス情報を示すアドレス信号を保持し、
    前記復号回路は、前記フリップフロップ回路にて保持された前記アドレス信号を読み出し、読み出した前記アドレス信号に基づいて前記アドレス情報を復号し、復号した前記アドレス情報に対応する信号を前記復号信号としてハイレベルにする、
    集積回路。
  5. 請求項1乃至4のいずれかに記載の集積回路であって、
    前記遅延発生回路は、シミュレーションに基づいてメタステーブル状態が生じるメタステーブル時間以上になるように設定された前記待機時間が経過したときに前記待機終了信号を出力する、
    集積回路。
  6. 請求項1乃至4のいずれかに記載の集積回路であって、
    前記遅延発生回路は、予め設定された前記フリップフロップ回路の遅延時間と、予め設定された定数と、の積により設定された前記待機時間が経過したときに前記待機終了信号を出力する、
    集積回路。
  7. 記憶制御装置に、
    入力された情報を保持する情報保持手段と、
    複数の前記情報保持手段にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号情報を出力する復号手段と、
    前記情報保持手段に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力する遅延発生手段と、
    前記遅延発生手段から出力された前記待機終了信号の入力に応じて、前記復号手段から入力された前記復号情報を有効にして、出力先に出力する制御手段と、
    を実現させるためのプログラム。
  8. 請求項7に記載のプログラムであって、
    前記遅延発生手段は、前記クロック信号の変化を検出してから前記待機時間が経過するまでの間、ローレベルの前記待機終了信号を出力し、前記クロック信号の変化を検出してから前記待機時間が経過したときに前記待機終了信号をローレベルからハイレベルに変更して出力し、
    前記制御手段は、前記遅延発生手段からハイレベルの前記待機終了信号が入力された場合に、前記復号手段から入力された前記復号信号を有効にして、前記出力先に出力する、
    プログラム。
  9. 複数のフリップフロップ回路が入力された情報を保持し、
    複数の前記フリップフロップ回路にて保持された情報を読み出し、読み出した複数の当該情報に基づいて復号した復号信号を出力し、
    前記フリップフロップ回路に入力されるクロック信号の予め定められた変化を検出し、前記クロック信号の変化を検出してから、予め設定された待機時間が経過したときに待機終了信号を出力し、
    出力された前記待機終了信号の入力に応じて、出力された前記復号信号を有効にして、出力先に出力する、
    情報処理方法。
  10. 請求項9に記載の情報処理方法であって、
    前記クロック信号の変化を検出してから前記待機時間が経過するまでの間、ローレベルの前記待機終了信号を出力し、前記クロック信号の変化を検出してから前記待機時間が経過したときに前記待機終了信号をローレベルからハイレベルに変更して出力し、
    ハイレベルの前記待機終了信号が入力された場合に、出力された前記復号信号を有効にして、前記出力先に出力する、
    情報処理方法。
JP2012271358A 2012-12-12 2012-12-12 集積回路 Pending JP2014116054A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012271358A JP2014116054A (ja) 2012-12-12 2012-12-12 集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012271358A JP2014116054A (ja) 2012-12-12 2012-12-12 集積回路

Publications (1)

Publication Number Publication Date
JP2014116054A true JP2014116054A (ja) 2014-06-26

Family

ID=51171890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012271358A Pending JP2014116054A (ja) 2012-12-12 2012-12-12 集積回路

Country Status (1)

Country Link
JP (1) JP2014116054A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016208231A (ja) * 2015-04-21 2016-12-08 日本電気株式会社 論理回路、及び設定回路の制御方法
JP2017163435A (ja) * 2016-03-11 2017-09-14 株式会社富士通アドバンストエンジニアリング プログラマブルデバイスの制御方法およびプログラマブルデバイス
JP2019083348A (ja) * 2019-03-04 2019-05-30 ルネサスエレクトロニクス株式会社 半導体装置
US10566329B2 (en) 2015-09-11 2020-02-18 Renesas Electronics Corporation Semiconductor device having data signal path of meandering shape via a plurality of wirings

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0574167A (ja) * 1991-09-17 1993-03-26 Nec Corp 半導体記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0574167A (ja) * 1991-09-17 1993-03-26 Nec Corp 半導体記憶装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016208231A (ja) * 2015-04-21 2016-12-08 日本電気株式会社 論理回路、及び設定回路の制御方法
US10566329B2 (en) 2015-09-11 2020-02-18 Renesas Electronics Corporation Semiconductor device having data signal path of meandering shape via a plurality of wirings
JP2017163435A (ja) * 2016-03-11 2017-09-14 株式会社富士通アドバンストエンジニアリング プログラマブルデバイスの制御方法およびプログラマブルデバイス
JP2019083348A (ja) * 2019-03-04 2019-05-30 ルネサスエレクトロニクス株式会社 半導体装置

Similar Documents

Publication Publication Date Title
JP4920326B2 (ja) 半導体メモリ素子
JP2006190441A (ja) 同期式半導体装置用のレイテンシ制御装置及びレイテンシ制御方法
KR20120052029A (ko) 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
US6301322B1 (en) Balanced dual-edge triggered data bit shifting circuit and method
KR20190112838A (ko) 입력 클록 신호와 다상 클록 신호 간의 위상 관계를 결정하기 위한 장치 및 방법
JP5554476B2 (ja) 半導体記憶装置および半導体記憶装置の試験方法
JP2006191567A (ja) オンチップデータ伝送制御装置及びその制御方法
TWI610538B (zh) 掃描正反器、其操作方法及包含該掃描正反器之裝置
JP2014116054A (ja) 集積回路
CN114678056A (zh) 一种信号采样电路以及半导体存储器
JP2007536773A (ja) 多重データレートramメモリコントローラ
JP2007102936A (ja) 半導体記憶装置
KR20150000228A (ko) 반도체 집적 회로
US7652939B2 (en) Semiconductor memory device and method for driving the same
KR102222643B1 (ko) 스캔 체인 회로 및 이를 포함하는 집적 회로
US20070070677A1 (en) Internal signal generator for use in semiconductor memory device
KR100493028B1 (ko) 반도체 메모리 장치에서 mrs 코드를 생성하는 회로 및상기 mrs 코드를 생성하는 방법
KR100892723B1 (ko) 반도체 집적회로의 디지털 온도 정보 생성 장치
JP2007104469A (ja) シリアルデータ入力システム
JP2009124532A (ja) 半導体集積回路
JP2014106969A (ja) Plcシステムでのデータ処理装置及びその方法
KR20070098038A (ko) 데이터 출력 인에이블 신호 제어 회로
TW201308076A (zh) 半導體記憶體裝置及操作其之方法
KR101912905B1 (ko) 카스 레이턴시 설정 회로 및 이를 포함하는 반도체 메모리 장치
CN107634739B (zh) 关于可变分频比的分频器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170221