Nothing Special   »   [go: up one dir, main page]

JP2006127407A - Semiconductor integrated circuit - Google Patents

Semiconductor integrated circuit Download PDF

Info

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
Application number
JP2004318238A
Other languages
Japanese (ja)
Inventor
Shunichi Kaizu
俊一 海津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004318238A priority Critical patent/JP2006127407A/en
Publication of JP2006127407A publication Critical patent/JP2006127407A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To deal with various kinds of program ROMs with a single semiconductor integrated circuit. <P>SOLUTION: At reset time, the kind of a program ROM 310 connected to the semiconductor integrated circuit 300 is identified, either a ROM controller A303 or a ROM controller B308 is selected in accordance with the identified kind of the ROM, an access protocol for the ROM is executed, and a memory map is switched between the reset time and a normal time. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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 circuit 100 includes at least a CPU bus 101, a CPU 102, a ROM controller 103, a DMA controller 104, and a memory controller 105. Although other modules are also connected to the CPU bus 101, they are omitted to avoid inconvenience.

また、この半導体集積回路100の外部には、プログラムROM110、メインメモリ120が接続されている。ここで、プログラムROM110はNOR型フラッシュメモリによって構成されており、メインメモリ120はSDRAMによって構成されているものとする。   A program ROM 110 and a main memory 120 are connected to the outside of the semiconductor integrated circuit 100. Here, it is assumed that the program ROM 110 is configured by a NOR flash memory, and the main memory 120 is configured by SDRAM.

図2は、従来技術におけるメモリマップを示す図である。尚、図2においては、メインメモリ領域202とROM領域201とが記されているが、メモリマップ上にマッピングされている他のモジュールやデバイスの領域は、煩瑣を避けるため省略している。
特開平06-027203号公報
FIG. 2 is a diagram showing a memory map in the prior art. In FIG. 2, the main memory area 202 and the ROM area 201 are shown, but the areas of other modules and devices mapped on the memory map are omitted to avoid inconvenience.
Japanese Patent Laid-Open No. 06-027203

しかしながら、ある製品ジャンルの上級機種から低価格機までを一つの半導体集積回路でカバーしようとする場合、製品によって使用されるプログラム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 circuit 300 includes at least a CPU bus 301, a CPU 302, a ROM controller A303, a DMA controller 304, a memory controller 305, a reset controller 306, a CPU bus multiplexer (MUX) 307, a ROM controller B308, and a ROM. It consists of a bus multiplexer (MUX) 309.

尚、CPUバス301には他の機能モジュールも接続されているが、本発明とは関わりが無いため省略している。   Although other functional modules are also connected to the CPU bus 301, they are omitted because they are not related to the present invention.

この半導体集積回路300の外部には、プログラムROM310とメインメモリ320とが接続されている。また、半導体集積回路300のシステムリセット端子reset_LにはリセットIC330が接続され、起動ROM識別端子gpには外部装置340が接続されると共に、基板上でプルダウンされている。この起動ROM識別端子gpは、半導体集積回路300において、リセットコントローラ306に接続されると共に、他の機能モジュール(図示せず)にも接続されている。   A program ROM 310 and a main memory 320 are connected to the outside of the semiconductor integrated circuit 300. Further, the reset IC 330 is connected to the system reset terminal reset_L of the semiconductor integrated circuit 300, and the external device 340 is connected to the activation ROM identification terminal gp, and is pulled down on the substrate. The activation ROM identification terminal gp is connected to the reset controller 306 and also to another functional module (not shown) in the semiconductor integrated circuit 300.

尚、プログラムROM310はNOR型フラッシュメモリであり、メインメモリ320はSDRAMである。   The program ROM 310 is a NOR flash memory, and the main memory 320 is an SDRAM.

図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 program ROM 310 is replaced with the program ROM 410 and that the activation ROM identification terminal gp is pulled up on the substrate, and the others are the same as FIG. Here, the program ROM 410 is a NAND flash memory.

図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 integrated circuit 300 of the first embodiment, when the value of the activation ROM identification terminal gp at the time of releasing the system reset is “0” (in the case of FIG. 3), the NOR type flash memory (first ROM) mode is set. When it is selected and “1” (in the case of FIG. 4), the NAND flash memory (second ROM) mode is selected.

図3に示すNOR型フラッシュメモリ・モードが選択された場合は、システムリセット解除後に、図5に示す501の第一のメモリマップが選択される。このメモリマップは、従来技術で説明した図2と同様である。   When the NOR type flash memory mode shown in FIG. 3 is selected, the first memory map 501 shown in FIG. 5 is selected after the system reset is released. This memory map is the same as FIG. 2 described in the prior art.

これに対して、図4に示すNAND型フラッシュメモリ・モードが選択された場合は、システムリセット解除後に、図5に示す502の第二のメモリマップが選択される。上述したように、NAND型フラッシュメモリはシーケンシャルアクセスを基本とするメモリであるため、ジャンプ命令や条件分岐命令等を使用することができない。そのため、このモードでは、ブート処理を二段階に分けて行う。   On the other hand, when the NAND flash memory mode shown in FIG. 4 is selected, the second memory map 502 shown in FIG. 5 is selected after the system reset is released. As described above, since the NAND flash memory is a memory based on sequential access, jump instructions, conditional branch instructions, and the like cannot be used. Therefore, in this mode, the boot process is performed in two stages.

まず、システムリセット解除後に、プログラム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 program ROM 410 to the main memory 320 in the RAM area or the main memory area in the CPU 302 is executed. Thereafter, the generated program code is executed, and a process of transferring (copying) the main program onto the main memory 320 is performed. When the transfer of the main program is completed, the boot process is completed, and thereafter the main program on the main memory 320 is executed.

更に、NAND型フラッシュメモリ・モードが選択された場合には、メインプログラムのメインメモリ320上への転送が完了すると、図5に示す503の第三のメモリマップにメモリマップの切り換えを行う。この切り換え処理は、ブートプログラムの最後で実行される。   Further, when the NAND flash memory mode is selected, when the transfer of the main program onto the main memory 320 is completed, the memory map is switched to the third memory map 503 shown in FIG. This switching process is executed at the end of the boot program.

この第三のメモリマップにおいては、第一のメモリマップ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 reset controller 306 included in the semiconductor integrated circuit 300 according to the first embodiment will be described.

図6は、実施例1におけるリセットコントローラ306の構成の一例を示すブロック図である。また、図7は、リセットコントローラ306内部の真理値表を示す図である。   FIG. 6 is a block diagram illustrating an example of the configuration of the reset controller 306 according to the first embodiment. FIG. 7 is a diagram showing a truth table inside the reset controller 306.

図6において、rom_selデコーダ601は、システムリセット信号reset_Lの立ち上がり(即ち、システムリセットの解除)を検知することにより、起動ROM識別端子gpの値を取り込み、Dタイプ・フリップフロップ602に出力する。Dタイプ・フリップフロップ602の出力は、ROMモード選択信号rom_selとして半導体集積回路300内部の各部に入力される。   In FIG. 6, the rom_sel decoder 601 detects the rising edge of the system reset signal reset_L (that is, cancels the system reset), thereby capturing the value of the activation ROM identification terminal gp and outputting it to the D-type flip-flop 602. The output of the D-type flip-flop 602 is input to each part in the semiconductor integrated circuit 300 as the ROM mode selection signal rom_sel.

尚、図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_sel decoder 601 after the system reset is released. For this reason, in the first embodiment, the startup ROM identification terminal gp is used as a general-purpose port (that is, a normal signal pin) at the normal time (that is, after the system reset is released), and other function modules (in FIGS. 3 and 4). Used for communication between the external device 340 and the external device 340.

このように、起動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 decoder 604 outputs “1” to the D-type flip-flop 605 by detecting the rising edge of the system reset signal reset_L. The D-type flip-flop 605 is one of general-purpose registers (map_sel register) for the CPU 302 and can write a value of “0” or “1” via the CPU bus 301 and the CPU bus I / F 603. it can.

また、map_selデコーダ604は、CPU302からの書き込み制御信号もデコードし、CPUバスI/F603から書き込みイネーブル信号wr_enがアサートされると、書き込みデータdec2_inの値をdec2_outとしてDタイプ・フリップフロップ605に出力する。そして、Dタイプ・フリップフロップ605の出力は、メモリマップ選択信号map_selとしてCPUバス・マルチプレクサ307に入力される。   The map_sel decoder 604 also decodes the write control signal from the CPU 302, and when the write enable signal wr_en is asserted from the CPU bus I / F 603, outputs the value of the write data dec2_in to the D-type flip-flop 605 as dec2_out. . The output of the D-type flip-flop 605 is input to the CPU bus multiplexer 307 as the memory map selection signal map_sel.

即ち、メモリマップ選択信号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 rom_sel decoder 601 and the flip-flop 602 of the reset controller 306. That is, since the activation ROM identification terminal gp is pulled down in the configuration shown in FIG. 3, “0” is taken in, and in the configuration shown in FIG. 4, the activation ROM identification terminal gp is pulled up, so “1”. Is captured.

実施例1の半導体集積回路300においては、ROMモード選択信号rom_selが“0”の場合にはNOR型フラッシュメモリ・モードが選択され、“1”の場合にはNAND型フラッシュメモリ・モードが選択されるように構成されている。   In the semiconductor integrated circuit 300 of the first embodiment, when the ROM mode selection signal rom_sel is “0”, the NOR type flash memory mode is selected, and when it is “1”, the NAND type flash memory mode is selected. It is comprised so that.

即ち、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 ROM bus multiplexer 309 selects the path between the ROM controller A303 and the external program ROM (310 in FIG. 3), and the ROM mode selection signal rom_sel is In the case of “1”, the path between the ROM controller B 308 and the external program ROM (410 in FIG. 4) is selected.

尚、メモリマップ選択信号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 bus multiplexer 307.

また、CPUバス301は、例えばARM社が仕様を定めたAMBA(Advanced Microcontroller Bus Architecture)、AHB(Advanced High-Performance Bus)で構成され、CPUバス・マルチプレクサ307もAMBA推奨の方式並びに構成をとっている。   The CPU bus 301 is composed of, for example, AMBA (Advanced Microcontroller Bus Architecture) and AHB (Advanced High-Performance Bus) specified by ARM, and the CPU bus multiplexer 307 also adopts the AMBA recommended method and configuration. Yes.

但し、実施例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 circuit 800 includes at least a CPU bus 801, a CPU 802, a ROM controller 803, a DMA controller 804, a memory controller 805, a reset controller 806, and a CPU bus multiplexer (MUX) 807.

尚、CPUバス801には他の機能モジュールも接続されているが、本発明とは関わりが無いため省略している。   Although other functional modules are also connected to the CPU bus 801, they are omitted because they are not related to the present invention.

この半導体集積回路800の外部には、プログラムROM810とメインメモリ820とが接続されている。また、半導体集積回路800のシステムリセット端子reset_LにはリセットIC830が接続され、起動ROM識別端子gp[1:0]には外部装置840が接続されると共に、2本共基板上でプルダウンされている。この起動ROM識別端子gp[1:0]は、半導体集積回路800において、リセットコントローラ806に接続されると共に、他の機能モジュール(図示せず)にも接続されている。   A program ROM 810 and a main memory 820 are connected to the outside of the semiconductor integrated circuit 800. Further, a reset IC 830 is connected to the system reset terminal reset_L of the semiconductor integrated circuit 800, an external device 840 is connected to the activation ROM identification terminal gp [1: 0], and the two are pulled down on the substrate. . The activation ROM identification terminal gp [1: 0] is connected to the reset controller 806 and also to other function modules (not shown) in the semiconductor integrated circuit 800.

尚、プログラムROM810はNOR型フラッシュメモリであり、メインメモリ820はSDRAMである。   The program ROM 810 is a NOR flash memory, and the main memory 820 is an SDRAM.

実施例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 ROM controller 803. This is what I did.

即ち、実施例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 circuit 800 according to the second embodiment, the case where a NOR flash memory is used as the program ROM and the case where a NAND flash memory is used are the same as those in the first embodiment. .

即ち、システムリセット解除時の起動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 first memory map 501 shown in FIG. 5 is selected after the system reset is released. This memory map is the same as in the prior art, Example 1.

これに対して、NAND型フラッシュメモリ・モードが選択された場合は、システムリセット解除後に、図5に示す502第二のメモリマップが選択される。上述したように、NAND型フラッシュメモリはシーケンシャルアクセスを基本とするメモリであるため、ジャンプ命令や条件分岐命令とを使用することができない。そのため、このモードでは、ブート処理を二段階に分けて行う。   On the other hand, when the NAND flash memory mode is selected, the second memory map 502 shown in FIG. 5 is selected after the system reset is released. As described above, since the NAND flash memory is a memory based on sequential access, jump instructions and conditional branch instructions cannot be used. Therefore, in this mode, the boot process is performed in two stages.

まず、システムリセット解除後に、プログラム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 program ROM 810 to the main memory 820 in the RAM area or the main memory area in the CPU 802 is executed. Thereafter, the generated program code is executed, and a process of transferring (copying) the main program onto the main memory 820 is performed. When the transfer of the main program is completed, the boot process is completed, and thereafter the main program on the main memory 820 is executed.

