JP2018157351A - デジタルフィルタ回路 - Google Patents
デジタルフィルタ回路 Download PDFInfo
- Publication number
- JP2018157351A JP2018157351A JP2017052000A JP2017052000A JP2018157351A JP 2018157351 A JP2018157351 A JP 2018157351A JP 2017052000 A JP2017052000 A JP 2017052000A JP 2017052000 A JP2017052000 A JP 2017052000A JP 2018157351 A JP2018157351 A JP 2018157351A
- Authority
- JP
- Japan
- Prior art keywords
- input
- bus
- level
- flip
- data
- 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
Links
Images
Landscapes
- Manipulation Of Pulses (AREA)
- Dc Digital Transmission (AREA)
Abstract
【課題】バスマスタと、該バスマスタからの制御データにより制御されるバススレーブとを結ぶ外部データバスに伝送されるデータのノイズを除去するデジタルフィルタ回路において、フィルタ段数を保ったまま回路規模を抑える。【解決手段】前記外部データバスの信号およびクロック信号が入力されるカウンタであって、フィルタ段数をn(nは奇数)としたときのlog2(n+1)で決定される個数(少数以下を切上げた正数)設けられたカウンタ51と、(n+1)/2の基準値を生成する基準値生成回路(加算器58、シフタ59)と、前記各カウンタ51の出力値と前記基準値とを各々比較することによってカウンタ出力値の多数決判定を行い、前記カウンタ51の出力値が基準値以上のときHレベルデータを前記バススレーブに出力し、それ以外のときLレベルデータを前記バススレーブに出力する比較器57と、を備えた。【選択図】図1
Description
本発明は、組み込み分野のCPUを使ったデジタル回路に関し、特にデジタルフィルタ回路に関する。
一般に、CPUなどのバスマスタからバスに対して書き込み制御信号のデータを伝送し、バススレーブが前記バスからデータの取り込みを行うことにより、バススレーブ内のデバイスの書き込みがなされる組み込みシステムは、例えば図6のように構成されていた。
図6において、バスマスタ10は例えばCPUであり、バススレーブ11は例えば書き込み可能なIOデバイスである。CPUとIOデバイスはデータバス(外部データバス12a,内部データバス12b)によって接続され、CPUがIOデバイスをリード、ライトすることでIOデバイスを制御する。
データバスの信号は電気信号であるため、ノイズが重畳することがある。ノイズの影響をなくす目的で、図6のようにバスマスタ10とバススレーブ11の間にフィルタ回路20を配置する。尚バススレーブ11、内部データバス12bおよびフィルタ回路20は、この例ではFPGA(Field Programmable Gate Array)40に実装されている。
フィルタ回路20の方式は、先行技術として特許文献1、2に記載のものがある。先行技術のフィルタの構成は、例えば図7に示すように、多段のフリップフロップ、例えばフリップフロップ21〜27を用い、フリップフロップ21〜27の出力の多数決をとることで、重畳したノイズを無効化している。
図7において、7段のフリップフロップ21〜27の一方の入力端子にはクロック信号が各々入力され、1段目のフリップフロップ21の他方の入力端子には外部データバス12aの1ビットのデータが入力される。
2段目〜7段目のフリップフロップ22〜27の他方の入力端子には、当該フリップフロップの各前段の1段目〜6段目のフリップフロップ21〜26の出力が各々入力され、1段目〜7段目のフリップフロップ21〜27の各出力はさらに多数決回路30に各々入力される。多数決回路30の出力は内部データバス12bの1ビットのデータとなる。
図8に、ノイズが無いときの図7の各部における動作波形を示し、図9に、7クロック幅のH(レベル)データの内3クロックのL(レベル)のノイズが重畳した場合の、図7の各部における動作波形を示す。
まずノイズが無い場合の図8において、1段目のフリップフロップ21は外部データバス12aのデータがH(正常値)に変化してから次に入力されるクロック信号の立上りによりHを出力し、外部データバス12aのデータがLに変化してから次に入力されるクロック信号の立上りによりLを出力する。
2段目のフリップフロップ22は、1段目のフリップフロップ21の出力がHに変化してから次に入力されるクロック信号の立上りによりHを出力し、フリップフロップ21の出力がLに変化してから次に入力されるクロック信号の立上りによりLを出力する。
3段目〜7段目のフリップフロップ23〜27も2段目のフリップフロップ22と同様の動作となる。
多数決回路30は、7段のうち4段のフリップフロップ21〜24の出力がHとなった時点で内部データバス12bにHレベルデータを出力する。
図8中のライトトリガは、図7では図示省略しているが、図6のバスマスタ10から伝送される書き込み指令信号であり、バススレーブ11はライトトリガがHのときのクロック信号立上りエッジ(図示WP箇所)で内部データバス12bのデータ(外部データバス12aに伝送されたHのライトデータ(正常値)と同じHレベルデータ)を取り込む。
また、ノイズが重畳した場合の図9において、1段目のフリップフロップ21は外部データバス12aのデータがH(正常値)に変化してから次に入力されるクロック信号の立上りによりHを出力し、外部データバス12aのデータがLに変化してから次に入力されるクロック信号の立上りによりLを出力する。
2段目のフリップフロップ22は、1段目のフリップフロップ21の出力がHに変化してから次に入力されるクロック信号の立上りによりHを出力し、フリップフロップ21の出力がLに変化してから次に入力されるクロック信号の立上りによりLを出力する。
3段目〜7段目のフリップフロップ23〜27も2段目のフリップフロップ22と同様の動作となる。
図9においては、外部データバス12aの7クロック幅のHレベルのライトデータには途中で3クロック分のノイズ(Lレベル)を含んでいるため、各フリップフロップ21〜27は、外部データバス12aが最初にHレベルとなった後、2クロック分がHレベルであり、次に3クロック分がLレベルであり、次に2クロック分がHレベルとなる信号を各々出力する。
多数決回路30は、7段のうち4段のフリップフロップ21,22,26,27の出力がHとなった時点で内部データバス12bにHレベルデータを出力する。
図9中のライトトリガは、図7では図示省略しているが、図6のバスマスタ10から伝送される書き込み指令信号であり、バススレーブ11はライトトリガがHのときのクロック信号立上りエッジ(図示WP箇所)で内部データバス12bのデータ(外部データバス12aに伝送されたHのライトデータ(正常値)と同じHレベルデータ)を取り込む。
このように、図9ではWP箇所で内部データバス12bはHレベル(外部データバス12aの正常値Hと同一)になっており、3クロック分のLレベルのノイズを無効化している。
図7に示すフィルタ回路は、フィルタの段数分フリップフロップが必要になり、データバスに必要なフリップフロップの数はフィルタ段数×バスビット数となる。近年のCPUはデータバスが多ビット化していて、64ビット以上のものもあり、大量にフリップフロップが必要な傾向にある。その結果、フィルタ回路の規模が大きくなり消費電力やコストの面で不利になる。
しかし、フリップフロップの数を抑えるためにフィルタ段数を抑えることは、対ノイズ性能が低下するため避けたい。よって、多ビット化に対応するためにはフィルタ段数を保ったままフリップフロップの数を抑える必要がある。
本発明は上記課題を解決するものであり、その目的は、フィルタ段数を保ったまま回路規模を抑えることができるデジタルフィルタ回路を提供することにある。
上記課題を解決するための請求項1に記載のデジタルフィルタ回路は、バスマスタと、該バスマスタからの制御データにより制御されるバススレーブとを結ぶ外部データバスに伝送されるデータのノイズを除去するデジタルフィルタ回路において、
前記外部データバスの信号およびクロック信号が入力されるカウンタであって、フィルタ段数をn(nは奇数)としたときのlog2(n+1)で決定される個数(少数以下を切上げた正数)設けられたカウンタと、
(n+1)/2の基準値を生成する基準値生成回路と、
前記各カウンタの出力値と基準値生成回路により生成された基準値とを各々比較することによってカウンタ出力値の多数決判定を行い、前記カウンタの出力値が基準値以上のときHレベルデータを前記バススレーブに出力し、それ以外のときLレベルデータを前記バススレーブに出力する比較器と、を備え、
前記各カウンタは、
クロック信号に同期して入力信号を保持、出力する機能を有し、入力信号をカウンタ出力値として出力するフリップフロップと、
前記フリップフロップの出力値に1を加算する加算器と、
第1の入力端子には前記加算器の出力値が入力され、第2の入力端子には前記フリップフロップの出力値が入力され、選択制御端子には前記外部データバスの1ビットのデータが入力され、該1ビットのデータが、Lレベルのとき前記フリップフロップの出力値を出力し、Hレベルのとき前記加算器の出力値を出力する第1のマルチプレクサと、
第1の入力端子には零値が入力され、第2の入力端子には前記第1のマルチプレクサの出力値が入力され、選択制御端子には前記バスマスタからのアクセス開始信号が入力され、該アクセス開始信号が、Lレベルのとき前記第1のマルチプレクサの出力値を前記フリップフロップに出力し、Hレベルのとき前記零値を前記フリップフロップに出力する第2のマルチプレクサと、
を各々有し、
前記バスマスタからデータ書き込み指令が入力されたとき、バススレーブは前記比較器の出力データを取り込むことを特徴としている。
前記外部データバスの信号およびクロック信号が入力されるカウンタであって、フィルタ段数をn(nは奇数)としたときのlog2(n+1)で決定される個数(少数以下を切上げた正数)設けられたカウンタと、
(n+1)/2の基準値を生成する基準値生成回路と、
前記各カウンタの出力値と基準値生成回路により生成された基準値とを各々比較することによってカウンタ出力値の多数決判定を行い、前記カウンタの出力値が基準値以上のときHレベルデータを前記バススレーブに出力し、それ以外のときLレベルデータを前記バススレーブに出力する比較器と、を備え、
前記各カウンタは、
クロック信号に同期して入力信号を保持、出力する機能を有し、入力信号をカウンタ出力値として出力するフリップフロップと、
前記フリップフロップの出力値に1を加算する加算器と、
第1の入力端子には前記加算器の出力値が入力され、第2の入力端子には前記フリップフロップの出力値が入力され、選択制御端子には前記外部データバスの1ビットのデータが入力され、該1ビットのデータが、Lレベルのとき前記フリップフロップの出力値を出力し、Hレベルのとき前記加算器の出力値を出力する第1のマルチプレクサと、
第1の入力端子には零値が入力され、第2の入力端子には前記第1のマルチプレクサの出力値が入力され、選択制御端子には前記バスマスタからのアクセス開始信号が入力され、該アクセス開始信号が、Lレベルのとき前記第1のマルチプレクサの出力値を前記フリップフロップに出力し、Hレベルのとき前記零値を前記フリップフロップに出力する第2のマルチプレクサと、
を各々有し、
前記バスマスタからデータ書き込み指令が入力されたとき、バススレーブは前記比較器の出力データを取り込むことを特徴としている。
上記構成によれば、前記各カウンタには1個のフリップフロップが設けられており、デジタルフィルタ回路全体としてフリップフロップの必要個数がフィルタ段数nに比べて大幅に少なくて済む(例えばフィルタ段数n=7に比べて、フリップフロップの個数(=カウンタ個数)はlog2(7+1)=3で済む)。これによって、フィルタ段数を保ったままデジタルフィルタ回路の回路規模を抑えることができる。
また、基準値生成回路および多数決判定を行う比較器の入力数も前記フリップフロップの必要個数と同一数で済み、回路構成が小規模となる。
また、請求項2に記載のデジタルフィルタ回路は、請求項1において、前記各カウンタは、FPGA(Field Programmable Gate Array)のロジックエレメントに実装されていることを特徴とする。
上記構成によれば、FPGAのロジックエレメントを有効利用することができる。
また、請求項3に記載のデジタルフィルタ回路は、請求項1において、前記デジタルフィルタ回路を、前記バススレーブとともにFPGA(Field Programmable Gate Array)に実装したことを特徴とする。 上記構成によれば、部品点数を低減することができる。
(1)請求項1〜3に記載の発明によれば、フィルタ段数を保ったままデジタルフィルタ回路の回路規模を抑えることができる。
(2)また、請求項2に記載の発明によれば、FPGAのロジックエレメントを有効利用することができる。
(3)また、請求項3に記載の発明によれば、部品点数を低減することができる。
(2)また、請求項2に記載の発明によれば、FPGAのロジックエレメントを有効利用することができる。
(3)また、請求項3に記載の発明によれば、部品点数を低減することができる。
以下、図面を参照しながら本発明の実施形態例を説明するが、本発明は下記の実施形態例に限定されるものではない。図1は本発明のデジタルフィルタ回路を、図6のように、バスマスタ(例えばCPU)とバススレーブ(例えばIOデバイス)の間をデータバスにより接続した組み込みシステムに適用した実施形態例を示している。
図1において、51は後述する入力部52およびフリップフロップ56(FF56)を各々備えた複数個のカウンタであり、その出力は多数決判定を行う1個の比較器57(CMP57)のA入力端子に入力される。カウンタ51は、フィルタの段数をn(nは奇数)としたときの、底が2の対数log2(n+1)で決定される個数(少数以下は切り上げ)分並設されている。
例えばフィルタ段数を図7と同じく7段とした場合、log2(7+1)=log28=3、すなわちカウンタ51の並列数(=フリップフロップ56の個数)は3であり、フィルタ段数を抑制することなくフリップフロップの個数を減らすことができる。
58は、フィルタ段数nに1を加算してn+1を出力する加算器(ADD58)であり、59は、加算器58の出力n+1を2で除算(右へ1ビットシフト)して(n+1)/2を求め、比較器57のB入力端子にしきい値(比較基準値)として出力するシフタ(SHFT59)である。
前記加算器58およびシフタ59によって本発明の基準値生成回路を構成している。この基準値生成回路で生成された比較基準値((n+1)/2)は、比較器57における多数決判定時のフィルタ段数n(nは奇数)の中央値を決定する値となる。
比較器57のA,B入力端子の各バス幅はカウンタ51の並列数と同じであり比較器57は、カウンタ51の出力値(フリップフロップ56の出力値)とシフタ59の出力値((n+1)/2)とを各々比較することによってカウンタ51の出力値の多数決判定を行い、カウンタ51の出力値が(n+1)/2以上のときHレベルデータを出力し、それ以外のときLレベルデータを出力する。
比較器57の出力信号は、図6の内部データバス12bの1ビットとしてバススレーブ11に伝送される。
各カウンタ51のフリップフロップ56は、クロック信号に同期して入力信号(後述のマルチプレクサ55の出力信号)を保持、出力する機能を有し、入力信号をカウンタ出力値として出力する。
53は、フリップフロップ56の出力値をA入力とし、B入力に接続された1を前記フリップフロップの出力値に加算した加算値を出力する加算器(ADD53)である。
54は、1入力(第1の入力端子)には加算器53の出力値が入力され、0(零)入力(第2の入力端子)にはフリップフロップ56の出力値が入力され、S端子(選択制御端子)に入力される外部データバス(12a)の1ビットのデータが、Lレベルのとき0入力(フリップフロップ56の出力値)を選択し、Hレベルのとき1入力(加算器53の出力値)を選択して各々出力するインクリメント用マルチプレクサ(NUX54)(第1のマルチプレクサ)である。
55は、1入力(第1の入力端子)には0(零)値が入力され、0(零)入力(第2の入力端子)にはインクリメント用マルチプレクサ54の出力値が入力され、S端子(選択制御端子)に入力されるアクセス開始信号(バスマスタ10のCPUから出力される信号)が、Lレベルのとき0入力(前記マルチプレクサ54の出力値)を選択し、Hレベルのとき1入力(零値)を選択して各々フリップフロップ56に出力するフリップフロップ初期化用マルチプレクサ(MUX55)(第2のマルチプレクサ)である。
前記加算器53および前記マルチプレクサ54,55によって入力部52を構成している。
上記のように構成された図1のデジタルフィルタ回路は、例えば図6のFPGA40に実装することができる。この場合、カウンタ51をFPGAの最小要素であるロジックエレメントに実装できると、組み合わせ回路の入力部52は、ロジックエレメント内のルックアップテーブルに実装できる可能性がある。ロジックエレメントは多入力の組み合わせ回路とフリップフロップで構成し、組み合わせ回路の入力部52とフリップフロップからなるカウンタ51の構成はロジックエレメントの構成と類似する。
従来技術の図7のフィルタ回路をFPGAに実装する場合フィルタ段数分のフリップフロップ(21〜27)が同数のロジックエレメントを使用し、多数決回路30は別のロジックエレメントが必要になる。多数決回路30はフィルタ段数の入力数(7)が必要になる。これに対して本発明の図1の構成では、従来技術よりフリップフロップの数を抑え、さらに多数決判定を行う比較器57のA,B入力数はフィルタ段数(7)ではなくカウンタ51の並列数(3)であるので、従来の多数決回路より小規模となる。
また、本発明の構成はFPGAのロジックエレメントを有効利用し、FPGA実装に適した構成である。加えてバススレーブ(11)がFPGA(40)に内蔵されている場合、本発明のフィルタ回路(図1)をバススレーブと共にFPGAに実装すると、部品点数の面でも有利になる。図1の実施形態例では、フィルタ段数nは7段としているが、奇数であれば何段でも本発明に含まれる。
次に、図1のデジタルフィルタ回路の動作を、各部の動作波形を示す図2〜図5とともに説明する。図2〜図5において、「クロック信号」は例えば図示省略のPLL(フェーズ・ロック・ループ)ブロックから供給されるクロック信号であり、「アクセス開始信号」はバスマスタ10のCPUから伝送される信号であり、「外部データバス」は外部データバス12aの信号状態を示し、「FF56」
はフリップフロップ56の出力値を示し、「内部データバス」は比較器57の出力信号(内部データバス12bの信号状態)を示し、「ライトトリガ」はバスマスタ10のCPUが出力するライトトリガ(書き込み指令信号)を示している。
はフリップフロップ56の出力値を示し、「内部データバス」は比較器57の出力信号(内部データバス12bの信号状態)を示し、「ライトトリガ」はバスマスタ10のCPUが出力するライトトリガ(書き込み指令信号)を示している。
また、フィルタ段数n=7としている。
図2は、正常値が7クロック分のHレベルのライトデータであり、ノイズが無い場合の動作を示している。図2において、アクセス開始信号がHレベルのときのクロック信号立上りで、フリップフロップ初期化用マルチプレクサ55の0出力によってFF56が0に初期化される。
アクセス開始信号がLレベルになると、前記マルチプレクサ55は0入力に接続されたインクリメント用マルチプレクサ54の出力を選択する。前記マルチプレクサ54は、S入力の外部データバスがHレベルのとき、1入力に接続された加算器53の出力、すなわちFF56の現在値+1を選択する。したがって外部データバスがHレベルの期間はクロック毎にFF56の値をインクリメントする。
比較器57のB入力には、比較基準値であるしきい値4(=(7+1)/2)が入力されている。比較器57のA入力であるFF56出力が4に到達すると、比較器57はHレベルを出力し内部データバスはHレベルとなる。
外部データバスが7クロック経過後にLレベルになると、前記マルチプレクサ54は0入力であるFF56の現在値7を選択するので、FF56の出力値は7が継続される。
ライトトリガがHレベルとなるとクロック信号の立上りエッジ(図示WP箇所)でバススレーブ11は内部データバスのHレベルデータを取り込む。ライトトリガが信号をHレベルにするタイミングはフィルタ段数nに関係する。
バスマスタ10がアクセス開始信号をLレベルにした後、カウンタ51と比較器57が外部データバスの信号をフィルタの段数分監視して多数決判定を行った後に結果を出すので、バスマスタ10はアクセス開始信号をLレベルにしてからフィルタ段数(n)+1クロック後にライトトリガ信号をHレベルにする。ライトトリガ信号がHレベルとなったとき、内部データバスは外部データバスの正常値(H)と同じ値となっている。
次に図3は、正常値がLレベルのライトデータでノイズが無い場合の動作を示している。図3において、アクセス開始信号がHレベルのときのクロック信号立上りで、図2と同様にFF56が0に初期化される。
アクセス開始信号がLレベルになると、前記マルチプレクサ55は0入力に接続された前記マルチプレクサ54の出力を選択する。このとき外部データバスがLレベルであるので前記マルチプレクサ54は0入力のFF56の現在値(初期値0)を選択するため、FF56の出力は初期値0から変化しない。
そして、アクセス開始信号がLレベルになってからフィルタ段数(n=7)分のクロック信号が入力されても外部データバスの信号が変化しないため、比較器57のA入力が0、B入力が4でA≧Bの条件が成立せず、比較器57の出力、すなわち内部データバスはLレベルのままである。
アクセス開始信号がLレベルになってからフィルタ段数+1(=8)クロック後にライトトリガがHレベルになると、そのときのクロック信号立上りエッジ(図示WP箇所)でバススレーブ11は内部データバスのLレベルデータ(外部データバスの、正常値のライトデータLと同一値)を取り込む。
次に図4は、外部データバスが正常値Hのライトデータであり、3クロック分の連続したノイズを含む場合の動作を示している。図4において、外部データバスがHレベルのときは前記図2で説明したとおりインクリメント用マルチプレクサ54が1入力を選択するので、FF56の値をインクリメントし、外部データバスがLレベルのときは前記図3で説明したとおり、前記マルチプレクサ54が0入力を選択するのでFF56の値は変化しない。
すなわち、アクセス開始信号がLレベルになりFF56が初期化された後、2クロック分外部データバスがHレベルであるためFF56の出力値は2までインクリメントされる。
次に3クロック分外部データバスがLレベルとなるため、FF56の出力値は2のままである。そして再び2クロック分外部データバスがHレベルとなるため、FF56の出力値は4までインクリメントされる。
図4の場合、正常時のライトデータはHレベルであるため、FF56はインクリメントが正常動作となる。比較器57はしきい値(4)に到達するとHレベルを出力するので、内部データバスに正常値のHレベルを出力するにはFF56の出力値が4以上になる必要がある。つまり、外部データバスは4クロック分のHレベルを検出できると内部データバスにHレベルを出力することができる。
アクセス開始信号がLレベルになってからフィルタ段数+1(=8)クロック後にライトトリガがHレベルになると、そのときのクロック信号立上りエッジ(図示WP箇所)でバススレーブ11は内部データバスのHレベルデータ(外部データバスの、正常値のライトデータHと同一値)を取り込む。
図4では、7クロックのライトデータに含まれる連続した3クロックのノイズを許容(無効化)している。
次に図5は、外部データバスが正常値Lのライトデータであり、3クロック分の分断したノイズを含む場合の動作を示している。
図5において、外部データバスがHレベルのときは前記図2で説明したとおりインクリメント用マルチプレクサ54が1入力を選択するので、FF56の値をインクリメントし、外部データバスがLレベルのときは前記図3で説明したとおり、前記マルチプレクサ54が0入力を選択するのでFF56の値は変化しない。
すなわち、アクセス開始信号がLレベルになりFF56が初期化された後、1クロック分外部データバスがLレベル(正常値)であるためFF56の出力値は0のままである。
次に、分断された最初のノイズにより外部データバスが1クロック分Hレベルとなると、FF56の出力値は1加算されて1となる。次に1クロック分外部データバスがLレベル(正常値)となるためFF56の出力値は1のままである。
次に分断された2番目のノイズにより外部データバスが2クロック分Hレベルとなると、FF56の出力値は2加算されて3となる。次に2クロック分外部データバスがLレベル(正常値)となるためFF56の出力値は3のままである。
図5の場合、正常時のライトデータはLレベルであるため、FF56は変化しない状態が正常動作となる。比較器57はしきい値(4)に到達するとHを出力するので、内部データバスに正常値のLレベルを出力するにはFF56の出力値が4未満である必要がある。つまり、外部データバスはHレベル検出が4クロック未満ならば内部データバスにLレベルを出力することができる。
アクセス開始信号がLレベルになってからフィルタ段数+1(=8)クロック後にライトトリガがHレベルになると、そのときのクロック信号立上りエッジ(図示WP箇所)でバススレーブ11は内部データバスのLレベルデータ(外部データバスの、正常値のライトデータLと同一値)を取り込む。
図5では、7クロックのライトデータに含まれる分断した3クロックのノイズを許容(無効化)している。
以上のように、本実施形態例によれば次の効果が得られる。
(1)フィルタ回路の回路規模を抑えることができるので、近年のデータバスの多ビット化に有利となる。
(2)FPGAのロジックエレメントに構成が類似しているため、FPGAに実装が向いた構成である。
(3)バススレーブがFPGA内蔵の場合、本実施形態例のフィルタ回路をバススレーブと共に実装すると部品点数の面でも有利となる。
10…バスマスタ
11…バススレーブ
12a…外部データバス
12b…内部データバス
20…フィルタ回路
40…FPGA
51…カウンタ
52…入力部
53,58…加算器
54…インクリメント用マルチプレクサ
55…フリップフロップ初期化用マルチプレクサ
56…フリップフロップ
57…比較器
59…シフタ
11…バススレーブ
12a…外部データバス
12b…内部データバス
20…フィルタ回路
40…FPGA
51…カウンタ
52…入力部
53,58…加算器
54…インクリメント用マルチプレクサ
55…フリップフロップ初期化用マルチプレクサ
56…フリップフロップ
57…比較器
59…シフタ
Claims (3)
- バスマスタと、該バスマスタからの制御データにより制御されるバススレーブとを結ぶ外部データバスに伝送されるデータのノイズを除去するデジタルフィルタ回路において、
前記外部データバスの信号およびクロック信号が入力されるカウンタであって、フィルタ段数をn(nは奇数)としたときのlog2(n+1)で決定される個数(少数以下を切上げた正数)設けられたカウンタと、
(n+1)/2の基準値を生成する基準値生成回路と、
前記各カウンタの出力値と基準値生成回路により生成された基準値とを各々比較することによってカウンタ出力値の多数決判定を行い、前記カウンタの出力値が基準値以上のときHレベルデータを前記バススレーブに出力し、それ以外のときLレベルデータを前記バススレーブに出力する比較器と、を備え、
前記各カウンタは、
クロック信号に同期して入力信号を保持、出力する機能を有し、入力信号をカウンタ出力値として出力するフリップフロップと、
前記フリップフロップの出力値に1を加算する加算器と、
第1の入力端子には前記加算器の出力値が入力され、第2の入力端子には前記フリップフロップの出力値が入力され、選択制御端子には前記外部データバスの1ビットのデータが入力され、該1ビットのデータが、Lレベルのとき前記フリップフロップの出力値を出力し、Hレベルのとき前記加算器の出力値を出力する第1のマルチプレクサと、
第1の入力端子には零値が入力され、第2の入力端子には前記第1のマルチプレクサの出力値が入力され、選択制御端子には前記バスマスタからのアクセス開始信号が入力され、該アクセス開始信号が、Lレベルのとき前記第1のマルチプレクサの出力値を前記フリップフロップに出力し、Hレベルのとき前記零値を前記フリップフロップに出力する第2のマルチプレクサと、
を各々有し、
前記バスマスタからデータ書き込み指令が入力されたとき、バススレーブは前記比較器の出力データを取り込むことを特徴とするデジタルフィルタ回路。 - 前記各カウンタは、FPGA(Field Programmable Gate Array)のロジックエレメントに実装されていることを特徴とする請求項1に記載のデジタルフィルタ回路。
- 前記デジタルフィルタ回路は、前記バススレーブとともにFPGA(Field Programmable Gate Array)に実装されていることを特徴とする請求項1に記載のデジタルフィルタ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017052000A JP2018157351A (ja) | 2017-03-17 | 2017-03-17 | デジタルフィルタ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017052000A JP2018157351A (ja) | 2017-03-17 | 2017-03-17 | デジタルフィルタ回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018157351A true JP2018157351A (ja) | 2018-10-04 |
Family
ID=63716824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017052000A Pending JP2018157351A (ja) | 2017-03-17 | 2017-03-17 | デジタルフィルタ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018157351A (ja) |
-
2017
- 2017-03-17 JP JP2017052000A patent/JP2018157351A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5494858B2 (ja) | クロック信号分周回路及びクロック信号分周方法 | |
JP4856531B2 (ja) | 情報処理システムにおいてデジタル信号をx.5で除算するための方法及び装置 | |
US20160179472A1 (en) | Random number generation device and method for generating random number | |
US20090238017A1 (en) | Digital dll circuit | |
WO2016054289A1 (en) | Digital open loop duty cycle correction circuit | |
JPWO2010070830A1 (ja) | クロック分周回路、及びクロック分周方法 | |
JP4699927B2 (ja) | 入出力共用端子制御回路 | |
US9552328B2 (en) | Reconfigurable integrated circuit device | |
US10705558B2 (en) | Apparatuses and methods for avoiding glitches when switching clock sources | |
US20200278839A1 (en) | True Random Number Generator of a Field Programmable Gate Array | |
JP2018157351A (ja) | デジタルフィルタ回路 | |
JP2012161061A (ja) | デジタルフィルタ回路 | |
JP2006011704A (ja) | クロック切り替え回路 | |
US7345496B2 (en) | Semiconductor apparatus and test execution method for semiconductor apparatus | |
US10326433B2 (en) | Clock filter and clock processing method | |
US7760847B2 (en) | Counting circuit and address counter using the same | |
JP2009187075A (ja) | デジタル回路 | |
US11984175B2 (en) | Automatic mirrored ROM | |
US11700004B2 (en) | Direct bi-directional gray code counter | |
US8850256B2 (en) | Communication circuit and communication method | |
JP4114722B2 (ja) | ステート回路 | |
JP2008196917A (ja) | 非同期式カウンタ回路 | |
JP2009230356A (ja) | 半導体集積回路 | |
JP2009044489A (ja) | 転送性能最適化機能付非同期吸収回路 | |
JP2006072864A (ja) | 演算装置 |