JP5138040B2 - 集積回路 - Google Patents

集積回路 Download PDF

Info

Publication number
JP5138040B2
JP5138040B2 JP2010522609A JP2010522609A JP5138040B2 JP 5138040 B2 JP5138040 B2 JP 5138040B2 JP 2010522609 A JP2010522609 A JP 2010522609A JP 2010522609 A JP2010522609 A JP 2010522609A JP 5138040 B2 JP5138040 B2 JP 5138040B2
Authority
JP
Japan
Prior art keywords
data
instruction code
functional block
integrated circuit
microprocessor
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.)
Active
Application number
JP2010522609A
Other languages
English (en)
Other versions
JPWO2010013427A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010522609A priority Critical patent/JP5138040B2/ja
Publication of JPWO2010013427A1 publication Critical patent/JPWO2010013427A1/ja
Application granted granted Critical
Publication of JP5138040B2 publication Critical patent/JP5138040B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)

Description

本発明は、集積回路に関し、半導体メモリを用いた記録メディアや記録装置、及び半導体メモリを使った制御装置を構成するための制御LSIの回路方式に関するものである。
不揮発性の半導体メモリの代表格であるフラッシュメモリは、携帯電話、デジタルカメラ、携帯用の音楽プレーヤなど、民生機器から業務用機器まで多くの電子機器で活用されている。
フラッシュメモリを記録デバイスとして効率よく用いるためには、そのインタフェース制御を行う専用LSIが必要であるが、中でもASIC(Application Specific Integrated Circuit)は、ある特定の用途のために設計、製造される集積回路のことを指す。
一方、FPGA(Field Programmable Gate Array)は、ユーザーが設計した論理情報と配線情報を、内蔵のSRAM型メモリセル構造を持つ記憶素子にプログラミングすることによって所望の論理動作を実現するLSIである。FPGAでは、ユーザーが設計した論理情報と配線情報を、内蔵のSRAM型メモリセル構造を持つ記憶素子にローディングすることによって所望の回路動作を行うことができる。FPGAは、ASICと比較すると、開発期間のTAT(Turn Around Time)が短いことが大きな特徴であるが、設計完成後に修正や仕様変更を行うことができることも大きなメリットである。
一方で、フラッシュメモリは、昨今の半導体製造技術の進歩により、飛躍的に集積度を高めその技術を競っているため、メモリチップとのインタフェース方式も複数の方式が乱立している。また、フラッシュメモリを用いた記録メディアは、SDカードなど、各社から様々なインタフェース方式の記録メディアが発売されている。
特公平3−75911号公報
しかしながら、ASICの場合は開発期間がかかるだけでなく、昨今の半導体プロセスの微細化に伴い、数億円単位の莫大な開発費が必要となり、一度設計したメモリインタフェース仕様を再設計することなく変更できないという非常に大きな問題点を有していた。
このため、インタフェース方式が乱立している今日、単に、新しいインタフェース方式を用いたいというだけのために、再設計を行って、莫大な開発費がかかり、長い開発期間が必要となってしまう事態が生じかねない。
一方、FPGAを用いたメモリインタフェース回路は、ASICでのインタフェース回路と比較して、デバイス単価が高くなるだけでなく、消費電力も数倍大きく、同一回路で実現可能な周波数性能が低いなど多数の欠点があり、特に電力条件がシビアな小型のメモリ機器においてはFPGAが適さない。
本発明は、上記の点に鑑みてなされたものであり、新しいインタフェース式を用いる場合に、容易に、新しいインタフェース式でのインタフェース制御が可能な集積回路を提供することを目的とする。
この課題を解決するために本発明は、次の構成を採用した。
第1の集積回路は、予め定められた命令コードを具備し、記憶ユニット及び命令デコーダを有するマイクロプロセッサと、デジタルデータを記録するメモリデバイスと当該集積回路との間でデータを転送させるインタフェース手段と、前記マイクロプロセッサが前記予め定められた命令コードを実行し、前記命令デコーダが前記予め定められた命令コードを解読することで、動作の設定変更が可能であり、設定変更されることにより、前記メモリデバイスのインタフェース制御を行う予め定められた制御信号を生成する機能ブロックとを備え、前記メモリデバイスは、タイミング毎に、そのタイミングにおけるデータパターンをもつ1つ以上の前記制御信号が入力され、前記マイクロプロセッサは、前記タイミング毎に、そのタイミングの前記データパターンを指定する前記予め定められた命令コードを実行し、前記機能ブロックは、前記予め定められた命令コードの実行に基づいて、その命令コードにより指定される前記データパターンの前記1つ以上の制御信号を、その命令コードの前記タイミングに生成して、前記メモリデバイスへ出力する集積回路である。
こうすれば、複数の命令コードが構成する命令列が実行されることで、信号パターンが生成される。生成される信号パターンは、データの記憶などの、メモリデバイスへの命令が示す動作を、メモリデバイスに実行させる信号パターンである。これにより、利用されるデジタルデバイスが、1の種類のデジタルデバイスから、他の種類のデジタルデバイスに変更されても、単に、実行される命令列が変更されるだけで、容易に、適切な信号パターンが生成できる。これにより、利用されるデジタルデバイスの種類が他の種類に変更されても、インタフェース制御が、容易にできる。
すなわち、この集積回路では、当該集積回路によりインタフェース制御がされる制御信号が、例えばファームウェアによる、予め定められた命令コードの実行により前記機能ブロックにより生成される。このため、新しいインタフェース制御を用いたい場合に、単に、例えば集積回路に格納されるファームウェアを変更するなどして、制御信号を生成させる命令コードの種類等を変更したり、当該命令コードを実行させて当該制御信号を生成させるタイミングを変更したりなどするだけで済む。つまり、それらだけで、容易に、新しいインタフェース方式でのインタフェース制御を行う集積回路を構成できる。これにより、長い開発期間がかかる再設計等が不要となる。
なお、この集積回路は、当該集積回路に格納される命令コードが実行されて、格納される命令コードが書き換え可能であり、命令コードの書き換えにより、新しいインタフェース方式でのインタフェース制御ができるものであってもよい。
第2の集積回路は、前記予め定められた命令コードの実行により、前記機能ブロックにおけるデータの入出力経路を変更し、変更後の入出力経路で生成された前記制御信号を前記メモリデバイスに入力させる入出力経路変更手段を備える集積回路である。この構成なら、入出力経路が変更され、十分自由に、入力される制御信号が変更できる。
第3の集積回路は、前記機能ブロックは、前記制御信号を示すデータを保持し、保持する当該データが示す制御信号を生成し、前記予め定められた命令コードは、前記制御信号を示すデータを含み、前記マイクロプロセッサは、前記予め定められた命令コードに含まれる当該データを前記機能ブロックに保持させることにより、保持させた当該データが示す制御信号を前記機能ブロックに生成させる集積回路である。
こうすれば、予め定められた命令コードに含まれるデータを変化させるだけで、容易に、適切な制御信号を生成させ、容易に、新しいインタフェース制御を実現できる。
第4の集積回路は、前記予め定められた命令コードは、前記制御信号を示すデータが格納されたレジスタを特定するレジスタ特定データを含み、前記機能ブロックは、前記予め定められた命令コードに含まれる当該レジスタ特定データが特定する前記レジスタのデータを取得して、取得されたデータにより示される前記制御信号を生成する集積回路である。
こうすれば、単に、レジスタのデータを変化させるだけで、多様な制御信号を容易に生成し、ひいては、容易に、多様な新しいインタフェース制御を実現できる。
第5の集積回路は、前記レジスタは、格納されたデータが前記マイクロプロセッサにより変更され、前記機能ブロックは、前記レジスタのデータが前記マイクロプロセッサにより変更されることにより、変更される前のデータが示す制御信号から、変更された後のデータが示す制御信号に、生成する制御信号を変化させる集積回路である。
こうすれば、上記した、予め定められた命令コードではなく、レジスタのデータを変更させる命令コードを用いて、容易に、生成させる制御信号を変更でき、新しいインタフェース制御を容易、自由に実現できる。
第6の集積回路は、前記メモリデバイスのインタフェース制御を行う予め定められた第2の制御信号を生成する第2の機能ブロックと、前記第2の機能ブロックにおけるデータの入出力経路を変更し、生成された前記第2の制御信号を前記メモリデバイスに入力させる第2の入出力経路変更手段とを更に備え、前記予め定められた命令コードは、前記第1の機能ブロック及び前記第2の機能ブロックのうちの一方を特定するブロック特定データを含み、前記マイクロプロセッサは、前記予め定められた命令コードに含まれる当該ブロック特定データが前記第2の機能ブロックを特定する場合には、前記第2の機能ブロックにより前記第2の制御信号を生成させ、当該第2の制御信号を入力させる一方で、当該ブロック特定データが前記第1の機能ブロックを特定する場合には、前記第1の制御信号を生成させ、当該第1の制御信号を入力させ、生成される前記信号パターンは、第1の前記制御信号によって構成される部分と、第2の前記制御信号によって構成される部分とが含まれる集積回路である。
こうすれば、第1の機能ブロックと第2の機能ブロックの両者を用いて、多様な制御信号を自由、容易に生成でき、多様な新しいインタフェース制御を容易に実現できる。
第7の集積回路は、前記第1の機能ブロックは、前記予め定められた命令コードが実行される場合に、前記マイクロプロセッサの予め定められた内部レジスタの値を前記インタフェース手段の出力信号として選択し、選択した当該値を前記インタフェース手段から前記制御信号として前記メモリデバイスに入力させる集積回路である。
こうすれば、内部レジスタの値の変更を制御信号として入力させて、入力される制御信号を十分自由に制御できる。
第8の集積回路は、予め定められた信号の中から、アサートを待つべき信号を選択する選択機能ブロックを更に備え、前記マイクロプロセッサは、実行する命令コードが前記予め定められた命令コードである場合に、前記選択機能ブロックの選択する信号の全てがアサートされるまでは、命令コードの実行を中断し、全てがアサートされてから当該予め定められた命令コードを実行する集積回路である。
こうすれば、アサートを待つべき信号が全てアサートされてから、適切なタイミングで制御信号が生成されるようにでき、容易に、適切なタイミングで制御信号を生成できる。
なお、例えば、本発明では、マイクロプロセッサに、回路のコンフィギュレーションを目的としたコンフィギュレーションアドレス情報と、当該アドレスに書き込むデータとからなる命令コードを具備する。そして、当該命令コードにより設定変更が可能な小機能ブロックを有機的に結合する構成が採られる。これにより、命令コードの組み合せにより、ダイナミックに任意の回路構成に変更することによって、自在なメモリインタフェース回路を構成することができる。これにより、内蔵マイクロプロセッサのファームウェアを変更することによって、例えば、フラッシュメモリやSDカードなど、様々な外部メモリデバイスに、一つの制御LSIでインタフェースすることが可能である。これにより、ひいては、フラッシュメモリなど、今後仕様変更が予想されるデバイスを制御する場合において、将来的に、メモリI/Fプロトコルが変更された場合にも柔軟に対応することが可能なASICを提供できる。
また、例えば、本発明は、命令コードによりダイナミックに回路構成を変更するメモリインタフェース回路方式であり、ASICの開発完了後に外部メモリとのインタフェース回路仕様を変更するには当該回路を再設計する必要があり、開発費の負担が大きいことが回避されるものである。
本発明によれば、新しいインタフェース方式でのインタフェース制御を容易に実現できるようになる。
図1は、本発明の実施例1におけるASICの構成図である。 図2は、本発明の実施例1におけるコンフィギュレーションを行う命令コードを示した図である。 図3は、本発明の実施例1におけるコマンド送信動作のタイミングチャートを示した図である。 図4は、本発明の実施例2におけるコンフィギュレーションを行う命令コードを示した図である。 図5は、本発明の実施例3におけるASICの構成図である。 図6は、本発明の実施例3におけるコマンド送信動作のタイミングチャートを示した図である。 図7は、本発明の実施例4におけるASICの構成図である。 図8は、本発明の実施例4における機能ユニットの論理回路例を示した図である。 図9は、本発明の実施例4におけるDMA動作のタイミングチャートを示した図である。 図10は、データの発生源、ASIC、外部メモリを示す図である。
以下、本発明の実施の形態について、図1から図10を参照して説明する。
実施形態では、例えば、次の集積回路が示される。つまり、マイクロプロセッサ(マイクロプロセッサ110)を有する集積回路(ASIC100)であって、前記マイクロプロセッサは、予め定められた命令コード(コンフィギュレーション用の命令コード、図2)を具備し、記憶ユニット及び命令デコーダを有するマイクロプロセッサ(マイクロプロセッサ110)と、前記集積回路は、デジタルデータを記録するメモリデバイス(外部メモリ180)と当該集積回路との間でデータを転送させるインタフェース部(外部出力信号153、外部出力信号133などの信号の信号線)と、前記マイクロプロセッサが前記予め定められた命令コードを実行し、前記命令デコーダが前記予め定められた命令コードを解読することにより、動作の設定変更が可能であり、設定変更されることにより、前記メモリデバイスのインタフェース制御を行う予め定められた制御信号を生成する機能ブロック(機能ブロック130、機能ブロック140及び機能ブロック150)と、前記命令コードの実行により、前記機能ブロックにおけるデータの入出力経路を変更し、生成された前記制御信号を前記メモリデバイスに入力させる入出力経路変更部(機能ブロック130、機能ブロック140及び機能ブロック150の全体よりなる機能ブロック)とを備え、前記機能ブロックは、前記記憶ユニットにより記憶された、前記予め定められた命令コードを含む複数の命令コードが構成する予め定められた命令列が、前記マイクロプロセッサにより実行されることにより、予め定められた信号パターンを生成する集積回路が示される。
これにより、利用されるデジタルデバイスが、1の種類のデジタルデバイスから、他の種類のデジタルデバイスに変更されても、容易に、他の種類でのインタフェース制御が実現できる。
すなわち、インタフェース制御をする制御信号が、予め定められた命令コードの実行により生成されて、例えば、ファームウェア方式が採用されるなどしている。これにより、新しいインタフェース制御を用いたい場合でも、長い開発期間がかかる再設計等が不要となる。つまり、単に、例えば、集積回路に格納されるファームウェアを変更するなどして、制御信号を生成させる命令コードを変更するだけで、新しいインタフェース方式でのインタフェース制御ができる。これにより、容易に、新しいインタフェース方式でのインタフェース制御を実現できる。
そして、より具体的には、例えば、次の集積回路が示される。つまり、当該集積回路は、コンピュータ(図10のデータの発生源100b、ノートパソコン)に接続される接続装置(全体ユニット100a、PCカード(拡張カード))に設けられたASIC(ASIC100)であり、当該接続装置は、フラッシュメモリが使用された複数の種類のメモリカード(USB(Universal Serial Bus)メモリ、U3、SDメモリカード、miniSDカード、microSDカード、メモリースティックなど)のうちの、1の種類のメモリカードが複数設けられ、前記メモリデバイス(外部メモリ180)は、複数の前記1の種類のメモリカードのうちの1つであり、当該集積回路は、前記メモリデバイスに動作を行わせる命令が、前記コンピュータにより入力され、前記機能ブロック(機能ブロック130等)は、複数の制御信号のうちで、当該機能ブロックが受ける制御に対応する制御信号を生成して、生成した前記制御信号を、前記メモリデバイスへと前記インタフェース部(外部出力信号153の信号線)に出力させ、前記複数の制御信号のそれぞれは、前記複数の種類のうちの1つに対応し、入力された前記命令の動作を、対応する種類のメモリカードに実行させ、前記マイクロプロセッサ(マイクロプロセッサ110)は、複数の命令列のうちの、1の命令列を実行し、前記複数の命令列のそれぞれは、前記複数の種類のうちの1つに対応し、対応する種類のメモリカードへの前記制御信号を生成させる制御を前記機能ブロックに対して、前記マイクロプロセッサに実行させ、前記マイクロプロセッサにより実行される前記1の命令列は、前記1の種類のメモリカードの命令列であり、前記信号パターンは、前記1の命令列の実行により生成される前記制御信号の信号パターンである集積回路が示される。
なお、符号「153」は、外部出力信号そのものではなく、外部出力信号の信号線を指すと理解されてもよい。なお、インタフェース部は、例えば、前記複数の種類のうちで、前記1の種類のメモリデバイスのみに接続されてもよい。また、インタフェース部は、例えば、将来の設計変更の後には、他の種類のメモリデバイスに接続されてもよい。なお、前記マイクロプロセッサは、複数の命令列のうちで、前記1の種類に対応する命令列のみを記憶してもよい。そして、マイクロプロセッサは、将来の設計変更の後には、他の種類の命令列を記憶してもよい。
(実施例1)
図1は、本発明の実施の形態として、フラッシュメモリに記録されたデジタルデータを入出力するためのインタフェースを備えたASIC100の回路構成例を示したものである。
ASIC100は、マイクロプロセッサ110と、機能ブロック130と、機能ブロック140と、機能ブロック150と、レジスタファイル170と、DMAコントローラ190と、オンチップバス160と、コンフィギュレーションバス120等を備える。
マイクロプロセッサ110は、本発明の実施例として説明するマイクロプロセッサであり、図1のマイクロプロセッサ110では、その内部の概略構成を図示している。
そして、マイクロプロセッサ110は、主記憶ユニット111と、実行制御ユニット112と、命令デコーダ113と、レジスタユニット114と、演算ユニット115と、バス制御ユニット116と、コンフィギュレーション出力ユニット117とを備える。
主記憶ユニット111は、命令コードを格納するプログラム領域や、作業データを格納するデータ領域、及び一時的にデータを格納するスタック領域などを記憶するメモリである。ここで、主記憶ユニット111が、上記したプログラム領域に格納するプログラムの命令コードの一部は、後述する、コンフィギュレーション用の命令コードである。
実行制御ユニット112は、プログラムカウンタなどのプログラム実行制御や、メモリ管理ユニット(MMU)や条件分岐、及び割り込み制御を行うための制御回路である。
命令デコーダ113は、主記憶ユニット111より読み出した命令コードに応じて、他のユニットを制御するための制御信号を生成する。
レジスタユニット114は、演算データやアドレス情報などを一時的に記憶するレジスタにより構成される。
演算ユニット115は、命令コードに応じて前記レジスタや主記憶のデータを演算し、その演算結果を前記レジスタや主記憶ユニット111に格納する。
バス制御ユニット116は、ASIC100の内部のオンチップバス160を介して、マイクロプロセッサ110と、ASIC100の内部における他のモジュールとのデータ入出力動作を行う。
なお、ここで本発明の回路方式を具体的に示すために、本実施例で説明するマイクロプロセッサ110の命令コードは、説明の便宜上、16ビット長として説明するが、32ビットなど他のワード長であっても同様である。
図2は、本実施例において具備した機能ブロック130などをコンフィギュレーションする、コンフィギュレーション用の命令コードの実施例を具体的に示したものである。
図2に示される、コンフィギュレーション用の命令コードは、識別子201と、コンフィギュレーションアドレス202と、コンフィギュレーションデータ203とを備える。
識別子201は、命令コードを識別するための識別子(以後SetConfigと示す)である。なお、識別子201は、例えば、コンフィギュレーション用の命令コード以外の、何れの他の命令コードの識別子の値とも異なる値である。
ここで、命令デコーダ113は、図2に示されるコンフィギュレーション用の命令コードを、含まれるこの識別子201によって、他の命令コードから識別する。
そして、コンフィギュレーション出力ユニット117は、当該命令コードが識別されると、命令コードに含まれるコンフィギュレーションアドレス202と、コンフィギュレーションデータ203とを保持する。そして、コンフィギュレーション出力ユニット117は、このとき、ConfigAddr[6:0]、ConfigData[3:0]、コンフィギュレーションタイミングを示すConfigWrite信号により構成される信号を、コンフィギュレーションバス120に出力する。
次に、本実施例で例示した機能ブロック130は、コンフィギュレーションバス120に接続されたソケットI/F131(ConfigAddr=00hとする)と、4ビットのフリップフロップによって構成された機能ユニット132とを備える。なお、図1に示される、この機能ブロック130が出力する外部出力信号133は、前記フリップフロップの出力信号を出力する外部出力信号である。
なお、本実施例では外部メモリ(フラッシュメモリ)180は、説明の便宜上から、一般的なNAND型フラッシュメモリとして説明するが、フラッシュメモリの種類やインタフェース方法を限定するものではないことは言うまでもない。
図3は、コマンド送信動作のタイミングチャートである。
クロック信号301は、マイクロプロセッサ110に供給されるクロック信号である。
OpCode302は、主記憶ユニット111より読み出された命令コードである。ここで、命令コードに続く2つの数字の意味は、記号303が図示する最初の数字が、コンフィギュレーション用の命令コードに含まれるコンフィギュレーションアドレス202(図2参照)を示す。そして、記号304が図示する、次の数字が、コンフィギュレーション用の命令コードに含まれるコンフィギュレーションデータ203(図2参照)を示している。
CLE305、ALE306、/WE307、/RE308(図3)は、本実施例で説明する外部メモリ(フラッシュメモリ)180の制御信号であり、それぞれ、外部出力信号133(図1)で示す、機能ブロック130が有する機能ユニット132の、4ビットのフリップフロップD3〜D0の出力データに対応する。
図3で横軸に示される各タイミングにおいて、図3に示される各命令コードがそれぞれ実行された場合の、4つの制御信号CLE305、ALE306、/WE307、/RE308の変化を次に説明する。
タイミングT1では、マイクロプロセッサ110が、図3に示されるように、「SetConfig 0,3」を実行する。ここで、実行される命令コードのオペコード「SetConfig」は、上述したコンフィギュレーション用の命令コードの識別子である。そして、この命令コードのコンフィギュレーションアドレス202(図2)は「0」であり、コンフィギュレーションデータ203(図2)は「3」である。ここで、コンフィギュレーションアドレス「0」は、機能ブロック130を示すアドレスであるものとする。一方、コンフィギュレーションデータ「3」は、2進数表現で、3=1×1+2×1+4×0+8×0=1100と表される。
そして、CLK301のT2の立ち上がりエッジにおいて、コンフィギュレーション出力ユニット117が出力するコンフィギュレーションバス120(図1参照)のConfigData[3:0]が、機能ブロック130の前記フリップフロップD3〜D0にラッチされる。これにより、T2の立ち上がりエッジでは、機能ブロック130の、4つの制御信号CLE305、ALE306、/WE307、/RE308は、それぞれ、上述した計算の結果である2進数表現1100に対応する、1、1、0、0である。つまり、このとき、4つのフリップフロップには、それぞれ、1、1、0、0が格納される。
次に、CLK301のT3の立ち上がりエッジにおいて、コンフィギュレーション出力ユニット117が出力するコンフィギュレーションバス120のConfigData[3:0]が前記フリップフロップD3〜D0にラッチされる。これにより、CLE305は、“0”から“1”に遷移し、/WE307は“1”から“0”に遷移する(図3参照)。これは、T2における、実行される命令コードのコンフィギュレーションデータが、9=1×1+2×0+4×0+8×1で、2進数表現の1001だからである。
次のクロックの立ち上がりT4では、コンフィギュレーションアドレス202が01hであるためソケットI/F131において、コンフィギュレーションアドレスが機能ユニット132の機能ブロック130に一致しないため、機能ユニット132のフリップフロップの状態は変化しない。
次のクロックの立ち上がりT5では、/WE307は“0”から“1”に遷移する。以降、同様に、命令コードの組み合せによって所望のタイミング信号を生成することが可能である。
次に本実施例における機能ブロック140(図1)について説明する。
機能ブロック140が有する機能ユニット142は、先述した機能ユニット132と同様に、4ビットのフリップフロップで構成される。ここで、フリップフロップの出力信号143は、レジスタファイル170のレジスタを選択するためのアドレス信号として、レジスタファイル170に出力される。
なお、ここで、レジスタファイル170は、8ビットのレジスタ16個より構成され、前記4ビットの出力信号(アドレス信号)143によってレジスタ値を選択し、選択されたレジスタ値のレジスタのデータが、レジスタファイルの出力信号171として出力され、機能ブロック150に入力される。
他方、ソケットI/F141は、ソケットI/F131と同様の構成であるが、ConfigAddr(図2のコンフィギュレーションアドレス202)=01hの場合に、ConfigData(図2のコンフィギュレーションデータ203)を、機能ユニット152が有する前記フリップフロップに設定する。
機能ブロック150は、ソケットI/F151より設定された選択状態によって、前記レジスタファイル170の出力信号171と、後述するDMAコントローラ190の出力信号191との何れかを選択し、8ビットの外部出力信号153を生成するマルチプレクサである機能ユニット152により構成される。
ここで再びコマンド送信動作のタイミングチャートにおけるT4で示すクロックの立ち上がり時の動作について説明する。T4では、ConfigAddr=01hであるため、機能ブロック140に対して、ConfigData[3:0]=0hを書き込む。この動作により、前記出力信号(アドレス信号)143が“0h”に設定され、レジスタファイル170におけるアドレス0のレジスタ値が出力信号171に出力される。ここで機能ブロック150は予め、レジスタ値(出力信号171)、つまりレジスタファイル170からの入力信号が、当該機能ブロック150の外部出力信号153に出力されるように設定されていれば、出力信号171が外部出力信号153として出力されて、外部メモリ(外部フラッシュメモリ)180のData310(図3参照)が、R0(図3において記号311で示す)となる。
同様に、図3における記号312でR1と示す、レジスタファイル170のアドレス1のレジスタ値は、T8で示すクロックの立ち上がり時に外部出力信号153に出力できる。
この集積回路は、前記命令コードの実行により、前記機能ブロックにおけるデータの入出力経路を変更し、変更後の入出力経路で生成された前記制御信号を前記メモリデバイスに入力させる入出力経路変更部を備える集積回路である。
そして、この集積回路は、機能ブロック130が、前記制御信号を示すデータをフリップフロップに保持し、保持する当該データが示す制御信号を生成し、前記予め定められた命令コードが、前記制御信号を示すデータ(コンフィギュレーションデータ203、図2)を含み、前記マイクロプロセッサが、前記予め定められた命令コードに含まれる当該データを前記機能ブロック130に保持させることにより、保持させた当該データが示す前記制御信号を生成させる集積回路である。
このため、制御信号を生成する多種類の命令コードを用意しなくとも、命令コードに含まれるデータを変化させるだけで、容易に、適切な制御信号を生成させ、容易に、新しいインタフェース制御を実現できる。
そして、この集積回路は、前記予め定められた命令コードが、前記制御信号を示すデータが格納されたレジスタ(レジスタファイル170のレジスタ)を特定するレジスタ特定データ(コンフィギュレーションデータ203、図2)を含み、前記機能ブロック(機能ブロック140及び機能ブロック150の全体よりなる機能ブロック)が、当該レジスタ特定データにより特定される前記レジスタのデータを取得し、取得されるデータが示す制御信号を生成する集積回路である。
このため、レジスタのデータを変化させることで、容易に、多様な制御信号を生成させることができる。
そして、この集積回路は、前記レジスタが、格納されるデータが前記マイクロプロセッサにより変更され、前記機能ブロック(機能ブロック140及び機能ブロック150の全体よりなる機能ブロック)が、前記レジスタのデータが前記マイクロプロセッサにより変更されることにより、変更される前のデータが示す制御信号から、変更された後のデータが示す制御信号に、生成する制御信号を変化させる集積回路である。
このため、上記した、予め定められた命令コードではなく、レジスタのデータを変更させる命令コードを用いて、容易、自由に、生成させる制御信号を変更でき、新しいインタフェース制御を容易、自由に実現できる。
そして、この集積回路は、前記メモリデバイスのインタフェース制御を行う予め定められた第2の制御信号を生成する第2の機能ブロック(機能ブロック130)と、前記第2の機能ブロックにおけるデータの入出力経路を変更し、生成された前記第2の制御信号を前記メモリデバイスに入力させる第2の入出力経路変更部(機能ブロック130)とを更に備え、前記予め定められた命令コードが、前記第1の機能ブロック及び前記第2の機能ブロックのうちの一方を特定するブロック特定データ(コンフィギュレーションアドレス202、図2)を含み、前記マイクロプロセッサが、前記予め定められた命令コードに含まれる当該ブロック特定データが前記第2の機能ブロックを特定する場合には、前記第2の機能ブロックにより前記第2の制御信号を生成させて、当該第2の制御信号を前記メモリデバイスに入力させ、前記第1の機能ブロックを特定する場合には、前記第1の制御信号を生成させて、当該第1の制御信号を入力させ、生成される前記信号パターンが、第1の前記制御信号によって構成される部分と、第2の前記制御信号によって構成される部分とが含まれる集積回路である。
このため、第1の機能ブロックと第2の機能ブロックの両者を用いて、多様な制御信号を自由、容易に生成でき、多様な新しいインタフェース制御を容易、自由に実現できる。
なお、この集積回路は、機能ブロック(機能ブロック140及び機能ブロック150の全体よりなる機能ブロック、機能ブロック130)が、前記予め定められた命令コードが実行される場合に、前記マイクロプロセッサの予め定められた内部レジスタの値を前記インタフェースの出力信号として選択し、選択した当該値を前記インタフェースから前記制御信号として前記メモリデバイスに入力させる集積回路である。
(実施例2)
図4は、図2に示される命令コードの定義方法とは異なる命令コードの定義例を示す図である。
図4に示される命令コードは、識別子401と、データ402と、データ403とを備える。
識別子401は、命令コードを識別するための識別子(以後LoadConfigと示す)であり、命令デコーダ113によって、この識別子401に基づいて、当該命令コードが識別される。データ402は、コンフィギュレーションアドレスを保持するレジスタユニット114の内部レジスタを選択するための情報を割り付けており、同様にデータ403は、コンフィギュレーションデータを保持するレジスタユニット114の内部レジスタを選択するための情報を割り付けている。この各々4ビットの情報は、それぞれ、信号118(図1)を用いて、レジスタユニット114における16個までの内部レジスタを選択することが可能である。ここで、前記内部レジスタは先の実施例同様に16ビットであるとすれば、LoadConifgの命令コードでは、ConfigAddr[15:0]、ConfigData[15:0]までのコンフィギュレーションバス120に接続される機能ブロックの設定が可能である。
こうして、前記予め定められた命令コード(コンフィギュレーション用の命令コード)は、制御信号を示すデータが格納されたレジスタ(レジスタユニット114の内部レジスタ)を特定するレジスタ特定データ(データ403、図4)を含み、前記機能ブロック(機能ブロック130)は、前記予め定められた命令コードに含まれる当該レジスタ特定データにより特定される前記レジスタのデータを取得し、取得されるデータが示す前記制御信号を生成する集積回路が構成される。
(実施例3)
図5は、第1の実施例において示した構成に対して、レジスタユニット114の内部レジスタの値を選択出力する機能ブロック510を追加したことにより、プログラム制御による外部インタフェース回路方式を拡張した実施形態を示したものである。
なお、図5では、図面記載の都合により、機能ブロック140(図1参照)の記載は省略した。
機能ユニット512は、ソケットI/F511を介して設定される4ビットのフリップフロップの出力状態によって、レジスタユニット114の内部レジスタ出力513における、16個までの内部レジスタ(R0〜R15)の中から、一つを選択し、出力信号514として機能ブロック150に入力する。
機能ブロック150は、第1の実施例の場合と同様に、ソケットI/F151より設定された選択状態によって、当該機能ユニット512の前記出力信号514を選択し、8ビットの外部出力信号153を生成するマルチプレクサである機能ユニット152により構成される。
これまでの説明同様に、コンフィギュレーションバス120を介して、命令コードSetConfigにより、機能ブロック510及び機能ブロック150のコンフィギュレーション設定を行う。また、機能ブロック150の外部出力信号153に、レジスタユニット114の内部レジスタ(仮にR0とする)を出力する設定を行うことによって、レジスタユニット114の内部レジスタ値を外部信号出力として出力することができる。
図6は、実施例3に係る、コマンド送信動作のタイミングチャートである。
図6を用いて、再度コマンド送信動作のタイミングチャートの動作について説明する。網掛けで示した命令コード以外の動作は図3と同一であるため説明は省略する。T3で発行した命令コード(Load)により、内部レジスタR0の状態が、T4で示すクロックの立ち上がり時において、“0x80”の状態601に遷移し、機能ブロック150は、外部出力信号153として、この“0x80”を出力する。
以下同様に、T8で示すクロックの立ち上がり時の状態602では、R0=R1(Copy)により、R1のレジスタを出力することになる。
更に、以下同様に、演算ユニット115における演算命令(603及び604)によって、実施例1において説明したオンチップバス160を用いてレジスタファイル170を介して入出力動作を行うだけでなく、マイクロプロセッサ110内部の演算ユニット115を効果的に使った演算操作により所望のインタフェース回路動作を実現することが可能である。
つまり、図6において、T10に示される「R0=R2+R3」の命令コードがマイクロプロセッサ110(図5)により実行されると、T11で、レジスタユニット114の内部レジスタR0に、R2+R3の演算がされた演算結果R2+R3が書き込まれて、書き込まれた演算結果R2+R3が、内部レジスタR0に保持される。そして、保持されるこの演算結果R2+R3が、機能ブロック510により、出力信号514として出力され、ひいては、機能ブロック150により、外部出力信号153として出力される。
また、同様に、T13における命令コード「R0=R2*R3」により、T14で、外部出力信号153として、T13の上記命令コードによる演算結果R2*R3が出力される。
こうして、コンフィギュレーション用の命令コードは、制御信号を示すデータが格納されたレジスタ(レジスタユニット114の内部レジスタ)を特定するレジスタ特定データ(コンフィギュレーションデータ)を含み、機能ブロック(機能ブロック510、機能ブロック150)は、前記命令コードに含まれる当該レジスタ特定データにより特定される前記レジスタのデータを取得し、取得されるデータが示す前記制御信号を生成する集積回路が構成される。
そして、この集積回路は、前記レジスタが、格納されるデータが前記マイクロプロセッサにより変更され(図6に示される「R0=0x80」の代入等を参照)、前記機能ブロックが、前記レジスタのデータが前記マイクロプロセッサにより変更されることにより、変更される前のデータが示す制御信号から、変更された後のデータが示す制御信号に、生成する制御信号を変化させる(図6のT3〜T4、T7〜T8、T13〜T14参照)集積回路である。
(実施例4)
次に第1の実施例において示した構成に対して、内部信号の状態に応じてマイクロプロセッサの命令コードの実行状態を制御することにより、本発明をより効果的に実施する形態について図7〜図9を用いて説明する。
図7は、実施例4に係るASICの構成図である。
機能ブロック710は、実行制御ユニット112における命令実行制御のステートマシンの実行を制御するOpReady信号713を、機能ユニット712によって生成する。この生成がされる際に、回路状態を示す複数の信号と、Enable信号801とが機能ユニット712により利用される。回路状態を示す複数の信号は、例えば、DMAコントローラ190からの、出力信号191を読み出すデータが残っているかどうかを示すDataReady信号192や、外部メモリ180がコマンドを受け取ったのち次の動作状態に移行してもよいかどうかを判断するためのBusy信号181などが含まれる。なお、回路状態を示す複数の信号については、ここでは、簡単のため前記2種類の信号として説明する。また、Enable信号801(“1”が有効)は、ソケットI/F711を介して設定された、前記回路状態を示す信号の有効無効を示す信号(“1”が有効)である。
図8は、前記機能ユニット712の論理回路の構成例を示したものである。
すなわちEnable[1:0]=“01”と設定すれば、OpReady信号713は、DataReady信号192の状態と等しく設定できる。
図9は、実施例4に係る、コマンド送信動作のタイミングチャートである。次に、この図9を用いて、実施例4に係るこの制御動作を説明する。
T5で示すクロックの立ち上がりまでの動作は、実施例1での説明と同様である。一方、T6のクロックの立ち上がり時は、前記OpReady信号713が“0”であることにより、マイクロプロセッサ110は、記号901で示す命令コード「Setconfig 0,2」の実行を停止する。そして、T11のクロックの立ち上がり時に、DMAコントローラ190のDataReady信号192がアサートされる。このことにより、OpReady信号713がアサートされ、実行制御ユニット112における命令コードの実行が再開され、引き続きデータ転送動作を継続することができる。
こうして、予め定められた信号(DataReady信号192、Busy信号181)の中から、アサートを待つべき信号を選択する選択機能ブロック(機能ブロック710)を更に備え、前記マイクロプロセッサは、実行する命令コードが前記予め定められた命令コード(コンフィギュレーション用の命令コード)である場合に、前記選択機能ブロックの選択する信号の全てがアサートされるまでは、命令コードの実行を中断し(図9のT6〜T10参照)、全てがアサートされてから当該予め定められた命令コードを実行する(図9のT11参照)集積回路が構成される。
以上の実施例において説明を行った機能ブロックだけでなく、例えばP/S変換器、S/P変換器などの回路機能で構成される機能ユニットを含む機能ブロックを用いてもよい。そして、機能ブロック150において示したマルチプレクサ機能を有する選択機能ブロックを用いて、多数の機能ブロックを有機的に結合する回路構成としてもよい。これにより、メモリインタフェース回路として有用なだけでなく、デジタルデータのインタフェース全般の回路方式として応用することも可能である。
(他の形態)
以下で説明する他の形態を採ってもよく、上記各実施例は、それぞれ、以下で説明される他の形態のうちの一部が付加されてもよいし、また、以下で説明する他の形態に対して、上記各実施例のうちの一部が付加されてもよい。
外部メモリ(外部メモリ180)に接続された集積回路(ASIC100)であって、予め定められた命令コード(コンフィギュレーション用の命令コード)を有するマイクロプロセッサ(マイクロプロセッサ110)と、前記命令コードが前記マイクロプロセッサに実行された場合に、前記外部メモリのインタフェース制御をする予め定められた制御信号を生成する制御信号生成部(機能ブロック130等)とを備える集積回路の構成を採ってもよい。
ここで、実行される上記命令コードは、当該集積回路のファームウェアであるものとしてもよい。
ここに、この集積回路は、FPGAなどのように、構成された回路を書き換え可能な種類の回路以外の、書き換えが可能でない、他の種類の回路であってもよい。こうすれば、新しいインタフェースを容易に利用できるようにしつつも、デバイス単価を低く抑えたり、スピードを速くしたりして、他の種類の回路の利点を併せて得ることができる。
集積回路は、制御信号を示すデータを保持するデータ保持部(レジスタユニット114のレジスタ、レジスタファイル170のレジスタ)を更に備え、前記制御信号生成部は、前記命令コードが前記マイクロプロセッサに実行された場合に、保持されたデータを取得して、取得されるデータにより示される制御信号を生成するものであってもよい。また、集積回路は、前記外部メモリのインタフェース制御をする予め定められた第2の制御信号を生成する第2の制御信号生成部を更に備え、前記命令コードは、2つの前記制御信号生成部から一方を特定する生成部特定データ(コンフィギュレーションアドレス)を含み、前記第1の制御信号生成部は、前記命令コードが前記マイクロプロセッサに実行された場合に、当該命令コードにより特定される、前記一方の制御信号生成部が、当該第1の制御信号生成部であるときにのみ、前記第1の制御信号を生成し、前記第2の制御信号生成部は、前記命令コードが前記マイクロプロセッサに実行された場合に、当該命令コードにより特定される、前記一方の制御信号生成部が、当該第2の制御信号生成部であるときにのみ、前記第2の制御信号を生成する構成を採ってもよい。
そして、このような他の形態の集積回路において、上記した点以外の点については、上記各実施例のうちの何れかの実施例と同じであるものとしてもよい。すなわち、このような他の形態の集積回路は、上記した点以外の点については、第1実施例と同じであってもよいし、第2実施例と同じであってもよいし、第3実施例と同じであってもよいし、第4実施例と同じであってもよい。
上記実施例1等のそれぞれの実施例における詳細な点は、例えば、次の説明の通りであってもよい。ただし、次の説明は、単なる一例である。
図10は、データの発生源100bにASIC100が接続された例を示す図である。
データの発生源100bは、例えば、ノートパソコンや、所定の記憶領域であり、外部メモリ180に記憶されるデータを発生する。なお、データの発生源100bは、外部メモリ180から、外部メモリ180に記憶されたデータを取得してもよい。また、データの発生源100bは、外部メモリ180を動作させる命令を生成し、生成した命令をASIC100へ出力してもよい。
中継部110aにおいて、機能ブロック130等は、マイクロプロセッサ110による制御を受けた動作をすることにより、外部メモリ180への制御信号を生成する。これにより、生成された制御信号が外部メモリ180に出力されることにより、データの発生源100bが発生したデータが、外部メモリ180へと中継部110aにより中継される。なお、例えば、中継部110aは、外部メモリ180からデータの発生源100bへのデータも中継してもよい。例えば、ASIC100には、データの発生源100bと、中継部110aとの間のデータの流れを制御するCPU160aが設けられてもよい。
より具体的には、マイクロプロセッサ110及び機能ブロック130等は、データの発生源100bにより生成された命令から特定される制御信号を生成することにより、データの中継を行う。
なお、ASIC100及び外部メモリ180を有する全体ユニット100aは、例えば、ノートパソコンであるデータの発生源100bに装着されるPCカード、その他の拡張カードであってもよい。そして、全体ユニット100aは、例えば、上記のような中継部110a及び外部メモリ180の組を、複数組備えてもよい。
上記のように、当該集積回路は、データの発生源(データの発生源100b)が発生したデータを記憶する動作を前記メモリデバイスに実行させる命令と、当該データとが入力されるASIC(ASIC100)であり、生成される前記信号パターンが、入力された前記データを記憶する前記動作を前記メモリデバイスに実行させる信号パターンである集積回路である。
また、実施例1等の詳細な点は、次の説明の通りであってもよい。ただし、次の説明も、単なる一例である。
集積回路(ASIC100)は、インタフェース部(外部出力信号153の信号線等)と、機能ブロック(機能ブロック130〜機能ブロック150等)と、マイクロプロセッサ(マイクロプロセッサ110)とを備える。
インタフェース部は、1の種類のメモリデバイス(外部メモリ180)に制御信号を出力する。ここで、1の種類とは、メモリデバイスの複数の種類のうちに含まれる1の種類である。なお、インタフェース部は、例えば、前記複数の種類のうちで、前記1の種類のメモリデバイスのみに接続され、前記1の種類のメモリデバイスのみに制御信号を出力してもよい。また、インタフェース部は、例えば、将来の設計変更の後には、他の種類のメモリデバイスに接続されてもよい。
機能ブロックは、制御信号を生成し、生成した前記制御信号を前記インタフェース部に出力させる。ここで、生成される制御信号は、複数の制御信号のうちで、当該機能ブロックが受ける制御に対応する制御信号である。ここで、複数の制御信号のそれぞれは、前記複数の種類のそれぞれに対応する。それぞれの制御信号は、命令が示す動作を、その制御信号に対応する種類のメモリデバイスに実行させる制御信号である。
マイクロプロセッサは、複数の命令列のうち、前記1の種類のメモリデバイスへの前記制御信号に対応する命令列を実行する。ここで、複数の命令列のうちのそれぞれの命令列は、その命令列が対応する種類のメモリデバイスのための命令列である。つまり、それぞれの命令列は、対応する種類のメモリデバイスへの制御信号を生成させる制御を前記機能ブロックに対して、マイクロプロセッサに実行させる命令列である。なお、マイクロプロセッサは、複数の命令列のうちで、前記1の種類に対応する命令列のみを記憶してもよい。そして、マイクロプロセッサは、将来の設計変更の後には、他の種類の命令列を記憶してもよい。
この構成により、例えば、将来の設計変更などで、インタフェース部に接続されるメモリデバイスが、前記1の種類のものから、他の種類のものに変更される場合など、他の種類が利用される場合において、問題が回避できる。すなわち、単に、他の種類に対応する命令列がマイクロプロセッサにより実行されるだけで、容易に、適切な動作が実行される。これにより、メモリデバイスの種類が変更されても、容易に、適切なインタフェース制御ができる。
なお、前記制御信号は、例えば、前記命令が示す前記動作を前記1の種類のメモリデバイスに実行させる信号パターンに含まれる複数の制御信号のうちの一部又は全部である。
本発明について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
本発明にかかるマイクロプロセッサ型メモリインタフェース回路方式は、例えばファームウェアを変更すること等によって、インタフェース回路構成の仕様変更を行うことができるという優れた効果を有し、特にASICの回路方式として大変有用である。
100 ASIC
100a 全体ユニット
100b データの発生源
110 マイクロプロセッサ
110a 中継部
111 主記憶ユニット
112 実行制御ユニット
113 命令デコーダ
114 レジスタユニット
115 演算ユニット
116 バス制御ユニット
117 コンフィギュレーション出力ユニット
118 信号
120 コンフィギュレーションバス
130、140、150、510、710 機能ブロック
131、141、151、511、711 ソケットI/F
132、142、152、712 機能ユニット
133、153 外部出力信号
143、171、191、514 出力信号
160 オンチップバス
160a CPU
170 レジスタファイル
180 外部メモリ
190 DMAコントローラ
192 DataReady信号

