(57)【要約】【課題】  プログラムの書き換えで異なる種類の周辺機能回路を搭載することができ、かつ量産性の高いマイクロコンピュータを提供する【解決手段】  マイクロコンピュータ１は、マスクＲＯＭであるＲＯＭ１２１と機能回路１２２とを含むＲＯＭモジュール１２を複数有する。機能回路１２２は、ＲＯＭ１２１に書き込まれたプログラムに従って動作する。この複数のＲＯＭ１２１に異なる種類の周辺機能動作用プログラムを書きこむことにより、複数のＲＯＭモジュール１２は、それぞれ異なる周辺機能回路として動作する。マスクＲＯＭであるＲＯＭ１２１へのプログラムの書き込みは、マイクロコンピュータ１のチップの製造時に行われる。【選択図】  図１
2005228256.tif 000002
【特許請求の範囲】
【請求項１】
ＲＯＭと機能回路とを含むモジュールを複数有し、前記モジュールの回路構成が総て同一であることを特徴とするマイクロコンピュータ。
【請求項２】
前記ＲＯＭに、前記機能回路の動作を制御するプログラムが書き込まれていることを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記プログラムが前記複数のモジュールのそれぞれで異なり、前記複数のモジュールがそれぞれ異なる機能動作を行うことを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項４】
前記機能回路がＣＰＵを有することを特徴とする請求項１乃至３のいずれか１項に記載のマイクロコンピュータ。
【請求項５】
前記複数のモジュールに含まれる前記ＲＯＭを個別にテストするテスト回路を有することを特徴とする請求項１乃至４のいずれか１項に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１チップの集積回路で構成されるマイクロコンピュータに関する。
【背景技術】
【０００２】
１チップの集積回路で構成されるマイクロコンピュータには、ＣＰＵの他にシリアルＩＯ（ＳＩＯ）やタイマなどの周辺機能回路が搭載されている。必要な周辺機能回路は、マイクロコンピュータの用途などによって異なる。そこで、例えば同じ製品シリーズの中でも、異なる周辺機能回路を組み込んだ複数の種類のマイクロコンピュータが製品化されてきた。
【０００３】
そのため、周辺機能回路をモジュール化しておき、製品によって搭載するモジュールを選択し、異なる種類のマイクロコンピュータとすることが行われている。
【０００４】
しかし、このような方法では、それぞれの種類のマイクロコンピュータを全く別の製品として設計および製造する必要があり、設計および製造に時間がかかるという問題があった。
【０００５】
そこで、製造期間の短縮を図るため、周辺機能回路をＰＬＡ（Programmable  Logic  Array）などのプログラマブルな回路として搭載し、このプログラマブルな回路を搭載したチップを予め一括して製造しておき、後でプログラマブルな回路の配線プログラムを書き換えることで異なる種類のマイクロコンピュータとすることが提案されている。（例えば、特許文献１参照。）。
【特許文献１】特開平１０−３１２３７１号公報  （第２ページ、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のようなＰＬＡなどのプログラマブルな回路を用いるマイクロコンピュータでは、製造後にそれぞれのチップにプログラムを書き込む必要があり、量産性に乏しいという問題があった。
【０００７】
そこで、本発明の目的は、プログラムの書き換えで異なる種類の周辺機能回路を搭載することができ、かつ量産性の高いマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、ＲＯＭと機能回路とを含むモジュールを複数有し、前記モジュールの回路構成が総て同一であることを特徴とするマイクロコンピュータが提供される。
【発明の効果】
【０００９】
本発明によれば、機能回路の動作を制御するプログラムを製造時にＲＯＭに書き込むので、異なる種類のマイクロコンピュータを量産性高く製造することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施例を図面を参照して説明する。
【実施例】
【００１１】
図１は、本発明の実施例に係るマイクロコンピュータの構成の例を示すブロック図である。
【００１２】
マイクロコンピュータ１は、ＣＰＵ１１と、４つのＲＯＭモジュール１２と、ＲＯＭテスト回路１３を有する。
【００１３】
ここで、ＲＯＭモジュール１２とは、ＲＯＭ１２１と、このＲＯＭ１２１に書き込まれたプログラムに従って動作する機能回路１２２とを含むモジュールのことを指す。なお、このＲＯＭモジュール１２に含まれるＲＯＭ１２１は、チップイネーブル信号が入力される端子ＣＥと、アドレス信号が入力される端子Ａと、データが出力される端子Ｄとを有している。
【００１４】
ＲＯＭテスト回路１３は、ＲＯＭモジュール１２に含まれるＲＯＭ１２１を単体でテストするために設けられている回路である。ＲＯＭテスト回路１３は、外部から入力されるＲＯＭ指定信号により指定された１つのＲＯＭ１２１にチップイネーブル信号を送るとともに、その指定されたＲＯＭ１２１にアドレス信号を入力し、そのＲＯＭ１２１から出力されるデータをマイクロコンピュータ１の外部へ出力する。これにより、ＲＯＭ１２１に書き込まれているデータの内容をマイクロコンピュータ１の外部で知ることができる。
【００１５】
次に、ＲＯＭモジュール１２について説明する。
【００１６】
図２は、ＲＯＭモジュール１２に含まれる機能回路１２２のさらに詳細な構成の例を示すブロック図である。
【００１７】
機能回路１２２は、命令解読部１２２１と、制御部１２２２と、演算部１２２３と、レジスタ１２２４と、カウンタ１２２５とを含む。
【００１８】
命令解読部１２２１は、ＲＯＭ１２１から読み出されたプログラムが入力されると、そのプログラムに含まれる命令を解読して、制御部１２２２へ命令を出力する。
【００１９】
制御部１２２２は、命令解読部１２２１から出力された命令に従って、演算部１２２３、レジスタ１２２４、およびカウンタ１２２５へ、その動作を制御する制御信号およびデータを出力する。
【００２０】
演算部１２２３は、制御部１２２２から出力された制御信号に従って、制御部１２２２から出力されたデータに対する演算処理を行う。
【００２１】
レジスタ１２２４は、制御部１２２２から出力された制御信号に従って、制御部１２２２から出力されたデータの格納や、演算部１２２３で実行された演算結果の保持などを行う。
【００２２】
カウンタ１２２５は、制御部１２２２から出力された制御信号に従って、演算部１２２３やレジスタ１２２４の動作タイミングを設定するためなどのカウント動作を行う。その初期値として、制御部１２２２から出力されたデータが用いられたりする。
【００２３】
上述したような構成の機能回路１２２を有するＲＯＭモジュール１２は、ＲＯＭ１２１に書き込むプログラムによって、さまざまな周辺機能回路を実現することができる。
【００２４】
図３は、ＲＯＭモジュール１２を用いて４つの周辺機能回路を搭載した例を示すブロック図である。
【００２５】
マイクロコンピュータ１Ａは、図１に示したマイクロコンピュータ１に搭載されている４つのＲＯＭモジュール１２を、それぞれのＲＯＭ１２１に異なるプログラムを書き込んで、ＳＩＯ機能を有するＲＯＭモジュール１２Ａ、ＵＡＲＴ（Universal  Asynchronous  Receiver  Transmitter）機能を有するＲＯＭモジュール１２Ｂ、ＴＩＭＥＲ機能を有するＲＯＭモジュール１２Ｃ、およびＰＷＭ（Pulse  Width  Modulation）機能を有するＲＯＭモジュール１２Ｄとしたものである。
【００２６】
この中で、例えば、ＳＩＯ機能を有するＲＯＭモジュール１２Ａでは、外部へ転送するデータの格納および外部から受信するデータの保管にレジスタ１２２４を用い、転送タイミングをカウンタ１２２５によりコントロールする。このとき、ＲＯＭ１２１に書き込まれたプログラムに転送周波数が規定されており、これを命令解読部１２２１が解読して制御部１２２２を通じてカウンタ１２２５のカウント値を設定している。
【００２７】
このような本実施例におけるＲＯＭ１２１をマスクＲＯＭとして形成し、マイクロコンピュータ１に搭載したい周辺機能のプログラムデータに応じたマスクＲＯＭ用のガラスマスクを製作すると、マイクロコンピュータ１のチップの製造時点でマイクロコンピュータ１に所望の周辺機能回路が搭載される。
【００２８】
また、マスクＲＯＭ形成部のガラスマスクを差し替えるのみで、異なる種類の周辺機能回路を搭載した複数種類のマイクロコンピュータチップを容易に製造することができる。
【００２９】
なお、本実施例ではＲＯＭモジュール１２を４つ搭載する例を示したが、１チップに搭載するＲＯＭモジュール１２の数は４つに限るものではなく、必要に応じて任意の数のＲＯＭモジュール１２を搭載することができる。
【００３０】
このとき、マイクロコンピュータの種類によって、多くの周辺機能回路を必要とするものもあれば、少しの周辺機能回路しか必要としないものもある。このような場合、多くのＲＯＭモジュールを搭載したチップを用意しておけば両方に対応できる。ただし、少数の周辺機能回路しか必要としない場合、使用されないＲＯＭモジュールが生じる。そこで、このようなむだが生じないようにするには、搭載するＲＯＭモジュールの数が異なるチップを複数用意しておき、この中から必要とする周辺機能回路の数に適した数のＲＯＭモジュールを有するチップを選択するようにすればよい。
【００３１】
また、本実施例のマイクロコンピュータ１では、チップ製造時のテストを容易にすることもできる。
【００３２】
すなわち、本実施例のチップでは、回路をＲＯＭモジュール１２とそれ以外の回路に分けることができる。このように回路を分けたとき、ＲＯＭモジュール１２で実現する機能が異なってもＲＯＭモジュール１２以外の回路はどのチップでも同一である。したがって、ＲＯＭモジュール１２とそれ以外の回路に分けてテストをすれば、ＲＯＭモジュール１２以外の回路のテストはどのチップでも共通のテストで済む。
【００３３】
また、ＲＯＭモジュール１２については、予めＲＯＭモジュール１２単体のテストで、ＲＯＭ１２１に書き込んだプログラムにより所望の周辺機能が得られることを確認しておけば、チップのテストでは、ＲＯＭテスト回路１３によりＲＯＭ１２１書き込まれたデータ（すなわち、プログラム）が正しいかどうかを確認するだけでよい。
【００３４】
これにより、搭載されている周辺機能が異なっているチップでも、共通のテストルーチンでテストできる。すなわち、搭載されている周辺機能が異なっているチップのそれぞれに別のテストパターンを用意する必要がなく、チップ製造時のテストを容易に行うことができる。
【００３５】
なお、本実施例におけるＲＯＭモジュール１２を図４に示すＲＯＭモジュール２２に置き換えてもよい。ＲＯＭモジュール２２は機能回路２２２に専用ＣＰＵ２２２１を含むものである。
【００３６】
図４は、ＲＯＭモジュール２２の構成の例を示すブロック図である。
【００３７】
ＲＯＭモジュール２２は、ＲＯＭ１２１と、機能回路２２２とを含む。
【００３８】
ＲＯＭ１２１には、ＲＯＭモジュール１２と同じく、機能回路２２２の動作を規定するプログラムが書き込まれる。
【００３９】
機能回路２２２１は、専用ＣＰＵ２２２１と、カウンタ２２２２と、ＲＡＭ２２２３とを有する。
【００４０】
専用ＣＰＵ２２２１は、ＲＯＭモジュール２２の動作に特化したＲＯＭモジュール２２専用の小規模なＣＰＵであり、ＲＯＭ１２１から読み出されたプログラムを解読する命令解読機能と、演算機能と、カウンタ２２２２およびＲＡＭ２２２３を制御する制御機能とを有している。また、カウンタ２２２２およびＲＡＭ２２２３との間で、データの受け渡しを行う。
【００４１】
この専用ＣＰＵ２２２１が、ＲＯＭ１２１から読み出されたプログラムに従って演算を行い、また、カウンタ２２２２あるいはＲＡＭ２２２３との間でデータの送受を行うことにより、ＲＯＭモジュール２２は所望の周辺機能を実現する。
【００４２】
このような本実施例によれば、マスクＲＯＭのマスクを替えることにより、異なる周辺機能回路を搭載する異なる種類のマイクロコンピュータを容易に量産することが可能である。また、製造時のマイクロコンピュータチップのテストを容易に行うことができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施例に係るマイクロコンピュータの構成の例を示すブロック図。
【図２】本発明の実施例に係るマイクロコンピュータで使用するＲＯＭモジュールの構成の例を示すブロック図。
【図３】図１に示すＲＯＭモジュールによる周辺機能回路を搭載した例を示す本発明の実施例に係るマイクロコンピュータのブロック図。
【図４】本発明の実施例に係るマイクロコンピュータで使用するＲＯＭモジュールの別の構成の例を示すブロック図。
【符号の説明】
【００４４】
１、１Ａ  マイクロコンピュータ
１１  ＣＰＵ
１２、１２Ａ、１２Ｂ、１２Ｃ、１２Ｄ、２２  ＲＯＭモジュール
１３  ＲＯＭテスト回路
１２１  ＲＯＭ
１２２、２２２  機能回路
１２２１  命令解読部
１２２２  制御部
１２２３  演算部
１２２４  レジスタ
１２２５、２２２２  カウンタ
２２２１  専用ＣＰＵ
２２２３  ＲＡＭ
【図１】
2005228256.tif 000003
【図２】
2005228256.tif 000004
【図３】
2005228256.tif 000005
【図４】
2005228256.tif 000006