(57)【要約】【課題】複数の出力信号が外部の集積回路に同じタイミングで入力されるように、複数の出力信号のそれぞれの出力タイミングを調整できるようにすることを目的とする。【解決手段】出力セレクタ１３４は、複数の調整信号をそれぞれの出力経路に出力する。同期回路は、帰還経路を通って帰還する複数の調整信号が入力される。カウンタ１３１は、複数の調整信号の調整信号毎に調整信号が出力されてから入力されるまでの遅延時間を計測する。シフトレジスタ１３２は、複数の出力信号の出力信号毎に出力信号を複数のタイミングで出力する。出力セレクタ１３４は、複数の調整信号のそれぞれの遅延時間のうちの最大の遅延時間と第一の調整信号の遅延時間との時間差に基づいて第一の出力信号が出力される複数のタイミングから出力タイミングを選択し、選択した出力タイミングで出力された第一の出力信号を第一の調整信号の出力経路に出力する。【選択図】図２
2015136025.tif 000002
【特許請求の範囲】
【請求項１】
第一の調整信号と他の調整信号とをそれぞれの出力経路に出力する調整信号出力部と、
帰還経路を通って帰還する前記第一の調整信号と前記他の調整信号とのそれぞれが入力される調整信号入力部と、
前記第一の調整信号と他の調整信号との調整信号毎に前記調整信号が前記調整信号出力部から出力されてから前記調整信号入力部に入力されるまでの遅延時間を計測する遅延時間計測部と、
第一の出力信号と他の出力信号との出力信号毎に前記出力信号を複数のタイミングで出力する出力信号遅延部と、
前記遅延時間計測部によって計測された前記第一の調整信号の前記遅延時間と前記他の調整信号の前記遅延時間とに基づいて前記出力信号遅延出力部が前記第一の出力信号を出力する前記複数のタイミングから出力タイミングを選択し、選択した前記出力タイミングで出力された前記第一の出力信号を前記第一の調整信号の前記出力経路に出力する出力信号出力部と
を備えることを特徴とする集積回路。
【請求項２】
前記他の調整信号は、複数の調整信号のうちで前記遅延時間が最大になる調整信号であり、
前記出力信号出力部は、前記第一の調整信号の前記遅延時間と前記他の調整信号の前記遅延時間との時間差に基づいて前記出力タイミングを選択する
ことを特徴とする請求項１に記載の集積回路。
【請求項３】
前記遅延時間計測部は、前記第一の調整信号の前記遅延時間を前記第一の調整信号用のカウント値を前記第一の調整信号用の初期値からカウントアップすることによって計測し、前記他の調整信号の前記遅延時間を前記他の調整信号用のカウント値を前記他の調整信号用の初期値からカウントアップすることによって計測する
ことを特徴とする請求項１または請求項２に記載の集積回路。
【請求項４】
前記集積回路を動作させるクロック信号を逓倍する逓倍回路を備えることを特徴とする請求項１から請求項３のいずれかに記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の信号のスキューを調整する機構を備える集積回路に関するものである。
【背景技術】
【０００２】
回路に流れる複数の信号のスキューを調整するために、信号の位相関係を定義する制約条件ファイル（ＳＤＣ）を用いて、フリップフロップ（ＦＦ）の配置およびクロック信号のスキューが調整される。
しかし、回路基板には寄生容量等が発生するため、回路の実装後にスキューを再び調整をする必要が生じる場合もある。
【０００３】
特許文献１は、スキューを調整するために、遅延調整セル等を用いて派生クロックを生成し、派生クロックの位相を基準信号の位相と比較し、妥当な派生クロックを選択する技術を開示している。但し、派生クロックを生成するための複雑な機構が必要である。
そのため、特許文献１の技術はＬＳＩのうちのＡＳＩＣに適用することは可能であるが、ＦＰＧＡに適用することは困難であると考えられる。ＦＰＧＡは遅延調整を自由に行えない場合が多いためである。
ＬＳＩはＬａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎの略称である。ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称である。ＦＰＧＡはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−９４４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、複数の出力信号が外部の集積回路に同じタイミングで入力されるように、複数の出力信号のそれぞれの出力タイミングを調整できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の集積回路は、
第一の調整信号と他の調整信号とをそれぞれの出力経路に出力する調整信号出力部と、
帰還経路を通って帰還する前記第一の調整信号と前記他の調整信号とのそれぞれが入力される調整信号入力部と、
前記第一の調整信号と他の調整信号との調整信号毎に前記調整信号が前記調整信号出力部から出力されてから前記調整信号入力部に入力されるまでの遅延時間を計測する遅延時間計測部と、
第一の出力信号と他の出力信号との出力信号毎に前記出力信号を複数のタイミングで出力する出力信号遅延部と、
前記遅延時間計測部によって計測された前記第一の調整信号の前記遅延時間と前記他の調整信号の前記遅延時間とに基づいて前記出力信号遅延出力部が前記第一の出力信号を出力する前記複数のタイミングから出力タイミングを選択し、選択した前記出力タイミングで出力された前記第一の出力信号を前記第一の調整信号の前記出力経路に出力する出力信号出力部とを備える。
【発明の効果】
【０００７】
本発明によれば、複数の出力信号が外部の集積回路に同じタイミングで入力されるように、複数の出力信号のそれぞれの出力タイミングを調整することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１における集積回路１００の構成図である。
【図２】実施の形態１におけるチャネル制御回路１３０の構成図である。
【図３】実施の形態２における集積回路１００および外部ＩＣ２００の関係図である。
【図４】実施の形態３における集積回路１００の構成図である。
【図５】実施の形態３におけるチャネル制御回路１３０の構成図である。
【図６】実施の形態４における集積回路１００の構成図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
複数の出力信号が外部の集積回路に同じタイミングで入力されるように、複数の出力信号のそれぞれの出力タイミングを調整する形態について説明する。
【００１０】
図１は、実施の形態１における集積回路１００の構成図である。
実施の形態１における集積回路１００の構成について、図１に基づいて説明する。
【００１１】
集積回路１００は、例えば、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）またはＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）である。
【００１２】
集積回路１００は、Ｎ個の入力信号Ｉ＿ＤＡＴＡ［０：Ｎ−１］をＮ個の出力信号Ｉ＿ＤＡＴＡ［０：Ｎ−１］として出力する回路である。
Ｎ個の入力信号Ｉ＿ＤＡＴＡは集積回路１００の外部から入力される。但し、Ｎ個の入力信号Ｉ＿ＤＡＴＡは集積回路１００内で生成される信号であっても構わない。
Ｎ個の出力信号Ｉ＿ＤＡＴＡは伝送路（信号線）を通って他の集積回路（図示省略）に入力される。以下、他の集積回路を外部ＩＣと呼ぶ。ＩＣはｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔの略称である。
以下の説明において、入力信号Ｉ＿ＤＡＴＡ［ｎ］および出力信号Ｏ＿ＤＡＴＡ［ｎ］は第ｎビットのデータを表す信号である。
【００１３】
集積回路１００は、同期回路１１０（調整信号入力部の一例）と、カウンタ制御回路１２０と、チャネル制御回路１３０と、制御レジスタ１４０とを備える。
集積回路１００の各回路は、集積回路１００に入力されるクロック信号ＣＬＯＣＫの周期に合わせて動作する。
集積回路１００の各回路は、集積回路１００にリセット信号ＲＳＴＮが入力されたときに動作を開始する。但し、各回路は、集積回路１００にリセット信号ＲＳＴＮ以外の信号が入力されたときに動作を開始しても構わない。
【００１４】
Ｎ個の入力信号Ｉ＿ＤＡＴＡはチャネル制御回路１３０に入力され、Ｎ個の出力信号Ｏ＿ＤＡＴＡとしてチャネル制御回路１３０から出力される。
集積回路１００と外部ＩＣとを繋ぐ伝送路には、Ｎ個の出力信号Ｏ＿ＤＡＴＡを同期回路１１０に帰還させる信号線である帰還経路（図示省略）が接続される。
以下、帰還経路から帰還する出力信号Ｏ＿ＤＡＴＡ［ｎ］を帰還信号Ｒ＿ＤＡＴＡ［ｎ］と呼ぶ。
Ｎ個の帰還信号Ｒ＿ＤＡＴＡ［０：Ｎ−１］は同期回路１１０に入力される。
【００１５】
同期回路１１０は、Ｎ個の帰還信号Ｒ＿ＤＡＴＡ［０：Ｎ−１］がメタステーブルの状態にならないようにするための回路である。例えば、同期回路１１０は、２段のフリップフロップを備える回路、つまり、カスケード接続された２つのフリップフロップを備える回路である。
同期回路１１０は、Ｎ個の帰還信号Ｒ＿ＤＡＴＡ［０：Ｎ−１］を出力する。
同期回路１１０から出力されたＮ個の帰還信号Ｒ＿ＤＡＴＡ［０：Ｎ−１］はカウンタ制御回路１２０に入力される。
【００１６】
カウンタ制御回路１２０は、調整用の出力信号Ｏ＿ＤＡＴＡ［ｎ］（調整信号の一例）がチャネル制御回路１３０から出力されてから調整用の帰還信号Ｉ＿ＤＡＴＡ［ｎ］が同期回路１１０に入力されるまでの遅延時間を計測するためのカウントアップを指示する回路である。遅延時間は、集積回路１００と外部ＩＣとを繋ぐ伝送路の状態によって異なる。例えば、遅延時間は伝送路に掛かる負荷の大きさによって異なる。
リセット信号ＲＳＴＮが入力されてから調整用の帰還信号Ｒ＿ＤＡＴＡ［ｎ］が入力されるまでの間、カウンタ制御回路１２０はカウントアップを指示する信号を出力する。以下、カウントアップを指示する信号を有効なカウントアップ信号ＣＡＬＣ［ｎ］と呼ぶ。例えば、有効なカウントアップ信号ＣＡＬＣ［ｎ］はＨｉｇｈ（１）の信号値を示す信号である。
調整用の帰還信号Ｒ＿ＤＡＴＡ［ｎ］が入力された後、カウンタ制御回路１２０はカウントアップを停止する信号を出力する。以下、カウントアップを停止する信号を無効なカウントアップ信号ＣＡＬＣ［ｎ］と呼ぶ。例えば、無効なカウントアップ信号ＣＡＬＣ［ｎ］はＬｏｗ（０）の信号値を示す信号である。
カウンタ制御回路１２０から出力されたＮ個のカウントアップ信号［０：Ｎ−１］はチャネル制御回路１３０に入力される。
【００１７】
チャネル制御回路１３０は、Ｎ個の出力信号Ｏ＿ＤＡＴＡが同じタイミングで外部ＩＣに入力されるように、Ｎ個の出力信号Ｏ＿ＤＡＴＡを出力するタイミングを調整する回路である。
有効なカウントアップ信号ＣＡＬＣ［ｎ］が入力されている場合、チャネル制御回路１３０は調整用の出力信号Ｏ＿ＤＡＴＡ［ｎ］を出力し、調整用の出力信号Ｏ＿ＤＡＴＡ［ｎ］の遅延時間（ＣＯＵＮＴ［ｎ］）を計測する。
無効なカウントアップ信号ＣＡＬＣ［ｎ］が入力されている場合、チャネル制御回路１３０は、調整用の出力信号Ｏ＿ＤＡＴＡ［ｎ］の遅延時間に基づいて入力信号Ｉ＿ＤＡＴＡ［ｎ］を出力するタイミングを調整する。そして、チャネル制御回路１３０は、調整したタイミングで入力信号Ｉ＿ＤＡＴＡ［ｎ］を出力信号Ｏ＿ＤＡＴＡ［ｎ］として出力する。
チャネル制御回路１３０の詳細については後述する。
【００１８】
制御レジスタ１４０は、Ｎ個の出力信号Ｏ＿ＤＡＴＡのそれぞれの遅延時間のうちの最長の遅延時間（Ｍ＿ＣＯＵＮＴ）を記憶する回路である。
【００１９】
図２は、実施の形態１におけるチャネル制御回路１３０の構成図である。
実施の形態１におけるチャネル制御回路１３０の構成について、図２に基づいて説明する。
【００２０】
チャネル制御回路１３０は、カウンタ１３１（遅延時間計測部の一例）と、Ｎ個のシフトレジスタ１３２（出力信号遅延部の一例）と、Ｎ個の減算回路１３３と、Ｎ個の出力セレクタ１３４（調整信号出力部、出力信号出力部の一例）とを備える。Ｎ個は入力信号Ｉ＿ＤＡＴＡ［０：Ｎ−１］と同じ個数である。
【００２１】
カウンタ１３１は、有効なカウントアップ信号ＣＡＬＣ［ｎ］が入力されている間、カウント値ＣＯＵＮＴ［ｎ］のカウントアップを行う。カウント値ＣＯＵＮＴ［ｎ］は調整用の出力信号Ｏ＿ＤＡＴＡ［ｎ］の遅延時間を意味する。カウント値の初期値は０（または所定値）である。
カウンタ１３１は、Ｎ個のカウント値ＣＯＵＮＴを出力する。
カウンタ１３１から出力されたＮ個のカウント値ＣＯＵＮＴは制御レジスタ１４０（図１参照）に入力される。制御レジスタ１４０はＮ個のカウント値ＣＯＵＮＴのうちの最大の値であるカウント最大値Ｍ＿ＣＯＵＮＴを記憶する。
【００２２】
各シフトレジスタ１３２は、複数段（Ｘ段）のフリップフロップを備える回路、つまり、カスケード接続されたＸ個のフリップフロップを備える回路である。
入力信号Ｉ＿ＤＡＴＡ［ｎ］は、第０段から第Ｘ−１段までのフリップフロップに順番に入力され、第０段から第Ｘ−１段までの各フリップフロップから順番に出力される。以下、第ｘ段のフリップフロップから出力される入力信号Ｉ＿ＤＡＴＡ［ｎ］をシフト信号ＳＲ［ｎ］［ｘ］と呼ぶ。
第ｎのシフトレジスタ１３２から出力されるＸ個のシフト信号ＳＲは第ｎの出力セレクタ１３４に入力される。
【００２３】
第ｎの減算回路１３３は、カウント最大値Ｍ＿ＣＯＵＮＴとカウント値［ｎ］との差分を示すカウント差分値Ｄ＿ＣＯＵＮＴ［ｎ］を算出し、算出したカウント差分値Ｄ＿ＣＯＵＮＴ［ｎ］を出力する。
第ｎの減算回路１３３から出力されるカウント差分値Ｄ＿ＣＯＵＮＴ［ｎ］は、第ｎの出力セレクタ１３４に入力される。
【００２４】
第ｎの出力セレクタ１３４は、有効なカウントアップ信号ＣＡＬＣ［ｎ］が入力されている場合、調整用の出力信号Ｏ＿ＤＡＴＡ［ｎ］を出力する。例えば、調整用の出力信号Ｏ＿ＤＡＴＡはＨｉｇｈ（１）の信号値を示す信号である。
【００２５】
第ｎの出力セレクタ１３４は、無効なカウントアップ信号ＣＡＬＣ［ｎ］が入力されている場合、カウント差分値Ｄ＿ＣＯＵＮＴ［ｎ］に基づいて、第ｎのシフトレジスタ１３２が備えるＸ個のフリップフロップからいずれかのフリップフロップを選択する。このとき、出力セレクタ１３４は、カウント差分値Ｄ＿ＣＯＵＮＴ［ｎ］が大きいほど後段のフリップフロップを選択する。例えば、カウント差分値Ｄ＿ＣＯＵＮＴ［ｎ］がｘである場合、出力セレクタ１３４は第ｘ段のフリップフロップを選択する。
そして、出力セレクタ１３４は、選択したフリップフロップから入力されるシフト信号ＳＲ［ｎ］「ｘ」を出力信号［ｎ］として出力する。
【００２６】
したがって、出力セレクタ１３４は、カウント差分値Ｄ＿ＣＯＵＮＴ［ｎ］が大きいほど遅いタイミングで出力信号［ｎ］を出力する。
例えば、Ｄ＿ＣＯＵＮＴ［０］がＤ＿ＣＯＵＮＴ［１］より大きい場合、出力セレクタ１３４は出力信号［１］よりも遅いタイミングで出力信号［０］を出力する。
これにより、出力セレクタ１３４は、Ｎ個の出力信号を同じタイミングで外部ＩＣに入力することができる。
【００２７】
出力セレクタ１３４は、同期回路１１０と同様にフリップフロップを備え、フリップフロップを経由した出力信号Ｏ＿ＤＡＴＡを出力してもよい。
【００２８】
実施の形態１において、信号のスキューを自動調整するスキュー調整機構（１１０、１２、１３０、１４０）を備える集積回路１００について説明した。括弧内の数字は該当する機能の符号である。
実施の形態１により、従来技術ではＦＰＧＡに実装することが困難であってスキュー調整機構をＦＰＧＡに容易に実装することができる。
【００２９】
実施の形態２．
集積回路１００と外部ＩＣとの関係について説明する。
以下、実施の形態１で説明していない事項について主に説明する。説明を省略する事項については実施の形態１と同じである。
【００３０】
図３は、実施の形態２における集積回路１００および外部ＩＣ２００の関係図である。
実施の形態２における集積回路１００および外部ＩＣ２００の関係について、図３に基づいて説明する。
【００３１】
集積回路１００と外部ＩＣ２００とはＮ本の伝送路２０１（信号線）で接続され、Ｎ本の伝送路２０１のそれぞれに帰還経路２０２（信号線）が接続される。
伝送路２０１が回路基板内の配線ではなくて回路基板に接続されるケーブルである場合、伝送路２０１に掛かる出力負荷２０３の大きさは一意に定まらない。
【００３２】
集積回路１００から出力されたＮ個の出力信号Ｏ＿ＤＡＴＡは、Ｎ本の伝送路２０１を通って外部ＩＣ２００に入力される。このとき、Ｎ個の出力信号Ｏ＿ＤＡＴＡが集積回路１００から出力されて外部ＩＣ２００に入力されるまでの時間は、それぞれの伝送路２０１に掛かる出力負荷２０３の大きさによって異なる。
Ｎ個の出力信号Ｏ＿ＤＡＴＡは、Ｎ本の帰還経路２０２を通ってＮ個の帰還信号Ｒ＿ＤＡＴＡとして集積回路１００に入力される。このとき、Ｎ個の出力信号Ｏ＿ＤＡＴＡが集積回路１００から出力されて集積回路１００に帰還するまでの時間は、それぞれの帰還経路２０２が接続する伝送路２０１に掛かる出力負荷２０３の大きさによって異なる。
そこで、集積回路１００は、Ｎ個の帰還信号Ｒ＿ＤＡＴＡの遅延時間の差に基づいて、Ｎ個の出力信号Ｏ＿ＤＡＴＡの出力タイミングを調整する。
これにより、Ｎ個の伝送路２０１の出力負荷２０３の大きさが一意に定まらない場合であっても、集積回路１００は、Ｎ個の出力信号Ｏ＿ＤＡＴＡが同じタイミングで外部ＩＣ２００に入力されるように、Ｎ個の出力信号Ｏ＿ＤＡＴＡを出力することができる。
【００３３】
実施の形態３．
Ｎ個の帰還信号のそれぞれの遅延時間を計測するためのカウントアップの初期値を設定する形態について説明する。
以下、実施の形態１、２と異なる事項について主に説明し、説明を省略する事項は実施の形態１、２と同様である。
【００３４】
図４は、実施の形態３における集積回路１００の構成図である。
実施の形態３における集積回路１００の構成について、図４に基づいて説明する。
集積回路１００は、実施の形態１（図１参照）で説明した各回路に加えて、初期値レジスタ１５０を備える。
初期値レジスタ１５０は、Ｎ個のカウント初期値ＤＥＬＡＹを記憶する。
初期値レジスタ１５０に記憶されるＮ個のカウント初期値ＤＥＬＡＹはチャネル制御回路１３０に入力される。
【００３５】
図５は、実施の形態３におけるチャネル制御回路１３０の構成図である。
実施の形態３におけるチャネル制御回路１３０の構成について、図５に基づいて説明する。
チャネル制御回路１３０の構成は実施の形態１（図２参照）と同様である。
但し、カウンタ１３１には、Ｎ個のカウントアップ信号の他に、Ｎ個のカウント初期値ＤＥＬＡＹが入力される。
そして、カウンタ１３１は、カウント値ＣＯＵＮＴ［ｎ］のカウントアップを始めるときのカウント値ＣＯＵＮＴ［ｎ］の初期値として、カウント初期値ＤＥＬＡＹ［ｎ］を用いる。
【００３６】
これにより、カウンタ１３１は、特定の出力信号（例えば、イネーブル信号）のカウント値ＣＯＵＮＴを調整することができる。
そして、出力セレクタ１３４は、特定の出力信号が他の出力信号よりも早くに又は遅くに外部ＩＣに入力されるように、特定の出力信号を出力することができる。
さらに、クロック周期刻みで同時スイッチングノイズを緩和するような構成をとることが可能になる。
【００３７】
実施の形態４．
集積回路１００の動作を高速化する形態について説明する。
以下、実施の形態１、２と異なる事項について主に説明する。説明を省略する事項については実施の形態１、２と同様である。
【００３８】
図６は、実施の形態４における集積回路１００の構成図である。
実施の形態４における集積回路１００の構成について、図６に基づいて説明する。
【００３９】
集積回路１００は、実施の形態１（図１参照）で説明した各回路に加えて、逓倍回路１６０を備える。
逓倍回路１６０は、クロック信号ＣＬＯＣＫの周波数を逓倍する回路である。例えば、逓倍回路１６０はＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）である。
集積回路１００の各構成は、逓倍回路１６０によって逓倍されたクロック信号ＣＬＯＣＫの周期に合わせて動作する。
これにより、集積回路１００の動作を高速化することができる。但し、逓倍回路１６０は、集積回路１００の各回路が動作できる範囲内で、クロック信号ＣＬＯＣＫの周波数を逓倍するものとする。
【００４０】
各実施の形態は、集積回路１００の形態の一例である。
つまり、集積回路１００は、各実施の形態で説明した構成要素の一部を備えなくても構わない。また、集積回路１００は、各実施の形態で説明していない構成要素を備えても構わない。さらに、集積回路１００は、各実施の形態の構成要素の一部または全てを組み合わせたものであっても構わない。
例えば、実施の形態３の集積回路１００（図４参照）が実施の形態４で説明した逓倍回路１６０を備えても構わない。
【符号の説明】
【００４１】
１００  集積回路、１１０  同期回路、１２０  カウンタ制御回路、１３０  チャネル制御回路、１３１  カウンタ、１３２  シフトレジスタ、１３３  減算回路、１３４  出力セレクタ、１４０  制御レジスタ、２００  外部ＩＣ、２０１  伝送路、２０２  帰還経路、２０３  出力負荷、１５０  初期値レジスタ、１６０  逓倍回路。
【図１】
2015136025.tif 000003
【図２】
2015136025.tif 000004
【図３】
2015136025.tif 000005
【図４】
2015136025.tif 000006
【図５】
2015136025.tif 000007
【図６】
2015136025.tif 000008