Claims (12)

  1. 予め定められた命令コードを具備し、記憶ユニット及び命令デコーダを有するマイクロプロセッサと、
    デジタルデータを記録するメモリデバイスと当該集積回路との間でデータを転送させるインタフェース手段と、
    前記マイクロプロセッサが前記予め定められた命令コードを実行し、前記命令デコーダが前記予め定められた命令コードを解読することで、動作の設定変更が可能であり、設定変更されることにより、前記メモリデバイスのインタフェース制御を行う予め定められた制御信号を生成する機能ブロックとを備え、
    前記メモリデバイスは、タイミング毎に、そのタイミングにおけるデータパターンをもつ1つ以上の前記制御信号が入力され、
    前記マイクロプロセッサは、前記タイミング毎に、そのタイミングの前記データパターンを指定する前記予め定められた命令コードを実行し、
    前記機能ブロックは、前記予め定められた命令コードの実行に基づいて、その命令コードにより指定される前記データパターンの前記1つ以上の制御信号を、その命令コードの前記タイミングに生成して、前記メモリデバイスへ出力する集積回路。
  2. 前記予め定められた命令コードの実行により、前記機能ブロックにおけるデータの入出力経路を変更し、変更後の入出力経路で生成された前記1つ以上の制御信号を前記メモリデバイスに入力させる入出力経路変更手段を備える請求項1記載の集積回路。
  3. 前記機能ブロックは、データを保持し、保持する当該データが示すデータパターンをもつ1つ以上の制御信号を生成し、
    前記予め定められた命令コードは、その命令コードの前記データパターンを示すデータを含み、
    前記マイクロプロセッサは、前記予め定められた命令コードに含まれる当該データを前記機能ブロックに保持させることにより、保持させた当該データが示す前記データパターンをもつ前記1つ以上の制御信号を前記機能ブロックに生成させる請求項1記載の集積回路。
  4. 前記予め定められた命令コードは、その命令コードにより指定される前記データパターンを示すデータが格納されたレジスタを特定するレジスタ特定データを含み、
    前記機能ブロックは、前記予め定められた命令コードに含まれる当該レジスタ特定データが特定する前記レジスタの前記データを取得して、取得された前記データにより示される前記データパターンをもつ前記1つ以上の制御信号を生成する請求項1記載の集積回路。
  5. 前記レジスタは、格納された前記データが前記マイクロプロセッサにより変更され、
    前記機能ブロックは、前記データが前記マイクロプロセッサにより変更されることにより、変更後前記データが示すデータパターンをもつ前記1つ以上の制御信号を生成する請求項4記載の集積回路。
  6. 前記機能ブロックは、
    第1の制御信号を生成する第1の機能ブロックと、
    2の制御信号を生成する第2の機能ブロックと、
    前記第2の機能ブロックにおけるデータの入出力経路を変更し、生成された前記第2の制御信号を前記メモリデバイスに入力させる第2の入出力経路変更手段とを備え、
    前記予め定められた命令コードは、前記第1の機能ブロック及び前記第2の機能ブロックのうちの一方を特定するブロック特定データを含み、
    前記マイクロプロセッサは、前記予め定められた命令コードに含まれる当該ブロック特定データが前記第2の機能ブロックを特定する場合には、前記第2の機能ブロックにより前記第2の制御信号を生成させ、当該第2の制御信号を入力させる一方で、当該ブロック特定データが前記第1の機能ブロックを特定する場合には、前記第1の制御信号を生成させ、当該第1の制御信号を入力させ、
    前記1つ以上の制御信号は、前記第1の機能ブロックが特定される場合には、1つ以上の第1の前記制御信号によって構成され、前記第2の機能ブロックが特定される場合には、1つ以上の第2の前記制御信号によって構成される請求項1記載の集積回路。
  7. 前記第1の機能ブロックは、前記予め定められた命令コードが実行される場合に、前記マイクロプロセッサの予め定められた内部レジスタの値により示される前記データパターンの前記1つ以上の制御信号を前記インタフェース手段から前記メモリデバイスに入力させる請求項6記載の集積回路。
  8. 予め定められた信号の中から、アサートを待つべき信号を選択する選択機能ブロックを更に備え、前記マイクロプロセッサは、実行する命令コードが前記予め定められた命令コードである場合に、前記選択機能ブロックの選択する信号の全てがアサートされるまでは、命令コードの実行を中断し、全てがアサートされてから当該予め定められた命令コードを実行する請求項1記載の集積回路。
  9. 前記機能ブロックは、
    ータを記憶し、記憶する前記データが特定するデータパターンをもつ1つ以上の制御信号を出力する第1の機能ブロックと、
    それぞれのレジスタが値を記憶し、記憶された前記値を出力する複数のレジスタから、1のレジスタを特定するデータを記憶する第2の機能ブロックと、
    前記1のレジスタと、DMAコントローラとのうちの一方を特定するデータを記憶し、記憶する当該データにより特定される方により出力される値のデータパターンをもつ1つ以上の制御信号出力する第3の機能ブロックとを含む請求項1記載の集積回路。
  10. 前記予め定められた命令コードは、前記第1の機能ブロック、前記第2の機能ブロック、及び前記第3の機能ブロックから1の機能ブロックを特定する第1部分と、データを特定する第2部分とを含み、
    前記マイクロプロセッサは、当該予め定められた命令コードを実行する際に、当該予め定められた命令コードの前記第1部分により特定される機能ブロックにより記憶される前記データを、前記第2部分により特定されるデータに変更する請求項9記載の集積回路。
  11. 当該集積回路は、データの発生源が発生したデータを記憶する動作を前記メモリデバイスに実行させる命令と、当該データとが入力されるASICであり、
    生成される前記1つ以上の制御信号は、入力された前記データを記憶する前記動作を前記メモリデバイスに実行させるための1つ以上の制御信号である請求項10記載の集積回路。
  12. 当該集積回路は、コンピュータに接続される接続装置に設けられたASICであり、
    当該接続装置は、フラッシュメモリが使用された複数の種類のメモリカードのうちの、1の種類のメモリカードが複数設けられ、
    前記メモリデバイスは、複数の前記1の種類のメモリカードのうちの1つであり、
    当該集積回路は、前記メモリデバイスに動作を行わせる命令が、前記コンピュータにより入力され、
    前記機能ブロックは、複数の出力信号のうちで、当該機能ブロックが受ける制御に対応する出力信号を生成して、生成した前記出力信号を、前記メモリデバイスへと前記インタフェース手段に出力させ、
    前記複数の出力信号のそれぞれは、前記複数の種類のうちの1つに対応し、入力された前記命令の動作を、対応する種類のメモリカードに実行させ、
    前記マイクロプロセッサは、複数の命令列のうちの、1の命令列を実行し、
    前記複数の命令列のそれぞれは、前記複数の種類のうちの1つに対応し、対応する種類のメモリカードへの前記出力信号を生成させる制御を前記機能ブロックに対して、前記マイクロプロセッサに実行させ、
    前記マイクロプロセッサにより実行される前記1の命令列は、前記1の種類のメモリカードの命令列であり、それぞれの前記タイミングの前記命令コードを含み、
    前記1以上の制御信号は、前記1の命令列の実行により生成される前記出力信号における、その1以上の制御信号の前記タイミングにおける各信号である請求項2記載の集積回路。
JP2010522609A 2008-07-30 2009-07-24 集積回路 Active JP5138040B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010522609A JP5138040B2 (ja) 2008-07-30 2009-07-24 集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008196909 2008-07-30
JP2008196909 2008-07-30
JP2010522609A JP5138040B2 (ja) 2008-07-30 2009-07-24 集積回路
PCT/JP2009/003496 WO2010013427A1 (ja) 2008-07-30 2009-07-24 集積回路

Publications (2)

Publication Number Publication Date
JPWO2010013427A1 JPWO2010013427A1 (ja) 2012-01-05
JP5138040B2 true JP5138040B2 (ja) 2013-02-06

Family

ID=41610142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010522609A Active JP5138040B2 (ja) 2008-07-30 2009-07-24 集積回路

Country Status (3)

Country Link
US (1) US20110138158A1 (ja)
JP (1) JP5138040B2 (ja)
WO (1) WO2010013427A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10637478B1 (en) 2016-11-17 2020-04-28 Google Llc Bridged integrated circuits
US10374608B1 (en) * 2016-11-17 2019-08-06 X Development Llc Bridged integrated circuits
CN109036259B (zh) * 2018-08-13 2023-09-26 深圳市奥拓电子股份有限公司 Led显示模组及led显示设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143364A (ja) * 1996-11-07 1998-05-29 Fujitsu Ltd 処理装置
JP2002526908A (ja) * 1998-09-30 2002-08-20 ケイデンス デザイン システムズ インコーポレイテッド ブロックをベースとする設計方法
JP2004535642A (ja) * 2001-07-18 2004-11-25 インフィネオン テクノロジーズ アクチエンゲゼルシャフト 記憶装置におけるアドレス指定のための中央処理装置の制御方法および制御装置
JP2004348580A (ja) * 2003-05-23 2004-12-09 Konica Minolta Business Technologies Inc シリアルインターフェース回路及び半導体集積回路
JP2005297561A (ja) * 2004-04-15 2005-10-27 Agilent Technol Inc プログラマブル・インタフェース
JP2006518056A (ja) * 2002-10-31 2006-08-03 ロッキード マーティン コーポレーション プログラマブル回路、関連計算マシン、並びに、方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494193A (en) * 1982-09-30 1985-01-15 At&T Bell Laboratories Deadlock detection and resolution scheme
JP2000124930A (ja) * 1998-10-19 2000-04-28 Sony Corp データ伝送制御装置及びデータ伝送方法
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
US7535718B2 (en) * 2003-08-20 2009-05-19 Imation Corp. Memory card compatible with multiple connector standards
US7590830B2 (en) * 2004-05-28 2009-09-15 Sun Microsystems, Inc. Method and structure for concurrent branch prediction in a processor
KR100672033B1 (ko) * 2005-10-14 2007-01-19 삼성전자주식회사 두 개의 입력 기준 클럭을 가지는 지연동기루프회로, 이를포함하는 클럭 신호 발생 회로 및 클럭 신호 발생 방법
US8140738B2 (en) * 2006-07-20 2012-03-20 Stmicroelectronics Pvt. Ltd. Flash memory interface device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143364A (ja) * 1996-11-07 1998-05-29 Fujitsu Ltd 処理装置
JP2002526908A (ja) * 1998-09-30 2002-08-20 ケイデンス デザイン システムズ インコーポレイテッド ブロックをベースとする設計方法
JP2004535642A (ja) * 2001-07-18 2004-11-25 インフィネオン テクノロジーズ アクチエンゲゼルシャフト 記憶装置におけるアドレス指定のための中央処理装置の制御方法および制御装置
JP2006518056A (ja) * 2002-10-31 2006-08-03 ロッキード マーティン コーポレーション プログラマブル回路、関連計算マシン、並びに、方法
JP2004348580A (ja) * 2003-05-23 2004-12-09 Konica Minolta Business Technologies Inc シリアルインターフェース回路及び半導体集積回路
JP2005297561A (ja) * 2004-04-15 2005-10-27 Agilent Technol Inc プログラマブル・インタフェース