更に、NAND型フラッシュメモリ・モードが選択された場合には、メインプログラムのメインメモリ820上への転送が完了すると、図5に示す503の第三のメモリマップにメモリマップの切り換えを行う。この切り換え処理は、ブートプログラムの最後で実行される。   Further, when the NAND flash memory mode is selected, when the transfer of the main program onto the main memory 820 is completed, the memory map is switched to the third memory map 503 shown in FIG. This switching process is executed at the end of the boot program.

この第三のメモリマップでは、第一のメモリマップ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 circuit 800 according to the second embodiment, the serial ROM mode is set when the value of the activation ROM identification terminal gp [1: 0] is [10], and the mask ROM mode is set when [11]. The first memory map is selected as in the case of the NOR flash memory.

次に、実施例2における半導体集積回路800に含まれるリセットコントローラ806の詳細な構成及び動作について説明する。   Next, a detailed configuration and operation of the reset controller 806 included in the semiconductor integrated circuit 800 according to the second embodiment will be described.

図9は、実施例2におけるリセットコントローラ806の構成の一例を示すブロック図である。また、図10はリセットコントローラ806内部の真理値表を示す図である。   FIG. 9 is a block diagram illustrating an example of the configuration of the reset controller 806 according to the second embodiment. FIG. 10 is a diagram showing a truth table inside the reset controller 806.

図9において、rom_selデコーダ901は、システムリセット信号reset_Lの立ち上がり(即ち、システムリセットの解除)を検知することにより、起動ROM識別端子gp[1:0]の値を取り込み、Dタイプ・フリップフロップ902に出力する。Dタイプ・フリップフロップ902の出力は、ROMモード選択信号rom_sel[1:0]として半導体集積回路800内部の各部に入力される。   In FIG. 9, the rom_sel decoder 901 captures the value of the activation ROM identification terminal gp [1: 0] by detecting the rising edge of the system reset signal reset_L (that is, canceling the system reset), and the D-type flip-flop 902 Output to. The output of the D type flip-flop 902 is input to each part in the semiconductor integrated circuit 800 as a ROM mode selection signal rom_sel [1: 0].

尚、図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_sel decoder 901 after the system reset is canceled. For this reason, in the second embodiment, the startup ROM identification terminal gp [1: 0] is used as a general-purpose port (that is, a normal signal pin) at the normal time (that is, after the system reset is released), and other function modules (FIG. 8) (not shown in FIG. 8) and an external device 840.

このように、起動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 decoder 904 and the D-type flip-flop 905 are the same as those in the first embodiment. That is, the map_sel decoder 904 outputs “1” to the D-type flip-flop 905 by detecting the rising edge of the system reset signal reset_L. The D-type flip-flop 905 is one of general-purpose registers (map_sel register) for the CPU 802 and writes a value of “0” or “1” via the CPU bus 801 and the CPU bus I / F 903. it can.

また、map_selデコーダ904は、CPU802からの書き込み制御信号もデコードし、CPUバスI/F903から書き込みイネーブル信号wr_enがアサートされると、書き込みデータdec2_inの値をdec2_outとしてDタイプ・フリップフロップ905に出力する。そして、Dタイプ・フリップフロップ905の出力は、メモリマップ選択信号map_selとしてCPUバス・マルチプレクサ807に入力される。   The map_sel decoder 904 also decodes the write control signal from the CPU 802, and when the write enable signal wr_en is asserted from the CPU bus I / F 903, the value of the write data dec2_in is output to the D-type flip-flop 905 as dec2_out. . The output of the D-type flip-flop 905 is input to the CPU bus multiplexer 807 as the memory map selection signal map_sel.

即ち、メモリマップ選択信号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 rom_sel decoder 901 and the flip-flop 902 of the reset controller 806. That is, in the configuration of the second embodiment, when the ROM mode selection signal rom_sel [1: 0] is [00], the NOR flash memory mode is selected, and when the ROM mode selection signal rom_sel [1: 0] is [01], the NAND flash memory mode is [10]. ], The serial ROM mode is selected, and in the case of [11], the mask ROM mode is selected. Then, the ROM controller 803 accesses the program ROM 810 with an access protocol corresponding to the selected ROM mode. In the example shown in FIG. 8, since both of the activation ROM identification terminals gp [1: 0] are pulled down, [00] is fetched when the system reset is canceled, and the ROM mode selection signal rom_sel [1: 0] Therefore, the NOR type flash memory mode is selected.

尚、メモリマップ選択信号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 bus multiplexer 807.

