JP2010282284A - Microcomputer - Google Patents
Microcomputer Download PDFInfo
- Publication number
- JP2010282284A JP2010282284A JP2009133213A JP2009133213A JP2010282284A JP 2010282284 A JP2010282284 A JP 2010282284A JP 2009133213 A JP2009133213 A JP 2009133213A JP 2009133213 A JP2009133213 A JP 2009133213A JP 2010282284 A JP2010282284 A JP 2010282284A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- control unit
- bus control
- memory
- internal
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、半導体集積回路であるマイクロコンピュータに係り、特にバス制御に関するものである。 The present invention relates to a microcomputer which is a semiconductor integrated circuit, and more particularly to bus control.
半導体集積回路であるマイクロコンピュータは、機器制御用途に広く用いられる。また、マイクロコンピュータに装着されるメモリは、よりメモリ容量の大きいものやメモリアクセスが高速にできるものなど様々な種類がある。例えば、メモリの種類として、SRAM(Static Random Access Memory)や、フラッシュメモリ、DRAM(Dynamic Random Access Memory)等が挙げられる。 A microcomputer which is a semiconductor integrated circuit is widely used for device control. In addition, there are various types of memories mounted on the microcomputer, such as those having a larger memory capacity and those capable of high-speed memory access. For example, SRAM (Static Random Access Memory), flash memory, DRAM (Dynamic Random Access Memory), etc. are mentioned as a kind of memory.
これらがバスに接続された場合におけるバス制御には、各メモリにおける制御信号、アドレス、あるいはアクセス時間等が異なるために、接続されるメモリに応じたインタフェース仕様が求められる。 When these are connected to the bus, control specifications, addresses, access times, and the like in each memory are different, so interface specifications corresponding to the connected memory are required.
特に、新たな種類のメモリが提供された場合には、新たなインタフェース仕様が求められることになる。 In particular, when a new type of memory is provided, a new interface specification is required.
これに対応するために、マイクロコンピュータのアドレス空間を複数のエリアに分割し、エリア毎にインタフェースを選択可能とすることが可能である。 In order to cope with this, it is possible to divide the address space of the microcomputer into a plurality of areas and select an interface for each area.
具体的には、バス制御として複数のインタフェース仕様を実装する。これは、ステートマシンなどとして実装される。 Specifically, multiple interface specifications are implemented as bus control. This is implemented as a state machine or the like.
そして、バスマスタとなる例えばCPUから出力されるアドレスと、ユーザの設定とによってどのステート遷移をとるかを選択することになる。 Then, which state transition is to be taken is selected depending on, for example, an address output from the CPU serving as the bus master and a user setting.
実装するインタフェースが増加すると、ステートマシン等の論理が複雑になり、開発期間が長くなるという問題がある。 When the number of interfaces to be mounted increases, there is a problem that logic such as a state machine becomes complicated and a development period becomes long.
また、一般的に、n個のインタフェースを別々に開発するよりも、n個のインタフェースを全て実装した1つの論理を開発する方が、非常に複雑になり易い。 In general, it is much more complicated to develop a single logic in which all n interfaces are mounted than to develop n interfaces separately.
また、アドレス空間の各エリアには、通常1種類のインタフェースを設定するため、複数のインタフェース仕様を実装していても、実際には使われないインタフェースも考えられるため無駄があるという問題がある。 In addition, since one type of interface is normally set in each area of the address space, there is a problem that even if a plurality of interface specifications are implemented, an interface that is not actually used can be considered, which is wasteful.
また、1つのインタフェースに対しても、動作周波数に応じて、最適な実装形態が異なる場合がある。例えば、動作周波数が高ければ、レイテンシよりもFF(Flip Flop)間の論理段数を小さくすることが必要になる。これを動作周波数が低い領域で実行すると、レイテンシが増加する影響が相対的に大きくなる。 Also, the optimal mounting form may differ for one interface depending on the operating frequency. For example, if the operating frequency is high, the number of logical stages between FFs (Flip Flop) needs to be smaller than the latency. If this is performed in a region where the operating frequency is low, the effect of increasing the latency becomes relatively large.
これらに鑑みて、例えば、プログラム可能なFPGA(Field Programmable Gate Array)あるいは、PLD(Programmable Logic Array)を用いて新たなインタフェース仕様に対応することも考えられる。 In view of these, for example, it is conceivable to support a new interface specification using a programmable FPGA (Field Programmable Gate Array) or PLD (Programmable Logic Array).
例えば、特開2004−56716号公報においては、FPGAあるいは、PLDがチップに組み込まれた構成が開示されており、内蔵されたフラッシュメモリからコンフィグレーションデータを読み出して、FPGAあるいはPLDに論理回路を構築する方式が開示されている。 For example, Japanese Patent Laid-Open No. 2004-56716 discloses a configuration in which an FPGA or a PLD is incorporated in a chip, reads configuration data from the built-in flash memory, and constructs a logic circuit in the FPGA or PLD. The method to do is disclosed.
しかしながら、特開2004−56716号公報においては、フラッシュメモリに格納されたコンフィグレーションデータをコンフィグ回路が読み出してプログラマブルロジック回路に転送することにより、論理回路を構築する方式が示されているが、外付けのメモリに対して、新たなインタフェース仕様を提供する方式については開示されていない。 However, Japanese Patent Application Laid-Open No. 2004-56716 discloses a method of constructing a logic circuit by reading configuration data stored in a flash memory and transferring the configuration data to a programmable logic circuit. A method for providing a new interface specification for the attached memory is not disclosed.
また、特開平6−75849号公報においては、外付けのメモリの種類を指示する判断信号に応じて、内部のプログラマブル・ロジックアレイに対応するメモリの制御回路を実装する論理を決めることが開示されている。 Japanese Patent Laid-Open No. 6-75849 discloses that a logic for mounting a memory control circuit corresponding to an internal programmable logic array is determined in accordance with a determination signal instructing the type of external memory. ing.
しかしながら、特開平6−75849号公報においては、パワーオン後、すなわち、プログラマブル・ロジックアレイが初期化された状態のときに、MPU(Micro Processing Unit)により特定端子から入力されたコンフィグレーションデータをバスを介して転送するとの記載があるが、内部のプログラマブル・ロジックアレイを構築するデータが格納されているプログラムROMにアクセスするための手段が開示されていない。 However, in Japanese Patent Laid-Open No. 6-75849, after power-on, that is, when the programmable logic array is initialized, configuration data input from a specific terminal by an MPU (Micro Processing Unit) is used as a bus. However, there is no disclosure of means for accessing a program ROM in which data for constructing an internal programmable logic array is stored.
すなわち、最初の初期化の状態において、プログラマブル・ロジックアレイが構成されていないためプログラムROMを制御する制御回路が実際には別に必要となると考えられるが、どのような構成とするのが適切であるかについては何ら考慮されていない。 That is, in the initial initialization state, since a programmable logic array is not configured, it is considered that a separate control circuit for controlling the program ROM is actually required, but any configuration is appropriate. There are no considerations.
したがって、上記の文献には、新たなインタフェース仕様に対応することが可能なマイクロコンピュータについては開示されていない。 Therefore, the above document does not disclose a microcomputer that can cope with a new interface specification.
本発明は、上記のような問題を解決するためになされたものであって、新たなインタフェース仕様に対応することが可能なマイクロコンピュータを提供することを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a microcomputer that can cope with a new interface specification.
本発明の一実施例に従うマイクロコンピュータは、制御部と、構築データを記憶する内部メモリと、内部メモリと接続された内部バスと、バスコントローラと、外部バスインタフェースとを備える。バスコントローラは、内部バスを介して内部メモリをアクセスするバス制御部と、プログラム可能な論理部とを含む。制御部は、内部メモリに記憶された構築データを読み出して、構築データに基づいて、プログラム可能な論理部上に、外部バスインタフェースを介して接続される外部メモリをアクセスするためのバス制御機能を構築する。 A microcomputer according to an embodiment of the present invention includes a control unit, an internal memory for storing construction data, an internal bus connected to the internal memory, a bus controller, and an external bus interface. The bus controller includes a bus control unit that accesses an internal memory via an internal bus, and a programmable logic unit. The control unit reads the construction data stored in the internal memory, and has a bus control function for accessing the external memory connected via the external bus interface on the programmable logic unit based on the construction data. To construct.
本発明の一実施例によれば、マイクロコンピュータは、内部メモリをアクセスするバス制御部により、構築データを読み出して、プログラム可能な論理部上に外部メモリをアクセスするためのバス制御機能を構築するため新たなインタフェース仕様に対応することができる。 According to one embodiment of the present invention, the microcomputer reads the construction data by the bus control unit that accesses the internal memory, and constructs a bus control function for accessing the external memory on the programmable logic unit. Therefore, it can cope with a new interface specification.
以下において、本発明の実施の形態について図面を参照しながら詳細に説明する。なお図中における同一符号は、同一または相当部分を示すものとする。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, the same code | symbol in a figure shall show the same or an equivalent part.
(実施の形態1)
図1を用いて、本発明の実施の形態1に従うマイクロコンピュータ1等の概略構成について説明する。
(Embodiment 1)
A schematic configuration of microcomputer 1 and the like according to the first embodiment of the present invention will be described with reference to FIG.
図1を参照して、本発明の実施の形態に従うマイクロコンピュータ1は、CPU(Central Processing Unit)10と、内部CPUバス12と、内部周辺バス14と、内部メモリバス16と、DMAC(Direct Memory Access Controller)15と、周辺機能20と、バスコントローラ30と、ROM(Read-Only Memory)50と、RAM(Random Access Memory)55と、外部バスインタフェース60とを含む。
Referring to FIG. 1, a microcomputer 1 according to an embodiment of the present invention includes a CPU (Central Processing Unit) 10, an
また、CPU10は、内部CPUバス12を介してDMAC15およびバスコントローラ30と接続され、マイクロコンピュータ1全体を管理する。
The
DMAC15は、CPU10からのDMA転送要求に応じてマイクロコンピュータ1内のDMA転送を制御する。
The
バスコントローラ30は、接続されている内部CPUバス12、内部周辺バス14、内部メモリバス16および外部バスインタフェース60を介する外部バス62を管理する。各バスは、アドレスバス線、データバス線、データ制御信号線等の少なくとも1つを含む。
The
ROM50は、ブートROMであり起動用のプログラム等が格納されている。また、RAM55は、CPU10のワーク領域として用いられる。
The
外部バスインタフェース60は、外部バス62と接続され、バスコントローラ30と外部バス62と接続されたメモリとの間のデータの授受を実行する。
The
バスコントローラ30は、バス管理部40と、バス制御部31とを含む。
バス管理部40は、内部CPUバスI/F42と、内部周辺バスI/F44と、調停制御部46とを含む。
The
The
内部CPUバスI/F42は、内部CPUバス12と接続され、内部CPUバス12を介してCPU10との間のデータの授受を実行する。
The internal CPU bus I /
内部周辺バスI/F44は、内部周辺バス14と接続され、内部周辺バス14を介して周辺機能20あるいはDMAC15との間のデータの授受を実行する。
The internal peripheral bus I /
調停制御部46は、バスの使用状態を監視し、内部CPUバス12、内部周辺バス14、内部メモリバス16、外部バス62に関して、どのデバイスにバスの使用権を与えるのかを決定し、バス使用権の調停を行っている。
The
バス制御部31は、アドレスデコーダ32と、固定バス制御部34と、可変バス制御部35と、ロック機構38と、マルチプレクサ36とを含む。
The
アドレスデコーダ32は、例えばCPU10あるいは、DMAC15からのアドレス指示に対してデコード処理して、後述する固定バス制御部34あるいは可変バス制御部35を起動する。
The
固定バス制御部34は、マルチプレクサ36を介して内部メモリバス16と接続されたROM50あるいは、RAM55を制御する。
The fixed
一方、可変バス制御部35は、マルチプレクサ36および外部バスインタフェース60を介して、外部バス62と接続されたFLASH/ROM70、SRAM(Static Random Access Memory)80、あるいはSDRAM(Synchronous DRAM)90の少なくとも1つを制御する。
On the other hand, the variable
マルチプレクサ36は、固定バス制御部34と内部メモリバス16との接続あるいは、可変バス制御部35と外部バスインタフェース60との接続を切り替える。マルチプレクサ36は、アドレスデコーダ32のデコード処理した処理結果に基づいて上記接続を切り替える。
The
本実施の形態においては、可変バス制御部35は、プログラム可能なPLD(Programmable Logic Device)で構成されているものとする。なお、本例においては、PLDを用いた構成について説明するが、PLDに限られず、FPGA(Field Programmable Gate Array)等を用いることも可能である。
In the present embodiment, the variable
図2を用いて、マイクロコンピュータ1のアドレス空間について説明する。
図2(A)を参照して、ここでは、4GBのアドレス空間(H’00000000〜H’FFFFFFFF)が設けられている場合が示されている。このアドレス空間は、バスコントローラにより制御されている。
The address space of the microcomputer 1 will be described with reference to FIG.
Referring to FIG. 2A, here, a case where a 4 GB address space (H'00000000 to H'FFFFFFFF) is provided is shown. This address space is controlled by the bus controller.
エリア0の一部の領域には、内部ROMが割り当てられ、エリア1が可変バス制御用に割り当てられている。
An internal ROM is allocated to a partial area of
また、エリア2の一部の領域には、内部RAMおよび内部I/Oレジスタが割り当てられている。内部ROM、内部RAMおよび内部I/Oレジスタのアドレスは、予め定められているものとする。
In addition, an internal RAM and an internal I / O register are allocated to a part of the
図2(B)を参照して、ここでは、上記のアドレス空間のエリア1をさらに2つに分割した場合が示されている。具体的には、エリア1a,1bとに分けられた場合が示されている。例えば、エリア1a,1bに対応して、外部バスと接続される2つのメモリデバイスをそれぞれ割り当てるようにすることが可能である。 Referring to FIG. 2B, here, a case where the area 1 of the address space is further divided into two is shown. Specifically, the case where it is divided into areas 1a and 1b is shown. For example, two memory devices connected to the external bus can be assigned to areas 1a and 1b, respectively.
図3を用いて、PLD(Programmable Logic Device)100の構成について説明する。 The configuration of a PLD (Programmable Logic Device) 100 will be described with reference to FIG.
図3を参照して、PLD100は、LUT(Look Up Table)アレイ120およびFF(Flip Flop)クラスタ130からなるブロック110をインターコネクト部140を介して互いに接続した構成からなる。
Referring to FIG. 3,
インターコネクト部140は、PLD100外部とブロック110との間およびブロック110同士の間に介在し、これらの間で信号を入出力させるものである。
The
図4を用いて、図3のLUTアレイ120のアーキテクチャの具体例について説明する。
A specific example of the architecture of the
図4を参照して、LUTアレイ120は複数個のLUT論理ユニット121を2次元アレイとして行列状に高密度に集積したものである。
Referring to FIG. 4,
図3において、FFクラスタ130は、複数個のFF論理ユニットを1次元アレイとして列状に配置したものである。
In FIG. 3, the
図5を用いて、LUT論理ユニット121について説明する。
図5を参照して、LUT論理ユニット121は、4bitのコンフィグレーションメモリと4to1マルチプレクサとからなる2入力1出力のLUTとなっている。
The LUT
Referring to FIG. 5, the
LUTは、この4bitのコンフィグレーションメモリの値を設定することにより、論理関数を設定できる。 The LUT can set a logical function by setting the value of the 4-bit configuration memory.
そして、4bitのコンフィグレーションメモリ(MEM1〜MEM4)の設定値に応じた論理関数に基づいて、入力値A,Bに対する出力値Yが決定される。 The output value Y for the input values A and B is determined based on a logical function corresponding to the set value of the 4-bit configuration memory (MEM1 to MEM4).
LUTアレイ120では、LUT論理ユニット121間には配線スイッチ(図示しない)が配置され、LUT論理ユニット121同士を接続している。LUT論理ユニット121間の接続は、この配線スイッチで切り替えられる。この配線スイッチとしては、例えばPMOSやNMOS等を用いて構成し、ゲート電圧を制御することによりLUT論理ユニット121間を導通または遮断すればよい。
In the
このように、LUT論理ユニット121および配線スイッチは、内蔵するコンフィグレーションメモリを変更することにより論理や接続を変更できるので、LSI製造後に回路の再構成が可能となる。
As described above, the
そして、本実施の形態においては、上記PLDのコンフィグレーションメモリに後述する可変バス制御論理情報を格納(マッピング)することにより可変バス制御部を構築するものとする。 In this embodiment, the variable bus control unit is constructed by storing (mapping) variable bus control logic information described later in the configuration memory of the PLD.
次に、外部バスと接続されるメモリの制御タイミングについて説明する。
図6を用いて、外部バスインタフェースのSRAMの制御タイミングについて説明する。
Next, the control timing of the memory connected to the external bus will be described.
The control timing of the external bus interface SRAM will be described with reference to FIG.
図6(A)を参照して、ここでは、外部メモリがSRAMの場合のリードの場合が示されている。 Referring to FIG. 6A, here, a case of reading when the external memory is an SRAM is shown.
ここでは、バスクロックSDφが示されており、2周期で1バスサイクルであるものとする。 Here, the bus clock SDφ is shown, and it is assumed that one cycle is two cycles.
具体的には、外部バス62に接続された外部メモリに対する読出アドレスAmが制御信号と合わせてバスコントローラ30に対して入力される。アドレスAmは、アドレスデコーダ32においてデコード処理される。そして、デコード結果に基づいて、対応する外部メモリに割り当てられたエリア、例えばエリア1に対応したチップセレクト信号CS_n、リードイネーブル信号RD_nがアサートされる。SRAMからの読出データD15−D8/D7−D0は、T2サイクルに有効となる。
Specifically, the read address Am for the external memory connected to the
図6(B)を参照して、ここでは、外部メモリがSRAMの場合のライトの場合が示されている。 Referring to FIG. 6B, here, a case of writing when the external memory is an SRAM is shown.
ここでは、リードの場合と同様に、外部バス62に接続された外部メモリに対する書込アドレスAmが制御信号と合わせてバスコントローラ30に対して入力される。アドレスAmは、アドレスデコーダ32においてデコード処理される。そして、デコード結果に基づいて、対応する外部メモリに割り当てられたエリア、例えばエリア1に対応したチップセレクト信号CS_n、ライトイネーブル信号WR_nがアサートされる。SRAMへの書込データD15−D8/D7−D0は、T1サイクルの立ち下がりから有効となる。
Here, as in the case of reading, the write address Am for the external memory connected to the
図7を用いて、外部バスインタフェースのSDRAMの制御タイミングについて説明する。 The control timing of the SDRAM of the external bus interface will be described with reference to FIG.
図7(A)を参照して、ここでは、外部メモリがSDRAMの場合のリードの場合が示されている。 Referring to FIG. 7A, here, a case of reading when the external memory is an SDRAM is shown.
ここでは、バスクロックSDφが示されており、SDRAMは、バスクロックに同期して動作する。 Here, a bus clock SDφ is shown, and the SDRAM operates in synchronization with the bus clock.
具体的には、Td1サイクルにおいて、外部バス62に接続された外部メモリに対するロウアドレスが制御信号と合わせてバスコントローラ30に対して入力される。具体的には、ロウアドレスストローブ信号RAS_nがアサートされ、その間にロウアドレスが取り込まれる。また、その際に、リード/ライト指定信号WE_nがアサートされる。また、コラムアドレスストローブ信号CAS_nは、ネゲートされている。
Specifically, in the Td1 cycle, the row address for the external memory connected to the
このRAS、CAS、WEの組合せに基づいてコマンドが発行され、全バンクプリチャージを実行するPALLコマンドが発行される。 A command is issued based on the combination of RAS, CAS, and WE, and a PALL command for executing all bank precharges is issued.
そして、次に、Td2サイクルにおいて、ロウアドレスストローブ信号RAS_nがアサートされ、また、コラムアドレスストローブ信号CAS_nおよびリード/ライト指定信号WE_nは、ネゲートである場合に、アクティブコマンドACTVが発行される。 Next, in the Td2 cycle, the row address strobe signal RAS_n is asserted, and the active command ACTV is issued when the column address strobe signal CAS_n and the read / write designation signal WE_n are negated.
そして、次に、Td3サイクルは、NOP状態である。
次に、Td4サイクルにおいて、コラムアドレスストローブ信号CAS_nがアサートされる。その間に、コラムアドレスが取り込まれる。また、リード/ライト指定信号WE_nがアサートされる。
Next, the Td3 cycle is in the NOP state.
Next, in the Td4 cycle, the column address strobe signal CAS_n is asserted. Meanwhile, the column address is fetched. Further, the read / write designation signal WE_n is asserted.
このRAS、CAS、WEの組合せに基づいて、ライトコマンドWRITEが発行される。 A write command WRITE is issued based on the combination of RAS, CAS, and WE.
そして、SDRAMへの書込データD15−D8/D7−D0は、Td4サイクルに有効となる。 Then, the write data D15-D8 / D7-D0 to the SDRAM becomes valid in the Td4 cycle.
図8を用いて、SDRAMの状態遷移図について説明する。
図8を参照して、リフレッシュ状態ST2、あるいは、パワーオン状態ST4となった後、全バンクプリチャージコマンドが発行される(状態ST6)。これにより、例えば、バンクA,Bの2つのバンクがSDRAMに設けられている場合に、両方のバンクがプリチャージされる。
A state transition diagram of the SDRAM will be described with reference to FIG.
Referring to FIG. 8, after entering refresh state ST2 or power-on state ST4, an all-bank precharge command is issued (state ST6). Thereby, for example, when two banks A and B are provided in the SDRAM, both banks are precharged.
そして、次に、バンクAのアクティブコマンドが発行される(状態ST8)。
そして、バンクAのリード/ライトコマンドが発行される(状態ST10)。これにより、バンクAのリードあるいは、ライト動作が実行される。
Then, an active command for bank A is issued (state ST8).
Then, a read / write command for bank A is issued (state ST10). As a result, a read or write operation of bank A is executed.
そして、次に、ページ変更の処理が求められた場合には、バンクAのプリチャージコマンドが発行される(状態ST12)。 Next, when page change processing is requested, a precharge command for bank A is issued (state ST12).
そして、バンクAのアクティブコマンドが発行される(状態ST14)。そして、再び、状態ST10に戻る。 Then, an active command for bank A is issued (state ST14). And it returns to state ST10 again.
一方、状態ST10において、バンク変更の処理が求められた場合には、次に、バンクBのアクティブコマンドが発行される(状態ST16)。 On the other hand, if the bank change process is requested in the state ST10, then the active command for the bank B is issued (state ST16).
そして、バンクBのリード/ライトコマンドが発行される(状態ST18)。これにより、バンクBのリードあるいは、ライト動作が実行される。 Then, a read / write command for bank B is issued (state ST18). Thereby, the read or write operation of the bank B is executed.
そして、次に、ページ変更の処理が求められた場合には、バンクBのプリチャージコマンドが発行する(状態ST20)。 Next, when page change processing is requested, a precharge command for bank B is issued (state ST20).
そして、再び、状態ST16に戻る。
一方、状態ST18において、バンク変更の処理が求められた場合には、状態ST12に進む。以降の処理については、同様である。
And it returns to state ST16 again.
On the other hand, when the bank change process is requested in the state ST18, the process proceeds to the state ST12. The subsequent processing is the same.
したがって、図6〜図8に示されるようにSDRAMに対するアクセスは、SRAMに対するアクセスと異なり、コマンドを用いたアクセスシーケンスが必要となる。 Therefore, as shown in FIGS. 6 to 8, access to the SDRAM requires an access sequence using a command, unlike access to the SRAM.
本発明の実施の形態1においては、ROM50あるいは、RAM55に用いられるSRAMのような簡単なアクセスシーケンスについては、固定バス制御部34でアクセスするものとする。
In the first embodiment of the present invention, a simple access sequence such as the SRAM used in the
一方、SDRAMのような複雑なプロトコル(アクセスシーケンス)が必要な外部メモリについては、可変バス制御部35でアクセスするものとする。
On the other hand, an external memory that requires a complicated protocol (access sequence) such as SDRAM is accessed by the variable
図9を用いて、本発明の実施の形態に従う電源投入時のバスコントローラ30の設定について説明する。
Using FIG. 9, setting of
図9を参照して、まず、パワーオンリセットが有るかどうかを判断する(ステップS2)。具体的には、電源投入に従って、図示しないパワーオンリセット回路は、パワーオンリセット信号を出力する。CPU10は、当該信号を検知したかどうかを判断し、当該信号を検知した場合には、電源投入があったものと判断する。
Referring to FIG. 9, it is first determined whether or not there is a power-on reset (step S2). Specifically, as power is turned on, a power-on reset circuit (not shown) outputs a power-on reset signal. The
そして、次に、CPU10は、リセット処理を実行する(ステップS4)。具体的には、初期値をリセットするとともに、バスの接続状況の確認等の初期化処理を実行する。
Next, the
そして、次に、CPU10は、ブート処理を実行する(ステップS6)。具体的には、CPU10は、内部ROMに格納されているプログラムのデータ読出を実行する。具体的には、CPU10は、内部CPUバス12を介して、バスコントローラ30に対して図2で説明した予め設けられている内部ROMが格納されているエリア0のアドレスを指定する。バスコントローラ30のアドレスデコーダ32は、内部CPUバスI/F42を介して入力されるアドレスをデコード処理する。そして、エリア0のアドレスであると判断した場合には、固定バス制御部34を起動する。そして、固定バス制御部34は、マルチプレクサ36、内部メモリバス16を介してROM50にアクセスする。
Next, the
そして、バスコントローラ30の固定バス制御部34は、ROM50にアクセスして、ROM50に格納されている起動用のプログラム等を読み出す。
Then, the fixed
そして、次に、CPU10は、ROM50に可変バス制御論理情報が格納されているかどうかを判断する(ステップS8)。
Next, the
そして、CPU10は、ROM50に可変バス制御論理情報が格納されていると判断した場合(ステップS8においてYES)には、可変バス制御情報を設定する(ステップS10)。
If the
具体的には、CPU10は、ROM50に格納されている可変バス制御論理情報をPLDのコンフィグレーションメモリにマッピングすることにより可変バス制御部35を構築する。これにより、可変バス制御部35を利用することが可能となる。例えば、一例として、ROM50に格納されている可変バス制御論理情報は、SDRAM90の制御機能に対応するものとする。そして、可変バス制御部35は、可変バス制御論理情報のマッピングが完了したことをロック機構38に通知する。
Specifically, the
そして、ロック機構38は、ロック信号を設定する(ステップS11)。
当該ロック信号の設定により、可変バス制御部35への可変バス論理情報の格納を禁止することができる。また、ロック機構38からアドレスデコーダ32にロック信号が設定されたことが通知される。アドレスデコーダ32は、ロック機構38から当該ロック信号の設定の通知を受けて、可変バス制御部35を起動可能とする。なお、アドレスデコーダ32は、ロック機構38からロック信号の設定の通知を受けていない場合には、可変バス制御部35へのマッピングが完了していないと判断されるため可変バス制御部35の起動を抑制し、固定バス制御部34のみ起動するようにしてもよいし、アドレスエラー等の例外処理の対象としてもよい。
Then, the
By setting the lock signal, storage of variable bus logical information in the variable
そして、処理を終了する(エンド)。
ROM50の可変バス制御論理情報の格納は、予めチップ設計時に格納しておいても良いし、周辺機能に含まれるシリアルコミュニケーションインタフェース(SCI)を介してたとえばROMライターを用いて外部からROM50に可変バス制御情報を書き込むようにしても良い。
Then, the process ends (END).
The variable bus control logic information in the
例えば、外部バス62と接続されたSDRAM90にアクセスする場合について説明する。
For example, a case where the
CPU10は、内部CPUバス12を介して、バスコントローラ30に対して図2で説明したエリア1のアドレスを指定する。バスコントローラ30のアドレスデコーダ32は、内部CPUバスI/F42を介して入力されるアドレスをデコード処理する。そして、エリア1のアドレスであると判断した場合には、可変バス制御部35を起動する。なお、この際、アドレスデコーダ32のデコード処理結果に基づいてマルチプレクサ36は、可変バス制御部35と外部バスインタフェース60とに接続を切り替える。
The
そして、可変バス制御部35は、マルチプレクサ36、外部バスインタフェース60、外部バス62を介してSDRAM90にアクセスする。
Then, the variable
メモリの種類毎に、インタフェースを設ける構成の場合には、接続されるデバイス毎にインタフェースを用意する必要があり回路規模が大きくなる可能性がある。また、同一の機能をマージすることによりコントローラの回路規模を縮小することも考えられるが、外部メモリの構成がシステム/アプリケーションによって多様化すると、予め全てのデバイスに対応するように機能をマージすることは非常に難しく、複雑となる可能性があり、設計コストが余分にかかる可能性もある。 In the case of a configuration in which an interface is provided for each type of memory, it is necessary to prepare an interface for each connected device, which may increase the circuit scale. It is also possible to reduce the circuit scale of the controller by merging the same functions. However, if the external memory configuration is diversified depending on the system / application, the functions should be merged in advance so as to correspond to all devices. Can be very difficult and complex, and can add extra design cost.
本願方式の如く、可変バス制御論理情報を用意して、可変バス制御部にマッピングする方式を採用することにより、回路規模を縮小することが可能となる。また、複雑なコントローラを設計する必要が無く、開発期間も縮小することが可能となる。 By adopting a method of preparing variable bus control logic information and mapping it to the variable bus control unit as in the present application method, the circuit scale can be reduced. Further, it is not necessary to design a complicated controller, and the development period can be shortened.
また、可変バス制御論理情報を格納することにより、外付けのメモリに対して新たなインタフェース仕様に対応することも可能である。 Further, by storing the variable bus control logic information, it is possible to cope with a new interface specification for the external memory.
本例においては、一例として、可変バス制御論理情報に基づいてPLDに構築された可変バス制御部35は、外部バス62と接続されたSDRAM90にアクセス可能である場合について説明したが、特にSDRAM90に限られず、同様に、FLASH/ROM70、SRAM80に対しても同様に適用可能である。すなわち、FLASH/ROM70用の可変バス制御論理情報あるいは、SDRAM90用の可変バス制御論理情報をROM50にそれぞれ格納しておけばよい。
In this example, as an example, the variable
(実施の形態2)
図10を用いて、本発明の実施の形態2に従うマイクロコンピュータ1#等の概略構成について説明する。
(Embodiment 2)
A schematic configuration of microcomputer 1 # and the like according to the second embodiment of the present invention will be described with reference to FIG.
図10を参照して、本発明の実施の形態2に従うマイクロコンピュータ1#は、マイクロコンピュータ1と比較して、内部ROM50において、2つの可変バス制御情報PA,PBを格納している点が異なる。例えば、可変バス制御情報PAに基づいてPLDに構築された可変バス制御部35は、外部バス62と接続されたFLASH/ROM70にアクセス可能であるものとする。また、例えば、可変バス制御部PBに基づいてPLDに構築された可変バス制御部35は、外部バス62と接続されたSDRAM90にアクセス可能であるものとする。
Referring to FIG. 10, microcomputer 1 # according to the second embodiment of the present invention is different from microcomputer 1 in that two variable bus control information PA and PB are stored in
また、本例においては、一例として、図2(B)におけるエリア1aがFLASH/ROM70に対応する外部メモリとして割り当てられているものとする。また、図2(B)におけるエリア1bがSDRAM90に対応する外部メモリとして割り当てられているものとする。
In this example, as an example, it is assumed that area 1a in FIG. 2B is allocated as an external memory corresponding to FLASH /
図11を用いて、可変バス制御部の切り替え処理について説明する。なお、最初に可変バス制御部35に可変バス制御情報をマッピングする方式については、実施の形態1で説明したのと同様である。
The switching process of the variable bus control unit will be described with reference to FIG. Note that the method of mapping variable bus control information to the variable
図11を参照して、まず、外部メモリに対するアドレスをデコードする(ステップS20)。具体的には、上述したように、バスコントローラ30のアドレスデコーダ32は、内部CPUバスI/F42を介して入力されるアドレスをデコード処理する。
Referring to FIG. 11, first, the address for the external memory is decoded (step S20). Specifically, as described above, the
そして、次に、アドレスデコーダ32は、指定するエリアは、現在の可変バス制御論理で対応可能であるかどうかを判断する(ステップS22)。例えば、エリア1aのアドレスが指定されたと判断した場合には、現在の可変バス制御論理がエリア1aに対応するものであるか否かを判断する。
Next, the
ステップS22において、アドレスデコーダ32は、指定するエリアは、現在の可変バス制御論理で対応可能であると判断した場合(ステップS22においてYES)には、転送を実行する(ステップS24)。例えば、エリア1aのアドレスが指定されたと判断した場合に、現在の可変バス制御論理がエリア1aに対応するものであると判断した場合には、データ読出あるいはデータ書込に関するデータ転送処理を実行する。
In step S22, when the
一方、ステップS22において、アドレスデコーダ32は、指定するエリアは、現在の可変バス制御論理で対応可能でないと判断した場合(ステップS22においてNO)には、次に現在の論理は、論理情報PAであるか否かを判断する(ステップS26)。
On the other hand, if the
そして、アドレスデコーダ32は、現在の論理は、可変バス制御論理情報PAであると判断した場合(ステップS26においてYES)には、可変バス制御論理情報PAから可変バス制御論理情報PBへの切り替え要求をCPU10に出力する(ステップS28)。
When
一方、アドレスデコーダ32は、現在の論理は、可変バス制御論理情報PAでないと判断した場合(ステップS26においてNO)には、可変バス制御論理情報PBから可変バス制御論理情報PAへの切り替え要求をCPU10に出力する(ステップS30)。
On the other hand, when
そして、次に、CPU10は、外部との間のデータ転送処理が完了したかどうかを判断する(ステップS32)。外部との間でのデータ転送処理が完了する前に、可変バス制御部35の機能を切り替えてしまうと前回の転送処理が停止し、処理が適切に終了しないからである。
Next, the
ステップS32において、外部との間でのデータ転送処理が完了したと判断された場合(ステップS32においてYES)には、次に、CPU10は、ロックの解除を要求し、ロック機構38はロックを解除する(ステップS34)。
If it is determined in step S32 that the data transfer process with the outside has been completed (YES in step S32), the
具体的には、ロック機構38は、可変バス制御部35にロックが解除されたことを通知し、当該処理により、可変バス制御部35への可変バス制御情報の格納が可能となる。また、ロック機構38は、ロック信号が解除されたことをアドレスデコーダ32に通知する。当該ロック信号の解除の通知を受けて、アドレスデコーダ32は、可変バス制御部35を起動不能とする。ロック信号の解除の通知を受けた場合には、可変バス制御部35へのマッピングが完了していないと判断されるからである。
Specifically, the
そして、論理情報を転送する(ステップS36)。
具体的には、上述したように、CPU10は、内部ROMに格納されているプログラムのデータ読出を実行する。具体的には、CPU10は、内部ROM50に格納されている可変バス制御情報PAあるいは可変バス制御情報PBを可変バス制御部35にマッピングする。
Then, the logical information is transferred (step S36).
Specifically, as described above, the
これにより、可変バス制御部35を利用することが可能となる。例えば、一例として、可変バス制御論理情報PAに基づいてPLDに構築された可変バス制御部35は、外部バス62と接続されたFLASH/ROM70にアクセス可能であるものとする。一方、可変バス制御論理情報PBに基づいてPLDに構築された可変バス制御部35は、外部バス62と接続されたSDRAM90にアクセス可能であるものとする。
Thereby, the variable
そして、次に、ロック機構38は、ロック信号を設定する(ステップS38)。
当該ロック信号の設定により、可変バス制御部35への可変バス論理情報の格納を禁止することができる。また、ロック機構38からアドレスデコーダ32にロック信号が設定されたことが通知される。アドレスデコーダ32は、ロック機構38から当該ロック信号の設定の通知を受けて、可変バス制御部35を起動可能とする。
Next, the
By setting the lock signal, storage of variable bus logical information in the variable
そして、外部メモリに対するアドレスをデコードしたデコード結果に基づく、指定するエリアに対応するメモリのデータ読出あるいはデータ書込に関するデータ転送処理を実行する(ステップS40)。 Then, data transfer processing relating to data reading or data writing in the memory corresponding to the designated area is executed based on the decoding result obtained by decoding the address for the external memory (step S40).
例えば、エリア1aのアドレスが指定されたと判断した場合に、現在の可変バス制御論理がエリア1bに対応するものである場合には、可変バス制御論理をエリア1aに切り替えてデータ転送処理を実行する。また、逆にエリア1bのアドレスが指定されたと判断された場合に、現在の可変バス制御論理がエリア1aに対応するものである場合には、可変バス制御論理をエリア1bに切り替えてデータ転送処理を実行する。 For example, if it is determined that the address of the area 1a is designated, and the current variable bus control logic corresponds to the area 1b, the variable bus control logic is switched to the area 1a and the data transfer process is executed. . Conversely, if it is determined that the address of the area 1b is designated, and the current variable bus control logic corresponds to the area 1a, the variable bus control logic is switched to the area 1b to perform data transfer processing. Execute.
そして、処理を終了する(エンド)。
当該方式により、PLDである可変バス制御部35の機能を切り替えることにより、効率的に外部バスに接続された外部メモリを切り替えてアクセスすることが可能となる。
Then, the process ends (END).
By switching the function of the variable
(実施の形態3)
図12を用いて、本発明の実施の形態3に従うマイクロコンピュータ1aの概略構成について説明する。
(Embodiment 3)
A schematic configuration of microcomputer 1a according to the third embodiment of the present invention will be described with reference to FIG.
図12を参照して、本発明の実施の形態3に従うマイクロコンピュータ1#aは、マイクロコンピュータ1と比較して、内部RAM55において、可変バス制御情報を格納している点が異なる。
Referring to FIG. 12, microcomputer 1 # a according to the third embodiment of the present invention is different from microcomputer 1 in that variable RAM control information is stored in
当該構成の如く、内部RAM55に可変バス制御情報を格納するようにすることも可能である。
As in this configuration, variable bus control information can be stored in the
外部メモリの種類が複数あり、チップ開発時(ROMのデータ確定時)において、どの外部メモリを外部メモリとして用いるかが特定できない場合には、システム構築時に、可変バス制御情報を外部メモリあるいは周辺機能に含まれるシリアルコミュニケーションインタフェース(SCI)を介して通信インタフェースにより内部RAM55に格納することも可能である。
If there are multiple types of external memory and it is not possible to specify which external memory is used as the external memory during chip development (when determining ROM data), the variable bus control information can be transferred to the external memory or peripheral function when building the system. It is also possible to store in the
そして、内部RAM55に格納された可変バス制御情報に基づいて、上述したPLDにマッピングすることにより、外部バスと接続された外部メモリに対してもアクセスすることが可能となる。すなわち、外付けのメモリに対して新たなインタフェース仕様に対応することが可能である。
Then, by mapping to the above-described PLD based on the variable bus control information stored in the
(実施の形態4)
図13を用いて、本発明の実施の形態4に従うマイクロコンピュータ2の概略構成について説明する。
(Embodiment 4)
A schematic configuration of
図13を参照して、本発明の実施の形態4に従うマイクロコンピュータ2は、マイクロコンピュータ1と比較して、バスコントローラ30をバスコントローラ30#に置換した点が異なる。その他の点については同様であるのでその詳細な説明については繰り返さない。また、ロック機構38の代わりに調停制御部46からのロック解除の指示の入力を受けるロック機構38#を設けた点が異なる。
Referring to FIG. 13,
バスコントローラ30#は、バスコントローラ30と比較して、さらに、コンフィグレーション制御部37と、専用RAM39とをさらに設けた点が異なる。
The
コンフィグレーション制御部37は、専用RAM39に格納されている可変制御論理情報を可変バス制御部35にマッピングする。
The
図14を用いて、本発明の実施の形態4に従うバスコントローラの処理について説明する。 Processing of the bus controller according to the fourth embodiment of the present invention will be described using FIG.
図14を参照して、まず、外部メモリに対するアドレスをデコードする(ステップS20)。具体的には、上述したように、バスコントローラ30のアドレスデコーダ32は、内部CPUバスI/F42を介して入力されるアドレスをデコード処理する。
Referring to FIG. 14, first, the address for the external memory is decoded (step S20). Specifically, as described above, the
そして、次に、アドレスデコーダ32は、指定するエリアは、現在の可変バス制御論理で対応可能であるかどうかを判断する(ステップS22)。例えば、エリア1aのアドレスが指定されたと判断した場合には、現在の可変バス制御論理がエリア1aに対応するものであるか否かを判断する。
Next, the
ステップS22において、アドレスデコーダ32は、指定するエリアは、現在の可変バス制御論理で対応可能であると判断した場合(ステップS22においてYES)には、転送を実行する(ステップS24)。例えば、エリア1aのアドレスが指定されたと判断した場合に、現在の可変バス制御論理がエリア1aに対応するものであると判断した場合には、データ読出あるいはデータ書込に関するデータ転送処理を実行する。
In step S22, when the
一方、ステップS22において、アドレスデコーダ32は、指定するエリアは、現在の可変バス制御論理で対応可能でないと判断した場合(ステップS22においてNO)には、次に現在の論理は、論理情報PAであるか否かを判断する(ステップS26)。
On the other hand, if the
そして、アドレスデコーダ32は、現在の論理は、論理情報PAであると判断した場合(ステップS26においてYES)には、可変バス制御論理情報PAから可変バス制御論理情報PBへの切り替え要求を出力する(ステップS28)。具体的には、アドレスデコーダ32は、コンフィグレーション制御部37に対して可変バス制御論理情報(PA→PB)の切り替え要求を出力する。
If
一方、現在の論理は、論理情報PAでないと判断された場合(ステップS26においてNO)には、可変バス制御論理情報PBから可変バス制御論理情報PAへの切り替え要求を出力する(ステップS30)。具体的には、アドレスデコーダ32は、コンフィグレーション制御部37に対して可変バス制御論理情報(PB→PA)の切り替え要求を出力する。
On the other hand, when it is determined that the current logic is not logic information PA (NO in step S26), a request for switching from variable bus control logic information PB to variable bus control logic information PA is output (step S30). Specifically, the
コンフィグレーション制御部37は、可変バス制御論理情報の切り替え要求に対してウエイト要求をアドレスデコーダ32に対して出力する(ステップS29)。
The
アドレスデコーダ32は、ウエイト要求に従って処理を一時停止させるとともに、後続の可変バス制御部35を使用する転送をウエイトさせる。
The
そして、次に、調停制御部46は、外部との間のデータ転送処理が完了したかどうかを判断する(ステップS32)。外部との間でのデータ転送処理が完了する前に、可変バス制御部35の機能を切り替えてしまうと前回の転送処理が停止し、処理が適切に終了しないからである。
Next, the
ステップS32において、調整制御部46は、外部との間でのデータ転送処理が完了したと判断した場合(ステップS32においてYES)には、次に、調整制御部46は、ロックの解除を要求し、ロック機構38は、ロックを解除する(ステップS34)。具体的には、ロック機構38は、可変バス制御部35にロックが解除されたことを通知し、当該処理により、可変バス制御部35への可変バス制御情報の格納が可能となる。また、可変バス制御部35は、ロックが解除されたことをコンフィグレーション制御部37に通知する。
In step S32, when the
そして、論理情報を転送する(ステップS36)。
具体的には、コンフィグレーション制御部37は、ロックが解除されたことの通知を受けて、専用RAM39にアクセスし、専用RAM39に格納されているプログラムのデータ読出を実行する。具体的には、コンフィグレーション制御部37は、専用RAM39に格納されている可変バス制御情報PAあるいは可変バス制御情報PBを可変バス制御部35にマッピングする。
Then, the logical information is transferred (step S36).
Specifically, upon receiving a notification that the lock has been released, the
これにより、可変バス制御部35を利用することが可能となる。例えば、一例として、可変バス制御論理情報PAに基づいてPLDに構築された可変バス制御部35は、外部バス62と接続されたFLASH/ROM70にアクセス可能であるものとする。一方、可変バス制御論理情報PBに基づいてPLDに構築された可変バス制御部35は、外部バス62と接続されたSDRAM90にアクセス可能であるものとする。
Thereby, the variable
次に、ロック機構38#は、ロック信号を設定する(ステップS38)。
当該ロック信号の設定により、可変バス制御部35への可変バス論理情報の格納を禁止することができる。また、ロック機構38からアドレスデコーダ32にロック信号が設定されたことが通知される。アドレスデコーダ32は、ロック機構38から当該ロック信号の設定の通知を受けて、可変バス制御部35を起動可能とする。
Next, the
By setting the lock signal, storage of variable bus logical information in the variable
そして、また、コンフィグレーション制御部37は、ウエイト要求を解除する(ステップS39)。
And the
具体的には、コンフィグレーション制御部37は、アドレスデコーダ32に対してウエイト要求の解除を通知する。
Specifically, the
そして、アドレスデコーダ32は、ウエイト要求の解除の通知を受けて、外部メモリに対するアドレスをデコードしたデコード結果に基づく、指定するエリアに対応するメモリのデータ読出あるいはデータ書込に関するデータ転送処理を実行する(ステップS40)。
The
例えば、エリア1aのアドレスが指定されたと判断した場合に、現在の可変バス制御論理がエリア1bに対応するものである場合には、可変バス制御論理をエリア1aに切り替えて転送を実行する。また、逆にエリア1bのアドレスが指定されたと判断された場合に、現在の可変バス制御論理がエリア1aに対応するものである場合には、可変バス制御論理をエリア1bに切り替えて転送を実行する。 For example, if it is determined that the address of the area 1a is designated, and the current variable bus control logic corresponds to the area 1b, the variable bus control logic is switched to the area 1a to execute the transfer. On the other hand, if it is determined that the address of area 1b is designated, and the current variable bus control logic corresponds to area 1a, the variable bus control logic is switched to area 1b and the transfer is executed. To do.
そして、終了する(エンド)。
当該方式により、PLDである可変バス制御部35の機能を切り替えることにより、効率的に外部バスに接続された外部メモリを切り替えてアクセスすることが可能となるとともに、バスコントローラ30#内部でコンフィグレーション制御部37により可変バス制御部35の機能が切り替えられるためCPU10を介することなく高速に機能の切り替えが可能となる。また、CPU処理が割込みにより中断されることなく、CPU処理とコンフィグレーション処理とを並列して実行することができシステム性能の低下を低減することが可能となる。
Then, the process ends (END).
By switching the function of the variable
なお、本例と同様に、実施の形態1に従う構成においても調整制御部46において、外部との間でのデータ転送処理が完了したか否かを判断して、CPUの代わりにロック機構38に対してロックの解除を要求するようにすることも可能である。
As in this example, in the configuration according to the first embodiment, the
また、専用RAMへの書込は、例えば、図9で説明した如く、ブート処理により、内部ROMに格納されているプログラムのデータ読出を実行する。具体的には、CPU10は、固定バス制御部34を介して内部ROM50にアクセスし、そして、内部メモリバス16を介して、可変バス制御情報PA,PBを専用RAM39に書き込むことにより実現可能である。
For example, as described with reference to FIG. 9, data is read from the program stored in the internal ROM by boot processing as described in FIG. Specifically, the
また、上述したように内部ROMに限られず、内部RAMから専用RAMに可変バス制御情報を転送するようにすることも可能である。 In addition, as described above, the variable bus control information can be transferred from the internal RAM to the dedicated RAM without being limited to the internal ROM.
あるいは、周辺機能に含まれるSCIを介して通信インタフェースにより外部から専用RAM39に可変バス制御情報を書き込むようにすることも可能である。
Alternatively, the variable bus control information can be written to the
また、上記の図13の例においては、可変バス制御論理情報の切り替え要求に対して、調停制御部46において、バスの状態を監視する。そして、調停制御部46において、外部との間でのデータ転送処理が完了したか否かを判断し、完了したと判断した場合には、ロック機構38#に対してロックの解除を要求する方式について説明した。
Further, in the example of FIG. 13 described above, the
一方で、ロック機構の機能をコンフィグレーション制御部に持たせることも可能である。 On the other hand, it is also possible to give the configuration control unit the function of the lock mechanism.
図15は、本発明の実施の形態4に従う別のマイクロコンピュータ2#の概略構成について説明する。
FIG. 15 illustrates a schematic configuration of another
図15を参照して、本発明の実施の形態4に従う別のマイクロコンピュータ2#は、マイクロコンピュータ2と比較して、バスコントローラ30#をバスコントローラ30#aに置換した点が異なる。その他の点については同様であるので、その詳細な説明については繰り返さない。具体的には、ロック機構の機能をコンフィグレーション制御部37#に持たせた点が異なる。その他の構成については同様であるのでその詳細な説明は繰り返さない。すなわち、コンフィグレーション制御部37#は、内部状態としてロックか否かを情報を保持しており、ロックが設定されている場合には、可変バス制御部35への書込を禁止し、ロックが解除されている場合には、可変バス制御部35への書込を可能とする。
Referring to FIG. 15, another
上記の図14で説明したバスコントローラの処理についてはほぼ同様であるが、ステップS32において、コンフィグレーション制御部37#が外部との間のデータ転送処理が完了したかどうかを判断する(ステップS32)。そして、ステップS32において、コンフィグレーション制御部37#は、外部との間でのデータ転送処理が完了したと判断した場合(ステップS32においてYES)には、次に、内部状態として有するロックを解除(ステップS34)し、そして、論理情報を転送(ステップS36)し、ロックを設定する(ステップS38)。以降の処理については上述したのと同様である。
The processing of the bus controller described above with reference to FIG. 14 is almost the same, but in step S32, the
本方式においても、バスコントローラ30#a内部でコンフィグレーション制御部37#により可変バス制御部35の機能が切り替えられるためCPU10を介することなく高速に機能の切り替えが可能となる。また、ロック機構の機能をコンフィグレーション制御部37#に持たせることにより構成が簡易となる。
Also in this system, since the function of the variable
また、図13および図15に示される構成において、専用RAM39を可変バス制御部35であるPLDに近接して配置する構成を採用し、専用RAMの一部領域をPLDにおける、上述した4bitのコンフィグレーションメモリ(MEM1〜MEM4)の領域として用いることも可能である。
Further, in the configuration shown in FIG. 13 and FIG. 15, a configuration in which the
図16を用いて、専用RAMを可変バス制御情報用の領域と、コンフィグレーションメモリ用の領域とに分けて用いる場合について説明する。 The case where the dedicated RAM is used separately for the variable bus control information area and the configuration memory area will be described with reference to FIG.
図16に示される方式により、可変バス制御情報を格納する専用RAMの一部をコンフィグレーションメモリ用の領域として一体化して用いることにより回路面積を縮小することが可能である。 With the method shown in FIG. 16, it is possible to reduce the circuit area by using a part of the dedicated RAM for storing the variable bus control information as an area for the configuration memory.
また、専用RAMを例えば、デュアルポートRAMで構成する。一方のポートでデータを読み出しながら、他方のポートを用いてデータの書込を実行することが可能であるため例えば、内部メモリバス16と接続されたROM50から可変バス制御情報を専用RAMに転送する際においても高速な転送が可能となる。
Further, the dedicated RAM is constituted by, for example, a dual port RAM. Since it is possible to write data using the other port while reading data from one port, for example, the variable bus control information is transferred from the
(実施の形態5)
図17を用いて、本発明の実施の形態5に従うマイクロコンピュータ3の概略構成について説明する。
(Embodiment 5)
The schematic configuration of
図17を参照して、本発明の実施の形態5に従うマイクロコンピュータ3は、マイクロコンピュータ1と比較して、周辺機能20を周辺機能20#に置換した点が異なる。その他の点については同様であるのでその詳細な説明については繰り返さない。
Referring to FIG. 17,
周辺機能20#は、周辺機能管理部21と周辺機能制御部24とを含む。
周辺機能管理部21は、内部周辺バスI/F22と、調停制御部23とを含む。
Peripheral
内部周辺バスI/F22は、内部周辺バス14と接続され、内部CPUバス12を介してCPU10あるいはDMAC15との間のデータの授受を実行する。
The internal peripheral bus I /
調停制御部23は、バス使用権の調停を行っている。
周辺機能制御部24は、固定周辺機能部25と、可変周辺機能部26と、ロック機構27と、マルチプレクサ28とを含む。
The
Peripheral
固定周辺機能部25は、マルチプレクサ28を介して、例えばポートAAを用いて外部との間でデータ通信が可能であるものとする。
It is assumed that the fixed
一方、可変周辺機能部26は、マルチプレクサ28を介して、例えばポートBBを用いて外部との間でデータ通信が可能であるものとする。
On the other hand, it is assumed that the variable
具体的には、上述したように、例えば、内部メモリバス16と接続されているROM50に可変周辺機能部26を設定するための周辺機能制御論理情報が含まれているものとする。
Specifically, as described above, for example, it is assumed that peripheral function control logic information for setting the variable
そして、CPU10によって、固定バス制御部34を介して読み出されて、可変周辺機能部26にマッピングする。マッピングの方式等については、図1で説明したのと同様であるのでその詳細な説明は繰り返さない。
Then, it is read out by the
当該方式により、バスコントローラのみならず、他の例えば周辺機能にPLDを設けることにより、周辺機能に新たな機能を設計することが可能となるため例えば、新たな通信インタフェースに対応した周辺機能を設定することも可能である。 With this method, it is possible to design a new function for a peripheral function by providing a PLD not only for the bus controller but also for other peripheral functions. For example, a peripheral function corresponding to a new communication interface is set. It is also possible to do.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
1,1#,1a,2,3 マイクロコンピュータ、10 CPU、12 内部CPUバス、14 内部周辺バス、15 DMAC、16 内部メモリバス、20,20# 周辺機能、21 周辺機能管理部、22 内部周辺バスI/F、23 調整制御部、24 周辺機能制御部、25 固定周辺機能部、26 可変周辺機能部、27,38,38# ロック、28 マルチプレクサ、30,30#,30#a バスコントローラ、31 バス制御部、32 アドレスデコーダ、34 固定バス制御部、35 可変バス制御部、36 マルチプレクサ、37,37# コンフィグレーション制御部、39 専用RAM、40 バス管理部、42 内部CPUバスI/F、44 内部周辺バスI/F、46 調停制御部、50 ROM、55 RAM、60 外部バスインタフェース、70 FLASH/ROM、80 SRAM、90 SDRAM。 1, 1 #, 1a, 2, 3 Microcomputer, 10 CPU, 12 internal CPU bus, 14 internal peripheral bus, 15 DMAC, 16 internal memory bus, 20, 20 # peripheral function, 21 peripheral function management unit, 22 internal peripheral Bus I / F, 23 adjustment control unit, 24 peripheral function control unit, 25 fixed peripheral function unit, 26 variable peripheral function unit, 27, 38, 38 # lock, 28 multiplexer, 30, 30 #, 30 # a bus controller, 31 bus control unit, 32 address decoder, 34 fixed bus control unit, 35 variable bus control unit, 36 multiplexer, 37, 37 # configuration control unit, 39 dedicated RAM, 40 bus management unit, 42 internal CPU bus I / F, 44 Internal peripheral bus I / F, 46 Arbitration controller, 50 ROM, 55 RAM, 60 External bus Interface, 70 FLASH / ROM, 80 SRAM, 90 SDRAM.
Claims (8)
構築データを記憶する内部メモリと、
前記内部メモリと接続された内部バスと、
バスコントローラと、
外部バスインタフェースとを備え、
前記バスコントローラは、
前記内部バスを介して前記内部メモリをアクセスするバス制御部と、
プログラム可能な論理部とを含み、
前記制御部は、前記内部メモリに記憶された構築データを読み出して、前記構築データに基づいて、前記プログラム可能な論理部上に、前記外部バスインタフェースを介して接続される外部メモリをアクセスするためのバス制御機能を構築する、マイクロコンピュータ。 A control unit;
An internal memory for storing construction data;
An internal bus connected to the internal memory;
A bus controller;
With an external bus interface,
The bus controller
A bus control unit for accessing the internal memory via the internal bus;
Including a programmable logic part,
The control unit reads the construction data stored in the internal memory, and accesses the external memory connected via the external bus interface on the programmable logic unit based on the construction data A microcomputer that builds the bus control function of
前記アドレスデコーダは、前記外部バスインタフェースを介して接続される第1および第2の外部メモリの一方をアクセスするアドレス情報の入力を受けて、デコード結果に基づく切り替え信号を生成し、
前記制御部は、前記切り替え信号に従って、前期内部メモリから前記第1および第2の構築データの一方を読み出して、前記論理部上に構築するバス制御機能を切り替える、請求項4記載のマイクロコンピュータ。 The bus controller further includes an address decoder,
The address decoder receives an input of address information for accessing one of the first and second external memories connected via the external bus interface, and generates a switching signal based on a decoding result;
5. The microcomputer according to claim 4, wherein the control unit reads one of the first and second construction data from the internal memory in the previous period according to the switching signal, and switches a bus control function to be constructed on the logic unit.
前記内部メモリは、周辺機能を構築するための周辺機能構築データを記憶し、
前記制御部は、前記内部メモリに記憶された周辺機能構築データを読み出して、前記周辺機能構築データに基づいて、前記プログラム可能な周辺機能論理部上に、前記周辺機能を構築する、請求項1記載のマイクロコンピュータ。 A peripheral circuit including the programmable peripheral function logic unit;
The internal memory stores peripheral function construction data for constructing peripheral functions,
The control unit reads peripheral function construction data stored in the internal memory, and constructs the peripheral function on the programmable peripheral function logic unit based on the peripheral function construction data. The microcomputer as described.
構築データを記憶する内部メモリと、
前記内部メモリと接続された内部バスと、
バスコントローラと、
外部バスインタフェースとを備え、
前記バスコントローラは、
前記内部バスを介して前記内部メモリをアクセスするバス制御部と、
プログラム可能な論理部と、
専用メモリと、
前記プログラム可能な論理部上にバス制御機能を構築するコンフィグレーション制御部とを含み、
前記制御部は、前記内部メモリに記憶された構築データを読み出して、前記専用メモリに格納し、
前記コンフィグレーション制御部は、前記専用メモリに格納された前記構築データに基づいて、前記外部バスインタフェースを介して接続される外部メモリをアクセスするためのバス制御機能を構築する、マイクロコンピュータ。 A control unit;
An internal memory for storing construction data;
An internal bus connected to the internal memory;
A bus controller;
With an external bus interface,
The bus controller
A bus control unit for accessing the internal memory via the internal bus;
A programmable logic part;
Dedicated memory,
A configuration control unit that builds a bus control function on the programmable logic unit,
The control unit reads the construction data stored in the internal memory, stores it in the dedicated memory,
The configuration control unit builds a bus control function for accessing an external memory connected via the external bus interface based on the construction data stored in the dedicated memory.
前記複数の回路情報保持手段は、前記専用メモリの一部を用いて構成される、請求項7記載のマイクロコンピュータ。 The logic unit includes a plurality of circuit information holding means,
The microcomputer according to claim 7, wherein the plurality of circuit information holding units are configured using a part of the dedicated memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009133213A JP5401700B2 (en) | 2009-06-02 | 2009-06-02 | Microcomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009133213A JP5401700B2 (en) | 2009-06-02 | 2009-06-02 | Microcomputer |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010282284A true JP2010282284A (en) | 2010-12-16 |
JP2010282284A5 JP2010282284A5 (en) | 2012-04-12 |
JP5401700B2 JP5401700B2 (en) | 2014-01-29 |
Family
ID=43538982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009133213A Expired - Fee Related JP5401700B2 (en) | 2009-06-02 | 2009-06-02 | Microcomputer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5401700B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014513507A (en) * | 2011-05-17 | 2014-05-29 | アルテラ コーポレイション | System and method for interfacing between hard logic and soft logic in a hybrid integrated device |
CN108134683A (en) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | A kind of implementation method of terminal and bus architecture |
JP2022512268A (en) * | 2018-09-19 | 2022-02-03 | シーメンス アクチエンゲゼルシヤフト | Equipment and methods for coupling two DC systems |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63214995A (en) * | 1987-03-04 | 1988-09-07 | Ando Electric Co Ltd | Memory selecting circuit |
JPH03263185A (en) * | 1990-03-14 | 1991-11-22 | Hitachi Ltd | Lsi with any-time writable interface circuit |
JPH0675849A (en) * | 1992-08-27 | 1994-03-18 | Ricoh Co Ltd | Method and device for controlling external memory |
JP2001175586A (en) * | 1999-12-21 | 2001-06-29 | Hitachi Ltd | Data processor and data processing system |
JP2001265647A (en) * | 2000-03-17 | 2001-09-28 | Mitsubishi Electric Corp | Board system, memory control method in board system and memory replacing method in board system |
JP2001290758A (en) * | 2000-04-10 | 2001-10-19 | Nec Corp | Computer system |
JP2004056716A (en) * | 2002-07-24 | 2004-02-19 | Renesas Technology Corp | Semiconductor device |
JP2004326543A (en) * | 2003-04-25 | 2004-11-18 | Konica Minolta Holdings Inc | Computer system and connection method of memory |
JP2007180810A (en) * | 2005-12-27 | 2007-07-12 | Fuji Xerox Co Ltd | Electronic circuit and method for using programmable logical device |
JP2008009564A (en) * | 2006-06-27 | 2008-01-17 | Fujitsu Ltd | Memory access device, memory access method, memory manufacturing method and program |
JP2008219806A (en) * | 2007-03-07 | 2008-09-18 | Mitsubishi Electric Corp | Electrical appliance |
JP2008293096A (en) * | 2007-05-22 | 2008-12-04 | Shinko Electric Ind Co Ltd | Memory interface and system |
-
2009
- 2009-06-02 JP JP2009133213A patent/JP5401700B2/en not_active Expired - Fee Related
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63214995A (en) * | 1987-03-04 | 1988-09-07 | Ando Electric Co Ltd | Memory selecting circuit |
JPH03263185A (en) * | 1990-03-14 | 1991-11-22 | Hitachi Ltd | Lsi with any-time writable interface circuit |
JPH0675849A (en) * | 1992-08-27 | 1994-03-18 | Ricoh Co Ltd | Method and device for controlling external memory |
JP2001175586A (en) * | 1999-12-21 | 2001-06-29 | Hitachi Ltd | Data processor and data processing system |
JP2001265647A (en) * | 2000-03-17 | 2001-09-28 | Mitsubishi Electric Corp | Board system, memory control method in board system and memory replacing method in board system |
JP2001290758A (en) * | 2000-04-10 | 2001-10-19 | Nec Corp | Computer system |
JP2004056716A (en) * | 2002-07-24 | 2004-02-19 | Renesas Technology Corp | Semiconductor device |
JP2004326543A (en) * | 2003-04-25 | 2004-11-18 | Konica Minolta Holdings Inc | Computer system and connection method of memory |
JP2007180810A (en) * | 2005-12-27 | 2007-07-12 | Fuji Xerox Co Ltd | Electronic circuit and method for using programmable logical device |
JP2008009564A (en) * | 2006-06-27 | 2008-01-17 | Fujitsu Ltd | Memory access device, memory access method, memory manufacturing method and program |
JP2008219806A (en) * | 2007-03-07 | 2008-09-18 | Mitsubishi Electric Corp | Electrical appliance |
JP2008293096A (en) * | 2007-05-22 | 2008-12-04 | Shinko Electric Ind Co Ltd | Memory interface and system |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014513507A (en) * | 2011-05-17 | 2014-05-29 | アルテラ コーポレイション | System and method for interfacing between hard logic and soft logic in a hybrid integrated device |
US9000802B2 (en) | 2011-05-17 | 2015-04-07 | Altera Corporation | Systems and methods for interfacing between hard logic and soft logic in a hybrid integrated device |
CN108134683A (en) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | A kind of implementation method of terminal and bus architecture |
CN108134683B (en) * | 2016-12-01 | 2021-06-11 | 腾讯科技(深圳)有限公司 | Terminal and bus architecture implementation method |
JP2022512268A (en) * | 2018-09-19 | 2022-02-03 | シーメンス アクチエンゲゼルシヤフト | Equipment and methods for coupling two DC systems |
JP7166436B2 (en) | 2018-09-19 | 2022-11-07 | シーメンス アクチエンゲゼルシヤフト | Apparatus and method for coupling two DC systems |
Also Published As
Publication number | Publication date |
---|---|
JP5401700B2 (en) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6761873B2 (en) | Self-refresh state machine MOP array | |
KR102395745B1 (en) | Memory controller arbiter with streak and read/write transaction management | |
US10403333B2 (en) | Memory controller with flexible address decoding | |
US6173356B1 (en) | Multi-port DRAM with integrated SRAM and systems and methods using the same | |
KR102370477B1 (en) | Memory controller with virtual controller mode | |
KR102442078B1 (en) | Command arbitration for high-speed memory interfaces | |
KR102444201B1 (en) | Software mode register access for platform margining and debug | |
US8650388B2 (en) | Multi-processor systems and booting methods thereof | |
JP2004502225A (en) | Integrated circuit with flash memory | |
EP3436958B1 (en) | Low power memory throttling | |
CN107257964B (en) | DRAM circuit, computer system and method for accessing DRAM circuit | |
JP2023539737A (en) | Memory controller with multiple command subqueues and corresponding arbiters | |
US7962670B2 (en) | Pin multiplexing | |
EP2911065A1 (en) | Distributed procedure execution and file systems on a memory interface | |
US6742058B2 (en) | Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input | |
JP5401700B2 (en) | Microcomputer | |
JP2024512684A (en) | data fabric clock switching | |
KR20050081498A (en) | Memory bank interleaving method and apparatus in the multi-layer bus system | |
JP5130754B2 (en) | Semiconductor integrated circuit and memory system | |
EP3270295A1 (en) | Memory controller with virtual controller mode | |
JP2004078396A (en) | Memory device | |
JPH06175926A (en) | Data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130618 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130913 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131008 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |