(57)【要約】【課題】プログラマブル入出力ポート端子の機能設定を、効率的に、プログラム効率の低下を生じさせることなく行なう。【解決手段】各ポート端子に対する出力機能選択データを格納するレジスタを、Ｘ方向およびＹ方向においてアクセス可能なレジスタ回路（１０）で構成する。この変換機能付きレジスタ回路においてビット位置に応じて、その選択機能に優先順位を付ける。【選択図】図８
2008103996.tif 000002
【特許請求の範囲】
【請求項１】
内部回路、および
前記内部回路の機能を設定する情報を格納するレジスタ回路を備え、前記レジスタ回路は、第１の方向と前記第１の方向と交差する第２の方向各々からアクセス可能である、半導体集積回路装置。
【請求項２】
前記内部回路は、複数の内部回路ブロックを備え、
前記レジスタ回路は、前記第１の方向に沿って複数の機能選択レジスタに分割され、
前記半導体集積回路装置は、さらに、
前記内部回路の複数の内部回路ブロックを指定するレジスタアドレスを格納するテーブルと、
前記テーブルの内容に従って、指定された内部回路ブロックの機能選択データを前記レジスタ回路に前記第１の方向からアクセスして格納する回路をさらに備える、請求項１記載の半導体集積回路装置。
【請求項３】
前記テーブルのレジスタアドレスをデコードして、前記レジスタ回路から第２の方向から読出されたデータの転送経路を指定する信号を生成するデコード回路をさらに備える、請求項２記載の半導体集積回路装置。
【請求項４】
前記内部回路は、複数のプログラマブル入出力回路を備え、
前記レジスタ回路には、前記複数のプログラマブル入出力回路が出力ポートに設定されたときの機能を指定するデータが格納される、請求項１記載の半導体集積回路装置。
【請求項５】
前記レジスタ回路は、前記第１の方向に沿って複数の機能選択レジスタに分割され、
前記内部回路は、前記複数の機能レジスタの同一ビット位置のデータにより機能が設定される複数の内部回路ブロックを備える、請求項１に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は半導体集積回路装置に関し、特に、内部回路の機能をレジスタの格納情報に従って設定することのできるプログラマブル機能回路を有する半導体集積回路装置に関する。より特定的には、この発明は、マイクロコントローラにおいて、入出力ポートの機能をレジスタ格納値に従って設定するマイクロコントローラのポート機能設定のための構成に関する。
【背景技術】
【０００２】
マイクロコントローラまたはマイクロプロセッサを用いる処理システムが、種々の用途において用いられている。このような処理システムは、用途または仕様に応じて、制御対象や信号の種類が異なる。各用途または仕様に応じて、これらのプロセッサまたはコントローラをカスタム化して製造した場合、製品の種類が多くなり、製造工程、設計効率が悪くなり、また製品管理も煩瑣となる。
【０００３】
そこで、従来、マスタースライス方式を用いて、共通の構成を有するプロセッサまたはコントローラを作製し、用途または仕様に応じて、スライス工程で、その端子等のチップの機能を設定することが、行なわれる。入出力ポートの機能を設定する場合、スライス工程でのマスク配線により、１つの端子を、入力端子、出力端子、入出力端子、またはプルアップ機能を有する端子に設定する。しかしながら、マスク配線で、各端子の機能を設定する場合、スライス工程後、入出力ポートの回路形式（各端子の機能）を変更することは不可能であり、他用途に転用するのは困難となる。また、マスク配線を利用するため、機能設定のために配線工程が必要となり、製造時間が長くなり、またコストが増大する。
【０００４】
そこで、このようなマスク配線による端子機能の設定の問題を解消することを図る構成が、特許文献１（特開平０５−２９１４０５号公報）に示されている。
【０００５】
この特許文献１に示される構成においては、この１つの端子に割当てられる可能性のある機能それぞれに電気的に書換え可能な読出専用メモリセルを設け、用途に応じてこれらの読出専用メモリセルの記録情報を設定して、その端子と内部の機能回路の接続経路を設定する。
【０００６】
特許文献１は、この書換可能な読出専用メモリセルを利用することにより、端子（ボンディングパッド）に対する各種内部回路の接続経路を変更／設定することにより、入出力ポートの回路形式を容易に変更することを図る。
【特許文献１】特開平０５−２９１４０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この特許文献１に示される構成においては、端子（ボンディングパッド）の機能としては、プルアップ／プルダウンの終端機能、入力端子、出力端子、入出力端子のいずれかに設定する。各機能に応じて、電気的に書換可能な読出専用メモリセルを配置する。このメモリセルは、１トランジスタ型セルであり、このメモリセルトランジスタのオン／オフを制御するビットを制御レジスタに格納する。この制御レジスタの格納値に従って高圧デコーダを用いて選択的に高電圧を発生して、対応のメモリセルトランジスタのプログラム（オン／オフの状態の設定）を行なう。したがって、このメモリセルのプログラムのために、高電圧が必要とされ、高電圧発生用の回路が必要となる。
【０００８】
また、各機能に応じて、端子を入力端子、出力端子、入出力端子または開放状態のいずれかに設定する。各機能に対応して、伝達される信号の種類は１種類である（１つの内部機能回路が選択される）。しかしながら、複数種類の信号が、１つの機能（入力、出力、または入出力）に割当てられている場合、これらの複数種類の信号からさらに１つを選択して１つの機能に割当てる構成に対しては、この特許文献１に示される構成では対応することができない。
【０００９】
たとえば車載マイコン（マイクロコンピュータ）の場合、１つの車両に数十個のマイクロコンピュータが用いられる。車両においては、種々の電子制御システムが用いられており、通常、ＣＡＮ（コントローラ・エリア・ネットワーク）と呼ばれるシリアル通信プロトコルを用いて、制御システムが構築される。このＣＡＮにおいては、複数のＬＡＮ（ローカル・エリア・ネットワーク）がゲートウェイを介して相互接続される。各ＬＡＮにおいては、エンジン／ブレーキ制御系、ＩＴＳ（インテリジェント・トランスポート・システム：高度道路交通システム）の制御系、センサ、エアコンまたはパワーウインドウなどのモータ／スイッチ制御系、ナビゲーション／オーディオ制御系等複数のサブネットワークが設けられる。各サブネットワークにおいて、同一構成のマイクロコンピュータが利用される。
【００１０】
この場合、各用途に応じて、その端子の機能を割当てる場合、１つの端子に対し複数種類の機能が割当てられる。たとえば、車載マイコンにおいては、１つのマイクロコンピュータにおいて１つのポート（端子およびバッファ回路）に対し、たとえば、タイマ、三相モータ制御、シリアルインターフェイス、インテリジェントＩ／Ｏ、ＣＡＮポートのいずれかの機能が割当てられる。このような複数の機能／種類の１つを選択してポートの機能を設定するためには、各機能／種類に対応してレジスタを設け、このレジスタのビット値に従って端子機能を設定することが考えられる。この場合、例えば、各レジスタを所定のシーケンスで順次スキャンして値を読出し、その読出したレジスタのビット値に従って、端子の機能／種類を設定する。したがって、この機能／種類に応じたレジスタを順次スキャンする必要があり、端子の機能／種類設定に時間を要する。また、このような場合、端子の機能／種類設定のためのプログラムのステップ数が増大し、プログラム効率が低下する。
【００１１】
また、これに代えて、１つのレジスタの複数ビットを利用して、各ポートの機能／種類を設定することも考えられる。この場合、複数ビットをデコードして対応のポートの機能／種類を設定する必要があり、各ポートごとにデコード動作を行って機能を設定する必要があり、ポート数が増大するとポートの機能／種類の設定に時間を要し、また、ポートごとにビット値を設定する必要があり、プログラム効率が低下する。
【００１２】
それゆえ、この発明の目的は、効率的に端子／ポートの機能／種類を設定することのできる半導体集積回路装置を提供することである。
【課題を解決するための手段】
【００１３】
この発明の一実施の形態に従う半導体集積回路装置は、内部回路と、この内部回路の機能を設定する情報を格納するレジスタ回路を備える。このレジスタ回路は、第１の方向とこの第１の方向と交差する第２の方向各々からアクセス可能である。
【００１４】
一実施例においては、内部回路は、出力端子（パッド）を駆動するバッファ回路である。複数種類の出力信号の１つを、レジスタの格納情報にしたがって選択する。
【発明の効果】
【００１５】
一実施例においては端子（ポート）である内部回路の機能を設定する制御データを格納するレジスタ回路を、第１および第２の方向からアクセス可能とする。これにより、ポート機能設定用のレジスタにおいて、複数の機能設定レジスタのビットを並列に読出すことが可能となり、効率的に一実施例においてポートである内部回路の機能を設定することができる。また、少ないアクセス回数で、例えばポートである内部回路の機能を設定することができる。これにより、プログラムのステップ数を低減することができ、プログラム効率を改善することができる。
【００１６】
また、一実施例において、このレジスタ回路のビット位置に機能選択の優先順位をつける。これにより、少ないビット数でポートなどの内部回路の機能／種類を設定することができ、プログラム効率が改善される。
【発明を実施するための最良の形態】
【００１７】
［実施の形態１］
図１は、この発明の実施の形態１に従う半導体集積回路装置の全体の構成を概略的に示す図である。この図１に示す半導体集積回路装置１は、外部装置との間の信号／データのインターフェイス部となるポートＰ０−Ｐ９と、制御動作、演算動作などを行なう処理ユニット（コア回路）２と、この処理ユニット２の処理データおよび各種制御データを格納するメモリ３と、周辺機能回路４を含む。
【００１８】
これらの処理ユニット２、メモリ３、周辺機能回路およびポートＰ０−Ｐ９は、内部バス５を介して相互に結合される。ポートＰ０−Ｐ９は、それぞれ、端子（パッド）および入力／出力用のバッファ回路を含む。これらのポートの機能／種類は、後に詳細に説明するように、プログラム可能である。
【００１９】
メモリ３は、特殊機能レジスタＳＦＲを含ム。この特殊機能レジスタＳＦＲの格納する制御ビットにより、ポートＰ０−Ｐ９の機能（信号の種類／データ転送方向を含む）を設定する。すなわち、ポートＰ０−Ｐ９は、入力ポート、出力ポート、および入出力ポートのいずれかに設定され、出力ポート（入出力ポートを含む）に設定されたとき、周辺機能回路４の生成する信号のうちの選択された信号を出力する。
【００２０】
この周辺機能回路４は、一例として、タイマ、三相モータ駆動用信号発生回路、クロック発生回路、車載用のＣＡＮコントローラ、ＵＡＴＲ（汎用非同期送受信器）の送受信回路、シリアル入出力ポートのデータ、および車載用途において用いられるインテリジェント入出力信号（センサ出力等）の処理を行なう回路を含む。
【００２１】
半導体集積回路装置１は、さらに、内部バス５に結合される変換機能付きレジスタ回路１０を含む。この変換機能付きレジスタ回路１０は、メモリ３の特殊機能レジスタＳＦＲに含まれる制御機能選択レジスタからのビットを格納し、そのビット配列の直交変換（Ｘ方向データのＹ方向データへの変換またはその逆の変換）を行なって出力する。この発明の実施の形態１においては、この変換機能付きレジスタ回路１０は、ポートＰ０−Ｐ９のうちの１つのポートに対して設けられる。しかしながら、この変換機能つきレジスタ回路１０は、複数のポートに対して共通に設けられても良い。プログラマブルＩ／Ｏポートに対して、この変換機能付きレジスタ回路１０が設けられる。
【００２２】
後に詳細に説明するように、たとえばポートＰ７は、複数種類の機能が割当てられる。これらの複数の機能から１つの機能を選択するために、図示しない複数の機能選択レジスタ（Ａレジスタ、Ｂ１レジスタ…Ｅレジスタ等）のビット値が、設定される。これらの機能選択レジスタのビット値が変換機能付きレジスタ回路１０に格納される。この変換機能付きレジスタ回路１０自体が、機能選択レジスタとして利用されてもよい。
【００２３】
ポートＰ０−Ｐ９は、各々、複数ビット幅を有しており、各ビット単位でポートＰ０−Ｐ９の端子機能を設定することができる。ポートの所定数の端子（またはボンディングパッド）のみが、たとえば制御信号またはアナログ信号の入力または出力に用いられ、他の端子が不使用とされることがあるためである。
【００２４】
この変換付きレジスタ回路１０を利用することにより、ポートの各端子の機能を並列に設定して、プログラム効率および処理効率を改善する。
【００２５】
図２は、１つのポートＰｉに関連する入出力部の構成を概略的に示す図である。図２においては、処理ユニット２および周辺機能回路４も併せて示す。
【００２６】
図２において、ポートＰｉは、プログラマブル入出力ポート２０と、方向レジスタ回路１８と、機能選択レジスタ回路１５を含む。
【００２７】
方向レジスタ回路１８は、このプログラマブル入出力ポート２０の入力／出力の方向を設定する。機能選択レジスタ回路１５は、このプログラマブル入出力ポート２０の出力ポートに設定された場合の、出力機能を選択する。このポートＰｉに対して、図１に示す変換機能付きレジスタ回路１０が設けられている場合、この機能選択レジスタ回路１５は、変換機能付きレジスタ回路１０で置換される。ポートＰｉがデータ入出力ポートの場合、単に使用／不使用およびデータ転送方向が機能選択レジスタ回路１５の格納値にしたがって設定される。このポートＰｉが、出力ポートに設定され、かつその出力信号の種類として複数の候補が存在する場合に、変換機能付きレジスタ回路１０が用いられる。
【００２８】
この方向レジスタ回路１８および機能選択レジスタ回路（変換機能付きレジスタ回路）１５（１０）は、このポートＰｉの各ビットごとに、その機能を設定することができる。機能選択レジスタ回路１５（以下、変換機能付きレジスタ回路１０と称す）および方向レジスタ回路１８は、図１に示す特殊機能レジスタＳＦＲに格納されるデータに従って処理ユニット２の制御の下にその記憶値が設定される。
【００２９】
プログラマブル入出力ポート２０は、出力ポート（入出力ポートを含む）に設定された場合、周辺機能回路４のいずれかの機能を選択して、対応の信号を出力する（各ビット単位）。
【００３０】
図３は、ポートＰｉの１つの端子に関連する部分の構成を概略的に示す図である。図３において、プログラマブル入出力ポート２０は、ポート端子Ｐｉ＿ｊに対応して設けられるプログラマブル入出力回路３０と、このプログラマブル入出力回路３０の方向を設定する方向レジスタ２５を含む。
【００３１】
周辺機能回路４は、一例として、タイマ２２、および三相モータ駆動信号発生回路２４を含む。特に限定されないが、車載用途においては、周辺機能回路４は、この他に、前述のように、シリアル信号、インテリジェント信号等を処理する回路部分を含む。
【００３２】
このプログラマブル入出力回路３０は、変換機能付きレジスタ回路１０（機能選択レジスタ回路１５）から与えられるビットｂｊに従って、ポート端子Ｐｉ＿ｊの機能を選択する機能選択回路３２を含む。
【００３３】
この機能選択回路３２は、一例として、周辺機能回路４に含まれるタイマ２２、三相モータ駆動信号発生回路２４等の機能回路、およびメモリ３のいずれかを選択する。
【００３４】
プログラマブル入出力回路３０は、さらに、方向レジスタ２５により、信号／データの転送方向が設定される出力回路３４および入力回路３６を含む。これらの出力回路３４および入力回路３６は、方向レジスタ２５の格納ビット値に従って、イネーブル／ディスエーブルが設定される。出力回路３４は、機能選択回路３２により選択された回路部からの信号／データの出力を行なう。入力回路３６は、ポート端子Ｐｉ＿ｊから与えられた信号を入力して機能選択回路３２により選択された回路部に入力信号を転送する。
【００３５】
機能選択回路３２は、ビットｂｊに従ってプログラマブル入出力回路３０が入出力回路に設定された場合、メモリ３を選択し、このプログラマブル入出力回路３０が出力ポートに設定された場合、周辺機能回路４に含まれる周辺回路のいずれかの要素を選択する。
【００３６】
この入力回路３６が、常時イネーブル状態とされて、外部からのセンサ等のアナログ信号を常時入力する構成が用いられても良い。本実施の形態１においては、対応のポート端子Ｐｉ＿ｊが出力端子（入出力端子を含む）に設定された場合の、出力信号／データの種類を選択して、ポートの機能を設定する。この入力回路３６の制御の形態については特に限定されない。
【００３７】
図４は、機能選択レジスタ回路１５（または変換機能付きレジスタ回路１０）の一般的構成を概略的に示す図である。図４において、この機能選択レジスタ回路１５（変換機能付きレジスタ回路１０）は、Ｘ方向に沿って配列される複数のレジスタＲＧ０−ＲＧｍを含む。これらのレジスタＲＧ０−ＲＧｍ各々は、Ｙ方向に沿って、対応のポートＰｉのビット幅と同じビット幅を有する。これらのレジスタＲＧ０−ＲＧｍのＹ方向において同一ビット位置のビット値に従って、このプログラマブル入出力回路３０の機能／方向が設定される。
【００３８】
図５は、ポート端子の機能設定の態様を模式的に示す図である。図５において、機能選択レジスタ回路として、機能選択レジスタＡ１、Ｂ１、…Ｅを示す。この機能選択レジスタ回路１５（１０）のレジスタＲＧ０−ＲＧｍにおいて、同一ビット位置のビット値が参照される。また、これら機能選択レジスタＡ１、Ｂ１、…Ｅには、優先順位が付けられており、その参照順位も予め定められている。機能選択レジスタＡ１、Ｂ１、…Ｅは、レジスタＲＧ０−ＲＧｍそれぞれに対応してもよい。しかしながら、本実施の形態１においては、Ｘ方向に沿って整列するビットで、これらの機能選択レジスタＡ１、Ｂ１、…Ｅ各々を構成する。以下では、本実施の形態１の効果を明確にするために、先ず、これらの機能選択レジスタＡ１、Ｂ１、・・・Ｅが、それぞれ、レジスタ回路ＲＧ０−ＲＧｍで構成されるとして説明する。
【００３９】
まず、機能選択用レジスタＲＧ０（Ａ１レジスタ）の対応のビット値が０のときには、対応のポート端子は、入出力ポートに設定される。このビット値が“１”のときには、次のレジスタＲＧ１（Ｂ１レジスタ）の対応のビット値が参照される。このレジスタＲＧ１の対応のビット値が“０”のときに、対応のポート端子の出力信号として、タイマ出力ＴＡＯＵＴが選択される。以降、優先順位に従って各レジスタの対応のビットが参照される。対応のビット値が“０”のときに、指定された周辺機能回路が選択され、ビット値が“１”のときには、次の下位の機能選択レジスタのビット値が参照される。最後の機能選択レジスタＲＧｍにおいて、ビット値が“０”のとき、たとえば送信データＴＸＤが選択され、ビット値が“１”のとき、インテリジェントデータＩＩＯが選択される。
【００４０】
これらの複数の機能選択レジスタのビット値を参照することにより、１つのポート端子に対し複数の機能を割付けることができる。一例として、たとえば、ポートＰ７＿６の出力機能選択を行なう場合、レジスタＡ１、Ｂ１、Ｃ、Ｄ１、およびＥ１が用いられる。用途に応じて、たとえばＣＡＮに関連する制御信号も選択可能である。しかしながら、この選択される出力信号／データの用途／種類は特に限定されない。
【００４１】
この場合、各ポート端子ごとにレジスタ回路の対応のビットを順次参照してポート端子の機能を設定すると、機能設定のために時間がかかり、また、プログラムも煩瑣となり、プログラム効率が低下する。これを避けるために、本実施の形態１において変換機能付レジスタ回路１０を利用する。
【００４２】
図６は、図４においてレジスタ回路として示される変換機能付きレジスタ回路１０の構成をより具体的に示す図である。図６において、Ｘ方向およびＹ方向に沿って、１ビットレジスタＲＭが配置される。Ｙ方向に沿って整列して配列される１ビットレジスタにより、Ｙ方向機能レジスタが形成される。Ｘ方向に沿って整列して配置される１ビットレジスタＲＭにより、Ｘ方向機能レジスタが形成される。
【００４３】
図６においては、一例として、１ビットレジスタＲＭが、８行８列に配列され、Ｙ方向機能レジスタＹ０−Ｙ７およびＸ方向機能レジスタＸ０−Ｘ７が設けられる。この変換機能付きレジスタ回路１０は、Ｘ方向およびＹ方向いずれの方向からもアクセス可能であり、この二次元的なアクセス（Ｘ方向およびＹ方向各々からのアクセス）を可能とするために、Ｙアクセス回路４０およびＸアクセス回路４２が設けられる。ここで、「アクセス」は、書込および読出を示す。
【００４４】
Ｙアクセス回路４０は、与えられたアドレス信号（図示せず）に従って、Ｙ方向機能レジスタＹ０−Ｙ７のいずれかＹｊを選択してアクセスする。選択されたＹ方向機能レジスタＹｊのビットｂ０−ｂ７が、並列にアクセスされる。
【００４５】
Ｘアクセス回路４２は、、与えられたアドレス信号に従って、Ｘ方向機能レジスタＸ０−Ｘ７のうちからＸ方向機能レジスタＸｋを選択する。選択されたＸ方向機能レジスタＸｋの８ビットが並列にアクセスされる。
【００４６】
図７は、図６に示す１ビットレジスタＲＭの構成の一例を示す図である。図７において、１ビットレジスタＲＭは、データを記憶するフリップフロップＦＦと、記憶データをアクセスするアクセストランジスタＴＭ０−ＴＭ３を含む。
【００４７】
フリップフロップＦＦは、ＣＭＯＳインバータラッチで構成される。アクセストランジスタＴＭ０およびＴＭ１は、Ｙ方向ワード線ＷＬＹ上の信号に従ってフリップフロップＦＦのストレージノードＳＮおよびＺＳＮをそれぞれ、Ｙ方向ビット線ＢＬＹおよびＺＢＬＹに結合する。アクセストランジスタＴＭ２およびＴＭ３は、Ｘ方向ワード線ＷＬＸ上の信号に従ってストレージノードＳＮおよびＺＳＮを、Ｘ方向ビット線ＢＬＸおよびＺＢＬＸにそれぞれ結合するを含む。
【００４８】
Ｙ方向ワード線ＷＬＹは、図６に示すＹ方向に沿って連続的に延在し、１つのＹ方向機能レジスタを選択する。Ｘ方向ワード線ＷＬＸは、図６に示すＸ方向に延在し、１つのＸ方向機能レジスタを選択する。
【００４９】
Ｙ方向ビット線ＢＬＹおよびＺＢＬＹは、図６に示すＸ方向に連続的に延在し、ストレージノードＳＮおよびＺＳＮとＹアクセス回路４０に含まれる書込／読出回路との間で相補データビットを転送する。Ｘ方向ビット線ＢＬＸおよびＺＢＬＸは、図６に示すＹ方向に連続的に延在する。図６に示すＸアクセス回路４２に含まれる書込／読出回路により、Ｘ方向ビット線ＢＬＸおよびＺＢＬＸを介してストレージノードＳＮおよびＺＳＮに対するデータの書込／読出が実行される。
【００５０】
図７に示すデュアルポートメモリセルを１ビットレジスタＲＭとして利用することにより、Ｘ方向に整列するデータビットを、Ｙ方向に整列するデータビットに変換して、またその逆の変換を行なって、データの転送を行なうことができる。
【００５１】
図８は、変換機能付きレジスタ回路１０の制御データの格納態様を概略的に示す図である。図８において、変換機能付きレジスタ回路１０において、Ｘ方向レジスタ回路Ｘ０−Ｘ４が、それぞれ、機能選択レジスタＡ１、Ｂ１、Ｃ１およびＤ１およびＥにそれぞれ割当てられる。すなわち、Ｙ方向においてビット位置ｂ０が、最も優先順位の高い機能を割当てる。順次、ビット位置が高くなるにつれて、優先順位が低くなるように、選択される機能を割付ける。たとえば、このポートＰｉの全端子Ｐｉ＿０−Ｐｉ＿７を、すべて入出力ポートに設定する場合、Ｙ方向のビット位置ｂ０に、「００００００００」Ｂを書込む「Ｂ」は、２進数を示す。これにより、Ｘアクセス回路４２を介して、機能選択レジスタＡ１に対応するＸ方向レジスタ回路Ｘ０に、１回アクセスするだけで、このポートＰｉの全端子Ｐｉ＿０−Ｐｉ＿７の機能を設定することができる。ここで、ポート端子の機能の選択においては、ビット“０”が設定されたときに対応の機能が選択されると仮定する。
【００５２】
したがって、Ｙ方向レジスタ回路Ｙ０−Ｙ７に、それぞれ順次アクセスして、ビット位置ｂ０に、データを書込む必要がなく、アクセス回数が低減され、また、プログラム効率も簡略化される。図１に示すメモリの特殊機能レジスタＳＦＲの機能選択レジスタ回路Ａ１の内容を読出し、Ｘアクセス回路４２から、Ｙ方向のビット位置ｂ０に読出したデータを並列に書込むことにより、容易に、この書込は実現される。
【００５３】
また、これに代えて、変換機能付きレジスタ回路１０を、特殊機能レジスタＳＦＲと別途設け、そのメモリ空間上でのアドレス領域を固定して、ポートＰｉ専用の機能選択レジスタ回路としてこの変換機能付きレジスタ回路を用いてもよい。
【００５４】
ポートＰｉの端子ごとに個々に機能を設定する場合には、Ｙアクセス回路４０を介してＹ方向レジスタ回路を選択することにより、各ポート端子ごとに順次、機能を設定することができる。
【００５５】
ポートＰｉの選択可能な機能が、たとえば５つ存在する場合、Ｘ方向レジスタ回路の優先順位に従って各機能をＸレジスタ回路に割当てるとともに、各端子ごとに機能を設定するビット値を設定する。Ｘアクセス回路４２を介して最大５回アクセスすることにより、ポートＰｉの端子の機能を設定することができる。
【００５６】
なお、機能の優先順位については、Ｙ方向のビット位置ｂ７に最も高い優先順位が割当てられても良い。
【００５７】
図９は、ポートＰｉの出力機能を設定する部分の構成を概略的に示す図である。図９において、ポート端子Ｐｉ＿０−Ｐｉ＿７それぞれに対応して、プログラマブル入出力回路３０＿０−３０＿７が設けられる。変換機能付きレジスタ回路１０においてＹ方向レジスタ回路が、プログラマブル入出力回路３０＿０−３０＿７それぞれに対応して設けられる。
【００５８】
これらのプログラマブル入出力回路３０＿０−３０＿７に対し、変換機能付きレジスタ回路１０から、Ｘアクセス回路を介して、８ビットデータの各ビットがそれぞれ与えられ、また、変換機能付きレジスタ回路１０から、Ｙアクセス回路を介して８ビットデータが、それぞれ個々に与えられる。Ｘ方向の８ビットデータによる機能設定時には、プログラマブル入出力回路３０＿０−３０＿７をそれぞれイネーブルし、転送したビットに従ってそれぞれの機能を選択する。Ｙ方向レジスタ回路のデータの読出時においては、選択ポート端子に応じて対応のプログラマブル入出力回路をイネーブルして、Ｙ方向レジスタ回路からの８ビットデータに従って機能を選択する。
【００５９】
図１０は、このプログラマブル入出力回路３０＿０−３０＿７各々における選択機能設定部の構成の一例を概略的に示す図である。プログラマブル入出力回路３０＿０−３０＿７各々においては、図３に示すように機能選択回路３２が設けられ、周辺機能回路４の機能が、与えられたビット値に従って選択される。
【００６０】
この機能選択回路３２に対し、以下の構成のデータ切換回路が設けられる。このデータ切換回路は、データを選択する選択回路４５と、選択回路４５の出力データを転送する選択駆動回路４７と、選択駆動回路４７からのデータをラッチするラッチ回路４９とを含む。
【００６１】
選択回路４５は、Ｘ方向データおよびＹ方向データの一方を選択する方向データ選択信号Ｘ／Ｙに従って、Ｙ方向データビットＹｋ０−Ｙｋ７およびＸ方向データビットＸｊｋの一方を選択する。
【００６２】
選択回路４５は、８ビットデータそれぞれに対応して設けられる選択ゲートＳＥＬを含み、切換信号Ｘ／Ｙに従って、各ビット単位で、Ｘ方向データビットＸｊｋおよびＹ方向データビットＹｋ０−ｋ７の一方を選択する。
【００６３】
選択駆動回路４７は、イネーブル信号ＥＮ０−ＥＮ７に従って、選択回路４５の出力信号を転送する。選択駆動回路４７は、選択ゲートＳＥＬそれぞれに対応して設けられるトライステートバッファＴＢＦ０−ＴＢＦ７を含む。これらのトライステートバッファＴＢＦ０−ＴＢＦ７は、それぞれイネーブル信号ＥＮ０−ＥＮ７に従って活性化され、活性化時、対応の選択ゲートＳＥＬから与えられたデータをバッファ処理する。
【００６４】
イネーブル信号ＥＮ０−ＥＮ７は、Ｘ方向データビットＸｊｋの転送回数（Ｘ方向レジスタ回路のアクセス回数）に応じて選択的に活性化される。また、Ｙ方向データ選択時、イネーブル信号ＥＮ０−ＥＮ７は、すべて活性化される。
【００６５】
ラッチ回路４９は、８ビットのラッチＬＡを含み、機能選択回路３２へ８ビットデータを並列に転送する。ラッチＬＡは、たとえばインバータラッチで構成され、与えられたデータをラッチする。
【００６６】
機能選択回路３２は、たとえばプライオリティエンコーダの構成を含み、ラッチ回路４９からの８ビットデータのビット値に従って機能を選択する。すなわち、機能選択回路３２は、選択状態を示す“０”のビット位置（最も優先順位の高いビット位置）に従って対応の機能を選択する。
【００６７】
上述の変換機能付きレジスタ回路１０を利用することにより、最も優先順位の低い機能を選択する場合においても、機能選択レジスタのビットを順次読出す構成に比べて、大幅にアクセス回数を短縮することができる。また、データ書込時においても、優先順位に従って、機能を割付け、機能を選択するときに対応のビット位置に論理値“０”を書込む。残りのビット位置は、“１”に設定する。これにより、ポートの各端子単位での機能選択を行なうプログラムを、簡略化することができる。
【００６８】
図１１は、この発明の実施の形態１に従う半導体集積回路装置におけるポートの設定シーケンスを示すフロー図である。以下、図１１を参照して、このポート機能設定シーケンスについて説明する。このポート機能設定の動作制御は、図２に示す処理ユニット２の制御の下に実行される。
【００６９】
まず、ポート機能を設定するか否かの判定が行なわれる（ステップＳ１）。このポート機能設定は、たとえば、リセット後またはシステム立上げ時に行なわれる。ポート機能の設定の要求が存在しない場合、ポートはすべての正常にその機能が設定されていると判定される。
【００７０】
一方、ポート機能を設定する必要があると判定されると、次いで、ポートの各端子ごとに機能を設定するか否かの判定が行なわれる（ステップＳ２）。端子ごとに機能を設定する場合、変換機能付きレジスタ回路１０に対し、Ｙ方向アドレスを設定し、Ｙ方向レジスタをアクセスする。また、対応のポート端子をイネーブルし、プログラマブル入出力回路の値を設定可能とする（ステップＳ３）。
【００７１】
このＹ方向レジスタの内容に従って、ポートの対応の端子の機能が設定された場合、次いで、このポートの機能設定の必要な端子すべてについて機能が設定されたかの判定が行なわれる（ステップＳ４）。これは、単に残りのポートに対する機能設定要求があるか見ることにより判定される。または、これに代えて、リセット時、ポートの全端子の機能を設定する必要がある場合、ポートの端子すべての機能が設定されたかを見ることにより判定される（機能設定完了ポート端子から、設定完了フラグを送出することにより、この判定は行なうことができる（ステップＳ４））。
【００７２】
必要なポート端子すべての機能設定がまだ完了していない場合には、次いで、機能変換付きレジスタ回路のＹ方向アドレスを更新する（ステップＳ５）。機能設定要求の必要のあるポートアドレスを見ることにより、Ｙ方向アドレスレジスタ回路を選択するＹ方向アドレスを設定する。次いで、再び、ステップＳ３からＳ５の処理を繰返し、ポートの必要なすべての端子の機能を設定する。
【００７３】
一方、ステップＳ２において、ポートの端子すべて共通に、機能を設定する必要があると判定された場合、変換機能付きレジスタ回路のＸ方向アドレスを設定する。このとき、も優先順位の高いビット位置に対するＸ方向アドレスを決定し、Ｘ方向レジスタをアクセスする。また、ポートの全端子をイネーブルして、それらの機能設定が可能な状態に設定する（ステップＳ６）。
【００７４】
次いで、ポートの全端子の機能の設定が完了したかの判定が行なわれる（ステップＳ７）。この場合、ポート端子において、機能設定が完了した端子から、機能設定完了フラグを立てることにより、この判定は行なうことができる。
【００７５】
すべてのポート端子の機能の設定が完了していない場合、次のＸ方向アドレスを設定する（ステップＳ８）。この場合、単に、Ｘ方向アドレスにおいて、次の優先順位の高い機能を選択するアドレスに設定する。以降、再び、ステップＳ６からステップＳ８を繰返し、このポートの端子すべての機能設定を完了する。
【００７６】
ステップＳ４またはＳ７において、この必要な端子またはすべての端子の機能設定が完了したと判定されると、ポート機能の設定が完了する。
【００７７】
したがって、逐次、ポートの端子に対し、機能選択レジスタＡからＥの内容を順次読出して、ポートの端子の機能を設定する構成に比べて、全端子共通に機能設定を行なうことにより、処理効率が改善される。また、各端子に対し必要とされる機能に対応するビット位置の設定ビット値（たとえば“０”）を書込むことにより、ポート端子の機能を設定することができ、プログラム効率が改善される。
【００７８】
また、各ポート端子ごとに、機能設定を可能としており、各ポート端子のテストを、個々に行なうことができる。ポート端子に対して複数の機能が割当てられている場合、正確に意図する機能をポート端子に割当てることができたかを検出することができる。
【００７９】
［変更例］
図１２は、この発明の実施の形態１の変更例に従う機能選択レジスタ（Ｙ方向レジスタ回路）の構成を概略的に示す図である。この図１２に示す機能選択レジスタ５０は、各ポート端子ごとに設けられる。この機能選択レジスタ５０は、たとえば８ビットｂ０−ｂ７のビット幅を有し、その下位３ビットｂ０−ｂ２のビットパターンに従って、機能を選択する。図１２においては、一例として、対応の端子Ｐｉ＿ｊが、入出力ポート、タイマ出力ＴＡ３ＯＵＴ、送信データ出力端子、ＣＡＮ系出力信号ＣＡＮ０ＯＵＴを出力する端子、インテリジェント信号ＩＩＯ＿３の出力端子、入力端子、および送信制御信号ＲＴＳ３の出力端子のいずれかに設定される場合を示す。送信制御信号ＲＴＳ３は、たとえばシリアル信号の送信制御またはＵＡＲＴ信号の送信タイミングを設定する。
【００８０】
この図１２に示す機能選択レジスタ５０を利用する場合、ポート端子Ｐｉ＿ｊごとに、１回のアクセスで機能を設定することができる。しかしながら、ポートＰｉが、たとえば８ビットＰｉ＿０−Ｐｉ＿７を有する場合、ポート端子の機能を逐次設定するためには、各端子ごとに、機能選択レジスタ５０の内容を８回読出すことが必要とされる。この場合においても、図６に示す変換機能付きレジスタ回路１０を利用し、各ポート端子ごとに、Ｙ方向レジスタに機能選択レジスタ５０の内容を格納する。Ｘ方向レジスタ回路の内容を読出すことにより、並行してポート端子の機能を設定する。３回のアクセスでポート端子Ｐｉ＿０−Ｐｉ＿７の機能を設定することができる。
【００８１】
図１３は、この発明の実施の形態１の変更例のポート端子Ｐｉ＿ｊに対するプログラマブル入出力回路３０に関連する部分の構成を概略的に示す図である。プログラマブル入出力回路３０に対し、ポート端子機能制御回路６０が対応して設けられる。ポートＰｉの各ポート端子（たとえばＰｉ＿０−Ｐｉ＿７）に共通に、変換機能付きレジスタ回路１０が設けられる。変換機能付きレジスタ回路１０は、Ｘ方向レジスタＸ０−Ｘ７およびＹ方向レジスタＹ０−Ｙ７を含み、Ｘ方向およびＹ方向についてそれぞれアクセス可能である。Ｙ方向レジスタＹ０−Ｙ７各々が、図１２に示す機能選択レジスタ５０に対応し、それぞれ対応のポート端子の機能を設定するデータビットを格納する。
【００８２】
ポート端子機能制御回路６０は、機能制御データを格納するシフトレジスタ６２と、シフトレジスタ６２の格納データをデコードするデコーダ６４を含む。シフトレジスタ６２は、機能変換付きレジスタ回路１０からのＸ方向レジスタＸ０−Ｘ２から順次読出されるｂ０−ｂ２を、順次シフトして格納する（全ポート全端子に並行して機能を設定する場合）。デコーダ６４は、シフトレジスタ６２からの３ビットまたは変換機能付きレジスタ回路１０のＹ方向レジスタから読出された３ビットｂ０−ｂ２のいずれかをデコードして機能選択信号を生成する。
【００８３】
このデコーダ６４は、各ポート端子ごとに機能を設定する場合には、Ｙ方向レジスタＹｊから読出された内容のうちの３ビットｂ０−ｂ２をデコードする。このデータの切換の構成は、図１３においては明確に示していないが、Ｘ方向レジスタおよびＹ方向レジスタのいずれを選択するかに応じてデコーダ６４に対する接続経路が切換えられればよい。
【００８４】
デコーダ６４は、この与えられた３ビットデータをデコードし、図１２に示す機能のいずれかを選択する信号を生成する。
【００８５】
プログラマブル入出力回路３０は、機能選択回路６６および入力／出力回路６８を含む。機能選択回路６６は、デコーダ６４からのデコード信号に従って対応の機能を選択する。入力／出力回路６８は、デコーダ６４の出力信号に従って入出力ポート、出力ポート端子および入力ポート端子のいずれかに設定される。
【００８６】
図１３に示すように、変換機能付きレジスタ回路１０のＸレジスタの内容を読出した場合、ポートＰｉの各端子において並行して、シフトレジスタ６２に対応のビットが順次シフトインされて格納される。したがって、３ビットｂ０−ｂ２で各端子の機能を設定する場合、３回、変換機能付きレジスタ回路１０にアクセスすることにより、ポートＰｉの端子機能を設定することができる。また、Ｙ方向レジスタＹｊの内容を読出すことにより、このポートＰｉの端子Ｐｉ＿ｊの機能を単独で設定することができる。
【００８７】
なお、Ｙ方向レジスタＹ０−Ｙ７各々において、８ビットｂ０−ｂ７の領域を用い、この３ビットデータ（図１２参照）をデコードした信号を格納する構成が用いられてもよい。すなわち、ビットｂ０の位置がビット値“０”のときに、入出力ポートの機能が選択され、ビット位置ｂ１が“０”のときに、タイマ出力を選択するように、順次１ビットのみを機能選択ビットとして“０”（たとえば）に設定する構成が用いられてもよい。この場合、図１３に示すデコーダ６４が不要となり、先の図８および図９に示す構成と同様、ポート全端子を入出力ポートに設定する場合、単にビット値ｂ０を“０”に設定することにより、１回のアクセスで、ポートＰｉの全端子を入出力ポートに設定することも可能となる。この場合、先の図１０に示す構成と同様の構成を、ポート端子機能制御回路６０に設けることにより、対応することができる。
【００８８】
また、この変更例におけるポート端子の機能を設定する処理は、図１１に示すフロー図と同じ処理シーケンスで実行することができる。
【００８９】
以上のように、この発明の実施の形態１に従えば、ポートの機能設定用レジスタの内容を、Ｘ方向およびＹ方向で変換可能とし、何れの方向からもアクセス可能としている。したがって、ポート端子の機能設定を全端子並行して行なうことができ、機能設定を効率的に行なうことができる。また、このレジスタのビット位置に応じて、機能の優先順位を付けている。したがって、ポート各端子の設定される機能を、この優先順位に応じたビット位置に設定用ビット（ビット値“０”）を書込むことにより設定することができる。応じて、機能設定時に他の機能選択用レジスタの内容を考慮する必要がなくなり、プログラム効率が改善される。
【００９０】
［実施の形態２］
図１４は、この発明の実施の形態２に従う半導体集積回路装置（マイクロコンピュータ）の要部の構成を概略的に示す図である。この図１４に示す半導体集積回路装置の構成においては、変換機能付きレジスタ回路１０に対し、グルーピング情報テーブル７０と、デコード回路７２と、経路設定回路（ルータ）７４とが設けられる。
【００９１】
デコード回路７２は、グルーピング情報テーブル７０に格納されるレジスタアドレスをデコードする。経路設定回路（ルータ）７４は、デコード回路７２の出力信号に従って、この変換機能付きレジスタ回路１０のＸ方向データビットの転送経路を設定する。
【００９２】
この変換機能付きレジスタ回路１０においては、図１に示すメモリ３の特殊機能レジスタＳＦＲに格納されるポート出力機能選択レジスタの内容が、グルーピング情報テーブル７０に設定されるレジスタアドレスに従って格納される。従って、このグルーピング情報テーブル７０により、機能設定用のポート端子が決定され、複数のポートの、同様の機能が割り当てられるポート端子について並行して機能を設定する。これらのグルーピング情報テーブル７０、処理ユニット２、メモリ３、変換機能付きレジスタ回路１０は、それぞれ内部バス５により相互接続される。変換機能付きレジスタ回路１０は、実施の形態１と同様、Ｘ方向およびＹ方向からアクセス可能である。
【００９３】
このグルーピング情報テーブル７０には、各アドレスＺ０−Ｚ７の領域に、それぞれ並行して処理すべきポート端子に対応して配置されるレジスタを示すアドレスが格納される。図１に示すメモリ３内の特殊機能レジスタＳＦＲにおいて、各ポート端子ごとに、出力機能選択レジスタが設けられている場合、ユーザが、ポート端子に対応するレジスタのアドレスを指定する。図２に示す処理ユニット２の制御の下に、この特殊機能レジスタ領域ＳＦＲ内の指定されたアドレスを、グルーピング情報テーブル７０に順次書込む。処理ユニット２は、また、このグルーピング情報テーブル７０を参照して、このメモリ３内の対応のアドレスから、出力機能選択レジスタの内容を読出し、変換機能付きレジスタ回路１０にＹ方向に沿って順次格納する（Ｙ方向レジスタＹ０−Ｙ７に順次格納する）。実施の形態１の場合のように、各ポート端子に対応して機能選択レジスタが設けられている場合、容易に、グルーピング情報テーブル７０の内容に従って、ポート端子ごとのレジスタのデータを読出して格納することができる。
【００９４】
一方、特殊機能レジスタ領域ＳＦＲにおいて、各ポートごとに、ポート端子共通に機能選択レジスタ（Ａ１、…Ｅ）が設けられる構成の場合（図５のレジスタ回路の順次参照により機能設定を行う構成の場合）、これらの機能選択レジスタのビット位置がポート端子に対応する。この場合、図示しないＸ／Ｙ変換回路を利用して、データ配列変換を行なって、必要なポート端子のデータを読出す。
【００９５】
すなわち、通常、マイクロコンピュータにおいては、画像処理操作における画像の回転処理などのために、Ｘ／Ｙ変換回路が設けられる。処理ユニット２は、このグルーピング情報テーブル７０に格納されたアドレスを参照して、特殊機能レジスタ領域ＳＦＲから対応のレジスタの内容を読出し、Ｘ／Ｙ変換回路へ例えばＹ方向から格納する。次いで、テーブル７０に指定されたポート端子に対応するアドレスの内容を、このＸ／Ｙ変換回路のＸ方向から順次読出す。これにより、各ポート端子ごとの内容が読出され、変換機能付きレジスタ回路１０に、Ｙ方向から順次格納する。これにより、たとえばポートの端子に共通に、レジスタＡ１、…Ｅ等が設けられる構成の場合においても、図示しない処理データ配列変換用のＸ／Ｙ変換回路を利用することにより、出力機能選択のためのレジスタの内容を、変換機能付きレジスタ回路１０に格納することができる。
【００９６】
なお、グルーピング情報テーブル７０に格納されるレジスタアドレスとしては、出力機能選択を行なうポート端子が同じ属性を有する場合、または割当てられた出力機能が多いポート端子、または同じ用途において利用されるポート端子を指定するアドレスが一例として用いられる。同一用途のポート端子としては、たとえばクロック信号、送受信制御信号、シリアル送信信号を出力するポート端子、また、画像処理用途におけるＤ／Ａコンバータ（デジタル／アナログ変換器）およびＡ／Ｄコンバータ（アナログ／デジタル変換器）の出力信号および転送制御信号のポート端子、また、車載用途に用いられる三相モータ駆動制御信号の出力ポート端子およびタイマの出力ポート端子が考えられる。同一属性のポート端子としては、タイマの出力ポート、またセンサなどのインテリジェント信号を出力する端子が考えられる。ユーザが、一括して機能設定を行なうとプログラムの効率が改善されると考えられるポート端子の組に対応して設けられる出力機能選択レジスタのアドレスが、グルーピング情報デーブル７０に設定されればよい。
【００９７】
この実施の形態２においても、変換機能付きレジスタ回路１０において、Ｘ方向に沿ったビット位置に応じて、選択される機能の優先順位が規定されても良く、また、１つのＹ方向レジスタの複数ビットにより対応のポート端子の出力機能が設定されても良い。何れの構成においても、実施の形態１と同様にして、グルーピングされたポート端子に対し、容易に、機能設定を行なうことができる。
【００９８】
なお、図１４において、このグルーピング情報テーブル７０において、ポート端子Ｐ７＿０、Ｐ７＿１、Ｐ８＿０、Ｐ８＿１、Ｐ９＿０−Ｐ９＿３に対する出力機能選択レジスタが、１つのグループとして指定される場合を一例として示す。しかしながら、このグルーピングされるポート端子はこれに限定されない。上述の属性または関係が満たされるポート端子の出力機能選択レジスタが指定されればよい。
【００９９】
また、経路設定回路（ルータ）７４は、デコード回路７２の出力信号に従って変換機能付きレジスタ回路１０からのＸ方向レジスタの出力データの転送経路を設定する。この経路設定回路（ルータ）７４において、一例として、以下の構成が設けられる。各ポート端子に対するトライステートバッファが設けられる。デコード回路７２の出力信号に従って、対応のトライステートバッファがイネーブルされて、対応のポート端子に対し、出力機能選択ビットが転送される。この経路設定回路（ルータ）７４を利用することにより、テーブルに格納されるレジスタアドレスに対応するポート端子に対して確実に制御データを転送することができる。
【０１００】
各ポート端子に対して設けられるプログラマブル入出力回路については、先の実施の形態１と同様の構成が利用されればよい（実施の形態１における各ポート端子のプログラマブル入出力回路に対するイネーブル信号を、このグルーピング情報テーブル７０に格納されるレジスタアドレスに従って選択的に活性化する）。
【０１０１】
以上のように、この発明の実施の形態２に従えば、一括して出力機能設定を行うポート端子の情報をテーブルにユーザが設定可能とし、この設定情報に従って、対応の出力機能選択レジスタ回路の内容を変換機能付きレジスタ回路に格納している。従って、実施の形態１の効果に加えて、出力機能の選択を行なう制御データを格納するレジスタ回路を、ユーザが自由に設定することができる。これにより、設定されたポート端子に対するプログラム効率を改善することができ、また、機能設定操作を高速化することができる。
【０１０２】
なお、この変換機能付きレジスタ回路１０のビット幅は、Ｘ方向およびＹ方向それぞれ８ビットに設定されている。しかしながら、このビット幅としては、他のビット幅が用いられてもよく、入出力ポートの端子数、選択すべき出力機能の数に応じて、適当なビット幅が用いられればよい。また、グルーピング情報テーブル７０のアドレスも、８アドレスに限定されず、一括して操作するのが望ましいポート端子の数に応じて適切に定められればよい。
【０１０３】
［実施の形態３］
図１５は、この発明の実施の形態３に従う半導体集積回路装置の全体の構成を概略的に示す図である。図１５において、半導体集積回路装置１００は、複数の機能ブロック１０２ａ−１０２ｎを含む。インターフェイス（Ｉ／Ｆ）１０４が、これらの機能ブロック１０２ａ−１０２ｎに内部バス１０３を介して共通に結合され、外部装置との間のインターフェイスを取る。この半導体集積回路装置１００の内部動作の制御は、主制御回路１０７により行われる。
【０１０４】
機能ブロック１０２ａ−１０２ｎは、それぞれ、複数の機能を実現可能であり、変換機能付きレジスタ回路１１０に格納される多ビットデータ１０５ａ−１０５ｎにより、それぞれの実行すべき機能が設定される。
【０１０５】
機能設定データ１０５ａ−１０５ｎにおいて、選択機能に優先順位が存在する場合、これらの機能設定データ１０５ａ−１０５ｎを、先の実施の形態１および２と同様の構成を有する変換機能付きレジスタ回路１１０に格納する。
【０１０６】
すなわち、図１６に示すように、これらの機能設定データ１０５ａ−１０５ｎを、変換機能付きレジスタ回路１１０に、Ｙ方向から順次格納する。レジスタ回路１１０のＹ方向レジスタＹａ−Ｙｎに格納された機能設定データ１０５ａ−１０５ｎを、順次、Ｘ方向から読出し、機能ブロック１０２ａ−１０２ｎに、読出したデータをそれぞれ与える。この場合、一例として、Ｘ方向レジスタＸａ−Ｘｋにおいては、そのビット位置に応じて優先順位が設定された機能を示すビットが格納される。これにより、機能ブロック１０２ａ−１０２ｎにおいて、並列に、その機能を設定することができる。
【０１０７】
なお、この図１５に示す構成において、機能ブロック１０２ａ−１０２ｎがそれぞれ個々に、機能設定データ１０５ａ−１０５ｎに従ってその機能が設定されている。しかしながら、この機能設定データ１０５ａ−１０５ｎにより、たとえば、処理データのビット幅、動作クロック周波数の設定等の異なる動作特性が設定されてもよい。この場合、これらのデータ１０５ａ−１０５ｎにおいて、半導体集積回路装置１００における内部機能および動作特性が設定される（機能ブロックとしては、１つの処理回路ブロックが存在する構成となる）。
【０１０８】
また、機能／特性に優先順位が割当てられ、その優先順位がビット位置により決定されるのではなく、複数ビットの組合わせにより、機能／特性が決定される場合、変換機能付きレジスタ回路１１０のＸ方向レジスタ回路の必要なデータビットを順次読出して、各機能ブロックにおいて並行して、機能／特性の設定が行なわれても良い（実施の形態１の変更例参照）。
【０１０９】
また、変換機能付きレジスタ回路１１０に格納されるデータ１０５ａ−１０５ｎは、外部からシステム立ち上げ時に設定されても良い。またこれに代えて、この半導体集積回路装置内の図示しないメモリ（ＲＯＭ）の格納データが、システム立ち上げ時に主制御回路１０７の制御の下に転送されて格納されても良い。
【０１１０】
以上のように、この発明の実施の形態３に従えば、半導体集積回路装置内の内部動作／特性が、複数ビットデータの組合せにより設定される場合において、各特性／機能ごとのデータを、変換機能付きレジスタ回路に格納して、ビット配列を変換するように構成している。これにより、この半導体集積回路装置の内部動作特性／機能を容易に設定することができる。また、各特性／機能特定データブロックにおいても、そのビット位置に割当てられた機能／特性の優先順位に従ってビット値を設定すればよく、プログラムの効率が改善される。
【産業上の利用可能性】
【０１１１】
この発明に係る半導体集積回路装置は、一般の、マイクロコンピュータに適用することができる。特に、本発明に従うレジスタ回路の構成を、オーディオ、デジタルカメラ、通信機器、携帯機器、また車載マイコン等に対して用いられる１つのポート端子に複数の出力機能が割当てられるポート構成を有するマイクロコンピュータに対して適用することにより、ポート機能設定のためのプログラム効率が改善される。また、高速で、入出力ポートの機能を設定することができる。
【０１１２】
また、上述の用途に限定されない。この発明は、一般に、内部機能／動作特性が複数のデータにより設定される半導体集積回路装置に対して、この発明に従う一実施例として示された変換機能付きレジスタ回路の構成を適用することができる。この場合でも、各機能／特性の設定のためのプログラムが容易となり、また高速で、機能を設定することができる。
【図面の簡単な説明】
【０１１３】
【図１】この発明の実施の形態１に従う半導体集積回路装置の全体の構成を概略的に示す図である。
【図２】この発明の実施の形態１に従う半導体集積回路装置の１つのポートに関連する部分の構成を概略的に示す図である。
【図３】この発明の実施の形態１に従う半導体集積回路装置の１つのポート端子に関連する部分の構成を概略的に示す図である。
【図４】レジスタ回路の構成を概略的に示す図である。
【図５】図２に示すプログラマブル入出力ポートの各ポート端子の出力機能設定シーケンスを模式的に示す図である。
【図６】図１に示す変換機能付きレジスタ回路の構成を概略的に示す図である。
【図７】図６に示す１ビットレジスタの構成の一例を示す図である。
【図８】図６に示す変換機能付きレジスタ回路のアクセス態様を概略的に示す図である。
【図９】この発明の実施の形態１における各ポート端子の機能設定時の出力機能選択ビットの転送経路を概略的に示す図である。
【図１０】図９に示すプログラマブル入出力回路における機能選択制御部の構成を概略的に示す図である。
【図１１】この発明の実施の形態１に従う半導体集積回路装置の出力機能選択シーケンスを示すフロー図である。
【図１２】この発明の実施の形態１の変更例に従う出力機能選択レジスタのビットと対応の選択機能を示す図である。
【図１３】この発明の実施の形態１の変更例における変換機能付きレジスタ回路の出力ビットと対応のプログラマブル入出力回路との転送経路およびポート端子制御回路の構成を概略的に示す図である。
【図１４】この発明の実施の形態２に従う半導体集積回路装置の要部の構成を概略的に示す図である。
【図１５】この発明の実施の形態３に従う半導体集積回路装置の全体の構成を概略的に示す図である。
【図１６】図１５に示す変換機能付きレジスタ回路１１０を利用した際の各機能ブロックへのデータ転送経路を概略的に示す図である。
【符号の説明】
【０１１４】
１  半導体集積回路装置、Ｐ０−Ｐ９  ポート、１０  変換機能付きレジスタ回路、２  処理ユニット（コア回路）、３  メモリ、ＳＦＲ  特殊機能レジスタ領域、４  周辺機能回路、１８  方向レジスタ回路、２０  プログラマブル入出力ポート、２５  方向レジスタ、３２  機能選択回路、３４  出力回路、３６  入力回路、２２  タイマ、２４  三相モータ駆動信号発生回路、４０  Ｙアクセス回路、４２  Ｘアクセス回路、３０＿０−３０＿７  プログラマブル入出力回路、５０  出力機能選択レジスタ、６０  ポート端子制御回路、６２  シフトレジスタ、６４  デコーダ、６６  機能選択回路、６８  入力／出力回路、７０  グルーピング情報テーブル、７２  デコード回路、７４  経路設定回路、１００  半導体集積回路装置、１０２ａ−１０２ｎ  機能ブロック、１０５ａ−１０５ｎ  機能選択データ、１１０  変換機能付きレジスタ回路。
【図１】
2008103996.tif 000003
【図２】
2008103996.tif 000004
【図３】
2008103996.tif 000005
【図４】
2008103996.tif 000006
【図５】
2008103996.tif 000007
【図６】
2008103996.tif 000008
【図７】
2008103996.tif 000009
【図８】
2008103996.tif 000010
【図９】
2008103996.tif 000011
【図１０】
2008103996.tif 000012
【図１１】
2008103996.tif 000013
【図１２】
2008103996.tif 000014
【図１３】
2008103996.tif 000015
【図１４】
2008103996.tif 000016
【図１５】
2008103996.tif 000017
【図１６】
2008103996.tif 000018