(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】クロック乗せ換え回路、方法及びプログラム
(51)【国際特許分類】
G06F 5/06 20060101AFI20221213BHJP
G06F 13/38 20060101ALI20221213BHJP
【FI】
G06F5/06
G06F13/38 310F
(21)【出願番号】P 2019052717
(22)【出願日】2019-03-20
【審査請求日】2022-02-03
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】神田 高志
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2015-1986(JP,A)
【文献】特開2001-308832(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F5/06
G06F13/38
G11C7/00
(57)【特許請求の範囲】
【請求項1】
複数のデータを含む第1列データを所定のビット数毎に第1メモリと第3メモリに交互に書き込むことと並行して、複数の別のデータを含む第2列データを前記所定のビット数毎に第2メモリと第4メモリに交互に書き込む書込制御部と、
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれから、前記所定のビット数を読み出す読出制御部と、
前記第1メモリ、前記第2メモリ、前記第3メモリ、前記第4メモリの順番で、前記読み出したデータを出力する出力切替部と、
を備え、
前記所定のビット数を読み出す読出速度は、前記所定のビット数を書き込む書込速度と、列データの数と、を乗じて得た速度である、
クロック乗せ換え回路。
【請求項2】
前記書込制御部は、
前記第1列データの最初の前記所定のビット数のデータを前記第1メモリに書き込み、前記第1列データの次の前記所定のビット数のデータを前記第3メモリに書き込み、
前記第2列データの最初の前記所定のビット数のデータを前記第2メモリに書き込み、前記第2列データの次の前記所定のビット数のデータを前記第4メモリに書き込む、
請求項1に記載のクロック乗せ換え回路。
【請求項3】
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれは、2ポートRAM(Random Access Memory)である、
請求項1又は2に記載のクロック乗せ換え回路。
【請求項4】
前記書込速度は100メガヘルツであり、前記読出速度は200メガヘルツである、
請求項1乃至3のいずれか1つに記載のクロック乗せ換え回路。
【請求項5】
複数のデータを含む第1列データを所定のビット数毎に第1メモリと第3メモリに交互に書き込むことと並行して、複数の別のデータを含む第2列データを前記所定のビット数毎に第2メモリと第4メモリに交互に書き込む書込制御部と、
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれから、前記所定のビット数を読み出す読出制御部と、
前記第1メモリ、前記第2メモリ、前記第3メモリ、前記第4メモリの順番で、前記読み出したデータを出力する出力切替部と、
を備え、
前記所定のビット数を読み出す読出速度は、前記所定のビット数を書き込む書込速度と、全ての列データの前記所定のビット数のうちの有効なビット数の割合と、を乗じて得た速度である、
クロック乗せ換え回路。
【請求項6】
複数のデータを含む第1列データを所定のビット数毎に第1メモリと第3メモリに交互に書き込むことと並行して、複数の別のデータを含む第2列データを前記所定のビット数毎に第2メモリと第4メモリに交互に書き込むことと、
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれから、前記所定のビット数を読み出すことと、
前記第1メモリ、前記第2メモリ、前記第3メモリ、前記第4メモリの順番で、前記読み出したデータを出力することと、
前記所定のビット数を読み出す読出速度を、前記所定のビット数を書き込む書込速度と、列データの数と、を乗じて得た速度に設定することと、
を備える方法。
【請求項7】
複数のデータを含む第1列データを所定のビット数毎に第1メモリと第3メモリに交互に書き込むことと並行して、複数の別のデータを含む第2列データを前記所定のビット数毎に第2メモリと第4メモリに交互に書き込むことと、
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれから、前記所定のビット数を読み出すことと、
前記第1メモリ、前記第2メモリ、前記第3メモリ、前記第4メモリの順番で、前記読み出したデータを出力することと、
前記所定のビット数を読み出す読出速度を、前記所定のビット数を書き込む書込速度と、列データの数と、を乗じて得た速度に設定することと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、クロック乗せ換え回路、方法及びプログラムに関するものであり、特に、回路規模を削減することが可能なクロック乗せ換え回路、方法及びプログラムに関する。
【背景技術】
【0002】
クロック乗せ換え方法の一つとして2ポートRAM(Random Access Memory)にデータを格納することで書き込み処理と読み出し処理の時間を分け、処理の競合による読み出しデータ誤りを回避する回路が知られている。また、複数のデータをまとめたフレーム単位で並び替える方法の一つとして2ポートRAMを2面構成で用い、書き込み側がアクセスしているRAMと、読み出し側がアクセスしているRAMと、を分けることにより書き込み及び読み出しを競合させずにアドレス制御を独立に行う回路が知られている。
【0003】
特許文献1には、2ポートRAMにおいて、入力データが書き込まれる書き込みアドレスを制御する書き込みアドレス制御部と、書き込みアドレスにおいて、入力データが書き込まれないブランクアドレスを検出するブランクアドレス検出部と、2ポートRAMにおいて、ブランクアドレス以外の書き込みアドレスを、出力データが読み出される読み出しアドレスに変換する読み出しアドレス変換部と、を備えた2ポートRAMが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のようなクロック乗せ換え回路においては、例えば、特許文献1に示すように、アドレス変換部が必要であり、回路規模を削減することが難しいという課題があった。
【0006】
本開示の目的は、上述した課題を解決するクロック乗せ換え回路、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本開示に係るクロック乗せ換え回路は、
複数のデータを含む第1列データを所定のビット数毎に第1メモリと第3メモリに交互に書き込むことと並行して、複数の別のデータを含む第2列データを前記所定のビット数毎に第2メモリと第4メモリに交互に書き込む書込制御部と、
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれから、前記所定のビット数を読み出す読出制御部と、
前記第1メモリ、前記第2メモリ、前記第3メモリ、前記第4メモリの順番で、前記読み出したデータを出力する出力切替部と、
を備え、
前記所定のビット数を読み出す読出速度は、前記所定のビット数を書き込む書込速度と、列データの数と、を乗じて得た速度である。
【0008】
本開示に係るクロック乗せ換え回路は、
複数のデータを含む第1列データを所定のビット数毎に第1メモリと第3メモリに交互に書き込むことと並行して、複数の別のデータを含む第2列データを前記所定のビット数毎に第2メモリと第4メモリに交互に書き込む書込制御部と、
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれから、前記所定のビット数を読み出す読出制御部と、
前記第1メモリ、前記第2メモリ、前記第3メモリ、前記第4メモリの順番で、前記読み出したデータを出力する出力切替部と、
を備え、
前記所定のビット数を読み出す読出速度は、前記所定のビット数を書き込む書込速度と、全ての列データの前記所定のビット数のうちの有効なビット数の割合と、を乗じて得た速度である。
【0009】
本開示に係る方法は、
複数のデータを含む第1列データを所定のビット数毎に第1メモリと第3メモリに交互に書き込むことと並行して、複数の別のデータを含む第2列データを前記所定のビット数毎に第2メモリと第4メモリに交互に書き込むことと、
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれから、前記所定のビット数を読み出すことと、
前記第1メモリ、前記第2メモリ、前記第3メモリ、前記第4メモリの順番で、前記読み出したデータを出力することと、
前記所定のビット数を読み出す読出速度を、前記所定のビット数を書き込む書込速度と、列データの数と、を乗じて得た速度に設定することと、
を備える。
【0010】
本開示に係るプログラムは、
複数のデータを含む第1列データを所定のビット数毎に第1メモリと第3メモリに交互に書き込むことと並行して、複数の別のデータを含む第2列データを前記所定のビット数毎に第2メモリと第4メモリに交互に書き込むことと、
前記第1メモリ、前記第2メモリ、前記第3メモリ、及び前記第4メモリのそれぞれから、前記所定のビット数を読み出すことと、
前記第1メモリ、前記第2メモリ、前記第3メモリ、前記第4メモリの順番で、前記読み出したデータを出力することと、
前記所定のビット数を読み出す読出速度を、前記所定のビット数を書き込む書込速度と、列データの数と、を乗じて得た速度に設定することと、
をコンピュータに実行させる。
【発明の効果】
【0011】
本開示によれば、回路規模を削減することが可能なクロック乗せ換え回路、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態に係るクロック乗せ換え回路を例示するブロック図である。
【
図2】実施の形態に係るクロック乗せ換え回路を例示するブロック図である。
【
図3】実施の形態に係るクロック乗せ換え回路の書込動作を例示するタイミングチャートである。
【
図4】実施の形態に係るクロック乗せ換え回路の読出動作を例示するタイミングチャートである。
【
図5】実施の形態に係るクロック乗せ換え回路の位相調整処理を例示するタイミングチャートである。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
【0014】
[実施の形態]
先ず、実施の形態に係るクロック乗せ換え回路の概要を説明する。
図1は、実施の形態に係るクロック乗せ換え回路を例示するブロック図である。
【0015】
図1に示すように、クロック乗せ換え回路11は、記憶部111と、書込制御部112と、読出制御部113と、出力切替部114と、を備える。記憶部111は、第1メモリ1111と第2メモリ1112と第3メモリ1113と第4メモリ1114とを有する。
【0016】
書込制御部112は、複数のデータを含む第1列データを所定のビット数毎に第1メモリ1111と第3メモリ1113に交互に書き込む。書込制御部112は、これと並行して、複数の別のデータを含む第2列データを所定のビット数毎に第2メモリ1112と第4メモリ1114に交互に書き込む。
【0017】
具体的には、書込制御部112は、第1列データの最初の所定のビット数のデータを第1メモリ1111に書き込み、第1列データの次の所定のビット数のデータを第3メモリ1113に書き込む。書込制御部112は、これと並行して、第2列データの最初の所定のビット数のデータを第2メモリ1112に書き込み、第2列データの次の所定のビット数のデータを第4メモリ1114に書き込む。
【0018】
尚、所定のビット数のデータの時間的な幅をフレームと称する。よって、書込制御部112は、第1列データをフレーム毎(フレーム単位)に第1メモリ1111と第3メモリ1113に交互に書き込む。
【0019】
読出制御部113は、第1メモリ1111、第2メモリ1112、第3メモリ1113、及び第4メモリ1114のそれぞれから、所定のビット数を読み出す。
【0020】
出力切替部114は、第1メモリ1111、第2メモリ1112、第3メモリ1113、第4メモリ1114の順番で、読出制御部113が読み出したデータを出力データとして出力する。このとき、読出制御部113が所定のビット数を読み出す読出速度は、書込制御部112が所定のビット数を書き込む書込速度と、列データの数と、を乗じて得た速度である。
【0021】
例えば、書込速度は100メガヘルツの場合、読出速度は200メガヘルツである、
【0022】
次に、実施の形態に係るクロック乗せ換え回路の詳細を説明する。
図2は、実施の形態に係るクロック乗せ換え回路を例示するブロック図である。
【0023】
図2に示すように、クロック乗せ換え回路11は、パルスタイミング比較部115と位相信号生成部116と位相信号検出部117と位相比較部118とを備える。また、書込イネーブル生成部1121と書込アドレスカウンタ1122は、書込制御部112に含まれる。また、読出アドレスカウンタ1131は、読出制御部113に含まれる。
【0024】
クロック乗せ換え回路11は、第1列データ及び第2列データという2列で入力される列データを、第1メモリ1111から第4メモリ1114を用いて書込クロックから読出クロックに乗せ換える。
【0025】
尚、第1メモリ1111、第2メモリ1112、第3メモリ1113、及び第4メモリ1114のそれぞれは、例えば、2ポートRAM(Random Access Memory)を使用する。
【0026】
また、クロック乗せ換え回路11は、動作中に書込処理と読出処理において、2ポートRAMのアドレスが重ならない範囲に初期位相を設定する。
【0027】
書込アドレスカウンタ1122は、(2ポートRAMの深さ)の2倍の値を生成し、最上位ビットを除いた信号を書込アドレス信号WAとして第1メモリ1111から第4メモリ1114に出力する。
【0028】
最上位ビットの信号により、第1メモリ1111と第2メモリ1112、又は、第3メモリ1113と第4メモリ1114の書込イネーブル信号(WE1からWE4)を切り替える。
【0029】
書込イネーブル生成部1121は、書込アドレスカウンタ1122の値から、各メモリの書込イネーブル信号WE1から書込イネーブル信号WE4を生成する。
【0030】
読出アドレスカウンタ1131は、(2portRAMの深さ)の4倍の値を生成し、上位2ビットを除く信号を読出アドレス信号RAとして第1メモリ1111から第4メモリ1114に接続する。
【0031】
出力切替部114は、読出アドレスカウンタ1131の値に基づいて第1経路から第4経路を切り替えて出力する。
【0032】
パルスタイミング比較部115は、入力フレームパルスの位相と書込アドレスカウンタ1122の位相とを比較し、書込アドレスカウンタ1122と読出アドレスカウンタ1131を初期化するための初期化信号S1を生成する。
【0033】
書込アドレスカウンタ1122の値は、位相信号生成部116及び位相信号検出部117において同期クロックを書込クロックから読出クロックに乗せ換えた後、位相比較部118に位相信号の情報S2として出力される。
【0034】
位相比較部118は、書込アドレス信号WAと読出アドレス信号RAの位相関係を監視する。位相比較部118は、位相関係が許容範囲を超えた場合、初期化信号S3を出力する。
【0035】
次に、実施の形態に係るクロック乗せ換え回路の動作を説明する。
この例では、複数ビットであるK個のデータを、1フレームで2列(第1列データと第2列データ)入力し、クロック乗せ換えにより第1列データと第2列データを1フレームで出力することを説明する。ただし、Kは自然数とする。この例では、書込クロック(書込速度)は100メガヘルツとなり、読出クロック(読出速度)は200メガヘルツとなる。
【0036】
図3は、実施の形態に係るクロック乗せ換え回路の書込動作を例示するタイミングチャートである。
図3は、入力側(書込み側)のデータ処理を示す。
図4は、実施の形態に係るクロック乗せ換え回路の読出動作を例示するタイミングチャートである。
図4は、出力側(読出し側)のデータ処理を示す。
図5は、実施の形態に係るクロック乗せ換え回路の位相調整処理を例示するタイミングチャートである。
【0037】
図3及び
図5に示すように、パルスタイミング比較部115は、起動後、最初の入力フレームパルスを検出した場合、書込アドレスカウンタ1122及び読出アドレスカウンタ1131を初期化するための初期化信号S1を出力する。読出アドレスカウンタ1131は、書込アドレスカウンタ1122の位相信号の情報S2に基づいて初期化される。
【0038】
位相比較部118は、書込アドレスカウンタ1122の値と読出アドレスカウンタ1131の値とを比較し、設定された範囲を超えた場合、読出アドレスカウンタ1131を初期化する初期化信号S3を生成し、読出アドレスカウンタ1131に出力する。
【0039】
書込イネーブル生成部1121は、書込アドレスカウンタ1122の最上位ビットが「0」の時、書込イネーブル信号WE1と書込イネーブル信号WE3をアサートする。そして、クロック乗せ換え回路11は、第1列データを第1メモリ1111と第3メモリ1113に書き込む。
【0040】
書込イネーブル生成部1121は、書込アドレスカウンタ1122の最上位ビットが「1」の時、書込イネーブル信号WE2と書込イネーブル信号WE4をアサートする。そして、クロック乗せ換え回路11は、第2列データを第2メモリ1112と第4メモリ1114に書き込む。
【0041】
クロック乗せ換え回路11は、起動後、最初の入力フレームパルスを検出してから第1列データと第2列データの書き込みを開始する。
【0042】
図4及び
図5に示すように、出力切替部114は、読出アドレスカウンタ1131の上位2ビットの値から、第1メモリ1111から第4メモリ1114のうちのいずれかを選択する選択信号を生成する。出力切替部114は、第1メモリ1111、第2メモリ1112、第3メモリ1113及び第4メモリ1114から読み出したデータを選択信号に基づいて選択し、出力データとして出力する。
【0043】
実施の形態に係るクロック乗せ換え回路11は、複数の入力データをフレーム単位(フレーム毎)で並び替えてメモリに書き込むと共に、クロック乗せ換え処理を行い乗せ換え後の速度でデータを読み出して出力する。これにより、クロック乗せ換え回路11の回路規模を削減することができる。
【0044】
また、クロック乗せ換え回路11の回路規模が削減され処理時間が短縮されるので、処理遅延を低減することができる。
【0045】
尚、実施の形態では、入力する列データの数を2列として説明したが、これには限定されない。実施の形態は、入力する列データの数を3列以上としてもよい。
【0046】
また、クロック乗せ換え前後のクロック周波数の比率は、1対2に限定されない。クロック乗せ換え回路11が所定のビット数を読み出す読出速度を、所定のビット数を書き込む書込速度と、全ての列データの所定ビット数のうちの有効なビット数の割合と、を乗じて得た速度としてもよい。
【0047】
具体的には、
図2に示す第1列データのN個と、第2列データの前半の(N/2)個を有効なデータとする場合、書込クロックの周波数を100メガヘルツとし、読出クロックの周波数を150メガヘルツとして有効なデータのみを乗せ換えてもよい。ただし、Nは2の倍数とする。
【0048】
なお、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0049】
上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(具体的にはフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(具体的には光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(具体的には、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM))、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0050】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0051】
11…クロック乗せ換え回路
111…記憶部
1111…第1メモリ
1112…第2メモリ
1113…第3メモリ
1114…第4メモリ
112…書込制御部
1121…書込イネーブル生成部
1122…書込アドレスカウンタ
113…読出制御部
1131…読出アドレスカウンタ
114…出力切替部
115…パルスタイミング比較部
116…位相信号生成部
117…位相信号検出部
118…位相比較部
WA…書込アドレス信号
WE1、WE2、WE3、WE4…書込イネーブル信号
RA…読出アドレス信号
S1、S3…初期化信号
S2…位相信号の情報