(57)【要約】【課題】  メモリアレイの規模を低減しつつ、柔軟性の高いデジタル信号処理を行う。【解決手段】  プログラムメモリアレイ回路１３０に記憶される各命令語におけるＮＯＰ制御フィールドを設ける。そして、各命令語におけるＮＯＰ制御フィールドに対応する実行命令語ＩＷにおける無操作制御指定信号ＮＣＴの値と、プログラムカウンタ回路１１０によるプログラムカウントの周回回数のカウント結果値の組み合せに応じて、無操作制御回路１７０が、アキュムレータ回路１６０へのラッチ制御信号ＡＬＣを変化させることにより、各命令語の実質的な実行周期を制御する。【選択図】  図１
2008191707.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行することによりデジタル信号の処理を行うデジタル信号処理装置であって、
前記プログラムを構成する命令語が記憶される記憶手段と；
前記記憶手段に記憶された命令語を実行順に読み出す際のアドレス信号を発生するプログラムカウンタ手段と；
前記記憶手段から読み出された命令語における演算処理フィールドの内容に従って、入力デジタル信号に対して演算処理を施す演算処理手段と；
前記演算処理手段による演算処理結果を保持するアキュムレータ手段と；
前記記憶手段から読み出された命令語における無操作制御フィールドの内容に従って、前記演算処理手段による演算処理結果の前記アキュムレータ手段への保持動作を制御する無操作制御手段と；
を備えることを特徴するデジタル信号処理装置。
【請求項２】
前記プログラムは、前記記憶手段に記憶された複数の命令語の順次実行を周回させるものであり、
前記無操作制御フィールドにおいては、周回実行における前記保持動作の実行の頻度が指定される、
ことを特徴とする請求項１に記載のデジタル信号処理装置。
【請求項３】
前記無操作制御手段は、
前記周回実行の回数をカウントする周回カウント手段と；
前記周回カウント手段によるカウント結果と、前記無操作制御フィールドの内容とに基づいて、前記演算処理手段による演算処理結果の前記アキュムレータ手段への保持をすべきか否かの判定を行い、前記判定の結果が肯定的であった場合に、前記保持動作の許可を行う保持許可手段と；
を備えることを特徴とする請求項２に記載のデジタル信号処理装置。
【請求項４】
プログラムカウンタ手段が発生したアドレス信号を使用して記憶手段から読み出された命令語における演算処理フィールドの内容に従って、入力デジタル信号に対して演算処理を施す演算処理工程と；
前記命令語における無操作制御フィールドの内容に従って、前記演算処理工程による演算処理結果のアキュムレータ手段への保持動作を制御する無操作制御工程と；
を備えることを特徴とするデジタル信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号処理装置及びデジタル信号処理方法に関する。
【背景技術】
【０００２】
従来から、デジタル信号処理装置が様々な分野で用いられている。例えば、近年のラジオ受信装置では、利用者が指定した放送局の電波をアンテナで受信し、チューナ部において所定の中間周波数を有する中間周波信号に変換した後、当該中間周波信号をアナログデジタル変換（以下、「ＡＤ変換」とも記す）する機種が数多く登場している。
【０００３】
かかる中間周波信号のＡＤ変換を行うラジオ受信装置では、当該ＡＤ変換の結果として得られるデジタル信号を使用して、検波処理及び復調処理をデジタル信号処理として実行するようになっている。なお、こうしたデジタル信号処理に際しては、デジタル信号処理装置を用いる方式が、一般的に採用されている（特許文献１等参照）。
【０００４】
こうしたデジタル信号処理装置では、プログラムを実行することにより、入力デジタル信号の処理を行う。かかるプログラムを構成する命令語はプログラムメモリアレイに記憶される。そして、プログラムの進行を管理するプログラムカウンタが順次発生するアドレス信号に従って、プログラムメモリアレイから命令語が順次読み出される。
【０００５】
かかる命令語の順次読み出しに際して、プログラムカウンタは、アドレス「０」からプログラムメモリアレイの最終アドレスまでを順次発生した後に、再度アドレス「０」からのアドレス発生を繰り返す。こうした周期的な命令語の読み出し、及び、読み出された命令語に従った処理を実行することにより、入力デジタル信号に対する処理が行われる。
【０００６】
【特許文献１】特開２００１−１５６６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した従来のデジタル信号処理装置では、プログラムカウンタに供給されるクロック信号の周期で各命令語に対応する処理を実行する。そして、メモリアレイに記憶されたプログラムの実行の繰り返し周期（＝（当該クロック信号の周期）×（メモリアレイの容量））で、各命令語に対応する処理が繰り返し実行される。
【０００８】
しかしながら、命令語に対応する処理ごとに、繰り返し実行したい周期は一般に異なる。すなわち、メモリアレイに記憶されたプログラムが周回する周期で実行したい命令語もあるし、２周回や３周回等の複数周回の周期で実行したい命令語もある。かかる各命令語に対応した周期で各命令語を従来のデジタル信号処理装置により実行するには、複数の命令語を並べて記憶する場合の容量に、少なくとも当該複数の実行周期の最小公倍数を乗じた容量を有するメモリアレイを用意することが必要であった。
【０００９】
このため、デジタル信号処理装置におけるメモリアレイの容量を低減できる技術が望まれている。かかる要望に応えることが、本発明が解決すべき課題の一つとして挙げられる。
【００１０】
本発明は、上記の事情を鑑みてなされたものであり、メモリアレイの規模を低減しつつ、柔軟性の高いデジタル信号処理を行うことができるデジタル信号処理装置及びデジタル信号処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明は、プログラムを実行することによりデジタル信号の処理を行うデジタル信号処理装置であって、前記プログラムを構成する命令語が記憶される記憶手段と；前記記憶手段に記憶された命令語を実行順に読み出す際のアドレス信号を発生するプログラムカウンタ手段と；前記記憶手段から読み出された命令語における演算処理フィールドの内容に従って、入力デジタル信号に対して演算処理を施す演算処理手段と；前記演算処理手段による演算処理結果を保持するアキュムレータ手段と；前記記憶手段から読み出された命令語における無操作制御フィールドの内容に従って、前記演算処理手段による演算処理結果の前記アキュムレータ手段への保持動作を制御する無操作制御手段と；を備えることを特徴するデジタル信号処理装置である。
【００１２】
請求項４に記載の発明は、プログラムカウンタ手段が発生したアドレス信号を使用して記憶手段から読み出された命令語における演算処理フィールドの内容に従って、入力デジタル信号に対して演算処理を施す演算処理工程と；前記命令語における無操作制御フィールドの内容に従って、前記演算処理工程による演算処理結果のアキュムレータ手段への保持動作を制御する無操作制御工程と；を備えることを特徴とするデジタル信号処理方法である。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態を、図１〜図１２を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００１４】
図１には、一実施形態に係るデジタル信号処理装置１００の概略的な構成がブロック図にて示されている。この図１に示されるように、デジタル信号処理装置１００は、プログラムカウンタ手段としてのプログラムカウンタ回路（ＰＣ）１１０と、アドレスデコーダ回路（ＡＤＣ）１２０とを備えている。また、デジタル信号処理装置１００は、記憶手段としてのプログラムメモリアレイ回路（ＭＡＲ）１３０と、命令レジスタ回路（ＩＷＲ）１４０とを備えている。
【００１５】
さらに、デジタル信号処理装置１００は、演算処理手段としての算術論理演算回路（ＡＬＵ）１５０と、アキュムレータ手段としてのアキュムレータ回路（ＡＣＣ）１６０とを備えている。また、デジタル信号処理装置１００は、無操作制御手段としての無操作制御回路（ＮＰＣ）１７０と、クロック発生回路（ＣＫＧ）１８０とを備えている。
【００１６】
プログラムカウンタ回路１１０は、クロック発生回路１８０からのクロック信号ＣＫ１に従って、「０」からメモリアレイの最大アドレス値Ｍ（例えば、Ｍ＝１５）までをカウントし、その後再度「０」からのカウントを繰り返す。なお、本実施形態では、プログラムカウンタ回路１１０は、クロック信号ＣＫ１における「Ｌ」レベルから「Ｈ」レベルへの立ち上がりの回数をカウントするようになっている。
【００１７】
プログラムカウンタ回路１１０によるカウント結果は、ｍビット（Ｍ＝１５の場合には、ｍ＝４）のプログラムアドレス信号ＰＡＤとして、アドレスデコーダ回路１２０へ向けて出力される。また、プログラムカウンタ回路１１０は、カウント値が「Ｍ」から「０」に遷移した際に、キャリー信号ＣＲＹを出力する。このキャリー信号ＣＲＹは、無操作制御回路１７０へ向けて出力される。
【００１８】
アドレスデコーダ回路１２０は、プログラムカウンタ回路１１０からのプログラムアドレス信号ＰＡＤが示すアドレス値に従って、プログラムメモリアレイ回路１３０から読み出すべき命令語の選択を行う。ここで、プログラムアドレス信号ＰＡＤが示すアドレス値が「ｊ（ｊ＝０〜Ｍ）」である場合には、アドレスデコーダ回路１２０は、プログラムメモリアレイ回路１３０におけるアドレス「ｊ」に対応するアドレス選択信号ＡＳjを有意とするようになっている。
【００１９】
プログラムメモリアレイ回路１３０は、（Ｍ＋１）個の命令語ＩＷ0〜ＩＷMを記憶する。そして、アドレスデコーダ回路１２０からのアドレス選択信号ＡＳjが有意となると、プログラムメモリアレイ回路１３０は、命令語ＩＷjをメモリ出力データＭＯＤとして、命令レジスタ回路１４０へ向けて出力する。
【００２０】
命令レジスタ回路１４０は、クロック信号ＣＫ１に従って、プログラムメモリアレイ回路１３０からのメモリ出力データＭＯＤをラッチする。なお、本実施形態では、命令レジスタ回路１４０は、クロック信号ＣＫ１が「Ｈ」レベルから「Ｌ」レベルへの立ち下がった時点のメモリ出力データＭＯＤをラッチし、実行命令語ＩＷとして保持出力するようになっている。
【００２１】
かかる実行命令語ＩＷは、図２に示されるように、ｐビットのファンクション選択フィールドと、ｑビットのソース（ＳＲＣ）レジスタ選択フィールドと、ｑビットのデスティネーション（ＤＳＴ）レジスタ選択フィールドと、ｒ（本実施形態では、ｒ＝２）ビットの無操作（ＮＯＰ）制御フィールドとを有している。そして、命令レジスタ回路１４０からは、ファンクション選択フィールドの内容が、ファンクション選択信号ＦＳＬとして算術論理演算回路１５０へ向けて出力されるとともに、ＳＲＣレジスタ選択フィールドの内容が、ＳＲＣレジスタ選択信号ＳＳＬとしてアキュムレータ回路１６０へ向けて出力される。また、命令レジスタ回路１４０からは、ＤＳＴレジスタ選択フィールドの内容が、ＤＳＴレジスタ選択信号ＤＳＬとしてアキュムレータ回路１６０へ向けて出力されるとともに、ＮＯＰ制御フィールドの内容が、無操作制御指定信号ＮＣＴとして無操作制御回路１７０へ向けて出力される。
【００２２】
なお、以下の説明においては、プログラムメモリアレイ回路１３０のアドレス「０」には、図３に示されるように、ＮＯＰ制御フィールドのビット構成が（０，０）の命令語ＩＷ0が記憶されているものとする。なお、プログラムメモリアレイ回路１３０のアドレス「Ｍ」にも、ＮＯＰ制御フィールドのビット構成が（０，０）の命令語ＩＷMが記憶されているものとする。
【００２３】
また、プログラムメモリアレイ回路１３０のアドレス「１」には、図４に示されるように、ＮＯＰ制御フィールドのビット構成が（０，１）の命令語ＩＷ1が記憶されているものとする。さらに、プログラムメモリアレイ回路１３０のアドレス「２」には、図５に示されるように、ＮＯＰ制御フィールドのビット構成が（１，０）の命令語ＩＷ2が記憶されているものとする。
【００２４】
図１に戻り、算術論理演算回路１５０は、入力端子１９１からのデジタル入力データＤＩＮをＢ入力端子で受ける。また、算術論理演算回路１５０は、アキュムレータ回路１６０からのＳＲＣレジスタデータＳＤＴをＡ入力端子で受ける。さらに、算術論理演算回路１５０は、命令レジスタ回路１４０からのファンクション選択信号ＦＳＬをＳ入力端子で受ける。
【００２５】
そして、算術論理演算回路１５０は、クロック信号ＣＫ１に同期して、Ａ入力端子及びＢ入力端子で受けたデータについて、Ｓ入力端子で受けたファンクション選択信号ＦＳＬにより指定された演算処理を実行する。ここで、演算処理としては、加算や減算等の算術演算処理、論理積算出や論理和算出等の論理演算処理等がある。算術論理演算回路１５０による演算結果は、演算処理結果データＦＤＴとして、アキュムレータ回路１６０及び出力端子１９２ａへ向けて出力される。
【００２６】
なお、本実施形態においては、算術論理演算回路１５０は、クロック信号ＣＫ１における「Ｈ」レベルから「Ｌ」レベルへの立ち下がり時点から演算処理を開始し、クロック信号ＣＫ１における次の立ち下がり時点までの間に演算結果を演算処理結果データＦＤＴとして出力するようになっている。
【００２７】
アキュムレータ回路１６０は、複数のレジスタ回路を有している。このアキュムレータ回路１６０は、命令レジスタ回路１４０からのＳＲＣレジスタ選択信号ＳＳＬで指令されたＳＲＣレジスタの内容が、ＳＲＣレジスタデータＳＤＴとして、算術論理演算回路１５０のＡ入力端子へ向けて出力する。また、アキュムレータ回路１６０は、命令レジスタ回路１４０からのＤＳＴレジスタ選択信号ＤＳＬで指令されたレジスタに、無操作制御回路１７０からのラッチ制御信号ＡＬＣに従って、演算処理結果データＦＤＴをラッチする。
【００２８】
本実施形態では、上記の機能を有するアキュムレータ回路１６０は、図６に示されるように、（Ｑ＋１）個のレジスタ回路（ＲＥＧ）１６１0〜１６１Qと、データラッチ制御回路（ＤＬＣ）１６２と、データ選択回路（ＤＳＬ）１６３とを備えて構成されている。なお、数Ｑは、Ｑ≦２q−１の条件を満たしている。
【００２９】
レジスタ回路１６１k（ｋ＝０〜Ｑ）のそれぞれは、ネガティブエッジトリガ型のラッチ回路であり、算術論理演算回路１５０からの演算処理結果データＦＤＴ及びデータラッチ制御回路１６２からのラッチ指令信号ＤＬkを受ける。そして、レジスタ回路１６１kは、ラッチ指令信号ＤＬkが「Ｈ」レベルから「Ｌ」レベルへ立ち下がった時点における演算処理結果データＦＤＴをラッチする。ラッチ結果は、ラッチデータＬＤkとして、データ選択回路１６３へ向けて出力される。
【００３０】
データラッチ制御回路１６２は、命令レジスタ回路１４０からのＤＳＴレジスタ選択信号ＤＳＬ及び無操作制御回路１７０からのラッチ制御信号ＡＬＣを受ける。そして、ＤＳＴレジスタ選択信号ＤＳＬにより指定されたレジスタ回路に対応するラッチ指令信号を、ラッチ制御信号ＡＬＣが立ち上がった場合には立ち上げ、ラッチ制御信号ＡＬＣが立ち下がった場合には立ち下げる。
【００３１】
データ選択回路１６３は、レジスタ回路１６１0〜１６１QからのラッチデータＬＤ0〜ＬＤQ及び命令レジスタ回路１４０からのＳＲＣレジスタ選択信号ＳＳＬを受ける。そして、データ選択回路１６３は、ＤＳＴレジスタ選択信号ＤＳＬにより指定されたレジスタ回路に対応するラッチデータを、ＳＲＣレジスタデータＳＤＴとして、算術論理演算回路１５０へ向けて出力する。
【００３２】
図１に戻り、無操作制御回路１７０は、プログラムカウンタ回路１１０からのキャリー信号ＣＲＹの数をカウントする。そして、無操作制御回路１７０は、キャリー信号ＣＲＹの数のカウント結果と、命令レジスタ回路１４０からの無操作制御指定信号ＮＣＴに基づいて、ラッチ制御信号ＡＬＣを生成する。こうして、生成されたラッチ制御信号ＡＬＣは、アキュムレータ回路１６０へ向けて出力される。
【００３３】
本実施形態では、上記の機能を有する無操作制御回路１７０は、図７に示されるように、周回カウント手段としてのカウンタ回路（ＣＲＣ）１７１と、保持許可手段としての無操作条件判定回路（ＡＬＤ）１７２と、論理積回路１７３とを備えている。
【００３４】
カウンタ回路１７１は、２ビット出力のカウンタである。そして、カウンタ回路１７１は、キャリー信号ＣＲＹの数をカウントし、カウント結果を周回カウント信号ＲＣＴとして無操作条件判定回路１７２へ向けて出力する。ここで、周回カウント信号ＲＣＴは、「０」から「３」まで順次変化した後に再度「０」に戻ることを繰り返すようになっている。
【００３５】
無操作条件判定回路１７２は、周回カウント信号ＲＣＴの値と、無操作制御指定信号ＮＣＴの値とに基づいて、演算処理結果データＦＤＴをアキュムレータ回路１６０にラッチすべきか否かを判定する。当該判定の結果が肯定的であった場合には、無操作条件判定回路１７２は、ラッチ条件判定結果信号ＬＤＲを「Ｈ」レベルとし、論理積回路１７３へ向けて出力する。一方、当該判定の結果が否定的であった場合には、無操作条件判定回路１７２は、ラッチ条件判定結果信号ＬＤＲを「Ｌ」レベルとし、論理積回路１７３へ向けて出力する。
【００３６】
無操作条件判定回路１７２は、無操作制御指定信号ＮＣＴの値が（０，０）の場合には、周回カウント信号ＲＣＴの値にかかわらず、アキュムレータ回路１６０へのラッチ条件が満たされたと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｈ」レベルとする。また、無操作条件判定回路１７２は、無操作制御指定信号ＮＣＴの値が（０，１）の場合には、周回カウント信号ＲＣＴの値が「０」又は「２」のときに、アキュムレータ回路１６０へのラッチ条件が満たされたと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｈ」レベルとする。一方、無操作条件判定回路１７２は、無操作制御指定信号ＮＣＴの値が（０，１）の場合には、周回カウント信号ＲＣＴの値が「１」又は「３」のときに、アキュムレータ回路１６０へのラッチ条件が満たされていないと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｌ」レベルとする。
【００３７】
また、無操作条件判定回路１７２は、無操作制御指定信号ＮＣＴの値が（１，０）の場合には、周回カウント信号ＲＣＴの値が「０」のときに、アキュムレータ回路１６０へのラッチ条件が満たされたと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｈ」レベルとする。一方、無操作条件判定回路１７２は、無操作制御指定信号ＮＣＴの値が（１，０）の場合には、周回カウント信号ＲＣＴの値が「１」、「２」又は「３」のときに、アキュムレータ回路１６０へのラッチ条件が満たされていないと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｌ」レベルとする。
【００３８】
なお、無操作条件判定回路１７２は、無操作制御指定信号ＮＣＴの値が（１，１）の場合には、上記の無操作制御指定信号ＮＣＴの値が（１，０）の場合と同様の判定を行うようになっている。
【００３９】
以上のラッチ条件の判定を周回カウント信号ＲＣＴの値をキーとして整理すると、以下の通りとなる。すなわち、周回カウント信号ＲＣＴの値が「０」である場合には、無操作制御指定信号ＮＣＴの値にかかわらず、無操作条件判定回路１７２は、ラッチ条件が満たされたと判定する。また、周回カウント信号ＲＣＴの値が「１」である場合には、無操作制御指定信号ＮＣＴの値が（０，０）であるときに、無操作条件判定回路１７２は、ラッチ条件が満たされたと判定する。一方、周回カウント信号ＲＣＴの値が「１」である場合には、無操作制御指定信号ＮＣＴの値が（０，１）、（１，０）及び（１，１）であるときに、無操作条件判定回路１７２は、ラッチ条件が満たされていないと判定する。
【００４０】
また、周回カウント信号ＲＣＴの値が「２」である場合には、無操作制御指定信号ＮＣＴの値が（０，０）及び（０，１）であるときに、無操作条件判定回路１７２は、ラッチ条件が満たされたと判定する。一方、周回カウント信号ＲＣＴの値が「２」である場合には、無操作制御指定信号ＮＣＴの値が（１，０）及び（１，１）であるときに、無操作条件判定回路１７２は、ラッチ条件が満たされていないと判定する。
【００４１】
さらに、周回カウント信号ＲＣＴの値が「３」である場合には、無操作制御指定信号ＮＣＴの値が（０，０）であるときに、無操作条件判定回路１７２は、ラッチ条件が満たされたと判定する。一方、周回カウント信号ＲＣＴの値が「３」である場合には、無操作制御指定信号ＮＣＴの値が（０，１）、（１，０）及び（１，１）であるときに、無操作条件判定回路１７２は、ラッチ条件が満たされていないと判定する。
【００４２】
論理積回路１７３は、無操作条件判定回路１７２からのラッチ条件判定結果信号ＬＤＲと、クロック発生回路１８０からのクロック信号ＣＫ１とを受ける。そして、論理積回路１７３は、ラッチ条件判定結果信号ＬＤＲとクロック信号ＣＫ１との論理積を算出し、ラッチ制御信号ＡＬＣとして、アキュムレータ回路１６０へ向けて出力する。
【００４３】
図１に戻り、クロック発生回路１８０は、基本周波数の基本クロック信号を発生する発振回路と、基本クロック信号を分周する分周回路等を備えて構成されている。そして、クロック発生回路１８０は、上述したクロック信号ＣＫ１を発生する。
【００４４】
［動作］
次に、上記のように構成されたデジタル信号処理装置１００の動作について、主に無操作制御に着目して説明する。
【００４５】
デジタル信号処理装置１００に対して動作電力の供給が開始されると、クロック発生回路１８０がクロック信号ＣＫ１の生成を開始する。この結果、図８に示されるようなクロック信号ＣＫ１が、デジタル信号処理装置１００のプログラムカウンタ回路１１０、命令レジスタ回路１４０、算術論理演算回路１５０及び無操作制御回路１７０に供給される（図１参照）。
【００４６】
クロック信号ＣＫ１を受けたプログラムカウンタ回路１１０は、クロック信号ＣＫ１の立ち上がりの回数をカウントし、カウント結果をプログラムアドレス信号ＰＡＤとして、アドレスデコーダ回路１２０へ向けて出力する。このため、プログラムアドレス信号ＰＡＤの値は、「０」から「Ｍ」まで順次変化し、再度「０」から「Ｍ」までの変化を繰り返す（図８参照）。
【００４７】
ここで、カウント結果が「Ｍ」から「０」に変化した場合には、プログラムカウンタ回路１１０は、プログラムアドレス信号ＰＡＤが「０」である期間において、クロック信号ＣＫ１が「Ｈ」レベルの期間にわたって、通常は「Ｌ」レベルとなっているキャリー信号ＣＲＹを「Ｈ」レベルとする（図８参照）。このようにキャリー信号ＣＲＹを一時的に「Ｈ」レベルとすることにより、プログラムカウンタ回路１１０は、プログラムカウントが周回したことを、無操作制御回路１７０へ通知する。
【００４８】
プログラムアドレス信号ＰＡＤを受けたアドレスデコーダ回路１２０は、プログラムアドレス信号ＰＡＤが示すアドレス値「ｊ（ｊ＝０〜Ｍ）」に対応するアドレス選択信号ＡＳjを有意とし、プログラムメモリアレイ回路１３０へ送る。この結果、プログラムメモリアレイ回路１３０からは、メモリ出力データＭＯＤとして命令語ＩＷjが出力され、命令レジスタ回路１４０へ向けて送られる（図８参照）。なお、本実施形態では、メモリ出力データＭＯＤの値は、クロック信号ＣＫ１の立ち下がり時点において安定したものとなるように、クロック信号ＣＫ１の「Ｈ」レベルの期間が設定されている。
【００４９】
命令レジスタ回路１４０は、クロック信号ＣＫ１の立ち下がり時点におけるメモリ出力データＭＯＤをラッチする。そして、命令レジスタ回路１４０は、次のクロック信号ＣＫ１の立ち下がり時点まで、ラッチされたデータを実行命令語ＩＷとして保持出力する。この結果、命令語ＩＷ0，ＩＷ1，ＩＷ2，…が順次、実行命令語ＩＷとして、命令レジスタ回路１４０から出力される（図８参照）。
【００５０】
かかる実行命令語ＩＷは、上述したように、ファンクション選択信号ＦＳＬ、ＳＲＣレジスタ選択信号ＳＳＬ、ＤＳＴレジスタ選択信号ＤＳＬ及び無操作制御指定信号ＮＣＴから構成されている。そして、ファンクション選択信号ＦＳＬが算術論理演算回路１５０へ送られるとともに、ＳＲＣレジスタ選択信号ＳＳＬがアキュムレータ回路１６０へ送られる。また、ＤＳＴレジスタ選択信号ＤＳＬがアキュムレータ回路１６０へ送られるとともに、無操作制御指定信号ＮＣＴが無操作制御回路１７０へ送られる（図１参照）。なお、図８には、実行命令語ＩＷの変化に伴う無操作制御指定信号ＮＣＴの変化が示されている。
【００５１】
ＳＲＣレジスタ選択信号ＳＳＬを受けたアキュムレータ回路１６０からは、上述したように、ＳＲＣレジスタ選択信号ＳＳＬで指令されたＳＲＣレジスタの内容が、ＳＲＣレジスタデータＳＤＴとして、算術論理演算回路１５０へ向けて送られる。かかるＳＲＣレジスタデータＳＤＴと、命令レジスタ回路１４０からのファンクション選択信号ＦＳＬを受けた算術論理演算回路１５０は、クロック信号ＣＫ１に同期して、Ａ入力端子で受けたＳＲＣレジスタデータＳＤＴ、及び、Ｂ入力端子で受けたデジタル入力データＤＩＮについて、Ｓ入力端子で受けたファンクション選択信号ＦＳＬにより指定された演算処理を実行する。そして、算術論理演算回路１５０は、演算結果を演算処理結果データＦＤＴとして、アキュムレータ回路１６０及び出力端子１９２ａへ向けて送る（図１参照）。
【００５２】
なお、上述したように、算術論理演算回路１５０は、クロック信号ＣＫ１の立ち下がり時点から演算処理を開始し、クロック信号ＣＫ１における次の立ち下がり時点までの間に演算結果を演算処理結果データＦＤＴとして出力するようになっている（図８参照）。
【００５３】
以上のようにして生成された演算処理結果データＦＤＴをアキュムレータ回路１６０内に保持するか否かは、無操作制御回路１７０から出力されるラッチ制御信号ＡＬＣによるラッチ指令に従って定まる。かかるラッチ指令の発行を無操作制御回路１７０により制御することにより、プログラムメモリアレイ回路１３０に記憶されている各命令語ＩＷ0〜ＩＷMの実行周期が制御されるようになっている。そこで、次に、こうした各命令語ＩＷ0〜ＩＷMの実行周期の制御について説明する。
【００５４】
図９に示されるように、無操作制御回路１７０内のカウンタ回路１７１による周回カウント結果である周回カウント信号ＲＣＴの値が「０」である場合には、無操作制御回路１７０内の無操作条件判定回路１７２は、無操作制御指定信号ＮＣＴの値にかかわらず、ラッチ条件が満たされたと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｈ」レベルとする。このため、周回カウント信号ＲＣＴの値が「０」である場合には、各命令語ＩＷ0〜ＩＷMのそれぞれの実行ごとに、ラッチ制御信号ＡＬＣが、クロック信号ＣＫ１が「Ｈ」レベルの期間にわたって一時的に「Ｈ」レベルとなることにより、ラッチ指令がアキュムレータ回路１６０へ通知される（図９参照）。
【００５５】
この結果、アキュムレータ回路１６０においては、各命令語ＩＷ0〜ＩＷMの実行ごとに生成された演算処理結果データＦＤＴ（図９においては、データＦＤ00〜ＦＤ0M）が、各命令語ＩＷ0〜ＩＷMに対応するＤＳＴレジスタ選択信号ＤＳＬにより指定されたレジスタ回路にラッチされる。なお、ＤＳＴレジスタ選択信号ＤＳＬにより指定されたレジスタ回路には、上述したように、ラッチ制御信号ＡＬＣの立ち下がり時点における演算処理結果データＦＤＴの内容がラッチされる（図９参照）。
【００５６】
なお、ラッチ制御信号ＡＬＣは、出力端子１９２ａから出力される演算処理結果データＦＤＴが無操作指定期間に対応するものであるか否かを、外部に示すために出力端子１９２ｂから出力される。
【００５７】
引き続き、周回カウント信号ＲＣＴの値が「１」、「２」及び「３」の順に変化すると、周回カウント信号ＲＣＴの値及び無操作制御指定信号ＮＣＴの値の組み合せに対応して、無操作制御回路１７０によるラッチ指定の発行の有無が変化する。
【００５８】
例えば、命令語ＩＷ0のように無操作制御指定信号ＮＣＴの値が（０，０）の場合には、図１０に示されるように、周回カウント信号ＲＣＴの値が「０」以外の「１」、「２」及び「３」の場合であっても、無操作条件判定回路１７２は、ラッチ条件が満たされたと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｈ」レベルとする。このため、無操作制御指定信号ＮＣＴの値が（０，０）の命令語の場合には、周回カウント信号ＲＣＴの値にかかわらず、ラッチ制御信号ＡＬＣが、クロック信号ＣＫ１が「Ｈ」レベルの期間にわたって一時的に「Ｈ」レベルとなることにより、ラッチ指令がアキュムレータ回路１６０へ通知される。すなわち、プログラムメモリアレイ回路１３０における無操作制御指定信号ＮＣＴの値が（０，０）の命令語は、プログラムアドレスの周回周期で実質的な実行がなされることになる。
【００５９】
また、命令語ＩＷ1のように無操作制御指定信号ＮＣＴの値が（０，１）の場合には、図１１に示されるように、周回カウント信号ＲＣＴの値が「０」及び「２」のときに、無操作条件判定回路１７２は、ラッチ条件が満たされたと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｈ」レベルとする。このため、無操作制御指定信号ＮＣＴの値が（０，１）の命令語の場合には、周回カウント信号ＲＣＴの値が「０」及び「２」のときに、ラッチ制御信号ＡＬＣが、クロック信号ＣＫ１が「Ｈ」レベルの期間にわたって一時的に「Ｈ」レベルとなることにより、ラッチ指令がアキュムレータ回路１６０へ通知される。すなわち、プログラムメモリアレイ回路１３０における無操作制御指定信号ＮＣＴの値が（０，１）の命令語は、プログラムアドレスの周回周期の２倍の周期で実質的な実行がなされることになる。
【００６０】
また、命令語ＩＷ2のように無操作制御指定信号ＮＣＴの値が（１，０）の場合には、図１２に示されるように、周回カウント信号ＲＣＴの値が「０」のときのみ、無操作条件判定回路１７２は、ラッチ条件が満たされたと判定し、ラッチ条件判定結果信号ＬＤＲを「Ｈ」レベルとする。このため、無操作制御指定信号ＮＣＴの値が（１，０）の命令語の場合には、周回カウント信号ＲＣＴの値が「０」のときのみ、ラッチ制御信号ＡＬＣが、クロック信号ＣＫ１が「Ｈ」レベルの期間にわたって一時的に「Ｈ」レベルとなることにより、ラッチ指令がアキュムレータ回路１６０へ通知される。すなわち、プログラムメモリアレイ回路１３０における無操作制御指定信号ＮＣＴの値が（１，０）の命令語は、プログラムアドレスの周回周期の４倍の周期で実質的な実行がなされることになる。
【００６１】
なお、無操作制御指定信号ＮＣＴの値が（１，１）の場合には、上記の無操作制御指定信号ＮＣＴの値が（１，０）の場合と同様の実行がなされることになる。
【００６２】
以上説明したように、本実施形態では、プログラムメモリアレイ回路１３０に記憶される命令語ＩＷ0〜ＩＷMにおけるＮＯＰ制御フィールドの値、及び、プログラムカウンタ回路１１０によるプログラムカウントの周回回数に対応して、命令語ＩＷ0〜ＩＷMの実質的な実行周期を制御している。したがって、プログラムメモリアレイ回路１３０の規模を低減しつつ、柔軟性の高いデジタル信号処理を行うことができる。
【００６３】
［実施形態の変形］
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
【００６４】
例えば、上記の実施形態では、プログラムメモリアレイ回路１３０の最大アドレスＭとしてＭ＝１５を例示したが、値Ｍは任意の値とすることができる。この場合、プログラムアドレス信号ＰＡＤのビット幅ｍは、値Ｍに対応して定めればよい。
【００６５】
また、上記の実施形態では、ＮＯＰ制御フィールドのビット構成が（１，０）の場合と（１，１）の場合とで同様な無操作制御を行ったが、異なる無操作制御を行うようにしてもよい。例えば、ＮＯＰ制御フィールドのビット構成が（１，１）の場合には、プログラムアドレスの周回周期の８倍の周期で、該当する命令語を実質的に実行するようにすることができる。
【００６６】
また、上記の実施形態では、命令語ＩＷ0〜ＩＷMにおけるＮＯＰ制御フィールドを２ビット幅としたが、任意のビット数とすることができる。そして、ＮＯＰ制御フィールドの値に応じて、実行周期をプログラムアドレスの周回周期の任意倍とすることができる。
【００６７】
また、上記の実施形態では、周回カウント値が「０」の場合には、ＮＯＰ制御フィールドの値にかかわらず、全てのＩＷ0〜ＩＷMが実質的に実行されるようにしたが、ＮＯＰ制御フィールドの値に対応して、実質的に実行される周回カウント値を別途定めるようにすることもできる。
【００６８】
また、上記の実施形態におけるクロック信号ＣＫ１と、各要素回路の動作タイミングは一例であり、各要素回路の動作タイミングは、本発明の種子の範囲内で適宜定めればよい。
【００６９】
また、上記の実施形態では、出力端子１９２ａからの出力される演算処理結果データＦＤＴが無操作指定期間に対応するものであるか否かを外部に示すために、ラッチ制御信号ＡＬＣを出力端子１９２ｂから出力するようにしたが、無操作指定期間に対応するものであるか否かを示すことができる信号であれば、ラッチ制御信号ＡＬＣ以外の信号を出力端子１９２ｂから出力するようにすることもできる。例えば、ラッチ制御信号ＡＬＣに代えて、ラッチ条件判定結果信号ＬＤＲを出力端子１９２ｂから出力するようにすることができる。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態に係るデジタル信号処理装置の構成を概略的に示すブロック図である。
【図２】図１における実行命令語のビット構成を説明するための図である。
【図３】図１にメモリアレイに記憶された命令語のビット構成例を示す図（その１）である。
【図４】図１にメモリアレイに記憶された命令語のビット構成例を示す図（その２）である。
【図５】図１にメモリアレイに記憶された命令語のビット構成例を示す図（その３）である。
【図６】図１におけるアキュムレータ回路の構成例を示すブロック図である。
【図７】図１における無操作制御回路の構成例を示すブロック図である。
【図８】図１の装置によるデジタル信号処理動作を説明するためのタイミングチャート（その１）である。
【図９】図１の装置によるデジタル信号処理動作を説明するためのタイミングチャート（その２）である。
【図１０】図１の装置によるデジタル信号処理動作を説明するためのタイミングチャート（その３）である。
【図１１】図１の装置によるデジタル信号処理動作を説明するためのタイミングチャート（その４）である。
【図１２】図１の装置によるデジタル信号処理動作を説明するためのタイミングチャート（その５）である。
【符号の説明】
【００７１】
１００  …  デジタル信号処理装置
１１０  …  プログラムカウンタ回路（プログラムカウンタ手段）
１３０  …  プログラムメモリアレイ回路（記憶手段）
１５０  …  算術論理演算回路（演算処理手段）
１６０  …  アキュムレータ回路（アキュムレータ手段）
１７０  …  無操作制御回路（無操作制御手段）
１７１  …  カウンタ回路（周回カウント手段）
１７２  …  無操作条件判定回路（保持許可手段）
【図１】
2008191707.tif 000003
【図２】
2008191707.tif 000004
【図３】
2008191707.tif 000005
【図４】
2008191707.tif 000006
【図５】
2008191707.tif 000007
【図６】
2008191707.tif 000008
【図７】
2008191707.tif 000009
【図８】
2008191707.tif 000010
【図９】
2008191707.tif 000011
【図１０】
2008191707.tif 000012
【図１１】
2008191707.tif 000013
【図１２】
2008191707.tif 000014