また、CPUバス801は、実施例1と同様に、AMBA、AHBで構成され、CPUバス・マルチプレクサ807もAMBA推奨の方式並びに構成をとっている。   Similarly to the first embodiment, the CPU bus 801 is composed of AMBA and AHB, and the CPU bus multiplexer 807 also adopts the AMBA recommended system and configuration.

但し、実施例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.

従来技術を説明するための概略ブロック図である。It is a schematic block diagram for demonstrating a prior art. 従来技術におけるメモリマップを示す図である。It is a figure which shows the memory map in a prior art. 実施例1における半導体集積回路の構成の一例を示す概略ブロック図である。1 is a schematic block diagram illustrating an example of a configuration of a semiconductor integrated circuit in Embodiment 1. FIG. 実施例1の変形例における半導体集積回路の構成の一例を示す概略ブロック図である。FIG. 6 is a schematic block diagram illustrating an example of a configuration of a semiconductor integrated circuit according to a modification example of Example 1. 実施例1における半導体集積回路のメモリマップを示す図である。3 is a diagram illustrating a memory map of a semiconductor integrated circuit in Example 1. FIG. 実施例1におけるリセットコントローラ306の構成の一例を示すブロック図である。3 is a block diagram illustrating an example of a configuration of a reset controller 306 according to the first embodiment. FIG. リセットコントローラ306内部の真理値表を示す図である。It is a figure which shows the truth table inside a reset controller. 実施例2における半導体集積回路の構成の一例を示す概略ブロック図である。FIG. 6 is a schematic block diagram illustrating an example of a configuration of a semiconductor integrated circuit according to a second embodiment. 実施例2におけるリセットコントローラ806の構成の一例を示すブロック図である。6 is a block diagram illustrating an example of a configuration of a reset controller 806 in Embodiment 2. FIG. リセットコントローラ806内部の真理値表を示す図である。It is a figure which shows the truth table inside a reset controller 806.

符号の説明Explanation of symbols

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 Semiconductor Integrated Circuit 101 CPU Bus 102 CPU
103 ROM controller 104 DMA controller 105 Memory controller 110 Program ROM
120 Main memory 201 ROM area 202 Main memory area 300 Semiconductor integrated circuit 301 CPU bus 302 CPU
303 ROM controller A
304 DMA controller 305 Memory controller 306 Reset controller 307 CPU bus multiplexer (MUX)
308 ROM controller B
309 ROM bus multiplexer (MUX)
310 Program ROM (NOR flash memory)
320 Main memory 330 Reset IC
340 External device 410 Program ROM (NAND flash memory)
501 First memory map 502 Second memory map 503 Third memory map 601 rom_sel decoder 602 D-type flip-flop 603 CPU bus I / F
604 map_sel decoder 605 D-type flip-flop (map_sel register)
800 Semiconductor integrated circuit 801 CPU bus 802 CPU
803 ROM controller C
804 DMA controller 805 Memory controller 806 Reset controller 807 CPU bus multiplexer (MUX)
810 Program ROM
820 Main memory 830 Reset IC
840 External device 901 rom_sel decoder 902 D-type flip-flop 903 CPU bus I / F
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の種類として識別することを特徴とする請求項1に記載の半導体集積回路。   The semiconductor integrated circuit according to claim 1, wherein the identifying unit identifies a value of an external terminal of the semiconductor integrated circuit as a type of the ROM at the time of reset. 前記外部端子は、リセット解除後は通常の信号ピンとして使用可能であることを特徴とする請求項2に記載の半導体集積回路。   3. The semiconductor integrated circuit according to claim 2, wherein the external terminal can be used as a normal signal pin after reset is released. 前記リセット解除によって第一のレベルとなり、所定のレジスタに所定の値を書き込むことによって第二のレベルとなる信号に基づいて前記メモリマップを選択する選択手段を更に有し、
前記選択手段は、前記識別手段で識別した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領域に相当する領域は、別のROMの種類に対する通常時のメモリマップにおいては、メインメモリ上のプログラム格納領域のシャドウとして構成されていることを特徴とする請求項1に記載の半導体集積回路。   In the normal memory map, the area corresponding to the ROM area in the normal memory map for an arbitrary ROM type is the program storage area on the main memory in the normal memory map for another ROM type. The semiconductor integrated circuit according to claim 1, wherein the semiconductor integrated circuit is configured as a shadow of 前記ROMへのアクセスプロトコルを実行するROMコントローラを有し、
前記制御手段は、前記識別手段で識別した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.
JP2004318238A 2004-11-01 2004-11-01 Semiconductor integrated circuit Withdrawn JP2006127407A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (8)

* Cited by examiner, † Cited by third party
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