JP5049686B2 - 半導体装置及びその駆動方法 - Google Patents

半導体装置及びその駆動方法 Download PDF

Info

Publication number
JP5049686B2
JP5049686B2 JP2007192942A JP2007192942A JP5049686B2 JP 5049686 B2 JP5049686 B2 JP 5049686B2 JP 2007192942 A JP2007192942 A JP 2007192942A JP 2007192942 A JP2007192942 A JP 2007192942A JP 5049686 B2 JP5049686 B2 JP 5049686B2
Authority
JP
Japan
Prior art keywords
memory
language program
circuit
semiconductor device
machine language
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.)
Expired - Fee Related
Application number
JP2007192942A
Other languages
English (en)
Other versions
JP2008052723A (ja
JP2008052723A5 (ja
Inventor
洋樹 傳保
義元 黒川
正己 遠藤
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.)
Semiconductor Energy Laboratory Co Ltd
Original Assignee
Semiconductor Energy Laboratory Co Ltd
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 Semiconductor Energy Laboratory Co Ltd filed Critical Semiconductor Energy Laboratory Co Ltd
Priority to JP2007192942A priority Critical patent/JP5049686B2/ja
Publication of JP2008052723A publication Critical patent/JP2008052723A/ja
Publication of JP2008052723A5 publication Critical patent/JP2008052723A5/ja
Application granted granted Critical
Publication of JP5049686B2 publication Critical patent/JP5049686B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Thin Film Transistor (AREA)
  • Static Random-Access Memory (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Description

本発明は、半導体装置及びメモリ回路、並びにこれらの動作方法に関する。特に、高級言語プログラムから生成される機械語プログラムを内蔵するメモリ回路及び当該メモリ回路を内蔵する半導体装置、並びにこれらの動作方法に関する。また、本発明は、半導体装置及びメモリ回路に内蔵される機械語プログラムを作成する機械語プログラム生成装置に関する。
近年、電子技術の発展や、高度情報化社会の到来によって、半導体装置を利用した情報機器が普及し、軍事、医療、通信、教育、商取引などあらゆる分野において利用されている。特に、情報機器の中でも、プログラムに従って動作を行う半導体装置をコンピュータと呼び、コンピュータを搭載した情報機器は、今後、ますます普及すると予想される。
今日、広く利用されるコンピュータは、演算処理回路とメモリ回路とを有し、当該メモリ回路に内蔵された機械語プログラムに従って動作する。また、コンピュータはメモリ回路に内蔵された機械語プログラムを書き換えることにより機能を変更する。このようなコンピュータの構成方式をプログラム内蔵方式(ストアードプログラム方式ともいう)と呼ぶ。例えば、非特許文献1には、プログラム内蔵方式コンピュータの構成方法について示されている。
演算処理回路とメモリ回路を搭載するコンピュータにおいて、コンピュータの性能は、メモリ回路の動作速度によって決まる。例えば、演算処理回路が実行する機械語プログラムは、メモリ回路から順次読み出され実行される。また、演算処理回路が機械語プログラムを実行する際に、演算処理回路は、処理データをメモリ回路へ読み書きする。即ち演算処理回路とメモリ回路とを搭載する半導体装置は、高速化のために、高速なメモリ回路を要求する。
しかし、メモリ回路の動作が高速になればなるほど、当該メモリ回路を具備する半導体装置の消費電力が増大するという問題がある。また、メモリ回路を搭載する半導体装置の設計においては、メモリの最高消費電力を想定して電源分配、放熱対策などを施す必要があり、消費電力に比例して設計コストが増加する。従って、電池によって駆動する携帯式のコンピュータにおいては、特に半導体装置の低消費電力化が要求されている。
メモリ回路の消費電力を低減させる方法としては様々な方法があるが、例えば、メモリをブロック単位に分割し、命令ルーチンの実行頻度が高い順に命令ルーチンを格納したメモリブロックをメモリ回路内のメモリ番地が低い方から順に配置することで消費電力を削減する方法が提案されている(例えば、特許文献1)。また、メモリ回路に挿入するトランスファゲートの位置と個数を最適化することで、低消費電力化を達成する方法が開示されている(例えば、特許文献2)。
ヘネシー&パターソン著、「コンピュータ・アーキテクチャ」、P3〜28 (1992年12月25日、日経BP社) 特開2003−157200号公報 特開2001−85641号公報
上記のように様々な方法によって消費電力の低減が図られているが、メモリ回路の消費電力は低ければ低いほど良く、また、現状は充分な低消費電力化が図られているとは言い難い状態である。このため、さらなる消費電力の低下が望まれている。
本発明は、さらに消費電力の低下が可能な半導体装置及びメモリ回路、並びにこれらの動作方法を提案することを課題とする。
また、本発明は、半導体装置及びメモリ回路に内蔵される機械語プログラムを作成する機械語プログラム生成装置を提案することを課題とする。
本発明に係る半導体装置は、プログラム変換手段によって、高級言語プログラムから機械語プログラムを生成し、生成した機械語プログラムに基づいて動作させることによってメモリ回路の消費電力を低減することを特徴とする。
本発明に係る半導体装置は、演算回路と制御回路とを具備する演算処理回路と、ROM(read only memory)とRAM(random access memory)とを具備するメモリ回路とを有し、演算処理回路とメモリ回路は、アドレスバス及びデータバスを介して接続され、ROMは、演算処理回路を用いて実行される機械語プログラムが格納されており、RAMは、複数のバンクを有し、機械語プログラムを実行した際の処理データが、複数のスタックに分割されて複数のバンクに書き込まれ、複数のスタックにおいて、機械語プログラム終了まで読みだされないスタックが省かれ、書き込みが連続したスタックが同一のバンクに書き込まれるように、機械語プログラムに基づいて演算処理回路が動作することを特徴としている。
また、上記半導体装置の構成において、機械語プログラムは、プログラム変換手段により高級言語プログラムから生成され格納されたものであることを特徴としている。より具体的には、機械語プログラムは、高級言語プログラムが字句解析手段によりトークン列に分解され、トークン列が構文解析手段により分析されて構文木が作成され、構文木が意味解析手段により中間語に変換され、中間語がコード生成手段により実行コードに変換され、実行コードがスタック解析手段により分析されて解析結果が出力され、解析結果を用いて最適化手段により実行コードが変換されたものであることを特徴としている。
本発明に係る半導体装置の動作方法は、演算回路と制御回路とを具備する演算処理回路と、ROMとRAMとを具備するメモリ回路とを有し、演算処理回路とメモリ回路は、アドレスバス及びデータバスを介して接続され、ROMは、演算処理回路を用いて実行される機械語プログラムが格納されており、RAMは、複数のバンクを有し、機械語プログラムを実行した際の処理データが、複数のスタックに分割されて複数のバンクに書き込まれ、複数のスタックにおいて、演算処理回路が機械語プログラムを動作することによって、機械語プログラム終了まで読みだされないスタックが省かれ、書き込みが連続したスタックが同一のバンクに書き込まれることを特徴としている。
本発明に係るメモリ回路は、高級言語プログラムが字句解析手段によりトークン列に分解され、トークン列が構文解析手段により分析されて構文木が作成され、構文木が意味解析手段により中間語に変換され、中間語がコード生成手段により実行コードに変換され、実行コードがスタック解析手段により分析されて解析結果が出力され、解析結果を用いて最適化手段により実行コードが機械語プログラムに変換され、機械語プログラムがROMに格納され、ROMに格納された機械語プログラムが動作することを特徴としている。
また、本発明に係るメモリ回路は、機械語プログラムが格納されたROMと、複数のバンクが設けられたRAMとを有し、機械語プログラムを実行した際の処理データが、複数のスタックに分割されて複数のバンクに書き込まれ、複数のスタックにおいて、機械語プログラム終了まで読みだされないスタックが省かれ、書き込みが連続したスタックが同一のバンクに書き込まれるように、機械語プログラムが動作することを特徴としている。
また、上記メモリ回路の構成において、機械語プログラムは、プログラム変換手段により高級言語プログラムから生成され格納されたものであることを特徴としている。より具体的には、機械語プログラムは、高級言語プログラムが字句解析手段によりトークン列に分解され、トークン列が構文解析手段により分析されて構文木が作成され、構文木が意味解析手段により中間語に変換され、中間語がコード生成手段により実行コードに変換され、実行コードがスタック解析手段により分析されて解析結果が出力され、解析結果を用いて最適化手段により実行コードが変換されたものであることを特徴としている。
本発明に係るメモリ回路の動作方法は、機械語プログラムが格納されたROMと、複数のバンクが設けられたRAMとを有し、上記機械語プログラムを実行した際の処理データが、複数のスタックに分割されて複数のバンクに書き込まれ、複数のスタックにおいて、演算処理回路が機械語プログラムを動作することによって、機械語プログラム終了まで読みだされないスタックが省かれ、書き込みが連続したスタックが同一のバンクに書き込まれることを特徴としている。
本発明によって、演算処理回路とメモリ回路によって構成された半導体装置において、プログラム変換手段によって、メモリ回路に適した機械語プログラムを実行することにより、消費電力の低減を行うことができる。そのため、高性能で低消費電力の半導体装置を提供することが出来る。また、演算処理回路とメモリ回路によって構成された半導体装置において、動作方法が変更になることに伴って仕様が変更されても、半導体装置のマスク設計の段階から作り直す必要ない。そのため、製造コストの削減及び製造時間の短縮ができる。また、マスク設計を変更しないため、マスク設計の変更後、作成した半導体装置に不具合がおこるといった懸念もない。
本発明の実施の形態について、図面を用いて以下に説明する。但し、本発明は以下の説明に限定されず、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。なお、以下に説明する本発明の構成において、同じものを指す符号は異なる図面間で共通して用いる場合がある。
(実施の形態1)
本実施の形態では、本発明における消費電力を低減する機能を実現するための半導体装置とメモリ回路の一例に関して説明する。
図1に本発明における消費電力を低減する機能を搭載する半導体装置のブロック図を示す。
図1において、半導体装置100は、演算処理回路101、及びメモリ回路104を有する。演算処理回路101は、演算回路102、及び制御回路103を有する。また、メモリ回路104は、ROM105、RAM106を有する。演算処理回路101とメモリ回路104は、アドレスバス107とデータバス108によって接続される。アドレスバス107を流れるアドレスバス信号109は、メモリ回路内のアドレスを指定する信号であり、演算処理回路101からメモリ回路104へ送られる。また、データバス108を流れるデータバス信号110は、アドレスバス信号109によって指定されたメモリ回路内のアドレスのデータをメモリ回路104から演算処理回路101へ送るための信号である。
また、メモリ回路104に設けられたROM105には、スタートアップルーチン230と機械語プログラム200(メインプログラムともいう)のデータが格納され、RAM106には、機械語プログラム200を実行した際の処理データ210が格納される(図2参照)。ROM105は、マスクROM(Read Only Memory)、有機メモリ、EEPROM等の不揮発性メモリを用いることが可能であり、RAM106は、スタティック型メモリ(SRAM:Static Random Access Memory)やダイナミック型メモリ(DRAM:Dynamic Random Access Memory)等の揮発性メモリを用いることが可能である。
また、ROM105に格納される機械語プログラム200のデータは、本発明の機械語プログラム生成装置(プログラム変換手段とも表記する)221により高級言語プログラム220から生成される。RAM106は、n個のバンクにわかれており、機械語プログラム200を実行した際の処理データ210は複数のスタックに分かれてRAMのバンクに格納される。具体的には、第1の1番目のスタック204から第1のm番目のスタック240は第1のバンク201へ、第2の1番目のスタック205から第2のm番目のスタック241は第2のバンク202へ、第nの1番目のスタック206から第nのm番目のスタック242は第nのバンク203へ格納される。RAM106は、内部のデータの場所を示すアドレスを有する。アドレスは、0から始まり、RAM106のサイズが大きくなるほど増加する。なお、第1のバンク201は、アドレス0から始まり、第nのバンク203は、最後のアドレスで終わる。また、ROM105もサイズが大きくなるほどアドレスが増加する。
スタートアップルーチン230のデータは、機械語プログラム生成装置221により高級言語プログラム220から生成された機械語プログラム200のデータをROM105に格納する際に追加される。スタートアップルーチン230には、ROM105に格納された機械語プログラム200を実行した際の処理データ210を格納する、RAM106の最初のアドレス(スタックポインタともいう)を設定する命令が書かれており、スタートアップルーチン230は機械語プログラムが動作する前に実行される。例えば、スタートアップルーチン230にRAMの0番目のアドレスに相当する第1の1番目のスタック204をスタックポインタに設定する命令が書かれているならば、第1の1番目のスタック204が最初のスタックポインタとなる。したがって、機械語プログラム200を実行する際には、演算回路は第1の1番目のスタック204以降のスタックを、処理データ210を格納するために使用する。
次に、図1における半導体装置100の動作の一例に関し、図4のフローチャートを参照して説明する。
半導体装置100が有する演算処理回路101は、動作を開始すると(S400)、アドレスバス107にアドレスバス信号109として「0」を出力し、ROM105のアドレス「0」から始まるスタートアップルーチン230をデータバス108を介してデータバス信号110として読み出す(S401)。演算処理回路内の演算回路102は、スタートアップルーチン230に含まれるデータを解析し、実行する(S402)。演算回路102は、以後の処理データを格納するためにスタックポインタを設定する(S403)。最後に、演算回路102は、機械語プログラム200を実行し(S404)、動作を終了する(S405)。
また、本実施の形態で示す半導体装置において、複数(ここではn個)のバンクが設けられたRAM106には、ROM105の機械語プログラム200を実行した際の処理データ210が複数のスタックに分割されて格納される。このとき、機械語プログラム200に基づいて演算処理回路101が動作することによって、機械語プログラム200終了まで使用されないスタック、すなわち、機械語プログラム200終了まで読み出されないスタックが省かれる。また、機械語プログラム200に基づいて演算処理回路101が動作することによって、書き込みが連続したスタックが同一のバンクに書き込まれるように機械語プログラムが最適化される。その結果、メモリ回路や半導体装置の消費電力の低減を達成することができる。
以下、機械語プログラム生成装置221を用いた機械語プログラム200の生成に関し図面を参照して説明する。
機械語プログラム生成装置221は、字句解析手段300、構文解析手段301、意味解析手段302、コード生成手段303、スタック解析手段304、及び最適化手段305を有する(図3参照)。高級言語プログラム220は、字句解析手段300によってトークン列310(要素ともいう)に分解され、構文解析手段301によってトークン列310内のトークンのつながりを分析され、構文木311が作成される。次に、意味解析手段302によって、構文木311をもとに中間語312が作成される。中間語312は、コード生成手段303によって、演算処理回路101が実行可能な実行コード313に変換される。スタック解析手段304は、実行コード313を分析し、スタックの使用状況を調べ解析結果320を出力する。最後に最適化手段305は、解析結果320を元に実行コード313を最適化し、機械語プログラム200として出力する。
以下に、図5〜図14を参照して図3における機械語プログラム生成装置221での機械語プログラム200の生成処理を説明する。
図5に字句解析手段300のフローチャートを示す。ここでは、高級言語プログラム220を処理して、複数のトークンからなるトークン列310に分解する処理を行う。字句解析手段300は、動作を開始すると(S500)、高級言語プログラム220を読み込む(S501)。次に、字句解析手段300は、高級言語プログラム220に対応したトークン辞書を読み込む(S502)。字句解析手段300は、読み込んだトークン辞書を元に、高級言語プログラム220内を検索し、トークン辞書内に存在する基準トークンと一致する部分をトークンとして抜き出す(S503)。字句解析手段300は、処理する高級言語プログラム220がなくなると(S504)、トークン列310を出力し(S505)、動作を終了する(S506)。
図6に字句解析手段300の処理を具体的に示す。ここで例として用いる高級言語プログラムと処理結果を表1に示す。なお、基準トークンは、種類が多いため、ここでは例として数値、括弧、演算子(+,−,*)を基準トークンとする。数値は10進数表記、トークン列の区切りはカンマで示す。
Figure 0005049686
表1における例1、高級言語プログラム「1+2+3」を字句解析手段300で処理するとき、当該字句解析手段300は、図5のS502においてトークン辞書を読み込む。続いて、字句解析手段300は、図5のS503において基準トークンと高級言語プログラムを比較し、最初に一致する部分を、トークン列として抜き出す。ここでは、具体的に、数値の「1」をトークンとして抜き出す。次に、字句解析手段300は、図5のS504において残りの高級言語プログラムが無いか確認し、残りの高級言語プログラムが有るときは、図5のS503において、再び基準トークンと高級言語プログラムを比較する。ここでは、高級言語プログラム「+2+3」が残っているので、再び基準トークンと高級言語プログラムを比較し、演算子の「+」をトークンとして抜き出す。図5のS503からS504までの処理を3回繰り返すと、トークン「2」、「+」、「3」が抜き出される。次に、図5のS504において、残りの高級言語プログラムが無いか確認し、ここでは残りの高級言語プログラムが無いため、トークン列「1, +, 2, +, 3」を出力し、処理を終了する。
表1における例2、高級言語プログラム「1+(3−2)」を字句解析手段300で処理するとき、当該字句解析手段300は、図5のS502においてトークン辞書を読み込む。続いて、字句解析手段300は、図5のS503において基準トークンと高級言語プログラムを比較し、最初に一致する部分を、トークン列として抜き出す。ここでは、具体的に、数値の「1」をトークンとして抜き出す。次に、字句解析手段300は、図5のS504において残りの高級言語プログラムが無いか確認し、残りの高級言語プログラムが有るときは、図5のS503において、再び基準トークンと高級言語プログラムを比較する。ここでは、高級言語プログラム「+(3−2)」が残っているので、再び基準トークンと高級言語プログラムを比較し、演算子の「+」をトークンとして抜き出す。図5のS503からS504までの処理を5回繰り返すと、トークン「(」、「3」、「−」、「2」、「)」が抜き出される。次に、図5のS504において、残りの高級言語プログラムが無いか確認し、ここでは残りの高級言語プログラムが無いため、トークン列「1, +, (, 3, −, 2, )」を出力し、処理を終了する。
表1における例3、高級言語プログラム「10−2*3」を字句解析手段300で処理するとき、当該字句解析手段300は、図5のS502においてトークン辞書を読み込む。続いて、字句解析手段300は、図5のS503において基準トークンと高級言語プログラムを比較し、最初に一致する部分を、トークン列として抜き出す。ここでは、具体的に、数値の「10」をトークンとして抜き出す。次に、字句解析手段300は、図5のS504において残りの高級言語プログラムが無いか確認し、残りの高級言語プログラムが有るときは、図5のS503において、再び基準トークンと高級言語プログラムを比較する。ここでは、高級言語プログラム「−2*3」が残っているので、再び基準トークンと高級言語プログラムを比較し、演算子の「−」をトークンとして抜き出す。図5のS503からS504までの処理を3回繰り返すと、トークン「2」、「*」、「3」が抜き出される。次に、図5のS504において、残りの高級言語プログラムが無いか確認し、残りの高級言語プログラムが無いため、トークン列「10, −, 2, *, 3」を出力し、処理を終了する。
次に、図7に構文解析手段301のフローチャートを示す。ここでは、トークンのつながりを木で表現する構造(構造木ともいう)として分析する。構文解析手段301は、動作を開始すると(S700)、トークン列を読み込む(S701)。続いて、構文解析手段301は、トークン分類辞書を読み込む(S702)。続いて、構文解析手段301は、トークン分類辞書を元にトークン列に注釈をつけ(S703)、トークン優先順位辞書を読み込む(S704)。次に、構文解析手段301は、トークン優先順位辞書を元に、トークン列内のトークンを並べ構文木を作る(S705)。最後に、構文解析手段301は、構文木を出力し(S706)、動作を終了する(S707)。なお、構文木とは、構文解析手段301により分析されたトークンをツリー状にしたものである。
図8に構文解析手段301の処理を具体的に示す。なお、トークン優先順位は、ここでは例として高いほうから、「式」、「演算子(*)」、「演算子(+,−)」、「数値」、という順番とし、同じ種類のトークンは、先にあるトークンを高い順位とする。なお、数値は10進数表記、トークン列の区切りはカンマで示す。
図8における例1、トークン列「1, +, 2, +, 3」を構文解析手段301で処理するとき、当該構文解析手段301は、図7のS702においてトークン分類辞書を読み込む。構文解析手段301は、図7のS703においてトークン列内のトークンに、その種類に応じて注釈をつける。具体的には、トークン列「1, +, 2, +, 3」は、「数値1, 演算子+, 数値2, 演算子+, 数値3」となる。次に、構文解析手段301は、図7のS704においてトークン優先順位辞書を読み込む。構文解析手段301は、トークン列につけられた注釈を元に、優先順位の高いものから順に、構文木に変換していく。具体的には、演算子+810がもっとも順位が高いため、構文木内の部分構文木800がはじめに作成される。同様の操作をトークン列がなくなるまで繰り返し、残りのトークン列が無くなれば、処理を終了する。
図8における例2、トークン列「1, +, (, 3, −, 2, )」を構文解析手段301で処理するとき、当該構文解析手段301は、図7のS702においてトークン分類辞書を読み込む。構文解析手段301は、図7のS703においてトークン列内のトークンに、その種類に応じて注釈をつける。具体的には、トークン列「1, +, (, 3, −, 2, )」は、「数値1, 演算子+, 式(数値3, 演算子−, 数値2)」となる。次に、構文解析手段301は、図7のS704においてトークン優先順位辞書を読み込む。構文解析手段301は、トークン列につけられた注釈を元に、優先順位の高いものから順に、構文木に変換していく。具体的には、式(数値3, 演算子−, 数値2)内の演算子−811がもっとも順位が高いため、構文木内の部分構文木801がはじめに作成される。同様の操作をトークン列がなくなるまで繰り返し、残りのトークン列が無くなれば、処理を終了する。
図8における例3、トークン列「10, +, 2, *, 5」を構文解析手段301で処理するとき、当該構文解析手段301は、図7のS702においてトークン分類辞書を読み込む。構文解析手段301は、図7のS703においてトークン列内のトークンに、その種類に応じて注釈をつける。具体的には、トークン列「10, +, 2, *, 5」は、「数値10, 演算子+, 数値2, 演算子*, 数値5」となる。次に、構文解析手段301は、図7のS704においてトークン優先順位辞書を読み込む。構文解析手段301は、トークン列につけられた注釈を元に、優先順位の高いものから順に、構文木に変換していく。具体的には、演算子*812がもっとも順位が高いため、構文木内の部分構文木802がはじめに作成される。同様の操作をトークン列がなくなるまで繰り返し、残りのトークン列が無くなれば、処置を終了する。
図9に意味解析手段302のフローチャートを示す。ここでは、構文木311をもとに中間語312を生成する。意味解析手段302は、動作を開始すると(S900)、構文木を読み込む(S901)。次に、意味解析手段302は、中間語ライブラリを読み込む(S902)。次に、意味解析手段302は、中間語ライブラリを元に、構文木311の枝(下部)から順に中間語を生成する(S903)。最後に意味解析手段302は、中間語312を出力し(S904)、動作を終了する(S905)。
図10に意味解析手段302の処理を具体的に示す。なお、本実施の形態では、演算処理回路101は機械語プログラム200を実行する際に、RAM106にスタック型を適用する。従って、中間語の記述はスタックマシン型を用いる。
図10における例1、構文木1000を意味解析手段302で処理するとき、当該意味解析手段302は、図9のS902において中間語ライブラリを読み込み、中間語を生成する(S903)。具体的には、構文木の末端枝1010を最初に中間語にする。構文木の末端枝1010の中間語は「PUSH1, PUSH2, ADD」であり、これはスタックに1と2を入れて加算を行うことを示す中間語である。同様に構文木すべてを中間語に変換し、図9のS904において中間語「PUSH1, PUSH2, ADD, PUSH3, ADD」を出力し、動作を終了する(S905)。
図10における例2、構文木1001を意味解析手段302で処理するとき、当該意味解析手段302は、図9のS902において中間語ライブラリを読み込み、中間語を生成する(S903)。具体的には、構文木の末端枝1011を最初に中間語にする。構文木の末端枝1011の中間語は「PUSH3, PUSH2, SUB」であり、これはスタックに3と2を入れて減算を行うことを示す中間語である。同様に構文木すべてを中間語に変換し、図9のS904において中間語「PUSH3, PUSH2, SUB, PUSH1, ADD」を出力し、動作を終了する(S905)。
図10における例3、構文木1002を意味解析手段302で処理するとき、当該意味解析手段302は、図9のS902において中間語ライブラリを読み込み、中間語を生成する(S903)。具体的には、構文木の末端枝1012を最初に中間語にする。構文木の末端枝1012の中間語は「PUSH2, PUSH2, ADD, PUSH2, ADD, PUSH2, ADD, PUSH2, ADD」であり、これはスタックに2を入れて加算を行うことを5回繰り返す、即ち2かける5を示す中間語である。同様に構文木すべてを中間語に変換し、図9のS904において中間語「PUSH2, PUSH2, ADD, PUSH2, ADD, PUSH2, ADD, PUSH2, ADD, PUSH10, ADD」を出力し、動作を終了する(S905)。
図11にコード生成手段303のフローチャートを示す。ここでは、中間語312をもとに実行コード313を生成する。コード生成手段303は、動作を開始すると(S1100)、中間語を読み込む(S1101)。次に、コード生成手段303は、コードライブラリを読み込む(S1102)。コード生成手段303は、コードライブラリを元に、実行コードを生成する(S1103)。最後にコード生成手段303は、実行コード313を出力し(S1104)、動作を終了する(S1105)。
表2にコード生成手段303の処理結果を例として示す。ここでは、中間語を、演算処理回路が実行可能な実行コード(ネイティブコード、オブジェクトコードともいう)に変換している。なお、実行コードは2進数表記、中間語の数値は10進数表記として示す。
Figure 0005049686
図12にスタック解析手段304の処理を具体的に示す。
スタック解析手段304は、実行コード313を分析し、解析結果320を出力する。図12にスタック解析手段での解析結果を例として示す。ここでは、実行コード313の実行時間を横軸にとり、スタックポインタを縦軸にとって、プログラム開始1201からプログラム終了1202までのスタックポインタの移動状況、即ちスタックの使用状況をグラフ1200として示している。なお、ここでは、例としてバンク数n=4、スタック数m=4とし、スタートアップルーチンで指定されるスタックポインタはRAMの0番目のアドレスに相当する第1の1番目のスタックであり、スタックへの書き込みを黒丸印●、スタックからの読み出しを白丸印○として示している。バンク境界1205は、第1のバンクと第2のバンクとの境界であり、同様に第2のバンクと第3のバンクの境界をバンク境界1206、第3のバンクと第4のバンクの境界をバンク境界1207とする。連続したスタック1210は、スタックへの書き込みが4回連続して続いており、バンク境界1205またはバンク境界1206をまたいでいないため、特に、バンクをまたがない連続したスタックと言う。一方、連続したスタック1211は、スタックへの書き込みが4回連続して続いており、バンク境界1207をまたいでいるため、特に、バンクをまたぐ連続したスタックと言い、連続したスタック1210と区別する。
図13に最適化手段305のフローチャートを示す。ここでは、実行コード313を分析した解析結果320によって実行コード313の最適化を行い、機械語プログラム200として出力する。最適化手段305は、動作を開始すると(S1300)、実行コードを読み込む(S1301)。次に、最適化手段305は、RAM設計情報を読み込む(S1302)。RAM設計情報とは、具体的にはRAMのバンクサイズに関する情報である。最適化手段305は解析結果320を読み込み(S1303)、RAMの消費電力が小さくなるように最適化を行う(S1304)。具体的には、プログラム終了まで読みだされないスタックを省き、読みだされるスタックのうち、書き込みが連続したスタックがバンクの境界をまたがないようにスタックを配置する。最後に、最適化手段305は、機械語プログラム200を出力し(S1305)、動作を終了する(S1306)。
図14に最適化手段305の処理を具体的に示す。なお、実行コードは2進数表記として示す。なお、例としてバンク数n=4、スタック数m=4として説明し、図12に示したグラフ1200を解析結果として使用する。
図14における、実行コード1401を最適化手段で処理するとき、最適化手段は、図13のS1301において実行コード1401を読み込み、図13のS1302においてRAM設計情報を読み込む。具体的には、本実施の形態ではバンク数n=4、スタック数m=4とするため、そのようなRAM設計情報を読み込む。次に最適化手段は、グラフ1200を読み込み、RAMの消費電力が小さくなるように最適化を行う(S1304)。具体的には、グラフ1200において、まず、プログラム終了まで使用されない、つまり、プログラム終了まで読み出されないスタック1410が省かれ(グラフ1405)、続いて、書き込みが連続したスタック1420が第1のバンク境界1430をまたがないように配置しなおされる(グラフ1406)。グラフ1406においては、書き込みが連続したスタックが、第1のバンク境界1430(第1のバンクと第2のバンクとの境界)と、第2のバンク境界1440(第2のバンクと第3のバンクとの境界)との間で書き込まれる様に、配置されている。なお、本明細書において、「スタックを省く」とは、一度データの書き込みをしたスタックを新たに別のデータを書き込むために利用することを示す。これによって、データの書き込みに使用するスタックの数を削減することができる。最適化手段305は、グラフ1406を元に実行コード1401を最適化する。最後に、最適化手段305は、図13のS1305において機械語プログラム1402を出力し、動作を終了する(S1306)。
機械語プログラム200は、ROM105に格納され、演算処理回路によって実行される。スタックポインタのアドレスが小さいほど、書き込み、または読み出しにかかる消費電力が減少するため、このような機械語プログラムを演算処理回路で実行することにより、消費電力を低減させることが出来る。
以上のような形態とすることで、演算処理回路とメモリ回路によって構成された半導体装置において、機械語プログラム生成装置によって生成されたメモリ回路に適した機械語プログラムを実行することにより、消費電力の低減を行う。そのため、高性能で低消費電力の半導体装置を提供することが出来る。また、演算処理回路とメモリ回路によって構成された半導体装置において、プログラムの実行コードの最適化を図ることができるため、動作方法が変更になることに伴う仕様の変更により、半導体装置のマスク設計の段階から作り直す必要ない。そのため、製造コストの削減及び製造時間の短縮ができる。また、マスク設計の変更によって再度作り直した半導体装置が不具合といった懸念もない。
なお、本実施の形態は、本明細書中の他の実施の形態のいかなる記載とも自由に組み合わせて実施することが可能である。
(実施の形態2)
本実施の形態では、本発明における半導体装置に搭載するメモリ回路の一例に関して、図15〜図18を参照して説明する。なお、本実施の形態におけるメモリとは、実施の形態1におけるRAMを指す。また、本実施の形態におけるメモリブロック1つは、実施の形態1におけるバンク1つと同じである。
図15は、本実施の形態におけるメモリのブロック図である。図16は、本実施の形態におけるメモリを構成するメモリブロックのブロック図である。図17は、本実施の形態におけるメモリを構成するメモリブロックのタイミングチャートである。図18は、本実施の形態におけるメモリのタイミングチャートである。
図15に示すように、本実施の形態におけるメモリ2100は、第1〜第4のメモリブロック2101〜2104と、動作制御回路2105と、入力信号制御回路2106と、出力信号制御回路2107とから構成される。ここで、第1〜第4のメモリブロック2101〜2104は、図16におけるメモリブロック2200である。
なお、本実施の形態では、メモリアドレス信号が4ビット、すなわち16ワードで、メモリ読み出し/書き込みデータ信号が4ビットのメモリについて、メモリブロックを4個でメモリを構成する場合について説明する。
図16において、メモリブロック2200は、メモリアレイ2201、行デコーダ2202、RW回路2203から構成される。
メモリアレイ2201は、第1〜第16のメモリセル2204〜2219を、4行×4列のマトリクス状に配置して構成される。
メモリアレイ2201において、第1の読み出しワード信号線2224と、第1の書き込みワード信号線2228と、は、各々第1〜第4のメモリセル2204〜2207と電気的に接続されている。第2の読み出しワード信号線2225と、第2の書き込みワード信号線2229は、各々第5〜第8のメモリセル2208〜2211と電気的に接続されている。第3の読み出しワード信号線2226と、第3の書き込みワード信号線2230は、各々第9〜第12のメモリセル2212〜2215と電気的に接続されている。第4の読み出しワード信号線2227と、第4の書き込みワード信号線2231は、各々第13〜第16のメモリセル2216〜2219に電気的に接続されている。
また、メモリアレイ2201において、第1の読み出しビット信号線2232と第1の書き込みビット信号線2236は、各々第1、第5、第9、第13のメモリセル2204、2208、2212、2216と、電気的に接続されている。第2の読み出しビット信号線2233と、第2の書き込みビット信号線2237は、各々第2、第6、第10、第14のメモリセル2205、2209、2213、2217と、電気的に接続されている。第3の読み出しビット信号線2234と、第3の書き込みビット信号線2238は、各々第3、第7、第11、第15のメモリセル2206、2210、2214、2218と、電気的に接続されている。また、第4の読み出しビット信号線2235と、第4の書き込みビット信号線2239は、各々第4、第8、第12、第16のメモリセル2207、2211、2215、2219と、電気的に接続されている。
ここで、例えば、第1の読み出しワード信号線2224の電位が”H”の時、第1〜第4のメモリセル2204〜2207に格納されたデータに応じて、第1〜第4の読み出しビット信号線2232〜2235は高電位または低電位となる。また、第1の書き込みワード信号線2228の電位が”H”の時、第1〜第4の書き込みビット信号線2236〜2239の電位に応じて、第1〜第4のメモリセル2204〜2207に、データが格納される。
行デコーダ2202は、第1、第2のメモリブロックアドレス信号線2220、2221と、メモリブロック読み出し制御信号線2222と、メモリブロック書き込み制御信号線2223と、から各々供給される第1、第2のメモリブロックアドレス信号と、メモリブロック読み出し制御信号と、メモリブロック書き込み制御信号と、に応じて、第1〜第4の読み出しワード信号線2224〜2227に供給する第1〜第4の読み出しワード信号と、第1〜第4の書き込みワード信号線2228〜2231に供給する第1〜第4の書き込みワード信号と、を生成する機能を有する。
行デコーダ2202は、例えば、メモリブロック読み出し制御信号が”H”で、第1のメモリブロックアドレス信号と第2のメモリブロックアドレス信号の電位の組み合わせが”LL”、”LH”、”HL”、”HH”の場合に、それぞれ第1、第2、第3、第4の読み出しワード信号を”H”とする機能を有する。例えば、メモリブロック読み出し制御信号が”H”で、第1のメモリブロックアドレス信号の電位が”L”で第2のメモリブロックアドレス信号の電位が”H”の場合は、第2の読み出しワード信号を”H”とする。
また、行デコーダ2202は、例えば、メモリブロック書き込み制御信号が”H”で、第1のメモリブロックアドレス信号と第2のメモリブロックアドレス信号の電位の組み合わせが”LL”、”LH”、”HL”、”HH”の場合に、それぞれ、第1、第2、第3、第4の書き込みワード信号を”H”とする機能を有する。例えば、メモリブロック書き込み制御信号が”H”で、第1のメモリブロックアドレス信号の電位が”L”で第2のメモリブロックアドレス信号の電位が”H”の場合は、第2の書き込みワード信号を”H”とする。
なお、本明細書では、高電位を”H”、低電位を”L”としている。
RW回路2203は、メモリセルに格納されたデータに応じて第1〜第4の読み出しビット信号線2232〜2235に供給される第1〜4の読み出しビット信号から、第1〜第4のメモリブロック読み出しデータ信号線2240〜2243に供給する第1〜第4のメモリブロック読み出しデータ信号を生成する機能を有する。また、RW回路2203は、第1〜第4のメモリブロック書き込みデータ信号線2244〜2247から供給される第1〜第4のメモリブロック書き込みデータ信号から、第1〜第4の書き込みビット信号線2236〜2239に供給する第1〜第4の書き込みビット信号を生成する機能を有する。
例えば、第1〜第4の読み出しビット信号線2232〜2235が高電位か低電位かをセンスアンプにより高速に検出し、ラッチ及びバッファを介して、第1〜第4のメモリブロック読み出しデータ信号線2240〜2243に供給する第1〜第4のメモリブロック読み出しデータ信号を生成する。また、第1〜第4のメモリブロック書き込みデータ信号線2244〜2247の電位に応じて、第1〜第4の書き込みビット信号線2236〜2239に供給する第1〜第4の書き込みビット信号を生成する。
図17は、メモリブロック2200の入出力信号に関するタイミングチャートである。図16における第1のメモリブロックアドレス信号線2220から供給される第1のメモリブロックアドレス信号のタイミングチャートを、図17における第1の信号2351に示す。同様に、図16における第2のメモリブロックアドレス信号線2221から供給される、第2のメモリブロックアドレス信号のタイミングチャートを図17における第2の信号2352に示す。また、図16におけるメモリブロック読み出し制御信号線2222と、メモリブロック書き込み制御信号線2223と、から各々供給されるメモリブロック読み出し制御信号と、メモリブロック書き込み制御信号のタイミングチャートを図17における第3の信号2353と、第4の信号2354にそれぞれ示す。また、図16における第1〜第4のメモリブロック書き込みデータ信号線2244〜2247から供給される第1〜第4のメモリブロック書き込みデータ信号のタイミングチャートを、図17における第5〜8の信号2355〜2358にそれぞれ示す。
なお、RW回路2203は、第1〜第4のメモリブロック書き込みデータ信号から、バッファを介して第1〜第4の書き込みビット信号を生成する機能を有するものとする。この場合、第1〜第4の書き込みビット信号線2236〜2239に供給される第1〜第4の書き込みビット信号のタイミングチャートも、図17における第5〜8の信号2355〜2358のタイミングチャートと同様になる。
ここで、メモリブロック書き込み制御信号が”H”である期間、すなわち図17の第1の期間2371を、メモリブロック書き込み期間とする。また、メモリブロック読み出し制御信号が”H”である期間、すなわち図17の第3の期間2373を、メモリブロック読み出し期間とする。さらに、メモリブロック読み出し制御信号とメモリブロック書き込み制御信号とが共に”L”である期間、すなわち図17の第2の期間2372を、メモリブロック待機期間とする。
メモリブロック書き込み期間2371では、図16における、メモリブロック書き込み制御信号線2223から供給されるメモリブロック書き込み制御信号が”H”で、第1のメモリブロックアドレス信号線2220と第2のメモリブロックアドレス信号線2221とから各々供給される第1のメモリブロックアドレス信号と第2のメモリブロックアドレス信号の電位の組み合わせが”LL”、”LH”、”HL”、”HH”の場合、それぞれ、第1、第2、第3、第4の書き込みワード信号が”H”となる。なお、第1、第2、第3、第4の書き込みワード信号は、第1、第2、第3、第4の書き込みワード信号線2228、2229、2230、2231から各々供給される信号をいう。したがって、第1〜4の書き込みワード信号のタイミングチャートは、図17における第9〜12の信号2359〜2362のようになる。
また、第1の書き込みワード信号が”H”の期間に、第1〜第4の書き込みビット信号線2236〜2239の電位、つまり、第1〜第4のメモリブロック書き込みデータ信号の電位が、第1〜第4のメモリセル2204〜2207に格納される。すなわち、図16における第1〜第4のメモリセル2204〜2207に”H”、”H”,”L”、”L”が格納される。同様に、第2の書き込みワード信号が”H”の期間に、第5〜8のメモリセル2208〜2211に”L”、”L”、”H”、”H”が、第3の書き込みワード信号が”H”の期間に、第9〜12のメモリセル2212〜2215に”H”、”L”、”L”、”H”が、第4の書き込みワード信号が”H”の期間に、第13〜16のメモリセル2216〜2219に、”L”、”H”、”H”、”L”が、各々格納される。
メモリブロック読み出し期間2373では、図16における、メモリブロック読み出し制御信号線2222から供給されるメモリブロック読み出し制御信号が”H”で、第1のメモリブロックアドレス信号線2220と第2のメモリブロックアドレス信号線2221とから各々供給される第1のメモリブロックアドレス信号と第2のメモリブロックアドレス信号が”LL”、”LH”、”HL”、”HH”の場合、それぞれ、第1、第2、第3、第4の読み出しワード信号が”H”となる。なお、第1、第2、第3、第4の読み出しワード信号とは、第1、第2、第3、第4の読み出しワード信号線2224、2225、2226、2227から供給される信号をいう。したがって、第1〜4の読み出しワード信号のタイミングチャートは、図17における第13〜16の信号2363〜2366のようになる。
第1の読み出しワード信号が”H”の期間において、図16における第1〜第4のメモリセル2204〜2207に格納された電位に応じて、第1〜第4の読み出しビット信号線2232〜2235に第1〜第4の読み出しビット信号が供給される。ここでは、メモリブロック書き込み期間2371に格納された電位により、第1〜第4の読み出しビット信号は、”H”、”H”、”L”、”L”となる。
同様に、第2の読み出しワード信号が”H”の期間において、図16における第5〜8のメモリセル2208〜2211に格納された電位に応じて、第1〜第4の読み出しビット信号線2232〜2235に第1〜第4の読み出しビット信号が供給される。ここでは、メモリブロック書き込み期間2371に格納された電位により、第1〜第4の読み出しビット信号は、”L”、”L”、”H”、”H”、となる。
また、第3の読み出しワード信号が”H”の期間において、図16における第9〜12のメモリセル2212〜2215に格納された電位に応じて、第1〜第4の読み出しビット信号線2232〜2235に第1〜第4の読み出しビット信号が供給される。ここでは、メモリブロック書き込み期間2371に格納された電位により、第1〜第4の読み出しビット信号は、”H”、”L”、”L”、”H”、となる。
さらに、第4の読み出しワード信号が”H”の期間において、図16における第13〜16のメモリセル2216〜2219に格納された電位に応じて、第1〜第4の読み出しビット信号線2232〜2235に第1〜第4の読み出しビット信号が供給される。ここでは、メモリブロック書き込み期間2371に格納された電位により、第1〜第4の読み出しビット信号は、”L”、”H”、”H”、”L”、となる。
つまり、第1〜第4の読み出しビット信号のタイミングチャートは、図17における第17〜第20の信号2367〜2370となる。
なお、RW回路2203は、第1〜第4の読み出しビット信号から、バッファを介して、第1〜第4のメモリブロック読み出しデータ信号を生成する機能を有するものとする。この場合、第1〜第4のメモリブロック読み出しデータ信号線2240〜2243に供給される第1〜第4のメモリブロック読み出しデータ信号のタイミングチャートも、図17における第17〜第20の信号2367〜2370のタイミングチャートと同様となる。
図17に示すように、メモリブロック待機期間2372は、メモリブロック入力信号、すなわち第1、第2のメモリブロックアドレス信号と、メモリブロック読み出し制御信号と、メモリブロック書き込み制御信号と、メモリブロック書き込みデータ信号と、が一定値となっている。この場合、メモリブロックの動作が停止しているため、消費電力を非常に低減することができる。
ここで、図15の第1〜第4のメモリブロック2101〜2104は、図16におけるメモリブロック2200である。なお、第1のメモリブロック2101に対する入力信号線、すなわち、図16における第1、第2のメモリブロックアドレス信号線2220、2221と、メモリブロック読み出し制御信号線2222と、メモリブロック書き込み制御信号線2223と、第1〜第4のメモリブロック書き込みデータ信号線2244〜2247と、をまとめて、図15における第1のメモリブロック入力信号線2113とする。また、第1のメモリブロック2101からの出力信号線、すなわち、図16における第1〜第4のメモリブロック読み出しデータ信号線2240〜2243を、図15における第1のメモリブロック出力信号線2117とする。
同様に、第2〜第4のメモリブロック2102〜2104に対する入力信号線、すなわち、図16における第1、第2のメモリブロックアドレス信号線2220、2221と、メモリブロック読み出し制御信号線2222と、メモリブロック書き込み制御信号線2223と、第1〜第4のメモリブロック書き込みデータ信号線2244〜2247と、を各々まとめて、図15における第2〜第4のメモリブロック入力信号線2114〜2116とする。また、第2〜第4のメモリブロック2102〜2104からの出力信号線、すなわち、図16における第1〜第4のメモリブロック読み出しデータ信号線2240〜2243を、図15における第2〜第4のメモリブロック出力信号線2118〜2120とする。
動作制御回路2105は、第1〜第4のメモリアドレス信号線からなるメモリアドレスバス信号線2111より供給される第1〜第4のメモリアドレス信号のうち、第3、第4のメモリアドレス信号から、第1〜第4のメモリブロック動作制御信号を生成する機能を有する。上記第1〜第4のメモリブロック動作制御信号の各々の電位により、第1〜第4のメモリブロック2101〜2104の動作がそれぞれ制御される。なお、第1〜第4のメモリブロック動作制御信号は、第1〜第4のメモリブロック動作制御信号線からなるメモリブロック動作制御バス信号線112に供給される。
例えば、第3のメモリアドレス信号と第4のメモリアドレス信号とが、”LL”の場合、読み出しまたは書き込みの対象となるメモリセルは、第1のメモリブロック2101に含まれる構成とする。また、同様に、第3のメモリアドレス信号と第4のメモリアドレス信号とが、各々、”LH”、”HL”、”HH”の場合、読み出しまたは書き込みの対象となるメモリセルは、各々、第2のメモリブロック2102、第3のメモリブロック2103、第4のメモリブロック2104に含まれる構成とする。つまり、第3のメモリアドレス信号が”L”で第4のメモリアドレス信号が”H”の場合は、第2のメモリブロック2102に読み出しまたは書き込みの対象となるメモリセルがある。
ここで、第3のメモリアドレス信号と第4のメモリアドレス信号の組み合わせが、”LL”の場合、第1のメモリブロック動作制御信号を”H”とし、第2、第3、第4のメモリブロック動作制御信号を”L”とする。また、同様に、第3のメモリアドレス信号と第4のメモリアドレス信号の組合せが各々”LH”、”HL”、”HH”の場合、第2、第3、第4のメモリブロック動作制御信号を各々”H”とし、他のメモリブロック動作制御信号を”L”とする。例えば、第3のメモリアドレス信号が”L”で第4のメモリアドレス信号”L”の場合は、第1のメモリブロック動作制御信号が”H”となり、残りの第2〜第4のメモリブロック動作制御信号が”L”となる。
入力信号制御回路2106は、メモリ読み出し制御信号線2108と、メモリ書き込み制御信号線2109と、第1〜第4のメモリ書き込みデータ信号線からなるメモリ書き込みデータバス信号線2110と、メモリアドレスバス信号線2111と、メモリブロック動作制御バス信号線2112と、から各々供給されるメモリ読み出し制御信号と、メモリ書き込み制御信号と、第1〜第4のメモリ書き込みデータ信号と、第1、第2のメモリアドレス信号と、第1〜第4のメモリブロック動作制御信号と、から、第1〜第4のメモリブロック入力信号を生成する機能を有する。第1〜第4のメモリブロック入力信号は、第1〜第4のメモリブロック入力信号線2113〜2116に各々供給される。
例えば、第1のメモリブロック動作制御信号が、”H”の場合、つまり、第1のメモリブロック2101に読み出しまたは書き込みの対象となるメモリセルが含まれる場合、メモリ読み出し制御信号と、メモリ書き込み制御信号と、第1〜第4のメモリ書き込みデータ信号と、第1、第2のメモリアドレス信号と、に応じた電位が、第1のメモリブロック入力信号となる。一方第2、第3、第4のメモリブロック入力信号は、メモリ読み出し制御信号と、メモリ書き込み制御信号と、メモリ書き込みデータ信号と、メモリアドレス信号と、の値によらず一定値とする。また、同様に例えば、第2、第3、第4のメモリブロック動作制御信号が各々”H”の場合、メモリ読み出し制御信号と、メモリ書き込み制御信号と、第1〜第4のメモリ書き込みデータ信号と、第1、第2のメモリアドレス信号と、に応じた電位が、各々第2、第3、第4のメモリブロック入力信号とする。一方、他のメモリブロック入力信号は、メモリ読み出し制御信号と、メモリ書き込み制御信号と、メモリ書き込みデータ信号と、メモリアドレス信号と、の値に依らずに一定値とする。
出力信号制御回路2107は、第1〜第4のメモリブロック出力信号線2117〜2120から供給される第1〜第4のメモリブロック出力信号と、メモリブロック動作制御バス信号線2112から供給される第1〜第4のメモリブロック動作制御信号と、から、第1〜第4のメモリ読み出しデータ信号線からなるメモリ読み出しデータバス信号線2121に供給する第1〜第4のメモリ読み出しデータ信号を生成する機能を有する。
例えば、第1〜第4のメモリブロック出力信号のいずれかを、第1〜第4のメモリブロック動作制御信号に応じて選択し、バッファを介して、当該メモリブロック出力信号を、メモリ読み出しデータ信号として、メモリ読み出しデータバス信号線2121に供給する。
図18は、本実施の形態におけるメモリの入出力信号に関するタイミングチャートである。図15におけるメモリアドレスバス信号線2111と、メモリ読み出し制御信号線2108と、メモリ書き込み制御信号線2109と、メモリ書き込みデータバス信号線2110と、から各々供給される第1〜第4のメモリアドレス信号と、メモリ読み出し制御信号と、メモリ書き込み制御信号と、第1〜第4のメモリ書き込みデータ信号と、のタイミングチャートを、図18における第1〜第4の信号2401〜2404とする。なお、第1〜第4のメモリアドレス信号の電位を順に記して、第1の信号2401を表している。同様に、第1〜第4のメモリ書き込みデータ信号の電位を順に記して、第4の信号2404を表している。
ここで、メモリ書き込み制御信号が”H”である期間、すなわち図18の第1の期間2418を、メモリ書き込み期間とする。また、メモリ読み出し制御信号が”H”である期間、すなわち図18の第3の期間2420を、メモリ読み出し期間とする。さらに、メモリ読み出し制御信号とメモリ書き込み制御信号とが共に”L”である期間、すなわち図18の第2の期間2419を、メモリ待機期間とする。
第3のメモリアドレス信号と第4のメモリアドレス信号との電位の組み合わせが”LL”の場合、第1のメモリブロック動作制御信号が”H”となり、第2、第3、第4のメモリブロック動作制御信号は”L”となる。同様に、第3のメモリアドレス信号と第4のメモリアドレス信号との電位の組合せが、”LH”の場合、第2のメモリブロック動作制御信号が”H”となり、第1、第3、第4のメモリブロック動作制御信号は”L”となる。また、第3のメモリアドレス信号と第4のメモリアドレス信号との電位の組合せが”HL”の場合、第3のメモリブロック動作制御信号が”H”となり、第1、第2、第4のメモリブロック動作制御信号は”L”となる。また、第3のメモリアドレス信号と第4のメモリアドレス信号との電位の組合せが”HH”の場合、第4のメモリブロック動作制御信号が”H”となり、第1、第2、第3のメモリブロック動作制御信号は”L”となる。したがって、第1、第2のメモリブロック動作制御信号のタイミングチャートは、図18における第5、第6の信号2405、2406のようになる。なお、第3、第4のメモリブロック動作制御信号のタイミングチャートは、図18には示していないが、常に”L”である。
ここで、図15における入力信号制御回路2106は、メモリ読み出し制御信号と、メモリ書き込み制御信号と、第1〜第4のメモリ書き込みデータ信号と、第1、第2のメモリアドレス信号と、に対して、各々第1、第2、第3、第4のメモリブロック動作制御信号との論理積を演算することで、第1〜第4のメモリブロック入力信号を生成するものとする。つまり、第1のメモリブロック動作制御信号が”H”の期間は、メモリ読み出し制御信号と、メモリ書き込み制御信号と、第1〜第4のメモリ書き込みデータ信号と、第1、第2のメモリアドレス信号と、が第1のメモリブロック入力信号となり、第2〜第4のメモリブロック入力信号は、全て”L”となる。
したがって、第1のメモリブロック2101における、第1、第2のメモリブロックアドレス信号のタイミングチャートは、図18における第7の信号2407、メモリブロック読み出し制御信号のタイミングチャートは、図18における第8の信号2408、メモリブロック書き込み制御信号のタイミングチャートは、図18における第9の信号2409、第1〜第4のメモリブロック書き込みデータ信号のタイミングチャートは、図18における第10の信号2410となる。
なお、第1、第2のメモリブロックアドレス信号の電位を順に記して、第7の信号2407を表している。同様に、第1〜第4のブロック書き込みデータ信号の電位を順に記して、第10の信号2410を表している。メモリ書き込み期間中に第1のメモリブロック2101に格納されたデータが、メモリ読み出し期間に読み出される。したがって、第1のメモリブロック読み出しデータ信号のタイミングチャートは、図18における第11の信号2411となる。
同様に、第2のメモリブロック2102における、第1、第2のメモリブロックアドレス信号のタイミングチャートは、図18における第12の信号2412、メモリブロック読み出し制御信号のタイミングチャートは、図18における第13の信号2413、メモリブロック書き込み信号のタイミングチャートは、図18における第14の信号2414、第1〜第4のメモリブロック書き込みデータ信号のタイミングチャートは、図18における第15の信号2415となる。
なお、第1、第2のメモリブロックアドレス信号の電位を順に記して、第12の信号2412を表している。同様に、第1〜第4のメモリブロック書き込みデータ信号の電位を順に記して、第15の信号2415を表している。なお、メモリ書き込み期間中に第2のメモリブロック2102に格納されたデータが、メモリ読み出し期間に読み出される。したがって、第2のメモリブロック読み出しデータ信号のタイミングチャートは、図18における第16の信号2416となる。
ここで、図15における出力信号制御回路2107は、第1のメモリブロック動作制御信号が”H”の場合は第1のメモリブロック出力信号を、第2のメモリブロック動作制御信号が”H”の場合は第2のメモリブロック出力信号を、第3のメモリブロック動作制御信号が”H”の場合は第3のメモリブロック出力信号を、第4のメモリブロック動作制御信号が”H”の場合は第4のメモリブロック出力信号を、各々選択し、第1〜第4のメモリ読み出しデータ信号とするものとする。この場合、第1〜第4のメモリ読み出しデータ信号のタイミングチャートは、図18における第17の信号2417となる。
ところで、第1のメモリブロック動作制御信号が”H”の期間は、第2〜第4のメモリブロック入力信号は、全て”L”としている。このため、第2〜第4のメモリブロック2102〜2104におけるメモリブロック入力信号は、図17におけるメモリブロック待機期間2372と等価である。すなわち、第2〜第4のメモリブロック2102〜2104における消費電力は、待機時の消費電力に等しい。同様に、第2のメモリブロック動作制御信号が”H”の期間は、第1、第3、第4のメモリブロック入力信号は、全て”L”となっている。このため、第1、第3、第4のメモリブロック2101、2103、2104における入力信号は、図17におけるメモリブロック待機期間2372と等価である。すなわち、第1、第3、第4のメモリブロック2101、2103、2104における消費電力は、待機時の消費電力に等しい。したがって、少なくともメモリ全体の4分の3は、常に待機状態であり、メモリ全体の消費電力を大幅に軽減することが可能である。
以上のような形態とすることで、データの読み出しまたは書き込みの対象となるメモリセルを含むメモリブロックの入力信号のみを変化させ、他のメモリブロックの入力信号を変化しない。すなわち、当該メモリセルを含むメモリブロック以外のメモリブロックにおける消費電力は、待機時の消費電力となることにより、メモリ回路全体の消費電力の低減を行う。そのため、高性能で低消費電力の半導体装置を提供することが出来る。
なお、本実施の形態は、本明細書中の他の実施の形態のいかなる記載とも自由に組み合わせて実施することが可能である。
(実施の形態3)
本実施の形態では、本発明における半導体装置を構成する要素の一つとして、スタティックRAM(SRAM)を構成する一例について、図19〜図21を参照して説明する。
図19(A)で示す半導体層1510、1511はシリコン若しくはシリコンを成分とする結晶性の半導体で形成することが好ましい。例えば、シリコン膜をレーザアニールなどによって結晶化された多結晶シリコン、単結晶シリコンなどが適用される。その他にも半導体特性を示す、金属酸化物半導体、アモルファスシリコン、有機半導体を適用することも可能である。
いずれにしても、最初に形成する半導体層は絶縁表面を有する基板の全面若しくは一部(トランジスタの半導体領域として確定されるよりも広い面積を有する領域)に形成する。そして、フォトリソグラフィ技術によって、半導体層上にマスクパターンを形成する。そのマスクパターンを利用して半導体層をエッチング処理することにより、TFTのソース領域及びドレイン領域及びチャネル形成領域を含む特定形状の島状の半導体層1510、1511を形成する。その半導体層1510、1511の形状はレイアウトの適切さを考慮して決められる。
図19(A)で示す半導体層1510、1511を形成するためのフォトマスクは、図19(B)に示すマスクパターン1520を備えている。このマスクパターン1520は、フォトリソグラフィ工程で用いるレジストがポジ型かネガ型かで異なる。ポジ型レジストを用いる場合には、図19(B)で示すマスクパターン1520は、遮光部として作製される。マスクパターン1520は、多角形の頂部Aを削除した形状となっている。また、屈曲部Bにおいては、その角部が直角とならないように屈曲する形状となっている。このフォトマスクのパターンは、例えば、パターンの角部において、一辺が10μm以下の大きさの直角三角形を削除している。
図19(B)で示すマスクパターン1520は、その形状が、図19(A)で示す半導体層1510、1511に反映される。その場合、マスクパターン1520と相似の形状が転写されても良いが、マスクパターン1520の角部がさらに丸みを帯びるように転写されていても良い。すなわち、マスクパターン1520よりもさらにパターン形状をなめらかにした、丸め部を設けても良い。
半導体層1510、1511の上には、酸化シリコン若しくは窒化シリコンを少なくとも一部に含む絶縁層が形成される。この絶縁層を形成する目的の一つはゲート絶縁層である。そして、図20(A)で示すように、半導体層と一部が重なるようにゲート配線1612、1613、1614を形成する。ゲート配線1612は半導体層1510に対応して形成される。ゲート配線1613は半導体層1510、1511に対応して形成される。また、ゲート配線1614は半導体層1510、1511に対応して形成される。ゲート配線は、金属層又は導電性の高い半導体層を成膜し、フォトリソグラフィ技術によってその形状を絶縁層上に作り込む。
このゲート配線を形成するためのフォトマスクは、図20(B)に示すマスクパターン1621を備えている。このマスクパターン1621は、角部において、一辺が10μm以下の直角三角形、または、一辺が配線の線幅の1/2以下で、線幅の1/5以上の長さの直角三角形を削除している。図20(B)で示すマスクパターン1621は、その形状が、図20(A)で示すゲート配線1612、1613、1614に反映される。その場合、マスクパターン1621と相似の形状が転写されても良いが、マスクパターン1621の角部がさらに丸みを帯びるように転写されていても良い。すなわち、マスクパターン1621よりもさらにパターン形状をなめらかにした、丸め部を設けても良い。すなわち、ゲート配線1612、1613、1614の角部は、線幅の1/2以下であって1/5以上に角部に丸みをおびさせる。凸部はプラズマによるドライエッチの際、異常放電による微粉の発生を抑え、凹部では、洗浄のときに、たとえできた微粉であっても、それが角に集まりやすいのを洗い流す結果として歩留まり向上が甚だしく実現できるという効果を有する。
層間絶縁層はゲート配線1612、1613、1614の次に形成される層である。層間絶縁層は酸化シリコンなどの無機絶縁材料若しくポリイミドやアクリル樹脂などを使った有機絶縁材料を使って形成する。この層間絶縁層とゲート配線1612、1613、1614の間には窒化シリコン若しくは窒化酸化シリコンなどの絶縁層を介在させても良い。また、層間絶縁層上にも窒化シリコン若しくは窒化酸化シリコンなどの絶縁層を設けても良い。この絶縁層は、外因性の金属イオンや水分などTFTにとっては良くない不純物により半導体層やゲート絶縁層を汚染するのを防ぐことができる。
層間絶縁層には所定の位置に開口部が形成されている。例えば、下層にあるゲート配線や半導体層に対応して設けられる。金属若しくは金属化合物の一層若しくは複数層で形成される配線層は、フォトリソグラフィ技術によってマスクパターンが形成され、エッチング加工により所定のパターンに形成される。そして、図21(A)で示すように、半導体層と一部が重なるように配線1715〜1720を形成する。配線はある特定の素子間を連結する。配線は特定の素子と素子の間を直線で結ぶのではなく、レイアウトの制約上屈曲部が含まれる。また、コンタクト部やその他の領域において配線幅が変化する。コンタクト部では、コンタクトホールが配線幅と同等若しくは大きい場合には、その部分で配線幅が広がるように変化する。
この配線1715〜1720を形成するためのフォトマスクは、図21(B)に示すマスクパターン1722を備えている。この場合においても、配線は、その角部において、一辺が10μm以下の直角三角形、または、一辺が配線の線幅の1/2以下で、線幅の1/5以上の長さの直角三角形を削除し、角部が丸みをおびるパターンを有せしめる。角部は、線幅の1/2以下で、1/5以上に角部に丸みをおびさせる。このような配線は、凸部はプラズマによるドライエッチの際、異常放電による微粉の発生を抑え、凹部では、洗浄のときに、たとえできた微粉であっても、それが角に集まりやすいのを洗い流す結果として歩留まり向上が甚だしく実現できるという効果を有する。配線の角部がラウンドをとることにより、電気的にも伝導させることができる。また、複数の平行配線では、ゴミを洗い流すのにはきわめて好都合である。
図21(A)には、nチャネル型薄膜トランジスタ1721〜1724、pチャネル型薄膜トランジスタ1725、1726が形成されている。nチャネル型薄膜トランジスタ1723とpチャネル型薄膜トランジスタ1725及びnチャネル型薄膜トランジスタ1724とpチャネル型薄膜トランジスタ1726はそれぞれインバータ1727及びインバータ1728を構成している。この6つの薄膜トランジスタを含む回路はSRAMを形成している。これらの薄膜トランジスタの上層には、窒化シリコンや酸化シリコンなどの絶縁層が形成されていても良い。
以上のような構成とすることで、高性能且つ低消費電力の半導体素子を、より軽量で安価に提供することができる。
なお、本実施の形態は、本明細書中の他の実施の形態のいかなる記載とも自由に組み合わせて実施することが可能である。
(実施の形態4)
本実施の形態では、本発明における半導体装置を構成するトランジスタについて、図22及び図23を参照して説明する。
本発明における半導体装置を構成するトランジスタは、単結晶基板に形成されるMOSトランジスタの他、薄膜トランジスタ(TFT)で構成することもできる。図22はこれらの回路を構成する薄膜トランジスタの断面構造を示す図である。図22には、nチャネル型薄膜トランジスタ1821、nチャネル型薄膜トランジスタ1822、容量素子1824、抵抗素子1825、pチャネル型薄膜トランジスタ1823が示されている。各薄膜トランジスタは半導体層1805、絶縁層1808、ゲート電極1809を備えている。ゲート電極1809は、第1導電層1803と第2導電層1802の積層構造で形成されている。また、図23(A)〜(E)は、図22で示すnチャネル型薄膜トランジスタ1821、nチャネル型薄膜トランジスタ1822、容量素子1824、抵抗素子1825、pチャネル型薄膜トランジスタ1823にそれぞれ対応する上面図であり、併せて参照することができる。
図22において、nチャネル型薄膜トランジスタ1821は、チャネル長方向(キャリアの流れる方向)において、ゲート電極の両側に低濃度ドレイン(LDD)とも呼ばれ、配線1804とコンタクトを形成するソース領域及びドレイン領域を形成する不純物領域1806の不純物濃度よりも低濃度にドープされた不純物領域1807が半導体層1805に形成されている。不純物領域1806と不純物領域1807には、nチャネル型薄膜トランジスタ1821を構成する場合、n型を付与する不純物としてリンなどが添加されている。LDDはホットエレクトロン劣化や短チャネル効果を抑制する手段として形成される。
図23(A)で示すように、nチャネル型薄膜トランジスタ1821のゲート電極1809において、第1導電層1803は、第2導電層1802の両側に広がって形成されている。この場合において、第1導電層1803の膜厚は、第2導電層の膜厚よりも薄く形成されている。第1導電層1803の厚さは、10〜100kVの電界で加速されたイオン種を通過させることが可能な厚さに形成されている。不純物領域1807はゲート電極1809の第1導電層1803と重なるように形成されている。すなわち、ゲート電極1809とオーバーラップするLDD領域を形成している。この構造は、ゲート電極1809において、第2導電層1802をマスクとして、第1導電層1803を通して一導電型の不純物を添加することにより、自己整合的に不純物領域1807を形成している。すなわち、ゲート電極とオーバーラップするLDDを自己整合的に形成している。
両側にLDDを有する薄膜トランジスタは、電源回路の整流用のTFTや、論理回路に用いられるトランスミッションゲート(アナログスイッチとも呼ぶ)を構成する薄膜トランジスタに適用される。これらのTFTは、ソース電極やドレイン電極に正負両方の電圧が印加されるため、ゲート電極の両側にLDDを設けることが好ましい。
また第1導電層1803は、第2導電層1802を用いてゲート配線を形成する場合、それらの両端を揃えるようにパターニングしてもよい。その結果、微細なゲート配線を形成することができる。またゲート電極とオーバーラップするLDDを自己整合的に形成する必要もないからである。
図22において、nチャネル型薄膜トランジスタ1822は、ゲート電極の片側に不純物領域1806の不純物濃度よりも低濃度にドープされた不純物領域1807が半導体層1805に形成されている。図23(B)で示すように、nチャネル型薄膜トランジスタ1822のゲート電極1809において、第1導電層1803は、第2導電層1802の片側に広がって形成されている。この場合も同様に、第2導電層1802をマスクとして、第1導電層1803を通して一導電型の不純物を添加することにより、自己整合的にLDDを形成することができる。
片側にLDDを有する薄膜トランジスタは、ソース電極及びドレイン電極間に正電圧のみ、もしくは負電圧のみが印加される薄膜トランジスタに適用すればよい。具体的には、インバータ回路、NAND回路、NOR回路、ラッチ回路といった論理ゲートを構成する薄膜トランジスタや、センスアンプ、定電圧発生回路、VCOといったアナログ回路を構成する薄膜トランジスタに適用すればよい。
図22において、容量素子1824は、第1導電層1803と半導体層1805とで絶縁層1808を挟んで形成されている。容量素子1824を形成する半導体層1805には、不純物領域1810と不純物領域1811を備えている。不純物領域1811は、半導体層1805において第1導電層1803と重なる位置に形成される。また、不純物領域1810は配線1804とコンタクトを形成する。不純物領域1811は、第1導電層1803を通して一導電型の不純物を添加することができるので、不純物領域1810と不純物領域1811に含まれる不純物濃度は同じにすることもできるし、異ならせることも可能である。いずれにしても、容量素子1824において、半導体層1805は電極として機能させるので、一導電型の不純物を添加して低抵抗化しておくことが好ましい。また、第1導電層1803は、図23(C)に示すように、第2導電層1802を補助的な電極として利用することにより、電極として十分に機能させることができる。このように、第1導電層1803と第2導電層1802を組み合わせた複合的な電極構造とすることにより、容量素子1824を自己整合的に形成することができる。
容量素子は、無線チップの電源回路が有する保持容量、あるいは共振回路が有する共振容量として用いられる。特に、共振容量は、容量素子の2端子間に正負両方の電圧が印加されるため、2端子間の電圧の正負によらず容量として機能することが必要である。
図23(D)において、抵抗素子1825は、第1導電層1803によって形成されている。第1導電層1803は30〜150nm程度の厚さに形成されるので、その幅や長さを適宜設定して抵抗素子を構成することができる。
抵抗素子は、無線チップの変調復調回路が有する抵抗負荷として用いられる。また、VCOなどで電流を制御する場合の負荷としても用いられる場合がある。抵抗素子は、高濃度に不純物元素を含む半導体層や、膜厚の薄い金属層によって構成すればよい。抵抗値が膜厚、膜質、不純物濃度、活性化率などに依存する半導体層に対して、金属層は、膜厚、膜質という少ないパラメータにより抵抗値が決定するため、抵抗素子のばらつきを小さくすることができ好ましい。
図22、及び23(E)において、pチャネル型薄膜トランジスタ1823は、半導体層1805に不純物領域1812を備えている。この不純物領域1812は、配線1804とコンタクトを形成するソース領域及びドレイン領域を形成する。ゲート電極1809の構成は第1導電層1803と第2導電層1802が重畳した構成となっている。pチャネル型薄膜トランジスタ1823はLDDを設けないシングルドレイン構造である。pチャネル型薄膜トランジスタ1823を形成する場合、不純物領域1812にはp型を付与する不純物として硼素などが添加される。一方、不純物領域1812にリンを添加すればシングルドレイン構造のnチャネル型薄膜トランジスタとすることもできる。
半導体層1805及びゲート絶縁層として機能する絶縁層1808の一方若しくは双方に対してマイクロ波で励起され、電子温度が2eV以下、イオンエネルギーが5eV以下、電子密度が1011〜1013/cm程度である高密度プラズマ処理によって酸化又は窒化処理してもよい。このとき、基板温度を300〜450℃とし、酸化雰囲気(O、NOなど)又は窒化雰囲気(N、NHなど)で処理することにより、半導体層1805とゲート絶縁層として機能する絶縁層1808の界面の欠陥準位を低減することができる。ゲート絶縁層として機能する絶縁層1808に対してこの処理を行うことにより、この絶縁層の緻密化を図ることができる。すなわち、荷電欠陥の生成を抑え、トランジスタのしきい値電圧の変動を抑えることができる。また、トランジスタを3V以下の電圧で駆動させる場合には、このプラズマ処理により酸化若しくは窒化された絶縁層をゲート絶縁層として機能する絶縁層1808として適用することができる。また、トランジスタの駆動電圧が3V以上の場合には、このプラズマ処理で半導体層1805の表面に形成した絶縁層とCVD法(プラズマCVD法若しくは熱CVD法)で堆積した絶縁層とを組み合わせてゲート絶縁層として機能する絶縁層1808を形成することができる。また、同様にこの絶縁層は、容量素子1824の誘電体層としても利用することができる。この場合、このプラズマ処理で形成された絶縁層は、1〜10nmの厚さで形成され、緻密な膜であるので、大きな電荷容量を持つ容量素子を形成することができる。
図22及び図23を参照して説明したように、膜厚の異なる導電層を組み合わせることにより、さまざまな構成の素子を形成することができる。第1導電層のみが形成される領域と、第1導電層と第2導電層が積層されている領域は、回折格子パターン或いは半透膜からなる光強度低減機能を有する補助パターンを設置したフォトマスクまたはレチクルを用いて形成することができる。すなわち、フォトリソグラフィー工程において、フォトレジストを露光する際に、フォトマスクの透過光量を調節して、現像されるレジストマスクの厚さを異ならせる。この場合、フォトマスクまたはレチクルに解像度限界以下のスリットを設けて上記複雑な形状を有するレジストを形成してもよい。また、現像後に約200℃のベークを行ってフォトレジスト材料で形成されるマスクパターンを変形させてもよい。
また、回折格子パターン或いは半透膜からなる光強度低減機能を有する補助パターンを設置したフォトマスクまたはレチクルを用いることにより、第1導電層のみが形成される領域と、第1導電層と第2導電層が積層されている領域を連続して形成することができる。図23(A)に示すように、第1導電層のみが形成される領域を半導体層上に選択的に形成することができる。このような領域は、半導体層上において有効であるが、それ以外の領域(ゲート電極と連続する配線領域)では必要がない。このフォトマスク又はレチクルを用いることにより、配線部分は、第1導電層のみの領域を作らないで済むので、配線密度を高めることができる。
図22及び図23の場合には、第1導電層はタングステン、クロム、タンタル、窒化タンタル、またはモリブデンなどの高融点金属、又は高融点金属を主成分とする合金もしくは化合物を30〜50nmの厚さで形成する。また、第2導電層はタングステン、クロム、タンタル、窒化タンタルまたはモリブデンなどの高融点金属、又は高融点金属を主成分とする合金もしくは化合物で300〜600nmの厚さに形成する。例えば、第1導電層と第2導電層をそれぞれ異なる導電材料を用い、後に行うエッチング工程でエッチングレートの差が生じるようにする。一例として、第1導電層に窒化タンタルを用い、第2導電層としてタングステン膜を用いることができる。
本実施の形態では、回折格子パターン或いは半透膜からなる光強度低減機能を有する補助パターンを設置したフォトマスクまたはレチクルを用いて、電極構造の異なるトランジスタ、容量素子、抵抗素子を、同じパターニング工程によって作り分けることができることを示している。これにより、回路の特性に応じて、形態の異なる素子を、工程を増やすことなく作り込み、集積化することができる。
以上のような薄膜トランジスタにより、半導体装置を構成することで、高性能且つ低消費電力の無線チップを、より軽量で安価に提供することができる。
なお、本実施の形態は、本明細書中の他の実施の形態のいかなる記載とも自由に組み合わせて実施することが可能である。
(実施の形態5)
近年、超小型ICチップと、無線通信用のアンテナを組み合わせた小型の半導体装置(以下、無線チップという)が脚光を浴びている。無線チップは、無線通信装置(以下、リーダ/ライタという)を使った通信信号(動作磁界)の授受により、データを書き込む、または、データを読み出すことができる。なお、無線チップは、RFID(Radio Frequency Identification)タグ、IDタグ、ICタグ、ICチップ、RFタグ、無線タグ、電子タグともよばれる。
無線チップの応用分野として、例えば、流通業界における商品管理が挙げられる。バーコードなどを利用した商品管理は広く一般的に用いられているが、バーコードはデータを光学的に読み取るため、遮蔽物があるとデータを読み取れない。一方、無線チップでは、無線でデータを読み取るため、遮蔽物があっても読み取れる。従って、商品管理の効率化、低コスト化することができる。その他、乗車券、航空旅客券、料金の自動精算など、広範に応用することができる。以下、無線でデータの送受信が可能である半導体装置に関して図面を参照して説明する。なお、本実施の形態の半導体装置の上面図を図24(A)に、図24(A)における線X−Yの断面図を図24(B)に示す。
図24(A)に示すように、本実施の形態の半導体装置は、集積回路1302及びアンテナ1070が、基板440、441によって挟持されている。
図24(B)に示すように、半導体装置は、基板441上に設けられたアンテナ1070と、基板440上に設けられた素子形成層430とが、異方性導電接着材442により固着されている。また、異方性導電接着材442は有機樹脂443及び導電性粒子444で構成されており、素子形成層430の接続端子445及びアンテナ1070が導電性粒子444によって電気的に接続されている。
なお、接続端子445及び、アンテナ1070の接続については特に限定されない。例えばアンテナ1070と接続端子445をワイヤボンディング接続やバンプ接続を用いて接続するという方法を取ってもよい。さらには、接続端子445とアンテナ1070との貼り付けにはACF(anisotropic conductive film;異方性導電性フィルム)を用いることができる。
素子形成層430としては、図1に示す半導体装置において、アンテナを除くアナログ部及びデジタル部の一部とすることができる。ここでは、素子形成層430としては、アナログ部の代表例として共振回路1080を構成する薄膜トランジスタを示し、デジタル部の代表例としてCPU1020を構成する薄膜トランジスタを示す。
なお、ここでは共振回路1080及びデジタル部において薄膜トランジスタを用いて示したが、各々の回路にあわせて抵抗素子、容量素子、整流素子等も有していても良い。
さらには、素子形成層430として、Siウエハーに形成されたMOSトランジスタを用いてもよい。
ここで、本発明の半導体装置に用いることができるアンテナの形状について、以下に示す。半導体装置に用いることが可能なアンテナの形状として、図24(A)に示すようなコイル状のアンテナを用いることができる。また、図25(A)のように基板上の集積回路1302の周りに一面のアンテナ1070を配した構造を取っても良い。また、図25(B)のように基板上の集積回路1302に対して、高周波数の電磁波を受信するためのアンテナ1070の形状をとってもよい。また、図25(C)に示すように基板上の集積回路1302に対して、180度無指向性(どの方向からでも同じく受信可能)を有するアンテナ1070での形状をとってもよい。また、図25(D)に示すように、基板上の集積回路1302に対して、棒状に長く伸ばしたアンテナ1070の形状をとってもよい。また、パッチアンテナやセラミックアンテナを用いてもよい。また、アンテナとして機能する導電層の形状は線状に限られず、電磁波の波長を考慮して曲線状や蛇行形状またはこれらを組み合わせた形状で設けてもよい。
ここでは、図24(B)において、素子形成層430及びアンテナが別基板に設けられ、異方性導電材料で電気的に接続された例を示したがこれに限定されるものではない。素子形成層430にアンテナ1070を作りこんでもよい。
また、アンテナに必要な長さは受信に用いる周波数によって適正な長さが異なる。
アンテナ1070とリーダ/ライタ間で送受信される信号の周波数は、125kHz、13.56MHz、915MHz、2.45GHzなどがあり、それぞれISO規格などが設定される。勿論、アンテナ1070とリーダ/ライタ間で送受信される信号の周波数はこれに限定されず、例えばサブミリ波である300GHz〜3THz、ミリ波である30GHz〜300GHz、マイクロ波である3GHz〜30GHz、極超短波である300MHz〜3GHz、超短波である30MHz〜300MHz、短波である3MHz〜30MHz、中波である300KHz〜3MHz、長波である30KHz〜300KHz、及び超長波である3KHz〜30KHzのいずれの周波数も用いることができる。また、アンテナ1070とリーダ/ライタ間で送受信される信号は、搬送波を変調した信号である。搬送波の変調方式は、アナログ変調であってもデジタル変調であってよく、振幅変調、位相変調、周波数変調、及びスペクトラム拡散のいずれであってもよい。望ましくは、振幅変調、または、周波数変調にするとよい。
また、上述した非接触データの入出力が可能である半導体装置における信号の伝送方式は、電磁結合方式、電磁誘導方式またはマイクロ波方式等を用いることができる。伝送方式は、実施者が使用用途を考慮して適宜選択すればよく、伝送方式に伴って最適なアンテナを設ければよい。
なお、本実施の形態は、本明細書中の他の実施の形態のいかなる記載とも自由に組み合わせて実施することが可能である。
(実施の形態6)
本実施の形態では、上記実施の形態5で示した半導体装置において、ブースターアンテナ回路(以下、ブースターアンテナという)を有する構成に関して、図面を参照して説明する。
なお、本実施の形態において述べるブースターアンテナとは、半導体装置に形成されたリーダ/ライタからの信号を受信して集積回路に出力するアンテナ(以下、チップアンテナまたはアンテナ回路という)よりも、サイズの大きいアンテナ(以下、ブースターアンテナという)のことをいう。ブースターアンテナは、使用する周波数帯域で共振させ、チップアンテナと、ブースターアンテナを磁界結合させることで、リーダ/ライタまたは充電器より発振された信号を、効率よく目的の半導体装置へ伝達させることができるものをいう。ブースターアンテナは磁界を介してコイルアンテナと結合しているため、直接チップアンテナ及び集積回路とは接続する必要が無いため好適である。また、ブースターアンテナには、容量を制御するために容量素子を設けてもよい。
チップアンテナ及びブースターアンテナにおけるアンテナの形状については、特に限定されない。例えば実施の形態5で説明した図25(A)の形状のアンテナを採用することができる。但し、ブースターアンテナはその機能上、磁界結合するアンテナ回路より大きな形状のアンテナを採用することが好ましい。
また、本実施の形態においては、チップアンテナ1090及びブースターアンテナ1450が受信する信号は、電磁誘導方式により信号の交信を行うことが好ましい。そのため、コイル状のチップアンテナ1090及びコイル状のブースターアンテナ1450を有する構成が好ましい。図26において、基板1600の一方の面にコイル状のチップアンテナ1090、ブースターアンテナ1450、及び集積回路1302と、を設ける構成について示す。
図26(A)に示すように、半導体装置は、基板1600上に、集積回路1302及びチップアンテナが形成される領域1601と、ブースターアンテナ1450と、を有している。なお、集積回路1302及びチップアンテナ1090が形成される領域1601は、図26(B)に示すように、集積回路1302と、チップアンテナ1090が形成され、チップアンテナ1090の接続端子1605a及び接続端子1605bのそれぞれ集積回路1302と接続されている。
ブースターアンテナ1450及びチップアンテナ1090の形状としては、図示されたものに限定されず、送受周波数が同調するものであれば様々な形態をとることができる。好ましくは、ブースターアンテナ1450のアンテナ形状をループアンテナにし、チップアンテナのアンテナ形状を微小ループアンテナとするとよい。なお、半導体装置の配置及び構成は、これに限定されず、チップアンテナ1090と、ブースターアンテナ1450と、との面積比においても適宜選択することができる。図26では、基板1600上に集積回路1302と、ブースターアンテナ1450とが配置されているが、例えばブースターアンテナ1450が基板1600の裏面に設けられていても良い。
本実施の形態の半導体装置においては、実施の形態5の構成に加えて、ブースターアンテナを有することを特徴とする。そのため、RFIDとリーダ/ライタ間のデータの送受信を、より確実に行うことが可能となるといった利点を有する。
なお、本実施の形態は、本明細書中の他の実施の形態のいかなる記載とも自由に組み合わせて実施することが可能である。
(実施の形態7)
本実施の形態では、無線チップの作製方法を説明する。本発明に係る無線チップを構成する各回路を薄膜トランジスタで作製することができる。本実施形態では、無線チップを構成する回路を薄膜トランジスタで形成し、薄膜トランジスタの製造に使用した基板から、可撓性(フレキシブル)基板に回路を転載し、フレキシブルな無線チップを製造する方法を示す。
本実施の形態では、無線チップを構成する回路として、インバータなどを構成するpチャネル型TFT(「pch−TFT」とも表記する。)及びnチャネル型TFT(「nch−TFT」とも表記する。)、コンデンサ、及び電源回路などに設けられる高耐圧型のnチャネル型TFTを代表的に示す。以下、図28〜図33に図示する断面図を用いて、無線チップの作製方法を説明する。
基板260にガラス基板を用いる。図28(A)に示すように、基板260上に3層261a〜261cでなる剥離層261を形成する。第1層261aは、平行平板型プラズマCVD装置により、原料ガスにSiH、NOを用いて酸化窒化シリコン膜(SiO、x>y)を厚さ100nm形成する。第2層261bとして、厚さ30nmのタングステン膜をスパッタリング装置で成膜する。第3層261cとして、厚さ200nmの酸化シリコン膜をスパッタリング装置で成膜する。
第3層261c(酸化シリコン)を成膜することで、第2層261b(タングステン)の表面が酸化され、界面にタングステン酸化物が形成される。タングステン酸化物が形成されることで、のちに素子形成層を他の基板に転載するときに、基板260を分離しやすくなる。第1層261aは、素子形成層を作製している間、第2層261bの密着性を維持するための層である。
第2層261bには、タングステン他、モリブデン、チタン、タンタル、ニオブ、ニッケル、コバルト、ジルコニウム、亜鉛、ルテニウム、ロジウム、パラジウム、オスミウム、イリジウム等の金属からなる膜や、これらの金属の化合物からなる膜が好ましい。また、第2層261bの厚さは20nm以上40nm以下とすることができる。
図28(B)に示すように、剥離層261上に、2層構造の下地絶縁層249を形成する。第1層249aとして、プラズマCVD装置により原料ガスにSiH、NO、NH、Hを用いて酸化窒化シリコン(SiO、x<y)を厚さ50nm形成する。第1層249aの窒素の組成比が40%以上となるようにしてバリア性を高めた。第2層249bは、プラズマCVD装置によりSiH、NOを原料ガスに用いて、酸化窒化シリコン(SiO、x>y)を厚さ100nm成膜する。第2層249bの窒素の組成比は0.5%以下とする。
次いで図28(C)に示すように、下地絶縁層249上に、結晶性シリコン膜271を形成する。結晶性シリコン膜271は次の方法で作製する。プラズマCVD装置により、原料ガスにSiHおよびHを用い、厚さ66nmの非晶質シリコン膜を形成する。非晶質シリコン膜にレーザを照射して結晶化させることで、結晶性シリコン膜271とする。レーザ照射方法の一例を示す。LD励起のYVOレーザの第2高調波(波長532nm)を照射する。特に第2高調波に限定する必要はないが、第2高調波はエネルギー効率の点で3次以上の高次の高調波より優れている。照射面において、ビームの形状が長さ500μm、幅20μm程度の線状となるように、またその強度が10〜20Wとなるように光学系を調整する。またビームを基板に対して相対的に10〜50cm/secの速度で移動する。
結晶性シリコン膜271を形成した後、結晶性シリコン膜271にp型不純物を添加する。ここでは、イオンドーピング装置において、ドーピングガスに水素で希釈したジボラン(B)を用い、ボロンを結晶性シリコン膜271の全体に添加する。非晶質シリコンを結晶化した結晶性シリコンは不対結合を有するため、理想的な真性シリコンではなく、弱いn型の導電性を示す。そのため、p型不純物を微量添加することにより、結晶性シリコン膜271が真性シリコンとなるようにする効果がある。この工程は必要に応じて行えばよい。
図28(D)に示すように、結晶性シリコン膜271を素子ごとに分割し、半導体層273〜276を形成する。半導体層273〜275は、それぞれ、TFTのチャネル形成領域、ソース領域およびドレイン領域が形成される。半導体層276はMIS型コンデンサの電極を構成する。結晶性シリコン膜271を加工する方法の一例を示す。フォトリソグラフィ工程によりレジストを結晶性シリコン膜271上に形成し、レジストをマスクにして、ドライエッチング装置により、エッチング剤にSF、Oを用いて結晶性シリコン膜271をエッチングすることで、所定の形状の半導体層273〜276を形成する。
図29(A)に示すように、フォトリソグラフィ工程によりレジストR31を形成し、nチャネル型TFTの半導体層274および275にp型不純物を微量添加する。ここでは、ドーピングガスに水素で希釈したジボラン(B)を用い、イオンドーピング装置により半導体層274、275にボロンをドーピングする。ドーピングが終了したらレジストR31を除去する。
図29(A)の工程は、nチャネル型TFTのしきい値電圧が負の電圧にならないようすることを目的とする。nチャネル型TFTの半導体層274、275に5×1015atoms/cm以上1×1017atoms/cm以下の濃度でボロンを添加すればよい。図29(A)の工程は必要に応じて行えばよい。
次いで、図29(B)に示すように、基板260全体に絶縁膜277を形成する。絶縁膜277はTFTのゲート絶縁膜、コンデンサの誘電体となる。ここでは、プラズマCVD装置により、プラズマCVD装置により原料ガスSiH、NOを用いて酸化窒化シリコン膜(SiO、x>y)を厚さ20〜40nm形成する。
図29(C)に示すように、フォトリソグラフィ工程によりレジストR32を形成し、コンデンサの半導体層276にn型不純物を添加する。ドーピングガスに水素で希釈したホスフィン(PH)を用いて、イオンドーピング装置により半導体層276にリンをドーピングし、半導体層276全体にn型不純物領域279を形成する。ドーピング工程が終了したら、レジストR32を除去する。
図29(D)に示すように、絶縁膜277上に導電膜281を形成する。導電膜281は、TFTのゲート電極などを構成する。ここでは、導電膜281を2層の多層構造とする。1層目は厚さ30nmの窒化タンタル、2層目は厚さ370nmのタングステンとする。窒化タンタル、タングステンはそれぞれスパッタリング装置で成膜する。
次いで、導電膜281上にフォトリソグラフィ工程によりレジストを形成し、エッチング装置により導電膜281をエッチングして、図30(A)に示すように、第1導電膜283〜286を半導体層273〜276上に形成する。第1導電膜283〜285はTFTのゲート電極またはゲート配線となる。高耐圧型のnチャネル型TFTでは、他のTFTよりもゲート幅(チャネル長)が広くなるように、導電膜285を形成している。第1導電膜286はコンデンサの一方の電極を構成する。
導電膜281はドライエッチング法によりエッチングする。エッチング装置にICP(Inductively Coupled Plasma:誘導結合型プラズマ)エッチング装置を用いる。エッチング剤としては、はじめにタングステンをエッチングするためCl、SF、Oの混合ガスを用い、つぎに、処理室に導入するエッチング剤をClガスのみに変更し、タンタル窒化物をエッチングする。
図30(B)に示すように、フォトリソグラフィ工程によりレジストR33を形成する。nチャネル型TFTの半導体層274と275にn型不純物を添加する。第1導電膜284がマスクとなり半導体層274にn型低濃度不純物領域288、289が自己整合的に形成され、第1導電膜285がマスクとなり半導体層275にn型低濃度不純物領域290、291が自己整合的に形成される。水素で希釈したホスフィン(PH)をドーピングガスに用い、イオンドーピング装置により半導体層274、275にリンを添加する。図30(B)の工程は、nチャネル型TFTにLDD領域を形成するための工程である。n型低濃度不純物領域288、289のn型不純物が、1×1016atoms/cm以上5×1018atoms/cm以下の範囲で含まれるようにする。
図30(C)に示すように、フォトリソグラフィ工程によりレジストR34を形成し、pチャネル型TFTの半導体層273にp型不純物を添加する。半導体層は、n型不純物領域として残す部分がレジストに覆われているため、露出している半導体層273がp型不純物領域となる。第1導電膜283がマスクとなり半導体層273にp型高濃度不純物領域273a、273bが自己整合的に形成される。また第1導電膜283で覆われている領域273cがチャネル形成領域として自己整合的に形成される。p型不純物領域の添加は、ドーピングガスに水素で希釈したジボラン(B)を用いる。ドーピングが終了したらレジストR34を除去する。
図30(D)に示すように、第1導電膜283〜286の周囲に絶縁層293〜296を形成する。絶縁層293〜296はサイドウォール、側壁と呼ばれるものである。まず、原料ガスにSiH、NOを用いて、プラズマCVD装置により酸化窒化シリコン膜(SiO、x>y)を100nmの厚さに形成する。次に、原料ガスにSiH、NOを用いて、LPCVD装置により酸化シリコン膜を200nmの厚さに形成する。フォトリソグラフィ工程によりレジストを形成する。このレジストを用いて、まず、上層の酸化シリコン膜をバッファードフッ酸でウェットエッチング処理する。次に、レジストを除去し、下層の窒化酸化シリコン膜ドライエッチング処理をすることで、絶縁層293〜296が形成される。この一連の工程で、酸化窒化シリコンでなる絶縁膜277もエッチングされ、絶縁膜277は第1導電膜283〜286と絶縁層293〜296の下部のみ残る。
図31(A)に示すように、フォトリソグラフィ工程によりレジストR35を形成する。nチャネル型TFTの半導体層274、275とコンデンサの半導体層にn型不純物を添加し、n型高濃度不純物領域を形成する。半導体層274は、第1導電膜284、絶縁層294がマスクとなり、n型低濃度不純物領域288、289にさらにn型不純物が添加され、n型高濃度不純物領域274a、274bが自己整合的に形成される。第1導電膜284と重なる領域274cがチャネル形成領域として自己整合的に確定する。また、n型低濃度不純物領域288、289において絶縁層294と重なる領域274e、274dは、そのままn型低濃度不純物領域として確定する。半導体層275も半導体層274と同様、n型高濃度不純物領域275a、275b、チャネル形成領域275c、n型低濃度不純物領域275e、275dが形成される。また、第1導電膜286および絶縁層296がマスクとなり、n型不純物領域276にさらにn型不純物が添加され、n型高濃度不純物領域276a、276bが自己整合的に形成される。半導体層276の第1導電膜286および絶縁層296と重なる領域がn型不純物領域276cとして確定する。
n型不純物の添加工程は、上述したとおり、イオンドーピング装置を使用し、ドーピングガスに水素で希釈したホスフィン(PH)を用いればよい。nチャネル型TFTのn型高濃度不純物領域274a、274b、275a、275bには、リンの濃度が1×1020atoms/cm以上2×1021atoms/cm以下の範囲になるように、リンがドーピングされる。
レジストR35を除去し、図31(B)に示すように、キャップ絶縁膜298を形成する。キャップ絶縁膜298として、プラズマCVD装置により、プラズマCVD装置により酸化窒化シリコン膜(SiO、x>y)を50nmの厚さに形成する。酸化窒化シリコン膜の原料ガスには、SiH、NOを用いる。キャップ絶縁膜298を成膜した後、窒素雰囲気中で550℃の加熱処理を行い、半導体層273〜276に添加したn型不純物およびp型不純物を活性化する。
図31(C)に示すように、第1層間絶縁膜350を形成する。本実施の形態では、第1層間絶縁膜350を2層構造とする。1層目の絶縁膜として、プラズマCVD装置により原料ガスにSiH、NOを用いて、酸化窒化シリコン(SiO、x<y)を100nmの厚さに形成する。2層目の絶縁膜には、プラズマCVD装置により原料ガスにSiH、NO、NH、Hを用いて、酸化窒化シリコン(SiO、x>y)を600nmの厚さに形成する。
フォトリソグラフィ工程とドライエッチング工程により、第1層間絶縁膜350およびキャップ絶縁膜298を除去し、コンタクトホールを形成する。第1層間絶縁膜350上に導電膜を形成する。ここでは、導電膜を4層構造とする。下から、厚さ60nmのチタン、40nmの窒化チタン、500nmの純アルミニウム、100nmの窒化チタンの順に積層する。それぞれの層はスパッタリング装置で成膜する。フォトリソグラフィ工程とドライエッチング工程により導電膜を所定の形状に加工し、第2導電膜353〜364を形成する。
なお、第2導電膜と第1導電膜が接続されることを説明するため、図面では、第2導電膜と第1導電膜が半導体層上で接続するように示しているが、実際には、第2導電膜と第1導電膜とのコンタクト部分は半導体層上をさけて形成されている。
第2導電膜362によりn型高濃度不純物領域276aと276bが接続されている。よって、n型不純物領域276c、絶縁膜277、第1導電膜286でなる積層構造のMIS型コンデンサが形成される。第2導電膜364はアンテナ回路の端子であり、後の工程で、アンテナ372が接続される。
図32(A)に示すように、第2層間絶縁膜366を形成する。第2層間絶縁膜366には、第2導電膜364に達するコンタクトホールを形成する。第2層間絶縁膜366を感光性ポリイミドで形成する例を示す。スピナーを用いて1.5μmの厚さでポリイミドを塗布する。フォトリソグラフィ工程を用いて、ポリイミドを露光し、現像することでコンタクトホールが形成されたポリイミドが形成される。現像後、ポリイミドを焼成する。
さらに、第2層間絶縁膜366上に導電膜を形成する。フォトリソグラフィ工程とエッチング工程により、この導電膜を所定の形状に加工し、第3導電膜370を形成する。第3導電膜370を構成する導電膜として、厚さ100nmのTiをスパッタリング装置で成膜する。第3導電膜370はアンテナ372をアンテナ回路の端子(第2導電膜364)と接続するためのアンテナのバンプである。
図32(B)に示すように、開口部が形成された第3層間絶縁膜371を形成する。ここでは、第2層間絶縁膜366と同様の方法で、感光性ポリイミドで形成する。開口部はアンテナ372を形成する領域に形成される。
図32(B)に示すように、アンテナ372を形成する。蒸着装置により、メタルマスクを用いてアルミニウムを蒸着し、所定の形状のアンテナ372を開口部に形成する。
以上の図28、図29、図30、図31、図32に示す工程を経て、基板260上に無線チップを構成する回路が形成される。次に、図33に示すように、無線チップを可撓性基板との中に封止する工程を説明する。
アンテナ372を保護するための保護絶縁層373を形成する。そして、フォトリソグラフィ工程とエッチング工程を行うことにより、またはレーザ光を照射することにより、保護絶縁層373と共に基板260上に積層された絶縁膜を除去し、剥離層261に達する開口部を形成する。基板260上には、同じ複数の無線チップを構成する回路が複数形成されている。無線チップごとに、回路を分割するように形成される。
次に、保護絶縁層373上面に転載用の基板を一時的に固定した後、基板260を剥離する。剥離層261の第2層261bと第3層261cの界面で接合が弱くなっているため、物理的に力を加えることで開口部の端部から剥離が進行し、素子形成層250から基板260を剥がすことできる。基板260が剥がれた下地絶縁層249に可撓性基板374を接着剤により固定する。そして、転載用の基板を取り外す。保護絶縁層373に他方の可撓性基板375を接着剤により固定する。そして、可撓性基板374と可撓性基板375の外側から圧力を加えながら、加熱処理をすることにより、可撓性基板374と可撓性基板375で無線チップを構成する回路を封止する。
本実施の形態では、薄膜トランジスタと共にアンテナ372を形成する例について説明したが、外付けアンテナを用いることもできる。
また、本実施形態では作製時に使用した基板260を剥離する例を示したが、作製時に使用した基板を残すこともできる。この場合、基板が撓むように、基板を研磨する、または、基板を研削して薄くすればよい。
本実施の形態により撓めることが可能であり、薄型化で軽量な無線チップを作製することが可能である。なお、本実施の形態で示した基板の剥離方法は、無線チップの作製方法に限定されるものではなく、他の半導体装置に適用することで、撓めることが可能な半導体装置を作成することができる。
なお、本実施の形態は、本明細書中の他の実施の形態のいかなる記載とも自由に組み合わせて実施することが可能である。
(実施の形態8)
本実施の形態では、無線通信によりデータの交信を行う半導体装置の用途について説明する。本発明の半導体装置は、例えば、紙幣、硬貨、有価証券類、無記名債券類、証書類(運転免許証や住民票等)、包装用容器類(包装紙やボトル等)、記録媒体(DVDソフトやビデオテープ等)、乗物類(自転車等)、身の回り品(鞄や眼鏡等)、食品類、植物類、動物類、人体、衣類、生活用品類、電子機器等の商品や荷物の荷札等の物品に設ける、いわゆるIDラベル、IDタグ、IDカードとして使用することができる。電子機器とは、液晶表示装置、EL表示装置、テレビジョン装置(単にテレビ、テレビ受像機、テレビジョン受像機とも呼ぶ)及び携帯電話等を指す。
本実施の形態では、図27を参照して、本発明の応用例、及びそれらを付した商品の一例について説明する。
図27(A)は、本発明に係る半導体装置の完成品の状態の一例である。ラベル台紙3001(セパレート紙)上に、RFID3002を内蔵した複数のIDラベル3003が形成されている。IDラベル3003は、ボックス3004内に収納されている。また、IDラベル3003上には、その商品や役務に関する情報(商品名、ブランド、商標、商標権者、販売者、製造者等)が記されており、一方、内蔵されている半導体装置には、その商品(又は商品の種類)固有のIDナンバーが付されており、偽造や、商標権、特許権等の知的財産権侵害、不正競争等の不法行為を容易に把握することができる。また、半導体装置内には、商品の容器やラベルに明記しきれない多大な情報、例えば、商品の産地、販売地、品質、原材料、効能、用途、数量、形状、価格、生産方法、使用方法、生産時期、使用時期、賞味期限、取扱説明、商品に関する知的財産情報等を入力しておくことができ、取引者や消費者は、簡易なリーダによって、それらの情報にアクセスすることができる。また、生産者側からは容易に書換え、消去等も可能であるが、取引者、消費者側からは書換え、消去等ができない仕組みになっている。
図27(B)は、半導体装置3012を内蔵したラベル状のIDタグ3011を示している。IDタグ3011を商品に備え付けることにより、商品管理が容易になる。例えば、商品が盗難された場合に、商品の経路を辿ることによって、その犯人を迅速に把握することができる。このように、IDタグを備えることにより、所謂トレーサビリティに優れた商品を流通させることができる。
図27(C)は、本発明に係る半導体装置3022を内包したIDカード3021の完成品の状態の一例である。上記IDカード3021としては、キャッシュカード、クレジットカード、プリペイドカード、電子乗車券、電子マネー、テレフォンカード、会員カード等のあらゆるカード類が含まれる。
図27(D)は、無記名債券3031の完成品の状態を示している。無記名債券3031には、半導体装置3032が埋め込まれており、その周囲は樹脂によって成形され、半導体装置を保護している。ここで、該樹脂中にはフィラーが充填された構成となっている。無記名債券3031は、本発明に係るIDラベル、IDタグ、IDカードと同じ要領で作成することができる。なお、上記無記名債券類には、切手、切符、チケット、入場券、商品券、図書券、文具券、ビール券、おこめ券、各種ギフト券、各種サービス券等が含まれるが、勿論これらに限定されるものではない。また、紙幣、硬貨、有価証券類、無記名債券類、証書類等に本発明の半導体装置3032を設けることにより、認証機能を設けることができ、この認証機能を活用すれば、偽造を防止することができる。
図27(E)は、本発明に係る半導体装置3042を内包したIDラベル3041を貼付した書籍3043を示している。本発明の半導体装置3042は、表面に貼りつける、あるいは、表面に埋め込むことで、物品に固定される。図27(E)に示すように、本なら紙に埋め込むことで、有機樹脂からなるパッケージなら当該有機樹脂に埋め込むことで、各物品に固定される。本発明の半導体装置3042は、小型、薄型、軽量を実現するため、物品に固定した後も、その物品自体のデザイン性を損なうことがない。
また、ここでは図示しないが、包装用容器類、記録媒体、身の回り品、食品類、衣類、生活用品類、電子機器等に本発明の半導体装置を設けることにより、検品システム等のシステムの効率化を図ることができる。また乗物類にRFIDを設けることにより、偽造や盗難を防止することができる。また、動物等の生き物に埋め込むことによって、個々の生き物の識別を容易に行うことができる。例えば、家畜等の生き物に無線タグを埋め込むことによって、生まれた年や性別または種類等を容易に識別することが可能となる。
以上、本発明の半導体装置は物品(生き物を含む)であればどのようなものにでも設けて使用することができる。
なお、本実施の形態は、本明細書中の他の実施の形態のいかなる記載とも自由に組み合わせて実施することが可能である。
本発明の半導体装置の一例を示す図。 本発明の半導体装置におけるメモリ回路の一例を示す図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明の半導体装置における機械語プログラムの生成を説明する図。 本発明のメモリ回路の一例を示す図。 本発明のメモリ回路の一例を示す図。 本発明のメモリ回路の一例を示す図。 本発明のメモリ回路の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。 本発明の半導体装置の一例を示す図。 本発明の半導体装置の一例を示す図。 本発明の半導体装置の一例を示す図。 本発明の半導体装置の一例を示す図。 本発明の半導体装置の一例を示す図。 本発明の半導体装置の使用形態の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。 本発明の半導体装置の作製方法の一例を示す図。
符号の説明
100 半導体装置
101 演算処理回路
102 演算回路
103 制御回路
104 メモリ回路
105 ROM
106 RAM
107 アドレスバス
108 データバス
109 アドレスバス信号
110 データバス信号
200 機械語プログラム
201 バンク
202 バンク
203 バンク
204 スタック
205 スタック
206 スタック
210 処理データ
220 高級言語プログラム
221 機械語プログラム生成装置
230 スタートアップルーチン
240 スタック
241 スタック
242 スタック

Claims (7)

  1. 演算回路と制御回路とを具備する演算処理回路と、
    ROMとRAMとを具備するメモリ回路と、を有し、
    前記演算処理回路と前記メモリ回路は、アドレスバス及びデータバスを介して接続され、
    前記ROMは、前記演算処理回路を用いて実行される機械語プログラムが格納されており、
    前記RAMは、複数のバンクを有し、
    前記機械語プログラムは、高級言語プログラムがトークン列に分解され、前記トークン列から構文木が作成され、前記構文木が中間語に変換され、前記中間語が実行コードに変換され、前記実行コードを分析した解析結果を用いて前記実行コードが変換されたものであり、
    前記機械語プログラムを実行した際の処理データ、複数のスタックに分割され、
    前記複数のスタックのうち前記機械語プログラム終了まで読みだされないスタックが省かれ、且つ、前記複数のスタックのうち書き込みが連続したスタックが、前記複数のバンクのいずれか一のバンクに書き込まれることを特徴とする半導体装置。
  2. 演算回路と制御回路とを具備する演算処理回路と、
    ROMとRAMとを具備するメモリ回路と、
    高級言語プラグラムを機械語プログラムに変換するプログラム変換手段と、を有し、
    前記演算処理回路と前記メモリ回路は、アドレスバス及びデータバスを介して接続され、
    前記ROMには、前記演算処理回路を用いて実行される前記機械語プログラムが格納されており、
    前記RAMは、複数のバンクを有し、
    前記プログラム変換手段は、前記高級言語プログラムをトークン列に分解する字句解析手段と、前記トークン列を分析して構文木を作成する構文解析手段と、前記構文木を中間語に変換する意味解析手段と、前記中間語を実行コードに変換するコード生成手段と、前記実行コードを分析して解析結果を作成するスタック解析手段と、前記解析結果を用いて前記実行コードを変換し、且つ変換した前記実行コードを前記機械語プログラムとして出力する最適化手段と、を有し、
    前記最適化手段は、前記機械語プログラム終了まで読み出されないスタックを省き、且つ書き込みが連続した複数のスタックを前記複数のバンクのいずれか一のバンクに書き込むように、前記実行コードを変換することを特徴とする半導体装置。
  3. 請求項1又は請求項2において、
    前記演算処理回路は、前記アドレスバスを介して前記メモリ回路にアドレスバス信号を出力し、且つ前記データバスを介してスタートアップルーチンをデータバス信号として前記ROMから読み出し、
    前記演算回路は、前記スタートアップルーチンを実行し、前記スタートアップルーチンに応じて前記処理データを格納するためのスタックポインタを設定することを特徴とする半導体装置。
  4. 請求項3において、
    前記スタートアップルーチンは、前記機械語プログラムが実行される前に実行されることを特徴とする半導体装置。
  5. 演算回路と制御回路とを具備する演算処理回路と、
    ROMとRAMとを具備するメモリ回路と、を有し、
    前記演算処理回路と前記メモリ回路は、アドレスバス及びデータバスを介して接続され、
    前記ROMは、前記演算処理回路を用いて実行される機械語プログラムが格納されており、
    前記RAMは、複数のバンクを有し、
    前記機械語プログラムは、高級言語プログラムをトークン列に分解し、前記トークン列から構文木を作成し、前記構文木を中間語に変換し、前記中間語を実行コードに変換し、前記実行コードを分析した解析結果を用いて前記実行コードを変換したものであり、
    前記機械語プログラムを実行した際の処理データ複数のスタックに分割
    前記複数のスタックのうち前記機械語プログラム終了まで読みだされないスタック、且つ、前記複数のスタックのうち書き込みが連続したスタックを前記複数のバンクのいずれか一のバンクに書き込ことを特徴とする半導体装置の駆動方法。
  6. 請求項5において、
    前記演算処理回路は、前記アドレスバスを介して前記メモリ回路にアドレスバス信号を出力し、且つ前記データバスを介してスタートアップルーチンをデータバス信号として前記ROMから読み出し、
    前記演算回路は、前記スタートアップルーチンを実行し、前記スタートアップルーチンに応じて前記処理データを格納するためのスタックポインタを設定することを特徴とする半導体装置の駆動方法。
  7. 請求項6において、
    前記スタートアップルーチンは、前記機械語プログラムが実行される前に実行されることを特徴とする半導体装置の駆動方法。
JP2007192942A 2006-07-26 2007-07-25 半導体装置及びその駆動方法 Expired - Fee Related JP5049686B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007192942A JP5049686B2 (ja) 2006-07-26 2007-07-25 半導体装置及びその駆動方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006203438 2006-07-26
JP2006203438 2006-07-26
JP2007192942A JP5049686B2 (ja) 2006-07-26 2007-07-25 半導体装置及びその駆動方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012162204A Division JP5301019B2 (ja) 2006-07-26 2012-07-23 プログラム及び半導体装置

Publications (3)

Publication Number Publication Date
JP2008052723A JP2008052723A (ja) 2008-03-06
JP2008052723A5 JP2008052723A5 (ja) 2010-09-02
JP5049686B2 true JP5049686B2 (ja) 2012-10-17

Family

ID=39236673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007192942A Expired - Fee Related JP5049686B2 (ja) 2006-07-26 2007-07-25 半導体装置及びその駆動方法

Country Status (1)

Country Link
JP (1) JP5049686B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6111458B2 (ja) * 2013-03-28 2017-04-12 株式会社Joled 半導体装置、表示装置および電子機器

Also Published As

Publication number Publication date
JP2008052723A (ja) 2008-03-06

Similar Documents

Publication Publication Date Title
JP5301019B2 (ja) プログラム及び半導体装置
JP7250882B2 (ja) 半導体装置、電子機器
KR101207442B1 (ko) 박막 집적회로장치의 제조방법, 비접촉형 박막 집적회로장치 및 그 제조 방법, 비접촉형 박막 집적회로 장치를 가지는 아이디 태그 및 동전
KR101146599B1 (ko) 반도체 장치 및 그를 갖는 제품
KR101337319B1 (ko) 반도체 디바이스 및 이의 제작 방법
US7835422B2 (en) Semiconductor device
US7688272B2 (en) Semiconductor device
TWI448971B (zh) 半導體裝置
KR101152199B1 (ko) 반도체장치
JP4718850B2 (ja) 半導体装置、icカード、icタグ、rfid、トランスポンダ、紙幣、有価証券、パスポート、電子機器、バッグ及び衣類
KR101443176B1 (ko) 반도체 장치 및 그것의 제작 방법
CN101017852B (zh) 非易失性半导体存储装置以及其制造方法
US20120118979A1 (en) Semiconductor device
JP5358731B2 (ja) 半導体装置
KR20070050982A (ko) 무선 칩
CN100565835C (zh) 半导体器件的制造方法,半导体器件的评估方法和半导体器件
JP5049686B2 (ja) 半導体装置及びその駆動方法
US8134883B2 (en) Semiconductor device
KR20080027282A (ko) 반도체 디바이스 및 그것의 구동 방법
JP5296349B2 (ja) 半導体装置
JP2008004256A (ja) 半導体装置
JP2008166420A (ja) 半導体装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100714

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120723

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5049686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees