JP2006127407A - Semiconductor integrated circuit - Google Patents
Semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2006127407A JP2006127407A JP2004318238A JP2004318238A JP2006127407A JP 2006127407 A JP2006127407 A JP 2006127407A JP 2004318238 A JP2004318238 A JP 2004318238A JP 2004318238 A JP2004318238 A JP 2004318238A JP 2006127407 A JP2006127407 A JP 2006127407A
- Authority
- JP
- Japan
- Prior art keywords
- rom
- integrated circuit
- semiconductor integrated
- reset
- memory map
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、CPUを含む一つの半導体集積回路で様々な種類のプログラムROMに対応するための技術に関する。 The present invention relates to a technique for supporting various types of program ROMs in a single semiconductor integrated circuit including a CPU.
近年、半導体の集積度が向上したことにより、一つの半導体集積回路の中に、CPUを含むシステムの殆どの機能モジュールを実装することが可能となってきている(例えば、特許文献1)。しかし、依然として、CPUのプログラム等を記憶するプログラムROMと、メインメモリを構成する記憶装置(一般にはダイナミックRAM)は半導体集積回路の外部に設けられている場合が多い。 In recent years, the degree of integration of semiconductors has improved, and it has become possible to mount almost all functional modules of a system including a CPU in one semiconductor integrated circuit (for example, Patent Document 1). However, the program ROM for storing the CPU program and the like and the storage device (generally dynamic RAM) constituting the main memory are still often provided outside the semiconductor integrated circuit.
一方で、プログラムROMに使用するROMには、NOR型フラッシュメモリ、NAND型フラッシュメモリ、マスクROM、シリアルROMなど、いくつかの種類があるが、これらはそれぞれ、集積度、読み出し速度、コスト、再プログラム(データの書き換え)が可能か否かなどが異なっている。 On the other hand, there are several types of ROM used for the program ROM, such as NOR flash memory, NAND flash memory, mask ROM, serial ROM, etc., but these have different levels of integration, read speed, cost, Whether a program (data rewriting) is possible or not is different.
例えば、これらのROMのうち、再プログラムが可能なROMは、NOR型フラッシュメモリ、NAND型フラッシュメモリ、シリアルROMであり、中でも一般に安価であるのがマスクROM、NAND型フラッシュメモリ、シリアルROMである。 For example, among these ROMs, reprogrammable ROMs are NOR flash memory, NAND flash memory, and serial ROM. Among them, mask ROM, NAND flash memory, and serial ROM are generally inexpensive. .
また、NOR型フラッシュメモリとマスクROMとは、ROMに対するアクセスプロトコルがほぼ同じであるが、NAND型フラッシュメモリやシリアルROMは、上述の二者とそれぞれアクセスプロトコルが大きく異なっている。 The NOR flash memory and the mask ROM have substantially the same access protocol for the ROM, but the NAND flash memory and the serial ROM have access protocols that are significantly different from the above two.
更に、NAND型フラッシュメモリは、シーケンシャルアクセスを基本とするROMであるという制約があり(厳密にはランダムアクセスも可能ではあるが、ランダムアクセスをする度にROMデバイスがμSオーダーのビジー状態になるため、読み出し速度の観点からランダムアクセスに向かない)、またシリアルROMは読み出し速度が他のタイプのROMに比べて著しく遅い。 Furthermore, there is a restriction that the NAND flash memory is a ROM based on sequential access (strictly random access is possible, but the ROM device becomes busy on the order of μS each time random access is performed. The serial ROM is not suitable for random access from the viewpoint of reading speed), and the reading speed of the serial ROM is significantly slower than other types of ROM.
そこで、従来はこれらのROMのうち、システムの性能やコストなどの要求に合わせて最適なROMをプログラムROMとして選択し、実装している。 Therefore, conventionally, among these ROMs, an optimal ROM is selected and mounted as a program ROM in accordance with requirements such as system performance and cost.
図1は、従来技術を説明するための概略ブロック図である。半導体集積回路100は、少なくともCPUバス101、CPU102、ROMコントローラ103、DMAコントローラ104、メモリコントローラ105から構成されている。尚、CPUバス101には他のモジュールも接続されているが、煩瑣を避けるため省略している。
FIG. 1 is a schematic block diagram for explaining the prior art. The semiconductor integrated
また、この半導体集積回路100の外部には、プログラムROM110、メインメモリ120が接続されている。ここで、プログラムROM110はNOR型フラッシュメモリによって構成されており、メインメモリ120はSDRAMによって構成されているものとする。
A
図2は、従来技術におけるメモリマップを示す図である。尚、図2においては、メインメモリ領域202とROM領域201とが記されているが、メモリマップ上にマッピングされている他のモジュールやデバイスの領域は、煩瑣を避けるため省略している。
しかしながら、ある製品ジャンルの上級機種から低価格機までを一つの半導体集積回路でカバーしようとする場合、製品によって使用されるプログラムROMの種類が異なる。このため、複数のアクセスプロトコルに対応する必要があると共に、システムのブート時にプログラムROMのアクセスプロトコルを適切に選択しなければならない。 However, when trying to cover a high-end model of a certain product genre to a low-priced machine with a single semiconductor integrated circuit, the type of program ROM used varies depending on the product. For this reason, it is necessary to support a plurality of access protocols, and the program ROM access protocol must be appropriately selected when the system is booted.
また、上述したように、NAND型フラッシュメモリはシーケンシャルアクセスを基本とするデバイスであるため、プログラムの中でジャンプ命令(条件分岐命令なども含む)を実行できない。そのため、NOR型フラッシュメモリやマスクROMとは異なるブートシーケンス制御に対応する必要がある。 Further, as described above, since the NAND flash memory is a device based on sequential access, jump instructions (including conditional branch instructions) cannot be executed in a program. Therefore, it is necessary to cope with boot sequence control different from that of the NOR flash memory and the mask ROM.
更に、ある製品ジャンルの上級機種から低価格機までを一つの半導体集積回路でカバーすることによりハードウェアを共通化することができたとしても、システム(機種)毎にメモリマップが異なると、システム毎に異なった開発ツールや開発環境を準備しなければならなかった。また、場合によっては、システム毎にソフトウェア開発をし直さなければならず、ソフトウェアの開発効率の点でも問題があった。 Furthermore, even if the hardware can be shared by covering a high-end model from a certain product genre to a low-priced machine with a single semiconductor integrated circuit, if the memory map differs for each system (model), the system Different development tools and development environments had to be prepared for each. In some cases, software development has to be performed again for each system, and there is a problem in terms of software development efficiency.
本発明は、上記課題に鑑みてなされたもので、一つの半導体集積回路で、様々な種類のプログラムROMに対応することを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to support various types of program ROMs with a single semiconductor integrated circuit.
本発明は、リセット時と通常時とでメモリマップを切り換え可能な半導体集積回路において、リセット時に、前記半導体集積回路に接続されているROMの種類を識別する識別手段と、前記識別手段で識別したROMの種類に応じたアクセスプロトコルを実行するよう制御する制御手段とを有することを特徴とする。 According to the present invention, in a semiconductor integrated circuit capable of switching a memory map between a reset time and a normal time, an identification means for identifying a type of ROM connected to the semiconductor integrated circuit at the time of reset is identified by the identification means And control means for controlling to execute an access protocol corresponding to the type of ROM.
本発明によれば、一つの半導体集積回路で、様々な種類のプログラムROMに対応することができる。 According to the present invention, a single semiconductor integrated circuit can be used for various types of program ROMs.
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。 The best mode for carrying out the invention will be described below in detail with reference to the drawings.
図3は、実施例1における半導体集積回路の構成の一例を示す概略ブロック図である。図3に示すように、半導体集積回路300は、少なくともCPUバス301、CPU302、ROMコントローラA303、DMAコントローラ304、メモリコントローラ305、リセットコントローラ306、CPUバス・マルチプレクサ(MUX)307、ROMコントローラB308、ROMバス・マルチプレクサ(MUX)309から構成されている。
FIG. 3 is a schematic block diagram illustrating an example of the configuration of the semiconductor integrated circuit according to the first embodiment. As shown in FIG. 3, the semiconductor integrated
尚、CPUバス301には他の機能モジュールも接続されているが、本発明とは関わりが無いため省略している。
Although other functional modules are also connected to the
この半導体集積回路300の外部には、プログラムROM310とメインメモリ320とが接続されている。また、半導体集積回路300のシステムリセット端子reset_LにはリセットIC330が接続され、起動ROM識別端子gpには外部装置340が接続されると共に、基板上でプルダウンされている。この起動ROM識別端子gpは、半導体集積回路300において、リセットコントローラ306に接続されると共に、他の機能モジュール(図示せず)にも接続されている。
A
尚、プログラムROM310はNOR型フラッシュメモリであり、メインメモリ320はSDRAMである。
The
図4は、実施例1の変形例における半導体集積回路の構成の一例を示す概略ブロック図である。図3との構成上の違いは、プログラムROM310がプログラムROM410と置き換わったことと、起動ROM識別端子gpが基板上でプルアップされていることのみであり、他は図3と同じである。ここで、プログラムROM410はNAND型フラッシュメモリである。
FIG. 4 is a schematic block diagram illustrating an example of a configuration of a semiconductor integrated circuit according to a modification of the first embodiment. The only difference in configuration from FIG. 3 is that the
図5は、実施例1における半導体集積回路のメモリマップを示す図である。図5では、メインメモリ領域とROM領域のみが記されているが、メモリマップ上にマッピングされている他の機能モジュールやデバイスの領域は、煩瑣を避けるため省略している。 FIG. 5 is a diagram illustrating a memory map of the semiconductor integrated circuit according to the first embodiment. In FIG. 5, only the main memory area and the ROM area are shown, but other functional module and device areas mapped on the memory map are omitted for the sake of simplicity.
実施例1の半導体集積回路300では、システムリセット解除時の起動ROM識別端子gpの値が“0”の場合(図3の場合)には、NOR型フラッシュメモリ(第一のROM)・モードが選択され、“1”の場合(図4の場合)には、NAND型フラッシュメモリ(第二のROM)・モードが選択されるように構成されている。
In the semiconductor
図3に示すNOR型フラッシュメモリ・モードが選択された場合は、システムリセット解除後に、図5に示す501の第一のメモリマップが選択される。このメモリマップは、従来技術で説明した図2と同様である。
When the NOR type flash memory mode shown in FIG. 3 is selected, the
これに対して、図4に示すNAND型フラッシュメモリ・モードが選択された場合は、システムリセット解除後に、図5に示す502の第二のメモリマップが選択される。上述したように、NAND型フラッシュメモリはシーケンシャルアクセスを基本とするメモリであるため、ジャンプ命令や条件分岐命令等を使用することができない。そのため、このモードでは、ブート処理を二段階に分けて行う。
On the other hand, when the NAND flash memory mode shown in FIG. 4 is selected, the
まず、システムリセット解除後に、プログラムROM410からメインメモリ320へメインプログラムを転送(コピー)するためのプログラムコードをCPU302内部のRAM領域或いはメインメモリ領域に生成するプログラムが実行される。その後、生成されたプログラムコードが実行され、メインプログラムをメインメモリ320上へ転送(コピー)する処理が行われる。メインプログラムの転送が完了すると、ブート処理は完了し、以降はメインメモリ320上のメインプログラムが実行される。
First, after canceling the system reset, a program for generating a program code for transferring (copying) the main program from the
更に、NAND型フラッシュメモリ・モードが選択された場合には、メインプログラムのメインメモリ320上への転送が完了すると、図5に示す503の第三のメモリマップにメモリマップの切り換えを行う。この切り換え処理は、ブートプログラムの最後で実行される。
Further, when the NAND flash memory mode is selected, when the transfer of the main program onto the
この第三のメモリマップにおいては、第一のメモリマップ501(即ち、図3のNOR型フラッシュメモリによるシステムのメモリマップ)の第一のROM領域に相当する領域が、メインメモリ領域上のメインプログラムが転送された領域のシャドウになっている。即ち、このシャドウ領域を介してメインプログラムにアクセスできるため、ソフトウェア的には、プログラムROMがNOR型フラッシュメモリであるか、NAND型フラッシュメモリであるかが隠蔽されたメモリマップになっている。 In this third memory map, the area corresponding to the first ROM area of the first memory map 501 (that is, the memory map of the system using the NOR type flash memory in FIG. 3) is the main program in the main memory area. Is a shadow of the transferred area. That is, since the main program can be accessed through this shadow area, the memory map is hidden in terms of software whether the program ROM is a NOR flash memory or a NAND flash memory.
次に、実施例1における半導体集積回路300に含まれるリセットコントローラ306の詳細な構成及び動作について説明する。
Next, a detailed configuration and operation of the
図6は、実施例1におけるリセットコントローラ306の構成の一例を示すブロック図である。また、図7は、リセットコントローラ306内部の真理値表を示す図である。
FIG. 6 is a block diagram illustrating an example of the configuration of the
図6において、rom_selデコーダ601は、システムリセット信号reset_Lの立ち上がり(即ち、システムリセットの解除)を検知することにより、起動ROM識別端子gpの値を取り込み、Dタイプ・フリップフロップ602に出力する。Dタイプ・フリップフロップ602の出力は、ROMモード選択信号rom_selとして半導体集積回路300内部の各部に入力される。
In FIG. 6, the
尚、図7に示す真理値表のように、起動ROM識別端子gpは、システムリセットの解除後はrom_selデコーダ601の動作に影響を与えない。このため、実施例1では、通常時(即ち、システムリセット解除後)は起動ROM識別端子gpを汎用ポート(即ち、通常の信号ピン)として使用し、他の機能モジュール(図3並びに図4では不図示)と外部装置340との間のやりとりのために使用している。
Note that, as in the truth table shown in FIG. 7, the activation ROM identification terminal gp does not affect the operation of the
このように、起動ROM識別機能と汎用ポート機能を兼用させることにより、端子数を増加させることなく、起動ROM識別端子gpを具備することが可能となる。 Thus, by combining the activation ROM identification function and the general-purpose port function, it is possible to provide the activation ROM identification terminal gp without increasing the number of terminals.
一方、map_selデコーダ604は、システムリセット信号reset_Lの立ち上がりを検知することにより、Dタイプ・フリップフロップ605に対して“1”を出力する。また、Dタイプ・フリップフロップ605は、CPU302にとっては汎用レジスタの一つ(map_selレジスタ)であり、CPUバス301、CPUバスI/F603を介して“0”又は“1”の値を書き込むことができる。
On the other hand, the
また、map_selデコーダ604は、CPU302からの書き込み制御信号もデコードし、CPUバスI/F603から書き込みイネーブル信号wr_enがアサートされると、書き込みデータdec2_inの値をdec2_outとしてDタイプ・フリップフロップ605に出力する。そして、Dタイプ・フリップフロップ605の出力は、メモリマップ選択信号map_selとしてCPUバス・マルチプレクサ307に入力される。
The
即ち、メモリマップ選択信号map_selは、システムリセットの解除によってアクティブとなり、その後、プログラム(即ち、CPU302)によってリマップレジスタ(即ち、Dタイプ・フリップフロップ605)に“0”を書き込むことで非アクティブにすることができるように構成されている。 That is, the memory map selection signal map_sel becomes active when the system reset is released, and then becomes inactive by writing “0” to the remap register (ie, the D-type flip-flop 605) by the program (ie, the CPU 302). It is configured to be able to.
以下、実施例1における第一の特徴である、起動ROMの識別並びに動作モードの選択について詳細に説明する。 Hereinafter, the identification of the boot ROM and the selection of the operation mode, which are the first characteristics in the first embodiment, will be described in detail.
上述したように、リセットコントローラ306のrom_selデコーダ601並びにフリップフロップ602によってリセット解除時の起動ROM識別端子gpの値が取り込まれる。即ち、図3に示す構成では起動ROM識別端子gpがプルダウンされているため、“0”が取り込まれ、また図4に示す構成では起動ROM識別端子gpがプルアップされているため、“1”が取り込まれる。
As described above, the value of the activation ROM identification terminal gp at the time of reset release is captured by the
実施例1の半導体集積回路300においては、ROMモード選択信号rom_selが“0”の場合にはNOR型フラッシュメモリ・モードが選択され、“1”の場合にはNAND型フラッシュメモリ・モードが選択されるように構成されている。
In the semiconductor integrated
即ち、ROMモード選択信号rom_selが“0”の場合のみ、ROMコントローラA303(NOR型フラッシュメモリ用コントローラ)がアクティブとなり、ROMモード選択信号rom_selが“1”の場合のみ、ROMコントローラB308(NAND型フラッシュメモリ用コントローラ)がアクティブになる。 That is, only when the ROM mode selection signal rom_sel is “0”, the ROM controller A303 (NOR flash memory controller) becomes active, and only when the ROM mode selection signal rom_sel is “1”, the ROM controller B308 (NAND flash memory). Memory controller) becomes active.
更に、ROMバス・マルチプレクサ309は、ROMモード選択信号rom_selが“0”の場合、ROMコントローラA303と外部のプログラムROM(図3の310)との間のパスが選択され、ROMモード選択信号rom_selが“1”の場合、ROMコントローラB308と外部のプログラムROM(図4の410)との間のパスが選択される。
Further, when the ROM mode selection signal rom_sel is “0”, the
尚、メモリマップ選択信号map_sel及びROMモード選択信号rom_selは、CPUバス・マルチプレクサ307にも入力される。
The memory map selection signal map_sel and the ROM mode selection signal rom_sel are also input to the
また、CPUバス301は、例えばARM社が仕様を定めたAMBA(Advanced Microcontroller Bus Architecture)、AHB(Advanced High-Performance Bus)で構成され、CPUバス・マルチプレクサ307もAMBA推奨の方式並びに構成をとっている。
The
但し、実施例1における第二の特徴である、第三のメモリマップのシャドウ制御のために、メモリマップ選択信号map_sel及びROMモード選択信号rom_selが共に“1”である場合、アドレスの上位ビットをマスクし、[0xF800_0000]〜[0xFFFF_FFFF]のアドレス入力に対して、[0x0000_0000]〜[0x07FF_FFFF]を出力する。 However, when the memory map selection signal map_sel and the ROM mode selection signal rom_sel are both “1” for shadow control of the third memory map, which is the second feature in the first embodiment, the upper bits of the address are changed. Mask and output [0x0000_0000] to [0x07FF_FFFF] in response to address inputs [0xF800_0000] to [0xFFFF_FFFF].
以上のような構成並びに方法を採用することにより、プログラムROMとして、NOR型フラッシュメモリ、NAND型フラッシュメモリの何れが使用されたシステムにおいても、システムのブート時の処理が適正に行われ、かつ、ブート後のメインプログラム実行時においても、両者とも同じソフトウェア・ビューとなる。 By adopting the configuration and method as described above, in a system in which either a NOR flash memory or a NAND flash memory is used as a program ROM, processing at the time of booting the system is properly performed, and Even when the main program is executed after booting, both have the same software view.
これにより、ソフトウェアの開発ツールを共通化できる。また、場合によっては(製品仕様によっては)、全く同一のメインプログラムを使用できる。更には、これらの処理を行うための起動ROM識別端子gpを通常の信号ピンと兼用することにより、端子数を増加させることなく具備することができる。 This makes it possible to share software development tools. In some cases (depending on the product specifications), the exact same main program can be used. Furthermore, the activation ROM identification terminal gp for performing these processes is also used as a normal signal pin, so that it can be provided without increasing the number of terminals.
次に、図面を参照しながら本発明に係る実施例2について詳細に説明する。 Next, Embodiment 2 according to the present invention will be described in detail with reference to the drawings.
図8は、実施例2における半導体集積回路の構成の一例を示す概略ブロック図である。図8に示すように、半導体集積回路800は、少なくともCPUバス801、CPU802、ROMコントローラ803、DMAコントローラ804、メモリコントローラ805、リセットコントローラ806、CPUバス・マルチプレクサ(MUX)807から構成されている。
FIG. 8 is a schematic block diagram illustrating an example of the configuration of the semiconductor integrated circuit according to the second embodiment. As shown in FIG. 8, the semiconductor integrated
尚、CPUバス801には他の機能モジュールも接続されているが、本発明とは関わりが無いため省略している。
Although other functional modules are also connected to the
この半導体集積回路800の外部には、プログラムROM810とメインメモリ820とが接続されている。また、半導体集積回路800のシステムリセット端子reset_LにはリセットIC830が接続され、起動ROM識別端子gp[1:0]には外部装置840が接続されると共に、2本共基板上でプルダウンされている。この起動ROM識別端子gp[1:0]は、半導体集積回路800において、リセットコントローラ806に接続されると共に、他の機能モジュール(図示せず)にも接続されている。
A
尚、プログラムROM810はNOR型フラッシュメモリであり、メインメモリ820はSDRAMである。
The
実施例1で説明した図3との違いは、起動ROM識別端子のビット幅を増加し、4種類のROMモードを選択できるようにしたことと、1つのROMコントローラ803で全てのROMを制御するようにしたことである。
The difference from FIG. 3 described in the first embodiment is that the bit width of the activation ROM identification terminal is increased so that four types of ROM modes can be selected, and all ROMs are controlled by one
即ち、実施例2では、起動ROM識別端子gp[1:0]の2ビットが[00]の場合は、NOR型フラッシュメモリ・モード、[01]の場合は、NAND型フラッシュメモリ・モード、[10]の場合は、シリアルROM・モード、[11]の場合は、マスクROM・モードが選択されるように構成されている。 That is, in the second embodiment, when the two bits of the activation ROM identification terminal gp [1: 0] are [00], the NOR type flash memory mode is selected. In the case of [10], the serial ROM mode is selected, and in the case of [11], the mask ROM mode is selected.
尚、実施例2における半導体集積回路のメモリマップは、実施例1と同様である。即ち、図5に示した通りで、図5ではメインメモリ領域とROM領域のみが記されているが、メモリマップ上にマッピングされている他の機能モジュールやデバイスの領域は、煩瑣を避けるため省略している。 The memory map of the semiconductor integrated circuit in the second embodiment is the same as that in the first embodiment. That is, as shown in FIG. 5, only the main memory area and the ROM area are shown in FIG. 5, but the areas of other functional modules and devices mapped on the memory map are omitted in order to avoid inconvenience. is doing.
また、実施例2における半導体集積回路800では、プログラムROMとして、NOR型フラッシュメモリが使用されている場合と、NAND型フラッシュメモリが使用されている場合については、上述した実施例1と同様である。
In the semiconductor integrated
即ち、システムリセット解除時の起動ROM識別端子gp[1:0]の値が[00]の場合には、NOR型フラッシュメモリ(第一のROM)・モードが選択され、[01]の場合には、NAND型フラッシュメモリ(第二のROM)・モードが選択されるように構成されている。そして、NOR型フラッシュメモリ・モードが選択された場合は、システムリセット解除後に、図5に示す501の第一のメモリマップが選択される。このメモリマップは、従来技術、実施例1と同様である。
That is, when the value of the activation ROM identification terminal gp [1: 0] at the time of system reset release is [00], the NOR type flash memory (first ROM) mode is selected, and in the case of [01] Is configured so that the NAND flash memory (second ROM) mode is selected. When the NOR type flash memory mode is selected, the
これに対して、NAND型フラッシュメモリ・モードが選択された場合は、システムリセット解除後に、図5に示す502第二のメモリマップが選択される。上述したように、NAND型フラッシュメモリはシーケンシャルアクセスを基本とするメモリであるため、ジャンプ命令や条件分岐命令とを使用することができない。そのため、このモードでは、ブート処理を二段階に分けて行う。
On the other hand, when the NAND flash memory mode is selected, the
まず、システムリセット解除後に、プログラムROM810からメインメモリ820へメインプログラムを転送(コピー)するためのプログラムコードをCPU802内部のRAM領域或いはメインメモリ領域に生成するプログラムが実行される。その後、生成されたプログラムコードが実行され、メインプログラムのメインメモリ820上へ転送(コピー)する処理が行われる。メインプログラムの転送が完了すると、ブート処理は完了し、以降はメインメモリ820上のメインプログラムが実行される。
First, after canceling the system reset, a program for generating a program code for transferring (copying) the main program from the
更に、NAND型フラッシュメモリ・モードが選択された場合には、メインプログラムのメインメモリ820上への転送が完了すると、図5に示す503の第三のメモリマップにメモリマップの切り換えを行う。この切り換え処理は、ブートプログラムの最後で実行される。
Further, when the NAND flash memory mode is selected, when the transfer of the main program onto the
この第三のメモリマップでは、第一のメモリマップ501(即ち、NOR型フラッシュメモリによるシステムのメモリマップ)の第一のROM領域に相当する領域が、メインメモリ上のメインプログラムが転送された領域のシャドウになっている。即ち、このシャドウ領域を介してメインプログラムにアクセスできるため、ソフトウェア的には、プログラムROMがNOR型フラッシュメモリであるか、NAND型フラッシュメモリであるかが隠蔽されたメモリマップになっている。 In the third memory map, the area corresponding to the first ROM area of the first memory map 501 (that is, the memory map of the system using the NOR flash memory) is an area where the main program on the main memory is transferred. It has become a shadow. That is, since the main program can be accessed through this shadow area, the memory map is hidden in terms of software whether the program ROM is a NOR flash memory or a NAND flash memory.
また、実施例2における半導体集積回路800では、起動ROM識別端子gp[1:0]の値が[10]の場合は、シリアルROM・モードが、[11]の場合は、マスクROM・モードが選択されるが、メモリマップは何れもNOR型フラッシュメモリの場合と同様に、第一のメモリマップが選択される。
In the semiconductor integrated
次に、実施例2における半導体集積回路800に含まれるリセットコントローラ806の詳細な構成及び動作について説明する。
Next, a detailed configuration and operation of the
図9は、実施例2におけるリセットコントローラ806の構成の一例を示すブロック図である。また、図10はリセットコントローラ806内部の真理値表を示す図である。
FIG. 9 is a block diagram illustrating an example of the configuration of the
図9において、rom_selデコーダ901は、システムリセット信号reset_Lの立ち上がり(即ち、システムリセットの解除)を検知することにより、起動ROM識別端子gp[1:0]の値を取り込み、Dタイプ・フリップフロップ902に出力する。Dタイプ・フリップフロップ902の出力は、ROMモード選択信号rom_sel[1:0]として半導体集積回路800内部の各部に入力される。
In FIG. 9, the
尚、図10に示す真理値表のように、起動ROM識別端子gp[1:0]は、システムリセットの解除後はrom_selデコーダ901の動作に影響を与えない。このため、実施例2では、通常時(即ち、システムリセット解除後)は起動ROM識別端子gp[1:0]を汎用ポート(即ち、通常の信号ピン)として使用し、他の機能モジュール(図8では不図示)と外部装置840との間のやりとりのために使用している。
As shown in the truth table of FIG. 10, the activation ROM identification terminal gp [1: 0] does not affect the operation of the
このように、起動ROM識別機能と汎用ポート機能を兼用させることにより、端子数を増加させることなく、起動ROM識別端子gp[1:0]を具備することが可能となる。 Thus, by combining the activation ROM identification function and the general-purpose port function, it is possible to provide the activation ROM identification terminal gp [1: 0] without increasing the number of terminals.
尚、map_selデコーダ904並びにDタイプ・フリップフロップ905の動作については、上述の実施例1と同様である。即ち、map_selデコーダ904は、システムリセット信号reset_Lの立ち上がりを検知することにより、Dタイプ・フリップフロップ905に対して“1”を出力する。また、Dタイプ・フリップフロップ905は、CPU802にとっては汎用レジスタの一つ(map_selレジスタ)であり、CPUバス801、CPUバスI/F903を介して“0”又は“1”の値を書き込むことができる。
The operations of the
また、map_selデコーダ904は、CPU802からの書き込み制御信号もデコードし、CPUバスI/F903から書き込みイネーブル信号wr_enがアサートされると、書き込みデータdec2_inの値をdec2_outとしてDタイプ・フリップフロップ905に出力する。そして、Dタイプ・フリップフロップ905の出力は、メモリマップ選択信号map_selとしてCPUバス・マルチプレクサ807に入力される。
The
即ち、メモリマップ選択信号map_selは、システムリセットの解除によってアクティブとなり、その後、プログラム(即ち、CPU802)によってリマップレジスタ(即ち、Dタイプ・フリップフロップ905)に“0”を書き込むことで非アクティブにすることができるように構成されている。 That is, the memory map selection signal map_sel becomes active when the system reset is released, and then becomes inactive by writing “0” to the remap register (ie, the D-type flip-flop 905) by the program (ie, the CPU 802). It is configured to be able to.
以下、実施例2における第一の特徴である、起動ROMの識別並びに動作モードの選択について説明する。 Hereinafter, identification of the boot ROM and selection of the operation mode, which are the first characteristics in the second embodiment, will be described.
上述したように、リセットコントローラ806のrom_selデコーダ901並びにフリップフロップ902によってリセット解除時の起動ROM識別端子gp[1:0]の値が取り込まれる。即ち、実施例2の構成ではROMモード選択信号rom_sel[1:0]が[00]の場合には、NOR型フラッシュメモリ・モード、[01]の場合にはNAND型フラッシュメモリ・モード、[10]の場合にはシリアルROM・モード、[11]の場合にはマスクROM・モードが選択されるように構成されている。そして、ROMコントローラ803は選択されたROMモードに応じたアクセスプロトコルでプログラムROM810にアクセスする。図8に示す例では、起動ROM識別端子gp[1:0]が2本共、プルダウンされているため、システムリセット解除時に、[00]が取り込まれ、ROMモード選択信号rom_sel[1:0]も[00]となるため、NOR型フラッシュメモリ・モードが選択される。
As described above, the value of the activation ROM identification terminal gp [1: 0] at the time of reset release is captured by the
尚、メモリマップ選択信号map_sel及びROMモード選択信号rom_sel[1:0]は、CPUバス・マルチプレクサ807にも入力される。
The memory map selection signal map_sel and the ROM mode selection signal rom_sel [1: 0] are also input to the
また、CPUバス801は、実施例1と同様に、AMBA、AHBで構成され、CPUバス・マルチプレクサ807もAMBA推奨の方式並びに構成をとっている。
Similarly to the first embodiment, the
但し、実施例2における第二の特徴である、第三のメモリマップのシャドウ制御のために、メモリマップ選択信号map_selが“1”で、ROMモード選択信号rom_sel[1:0]が[01]である場合、アドレスの上位ビットをマスクし、[0xF800_0000]〜[0xFFFF_FFFF]のアドレス入力に対して、[0x0000_0000]〜[0x07FF_FFFF]を出力する。 However, for shadow control of the third memory map, which is the second feature in the second embodiment, the memory map selection signal map_sel is “1” and the ROM mode selection signal rom_sel [1: 0] is [01]. If it is, the upper bits of the address are masked, and [0x0000_0000] to [0x07FF_FFFF] are output in response to the address input of [0xF800_0000] to [0xFFFF_FFFF].
以上のような構成並びに方法を採用することにより、プログラムROMとして、様々な種類のROMが使用されたシステムにおいても、システムのブート時の処理が適正に行われ、かつ、ブート後のメインプログラム実行時においても、それぞれ同じソフトウェア・ビューとなる。 By adopting the configuration and method as described above, even in a system in which various types of ROM are used as the program ROM, processing at the time of booting the system is properly performed and the main program is executed after booting. Even in time, each has the same software view.
これにより、ソフトウェアの開発ツールを共通化できる。また、場合によっては(製品仕様によっては)、全く同一のメインプログラムを使用できる。更には、これらの処理を行うための起動ROM識別端子gp[1:0]を通常の信号ピンと兼用することにより、端子数を増加させることなく具備することができる。 This makes it possible to share software development tools. In some cases (depending on the product specifications), the exact same main program can be used. Furthermore, the activation ROM identification terminal gp [1: 0] for performing these processes is also used as a normal signal pin, so that the number of terminals can be increased.
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。 Even if the present invention is applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), it is applied to an apparatus (for example, a copier, a facsimile machine, etc.) composed of a single device. It may be applied.
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。 Another object of the present invention is to supply a recording medium in which a program code of software realizing the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (CPU or MPU) of the system or apparatus stores it in the recording medium. Needless to say, this can also be achieved by reading and executing the programmed program code.
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。 In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium storing the program code constitutes the present invention.
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。 As a recording medium for supplying the program code, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like is used. be able to.
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, after the program code read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
100 半導体集積回路
101 CPUバス
102 CPU
103 ROMコントローラ
104 DMAコントローラ
105 メモリコントローラ
110 プログラムROM
120 メインメモリ
201 ROM領域
202 メインメモリ領域
300 半導体集積回路
301 CPUバス
302 CPU
303 ROMコントローラA
304 DMAコントローラ
305 メモリコントローラ
306 リセットコントローラ
307 CPUバス・マルチプレクサ(MUX)
308 ROMコントローラB
309 ROMバス・マルチプレクサ(MUX)
310 プログラムROM(NOR型フラッシュメモリ)
320 メインメモリ
330 リセットIC
340 外部装置
410 プログラムROM(NAND型フラッシュメモリ)
501 第一のメモリマップ
502 第二のメモリマップ
503 第三のメモリマップ
601 rom_selデコーダ
602 Dタイプ・フリップフロップ
603 CPUバスI/F
604 map_selデコーダ
605 Dタイプ・フリップフロップ(map_selレジスタ)
800 半導体集積回路
801 CPUバス
802 CPU
803 ROMコントローラC
804 DMAコントローラ
805 メモリコントローラ
806 リセットコントローラ
807 CPUバス・マルチプレクサ(MUX)
810 プログラムROM
820 メインメモリ
830 リセットIC
840 外部装置
901 rom_selデコーダ
902 Dタイプ・フリップフロップ
903 CPUバスI/F
904 map_selデコーダ
905 Dタイプ・フリップフロップ(map_selレジスタ)
100
103
120
303 ROM controller A
304
308 ROM controller B
309 ROM bus multiplexer (MUX)
310 Program ROM (NOR flash memory)
320
340
501
604 map_sel decoder 605 D-type flip-flop (map_sel register)
800 Semiconductor integrated
803 ROM controller C
804
810 Program ROM
820
840
904 map_sel decoder 905 D-type flip-flop (map_sel register)
Claims (6)
リセット時に、前記半導体集積回路に接続されているROMの種類を識別する識別手段と、
前記識別手段で識別したROMの種類に応じたアクセスプロトコルを実行するよう制御する制御手段とを有することを特徴とする半導体集積回路。 In a semiconductor integrated circuit that can switch the memory map between reset and normal,
Identification means for identifying the type of ROM connected to the semiconductor integrated circuit at the time of resetting;
And a control means for controlling to execute an access protocol corresponding to the type of ROM identified by the identification means.
前記選択手段は、前記識別手段で識別したROMの種類に応じて、前記第一のレベルの期間は該ROMの種類に対するリセット時のメモリマップを選択し、前記第二のレベルの期間は該ROMの種類に対する通常時のメモリマップを選択することを特徴とする請求項1に記載の半導体集積回路。 A selection means for selecting the memory map based on a signal that becomes a first level by the reset release and becomes a second level by writing a predetermined value in a predetermined register;
The selection unit selects a memory map at the time of reset for the ROM type during the first level according to the ROM type identified by the identification unit, and the ROM during the second level period. 2. The semiconductor integrated circuit according to claim 1, wherein a normal memory map is selected for each type.
前記制御手段は、前記識別手段で識別したROMの種類に応じたアクセスプロトコルを実行するよう前記ROMコントローラを制御することを特徴とする請求項1に記載の半導体集積回路。 A ROM controller that executes an access protocol to the ROM;
2. The semiconductor integrated circuit according to claim 1, wherein the control unit controls the ROM controller to execute an access protocol corresponding to a type of ROM identified by the identification unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004318238A JP2006127407A (en) | 2004-11-01 | 2004-11-01 | Semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004318238A JP2006127407A (en) | 2004-11-01 | 2004-11-01 | Semiconductor integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006127407A true JP2006127407A (en) | 2006-05-18 |
Family
ID=36722072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004318238A Withdrawn JP2006127407A (en) | 2004-11-01 | 2004-11-01 | Semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006127407A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011102440A1 (en) * | 2010-02-22 | 2011-08-25 | セイコーエプソン株式会社 | Storage device, substrate, liquid container and system |
JP2012520533A (en) * | 2009-03-31 | 2012-09-06 | インテル・コーポレーション | On-die system fabric block control |
JP2012183807A (en) * | 2011-03-08 | 2012-09-27 | Seiko Epson Corp | Recording apparatus, substrate, liquid container, host device, and system |
US8745433B2 (en) | 2010-02-22 | 2014-06-03 | Seiko Epson Corporation | Memory device, board, liquid container, host device, and system |
US9632557B2 (en) | 2011-09-30 | 2017-04-25 | Intel Corporation | Active state power management (ASPM) to reduce power consumption by PCI express components |
-
2004
- 2004-11-01 JP JP2004318238A patent/JP2006127407A/en not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012520533A (en) * | 2009-03-31 | 2012-09-06 | インテル・コーポレーション | On-die system fabric block control |
JP2014112387A (en) * | 2009-03-31 | 2014-06-19 | Intel Corp | Control of on-die system fabric blocks |
US8819388B2 (en) | 2009-03-31 | 2014-08-26 | Intel Corporation | Control of on-die system fabric blocks |
WO2011102440A1 (en) * | 2010-02-22 | 2011-08-25 | セイコーエプソン株式会社 | Storage device, substrate, liquid container and system |
US8364859B2 (en) | 2010-02-22 | 2013-01-29 | Seiko Epson Corporation | Storage device, board, liquid container and system |
US8745433B2 (en) | 2010-02-22 | 2014-06-03 | Seiko Epson Corporation | Memory device, board, liquid container, host device, and system |
JP2012183807A (en) * | 2011-03-08 | 2012-09-27 | Seiko Epson Corp | Recording apparatus, substrate, liquid container, host device, and system |
US9632557B2 (en) | 2011-09-30 | 2017-04-25 | Intel Corporation | Active state power management (ASPM) to reduce power consumption by PCI express components |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101173539B1 (en) | Multi-processor System and Method of initializing thereof | |
US20070180223A1 (en) | Computer system and method of booting the system | |
US20070006002A1 (en) | Information processing apparatus with central processing unit and main memory having power saving mode, and power saving controlling method | |
JP2004334486A (en) | Starting system using boot code and starting method | |
JP2822782B2 (en) | Single chip microcomputer | |
JP2008009817A (en) | Semiconductor device and data transfer method | |
KR20170123301A (en) | Micro computer | |
JP3943277B2 (en) | Microcomputer and electronic equipment | |
JP2006127407A (en) | Semiconductor integrated circuit | |
KR101620349B1 (en) | Bootable volatile memory appratus, memory module having it, and processing system, and method for booting processing system using it | |
JPH0969064A (en) | External memory system | |
JP2004192051A (en) | Shared terminal controller | |
US11966749B2 (en) | Processor and booting method thereof | |
JP2005107938A (en) | System for starting computer and data storage device | |
JP5823000B2 (en) | Microcomputer | |
US20050204089A1 (en) | Method and related system for accessing lpc memory or firmware memory in a computer system | |
JP2006048369A (en) | Interface circuit for card type memory, asic mounted with the same and image forming apparatus mounted with asic | |
JP2003173327A (en) | Semiconductor integrated circuit | |
US20030154369A1 (en) | Single chip microcomputer | |
JP3997505B2 (en) | System program rewriting method for programmable controller | |
JP2007305073A (en) | Data processor and memory controller chip | |
JP2002082819A (en) | Semiconductor integrated circuit device | |
JP2001034477A (en) | Initial program loading system | |
JP2009048322A (en) | Interface module and semiconductor integrated circuit | |
JP2000250759A (en) | Method for writing boot block for flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080108 |