Also Published As

Publication number Publication date
US20110138158A1 (en) 2011-06-09
WO2010013427A1 (ja) 2010-02-04
JPWO2010013427A1 (ja) 2012-01-05

Similar Documents

Publication Publication Date Title
TWI464595B (zh) 動態可組態串列資料通訊介面
US8140738B2 (en) Flash memory interface device
US7822958B1 (en) Booting mechanism for FPGA-based embedded system
US5099481A (en) Registered RAM array with parallel and serial interface
US8286025B1 (en) Selection of port adapters for clock crossing boundaries
US7538577B2 (en) System and method for configuring a field programmable gate array
JP5985900B2 (ja) 動作合成装置、動作合成装置を備えたデータ処理システム、及び、動作合成プログラム
JP2008537268A (ja) 可変精度相互接続を具えたデータ処理エレメントの配列
WO2006105303A1 (en) A method and system for elastic signal pipelining
JP4272108B2 (ja) データ処理装置用バス相互接続ブロックの設計に関するフレキシビリティの改善
JP2004102799A (ja) レジスタファイル及びレジスタファイルの設計方法
JP2019215724A (ja) 半導体装置
JP5138040B2 (ja) 集積回路
US20080040700A1 (en) Behavioral synthesizer, debugger, writing device and computer aided design system and method
JP2013092852A (ja) バス接続回路、半導体装置及びバス接続回路の動作方法
US8706931B1 (en) Tool selection and implementation of port adapters
US6820197B2 (en) Data processing system having configurable components
US20040236929A1 (en) Logic circuit and program for executing thereon
US7302667B1 (en) Methods and apparatus for generating programmable device layout information
TWI716909B (zh) 記憶體控制系統及操作記憶體控制系統的方法
TWI473110B (zh) 串列介面的快閃記憶體裝置及其重置動作的執行方法
CN111625411A (zh) 半导体装置及调试系统
JP4328790B2 (ja) 半導体集積回路
US8578075B1 (en) Performance constraints for system synthesis
JPH0442329A (ja) データ処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120427

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: 20121030

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: 20121113

R150 Certificate of patent or registration of utility model

Ref document number: 5138040

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: 20151122

Year of fee payment: 3