JP7295682B2 - フリップフロップ回路及びデータ処理装置 - Google Patents

フリップフロップ回路及びデータ処理装置 Download PDF

Info

Publication number
JP7295682B2
JP7295682B2 JP2019065957A JP2019065957A JP7295682B2 JP 7295682 B2 JP7295682 B2 JP 7295682B2 JP 2019065957 A JP2019065957 A JP 2019065957A JP 2019065957 A JP2019065957 A JP 2019065957A JP 7295682 B2 JP7295682 B2 JP 7295682B2
Authority
JP
Japan
Prior art keywords
data
circuit
slave
master
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019065957A
Other languages
English (en)
Other versions
JP2020167511A (ja
Inventor
啓明 木村
一哉 井置
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
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 Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP2019065957A priority Critical patent/JP7295682B2/ja
Priority to US16/831,449 priority patent/US11057024B2/en
Publication of JP2020167511A publication Critical patent/JP2020167511A/ja
Application granted granted Critical
Publication of JP7295682B2 publication Critical patent/JP7295682B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0372Bistable circuits of the master-slave type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Description

本発明は、フリップフロップ回路及びデータ処理装置に関する。
データを扱う様々な装置において、或る機能(例えばIC通信の機能)を複数同時に実現したいこともある。この場合には、互いに同じ構成を有する回路を複数設けて、複数の回路を並列に動作させるといったことが、一般的に行われる。
図7に、互いに同じ構成を有する回路が2つ設けられた参考装置900の構成図を示す。参考装置900は、互いに同じ構成を有する第1及び第2デジタル処理回路910を備えている。各デジタル処理回路910は、組み合わせ回路を含むロジック回路912と、ロジック回路912に対してデータを入力する複数のD型フリップフロップ回路(以下、DFFと称する)から成るフリップフロップ群911と、ロジック回路912の出力データを受けて保持する複数のDFFから成るフリップフロップ群913と、を備える。フリップフロップ群911及び913を構成する各DFFはクロック信号CLK’に同期して動作する。
参考装置900では、第1処理用データに基づく第1信号処理と第2処理用データに基づく第2信号処理とを並列して実行する必要がある(換言すれば同時に実行する必要がある)。第1及び第2信号処理における処理の内容自体は、第1及び第2信号処理間で共通であるが、並列実行の必要性から、2つのデジタル処理回路910が用意される。そして、第1デジタル処理回路910に対して第1処理用データを入力することで第1デジタル処理回路910にて第1信号処理を実行させ、第2デジタル処理回路910に対して第2処理用データを入力することで第2デジタル処理回路910にて第2信号処理を実行させる。尚、DFFとしては、マスタラッチ回路とスレーブラッチ回路を備えたマスタスレーブ型のものが一般的である(例えば特許文献1参照)。
特開2008-219491号公報
図7の参考装置900では、共通の構成を有するロジック回路912を2つ設ける必要があり、その分、回路面積が大型化する。共通の構成を有するロジック回路912が3つ以上設けられる場合は尚更である。回路面積の小型化が有益であることは言うまでもない。
本発明は、フリップフロップ回路を有する装置全体における回路面積の小型化に寄与するフリップフロップ回路、及び、回路面積の小型化に寄与するデータ処理装置を提供することを目的とする。
本発明に係るフリップフロップ回路は、対象入力データに基づくマスタ入力データを受けるマスタラッチ回路と、前記マスタラッチ回路からのマスタ出力データの取り込み及び保持が可能なスレーブラッチ回路と、データ出力部と、を備え、前記対象入力データに基づく対象出力データを前記データ出力部から出力するフリップフリップ回路であって、前記スレーブラッチ回路として、前記マスタラッチ回路に対して並列に第1~第Nスレーブラッチ回路が設けられ(Nは2以上の整数)、前記第1~第Nスレーブラッチ回路から出力されるデータの何れか1つを選択する出力選択回路を更に備え、前記出力選択回路による選択データを前記対象出力データとして前記データ出力部から出力する構成(第1の構成)である。
上記第1の構成に係るフリップフロップ回路において、矩形波信号であるクロック信号の入力を受けるクロック信号入力部と、クロック選択信号の入力を受けるクロック選択信号入力部と、出力選択信号の入力を受ける出力選択信号入力部と、前記クロック信号及び前記クロック選択信号に基づき第1~第N制御信号を生成する制御信号生成回路と、が備えられ、前記マスタラッチ回路は、前記クロック信号に同期して動作し、第iスレーブラッチ回路は、第i制御信号に同期して動作し(iは1以上N以下の整数)、前記出力選択回路は、前記出力選択信号に基づき、前記第1~第Nスレーブラッチ回路の出力データの何れかを選択する構成(第2の構成)であっても良い。
上記第2の構成に係るフリップフロップ回路において、前記制御信号生成回路は、前記クロック選択信号に基づき、前記第1~第N制御信号の内の何れか1つを前記クロック信号と同期して信号レベルが変化する特定制御信号とし且つ他の制御信号である非特定制御信号のレベルを所定レベルで固定する構成(第3の構成)であっても良い。
上記第3の構成に係るフリップフロップ回路において、前記マスタラッチ回路は、前記クロック信号における所定のレベル変化に応じて前記マスタ入力データを取り込んで保持し、その保持データを前記マスタ出力データとして各スレーブラッチ回路に出力し、前記第1~第Nスレーブラッチ回路の内、前記特定制御信号に対応する特定スレーブラッチ回路は、前記特定制御信号における所定のレベル変化に応じて前記マスタ出力データを取り込んで保持し、前記第1~第Nスレーブラッチ回路の内、前記非特定制御信号に対応する非特定スレーブラッチ回路は、自身の保持データを非変化とし、各スレーブラッチ回路は自身の保持データを前記出力選択回路に出力する構成(第4の構成)であっても良い。
上記第4の構成に係るフリップフロップ回路において、前記マスタラッチ回路は、前記マスタ入力データに応じた前記マスタ出力データを出力可能なマスタ出力回路、及び、前記マスタ出力データを前記マスタ出力回路の入力側に帰還可能なマスタ帰還回路を有して、前記マスタ帰還回路による帰還を行うことなく前記マスタ入力データに基づき前記マスタ出力データを生成するマスタスルー状態、及び、前記マスタ入力データに関係無く前記マスタ帰還回路による帰還データに基づき前記マスタ出力データを生成するマスタホールド状態の何れかをとり、各スレーブラッチ回路は、前記マスタ出力データに基づくスレーブ入力データを受けて前記スレーブ入力データに応じたスレーブ出力データを出力可能なスレーブ出力回路、及び、前記スレーブ出力データを前記スレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を有して、前記スレーブ帰還回路による帰還を行うことなく前記スレーブ入力データに基づき前記スレーブ出力データを生成するスレーブスルー状態、及び、前記スレーブ入力データに関係無く前記スレーブ帰還回路による帰還データに基づき前記スレーブ出力データを生成するスレーブホールド状態の何れかをとり、前記マスタラッチ回路の状態は、前記クロック信号のレベルに応じ、前記マスタスルー状態及び前記マスタホールド状態間で切り替えられ、前記特定スレーブラッチ回路の状態は、前記特定制御信号のレベルに応じ、前記スレーブスルー状態及び前記スレーブホールド状態間で切り替えられ、前記非特定スレーブラッチ回路の状態は、前記非特定制御信号に基づき、前記スレーブホールド状態で固定される構成(第5の構成)であっても良い。
上記第5の構成に係るフリップフロップ回路において、第1~第Nセット信号の入力を受けるセット信号入力部が更に備えられ、前記第iスレーブラッチ回路は、前記スレーブホールド状態において、第iセット信号をも参照して前記第iスレーブラッチ回路の前記スレーブ出力データを生成し、前記マスタラッチ回路は、前記マスタスルー状態及び前記マスタホールド状態の夫々において、前記第1~第Nセット信号をも参照して前記マスタ出力データを生成する構成(第6の構成)であっても良い。
上記第5又は第6の構成に係るフリップフロップ回路において、第1~第Nリセット信号の入力を受けるリセット信号入力部が更に備えられ、前記第iスレーブラッチ回路は、前記スレーブスルー状態及び前記スレーブホールド状態の夫々において、第iリセット信号をも参照して前記第iスレーブラッチ回路の前記スレーブ出力データを生成し、前記マスタラッチ回路は、前記マスタホールド状態において、前記第1~第Nリセット信号をも参照して前記マスタ出力データを生成する構成(第7の構成)であっても良い。
上記第1~第7の構成の何れかに係るフリップフロップ回路において、前記対象入力データは第1及び第2対象入力データを含み、前記第1及び第2対象入力データの内の一方を前記マスタ入力データとして前記マスタラッチ回路に供給する入力選択回路を更に備えた構成(第8の構成)であっても良い。
本発明に係るデータ処理装置は、上記第1~第8の構成の何れかに係るフリップフロップ回路と、前記フリップフロップ回路に対して前記対象入力データを供給するデータ入力回路と、前記フリップフロップ回路の前記データ出力部から出力される前記対象出力データに基づいて動作するロジック回路と、を備えた構成(第9の構成)である。
本発明に係るデータ処理装置は、上記第2~第7の構成の何れかに係るフリップフロップ回路と、前記フリップフロップ回路に対して前記対象入力データを供給するデータ入力回路と、前記クロック選択信号及び前記出力選択信号を前記フリップフロップ回路に供給する制御回路と、前記フリップフロップ回路の前記データ出力部から出力される前記対象出力データに基づいて動作するロジック回路と、を備えた構成(第10の構成)であっても良い。
上記第10の構成に係るデータ処理装置において、互いに異なる第1~第Nタイミングでの前記マスタ入力データが、夫々、前記第1~第Nスレーブラッチ回路に取り込まれて保持され、且つ、前記第1~第Nスレーブラッチ回路の保持データが別々のタイミングで前記データ出力部から出力されるよう、前記制御回路は、前記クロック選択信号及び前記出力選択信号を前記フリップフロップ回路に供給する構成(第11の構成)であっても良い。
本発明によれば、フリップフロップ回路を有する装置全体における回路面積の小型化に寄与するフリップフロップ回路、及び、回路面積の小型化に寄与するデータ処理装置を提供することが可能となる。
本発明の第1実施形態に係るデータ処理装置の構成図である。 本発明の第1実施形態に係り、マルチスレーブ型のフリップフロップ回路についてのデータ及び信号の入出力に関わる構成図である。 本発明の第1実施形態に属する実施例EX1_1に係り、マルチスレーブ型のフリップフロップ回路の構成図である。 図3のマスタラッチ回路におけるスルー状態及びホールド状態の概念図である。 図3のスレーブラッチ回路におけるスルー状態及びホールド状態の概念図である。 本発明の第1実施形態に属する実施例EX1_1に係り、マルチスレーブ型のフリップフロップ回路のタイミングチャートである。 参考装置の構成図である。 参考装置と、本発明の第1実施形態に係る装置と、を対比するための図である。 本発明の第1実施形態に属する実施例EX1_2に係り、マルチスレーブ型のフリップフロップ回路の構成図である。 本発明の第1実施形態に属する実施例EX1_3に係り、マルチスレーブ型のフリップフロップ回路の構成図である。 図10に示される4つのスレーブラッチ回路の構成図である。 本発明の第2実施形態に係るデータ処理装置の構成図である。 本発明の第2実施形態に係り、マルチスレーブ型のフリップフロップ回路についてのデータ及び信号の入出力に関わる構成図である。 本発明の第2実施形態に係り、マルチスレーブ型のフリップフロップ回路の構成図である。
以下、本発明の実施形態の例を、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。尚、本明細書では、記述の簡略化上、情報、信号、物理量、素子又は部位等を参照する記号又は符号を記すことによって、該記号又は符号に対応する情報、信号、物理量、素子又は部位等の名称を省略又は略記することがある。例えば、後述の“SEL”によって参照される出力選択信号は(図2参照)、出力選択信号SELと表記されることもあるし、信号SELと略記されることもあり得るが、それらは全て同じものを指す。
まず、本発明の実施形態の記述にて用いられる幾つかの用語について説明を設ける。本発明の実施形態において、ICとは集積回路(Integrated Circuit)の略称である。レベルとは電位のレベルを指し、任意の信号又は電圧についてハイレベルはローレベルよりも高い電位を有する。或る任意の注目した信号について、注目した信号がハイレベルであるとき、当該注目した信号の反転信号はローレベルをとり、注目した信号がローレベルであるとき、当該注目した信号の反転信号はハイレベルをとる。任意の信号又は電圧において、ローレベルからハイレベルへの切り替わりをアップエッジと称し、ハイレベルからローレベルへの切り替わりをダウンエッジと称する。
<<第1実施形態>>
本発明の第1実施形態を説明する。図1は、本発明の第1実施形態に係るデータ処理装置1の構成図である。データ処理装置1は半導体集積回路として構成される。データ処理装置1は、デジタル処理回路2、ステート制御回路3、前段回路4、後段回路5、タイミング制御回路6及びクロック信号生成回路7を備える。尚、ここでは、データ処理装置1の構成要素の内、本発明に関連する要部のみに注目しており、符号2~7によって参照される構成要素とは異なる他の構成要素もデータ処理装置1には含まれうるが、他の構成要素の図示及び説明は省略する。
クロック信号生成回路7はクロック信号CLKを生成及び出力する。クロック信号CLKは所定の周波数(例えば2MHz)を有する矩形波信号であり、故にクロック信号CLKの信号レベルは周期的にローレベル及びハイレベル間で切り替わる。デジタル処理回路2及びステート制御回路3はクロック信号CLKに同期して動作する。前段回路4、後段回路5及びタイミング制御回路6は、クロック信号CLKに同期して動作して良いし、クロック信号CLKとは別のクロック信号に同期して動作しても良い。
前段回路4は、データD[1]~D[M]をデジタル処理回路2に供給する。ここで、Mは2以上の任意の整数である。データD[1]~D[M]は、前段回路4及びデジタル処理回路2間に設けられたM本の配線を介して同時にデジタル処理回路2に入力される。
デジタル処理回路2はフリップフロップ回路を複数個備える。デジタル処理回路2に設けられた各フリップフロップ回路は、マスタラッチ回路及びスレーブラッチ回路を備えたマスタスレーブ型のフリップフロップ回路である。但し、デジタル処理回路2に設けられた各フリップフロップ回路にはスレーブラッチ回路が複数個備えられている。スレーブラッチ回路が複数個設けられたフリップフロップ回路を、特にマルチスレーブ型のフリップフロップ回路と称し、以下、“MSFF”と表記する。“MSFF”は “Multi-Slave Flip-Flop”の略称である。
具体的には、デジタル処理回路2は、ロジック回路20と、ロジック回路20の前段側に配置された計M個のMSFF10と、ロジック回路20の後段側に配置された計M個のMSFF30と、を備える。Mは2以上の任意の整数である。M及びMは互いに一致する値を有していても良いし、互いに異なる値を有していても良い。M個のMSFF10を互いに区別する必要がある場合、M個のMSFF10を符号“10[1]~10[M]”によって参照する。M個のMSFF30を互いに区別する必要がある場合、M個のMSFF30を符号“30[1]~30[M]”によって参照する。MSFF10[1]~10[M]及びMSFF30[1]~30[M]は、互いに同じ構成を有する。
デジタル処理回路2は、入力されたデータD[1]~D[M]に対し所定の信号処理(論理演算)を行い、その信号処理の結果を示すデータを出力する。
ステート制御回路3は、タイミング制御回路6によるタイミング制御の下、デジタル処理回路2内の全てのMSFF10及び30に対して出力選択信号SEL及びクロック選択信号SELCを供給する。
図2に、1つのMSFF100における、データ及び信号の入出力に関わる構成を示す。MSFF100を、MSFF10[1]~10[M]及びMSFF30[1]~30[M]の夫々として用いることができる。
MSFF100は、MSFF100の外部からの入力データDを受けるデータ入力部101と、MSFF100の出力データQが現れるデータ出力部102と、クロック信号CLKの入力を受けるクロック信号入力部103と、クロック選択信号SELCの入力を受けるクロック選択信号入力部104と、出力選択信号SELの入力を受ける出力選択信号入力部105と、を備える。更に、MSFF100には、セット信号SETの入力を受けるセット信号入力部106及びリセット信号RSTの入力を受けるリセット信号入力部107が設けられ得る。MSFF100に入力部106及び107が設けられる場合、セット信号SET及びリセット信号RSTは、ステート制御回路3又はそれ以外の回路からMSFF100に供給される。MSFF100に入力部106及び107が設けられないこともある。
図1のデータ処理装置1において、MSFF10[1]~10[M]にとっての入力データDは夫々データD[1]~D[M]であり、MSFF10[1]~10[M]にとっての出力データQは夫々データQ[1]~Q[M]である。図1のデータ処理装置1において、MSFF30[1]~30[M]にとっての入力データDは夫々データD[1]~D[M]であり、MSFF30[1]~30[M]にとっての出力データQは夫々データQ[1]~Q[M]である。データD[1]~D[M]、Q[1]~Q[M]、D[1]~D[M]及びQ[1]~Q[M]の夫々は1ビットのデジタルデータである。
ロジック回路20に対してMSFF10[1]~10[M]の出力データQ[1]~Q[M]が入力される。ロジック回路20は、組み合わせ回路を含み、出力データQ[1]~Q[M]に基づく所定の信号処理(論理演算)を行って、その信号処理の結果をデータD[1]~D[M]として出力する。ロジック回路20からのデータD[1]~D[M]が夫々MSFF30[1]~30[M]に入力される。
MSFF30[1]~30[M]の出力データQ[1]~Q[M]は後段回路5に供給される。後段回路5は、自身に供給されたデータに基づいて所定の処理を実行する。尚、デジタル処理回路2においてMSFF30[1]~30[M]の出力データQ[1]~Q[M]に対し更に他の信号処理を施し、これによって得られるデータを後段回路5に供給するようにしても良い。
第1実施形態は、以下の実施例EX1_1~EX1_3を含む。実施例EX1_1~EX1_3にて、データ処理装置1(特にMSFF10及び30)の具体的な構成例や動作例を説明する。尚、実施例EX1_1~EX1_3の内、任意の実施例に記載した事項を、他の任意の実施例に適用することもできる(即ち複数の実施例の内の任意の2以上の実施例を組み合わせることも可能である)。
―――実施例EX1_1―――
実施例EX1_1を説明する。実施例EX1_1では、図2の入力部106及び107がMSFF100に設けられていないことを想定する。
図3は、実施例EX1_1に係るMSFF100であるMSFF100aの内部構成図である。MSFF100aは、制御信号生成回路110、インバータ回路120、マスタラッチ回路130、2つのスレーブラッチ回路140、出力選択回路150、及び、インバータ回路160を備える。MSFF100aは、所謂マスタスレーブ型のフリップフロップ回路として構成されているが、マスタラッチ回路130の後段側に、マスタラッチ回路130に対して並列に2つのスレーブラッチ回路140が設けられている。2つのスレーブラッチ回路140を互いに区別する必要がある場合、2つのスレーブラッチ回路140の内の一方を符号“140_1”によって参照し、他方を符号“140_2”によって参照する。
制御信号生成回路110に対し、クロック信号CP及びクロック選択信号SELCが入力される。クロック信号CPはMSFF100の内部で参照される内部クロック信号である。クロック信号CPはクロック信号CLKと等価なものであり、クロック信号CLKと同じものを指すと考えて良い。実施例EX1_1において、クロック選択信号SELCは1ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。
制御信号生成回路110は、信号CP及びSELCに基づき制御信号CP1及びCP2を生成する。具体的には、回路110はAND回路111及び112を備える。AND回路111は信号CPと信号SELCの反転信号との論理積信号を制御信号CP1として出力する。AND回路112は信号CPと信号SELCとの論理積信号を制御信号CP2として出力する。故に、クロック選択信号SELCがローレベルであるときには、制御信号CP1がクロック信号CPと等価な信号となって、制御信号CP1の信号レベルがクロック信号CPに同期してローレベル及びハイレベル間で変化する一方で、制御信号CP2の信号レベルはローレベルで固定される。逆に、クロック選択信号SELCがハイレベルであるときには、制御信号CP2がクロック信号CPと等価な信号となって、制御信号CP2の信号レベルがクロック信号CPに同期してローレベル及びハイレベル間で変化する一方で、制御信号CP1の信号レベルはローレベルで固定される。
このように、制御信号CP1及びCP2の内、何れか一方がクロック信号CPと等価となる。そして、制御信号CP1、CP2は、夫々、スレーブラッチ回路140_1、140_2に供給される。故に、クロック選択信号SELCは、スレーブラッチ回路140_1及び140_2のどちらに対してクロック信号CPを供給するのかを選択する信号として機能する。制御信号CP1及びCP2を第1及び第2クロック信号と読み替えても良く、この場合、クロック信号CLK及びCPは基準クロック信号と称され得る。
インバータ回路120の入力端には入力データDを示す信号が供給され、インバータ回路120の出力端からは入力データDを示す信号の反転信号が出力される。インバータ回路120の出力信号(即ち入力データDを示す信号の反転信号)は、マスタ入力データDを示す信号として機能する。マスタ入力データDを示す信号はマスタラッチ回路130の入力端に供給され、マスタ入力データDに応じたマスタ出力データQを示す信号がマスタラッチ回路130の出力端から出力される。マスタ出力データQを示す信号はスレーブ入力データDを示す信号として各スレーブラッチ回路140の入力端に供給される。各スレーブラッチ回路140は、スレーブ入力データDに応じたスレーブ出力データQを生成してスレーブ出力データQを示す信号を自身の出力端から出力する。出力選択回路150は、出力選択信号SELに基づき、2つのスレーブラッチ回路140からの2つのスレーブ出力データQの何れか一方を選択し、選択したスレーブ出力データQを示す信号を出力する。インバータ回路160は、出力選択回路150にて選択及び出力されたスレーブ出力データQを示す信号の反転信号を、出力データQを示す信号として生成する。出力データQを示す信号はデータ出力部102から出力される。
入力データDを示す信号、マスタ入力データDを示す信号、マスタ出力データQを示す信号、スレーブ入力データDを示す信号、スレーブ出力データQを示す信号、及び、出力データQを示す信号は、夫々に、ローレベル又はハイレベルの信号レベルをとる1ビットのデジタル信号である。
ここでは、入力データD、マスタ出力データQ、スレーブ入力データD及び出力データQは正論理にて定義され、マスタ入力データD及びスレーブ出力データQは負論理にて定義されるものとする。即ち、データD、Q、D又はQである注目データを示す信号の信号レベルがハイレベル、ローレベルであるとき、当該注目データは、夫々、“1”、“0”の論理値を有するものとする。逆に、データD又はQである注目データを示す信号の信号レベルがハイレベル、ローレベルであるとき、当該注目データは、夫々、“0”、“1”の論理値を有するものとする。
任意のラッチ回路又は選択回路について、或るデータを示す信号の当該回路への入力は、或るデータの当該回路への入力と同義であり、或るデータを示す信号の当該回路からの出力は、或るデータの当該回路からの出力と同義である。故に、以下では例えば、マスタラッチ回路130に対してマスタ入力データDを示す信号が入力されることを、マスタラッチ回路130に対するマスタ入力データDの入力と表現したり、マスタラッチ回路130からマスタ出力データQを示す信号が出力されることを、マスタラッチ回路130からのマスタ出力データQの出力と表現したりすることがある(後述の他の実施例及び後述の他の実施形態においても同様)。
マスタラッチ回路130は、クロック信号CPに同期して動作し、クロック信号CPにおける所定のレベル変化に応答してデータDの取り込み及び保持(ラッチ)を行う。マスタラッチ回路130の保持データがマスタ出力データQとなる。スレーブラッチ回路140_1は、制御信号CP1に同期して動作し、制御信号CP1における所定のレベル変化に応答してデータQと一致するデータDの取り込み及び保持(ラッチ)を行う。スレーブラッチ回路140_2は、制御信号CP2に同期して動作し、制御信号CP2における所定のレベル変化に応答してデータQと一致するデータDの取り込み及び保持(ラッチ)を行う。
マスタラッチ回路130、スレーブラッチ回路140及び出力選択回路150の構成及び動作について詳説する。
マスタラッチ回路130は、スイッチ131及び132と、インバータ回路133及び134と、を備える。スイッチ131及び132を含む任意のスイッチは、双方向スイッチとしてのアナログスイッチであり、例えば、CMOS(Complementary Metal-Oxide-Semiconductor)の電界効果トランジスタを用いて構成されたトランスミッションゲートであって良い。スイッチ131及び132を含む任意のスイッチは、第1端、第2端及び制御端を有し、制御端に供給される信号のレベルに応じて、第1端及び第2端が導通状態又は非導通状態(遮断状態)となる。第1端及び第2端が導通状態となることをオン状態と称し、第1端及び第2端が非導通状態(遮断状態)となることをオフ状態と称する。ここでは、スイッチ131及び132を含む任意のスイッチについて、制御端への信号のレベルがハイレベルであるときに当該スイッチはオン状態となり、制御端への信号のレベルがローレベルであるときに当該スイッチはオフ状態となるものとする。
スイッチ131の第1端にはインバータ回路120からマスタ入力データDを示す信号が入力され、スイッチ131の第2端はノード135に接続される。インバータ回路133の入力端はノード135に接続される。インバータ回路133は自身の入力端に加わる信号の反転信号を自身の出力端から出力する。インバータ回路133の出力信号がマスタ出力データQを示す信号となる。インバータ回路133の出力端はインバータ回路134の入力端に接続される。インバータ回路134は自身の入力端に加わる信号の反転信号を自身の出力端から出力する。故に、マスタ出力データQを示す信号の反転信号がインバータ回路134の出力端から出力される。スイッチ132の第1端はインバータ回路134の出力端に接続され、スイッチ132の第2端はノード135に接続される。
スイッチ132の制御端にはクロック信号CPが入力され、スイッチ131の制御端にはクロック信号CPの反転信号CPBが入力される。このため、クロック信号CPがローレベルであるときには、スイッチ131がオン状態且つスイッチ132がオフ状態となることでマスタラッチ回路130はスルー状態(マスタスルー状態)となり、クロック信号CPがハイレベルであるときには、スイッチ131がオフ状態且つスイッチ132がオン状態となることでマスタラッチ回路130はホールド状態(マスタホールド状態)となる。図4(a)、(b)に、マスタラッチ回路130のスルー状態、ホールド状態を模式的に示す。
マスタラッチ回路130は、マスタ入力データDに応じたマスタ出力データQを出力可能なマスタ出力回路、及び、マスタ出力データQをマスタ出力回路の入力側に帰還可能なマスタ帰還回路を備えている、と考えることができる。図3のマスタラッチ回路130において、マスタ出力回路は、インバータ回路133により或いはスイッチ131及びインバータ回路133により構成され、マスタ帰還回路は、インバータ回路134により或いはスイッチ132及びインバータ回路134により構成される。マスタ帰還回路による帰還とは、マスタ出力データQに基づくインバータ回路134の出力信号をノード135に供給することを意味する。
マスタラッチ回路130において、スルー状態(マスタスルー状態)では、マスタ帰還回路による帰還が行われることなく現在のマスタ入力データDに基づき現在のマスタ出力データQ(インバータ回路133の出力データ)が生成される。即ち、マスタラッチ回路130において、スルー状態(マスタスルー状態)では、マスタ入力データDそのものがマスタ出力データQとなる。
マスタラッチ回路130において、ホールド状態(マスタホールド状態)では、現在のマスタ入力データDに関係なくマスタ帰還回路による帰還データ(インバータ回路134の出力データ)に基づき現在のマスタ出力データQが生成される。即ち、マスタラッチ回路130において、ホールド状態(マスタホールド状態)では、マスタ帰還回路によりラッチされた過去のマスタ出力データQに基づき現在のマスタ出力データQが生成される。
2つのスレーブラッチ回路140であるスレーブラッチ回路140_1及び140_2は互いに同じ構成を有し、各スレーブラッチ回路140は、スイッチ141及び142と、インバータ回路143及び144と、を備える。スレーブラッチ回路140_1及び140_2の夫々において、スイッチ141の第1端には、マスタラッチ回路130からのマスタ出力データQを示す信号がスレーブ入力データDを示す信号として入力される。
各スレーブラッチ回路140において、スイッチ141の第2端はノード145に接続され、インバータ回路143の入力端はノード145に接続される。インバータ回路143は自身の入力端に加わる信号の反転信号を自身の出力端から出力する。インバータ回路143の出力信号がスレーブ出力データQを示す信号となる。各スレーブラッチ回路140において、インバータ回路143の出力端はインバータ回路144の入力端に接続される。インバータ回路144は自身の入力端に加わる信号の反転信号を自身の出力端から出力する。故に、各スレーブラッチ回路140において、スレーブ出力データQを示す信号の反転信号がインバータ回路144の出力端から出力される。各スレーブラッチ回路140において、スイッチ142の第1端はインバータ回路144の出力端に接続され、スイッチ142の第2端はノード145に接続される。
各スレーブラッチ回路140において、スイッチ141の制御端には制御信号が入力され、スイッチ142の制御端には制御信号の反転信号が入力される。ここで、スレーブラッチ回路140_1における制御信号は制御信号CP1であり、スレーブラッチ回路140_2における制御信号は制御信号CP2である。故に、スレーブラッチ回路140_1において、スイッチ141の制御端には制御信号CP1が入力される一方でスイッチ142の制御端には制御信号CP1の反転信号CP1Bが入力される。スレーブラッチ回路140_2において、スイッチ141の制御端には制御信号CP2が入力される一方でスイッチ142の制御端には制御信号CP2の反転信号CP2Bが入力される。
このため、制御信号CP1がハイレベルであるときには、スレーブラッチ回路140_1においてスイッチ141がオン状態且つスイッチ142がオフ状態となることでスレーブラッチ回路140_1はスルー状態(スレーブスルー状態)となる。制御信号CP1がローレベルであるときには、スレーブラッチ回路140_1においてスイッチ141がオフ状態且つスイッチ142がオン状態となることでスレーブラッチ回路140_1はホールド状態(スレーブホールド状態)となる。
これに類似し、制御信号CP2がハイレベルであるときには、スレーブラッチ回路140_2においてスイッチ141がオン状態且つスイッチ142がオフ状態となることでスレーブラッチ回路140_2はスルー状態(スレーブスルー状態)となる。制御信号CP2がローレベルであるときには、スレーブラッチ回路140_2においてスイッチ141がオフ状態且つスイッチ142がオン状態となることでスレーブラッチ回路140_2はホールド状態(スレーブホールド状態)となる。
図5(a)、(b)に、1つのスレーブラッチ回路140のスルー状態、ホールド状態を模式的に示す。
スレーブラッチ回路140_1及び140_2の夫々は、スレーブ入力データDに応じたスレーブ出力データQを出力可能なスレーブ出力回路、及び、スレーブ出力データQをスレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を備えている、と考えることができる。図3の各スレーブラッチ回路140において、スレーブ出力回路は、インバータ回路143により或いはスイッチ141及びインバータ回路143により構成され、スレーブ帰還回路は、インバータ回路144により或いはスイッチ142及びインバータ回路144により構成される。スレーブ帰還回路による帰還とは、スレーブ出力データQに基づくインバータ回路144の出力信号をノード145に供給することを意味する。
各スレーブラッチ回路140において、スルー状態(スレーブスルー状態)では、スレーブ帰還回路による帰還が行われることなく現在のスレーブ入力データDに基づき現在のスレーブ出力データQ(インバータ回路143の出力データ)が生成される。即ち、各スレーブラッチ回路140において、スルー状態(スレーブスルー状態)では、スレーブ入力データDそのものがスレーブ出力データQとなる。
各スレーブラッチ回路140において、ホールド状態(スレーブホールド状態)では、現在のスレーブ入力データDに関係なくスレーブ帰還回路による帰還データ(インバータ回路144の出力データ)に基づき現在のスレーブ出力データQが生成される。即ち、各スレーブラッチ回路140において、ホールド状態(スレーブホールド状態)では、スレーブ帰還回路によりラッチされた過去のスレーブ出力データQに基づき現在のスレーブ出力データQが生成される。
制御信号CP1及びCP2の内、クロック信号CPと同期して信号レベルが変化する制御信号を特定制御信号と称することができ、信号レベルが所定レベル(ここではローレベル)で固定される制御信号を非特定制御信号と称することができる。制御信号生成回路110は、クロック選択信号SELCに基づき、制御信号CP1及びCP2の何れか一方を特定制御信号とし、他方を非特定制御信号とする回路であると考えることができる。
マスタラッチ回路130の状態は、クロック信号CPのレベルに応じ、スルー状態及びホールド状態間で切り替えられる。クロック信号CPがローレベルであるときにマスタ入力データDがマスタラッチ回路130に取り込まれ、取り込まれたデータがクロック信号CPのアップエッジに同期してマスタラッチ回路130にラッチ(保持)される。
これと同様に、特定制御信号に対応するスレーブラッチ回路140(以下、特定スレーブラッチ回路と称する)の状態は、特定制御信号のレベルに応じ、スルー状態及びホールド状態間で切り替えられる。特定制御信号がハイレベルであるときにマスタ出力データQがスレーブ入力データDとして特定スレーブラッチ回路に取り込まれ、取り込まれたデータが特定制御信号のダウンエッジに同期して特定スレーブラッチ回路にラッチ(保持)される。
これに対し、非特定制御信号に対応するスレーブラッチ回路140(以下、非特定スレーブラッチ回路と称する)の状態は、非特定制御信号に基づき、ホールド状態で固定されることになる。非特定スレーブラッチ回路ではマスタ出力データQが取り込まれず、非特定スレーブラッチ回路でラッチ(保持)されるデータに変化は生じない。
以下、必要に応じ、スレーブラッチ回路140_1、140_2により保持及び出力されるスレーブ出力データQを、夫々、符号“Q_1”、“Q_2”により参照する。
出力選択回路150は、スイッチ151及び152を備える。スイッチ151の第1端はスレーブラッチ回路140_1の出力端に接続される一方で、スイッチ152の第1端はスレーブラッチ回路140_2の出力端に接続される。故に、スイッチ151の第1端にはスレーブラッチ回路140_1からのスレーブ出力データQ_1を示す信号が入力され、スイッチ152の第1端にはスレーブラッチ回路140_2からのスレーブ出力データQ_2を示す信号が入力される。スイッチ151及び152の各第2端は出力選択回路150の出力端に相当するノード153にて共通接続される。出力選択回路150の出力端(即ちノード153)はインバータ回路160の入力端に接続される。
実施例EX1_1において、出力選択信号SELは1ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。出力選択回路150は、出力選択信号SELに基づき、スレーブ出力データQ_1及びQ_2の何れか一方を選択する。選択されたデータはインバータ回路160を通じ、出力データQとしてデータ出力部102から出力される。
スイッチ152の制御端には出力選択信号SELが入力され、スイッチ151の制御端には出力選択信号SELの反転信号SELBが入力される。このため、出力選択信号SELがローレベルであるときには、スイッチ151がオン状態且つスイッチ152がオフ状態となってスレーブ出力データQ_1が出力選択回路150にて選択されることになり、結果、スレーブ出力データQ_1を示す信号の反転信号がインバータ回路160の出力端から出力される(つまり、スレーブ出力データQ_1が出力データQとなる)。一方、出力選択信号SELがハイレベルであるときには、スイッチ151がオフ状態且つスイッチ152がオン状態となってスレーブ出力データQ_2が出力選択回路150にて選択されることになり、結果、スレーブ出力データQ_2を示す信号の反転信号がインバータ回路160の出力端から出力される(つまり、スレーブ出力データQ_2が出力データQとなる)。
図6に、MSFF100aの動作例を示すタイミングチャートを示す。図6において、上方から下方に向けて並ぶ領域711~723には、夫々、当該動作例に係る、クロック信号CP、入力データD(換言すればマスタ入力データD)、マスタラッチ回路130の状態に相当するマスタ状態、マスタ出力データQ、出力選択信号SEL、クロック選択信号SELC、制御信号CP1、スレーブラッチ回路140_1の状態に相当する第1スレーブ状態、スレーブ出力データQ_1、制御信号CP2、スレーブラッチ回路140_2の状態に相当する第2スレーブ状態、スレーブ出力データQ_2、及び、出力データQの時系列変化が示されている。
尚、図6では、マスタ状態、第1スレーブ状態又は第2スレーブ状態におけるスルー状態は、記号“T”にて表現され、マスタ状態、第1スレーブ状態又は第2スレーブ状態におけるホールド状態は、記号“H”にて表現されている。図6において、A1~A4及びB1~B4の夫々は、MSFF100aの入出力データ又は内部データを表している。個の内、データA1~A4はスレーブラッチ回路140_1にて順次ラッチされるべきデータを表しており、データB1~B4はスレーブラッチ回路140_2にて順次ラッチされるべきデータを表している。
説明の具体化のため区間P~P16に注目して図6のタイミングチャートを説明する。区間P~P16の夫々は、クロック信号CPの周期の1/2の長さを有する。任意の整数iに関し、区間Pi+1は、区間Pよりも、クロック信号CPの周期の1/2だけ後の区間である。整数iが奇数であるときの区間Pにおいて、当該区間Pの開始タイミング直後にクロック信号CPのアップエッジが生じ、その後のクロック信号CPの信号レベルはハイレベルとなる。故に、整数iが奇数であるときの区間Pにおいて、マスタ状態はホールド状態である。整数iが偶数であるときの区間Pにおいて、当該区間Pの開始タイミング直後にクロック信号CPのダウンエッジが生じ、その後のクロック信号CPの信号レベルはローレベルとなる。故に、整数iが偶数であるときの区間Pにおいて、マスタ状態はスルー状態である。
区間P及びPにおける入力データD、区間P及びPにおける入力データD、区間P及びPにおける入力データD、区間P及びPにおける入力データD、区間P及びP10における入力データD、区間P11及びP12における入力データD、区間P13及びP14における入力データD、区間P15及びP16における入力データDは、夫々、データA1、B1、A2、B2、A3、B3、A4、B4である。そうすると、クロック信号CPのアップエッジから始まるクロック信号CPの1周期中において、前半区間(例えばP)にマスタ状態がホールド状態となり、後半区間(例えばP)にマスタ状態がスルー状態となる。故に、マスタ出力データQは、区間P及びPにてデータA1となり、区間P及びPにてデータB1となり、区間P及びPにてデータA2となり、区間P及びPにてデータB2となり、区間P10及びP11にてデータA3となり、区間P12及びP13にてデータB3となり、区間P14及びP15にてデータA4となり、区間P16にてデータB4となる。
図6の動作例において、クロック選択信号SELCはクロック信号CPの2倍の周期を有する矩形波信号である。また、区間Pの開始タイミングにてクロック選択信号SELCにダウンエッジが生じる。故に、クロック選択信号SELCの信号レベルは、マスタ出力データQがデータA1、A2、A3又はA4となる区間(即ち、区間P、P、P、P、P10、P11、P14及びP15)においてローレベルとなり、マスタ出力データQがデータB1、B2、B3又はB4となる区間(即ち、区間P、P、P、P、P12、P13及びP16)においてハイレベルとなる。
図6の動作例において、区間P~P16にのみ注目した場合、制御信号CP1は、クロック信号CP及びクロック選択信号SELCに基づき、区間P、P、P11及びP15においてのみハイレベルとなり、他の区間ではローレベルとなる。故に、区間P~P16にのみ注目した場合、第1スレーブ状態は、区間P、P、P11及びP15においてのみスルー状態となり、他の区間ではホールド状態となる。結果、区間Pにおいて、マスタ出力データQであるデータA1がスレーブラッチ回路140_1に伝達されてラッチされ、区間P~Pにおけるスレーブ出力データQ_1はデータA1となる。同様に、区間Pにおいて、マスタ出力データQであるデータA2がスレーブラッチ回路140_1に伝達されてラッチされ、区間P~P10におけるスレーブ出力データQ_1はデータA2となる。同様に、区間P11~P14におけるスレーブ出力データQ_1はデータA3となり、区間P15から始まるクロック信号CPの2周期分の区間ではスレーブ出力データQ_1はデータA4となる。
図6の動作例において、区間P~P16にのみ注目した場合、制御信号CP2は、クロック信号CP及びクロック選択信号SELCに基づき、区間P、P、P及びP13においてのみハイレベルとなり、他の区間ではローレベルとなる。故に、区間P~P16にのみ注目した場合、第2スレーブ状態は、区間P、P、P及びP13においてのみスルー状態となり、他の区間ではホールド状態となる。結果、区間Pにおいて、マスタ出力データQであるデータB1がスレーブラッチ回路140_2に伝達されてラッチされ、区間P~Pにおけるスレーブ出力データQ_2はデータB1となる。同様に、区間Pにおいて、マスタ出力データQであるデータB2がスレーブラッチ回路140_2に伝達されてラッチされ、区間P~P12におけるスレーブ出力データQ_2はデータB2となる。同様に、区間P13~P16におけるスレーブ出力データQ_2はデータB3となる。図6には示されていないが、区間P16の終了直後から始まるクロック信号CPの2周期分の区間において、スレーブ出力データQ_2はデータB4となる。
図6の動作例において、出力選択信号SELも、クロック選択信号SELCと同様に、クロック信号CPの2倍の周期を有する矩形波信号である。但し、区間Pの開始タイミングにて出力選択信号SELにダウンエッジが生じる。故に、出力選択信号SELは、区間P、P、P、P、P、P10、P13及びP14においてローレベルとなり、区間P、P、P、P、P11、P12、P15及びP16においてハイレベルとなる。
出力選択回路150において、出力選択信号SELがローレベルであるときにはスレーブ出力データQ_1が選択され、出力選択信号SELがハイレベルであるときにはスレーブ出力データQ_2が選択されるので(図3参照)、出力データQは、区間P及びPにてデータA1となり、区間P及びPにてデータB1となり、区間P及びP10にてデータA2となり、区間P11及びP12にてデータB2となり、区間P13及びP14にてデータA3となり、区間P15及びP16にてデータB3となる。
このように、MSFF100aにおいて、第1タイミングでのマスタ入力データD(ここでは入力データDと一致)はスレーブラッチ回路140_1にて取り込まれて保持され、第2タイミングでのマスタ入力データD(ここでは入力データDと一致)はスレーブラッチ回路140_2に取り込まれて保持される。これが実現されるよう、ステート制御回路3はクロック選択信号SELCをMSFF100aに供給する。第1及び第2タイミングは互いに異なるタイミングである。詳細には、第1タイミングは、マスタ入力データDがデータA1、A2、A3又はA4となるタイミングに相当し、第2タイミングは、マスタ入力データDがデータB1、B2、B3又はB4となるタイミングに相当する。そして、ステート制御回路3は、MSFF100aに対する出力選択信号SELのレベルを制御することで、スレーブラッチ回路140_1の保持データ及びスレーブラッチ回路140_2の保持データ(例えばデータA1とデータB1)を、別々のタイミングにデータ出力部102から出力データQとして出力させる。
上述の説明から理解されるよう、MSFF100aでは、2つのスレーブラッチ回路140に対して単一のマスタラッチ回路130が兼用されている。或る区間では、マスタラッチ回路130をスレーブラッチ回路140_1に対するマスタラッチ回路として機能させる。これにより、マスタラッチ回路130及びスレーブラッチ回路140_1から成るマスタスレーブ型の第1フリップフロップ回路としてMSFF100aを動作させる。別の区間では、マスタラッチ回路130をスレーブラッチ回路140_2に対するマスタラッチ回路として機能させる。これにより、マスタラッチ回路130及びスレーブラッチ回路140_2から成るマスタスレーブ型の第2フリップフロップ回路としてMSFF100aを動作させる。
このようなMSFF100aを用いれば、図1のロジック回路20にて、第1処理用データに基づく第1信号処理と、第2処理用データに基づく第2信号処理と、を並列実行させることができる。第1処理用データは、データA1~A4の何れかを指す又はデータA1~A4の総称である。第2処理用データは、データB1~B4の何れかを指す又はデータB1~B4の総称である。第1処理用データ(A1~A4)と第2処理用データ(B1~B4)は互いに異なるデータである。但し、偶然、それらの値が一致することもありえる。
MSFF100aとして構成される図1の各MSFF10に対して図6の動作例を当てはめた場合、データA1~A4及びB1~B4は各MSFF10の入出力データあって、この内、データA1~A4は各MSFF10の入出力データの一部である第1処理用データに相当し、データB1~B4は各MSFF10の入出力データの他の一部である第2処理用データに相当する。
ロジック回路20は、各MSFF10から自身に対し第1処理用データ(A1~A4)が入力されている区間では、第1処理用データに基づく第1信号処理を行って第1信号処理の結果を示すデータ(以下、第1処理結果データと称する)を各MSFF30に出力する。ロジック回路20は、各MSFF10から自身に対し第2処理用データ(B1~B4)が入力されている区間では、第2処理用データに基づく第2信号処理を行って第2信号処理の結果を示すデータ(以下、第2処理結果データと称する)を各MSFF30に出力する。
MSFF100aとして構成される図1の各MSFF30に対して図6の動作例を当てはめた場合、データA1~A4及びB1~B4は各MSFF30の入出力データあって、この内、データA1~A4は各MSFF30の入出力データの一部である第1処理結果データに相当し、データB1~B4は各MSFF30の入出力データの他の一部である第2処理結果データに相当する。各MSFF30から第1処理結果データが後段回路50に供給されている区間において、後段回路50は第1処理結果データに基づく所定の処理を実行できる。各MSFF30から第2処理結果データが後段回路50に供給されている区間において、後段回路50は第2処理結果データに基づく所定の処理を実行できる。
本実施例に係る技術的な有益性について、図7を再度参照しつつ説明する。上述したように、参考装置900では、第1処理用データに基づく第1信号処理と第2処理用データに基づく第2信号処理とを並列して実行する必要がある(換言すれば同時に実行する必要がある)。第1及び第2信号処理における処理の内容自体は、第1及び第2信号処理間で共通であるが、並列実行の必要性から、2つのデジタル処理回路910が用意される。そして、第1デジタル処理回路910に対して第1処理用データを入力することで第1デジタル処理回路910にて第1信号処理を実行させ、第2デジタル処理回路910に対して第2処理用データを入力することで第2デジタル処理回路910にて第2信号処理を実行させる。このように、図7の参考装置900では、共通の構成を有するロジック回路912を2つ設ける必要があり、その分、回路面積が大型化する。
これに対し、実施例EX1_1に係るMSFF100aを利用してデータ処理装置1(図1参照)を構成すれば、第1処理用データに基づく第1信号処理と第2処理用データに基づく第2信号処理を単一のロジック回路20に行わせることが可能であり、夫々の信号処理の結果を各MSFF30を通じて取得することができる。このため、参考装置900との比較において、回路面積を削減することが可能となる。
但し、実施例EX1_1に係るMSFF100aを用いたデータ処理装置1では、参考装置900との比較において、クロック信号の周波数を2倍にする必要がある。例えば、図7の参考装置900において各デジタル処理回路910へのクロック信号CLK’の周波数が100kHzである場合を考える。この場合、MSFF100aを用いたデータ処理装置1において参考装置900と同様の速度にて第1及び第2信号処理を行って第1及び第2処理結果データを得るためには、データ処理装置1のクロック信号CLKの周波数を200kHzにする必要がある。データ処理装置1のクロック信号CLKの周波数を200kHzにすることで、データA1~A4が100kHzの逆数の間隔で出力データQとして得られると共にデータB1~B4が100kHzの逆数の間隔で出力データQとして得られるからである。
参考装置900での各信号処理及びデータ処理装置1での各信号処理が、通信(例えばIC通信)を行うために必要な処理(通信処理)である場合を考える。この場合、第1信号処理及び第2信号処理を第1通信処理及び第2通信処理と読み替えることができる。参考装置900においてもデータ処理装置1においても、各通信処理による通信速度を100kHz相当にする必要があるとする。そして、第1及び第2通信処理は並列実行される必要があるとする。第1通信処理及び第2通信処理の夫々は、必要な時間(例えば10ミリ秒)だけ100kHz相当の通信速度で継続実行される必要があるとする。
そうすると、参考装置900では、図8の上段に示す如く、通信区間において第1通信処理及び第2通信処理が2つのデジタル処理回路910を用いてクロック信号CLK’に基づき100kHz相当の速度で並列実行される。これに対し、データ処理装置1では、図8の下段に示す如く、通信区間において第1通信処理及び第2通信処理が1つのデジタル処理回路2を用いて並列実行される。この際、デジタル処理回路2では、第1通信処理を構成する1クロック分の処理と第2通信処理を構成する1クロック分の処理とがクロック信号CLKに基づき200kHzの逆数の間隔で交互に実行され、全体として、第1通信処理が100kHz相当の速度で実行されると共に第2通信処理が100kHz相当の速度で実行されることになり、必要とされる通信は実現される。
このように、実施例EX1_1に係る構成は、使用されるクロック信号の周波数が2倍となることから、速度要求の高くない回路に対して特に好適である。例えば、20MHzの原クロック信号にて動作するCPU(Central Processing Unit)と、CPUに対し100kHzの逆数の間隔で第1割り込み要求を発生させる第1タイマと、CPUに対し200kHzの逆数の間隔で第2割り込み要求を発生させる第2タイマと、が必要とされる装置を考える(全て図示せず)。当該装置では、例えば、原クロック信号を1/10分周して2MHzの分周クロック信号を生成し、分周クロック信号をカウントする機能を第1及び第2タイマに持たせることで、所望の第1及び第2割り込み要求を発生させることができる。
この際、第1及び第2タイマによるカウントを並列実行させる必要があるが、このような装置に対して実施例EX1_1に係る構成を適用すれば、単一の統合タイマにて、第1及び第2タイマの機能(即ち、100kHzの逆数の間隔で第1割り込み要求を発生させる機能と、200kHzの逆数の間隔で第2割り込み要求を発生させる機能)を実現することができる。この場合であっても、上記の統合タイマに対して2MHzの分周クロック信号を与えれば足る。つまり、第1及び第2タイマを別々に設ける場合と、統合タイマを1つだけ設ける場合とで、割り込み要求の発生のトリガとなるカウント値が相違するだけであって、それらのタイマに必要なクロック周波数は2MHzで十分であり、本発明の適用に当たって弊害は生じない。尚、各タイマは、例えば、分周クロック信号のクロック数(例えば分周クロック信号でのアップエッジの発生数)をカウントする加算器をロジック回路として持つ。
―――実施例EX1_2―――
実施例EX1_2を説明する。実施例EX1_2では、図2の入力部106及び107がMSFF100に設けられていることを想定する。
図9は、実施例EX1_2に係るMSFF100であるMSFF100bの内部構成図である。MSFF100bは、制御信号生成回路110、インバータ回路120、マスタラッチ回路130b、2つのスレーブラッチ回路140b、出力選択回路150、及び、インバータ回路160を備える。即ち、図3のMSFF100aを基準に、マスタラッチ回路130及び2つのスレーブラッチ回路140をマスタラッチ回路130b及び2つのスレーブラッチ回路140bに置換することで、MSFF100bが得られる。2つのスレーブラッチ回路140bを互いに区別する必要がある場合、2つのスレーブラッチ回路140bの内の一方を符号“140b_1”によって参照し、他方を符号“140b_2”によって参照する。
上記の置換を除き、図9のMSFF100bは図3のMSFF100aと同様である。以下、MSFF100aから見たMSFF100bの相違点に注目し、特に記述無き事項については、実施例EX1_1の記載が実施例EX1_2にも適用されて良い。但し、この適用の際、実施例EX1_1の記載における符号“100a”、“130”、“140”、“140_1”、“140_2”は、実施例EX1_2において、夫々、符号“100b”、“130b”、“140b”、“140b_1”、“140b_2”に読み替えられる。
マスタ入力データDを示す信号はマスタラッチ回路130bの入力端に供給され、マスタ入力データDに応じたマスタ出力データQを示す信号がマスタラッチ回路130bの出力端から出力される。マスタ出力データQを示す信号はスレーブ入力データDを示す信号として各スレーブラッチ回路140bの入力端に供給される。各スレーブラッチ回路140bは、スレーブ入力データDに応じたスレーブ出力データQを生成してスレーブ出力データQを示す信号を自身の出力端から出力する。出力選択回路150は、出力選択信号SELに基づき、2つのスレーブラッチ回路140bからの2つのスレーブ出力データQの何れか一方を選択し、選択したスレーブ出力データQを示す信号を出力する。
MSFF100bに対するセット信号SET(図2参照)はセット信号SN1及びSN2から成り、MSFF100bに対するリセット信号RST(図2参照)はリセット信号RN1及びRN2から成る。セット信号SN1及びSN2並びにRN1及びRN2は、夫々に、ローレベル又はハイレベルの信号レベルをとる1ビットのデジタル信号である。
マスタラッチ回路130bは、スイッチ131及び132と、NAND回路133b及び134bと、を備える。即ち、図3のマスタラッチ回路130を基準として、インバータ回路133及び134をNAND回路133b及び134bに置換することで、図9のマスタラッチ回路130bが得られる。NAND回路133b及び134bの夫々は、第1~第3入力端と出力端を備え、第1~第3入力端に加わる3つの信号の否定論理積信号を出力端から出力する。
スイッチ131の第1端にはインバータ回路120からマスタ入力データDを示す信号が入力され、スイッチ131の第2端はノード135に接続される。NAND回路133bの第1及び第2入力端には夫々セット信号SN1及びSN2が入力され、NAND回路133bの第3入力端はノード135に接続される。故に、NAND回路133bは、セット信号SN1及びSN2とノード135の信号が全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。NAND回路133bの出力信号がマスタ出力データQを示す信号となる。
NAND回路133bの出力端はNAND回路134bの第1入力端に接続される。NAND回路134bの第2及び第3入力端には夫々リセット信号RN1及びRN2が入力される。故に、NAND回路134bは、NAND回路133bの出力信号とリセット信号RN1及びRN2とが全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スイッチ132の第1端はNAND回路134bの出力端に接続され、スイッチ132の第2端はノード135に接続される。
スイッチ132の制御端にクロック信号CPが入力され且つスイッチ131の制御端にクロック信号CPの反転信号CPBが入力される点は、実施例EX1_1と同様である。故に、クロック信号CPがローレベルであるときにはマスタラッチ回路130bはスルー状態(マスタスルー状態)となり、クロック信号CPがハイレベルであるときにはマスタラッチ回路130bはホールド状態(マスタホールド状態)となる。
マスタラッチ回路130bは、マスタ入力データDに応じたマスタ出力データQを出力可能なマスタ出力回路、及び、マスタ出力データQをマスタ出力回路の入力側に帰還可能なマスタ帰還回路を備えている、と考えることができる。図9のマスタラッチ回路130bにおいて、マスタ出力回路は、NAND回路133bにより或いはスイッチ131及びNAND回路133bにより構成され、マスタ帰還回路は、NAND回路134bにより或いはスイッチ132及びNAND回路134bにより構成される。マスタ帰還回路による帰還とは、マスタ出力データQに基づくNAND回路134bの出力信号をノード135に供給することを意味する。
マスタラッチ回路130bにおいて、スルー状態(マスタスルー状態)では、マスタ帰還回路による帰還が行われることなく現在のマスタ入力データDに基づき現在のマスタ出力データQ(NAND回路133bの出力データ)が生成され、ホールド状態(マスタホールド状態)では、現在のマスタ入力データDに関係なくマスタ帰還回路による帰還データ(NAND回路134bの出力データ)に基づき現在のマスタ出力データQが生成される。
但し、マスタラッチ回路130bでは、スルー状態及びホールド状態の夫々において、セット信号SN1及びSN2をも参照してマスタ出力データQが生成されることになり、ホールド状態において、リセット信号RN1及びRN2をも参照してマスタ出力データQが生成されることになる。
2つのスレーブラッチ回路140bであるスレーブラッチ回路140b_1及び140b_2は互いに同じ構成を有し、各スレーブラッチ回路140bは、スイッチ141及び142と、NAND回路143b及び144bと、を備える。即ち、図3の各スレーブラッチ回路140を基準として、インバータ回路143及び144をNAND回路143b及び144bに置換することで、図9の各スレーブラッチ回路140bが得られる。NAND回路143b及び144bの夫々は、第1及び第2入力端と出力端を備え、第1及び第2入力端に加わる2つの信号の否定論理積信号を出力端から出力する。スレーブラッチ回路140b_1及び140b_2の夫々において、スイッチ141の第1端には、マスタラッチ回路130bからのマスタ出力データQを示す信号がスレーブ入力データDを示す信号として入力される。
各スレーブラッチ回路140bにおいて、スイッチ141の第2端はノード145に接続される。NAND回路143bの第1入力端にはリセット信号が入力され、NAND回路143bの第2入力端はノード145に接続される。但し、スレーブラッチ回路140b_1、140b_2に対するリセット信号は、夫々、リセット信号RN1、RN2である。故に、スレーブラッチ回路140b_1において、NAND回路143bは、リセット信号RN1とノード145の信号が全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路140b_2において、NAND回路143bは、リセット信号RN2とノード145の信号が全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。各スレーブラッチ回路140bにおいて、NAND回路143bの出力信号がスレーブ出力データQを示す信号となる。スレーブラッチ回路140b_1、140b_2により生成及び出力されるスレーブ出力データQは、夫々、符号“Q_1”、“Q_2”にて参照され得る。
各スレーブラッチ回路140bにおいて、NAND回路143bの出力端はNAND回路144bの第1入力端に接続され、NAND回路144bの第2入力端にセット信号が入力される。但し、スレーブラッチ回路140b_1、140b_2に対するセット信号は、夫々、セット信号SN1、SN2である。故に、スレーブラッチ回路140b_1において、NAND回路144bは、セット信号SN1とNAND回路143bの出力信号(Q_1)の双方がハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路140b_2において、NAND回路144bは、セット信号SN2とNAND回路143bの出力信号(Q_2)の双方がハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。各スレーブラッチ回路140bにおいて、スイッチ142の第1端はNAND回路144bの出力端に接続され、スイッチ142の第2端はノード145に接続される。
実施例EX1_1と同様に、スレーブラッチ回路140b_1において、スイッチ141の制御端には制御信号CP1が入力される一方でスイッチ142の制御端には制御信号CP1の反転信号CP1Bが入力され、且つ、スレーブラッチ回路140b_2において、スイッチ141の制御端には制御信号CP2が入力される一方でスイッチ142の制御端には制御信号CP2の反転信号CP2Bが入力される。
このため、スレーブラッチ回路140b_1は、制御信号CP1がハイレベルであるときにスルー状態(スレーブスルー状態)となり、制御信号CP1がローレベルであるときにホールド状態(スレーブホールド状態)となる。これに対し、スレーブラッチ回路140b_2は、制御信号CP2がハイレベルであるときにスルー状態(スレーブスルー状態)となり、制御信号CP2がローレベルであるときにホールド状態(スレーブホールド状態)となる。
スレーブラッチ回路140b_1及び140b_2の夫々は、スレーブ入力データDに応じたスレーブ出力データQを出力可能なスレーブ出力回路、及び、スレーブ出力データQをスレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を備えている、と考えることができる。図9の各スレーブラッチ回路140bにおいて、スレーブ出力回路は、NAND回路143bにより或いはスイッチ141及びNAND回路143bにより構成され、スレーブ帰還回路は、NAND回路144bにより或いはスイッチ142及びNAND回路144bにより構成される。スレーブ帰還回路による帰還とは、スレーブ出力データQに基づくNAND回路144bの出力信号をノード145に供給することを意味する。
各スレーブラッチ回路140bにおいて、スルー状態(スレーブスルー状態)では、スレーブ帰還回路による帰還が行われることなく現在のスレーブ入力データDに基づき現在のスレーブ出力データQ(NAND回路143bの出力データ)が生成され、ホールド状態(スレーブホールド状態)では、現在のスレーブ入力データDに関係なくスレーブ帰還回路による帰還データ(NAND回路144bの出力データ)に基づき現在のスレーブ出力データQが生成される。
但し、スレーブラッチ回路140b_1では、ホールド状態において、セット信号SN1をも参照してスレーブ出力データQ(Q_1)が生成されることになり、スルー状態及びホールド状態の夫々において、リセット信号RN1をも参照してスレーブ出力データQ(Q_1)が生成されることになる。同様に、スレーブラッチ回路140b_2では、ホールド状態において、セット信号SN2をも参照してスレーブ出力データQ(Q_2)が生成されることになり、スルー状態及びホールド状態の夫々において、リセット信号RN2をも参照してスレーブ出力データQ(Q_2)が生成されることになる。
セット信号(SN1、SN2)は負論理の信号であって、ローレベルのセット信号(SN1、SN2)は、出力データQを示す信号をハイレベルとするための信号(即ち出力データQに“1”を設定するための信号)として機能する。リセット信号(RN1、RN2)は負論理の信号であって、ローレベルのリセット信号(RN1、RN2)は、出力データQを示す信号をローレベルとするための信号(即ち出力データQに“0”を設定するための信号)として機能する。
―――実施例EX1_3―――
実施例EX1_3を説明する。実施例EX1_1及びEX1_2では、1つのマスタラッチ回路に対して2つのスレーブラッチ回路を並列に設ける構成を説明したが、1つのマスタラッチ回路に対してN個のスレーブラッチ回路を並列に設けることができ、Nを2以上の任意の整数とすることができる。
“N=4”とする場合のMSFFの構成例を図10に示す。図10は、実施例EX1_3に係るMSFF100であるMSFF100cの内部構成図である。MSFF100cは、制御信号生成回路110c、インバータ回路120、マスタラッチ回路130c、4つのスレーブラッチ回路140c、出力選択回路150c、及び、インバータ回路160を備える。4つのスレーブラッチ回路140cを互いに区別する必要がある場合、4つのスレーブラッチ回路140cを、符号“140c_1”、“140c_2”、“140c_3”、“140c_4”によって参照する。
以下、実施例EX1_1に係るMSFF100a又は実施例EX1_2に係るMSFF100bから見たMSFF100cの相違点に注目し、特に記述無き事項については、実施例EX1_1又はEX1_2の記載が実施例EX1_3にも適用されて良い。但し、この適用の際、実施例EX1_1の記載における符号“100a”、“130”、“140”、又は、実施例EX1_2の記載における符号“100b”、 “130b”、“140b”は、実施例EX1_3において、夫々、符号“100c”、“130c”、“140c”に読み替えられる。尚、実施例EX1_3では、図2の入力部106及び107がMSFF100cに設けられていることを想定する。
実施例EX1_3において、クロック選択信号SELCはクロック選択信号SELC1及びSELC2から成る。クロック選択信号SELC1及びSELC2の夫々は、1ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。制御信号生成回路110cに対し、クロック信号CP及びクロック選択信号SELC1及びSELC2が入力される。
制御信号生成回路110cは、信号SELC1、SELC2及びCPに基づき制御信号CP1~CP4を生成する。具体的には、回路110cはAND回路113~116を備える。AND回路113は、信号SELC1の反転信号と信号SELC2の反転信号と信号CPとの論理積信号を、制御信号CP1として出力する。AND回路114は、信号SELC1の反転信号と信号SELC2と信号CPとの論理積信号を、制御信号CP2として出力する。AND回路115は、信号SELC1と信号SELC2の反転信号と信号CPとの論理積信号を、制御信号CP3として出力する。AND回路116は、信号SELC1と信号SELC2と信号CPとの論理積信号を、制御信号CP4として出力する。
故に、クロック選択信号SELC1及びSELC2が共にローレベルであるときには、制御信号CP1が特定制御信号となり且つ制御信号CP2~CP4が非特定制御信号となる。クロック選択信号SELC1、SELC2が夫々ローレベル、ハイレベルであるときには、制御信号CP2が特定制御信号となり且つ制御信号CP1、CP3及びCP4が非特定制御信号となる。クロック選択信号SELC1、SELC2が夫々ハイレベル、ローレベルであるときには、制御信号CP3が特定制御信号となり且つ制御信号CP1、CP2及びCP4が非特定制御信号となる。クロック選択信号SELC1及びSELC2が共にハイレベルであるときには、制御信号CP4が特定制御信号となり且つ制御信号CP1~CP3が非特定制御信号となる。上述したように、特定制御信号はクロック信号CPと同期して信号レベルが変化する制御信号を意味し、非特定制御信号は信号レベルが所定レベル(ここではローレベル)で固定される制御信号を意味する。制御信号生成回路110cは、クロック選択信号SELC1及びSELC2に基づき、制御信号CP1~CP4の何れか1つを特定制御信号とし、残りの3つを非特定制御信号とする回路であると言える。
このように、制御信号CP1~CP4の内、何れか1つがクロック信号CPと等価となる。そして、制御信号CP1、CP2、CP3、CP4は、夫々、スレーブラッチ回路140c_1、140c_2、140c_3、140c_4に供給される。故に、クロック選択信号SELC1及びSELC2は、4つのスレーブラッチ回路140cの何れに対してクロック信号CPを供給するのかを選択する信号として機能する。制御信号CP1~CP4を第1~第4クロック信号と読み替えても良く、この場合、クロック信号CLK及びCPは基準クロック信号と称され得る。
インバータ回路120の入力端には入力データDを示す信号が供給され、インバータ回路120の出力端からは入力データDを示す信号の反転信号が出力される。インバータ回路120の出力信号(即ち入力データDを示す信号の反転信号)は、マスタ入力データDを示す信号として機能する。マスタ入力データDを示す信号はマスタラッチ回路130cの入力端に供給され、マスタ入力データDに応じたマスタ出力データQを示す信号がマスタラッチ回路130cの出力端から出力される。マスタ出力データQを示す信号はスレーブ入力データDを示す信号として各スレーブラッチ回路140cの入力端に供給される。各スレーブラッチ回路140cは、スレーブ入力データDに応じたスレーブ出力データQを生成してスレーブ出力データQを示す信号を自身の出力端から出力する。出力選択回路150cは、出力選択信号SELに基づき、4つのスレーブラッチ回路140cからの4つのスレーブ出力データQの何れか1つを選択し、選択したスレーブ出力データQを示す信号を出力する。インバータ回路160は、出力選択回路150cにて選択及び出力されたスレーブ出力データQを示す信号の反転信号を、出力データQを示す信号として生成する。出力データQを示す信号はデータ出力部102から出力される。
マスタラッチ回路130cは、クロック信号CPに同期して動作し、クロック信号CPにおける所定のレベル変化に応答してデータDの取り込み及び保持(ラッチ)を行う。マスタラッチ回路130cの保持データがマスタ出力データQとなる。スレーブラッチ回路140c_iは、制御信号CPiに同期して動作し、制御信号CPiにおける所定のレベル変化に応答してデータQと一致するデータDの取り込み及び保持(ラッチ)を行う(ここにおける“i”は1、2、3又は4)。
MSFF100cに対するセット信号SET(図2参照)はセット信号SN1~SN4から成り、MSFF100cに対するリセット信号RST(図2参照)はリセット信号RN1~RN4から成る。セット信号SN1~SN4並びにRN1~RN4は、夫々に、ローレベル又はハイレベルの信号レベルをとる1ビットのデジタル信号である。
マスタラッチ回路130cは、スイッチ131及び132と、NAND回路133c及び134cと、を備える。即ち、図3のマスタラッチ回路130を基準として、インバータ回路133及び134をNAND回路133c及び134cに置換することで、図10のマスタラッチ回路130cが得られる。NAND回路133c及び134cの夫々は、第1~第5入力端と出力端を備え、第1~第5入力端に加わる5つの信号の否定論理積信号を出力端から出力する。
スイッチ131の第1端にはインバータ回路120からマスタ入力データDを示す信号が入力され、スイッチ131の第2端はノード135に接続される。NAND回路133cの第1~第4入力端には夫々セット信号SN1~SN4が入力され、NAND回路133cの第5入力端はノード135に接続される。故に、NAND回路133cは、セット信号SN1~SN4とノード135の信号が全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。NAND回路133cの出力信号がマスタ出力データQを示す信号となる。
NAND回路133cの出力端はNAND回路134cの第1入力端に接続される。NAND回路134cの第2~第5入力端には夫々リセット信号RN1~RN4が入力される。故に、NAND回路134cは、NAND回路133cの出力信号とリセット信号RN1~RN4とが全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スイッチ132の第1端はNAND回路134cの出力端に接続され、スイッチ132の第2端はノード135に接続される。
スイッチ132の制御端にクロック信号CPが入力され且つスイッチ131の制御端にクロック信号CPの反転信号CPBが入力される点は、実施例EX1_1と同様である。故に、クロック信号CPがローレベルであるときにはマスタラッチ回路130cはスルー状態(マスタスルー状態)となり、クロック信号CPがハイレベルであるときにはマスタラッチ回路130cはホールド状態(マスタホールド状態)となる。
マスタラッチ回路130cは、マスタ入力データDに応じたマスタ出力データQを出力可能なマスタ出力回路、及び、マスタ出力データQをマスタ出力回路の入力側に帰還可能なマスタ帰還回路を備えている、と考えることができる。図10のマスタラッチ回路130cにおいて、マスタ出力回路は、NAND回路133cにより或いはスイッチ131及びNAND回路133cにより構成され、マスタ帰還回路は、NAND回路134cにより或いはスイッチ132及びNAND回路134cにより構成される。マスタ帰還回路による帰還とは、マスタ出力データQに基づくNAND回路134cの出力信号をノード135に供給することを意味する。
マスタラッチ回路130cにおいて、スルー状態(マスタスルー状態)では、マスタ帰還回路による帰還が行われることなく現在のマスタ入力データDに基づき現在のマスタ出力データQ(NAND回路133cの出力データ)が生成され、ホールド状態(マスタホールド状態)では、現在のマスタ入力データDに関係なくマスタ帰還回路による帰還データ(NAND回路134cの出力データ)に基づき現在のマスタ出力データQが生成される。
但し、マスタラッチ回路130cでは、スルー状態及びホールド状態の夫々において、セット信号SN1~SN4をも参照してマスタ出力データQが生成されることになり、ホールド状態において、リセット信号RN1~RN4をも参照してマスタ出力データQが生成されることになる。
図11に、MSFF100cに設けられたスレーブラッチ回路140c_1~140c_4の構成を示す。スレーブラッチ回路140c_1~140c_4は互いに同じ構成を有し、各スレーブラッチ回路140cは、スイッチ141及び142と、NAND回路143c及び144と、を備える。即ち、図3の各スレーブラッチ回路140を基準として、インバータ回路143及び144をNAND回路143c及び144cに置換することで、図11の各スレーブラッチ回路140cが得られる。NAND回路143c及び144cの夫々は、第1及び第2入力端と出力端を備え、第1及び第2入力端に加わる2つの信号の否定論理積信号を出力端から出力する。スレーブラッチ回路140c_1~140c_4の夫々において、スイッチ141の第1端には、マスタラッチ回路130cからのマスタ出力データQを示す信号がスレーブ入力データDを示す信号として入力される。
各スレーブラッチ回路140cにおいて、スイッチ141の第2端はノード145に接続される。NAND回路143cの第1入力端にはリセット信号が入力され、NAND回路143cの第2入力端はノード145に接続される。但し、スレーブラッチ回路140c_1、140c_2、140c_3、140c_4に対するリセット信号は、夫々、リセット信号RN1、RN2、RN3、RN4である。故に、スレーブラッチ回路140c_1において、NAND回路143cは、リセット信号RN1とノード145の信号が共にハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。同様に、スレーブラッチ回路140c_2において、NAND回路143cは、リセット信号RN2とノード145の信号が共にハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路140c_3及び140c_4についても同様である。各スレーブラッチ回路140cにおいて、NAND回路143cの出力信号がスレーブ出力データQを示す信号となる。スレーブラッチ回路140c_1、140c_2、140c_3、140c_4により生成及び出力されるスレーブ出力データQは、夫々、符号“Q_1”、“Q_2”、“Q_3”、“Q_4”にて参照され得る。
各スレーブラッチ回路140cにおいて、NAND回路143cの出力端はNAND回路144cの第1入力端に接続され、NAND回路144cの第2入力端にセット信号が入力される。但し、スレーブラッチ回路140c_1、140c_2、140c_3、140c_4に対するセット信号は、夫々、セット信号SN1、SN2、SN3、SN4である。故に、スレーブラッチ回路140c_1において、NAND回路144cは、セット信号SN1とNAND回路143cの出力信号(Q_1)の双方がハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路140c_2において、NAND回路144cは、セット信号SN2とNAND回路143cの出力信号(Q_2)の双方がハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路140c_3及び140c_4についても同様である。各スレーブラッチ回路140cにおいて、スイッチ142の第1端はNAND回路144cの出力端に接続され、スイッチ142の第2端はノード145に接続される。
実施例EX1_1と同様に、スレーブラッチ回路140c_1において、スイッチ141の制御端には制御信号CP1が入力される一方でスイッチ142の制御端には制御信号CP1の反転信号CP1Bが入力され、且つ、スレーブラッチ回路140c_2において、スイッチ141の制御端には制御信号CP2が入力される一方でスイッチ142の制御端には制御信号CP2の反転信号CP2Bが入力される。更に、スレーブラッチ回路140c_3において、スイッチ141の制御端には制御信号CP3が入力される一方でスイッチ142の制御端には制御信号CP3の反転信号CP3Bが入力され、且つ、スレーブラッチ回路140c_4において、スイッチ141の制御端には制御信号CP4が入力される一方でスイッチ142の制御端には制御信号CP4の反転信号CP4Bが入力される。このため、
スレーブラッチ回路140c_1は、制御信号CP1がハイレベルであるときにスルー状態(スレーブスルー状態)となり、制御信号CP1がローレベルであるときにホールド状態(スレーブホールド状態)となる。
スレーブラッチ回路140c_2は、制御信号CP2がハイレベルであるときにスルー状態(スレーブスルー状態)となり、制御信号CP2がローレベルであるときにホールド状態(スレーブホールド状態)となる。
スレーブラッチ回路140c_3は、制御信号CP3がハイレベルであるときにスルー状態(スレーブスルー状態)となり、制御信号CP3がローレベルであるときにホールド状態(スレーブホールド状態)となる。
スレーブラッチ回路140c_4は、制御信号CP4がハイレベルであるときにスルー状態(スレーブスルー状態)となり、制御信号CP4がローレベルであるときにホールド状態(スレーブホールド状態)となる。
スレーブラッチ回路140c_1~140c_4の夫々は、スレーブ入力データDに応じたスレーブ出力データQを出力可能なスレーブ出力回路、及び、スレーブ出力データQをスレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を備えている、と考えることができる。図11の各スレーブラッチ回路140cにおいて、スレーブ出力回路は、NAND回路143cにより或いはスイッチ141及びNAND回路143cにより構成され、スレーブ帰還回路は、NAND回路144cにより或いはスイッチ142及びNAND回路144cにより構成される。スレーブ帰還回路による帰還とは、スレーブ出力データQに基づくNAND回路144cの出力信号をノード145に供給することを意味する。
各スレーブラッチ回路140cにおいて、スルー状態(スレーブスルー状態)では、スレーブ帰還回路による帰還が行われることなく現在のスレーブ入力データDに基づき現在のスレーブ出力データQ(NAND回路143cの出力データ)が生成され、ホールド状態(スレーブホールド状態)では、現在のスレーブ入力データDに関係なくスレーブ帰還回路による帰還データ(NAND回路144cの出力データ)に基づき現在のスレーブ出力データQが生成される。
但し、スレーブラッチ回路140c_1では、ホールド状態において、セット信号SN1をも参照してスレーブ出力データQ(Q_1)が生成されることになり、スルー状態及びホールド状態の夫々において、リセット信号RN1をも参照してスレーブ出力データQ(Q_1)が生成されることになる。
同様に、スレーブラッチ回路140c_2では、ホールド状態において、セット信号SN2をも参照してスレーブ出力データQ(Q_2)が生成されることになり、スルー状態及びホールド状態の夫々において、リセット信号RN2をも参照してスレーブ出力データQ(Q_2)が生成されることになる。
スレーブラッチ回路140c_3及び140c_4についても同様である。
セット信号(SN1~SN4)は負論理の信号であって、ローレベルのセット信号(SN1~SN4)は、出力データQを示す信号をハイレベルとするための信号(即ち出力データQに“1”を設定するための信号)として機能する。リセット信号(RN1~RN4)は負論理の信号であって、ローレベルのリセット信号(RN1~RN4)は、出力データQを示す信号をローレベルとするための信号(即ち出力データQに“0”を設定するための信号)として機能する。
図10を再度参照する。出力選択回路150cは、出力選択信号SELに基づき、スレーブラッチ回路140c_1~140c_4からのスレーブ出力データQ_1~Q_4の内の1つを選択し、選択したデータをインバータ回路160に対して出力する。実施例EX1_3において、出力選択信号SELは出力選択信号SEL1及びSEL2から成る。出力選択信号SEL1及びSEL2の夫々は、1ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。
具体的には、出力選択回路150cはスイッチ153~158を備える。スイッチ153~156の第1端には、夫々、スレーブ出力データQ_1~Q_4を示す信号が加わる。スイッチ153及び154の各第2端とスイッチ157の第1端は互いに共通接続され、スイッチ155及び156の各第2端とスイッチ158の第1端は互いに共通接続される。更に、スイッチ157及び158の各第2端は出力選択回路150cの出力端にて互いに共通接続される。出力選択回路150cの出力端はインバータ回路160の入力端に接続される。
スイッチ154及び156の各制御端には信号SEL1が入力され、スイッチ153及び155の各制御端には信号SEL1の反転信号SEL1Bが入力される。スイッチ158の制御端には信号SEL2が入力され、スイッチ157の制御端には信号SEL2の反転信号SEL2Bが入力される。このため、信号SEL1及びSEL2におけるローレベル及びハイレベルの組み合わせに応じて、スレーブ出力データQ_1~Q_4の何れか1つが選択され、選択されたデータを示す信号が出力選択回路150cから出力される。選択されたデータはインバータ回路160を通じ、出力データQとしてデータ出力部102から出力される。
MSFF100cに対しても、図6の動作例と同様の動作を適用できる。但し、MSFF100cには4つのスレーブラッチ回路140cが設けられているので、クロック信号CLK(=CP)の1周期が経過するごとに、順次、データA1、B1、C1、D1、A2、B2、C2、D2、A3、B3、C3、D3、A4、B4、C4、D4・・・を、この順番で、入力データDとして、MSFF100cに供給すれば良い。
この際、データA1~A4がスレーブラッチ回路140c_1にて順次ラッチされ、且つ、データB1~B4がスレーブラッチ回路140c_2にて順次ラッチされ、且つ、データC1~C4がスレーブラッチ回路140c_3にて順次ラッチされ、且つ、データD1~D4がスレーブラッチ回路140c_4にて順次ラッチされるように、クロック選択信号SELC1及びSELC2をMSFF100cに供給すれば良く、加えて、データA1、B1、C1、D1、A2、B2、C2、D2、A3、B3、C3、D3、A4、B4、C4、D4・・・が、この順番でMSFF100cから出力データQとして出力されるよう、出力選択信号SEL1及びSEL2をMSFF100cに供給すれば良い。
つまり、MSFF100cにおいて、第1、第2、第3、第4タイミングでのマスタ入力データD(ここでは入力データDと一致)が、夫々、スレーブラッチ回路140c_1、140c_2、140c_3、140c_4にて取り込まれて保持されるよう、ステート制御回路3はクロック選択信号SELC(SELC1、SELC2)をMSFF100cに供給すると良い。第1~第4タイミングは互いに異なるタイミングである。詳細には、第1タイミングは、マスタ入力データDがデータA1、A2、A3又はA4となるタイミングに相当し、第2タイミングは、マスタ入力データDがデータB1、B2、B3又はB4となるタイミングに相当し、第3タイミングは、マスタ入力データDがデータC1、C2、C3又はC4となるタイミングに相当し、第4タイミングは、マスタ入力データDがデータD1、D2、D3又はD4となるタイミングに相当する。そして、ステート制御回路3は、MSFF100cに対する出力選択信号SEL(SEL1、SEL2)のレベルを制御することで、スレーブラッチ回路140c_1、140c_2、140c_3、140c_4の保持データ(例えばデータA1、B1、C1、D1)を、別々のタイミングにデータ出力部102から出力データQとして出力させると良い。
MSFF100cを用いれば、図1のロジック回路20にて、第1処理用データに基づく第1信号処理と、第2処理用データに基づく第2信号処理と、第3処理用データに基づく第3信号処理と、第4処理用データに基づく第4信号処理と、を並列実行させることができる。第1処理用データは、データA1~A4の何れかを指す又はデータA1~A4の総称である。第2処理用データは、データB1~B4の何れかを指す又はデータB1~B4の総称である。第3処理用データは、データC1~C4の何れかを指す又はデータC1~C4の総称である。第4処理用データは、データD1~D4の何れかを指す又はデータD1~D4の総称である。第1処理用データ(A1~A4)と第2処理用データ(B1~B4)と第3処理用データ(C1~C4)と第4処理用データ(D1~D4)とは互いに異なるデータである。但し、偶然、それらの値が一致することもありえる。
図1の各MSFF10がMSFF100cとして構成される場合、データA1~A4、B1~B4、C1~C4及びD1~D4は各MSFF10の入出力データあって、この内、データA1~A4は各MSFF10の入出力データの一部である第1処理用データに相当し、データB1~B4は各MSFF10の入出力データの他の一部である第2処理用データに相当し、データC1~C4は各MSFF10の入出力データの更に他の一部である第3処理用データに相当し、データD1~D4は各MSFF10の入出力データの更に他の一部である第4処理用データに相当する。
ロジック回路20は、各MSFF10から自身に対し第1処理用データ(A1~A4)が入力されている区間では、第1処理用データに基づく第1信号処理を行って第1信号処理の結果を示すデータを第1処理結果データとして各MSFF30に出力する。ロジック回路20は、各MSFF10から自身に対し第2処理用データ(B1~B4)が入力されている区間では、第2処理用データに基づく第2信号処理を行って第2信号処理の結果を示すデータを第2処理結果データとして各MSFF30に出力する。ロジック回路20は、各MSFF10から自身に対し第3処理用データ(C1~C4)が入力されている区間では、第3処理用データに基づく第3信号処理を行って第3信号処理の結果を示すデータを第3処理結果データとして各MSFF30に出力する。ロジック回路20は、各MSFF10から自身に対し第4処理用データ(D1~D4)が入力されている区間では、第4処理用データに基づく第4信号処理を行って第4信号処理の結果を示すデータを第4処理結果データとして各MSFF30に出力する。
図1の各MSFF30がMSFF100cとして構成される場合、データA1~A4、B1~B4、C1~C4及びD1~D4は各MSFF30の入出力データあって、この内、データA1~A4は各MSFF30の入出力データの一部である第1処理結果データに相当し、データB1~B4は各MSFF30の入出力データの他の一部である第2処理結果データに相当し、データC1~C4は各MSFF30の入出力データの更に他の一部である第3処理結果データに相当し、データD1~D4は各MSFF30の入出力データの更に他の一部である第4処理結果データに相当する。各MSFF30から後段回路50に対し、第1、第2、第3、第4処理結果データが供給されている区間において、後段回路50は、夫々、第1、第2、第3、第4処理結果データに基づく所定の処理を実行できる。
<<第2実施形態>>
本発明の第2実施形態を説明する。第2実施形態及び後述の第3実施形態は第1実施形態を基礎とする実施形態であり、第2及び第3実施形態において特に述べない事項に関しては、矛盾の無い限り、第1実施形態の記載が第2及び第3実施形態にも適用される。第2実施形態の記載を解釈するにあたり、第1及び第2実施形態間で矛盾する事項については第2実施形態の記載が優先されて良い(後述の第3実施形態についても同様)。矛盾の無い限り、第1~第3実施形態の内、任意の複数の実施形態を組み合わせても良い。
第2実施形態では、第1実施形態に示したMSFFの構造をスキャンテストに利用する技術を説明する。図12は、第2実施形態に係るデータ処理装置1aの構成図である。図1のデータ処理装置1を基準として、デジタル処理回路2をデジタル処理回路2aに置換すると共にデータ処理装置1に対してテスト結果評価回路8を追加することで、データ処理装置1aが形成される。テスト結果評価回路8は応答圧縮回路8a及び結果比較回路8bから成る。デジタル処理回路2aには、図1のデジタル処理回路2と同様、MSFF10[1]~MSFF10[M]、ロジック回路20及びMSFF30[1]~MSFF30[M]が設けられており、以下に示す事項を除き、デジタル処理回路2aはデジタル処理回路2と同様のものである。第1実施形態の記載を第2実施形態に適用する際、第1実施形態の記載における符号“1”、“2”は、第2実施形態において“1a”、“2a”に読み替えられる。
第2実施形態に係るステート制御回路3は、デジタル処理回路2a内の各MSFFに対し、上述の出力選択信号SEL及びクロック選択信号SELCに加えて入力選択信号SCも供給する。図12では、図示の煩雑化のため、信号SEL、SELC及びSCを伝達する配線が1本の線にて示されているが、それらの信号は別々の配線で伝達される。
図13に、1つのMSFF200における、データ及び信号の入出力に関わる構成を示す。第2実施形態では、MSFF200が、図12のMSFF10[1]~10[M]及びMSFF30[1]~30[M]の夫々として用いられるものとする。
MSFF200は、図2のMSFF100にも備えられた入力部101及び103~107並びに出力部102に加えて、スキャン入力部108及び入力選択信号入力部109を更に備える。尚、MSFF200に入力部106及び107が設けられないこともある。図12のデータ処理装置1aにおいて、MSFF10[1]~10[M]にとっての入力データDは夫々データD[1]~D[M]であり、MSFF10[1]~10[M]にとっての出力データQは夫々データQ[1]~Q[M]である。図12のデータ処理装置1aにおいて、MSFF30[1]~30[M]にとっての入力データDは夫々データD[1]~D[M]であり、MSFF30[1]~30[M]にとっての出力データQは夫々データQ[1]~Q[M]である。
MSFF200において、スキャン入力部108にはスキャン入力データSDが入力され、入力選択信号入力部109には入力選択信号SCが入力される。MSFF200のデータ出力部102からは、図2のMSFF100と同様に、MSFF200の出力データQが出力されるが、当該出力データQはスキャン出力データSOとしても出力される。
第2実施形態に係るステート制御回路3はテストパターン生成回路を含み、テストモードにおいて、MSFF10[1]及びMSFF30[1]に対してスキャン入力データSDを供給できる。
“1≦i≦M-1”を満たす任意の整数iについて、MSFF10[i]のデータ出力部102はMSFF10[i+1]のスキャン入力部108に接続され、故に、MSFF10[i]からのスキャン出力データSOはMSFF10[i+1]へのスキャン入力データSDとなる。MSFF10[M]からのスキャン出力データSOは応答圧縮回路8aに与えられる。
“1≦i≦M-1”を満たす任意の整数iについて、MSFF30[i]のデータ出力部102はMSFF30[i+1]のスキャン入力部108に接続され、故に、MSFF30[i]からのスキャン出力データSOはMSFF30[i+1]へのスキャン入力データSDとなる。MSFF30[M]からのスキャン出力データSOは応答圧縮回路8aに与えられる。
タイミング制御回路6は、ステート制御回路3を制御することを通じて、ステート制御回路3及びデジタル処理回路2aを、通常モード又はテストモードで動作させる。
通常モードでは、前段回路4からのデータD[1]~D[M]に基づきデータQ[1]~Q[M]を生成する動作と、その動作によるデータQ[1]~Q[M]がロジック回路20に与えられたときのロジック回路20の出力データD[1]~D[M]に基づきデータQ[1]~Q[M]を生成する動作と、が行われる。
テストモードでは、必要なタイミングにおいて、MSFF10[1]~10[M]がシリアル接続されることでMSFF10[1]~10[M]にて第1シフトレジスタとして機能する第1スキャンチェーンが形成され、MSFF30[1]~30[M]がシリアル接続されることでMSFF30[1]~30[M]にて第2シフトレジスタとして機能する第2スキャンチェーンが形成され、第1及び第2スキャンチェーンを用いて所謂スキャンテストが行われる。
図14に、MSFF200の例であるMSFF200aの内部構成図を示す。第2実施形態において、以下では、各MSFF10及び各MSFF30がMSFF200aにて構成されていると考える。MSFF200aは、図9のMSFF100bを基準にしてインバータ回路120を入力選択回路170に置換したものであり、当該置換を除き、図14のMSFF200aは図9のMSFF100bと同様である。以下、当該置換による相違点のみを説明し、同様の部分の説明を省略する。
入力選択回路170は、データ入力部101及びスキャン入力部108に接続され、入力選択信号SCに基づき、データ入力部101及びスキャン入力部108の何れか一方をマスタラッチ回路130bの入力端に接続する。入力選択信号SCは1ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。具体的には、入力選択回路170は、インバータタイプのトライステートバッファ171及び172を備える。トライステートバッファ171の状態は入力選択信号SCの反転信号SCBに基づいて制御され、トライステートバッファ172の状態は入力選択信号SCに基づいて制御される。そして、入力選択信号SCがハイレベルであるとき、入力選択回路170は、入力部108に加わるスキャン入力データSDを示す信号の反転信号を、トライステートバッファ172を通じマスタ入力データDを示す信号としてマスタラッチ回路130bに供給する。一方、入力選択信号SCがローレベルであるとき、入力選択回路170は、入力部101に加わる入力データDを示す信号の反転信号を、トライステートバッファ171を通じマスタ入力データDを示す信号としてマスタラッチ回路130bに供給する。
MSFF200aにおいて、制御信号制回路110、マスタラッチ回路130b及びマスタラッチ回路130bの後段回路の構成及び動作は、図9のMSFF100bのそれらと同様である。但し、MSFF200aにおいて、インバータ回路160の出力信号は出力データQを示す信号として機能すると共にスキャン出力データSOを示す信号としても機能する。インバータ回路160は2つのインバータ回路から構成されていても良く、この場合、2つのインバータ回路から出力データQを示す信号及びスキャン出力データSOを示す信号が別々に出力されても良い。
テストモードにおいて、ステート制御回路3(図12参照)は、テスト制御回路とも称されるべきタイミング制御回路6の制御の下、MSFF200aとして構成された各MSFF10又は30に対し、ハイレベルのクロック選択信号SELC、入力選択信号SC及び出力選択信号SELを供給することができる。これにより上述の第1及び第2スキャンチェーンが形成され、ハイレベルの信号SELC、SC及びSELを受けた各MSFF10又は30では、順次供給されるスキャン入力データSDが順次スレーブラッチ回路140b_2にてラッチされ、スキャン入力データSDに基づくスレーブ出力データQ_2が出力選択回路150及びインバータ回路160を通じ順次スキャン出力データSOとして出力される。
テストモードにおける動作について説明を加える。テストモードにおいて、ステート制御回路3は、デジタル処理回路2aと協働して、スキャンイン動作、キャプチャ動作及びスキャンアウト動作から成る一連のテスト動作を実行する。テスト動作では、スキャンイン動作、キャプチャ動作及びスキャンアウト動作が、この順番で実行される。まず、テスト動作が継続的に実行されることを想定して、スキャンイン動作、キャプチャ動作及びスキャンアウト動作を説明する。
スキャンイン動作は、MSFF10[1]~10[M]に所定のテストパターンデータをラッチさせるための動作(第1シフト動作)である。テストパターンデータは、ロジック回路20の故障の有無の診断に有効なデータであり、テストパターン生成回路を含むステート制御回路3にて生成される。スキャンイン動作が実行される区間では、MSFF10[1]~10[M]及び30[1]~30[M]の内、少なくともMSFF10[1]~10[M]に対してハイレベルの信号SELC、SC及びSELが供給される。MSFF10[1]~10[M]に対するハイレベルの信号SC及びSELの供給により、MSFF10[1]~10[M]がシリアル接続されて第1スキャンチェーンが形成される。
その上で、スキャンイン動作において、テストパターンデータを構成するデータを1ビットずつスキャン入力データSDとしてステート制御回路3からMSFF10[1]に供給する動作を繰り返す。このとき、クロック選択信号SELCがハイレベルとされていることで、第1スキャンチェーン(即ちMSFF10[1]~10[M]における計M個のスレーブラッチ回路140b_2)にてデータのシフト動作が行われる。結果、スキャンイン動作の完了段階において、テストパターンデータは、MSFF10[1]~10[M]における計M個のスレーブラッチ回路140b_2にラッチされることになる。
キャプチャ動作では、MSFF10[1]~10[M]のスレーブラッチ回路140b_2にラッチされたテストパターンデータを出力データQ[1]~Q[M]としてロジック回路20に供給し、これによってロジック回路20から出力されるデータD[1]~D[M]をMSFF30[1]~30[M]のスレーブラッチ回路140b_2にラッチさせる。
これが実現されるよう、キャプチャ動作において、ステート制御回路3は、MSFF30[1]~30[M]に対する信号SELC及びSCのレベルを制御する。即ち、テストパターンデータに基づくデータD[1]~D[M]がロジック回路20から出力されるタイミングにおいてMSFF30[1]~30[M]への信号SCをローレベルとし、これによってテストパターンデータに基づくデータD[1]~D[M]をMSFF30[1]~30[M]へのマスタ入力データDとする。キャプチャ動作時において信号SELCはハイレベルとされる。少なくとも、テストパターンデータに基づくデータD[1]~D[M]がMSFF30[1]~30[M]のマスタ出力データQとなるタイミングにおいてMSFF30[1]~30[M]への信号SELCがハイレベルとされる。これにより、信号SELCがハイレベルとされた状態でのクロック信号CPのアップエッジに同期して制御信号CP2にアップエッジが生じ、結果、テストパターンデータに基づくデータD[1]~D[M]がMSFF30[1]~30[M]のスレーブラッチ回路140b_2にラッチされる。キャプチャ動作時においてMSFF30[1]~30[M]への出力選択信号SELはハイレベルでも良いし、ローレベルでも構わない。
スキャンアウト動作は、MSFF30[1]~30[M]のスレーブラッチ回路140b_2にラッチされた、テストパターンデータに基づくデータD[1]~D[M]を応答圧縮回路8aに引き出すための動作(第2シフト動作)である。スキャンアウト動作が実行される区間では、MSFF10[1]~10[M]及び30[1]~30[M]の内、少なくともMSFF30[1]~30[M]に対してハイレベルの信号SELC、SC及びSELが供給される。MSFF30[1]~30[M]に対するハイレベルの信号SC及びSELの供給により、MSFF30[1]~30[M]がシリアル接続されて第2スキャンチェーンが形成される。そして、信号SELCがハイレベルとされていることから、スキャンアウト動作において、MSFF30[1]~30[M]のスレーブラッチ回路140b_2にラッチされた、テストパターンデータに基づくデータD[1]~D[M]が、MSFF30[M]から1ビットずつ応答圧縮回路8aに出力される。
以下、テストパターンデータに基づくデータD[1]~D[M]を、Mビットのテスト結果データと称する。応答圧縮回路8aは、スキャンアウト動作により得られたMビットのテスト結果データを所定の圧縮処理により圧縮することで、M’ビットのテスト結果データに変換する。M’はMの値よりも小さな所定値を持つ。結果比較回路8bは、応答圧縮回路8aにて得られたM’ビットのテスト結果データを、所定の期待データと比較することで、ロジック回路20の故障の有無を判断する。
また、スキャンアウト動作が実行される区間では、MSFF10[1]~10[M]に対してもハイレベルの信号SELC、SC及びSELが供給されて良い。これにより、スキャンイン動作の実行区間にてMSFF10[1]~10[M]のスレーブラッチ回路140b_2にラッチされたデータ(理想的にはテストパターンデータと一致)が、スキャンアウト動作の実行区間においてMSFF10[M]から応答圧縮回路8aに供給される。ここで供給されたデータ(即ち、スキャンイン動作の実行区間にてMSFF10[1]~10[M]のスレーブラッチ回路140b_2にラッチされたデータ)も応答圧縮回路8aにて圧縮され、当該圧縮後のデータに基づき、結果比較回路8bは、MSFF10[1]~10[M]の故障の有無を判断することができる。尚、タイミング制御回路6からステート制御回路3及び応答圧縮回路8aに対して、テストモードにおける動作のタイミングを指定するテスト制御信号が供給されており、応答圧縮回路8aはテスト制御信号を参照することで圧縮すべきデータを認識する。
通常モードにおける動作を説明する。通常モードにおいて、ステート制御回路3(図12参照)は、タイミング制御回路6の制御の下、MSFF200aとして構成された各MSFF10及び30に対し、ローレベルのクロック選択信号SELCを供給すると共にローレベルの入力選択信号SC及び出力選択信号SELを供給する。これにより、通常モードにおける各MSFF10及び30では、順次供給される入力データDが順次スレーブラッチ回路140b_1にてラッチされて、入力データDに基づくスレーブ出力データQ_1が順次出力データQとして出力される。通常モードでは、上記第1及び第2スキャンチェーンは形成されず、各MSFFは独立したフリップフロップ回路として動作する。
デジタル処理回路において、回路内のフリップフロップ回路をスキャン機能付きのフリップフロップ回路に置き換えることで、スキャンテストを実現可能にする方法は周知である。スキャンテストが可能に構成された一般的なデジタル処理回路では、一旦、テストモードの動作が開始されると、テストモードの一連の動作が完了するまで通常モードでの動作(以下、通常動作と称する)を行うことができない。このため、故障診断に必要な時間分だけ通常動作を停止できないアプリケーション(例えば通信制御系のアプリケーション)には、スキャンテストを適用できないといった事情(以下、第1事情と称する)がある。また、テストモードの動作を行うことで、回路内におけるそれまでのラッチデータが破棄されることになるため、テストモードでの動作完了後には、通常動作を初期状態から開始する必要がある。つまり、スキャンテストが可能に構成された一般的なデジタル処理回路では、テストモードの動作を行うたびに、通常動作がリセットされるといった事情(以下、第2事情と称する)がある。
これに対し、本実施形態に係るデータ処理装置1aでは、図14のMSFF200aを利用することで、第1及び第2事情に関わる問題を解消することができる。スキャン機能付きのフリップフロップ回路として機能するMSFF200aに、通常モードでのデータをラッチするためのスレーブラッチ回路140b_1と、テストモードでのデータをラッチするためのスレーブラッチ回路140b_2と、が別個に設けられているからである。
例えば、通常動作(通常モードでの動作)を時間Tだけ継続実行する通常動作区間と、通常動作が時間Tだけ不要となる休止区間とが交互に繰り返し訪れるというケースを考える。この場合、テスト動作(テストモードでの一連の動作)をQ分割し、Q回分の休止区間に亘ってテスト動作の全体を行うようにするといったことが可能となるため、上記の第1事情に関わる問題は解消される。休止区間のタイミングを示す情報はタイミング制御回路6により認識又は管理され、当該情報に基づくタイミング制御回路6による制御の下、ステート制御回路3は信号SELC、SC、SELのレベル制御及びデータSDの出力制御を行う。この際、通常動作を実現するためのデータD[1]~D[M]はMSFF10[1]~10[M]のスレーブラッチ回路140b_1にラッチ(保持)されると共に、データD[1]~D[M]に基づくデータD[1]~D[M]はMSFF30[1]~30[M]のスレーブラッチ回路140b_1にラッチ(保持)され、これらラッチされたデータは、スキャンモードでの動作の実行時にも、各スレーブラッチ回路140b_1にてラッチされ続けるため、上記の第2事情に関わる問題も解消される。
通常動作とテスト動作とをクロック信号CLKの周期ごとに切り替えて実行するといったことも可能である。この場合における動作例は図6に示したものと同様となり、この際、区間P、P、P、P、P11、P12、P15及びP16にて信号SCをハイレベルとし、区間P、P、P、P、P、P10、P13及びP14にて信号SCをローレベルとすれば良い。この場合、データA1~A4はデータ入力部101に供給される入力データDに相当し、データB1~B4はスキャン入力部108に供給されるスキャン入力データSDに相当することになる。
尚、図14では、セット信号(SN1、SN2)及びリセット信号(RN1、RN2)の入力が可能な構成が示されているが、MSFF200aにおいて、それらの信号の入力は不能であっても良い(この場合、信号SN1、SN2、RN1及びRN2が全てハイレベルに固定されていると考えれば足る)。
また、MSFF10[M]のデータ出力部102をMSFF30[1]のスキャン入力部108に接続する変形も可能であり、この場合、MSFF10[1]~10[M]及び30[1]~30[M]から成る単一のスキャンチェーン(単一のシフトレジスタ)を構成してテスト動作を行うことができる。
また、MSFF200aは3以上のスレーブラッチ回路140bを備えるものであっても良い。この場合、3以上のスレーブラッチ回路140bの内、1つのスレーブラッチ回路140bをテストモードでのデータをラッチするための回路として用い、残りの2以上のスレーブラッチ回路140bを通常モードでのデータをラッチするための回路として用いることができる。
<<第3実施形態>>
本発明の第3実施形態を説明する。第3実施形態では、第1又第2実施形態に対する補足事項、応用技術、変形技術等を説明する。
制御信号生成回路110又は110c(図3及び図10参照)により例示された制御信号生成回路は、1つ1つのMSFFに内蔵されるものではなく、複数のMSFFに共用されるものであっても良い。
即ち例えば、デジタル処理回路2又は2a(図1又は図12参照)において、第1及び第2共用制御信号生成回路を設けておくようにしても良い。
第1及び第2共用制御信号生成回路の夫々は、図3の制御信号生成回路110と同じものである。そして、第1共用制御信号生成回路にて信号SELC及びCPに基づき生成された制御信号CP1及びCP2を、MSFF100a、100b又は200a(図3、図9又は図14参照)として各々構成されたMSFF10[1]~10[M]に共通して与えると共に、第2共用制御信号生成回路にて信号SELC及びCPに基づき生成された制御信号CP1及びCP2を、MSFF100a、100b又は200a(図3、図9又は図14参照)として各々構成されたMSFF30[1]~30[M]に共通して与えるようにしても良い。
或いは、第1及び第2共用制御信号生成回路の夫々は、図10の制御信号生成回路110cと同じものであっても良い。この場合、第1共用制御信号生成回路にて信号SELC1、SELC2及びCPに基づき生成された制御信号CP1~CP4を、MSFF100c(図10参照)として各々構成されたMSFF10[1]~10[M]に共通して与えると共に、第2共用制御信号生成回路にて信号SELC1、SELC2及びCPに基づき生成された制御信号CP1~CP4を、MSFF100c(図10参照)として各々構成されたMSFF30[1]~30[M]に共通して与えるようにしても良い。
また例えば、デジタル処理回路2又は2a(図1又は図12参照)において、単一の共用制御信号生成回路を設けておくようにしても良い。
この際、単一の共用制御信号生成回路は、図3の制御信号生成回路110と同じものであって良い。そして、単一の共用制御信号生成回路にて信号SELC及びCPに基づき生成された制御信号CP1及びCP2を、MSFF100a、100b又は200a(図3、図9又は図14参照)として各々構成されたMSFF10[1]~10[M]及び30[1]~30[M]に共通して与えるようにしても良い。
或いは、単一の共用制御信号生成回路は、図10の制御信号生成回路110cと同じものであっても良い。この場合、単一の共用制御信号生成回路にて信号SELC1、SELC2及びCPに基づき生成された制御信号CP1~CP4を、MSFF100c(図10参照)として各々構成されたMSFF10[1]~10[M]及び30[1]~30[M]に共通して与えるようにしても良い。
及びMの値が2以上であることを想定したが、M及びMの何れか一方の値は“1”であっても良いし、“M=M=1”で有り得ても良い。
説明の簡単化のため、デジタル処理回路2又は2a内の1つのロジック回路20に注目したが、デジタル処理回路2又は2a内には、組み合わせ回路を含むロジック回路が複数設けられていて良く、各ロジック回路の前段及び後段の夫々に複数のフリップフロップ回路が設けられていて良い。各フリップフロップ回路をMSFFとして構成することができる。複数のロジック回路に第1及び第2ロジック回路が含まれていて、第1ロジック回路がロジック回路20に相当する場合、第2ロジック回路はMSFF30[1]~30[M]の出力データQ[1]~Q[M]に基づく信号処理を行い、第2ロジック回路の出力データを受けて保持するための複数のMSFFが第2ロジック回路の後段に配置される。
データ処理装置1又は1aは半導体集積回路の形態で形成され、当該半導体集積回路を、樹脂にて構成された筐体(パッケージ)内に封入することで半導体装置を構成して良い。半導体装置は、例えば、CPU(Central Processing Unit)であっても良いし、電源回路を構成するための電源IC、モータを駆動するためのモータドライバIC、又は、LED(発光ダイオード)を駆動するためのLEDドライバICであっても良い。
データ処理装置1又は1aを含む半導体装置は、任意の機器に搭載可能であり、任意の用途に利用される。例えば、自動車等の車両に当該半導体装置を搭載することができる。車載用途では、故障診断のリアルタイム性が要求されることが多く、この点において、第2実施形態に示した技術は有益である。
本発明の一側面に係るフリップフロップ回路W(例えば図3参照)は、対象入力データに基づくマスタ入力データ(D)を受けるマスタラッチ回路(例えば130)と、前記マスタラッチ回路からのマスタ出力データ(Q)の取り込み及び保持が可能なスレーブラッチ回路(例えば140)と、データ出力部(102)と、を備え、前記対象入力データに基づく対象出力データを前記データ出力部から出力するフリップフリップ回路であって、前記スレーブラッチ回路として、前記マスタラッチ回路に対して並列に第1~第Nスレーブラッチ回路(例えば140_1及び140_2)が設けられ、前記第1~第Nスレーブラッチ回路から出力されるデータの何れか1つを選択する出力選択回路(例えば150)を更に備え、前記出力選択回路による選択データを前記対象出力データとして前記データ出力部から出力することを特徴とする。
フリップフロップ回路Wによれば、例えば、第1~第N信号処理用のデータを第1~第Nスレーブラッチ回路にラッチ(保持)させることが可能となる。そして、第1~第N信号処理を担うロジック回路を1つだけ設けておき、第1信号処理を行う際には、第1スレーブラッチ回路を利用して、第1信号処理用のデータをロジック回路に入力する又は第1信号処理用のデータをロジック回路から受けてラッチする、といったことが可能となる。同様に、第2信号処理を行う際には、第2スレーブラッチ回路を利用して、第2信号処理用のデータをロジック回路に入力する又は第2信号処理用のデータをロジック回路から受けてラッチする、といったことが可能となる(第3~第N信号処理についても同様)。つまり、第1~第N信号処理を実現するために共通の構成を有するロジック回路をN個用意する必要が無くなり、結果、装置の回路面積の削減が図られる。
ここで、Nは2以上の整数である。例えば、図3のMSFF100aでは“N=2”であり、図10のMSFF100cでは“N=4”であるが、Nは2以上の整数であれば任意である。フリップフロップ回路Wは上述の何れかのMSFFに対応する。
第1実施形態において(図1及び図3等参照)、対象入力データは入力データDに相当し、対象出力データは出力データQに相当する。一方、第2実施形態において(図12~図14等参照)、対象入力データは入力データD又はスキャン入力データSDに相当し、対象出力データは出力データQ又はスキャン出力データSOに相当する。
前記フリップフロップ回路W(例えば図2及び図3参照)において、矩形波信号であるクロック信号(CLK=CP)の入力を受けるクロック信号入力部(103)と、クロック選択信号(SELC)の入力を受けるクロック選択信号入力部(104)と、出力選択信号(SEL)の入力を受ける出力選択信号入力部(105)と、前記クロック信号及び前記クロック選択信号に基づき第1~第N制御信号を生成する制御信号生成回路(例えば110)と、が備えられ、前記マスタラッチ回路は、前記クロック信号に同期して動作し、第iスレーブラッチ回路は、第i制御信号に同期して動作し(iは1以上N以下の整数)、前記出力選択回路は、前記出力選択信号(SEL)に基づき、前記第1~第Nスレーブラッチ回路(例えば140_1及び140_2)の出力データの何れかを選択すると良い。
例えば、図3の例において第1~第N制御信号は制御信号CP1及びCP2であり、図10の例において第1~第N制御信号は制御信号CP1~CP4である。
前記フリップフロップ回路Wにおいて(図14参照)、例えば、前記対象入力データは第1及び第2対象入力データ(D及びSD)を含み、前記第1及び第2対象入力データの内の一方を前記マスタ入力データとしてマスタラッチ回路に供給する入力選択回路(170)を更に設けておくこともできる。
本発明の実施形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。以上の実施形態は、あくまでも、本発明の実施形態の例であって、本発明ないし各構成要件の用語の意義は、以上の実施形態に記載されたものに制限されるものではない。上述の説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。
1、1a データ処理装置
2、2a デジタル処理回路
10、30、100、100a~100c、200、200a MSFF
20 ロジック回路
101 データ入力部
102 データ出力部
103 クロック信号入力部
104 クロック選択信号入力部
105 出力選択信号入力部
106 セット信号入力部
107 リセット信号入力部
108 スキャン入力部
130、130b、130c マスタラッチ回路
140、140b、140c スレーブラッチ回路
150、150c 出力選択回路
170 入力選択回路

Claims (7)

  1. 対象入力データに基づくマスタ入力データを受けるマスタラッチ回路と、前記マスタラッチ回路からのマスタ出力データの取り込み及び保持が可能なスレーブラッチ回路と、データ出力部と、を備え、前記対象入力データに基づく対象出力データを前記データ出力部から出力するフリップフリップ回路であって、
    前記スレーブラッチ回路として、前記マスタラッチ回路の後段側に第1~第Nスレーブラッチ回路が設けられ(Nは2以上の整数)、
    前記第1~第Nスレーブラッチ回路から出力されるデータの何れか1つを選択する出力選択回路と、
    矩形波信号であるクロック信号の入力を受けるクロック信号入力部と、
    クロック選択信号の入力を受けるクロック選択信号入力部と、
    出力選択信号の入力を受ける出力選択信号入力部と、
    前記クロック信号及び前記クロック選択信号に基づき第1~第N制御信号を生成する制御信号生成回路と、を更に備え、
    前記出力選択回路による選択データを前記対象出力データとして前記データ出力部から出力し、
    前記マスタラッチ回路は、前記クロック信号に同期して動作し、
    第iスレーブラッチ回路は、第i制御信号に同期して動作し(iは1以上N以下の整数)、
    前記出力選択回路は、前記出力選択信号に基づき、前記第1~第Nスレーブラッチ回路の出力データの何れかを選択し、
    前記制御信号生成回路は、前記クロック選択信号に基づき、前記第1~第N制御信号の内の何れか1つを前記クロック信号と同期して信号レベルが変化する特定制御信号とし且つ他の制御信号である非特定制御信号のレベルを所定レベルで固定し、
    前記マスタラッチ回路は、前記クロック信号における所定のレベル変化に応じて前記マスタ入力データを取り込んで保持し、その保持データを前記マスタ出力データとして各スレーブラッチ回路に出力し、
    前記第1~第Nスレーブラッチ回路の内、前記特定制御信号に対応する特定スレーブラッチ回路は、前記特定制御信号における所定のレベル変化に応じて前記マスタ出力データを取り込んで保持し、
    前記第1~第Nスレーブラッチ回路の内、前記非特定制御信号に対応する非特定スレーブラッチ回路は、自身の保持データを非変化とし、
    各スレーブラッチ回路は自身の保持データを前記出力選択回路に出力し、
    前記マスタラッチ回路は、前記マスタ入力データに応じた前記マスタ出力データを出力可能なマスタ出力回路、及び、前記マスタ出力データを前記マスタ出力回路の入力側に帰還可能なマスタ帰還回路を有して、前記マスタ帰還回路による帰還を行うことなく前記マスタ入力データに基づき前記マスタ出力データを生成するマスタスルー状態、及び、前記マスタ入力データに関係無く前記マスタ帰還回路による帰還データに基づき前記マスタ出力データを生成するマスタホールド状態の何れかをとり、
    各スレーブラッチ回路は、前記マスタ出力データに基づくスレーブ入力データを受けて前記スレーブ入力データに応じたスレーブ出力データを出力可能なスレーブ出力回路、及び、前記スレーブ出力データを前記スレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を有して、前記スレーブ帰還回路による帰還を行うことなく前記スレーブ入力データに基づき前記スレーブ出力データを生成するスレーブスルー状態、及び、前記スレーブ入力データに関係無く前記スレーブ帰還回路による帰還データに基づき前記スレーブ出力データを生成するスレーブホールド状態の何れかをとり、
    前記マスタラッチ回路の状態は、前記クロック信号のレベルに応じ、前記マスタスルー状態及び前記マスタホールド状態間で切り替えられ、
    前記特定スレーブラッチ回路の状態は、前記特定制御信号のレベルに応じ、前記スレーブスルー状態及び前記スレーブホールド状態間で切り替えられ、
    前記非特定スレーブラッチ回路の状態は、前記非特定制御信号に基づき、前記スレーブホールド状態で固定され、
    第1~第Nセット信号の入力を受けるセット信号入力部を更に備え、
    前記第iスレーブラッチ回路は、前記スレーブホールド状態において、第iセット信号をも参照して前記第iスレーブラッチ回路の前記スレーブ出力データを生成し、
    前記マスタラッチ回路は、前記マスタスルー状態及び前記マスタホールド状態の夫々において、前記第1~第Nセット信号をも参照して前記マスタ出力データを生成する
    フリップフロップ回路
  2. 第1~第Nリセット信号の入力を受けるリセット信号入力部を更に備え、
    前記第iスレーブラッチ回路は、前記スレーブスルー状態及び前記スレーブホールド状態の夫々において、第iリセット信号をも参照して前記第iスレーブラッチ回路の前記スレーブ出力データを生成し、
    前記マスタラッチ回路は、前記マスタホールド状態において、前記第1~第Nリセット信号をも参照して前記マスタ出力データを生成する
    、請求項1に記載のフリップフロップ回路。
  3. 対象入力データに基づくマスタ入力データを受けるマスタラッチ回路と、前記マスタラッチ回路からのマスタ出力データの取り込み及び保持が可能なスレーブラッチ回路と、データ出力部と、を備え、前記対象入力データに基づく対象出力データを前記データ出力部から出力するフリップフリップ回路であって、
    前記スレーブラッチ回路として、前記マスタラッチ回路の後段側に第1~第Nスレーブラッチ回路が設けられ(Nは2以上の整数)、
    前記第1~第Nスレーブラッチ回路から出力されるデータの何れか1つを選択する出力選択回路と、
    矩形波信号であるクロック信号の入力を受けるクロック信号入力部と、
    クロック選択信号の入力を受けるクロック選択信号入力部と、
    出力選択信号の入力を受ける出力選択信号入力部と、
    前記クロック信号及び前記クロック選択信号に基づき第1~第N制御信号を生成する制御信号生成回路と、を更に備え、
    前記出力選択回路による選択データを前記対象出力データとして前記データ出力部から出力し、
    前記マスタラッチ回路は、前記クロック信号に同期して動作し、
    第iスレーブラッチ回路は、第i制御信号に同期して動作し(iは1以上N以下の整数)、
    前記出力選択回路は、前記出力選択信号に基づき、前記第1~第Nスレーブラッチ回路の出力データの何れかを選択し、
    前記制御信号生成回路は、前記クロック選択信号に基づき、前記第1~第N制御信号の内の何れか1つを前記クロック信号と同期して信号レベルが変化する特定制御信号とし且つ他の制御信号である非特定制御信号のレベルを所定レベルで固定し、
    前記マスタラッチ回路は、前記クロック信号における所定のレベル変化に応じて前記マスタ入力データを取り込んで保持し、その保持データを前記マスタ出力データとして各スレーブラッチ回路に出力し、
    前記第1~第Nスレーブラッチ回路の内、前記特定制御信号に対応する特定スレーブラッチ回路は、前記特定制御信号における所定のレベル変化に応じて前記マスタ出力データを取り込んで保持し、
    前記第1~第Nスレーブラッチ回路の内、前記非特定制御信号に対応する非特定スレーブラッチ回路は、自身の保持データを非変化とし、
    各スレーブラッチ回路は自身の保持データを前記出力選択回路に出力し、
    前記マスタラッチ回路は、前記マスタ入力データに応じた前記マスタ出力データを出力可能なマスタ出力回路、及び、前記マスタ出力データを前記マスタ出力回路の入力側に帰還可能なマスタ帰還回路を有して、前記マスタ帰還回路による帰還を行うことなく前記マスタ入力データに基づき前記マスタ出力データを生成するマスタスルー状態、及び、前記マスタ入力データに関係無く前記マスタ帰還回路による帰還データに基づき前記マスタ出力データを生成するマスタホールド状態の何れかをとり、
    各スレーブラッチ回路は、前記マスタ出力データに基づくスレーブ入力データを受けて前記スレーブ入力データに応じたスレーブ出力データを出力可能なスレーブ出力回路、及び、前記スレーブ出力データを前記スレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を有して、前記スレーブ帰還回路による帰還を行うことなく前記スレーブ入力データに基づき前記スレーブ出力データを生成するスレーブスルー状態、及び、前記スレーブ入力データに関係無く前記スレーブ帰還回路による帰還データに基づき前記スレーブ出力データを生成するスレーブホールド状態の何れかをとり、
    前記マスタラッチ回路の状態は、前記クロック信号のレベルに応じ、前記マスタスルー状態及び前記マスタホールド状態間で切り替えられ、
    前記特定スレーブラッチ回路の状態は、前記特定制御信号のレベルに応じ、前記スレーブスルー状態及び前記スレーブホールド状態間で切り替えられ、
    前記非特定スレーブラッチ回路の状態は、前記非特定制御信号に基づき、前記スレーブホールド状態で固定され、
    第1~第Nリセット信号の入力を受けるリセット信号入力部を更に備え、
    前記第iスレーブラッチ回路は、前記スレーブスルー状態及び前記スレーブホールド状態の夫々において、第iリセット信号をも参照して前記第iスレーブラッチ回路の前記スレーブ出力データを生成し、
    前記マスタラッチ回路は、前記マスタホールド状態において、前記第1~第Nリセット信号をも参照して前記マスタ出力データを生成する
    フリップフロップ回路
  4. 前記対象入力データは第1及び第2対象入力データを含み、
    前記第1及び第2対象入力データの内の一方を前記マスタ入力データとして前記マスタラッチ回路に供給する入力選択回路を更に備えた
    請求項1~3の何れかに記載のフリップフロップ回路。
  5. 請求項1~4の何れかに記載のフリップフロップ回路と、
    前記フリップフロップ回路に対して前記対象入力データを供給するデータ入力回路と、
    前記フリップフロップ回路の前記データ出力部から出力される前記対象出力データに基づいて動作するロジック回路と、を備えた
    、データ処理装置。
  6. 請求項1~4の何れかに記載のフリップフロップ回路と、
    前記フリップフロップ回路に対して前記対象入力データを供給するデータ入力回路と、
    前記クロック選択信号及び前記出力選択信号を前記フリップフロップ回路に供給する制御回路と、
    前記フリップフロップ回路の前記データ出力部から出力される前記対象出力データに基づいて動作するロジック回路と、を備えた
    、データ処理装置。
  7. 互いに異なる第1~第Nタイミングでの前記マスタ入力データが、夫々、前記第1~第Nスレーブラッチ回路に取り込まれて保持され、且つ、前記第1~第Nスレーブラッチ回路の保持データが別々のタイミングで前記データ出力部から出力されるよう、前記制御回路は、前記クロック選択信号及び前記出力選択信号を前記フリップフロップ回路に供給する
    、請求項6に記載のデータ処理装置。
JP2019065957A 2019-03-29 2019-03-29 フリップフロップ回路及びデータ処理装置 Active JP7295682B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019065957A JP7295682B2 (ja) 2019-03-29 2019-03-29 フリップフロップ回路及びデータ処理装置
US16/831,449 US11057024B2 (en) 2019-03-29 2020-03-26 Flip flop circuit and data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019065957A JP7295682B2 (ja) 2019-03-29 2019-03-29 フリップフロップ回路及びデータ処理装置

Publications (2)

Publication Number Publication Date
JP2020167511A JP2020167511A (ja) 2020-10-08
JP7295682B2 true JP7295682B2 (ja) 2023-06-21

Family

ID=72608034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019065957A Active JP7295682B2 (ja) 2019-03-29 2019-03-29 フリップフロップ回路及びデータ処理装置

Country Status (2)

Country Link
US (1) US11057024B2 (ja)
JP (1) JP7295682B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008219491A (ja) 2007-03-05 2008-09-18 Nec Electronics Corp マスタスレーブ型フリップフロップ回路およびラッチ回路
JP2011133356A (ja) 2009-12-24 2011-07-07 Fujitsu Semiconductor Ltd 集積回路及び故障診断回路
US20140226395A1 (en) 2013-02-14 2014-08-14 Qualcomm Incorporated Latch-based Array with Robust Design-for-Test (DFT) Features

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495629A (en) * 1983-01-25 1985-01-22 Storage Technology Partners CMOS scannable latch
JPS63286936A (ja) * 1987-05-20 1988-11-24 Oki Electric Ind Co Ltd レジスタ回路
JP2567972B2 (ja) * 1990-06-06 1996-12-25 富士通株式会社 フリップフロップ回路及び半導体集積回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008219491A (ja) 2007-03-05 2008-09-18 Nec Electronics Corp マスタスレーブ型フリップフロップ回路およびラッチ回路
JP2011133356A (ja) 2009-12-24 2011-07-07 Fujitsu Semiconductor Ltd 集積回路及び故障診断回路
US20140226395A1 (en) 2013-02-14 2014-08-14 Qualcomm Incorporated Latch-based Array with Robust Design-for-Test (DFT) Features

Also Published As

Publication number Publication date
JP2020167511A (ja) 2020-10-08
US20200313661A1 (en) 2020-10-01
US11057024B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
US6661270B2 (en) Data latch circuit and driving method thereof
KR100252445B1 (ko) 듀얼 모듈러스 프레스칼러
US7506233B2 (en) Interface circuit and method of testing or debugging semiconductor device using it
CN110311659B (zh) 一种触发器及集成电路
CN102201800B (zh) 集成电路及其操作方法
KR100776937B1 (ko) 입출력 공용 단자 제어 회로
JP2002289776A (ja) 半導体装置
JPH0678019A (ja) インターフェース装置
JP2007155587A (ja) 通信装置
JP5332428B2 (ja) レベルシフト回路及びその方法
JP7295682B2 (ja) フリップフロップ回路及びデータ処理装置
US20100052757A1 (en) Cooperation circuit
US6882184B2 (en) Clock switching circuit
US11262404B2 (en) Semiconductor integrated circuit
CN220139537U (zh) 一种分频电路、分频器及分频系统
JPH09270714A (ja) 被試験信号生成装置及びディジタルデータ信号出力装置
CN110928524B (zh) 伪随机信号发生器
JP2002517935A (ja) 異なる周波数のクロック信号を生成するための同調可能なディジタル発振器回路及び方法
US7253673B2 (en) Multi-phase clock generator and generating method for network controller
JPH0815392A (ja) テストモード設定回路
WO1997012255A1 (fr) Generateur de periodes
CN116800254A (zh) 一种分频电路、分频器及分频系统
US20080231334A1 (en) Clock signal transmission circuit
KR100646245B1 (ko) 디지털로 제어되는 주파수 발생기.
CN115144740A (zh) 一种上电锁存电路、上电锁存装置及上电锁存方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230609

R150 Certificate of patent or registration of utility model

Ref document number: 7295682

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150