JP2004246699A - System lsi relieved of defect, compiler program for firmware mounted on system lsi, and shipping method for shipping system lsi - Google Patents
System lsi relieved of defect, compiler program for firmware mounted on system lsi, and shipping method for shipping system lsi Download PDFInfo
- Publication number
- JP2004246699A JP2004246699A JP2003036993A JP2003036993A JP2004246699A JP 2004246699 A JP2004246699 A JP 2004246699A JP 2003036993 A JP2003036993 A JP 2003036993A JP 2003036993 A JP2003036993 A JP 2003036993A JP 2004246699 A JP2004246699 A JP 2004246699A
- Authority
- JP
- Japan
- Prior art keywords
- system lsi
- memory
- firmware program
- area
- firmware
- 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.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、メモリ領域内の不良を救済したシステムLSI、そのシステムLSIに搭載するファームウエアのコンパイラプログラム、及びシステムLSIを出荷する出荷方法に関する。
【0002】
【従来の技術】
近年において、特定用途向けのシステムLSIが普及している。たとえば、DVDレコーダ・プレーヤやHDレコーダ・プレーヤなどのディジタルAV機器には、MPEGデコードを専用に行うシステムLSIが搭載される。また、プリンタなどには、ホストコンピュータから供給される印刷データを印刷用の画像データに展開する画像処理を行うシステムLSIが搭載される。このようなシステムLSIは、ASICと称される特定用途向けの集積回路であり、CPU、RAM、ROM、特定の機能を有するマクロなどが単一のチップに埋め込まれる。このようなシステムLSIは、システム・オン・チップ(SOC)と称される。
【0003】
また、このようなシステムLSIは、外付けの大容量メモリ、例えばDRAM、と共に共通のパッケージに格納される。このようなデバイスは、システム・イン・パッケージ(SIP)と称される。これらのSOCやSIPは、高機能、高集積度であり、一般的に高価なものになっている。
【0004】
一方、メモリ装置内に不良セルが含まれる場合に、その不良セルを含む単位メモリ領域を除いてアクセス可能にしたメモリ装置が提案されている(特許文献1)。
【0005】
【特許文献1】
特開平11−25004号公報
【0006】
【発明が解決しようとする課題】
上記SOCやSIPなどのシステムLSIは、内蔵されるメモリまたは外付けメモリに欠陥が存在する場合、当該SOCまたはSIP全体が欠陥となり、歩留まりの低下になる。このような高価なデバイスの歩留まり低下はできるだけ避けることが望まれる。
【0007】
そこで、本発明の目的は、SOCやSIPなどのシステムLSIにおいて、内蔵するメモリに欠陥が存在していても救済できる新規なシステムLSIを提供することにある。
【0008】
また、本発明の別の目的は、SOCやSIPなどのシステムLSIにおいて、内蔵するメモリに欠陥が存在していても、そのシステムLSIを救済することができる生産方法を提供することにある。
【0009】
更に、本発明の別の目的は、SOCやSIPなどのシステムLSIにおいて、内蔵するメモリに欠陥が存在していても、そのシステムLSIを救済することができるコンパイラプログラムを提供することにある。
【0010】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第1の側面は、所定のファームウエアプログラムを実行するCPUと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムLSIにおいて、前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、前記インストールされるファームウエアプログラムは、前記ワーク領域内の欠陥領域へのアクセスを行わないことを特徴とする。
【0011】
上記発明の第1の側面によれば、メモリのワーク領域の特定領域へのアクセスを行わないファームウエアプログラムが、当該特定領域に対応して複数種類準備されていて、システムLSIの出荷段階でワーク領域内に欠陥が検出された場合は、その欠陥を有する特定領域に対応するファームウエアプログラムが選択され、当該システムLSIと共に出荷される。従って、システムLSIの内蔵メモリにインストールされるファームウエアプログラムは、メモリのワーク領域へのアクセスにおいて、欠陥が含まれる領域へのアクセスを行わない。
【0012】
上記発明の第1の側面において、ファームウエアプログラムがインストールされるメモリは、CPUと共通のチップ内に内蔵される場合と、CPUを有するチップと共通のパッケージ内に内蔵される場合のいずれであってもよい。
【0013】
更に、上記発明の第1の側面において、好ましい実施例では、選択されたファームウエアプログラムが、内蔵されるファームウエア用メモリに格納されて出荷される。従って、起動時においてこのファームウエア用メモリからファームウエアプログラムが内蔵メモリにダウンロードされ格納される。
【0014】
上記の目的を達成するために、本発明の第2の側面は、所定のファームウエアプログラムを実行するCPUと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムLSIにおいて、前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、前記インストールされるファームウエアプログラムは、前記インストール領域内に欠陥が存在する場合に、前記ワーク領域内にインストールされることを特徴とする。
【0015】
上記の目的を達成するために、本発明の第3の側面は、所定のファームウエアプログラムを実行するCPUと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムLSIに対して、試験を行って前記メモリ内の欠陥領域を検出する工程と、前記メモリの特定領域へのアクセスを行わず、当該特定領域に対応して生成された複数のファームウエアプログラムの中から、前記検出された欠陥領域を含む特定領域に対応するファームウエアプログラムを選択して、前記システムLSIと共に出荷する工程とを有することを特徴とする。
【0016】
上記の目的を達成するために、本発明の第4の側面は、所定のファームウエアプログラムを実行するCPUと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムLSIにおける、前記ファームウエアプログラムを生成するコンパイラプログラムにおいて、前記ファームウエアプログラムを入力して解析する手順と、前記メモリ内の欠陥領域へのアクセスコードを当該欠陥領域外へのアクセスコードに変換してオブジェクトコードに変換する手順とをコンピュータに実行させることを特徴とする。
【0017】
上記発明の第4の側面のコンパイラプログラムを利用することにより、出荷試験においてメモリ内に欠陥が見つかったシステムLSIに対してもインストール可能なファームウエアプログラムを、自動的に生成することができ、システムLSIの歩留まり向上に寄与することができる。
【0018】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【0019】
図1は、本実施の形態におけるシステムLSIの一例を示す図である。このシステムLSIは、デジタルAV機器などに搭載されるMPEGエンコーダである。システムLSI10は、CPUと、CPUが実行するファームウエアプログラムがインストールされる内蔵メモリ12と、メモリコントローラ14と、起動時に外部からファームウエアプログラムをインストールするなどの起動プログラムが格納されるブートROMとが、内蔵バス11を介して接続される。また、このシステムLSI10は、ビデオ信号IN1を入力してMPEG形式にエンコードするビデオエンコード部16と、オーディオ信号IN2を入力してエンコードするオーディオエンコード部18と、両エンコードされたエンコード信号を多重化する多重化処理部20と、外部のPCIバスCI−BUSとのインターフェースを行うPCIインターフェース部22とを有する。多重化処理されたMPEGエンコード信号は、このインターフェーズ部22から外部のバスに出力される。
【0020】
システムLSIは、PCIバスPCI−BUSを介してホストコンピュータ24と接続される。また、ホストコンピュータ24には、システムLSI10がインストールするファームウエアプログラムを有するMPEGドライバプログラム26が格納されている。そして、電源起動時に、このMPEGドライバプログラム26が有するファームウエアプログラムが、起動プログラムの実行に応答して、システムLSI10の内蔵メモリ12にインストールされる。図1の例では、内蔵メモリ12は、同期型のDRAM(SDRAM)である。
【0021】
このシステムLSIは、電源投入時において、内蔵されるブートROM内の起動プログラムがCPUにより実行され、それに伴って、ドライバ16が有するファームウエアプログラムが、内蔵メモリ12内にダウンロードされる。このダウンロードによりインストールされたファームウエアプログラムが、その後CPUにより逐一実行され、ビデオエンコード部16やオーディオエンコード部18,そして多重化処理部20などの処理が制御される。
【0022】
図2は、図1のシステムLSIのアドレス空間の一例を示す図表である。システムLSIに内蔵されるブートROM、SDRAM12、SDRAMインターフェースコントローラ14、ビデオエンコード部16、多重化処理部20、オーディオエンコード部18に対して、それぞれ図表に示されるアドレス空間とサイズが割り当てられている。内蔵メモリであるSDRAMには、アドレス0x8000000〜0x87FFFFFの空間が割り当てられていて、そのアドレス空間のうち、アドレス0x8000000〜0x802CFFFがファームウエアプログラムがインストールされる領域Aに、アドレス0x802D000〜0x87FFFFFがファームウエアプログラムがアクセスするワーク領域の領域Bにそれぞれ割り当てられている。
【0023】
図3は、メモリ12の構成を示す図である。図3(1)はメモリ内に欠陥が存在しない場合、図3(2)はメモリの領域Bの特定の領域B2に欠陥が存在する場合をそれぞれ示す。メモリ12は、インストール領域Aとワーク領域Bとを有し、インストール領域Aの容量は、ワーク領域Bの容量に比較するとごく僅かである。そこで、ワーク領域Bを4つの領域B1〜B4に分割し、欠陥領域を含む分割領域B1〜B4を検出し、その検出された領域にアクセスしないファームウエアプログラムが選択されて、システムLSIに添付または格納されて出荷される。
【0024】
図4は、本実施の形態におけるファームウエアプログラムの一例を示す図である。図4(1)は、メモリ12のワークメモリ領域B内に欠陥がない場合、図4(2)は、メモリ12のワークメモリ領域B内の領域B2に欠陥がある場合をそれぞれ示す。ワーク領域Bは、前述の通り4つに等分割されている。そして、システムLSIの後述する出荷試験において、ワーク領域B内に欠陥が存在するか否かのチェックが行われる。この例では、インストール領域A内には欠陥が存在しないことが前提である。
【0025】
メモリ12内に欠陥が存在しない場合は、欠陥がない場合のファームウエアプログラムF0がインストール領域Aにインストールされる。このファームウエアプログラムF0は、図中に示されるように、例えば、領域B1内のアドレスa1の値とアドレスa2の値とを加算する加算演算コードADDと、領域B2内のアドレスa3の値と領域B3内のアドレスa4の値とを乗算する乗算演算コードMUXと、インストール領域A内のアドレスx1にジャンプするジャンプ命令コードJMPとを有する。
【0026】
メモリ12のワーク領域B内に欠陥が検出された場合は、その欠陥を含む領域へのアクセスを行わないファームウエアプログラムがインストールされる。図4(2)の例では、領域B2内に欠陥が検出されたため、領域B2以外の領域B1,B3,B4にアクセスするファームウエアプログラムF2がインストールされる。このファームウエアプログラムF2は、図中に示されるように、前述のプログラムF0の乗算演算コードMUXが、領域B3内のアドレスa3+dの値と領域B4内のアドレスa4+dの値とを乗算するコードに変更されている。ここで、アドレス幅dは、欠陥が検出された領域B2のアドレス幅に対応する。
【0027】
つまり、欠陥が存在しない場合にインストールされるファームウエアプログラムF0のアクセス先アドレスが、欠陥が検出された領域B2のアドレス以上の場合は、そのアクセス先アドレスを領域B2のアドレス幅dだけずらすことで、その領域B2へのアクセスを行わないファームウエアプログラムF2に変換することができる。このような変換は、後述するコンパイラプログラムにより実現される。
【0028】
図5は、本実施の形態におけるファームウエアプログラムの別の例を示す図である。このファームウエアプログラムFAは、メモリ12のインストール領域A内に欠陥が検出された場合のプログラムである。ファームウエアプログラムは、ブートROM内の起動プログラムの実行により、画一的にメモリ12のインストール領域Aの先頭番地以降のアドレス領域にインストールされなければならない。そこで、インストール領域Aの先頭番地を含むごく小容量の領域A1は欠陥が存在しないことを前提とする。そして、起動プログラムの実行によりこの小容量領域A1には、ファームウエアFAの初期化用ファームウエアFA−iがインストールされる。このインストールは、図1に示したドライバ26が、起動プログラムのインストール命令に応答して、通常のファームウエアではなく、初期化用ファームウエアFA−iを返信することにより可能である。
【0029】
この初期化用ファームウエアFA−iには、ファームウエアプログラムFAを領域B1の先頭アドレスdA+1以降にインストールする命令コードINSTと、その先頭アドレスdA+1にジャンプする命令コードJMPとを少なくとも有する。そして、ブートROM内の起動プログラムによりインストールされた初期化用ファームウエアFA−iが実行される時に、初回に限りインストール命令INSTが実行され、ドライバ26からファームウエアプログラムFAが領域B1にインストールされる。初回以降は、初期化用ファームウエアFA−iのジャンプ命令JMPにより、領域B1にインストールされたファームウエアプログラムFAが実行される。
【0030】
このファームウエアプログラムFAは、図4(1)のファームウエアプログラムF0のアクセス先アドレスa1,a2,a3,a4が、それぞれa1+d,A2+d,A3+d,A4+dに変換され、更に、ジャンプ先プログラムアドレスx1がx1+Adに変換されている。ここで、dは領域B1のアドレス幅であり、dAは領域Aのアドレス幅である。つまり、欠陥が存在する領域Aのアドレス幅dAだけプログラムアドレスx1がシフトされ、ファームウエアプログラムFAがインストールされた領域B1のアドレス幅dだけアクセス先アドレスa1〜a4がシフトされている。
【0031】
図6は、本実施の形態におけるシステムLSIの出荷プロセスを示すフローチャート図である。チップ製造工程S1でシステムLSIが製造され、出荷時に試験・選別工程S2にて、その内蔵メモリの動作試験が行われる。この試験により、内蔵メモリ12のどの領域に欠陥が存在するか否かが検出され、欠陥がないチップと欠陥があるチップとに選別され、更に、欠陥があるチップは、欠陥が含まれる領域B1〜B4、領域Aに対応して選別される。
【0032】
一方、システムLSIにインストール予定のファームウエアプログラムがプログラミング工程S3にて生成され、そのソースコードであるファームウエアプログラムFWが、コンパイル工程S4にて、オブジェクトコードに変換される。このコンパイル工程S4では、欠陥の有無及び欠陥が存在する領域に対応して、6種類のファームウエアプログラムF0、F1〜F4、FAのオブジェクトコードに変換される。変換されたプログラムは、データベースに登録される(S5)。
【0033】
そして、試験・選別工程S2にて選別されたそれぞれのシステムLSIは、対応するファームウエアプログラムのオブジェクトコードと対応つけられ(S6)、その対応つけられたファームウエアプログラムと共に出荷される(S7)。従って、このシステムLSIを購入したユーザは、添付されているファームウエアプログラムをドライバ26に格納して、ホストコンピュータ24にインストールする。その結果、システムLSIが起動するときに、その対応するファームウエアプログラムが内蔵メモリ12にダウンロードされ格納される。
【0034】
図7は、本実施の形態におけるコンパイラプログラムの手順を示すフローチャート図である。このコンパイラプログラムは、図6におけるコンパイル工程S4にて、図示しないコンピュータにより実行され、ファームウエアプログラムのソースコードをオブジェクトコードに変換する。
【0035】
コンパイラプログラムは、まず、コンパイル対象のプログラムを入力し(S10)、更に、欠陥情報を入力する(S12)。この欠陥情報は、前述の例では、システムLSIのメモリ12内に欠陥なし、領域B1〜B4に欠陥あり、領域Aに欠陥ありの、6種類である。次に、コンパイラプログラムは、入力したコンパイル対象プログラムの構文解析を行い(S14)、欠陥情報が欠陥ありか否かにより(S16)、欠陥なしの場合は、単純にオブジェクトコードに変換する(S20)。また、欠陥ありの場合は、その欠陥を含む領域を使用しないようにアドレスを変換して、オブジェクトコードに変換される(S21)。アドレスの変換例は、図4、図5で示した通りである。
【0036】
上記のコンパイル処理を、全ての種類の欠陥情報に対応して実行することにより、6種類のファームウエアプログラムのオブジェクトコードが生成される。この生成された6種類のオブジェクトコードは、前述のとおりデータベースに登録される。
【0037】
図8は、第2の実施の形態におけるシステムLSIの一例を示す図である。この例では、システムLSI10は、内蔵メモリ12にインストールされるファームウエアプログラムを格納した不揮発性メモリ28を有する。この不揮発性メモリ28は、ファームウエアプログラムを書き込むことができ、電源が切断されてもそれを保持することができるメモリであり、例えば、フラッシュメモリが利用される。それ以外の構成は、図1のシステムLSIと同じである。それに伴って、ホストコンピュータ24からは、ファームウエアプログラムが供給されることはない。
【0038】
このシステムLSIでは、電源起動時において、CPUがブートROM内の起動プログラムを実行して、不揮発性メモリ28内のファームウエアプログラムを内蔵メモリ12のインストール領域Aにダウンロードし格納する。その後は、その格納されたファームウエアプログラムがCPUにより逐一実行される。
【0039】
図9は、図8のシステムLSIのアドレス空間の一例を示す図表である。この例では、ブートROMのアドレス空間に加えて、不揮発性メモリのアドレス空間も割り当てられている。そして、SDRAMからなる内蔵メモリやそれ以外の回路のアドレス空間は、図2の例と同じである。
【0040】
従って、第2の実施の形態の場合も、内蔵メモリ12に欠陥がある場合とない場合、欠陥がある場合はどの領域にあるかに対応して、それぞれのファームウエアプログラムが内蔵メモリ12内のインストール領域Aにダウンロードされ格納される。そのファームウエアプログラムの例は、図4,5に示した例と同じである。但し、その選択されたファームウエアプログラムは、システムLSI内の不揮発性メモリ28内に出荷時に格納される。
【0041】
図10は、第2の実施の形態におけるシステムLSIの出荷プロセスを示すフローチャート図である。この出荷プロセスは、図6の出荷プロセスと異なり、試験・選別工程S2で選別されたシステムLSIの不揮発性メモリ28に、ファームウエア格納工程S8にて、データベースに登録済みの対応するファームウエアが記録される。それ以外の工程は、図6と同じである。
【0042】
このようにして出荷されたシステムLSIは、ユーザによりディジタルAV機器などに搭載される。かかる機器の電源が投入された時、システムLSIに内蔵された不揮発性メモリ内のファームウエアプログラムが内蔵メモリ12にダウンロードされ、その後は、そのダウンロードされたファームウエアプログラムがCPUにより実行される。
【0043】
以上説明した実施の形態では、ファームウエアがダウンロードされ格納されるメモリ12が、システムLSIと同じチップ内に内蔵されている。しかしながら、かかるメモリ12は、システムLSIと別のチップで共通のパッケージに搭載されていても良い。
【0044】
また、上記の実施の形態では、内蔵メモリの欠陥領域に対応したファームウエアプログラムを、システムLSIに添付して、若しくはシステムLSI内のファームウエア用メモリに格納して、出荷される。本発明は、それに限定されず、全ての種類のファームウエアプログラムがシステムLSIに添付して、若しくはファームウエア用メモリに格納して出荷されてもよい。その場合、そのファームウエアプログラムをインストールすべきかを識別する情報が、システムLSI内の不揮発性メモリ等に格納される。そして、ブートROM内の起動プログラムは、その識別情報を参照して、対応するファームウエアプログラムを内蔵メモリ12にダウンロードし格納する。
【0045】
以上、実施の形態例をまとめると以下の付記の通りである。
【0046】
(付記1)所定のファームウエアプログラムを実行するCPUと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムLSIにおいて、
前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、前記インストールされるファームウエアプログラムは、前記ワーク領域内の欠陥領域へのアクセスを行わないことを特徴とするシステムLSI。
【0047】
(付記2)所定のファームウエアプログラムを実行するCPUと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムLSIにおいて、
前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、
前記インストールされるファームウエアプログラムは、前記インストール領域内に欠陥が存在する場合に、前記ワーク領域内にインストールされることを特徴とするシステムLSI。
【0048】
(付記3)付記1または2において、
更に、前記ファームウエアプログラムが当該システムLSIに添付され、
当該添付されたファームウエアプログラムが、前記システムLSIの外部からダウンロードされることを特徴とするシステムLSI。
【0049】
(付記4)付記1または2において、
更に、前記ファームウエアプログラムを格納したファームウエア格納メモリを有し、
当該ファームウエア格納メモリから前記ファームウエアプログラムがダウロードされることを特徴とするシステムLSI。
【0050】
(付記5)所定のファームウエアプログラムを実行するCPUと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムLSIに対して、試験を行って前記メモリ内の欠陥領域を検出する工程と、
前記メモリの特定領域へのアクセスを行わず、当該特定領域に対応して生成された複数のファームウエアプログラムの中から、前記検出された欠陥領域を含む特定領域に対応するファームウエアプログラムを選択して、前記システムLSIと共に出荷する工程と
を有することを特徴とするシステムLSIの出荷方法。
【0051】
(付記6)付記5において、
前記出荷工程において、前記選択されたファームウエアプログラムを前記システムLSI内のファームウエア格納メモリに格納することを特徴とするシステムLSIの出荷方法。
【0052】
(付記7)所定のファームウエアプログラムを実行するCPUと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムLSIにおける、前記ファームウエアプログラムを生成するコンパイラプログラムにおいて、
前記ファームウエアプログラムを入力して解析する手順と、
前記メモリ内の欠陥領域へのアクセスコードを当該欠陥領域外へのアクセスコードに変換してオブジェクトコードに変換する手順と
をコンピュータに実行させることを特徴とするコンパイラプログラム。
【0053】
(付記8)付記7において、
前記メモリは、前記ファームウエアプログラムがインストールされるインストール領域と、当該ファームウエアプログラムがアクセスするワーク領域とを有し、
前記変換手順において、前記ワーク領域内の前記欠陥領域へのアクセスコードを、当該ワーク領域内の欠陥領域以外の領域へのアクセスコードに変換することを特徴とするコンパイラプログラム。
【0054】
【発明の効果】
以上、本発明によれば、内蔵メモリに欠陥が存在していても、そのシステムLSIデバイスを救済することができ、歩留まりを高めることができる。
【図面の簡単な説明】
【図1】本実施の形態におけるシステムLSIの一例を示す図である。
【図2】図1のシステムLSIのアドレス空間の一例を示す図表である。
【図3】メモリ12の構成を示す図である。
【図4】本実施の形態におけるファームウエアプログラムの一例を示す図である。
【図5】本実施の形態におけるファームウエアプログラムの別の例を示す図である。
【図6】本実施の形態におけるシステムLSIの出荷プロセスを示すフローチャート図である。
【図7】本実施の形態におけるコンパイラプログラムの手順を示すフローチャート図である。
【図8】第2の実施の形態におけるシステムLSIの一例を示す図である。
【図9】図8のシステムLSIのアドレス空間の一例を示す図表である。
【図10】第2の実施の形態におけるシステムLSIの出荷プロセスを示すフローチャート図である。
【符号の説明】
10 システムLSI、12 内蔵メモリ、F0〜F4,FA ファームウエアプログラム、B1〜B4 ワーク領域[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a system LSI that has repaired a defect in a memory area, a compiler program for firmware mounted on the system LSI, and a shipping method for shipping the system LSI.
[0002]
[Prior art]
In recent years, system LSIs for specific applications have become widespread. For example, digital AV devices such as a DVD recorder player and an HD recorder player are equipped with a system LSI dedicated to MPEG decoding. A printer or the like is equipped with a system LSI for performing image processing for expanding print data supplied from a host computer into image data for printing. Such a system LSI is an application-specific integrated circuit called an ASIC, in which a CPU, a RAM, a ROM, a macro having a specific function, and the like are embedded in a single chip. Such a system LSI is called a system-on-chip (SOC).
[0003]
Further, such a system LSI is stored in a common package together with an external large-capacity memory, for example, a DRAM. Such a device is called a system in package (SIP). These SOCs and SIPs are highly functional, highly integrated, and generally expensive.
[0004]
On the other hand, a memory device has been proposed in which, when a defective cell is included in a memory device, the memory device can be accessed except for a unit memory area including the defective cell (Patent Document 1).
[0005]
[Patent Document 1]
JP-A-11-25004
[Problems to be solved by the invention]
In a system LSI such as the above-described SOC or SIP, if a defect exists in a built-in memory or an external memory, the entire SOC or SIP becomes defective, resulting in a decrease in yield. It is desired to avoid such a decrease in the yield of expensive devices as much as possible.
[0007]
Accordingly, an object of the present invention is to provide a new system LSI that can be remedied even if a built-in memory has a defect in a system LSI such as SOC or SIP.
[0008]
Another object of the present invention is to provide a production method that can repair a built-in memory of a system LSI such as SOC or SIP even if the built-in memory has a defect.
[0009]
Still another object of the present invention is to provide a compiler program that can rescue a system LSI such as an SOC or SIP even if the built-in memory has a defect, even if the built-in memory has a defect.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, a first aspect of the present invention is a system LSI having a CPU that executes a predetermined firmware program, and a memory in which the firmware program is installed at the time of startup. And a work area accessed by the installed firmware program, and the installed firmware program does not access a defective area in the work area.
[0011]
According to the first aspect of the present invention, a plurality of types of firmware programs that do not access a specific area of the work area of the memory are prepared corresponding to the specific area, and the firmware program is prepared at the stage of shipping the system LSI. When a defect is detected in the area, a firmware program corresponding to the specific area having the defect is selected and shipped together with the system LSI. Therefore, the firmware program installed in the internal memory of the system LSI does not access a defective area in accessing the work area of the memory.
[0012]
In the first aspect of the present invention, the memory in which the firmware program is installed is either built in a common chip with the CPU or built in a common package with the chip having the CPU. May be.
[0013]
Further, in the first aspect of the present invention, in a preferred embodiment, the selected firmware program is stored in a built-in firmware memory and shipped. Therefore, at the time of startup, the firmware program is downloaded from the firmware memory to the built-in memory and stored.
[0014]
In order to achieve the above object, a second aspect of the present invention is a system LSI having a CPU for executing a predetermined firmware program and a memory in which the firmware program is installed at the time of startup, wherein the memory is Having an installation area and a work area accessed by the installed firmware program, wherein the installed firmware program is installed in the work area when a defect exists in the installation area. It is characterized by that.
[0015]
In order to achieve the above object, a third aspect of the present invention is a method for testing a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup. Performing a step of detecting a defective area in the memory, and without accessing a specific area of the memory, from among a plurality of firmware programs generated corresponding to the specific area, Selecting a firmware program corresponding to a specific area including a defective area and shipping the selected firmware program together with the system LSI.
[0016]
In order to achieve the above object, a fourth aspect of the present invention relates to a firmware for a system LSI having a CPU for executing a predetermined firmware program and a memory in which the firmware program is installed at startup. In a compiler program for generating a program, a procedure of inputting and analyzing the firmware program, and a procedure of converting an access code to a defective area in the memory into an access code to the outside of the defective area and converting the code to an object code Are executed by a computer.
[0017]
By using the compiler program according to the fourth aspect of the present invention, it is possible to automatically generate a firmware program that can be installed even in a system LSI in which a defect is found in a memory in a shipping test. This can contribute to an improvement in the yield of LSI.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the scope of protection of the present invention is not limited to the following embodiments, but extends to the inventions described in the claims and their equivalents.
[0019]
FIG. 1 is a diagram illustrating an example of a system LSI according to the present embodiment. This system LSI is an MPEG encoder mounted on digital AV equipment and the like. The system LSI 10 includes a CPU, a built-in
[0020]
The system LSI is connected to the
[0021]
In the system LSI, when the power is turned on, a startup program in a built-in boot ROM is executed by the CPU, and accordingly, a firmware program included in the
[0022]
FIG. 2 is a chart showing an example of an address space of the system LSI of FIG. The address space and size shown in the table are assigned to the boot ROM, the
[0023]
FIG. 3 is a diagram illustrating a configuration of the
[0024]
FIG. 4 is a diagram illustrating an example of a firmware program according to the present embodiment. FIG. 4A shows a case where there is no defect in the work memory area B of the
[0025]
When there is no defect in the
[0026]
If a defect is detected in the work area B of the
[0027]
That is, if the access destination address of the firmware program F0 installed when no defect exists is equal to or larger than the address of the area B2 where the defect is detected, the access destination address is shifted by the address width d of the area B2. , Can be converted to a firmware program F2 that does not access the area B2. Such conversion is realized by a compiler program described later.
[0028]
FIG. 5 is a diagram illustrating another example of the firmware program according to the present embodiment. This firmware program FA is a program when a defect is detected in the installation area A of the
[0029]
The initialization firmware FA-i has at least an instruction code INST for installing the firmware program FA at the start address dA + 1 and thereafter of the area B1, and an instruction code JMP for jumping to the start address dA + 1. Then, when the initialization firmware FA-i installed by the boot program in the boot ROM is executed, the installation command INST is executed only for the first time, and the firmware program FA is installed from the driver 26 into the area B1. . After the first time, the firmware program FA installed in the area B1 is executed by the jump instruction JMP of the initialization firmware FA-i.
[0030]
In the firmware program FA, the access destination addresses a1, a2, a3, and a4 of the firmware program F0 in FIG. 4A are converted into a1 + d, A2 + d, A3 + d, and A4 + d, respectively. x1 + Ad. Here, d is the address width of the area B1, and dA is the address width of the area A. That is, the program address x1 is shifted by the address width dA of the area A where the defect exists, and the access destination addresses a1 to a4 are shifted by the address width d of the area B1 where the firmware program FA is installed.
[0031]
FIG. 6 is a flowchart showing a shipment process of the system LSI according to the present embodiment. A system LSI is manufactured in a chip manufacturing process S1, and an operation test of its built-in memory is performed in a test / selection process S2 at the time of shipment. By this test, it is detected which area of the built-in
[0032]
On the other hand, a firmware program to be installed in the system LSI is generated in the programming step S3, and the firmware program FW, which is the source code, is converted into an object code in the compiling step S4. In the compiling step S4, the firmware programs are converted into six types of firmware program F0, F1 to F4, and FA object codes corresponding to the presence / absence of a defect and the area where the defect exists. The converted program is registered in the database (S5).
[0033]
Each of the system LSIs selected in the test / selection step S2 is associated with an object code of a corresponding firmware program (S6), and shipped together with the associated firmware program (S7). Therefore, the user who has purchased this system LSI stores the attached firmware program in the driver 26 and installs it in the
[0034]
FIG. 7 is a flowchart illustrating a procedure of a compiler program according to the present embodiment. This compiler program is executed by a computer (not shown) in a compiling step S4 in FIG. 6, and converts the source code of the firmware program into object code.
[0035]
First, the compiler program inputs a program to be compiled (S10), and further inputs defect information (S12). In the example described above, there are six types of defect information: no defect in the
[0036]
By executing the above-mentioned compile processing for all types of defect information, six types of firmware program object codes are generated. The generated six types of object codes are registered in the database as described above.
[0037]
FIG. 8 is a diagram illustrating an example of a system LSI according to the second embodiment. In this example, the
[0038]
In this system LSI, when the power is turned on, the CPU executes the start program in the boot ROM, and downloads and stores the firmware program in the
[0039]
FIG. 9 is a chart showing an example of the address space of the system LSI of FIG. In this example, in addition to the address space of the boot ROM, the address space of the nonvolatile memory is also allocated. The address space of the built-in memory composed of the SDRAM and other circuits is the same as the example of FIG.
[0040]
Therefore, also in the case of the second embodiment, the respective firmware programs are stored in the built-in
[0041]
FIG. 10 is a flowchart illustrating a system LSI shipping process according to the second embodiment. This shipping process differs from the shipping process of FIG. 6 in that the corresponding firmware registered in the database is stored in the
[0042]
The system LSI shipped in this way is mounted on a digital AV device or the like by a user. When the power of the device is turned on, a firmware program in a non-volatile memory built in the system LSI is downloaded to the built-in
[0043]
In the embodiment described above, the
[0044]
Further, in the above embodiment, the firmware program corresponding to the defective area of the built-in memory is shipped attached to the system LSI or stored in the firmware memory in the system LSI. The present invention is not limited to this, and all kinds of firmware programs may be shipped attached to a system LSI or stored in a firmware memory. In this case, information for identifying whether the firmware program should be installed is stored in a nonvolatile memory or the like in the system LSI. Then, the boot program in the boot ROM refers to the identification information and downloads and stores the corresponding firmware program in the
[0045]
As described above, the embodiments are summarized as follows.
[0046]
(Supplementary Note 1) In a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup,
The memory has the installation area and a work area accessed by the installed firmware program, and the installed firmware program does not access a defective area in the work area. System LSI.
[0047]
(Supplementary Note 2) In a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup,
The memory has the installation area and a work area accessed by the installed firmware program,
The system LSI, wherein the installed firmware program is installed in the work area when a defect exists in the installation area.
[0048]
(Supplementary Note 3) In
Further, the firmware program is attached to the system LSI,
A system LSI, wherein the attached firmware program is downloaded from outside the system LSI.
[0049]
(Supplementary Note 4) In
Furthermore, it has a firmware storage memory storing the firmware program,
A system LSI, wherein the firmware program is downloaded from the firmware storage memory.
[0050]
(Supplementary Note 5) a step of performing a test on a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup to detect a defective area in the memory; ,
Without accessing the specific area of the memory, a firmware program corresponding to the specific area including the detected defective area is selected from a plurality of firmware programs generated corresponding to the specific area. And shipping the system LSI together with the system LSI.
[0051]
(Supplementary Note 6) In
In the shipping step, a method for shipping a system LSI, wherein the selected firmware program is stored in a firmware storage memory in the system LSI.
[0052]
(Supplementary Note 7) In a compiler program for generating the firmware program in a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup,
Inputting and analyzing the firmware program,
Converting the access code to the defective area in the memory into an access code to the outside of the defective area and converting the code to an object code.
[0053]
(Supplementary Note 8) In
The memory has an installation area where the firmware program is installed, and a work area accessed by the firmware program,
A compiler program, wherein in the conversion step, an access code to the defective area in the work area is converted into an access code to an area other than the defective area in the work area.
[0054]
【The invention's effect】
As described above, according to the present invention, even if a defect exists in the built-in memory, the system LSI device can be repaired, and the yield can be increased.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of a system LSI according to an embodiment.
FIG. 2 is a chart showing an example of an address space of the system LSI of FIG. 1;
FIG. 3 is a diagram showing a configuration of a
FIG. 4 is a diagram illustrating an example of a firmware program according to the present embodiment.
FIG. 5 is a diagram showing another example of a firmware program according to the present embodiment.
FIG. 6 is a flowchart illustrating a shipment process of a system LSI according to the present embodiment.
FIG. 7 is a flowchart illustrating a procedure of a compiler program according to the present embodiment.
FIG. 8 is a diagram illustrating an example of a system LSI according to a second embodiment;
FIG. 9 is a table showing an example of an address space of the system LSI of FIG. 8;
FIG. 10 is a flowchart illustrating a system LSI shipping process according to the second embodiment;
[Explanation of symbols]
10 system LSI, 12 built-in memory, F0 to F4, FA firmware program, B1 to B4 work area
Claims (5)
前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、前記インストールされるファームウエアプログラムは、前記ワーク領域内の欠陥領域へのアクセスを行わないことを特徴とするシステムLSI。In a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup,
The memory has the installation area and a work area accessed by the installed firmware program, and the installed firmware program does not access a defective area in the work area. System LSI.
前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、
前記インストールされるファームウエアプログラムは、前記インストール領域内に欠陥が存在する場合に、前記ワーク領域内にインストールされることを特徴とするシステムLSI。In a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup,
The memory has the installation area and a work area accessed by the installed firmware program,
The system LSI, wherein the installed firmware program is installed in the work area when a defect exists in the installation area.
更に、前記ファームウエアプログラムを格納したファームウエア格納メモリを有し、
当該ファームウエア格納メモリから前記ファームウエアプログラムがダウロードされることを特徴とするシステムLSI。In claim 1 or 2,
Furthermore, it has a firmware storage memory storing the firmware program,
A system LSI, wherein the firmware program is downloaded from the firmware storage memory.
前記メモリの特定領域へのアクセスを行わず、当該特定領域に対応して生成された複数のファームウエアプログラムの中から、前記検出された欠陥領域を含む特定領域に対応するファームウエアプログラムを選択して、前記システムLSIと共に出荷する工程と
を有することを特徴とするシステムLSIの出荷方法。Performing a test on a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup to detect a defective area in the memory;
Without accessing the specific area of the memory, a firmware program corresponding to the specific area including the detected defective area is selected from a plurality of firmware programs generated corresponding to the specific area. And shipping the system LSI together with the system LSI.
前記ファームウエアプログラムを入力して解析する手順と、
前記メモリ内の欠陥領域へのアクセスコードを当該欠陥領域外へのアクセスコードに変換してオブジェクトコードに変換する手順と
をコンピュータに実行させることを特徴とするコンパイラプログラム。A compiler program for generating the firmware program in a system LSI having a CPU that executes a predetermined firmware program and a memory in which the firmware program is installed at startup,
Inputting and analyzing the firmware program,
Converting the access code to the defective area in the memory into an access code to the outside of the defective area and converting the code to an object code.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003036993A JP2004246699A (en) | 2003-02-14 | 2003-02-14 | System lsi relieved of defect, compiler program for firmware mounted on system lsi, and shipping method for shipping system lsi |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003036993A JP2004246699A (en) | 2003-02-14 | 2003-02-14 | System lsi relieved of defect, compiler program for firmware mounted on system lsi, and shipping method for shipping system lsi |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004246699A true JP2004246699A (en) | 2004-09-02 |
Family
ID=33021934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003036993A Pending JP2004246699A (en) | 2003-02-14 | 2003-02-14 | System lsi relieved of defect, compiler program for firmware mounted on system lsi, and shipping method for shipping system lsi |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004246699A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11380418B2 (en) * | 2019-09-20 | 2022-07-05 | Samsung Electronics Co., Ltd. | Memory controllers, storage devices, and operating methods of the storage devices |
-
2003
- 2003-02-14 JP JP2003036993A patent/JP2004246699A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11380418B2 (en) * | 2019-09-20 | 2022-07-05 | Samsung Electronics Co., Ltd. | Memory controllers, storage devices, and operating methods of the storage devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005190201A (en) | Information processor and rom image generation device for the same | |
KR100717110B1 (en) | Rom data patch circuit, embedded system including the same and method of patching rom data | |
JP2008139908A (en) | Memory control device, computer system and data reproducing and recording device | |
US9348603B2 (en) | Electronic apparatus and booting method | |
JP2011095952A (en) | Method for updating firmware and electronic equipment | |
US20050207232A1 (en) | Access method for a NAND flash memory chip, and corresponding NAND flash memory chip | |
US20080216065A1 (en) | Information processing device, patch code application system, electronic instrument, and patch code application method | |
US8082477B2 (en) | Method of memory build-in self-test | |
JP2010092125A (en) | Computer system, memory diagnostic method, and memory diagnosis control program | |
US8688947B1 (en) | Aligned data access | |
JP2004246699A (en) | System lsi relieved of defect, compiler program for firmware mounted on system lsi, and shipping method for shipping system lsi | |
JP2010262715A (en) | System and method for inspecting memory | |
WO2002073411A1 (en) | Memory testing method, information recording medium, and semiconductor integrated circuit | |
US7047444B2 (en) | Address selection for testing of a microprocessor | |
EP1544731A1 (en) | Information processing method and program and recording medium for implementing the method | |
JP7135403B2 (en) | Dump processing device and image forming device | |
JP2010140167A (en) | Semiconductor integrated circuit | |
JP5279817B2 (en) | Test apparatus and test method | |
JP7316613B2 (en) | Abnormality detection method, abnormality detection program, abnormality detection device, rewriting method, rewriting program, and rewriting device | |
JP5279816B2 (en) | Test module, test apparatus and test method | |
TWI434174B (en) | Computer system and memory use setting program | |
JP4438739B2 (en) | Image forming apparatus | |
KR20060132804A (en) | Retrieving data from an information carrier | |
JP2004192604A (en) | Device and method for developing embedded software | |
JP2004021421A (en) | Control method for memory device, its program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080701 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080731 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081111 |