JP2009009264A - Semiconductor device and semiconductor device automatic control method - Google Patents
Semiconductor device and semiconductor device automatic control method Download PDFInfo
- Publication number
- JP2009009264A JP2009009264A JP2007168604A JP2007168604A JP2009009264A JP 2009009264 A JP2009009264 A JP 2009009264A JP 2007168604 A JP2007168604 A JP 2007168604A JP 2007168604 A JP2007168604 A JP 2007168604A JP 2009009264 A JP2009009264 A JP 2009009264A
- Authority
- JP
- Japan
- Prior art keywords
- command
- data
- register
- bit
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims description 24
- 239000008186 active pharmaceutical agent Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 2
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 2
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】半導体デバイスのレジスタをリアルタイムに制御する。
【解決手段】複数のレジスタと、レジスタを制御する複数のコマンドを格納するコマンドバッファと、コマンドバッファに格納されたコマンドを順次実行するコマンド実行回路と、外部からの制御とコマンド実行回路からの制御を切り替える実行部選択回路と、を含み、アドレスのレジスタのデータからビット幅かつ有効ビットのデータを読み出すデータ読み出しコマンドと、アドレスのレジスタのデータの有効ビットを書き込みデータに書き換えるデータ書き込みコマンドと、外部からのクロック信号の数がクロック数に達するまで待機する単純ウェイトコマンドと、アドレスのレジスタのデータと比較データの有効ビットが等しくなるまで待機する状態ウェイトコマンドと、を含み、複数のコマンドを1つ以上組み合わせてレジスタを制御する。
【選択図】図1A semiconductor device register is controlled in real time.
A plurality of registers, a command buffer that stores a plurality of commands that control the registers, a command execution circuit that sequentially executes commands stored in the command buffer, control from the outside, and control from the command execution circuit An execution unit selection circuit for switching the data, a data read command for reading the data of the bit width and the effective bit from the data of the address register, a data write command for rewriting the effective bit of the data of the address register to the write data, and an external A simple wait command that waits until the number of clock signals from the clock number reaches the number of clocks, and a state wait command that waits until the valid bits of the address register data and the comparison data are equal, and a plurality of commands Combine the above to control the register To.
[Selection] Figure 1
Description
本発明は、複数のレジスタを含む半導体デバイス及び半導体デバイスの自動制御方法に関する。 The present invention relates to a semiconductor device including a plurality of registers and a method for automatically controlling the semiconductor device.
USB規格のコントローラなどの半導体デバイスは、複数のレジスタを有し、レジスタにトランザクション及びエンドポイントなどの制御情報を保有することにより動作を実現している。従来、これらの半導体デバイスが有するレジスタからデータを読み出す動作や、レジスタへデータを書き込む動作をチェックするためには、PCにインストールされたソフトウェアをCPUで動作させることにより処理していたため、本来の半導体デバイスだけで動作させた場合に比べて動作時間が遅くなり、時間制約が厳しい場合に規定時間を守ることが難しかった。特に、高機能なOSなどリアルタイム制御機能を持たないソフトウェアを用いる場合、リアルタイム制御が必要となるハードウェアの制御ができなかった。 A semiconductor device such as a USB standard controller has a plurality of registers, and realizes operations by holding control information such as transactions and endpoints in the registers. Conventionally, in order to check the operation of reading data from and writing data to a register of these semiconductor devices, the software installed in the PC is processed by the CPU, so that the original semiconductor The operation time is slower than when the device is operated alone, and it is difficult to keep the specified time when time constraints are severe. In particular, when software that does not have a real-time control function, such as a high-function OS, is used, the hardware that requires real-time control cannot be controlled.
この問題を解決するために、例えば特許文献1には、半導体デバイス間のデータをトレースする方法が記載されている。
In order to solve this problem, for example,
しかしながら、従来の方法では、装置間の送受信データをトレースすることを主眼としており、半導体デバイス単体での動作確認には向かないという課題がある。また、ソフトウェアによりレジスタを書き換える場合、ビット単位での書き換えができないという課題もある。 However, the conventional method focuses on tracing transmission / reception data between apparatuses, and there is a problem that it is not suitable for operation confirmation of a single semiconductor device. In addition, when the register is rewritten by software, there is a problem that rewriting cannot be performed in bit units.
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。 SUMMARY An advantage of some aspects of the invention is to solve at least a part of the problems described above, and the invention can be implemented as the following forms or application examples.
[適用例1]
複数のレジスタを含む半導体デバイスであって、前記レジスタを制御する複数のコマンドを格納するコマンドバッファと、前記コマンドバッファに格納された前記コマンドを順次実行するコマンド実行回路と、外部からの制御と前記コマンド実行回路からの制御を切り替える実行部選択回路と、を含む、ことを特徴とする半導体デバイス。
[Application Example 1]
A semiconductor device including a plurality of registers, a command buffer that stores a plurality of commands that control the registers, a command execution circuit that sequentially executes the commands stored in the command buffer, an external control, and the An execution unit selection circuit that switches control from a command execution circuit.
この構成によれば、レジスタを制御するコマンドを半導体デバイス内部のコマンドバッファに格納し実行することができるので、半導体デバイスとソフトウェアの動作速度の違いによる動作時間の無駄を減らすことができる。 According to this configuration, the command for controlling the register can be stored and executed in the command buffer inside the semiconductor device, so that waste of operating time due to the difference in operating speed between the semiconductor device and software can be reduced.
[適用例2]
上記記載の半導体デバイスにおいて、前記複数のコマンドは、前記レジスタのアドレスと、データ幅と、有効ビットと、を指定し、前記アドレスが示す前記レジスタから前記データ幅かつ前記有効ビットが示すビットの値を読み出すデータ読み出しコマンドと、前記レジスタのアドレスと、書き込みデータと、有効ビットと、を指定し、前記アドレスが示す前記レジスタの前記有効ビットが示すビットの値を前記書き込みデータの前記有効ビットが示すビットの値に書き換えるデータ書き込みコマンドと、次のコマンドを実行するまで待機するクロック数を指定し、外部からのクロック信号の数が前記クロック数に達するまで待機する単純ウェイトコマンドと、前記レジスタのアドレスと、比較データと、有効ビットと、を指定し、前記アドレスが示す前記レジスタの前記有効ビットが示すビットの値と前記比較データの前記有効ビットが示すビットの値とが等しくなるまで待機する状態ウェイトコマンドと、を含む、ことを特徴とする半導体デバイス。
[Application Example 2]
In the semiconductor device described above, the plurality of commands specify an address, a data width, and a valid bit of the register, and a value of the data width and the bit indicated by the valid bit from the register indicated by the address The data read command, the register address, the write data, and the valid bit are designated, and the valid bit of the write data indicates the value of the bit indicated by the valid bit of the register indicated by the address Specify the data write command to rewrite to the bit value, the number of clocks to wait until the next command is executed, the simple wait command to wait until the number of external clock signals reaches the number of clocks, and the address of the register , Comparison data, and valid bit, and It includes a state wait command to the valid bit indicates a bit value of the register indicated by the scan and said valid bit indicates a bit value of the comparison data will wait until it equals the semiconductor device, characterized in that.
この構成によれば、レジスタデータの読み出し、書き込み、待ち状態を自動実行することで、半導体デバイスとソフトウェアの動作速度の違いによる動作時間の無駄を減らすことができる。また、レジスタデータのビット毎の読み出し、書き込み、比較を半導体デバイスが行なうため、ソフトウェアがこれらの処理を行なうときに比べ半分以下の動作時間で処理を終えることができる。 According to this configuration, it is possible to reduce waste of operating time due to a difference in operating speed between the semiconductor device and the software by automatically executing reading, writing, and waiting states of register data. In addition, since the semiconductor device reads, writes, and compares the register data for each bit, the processing can be completed in less than half the operation time compared to when the software performs these processes.
[適用例3]
複数のレジスタと、前記レジスタを制御する複数のコマンドを格納するコマンドバッファと、前記コマンドバッファに格納された前記コマンドを順次実行するコマンド実行回路と、外部からの制御と前記コマンド実行回路からの制御を切り替える実行部選択回路と、を含む半導体デバイスの自動制御方法であって、前記複数のコマンドとして、前記レジスタのアドレスと、データ幅と、有効ビットと、を指定し、前記アドレスが示す前記レジスタから前記データ幅かつ前記有効ビットが示すビットの値を読み出すデータ読み出しコマンドと、前記レジスタのアドレスと、書き込みデータと、有効ビットと、を指定し、前記アドレスが示す前記レジスタの前記有効ビットが示すビットの値を前記書き込みデータの前記有効ビットが示すビットの値に書き換えるデータ書き込みコマンドと、次のコマンドを実行するまで待機するクロック数を指定し、外部からのクロック信号の数が前記クロック数に達するまで待機する単純ウェイトコマンドと、前記レジスタのアドレスと、比較データと、有効ビットと、を指定し、前記アドレスが示す前記レジスタの前記有効ビットが示すビットの値と前記比較データの前記有効ビットが示すビットの値とが等しくなるまで待機する状態ウェイトコマンドと、を含み、前記複数のコマンドを1つ以上組み合わせて前記レジスタを制御する、ことを特徴とする半導体デバイスの自動制御方法。
[Application Example 3]
A plurality of registers, a command buffer for storing a plurality of commands for controlling the registers, a command execution circuit for sequentially executing the commands stored in the command buffer, an external control, and a control from the command execution circuit And an execution unit selection circuit for switching the register, wherein the register indicates an address, a data width, and a valid bit as the plurality of commands, and the register indicates the address A data read command for reading the data width and the value of the bit indicated by the valid bit, the register address, the write data, and the valid bit are designated, and the valid bit of the register indicated by the address indicates The value of the bit indicated by the valid bit of the write data The data write command to be rewritten, the number of clocks to wait until the next command is executed, the simple wait command to wait until the number of external clock signals reaches the number of clocks, and the register address are compared. A state wait command that specifies data and a valid bit, and waits until the value of the bit indicated by the valid bit of the register indicated by the address is equal to the value of the bit indicated by the valid bit of the comparison data; And controlling the register by combining one or more of the plurality of commands.
この構成によれば、レジスタデータの読み出し、書き込み、待ち状態を自動実行することで、半導体デバイスとソフトウェアの動作速度の違いによる動作時間の無駄を減らすことができる。また、レジスタデータのビット毎の読み出し、書き込み、比較を半導体デバイスが行なうため、ソフトウェアがこれらの処理を行なうときに比べ半分以下の動作時間で処理を終えることができる。 According to this configuration, it is possible to reduce waste of operating time due to a difference in operating speed between the semiconductor device and the software by automatically executing reading, writing, and waiting states of register data. In addition, since the semiconductor device reads, writes, and compares the register data for each bit, the processing can be completed in less than half the operation time compared to when the software performs these processes.
以下、半導体デバイスの実施形態について図面に従って説明する。 Hereinafter, embodiments of a semiconductor device will be described with reference to the drawings.
(第1実施形態)
<半導体デバイスの構成>
まず、第1実施形態に係る半導体デバイスの構成について、図1を参照して説明する。図1は、第1実施形態に係る半導体デバイスの構成を示すブロック図である。
(First embodiment)
<Configuration of semiconductor device>
First, the configuration of the semiconductor device according to the first embodiment will be described with reference to FIG. FIG. 1 is a block diagram showing the configuration of the semiconductor device according to the first embodiment.
図1に示すように、半導体デバイス1は、複数のレジスタを含み個々のレジスタにアクセスするためのアドレスが割り振られたレジスタ群100と、外部のCPU200からのアドレス信号ADRSと制御信号CNTLとデータ信号DATAとを入出力するCPUインターフェース110と、コマンドバッファ120と、コマンド実行回路130と、実行部選択回路140と、コマンド実行回路130の作業用の記憶域として使われるRAM150と、から構成されている。
As shown in FIG. 1, the
CPUインターフェース110は、コマンドバッファ120に複数のコマンドを書き込むために、コマンド書き込み信号cWEと、コマンド信号CMNDを出力する。また、CPUインターフェース110は、コマンドバッファ120からデータを読み出すために、データ読み出し信号dREを出力し、データ信号DATAを入力する。さらに、CPUインターフェース110は、コマンドバッファ120に格納したコマンドを実行するために、コマンド実行回路130と実行部選択回路140にコマンド実行信号RUNを出力する。
The
コマンド実行回路130は、コマンド実行信号RUNがイネーブル(enable、有効)の時、コマンドバッファ120の複数のコマンドを実行するために、コマンド読み出し信号cREをコマンドバッファ120に出力し、コマンドバッファ120からコマンド信号CMNDを入力する。コマンド実行回路130は、外部からのクロック信号CLKに基づき、コマンドを実行し、実行部選択回路140を介してレジスタ群100にアドレス信号ADRSと制御信号CNTLとデータ信号DATAを入出力する。
The
実行部選択回路140は、コマンド実行信号RUNがイネーブルの時、コマンド実行回路130からのアドレス信号ADRSと制御信号CNTLとデータ信号DATAとをレジスタ群100に入出力し、コマンド実行信号RUNがディセーブル(disable、無効)の時、CPUインターフェース110からのアドレス信号ADRSと制御信号CNTLとデータ信号DATAとをレジスタ群100に入出力する。
When the command execution signal RUN is enabled, the execution
<コマンドバッファの構成>
次に、コマンドバッファの構成について図2を参照して説明する。図2(A)は、コマンドバッファの構成を示すブロック図であり、図2(B)は、コマンドの構成を示すブロック図である。
<Composition of command buffer>
Next, the configuration of the command buffer will be described with reference to FIG. FIG. 2A is a block diagram showing the configuration of the command buffer, and FIG. 2B is a block diagram showing the configuration of the command.
コマンドバッファ120は、書き込んだデータをその順番に読み出すFIFO(first-in first-out)回路で構成されている。コマンドバッファ120は、複数のコマンドを格納するコマンド領域121と、レジスタ群100から読み出した複数のデータDOを格納するデータ領域122と、から構成されている。
The
コマンド領域121は、1つのコマンドに対して4つの領域AD,DS,VB,CTを有する。領域AD,DS,VB,CTのサイズは任意であり、例えば領域AD,DS,VBは16ビットで構成され、領域CTは2ビットで構成されている。
The
コマンドは、図2(B)に示すように、データ読み出しコマンドと、データ書き込みコマンドと、単純ウェイトコマンドと、状態ウェイトコマンドと、から構成されている。 As shown in FIG. 2B, the command includes a data read command, a data write command, a simple wait command, and a state wait command.
データ読み出しコマンドは、領域CTに0が設定され、領域ADにレジスタ群100のアドレスが設定され、領域DSに読み込むデータ幅が設定され、領域VBに実際に読み出しを行なう有効ビットが設定されている。有効ビットは、有効とするビットに1、無効とするビットに0を設定する。例えば、最下位ビットを0ビット目とし、領域VBに16進数で0x0042と指定すると、1ビット目と6ビット目が有効なビットとなる。また、0xFFFFと指定すると、すべてのビットが有効なビットとなる。
In the data read command, 0 is set in the area CT, the address of the
データ書き込みコマンドは、領域CTに1が設定され、領域ADにレジスタ群100のアドレスが設定され、領域DSに書き込みデータが設定され、領域VBに実際に書き込みを行なう有効ビットが設定されている。
In the data write command, 1 is set in the area CT, the address of the
単純ウェイトコマンドは、領域CTに2が設定され、領域ADに次のコマンドを実行するまで待機するクロック数が設定され、領域DSと領域VBは0x0000が設定されている。 In the simple wait command, 2 is set in the area CT, the number of clocks to wait until the next command is executed is set in the area AD, and 0x0000 is set in the area DS and the area VB.
状態ウェイトコマンドは、領域CTに3が設定され、領域ADにレジスタ群100のアドレスが設定され、領域DSに比較データが設定され、領域VBに実際に比較を行なう有効ビットが設定されている。
In the status wait command, 3 is set in the area CT, the address of the
<コマンド実行回路の動作>
次に、コマンド実行回路の動作の構成について図3を参照して説明する。図3は、コマンド実行回路の動作を示すフローチャートである。コマンド実行回路130は、FIFO回路で構成されたコマンドバッファ120のコマンド領域121から順次コマンドを読み込んで実行する。
<Operation of command execution circuit>
Next, the configuration of the operation of the command execution circuit will be described with reference to FIG. FIG. 3 is a flowchart showing the operation of the command execution circuit. The
先ず、ステップS100では、コマンド実行回路130は、コマンドバッファ120のコマンド領域121からコマンドを読み込む。
First, in step S <b> 100, the
次に、ステップS110では、領域CTの値が0であるか否かを判定し、0である場合は、ステップS200に移行し、0でない場合は、ステップS210に移行する。 Next, in step S110, it is determined whether or not the value of the region CT is 0. If it is 0, the process proceeds to step S200, and if not, the process proceeds to step S210.
次に、ステップS200では、データ読み出しコマンドを実行し、ステップS100に移行する。 Next, in step S200, a data read command is executed, and the process proceeds to step S100.
一方、ステップS210では、領域CTの値が1であるか否かを判定し、1である場合は、ステップS300に移行し、1でない場合は、ステップS310に移行する。 On the other hand, in step S210, it is determined whether or not the value of the region CT is 1. If it is 1, the process proceeds to step S300, and if not, the process proceeds to step S310.
次に、ステップS300では、データ書き込みコマンドを実行し、ステップS100に移行する。 Next, in step S300, a data write command is executed, and the process proceeds to step S100.
一方、ステップS310では、領域CTの値が2であるか否かを判定し、2である場合は、ステップS400に移行し、2でない場合は、ステップS500に移行する。 On the other hand, in step S310, it is determined whether or not the value of the region CT is 2. If it is 2, the process proceeds to step S400, and if not, the process proceeds to step S500.
次に、ステップS400では、単純ウェイトコマンドを実行し、ステップS100に移行する。 Next, in step S400, a simple wait command is executed, and the process proceeds to step S100.
一方、ステップS500では、状態ウェイトコマンドを実行し、ステップS100に移行する。 On the other hand, in step S500, a state wait command is executed, and the process proceeds to step S100.
<データ読み出しコマンドの動作>
次に、データ読み出しコマンドの動作の構成について図4を参照して説明する。図4は、データ読み出しコマンド(図3のステップS200)の動作を示すフローチャートである。
<Operation of data read command>
Next, the configuration of the operation of the data read command will be described with reference to FIG. FIG. 4 is a flowchart showing the operation of the data read command (step S200 in FIG. 3).
先ず、ステップS202では、領域ADに設定されたアドレスが示すレジスタに移動する。 First, in step S202, the process moves to the register indicated by the address set in the area AD.
次に、ステップS204では、レジスタの値から領域DSに設定されたデータ幅の値をRAM150の記憶域DIに書き込む。
Next, in step S204, the value of the data width set in the area DS from the register value is written in the storage area DI of the
次に、ステップS206では、記憶域DIの値と領域VBに設定された有効ビットとの論理積(and)をRAM150の記憶域DTに書き込む。
Next, in step S206, the logical product (and) of the value of the storage area DI and the effective bit set in the area VB is written in the storage area DT of the
次に、ステップS208では、記憶域DTの値をコマンドバッファ120のデータ領域122に書き込む。
Next, in step S208, the value of the storage area DT is written into the
<データ書き込みコマンドの動作>
次に、データ書き込みコマンドの動作の構成について図5を参照して説明する。図5は、データ書き込みコマンド(図3のステップS300)の動作を示すフローチャートである。
<Operation of data write command>
Next, the configuration of the operation of the data write command will be described with reference to FIG. FIG. 5 is a flowchart showing the operation of the data write command (step S300 in FIG. 3).
先ず、ステップS302では、領域ADに設定されたアドレスが示すレジスタに移動する。 First, in step S302, the process moves to the register indicated by the address set in the area AD.
次に、ステップS304では、レジスタの値をRAM150の記憶域DIに書き込む。
In step S304, the register value is written in the storage area DI of the
次に、ステップS306では、記憶域DIの値と領域VBの値を反転した値(not VB)との論理積(and)をRAM150の記憶域D1に書き込む。
In step S306, the logical product (and) of the value of the storage area DI and the value obtained by inverting the value of the area VB (not VB) is written in the storage area D1 of the
次に、ステップS308では、領域DSの値と領域VBに設定された有効ビットとの論理積(and)をRAM150の記憶域D2に書き込む。
Next, in step S308, the logical product (and) of the value of the region DS and the valid bit set in the region VB is written in the storage area D2 of the
次に、ステップS310では、記憶域D1と記憶域D2との論理和(or)をRAM150の記憶域DTに書き込む。
Next, in step S310, the logical sum (or) of the storage area D1 and the storage area D2 is written in the storage area DT of the
次に、ステップS312では、記憶域DTの値をレジスタに書き込む。 Next, in step S312, the value of the storage area DT is written into the register.
<単純ウェイトコマンドの動作>
次に、単純ウェイトコマンドの動作の構成について図6を参照して説明する。図6は、単純ウェイトコマンド(図3のステップS400)の動作を示すフローチャートである。
<Operation of simple wait command>
Next, the configuration of the simple wait command operation will be described with reference to FIG. FIG. 6 is a flowchart showing the operation of the simple wait command (step S400 in FIG. 3).
先ず、ステップS402では、現在のクロック数iに0を設定する。 First, in step S402, 0 is set to the current clock number i.
次に、ステップS404では、現在のクロック数iに1を加算する。 Next, in step S404, 1 is added to the current clock number i.
次に、ステップS406では、現在のクロック数iが領域ADに設定した値を越えているか否かを判定し、超えている場合は、単純ウェイトコマンドの処理を終了し、越えていない場合は、ステップS404に移行する。 Next, in step S406, it is determined whether or not the current clock number i exceeds the value set in the area AD. If it exceeds, the processing of the simple wait command is terminated. The process proceeds to step S404.
<状態ウェイトコマンドの動作>
次に、状態ウェイトコマンドの動作の構成について図7を参照して説明する。図7は、状態ウェイトコマンド(図3のステップS500)の動作を示すフローチャートである。
<Operation of status wait command>
Next, the configuration of the operation of the state wait command will be described with reference to FIG. FIG. 7 is a flowchart showing the operation of the status wait command (step S500 in FIG. 3).
先ず、ステップS502では、領域ADに設定されたアドレスが示すレジスタに移動する。 First, in step S502, the process moves to the register indicated by the address set in the area AD.
次に、ステップS504では、レジスタの値をRAM150の記憶域DIに書き込む。
In step S504, the register value is written in the storage area DI of the
次に、ステップS506では、領域DSに設定された比較データと領域VBに設定された有効ビットとの論理積(and)をRAM150の記憶域D1に書き込む。
Next, in step S506, the logical product (and) of the comparison data set in the area DS and the effective bit set in the area VB is written in the storage area D1 of the
次に、ステップS508では、記憶域DIの値と領域VBに設定された有効ビットとの論理積(and)をRAM150の記憶域D2に書き込む。
Next, in step S508, the logical product (and) of the value of the storage area DI and the effective bit set in the area VB is written in the storage area D2 of the
次に、ステップS510では、記憶域D1の値と記憶域D2の値とが等しいか否かを判定し、等しい場合、状態ウェイトコマンドの処理を終了し、等しくない場合、ステップS502に移行する。 Next, in step S510, it is determined whether or not the value of the storage area D1 and the value of the storage area D2 are equal. If they are equal, the process of the state wait command is terminated. If they are not equal, the process proceeds to step S502.
<コマンドの実行例>
次に、コマンドの実行例について図8を参照して説明する。図8は、コマンドの実行例を示すブロック図である。
<Command execution example>
Next, an example of command execution will be described with reference to FIG. FIG. 8 is a block diagram illustrating an example of command execution.
コマンドバッファ120のコマンド領域121には、図8に示すように3つのコマンドCMD1〜CMD3が格納されているものとする。また、レジスタ群100は、アドレス0x0000のレジスタにデータD(1)=0xFFFFが、アドレス0x0001のレジスタにデータD(2)=0x0401が、アドレス0x0002のレジスタにデータD(3)=0x000Fが、それぞれ設定されているものとする。
It is assumed that three commands CMD1 to CMD3 are stored in the
先ず、コマンドCMD1が読み込まれ(図3のステップS100)、領域CT=0なのでデータ読み出しコマンドが実行され(図3のステップS200)、レジスタ群100のアドレス(領域AD=)0x0000のレジスタに移動し(図4のステップS202)、データ幅(領域DS=)0x0010=16ビットでデータD(1)=0xFFFFをRAM150の記憶域DIに書き込む(図4のステップS204)。有効ビットが(領域VB=)0x0042なので、記憶域DIの1ビット目と6ビット目が有効となり、記憶域DTの値0x0042がコマンドバッファ120のデータ領域122のDO(1)に書き込まれる(図4のステップS206〜S208)。
First, the command CMD1 is read (step S100 in FIG. 3), and since the area CT = 0, the data read command is executed (step S200 in FIG. 3), and the
次に、コマンドCMD2が読み込まれ、領域CT=3なので状態ウェイトコマンドが実行され(図3のステップS500)、レジスタ群100のアドレス(領域AD=)0x0001のレジスタに移動し(図7のステップS502)、データD(2)=0x0401をRAM150の記憶域DIに書き込む(図7のステップS504)。有効ビットが(領域VB=)0x0401、比較データが(領域DS=)0x0001なので、記憶域DIの10ビット目が1から0に推移した時点で次のコマンドCMD3が読み込まれる(図7のステップS504〜S510)。 Next, the command CMD2 is read, and since the area CT = 3, the state wait command is executed (step S500 in FIG. 3), and moved to the register at the address (area AD =) 0x0001 of the register group 100 (step S502 in FIG. 7). ), Data D (2) = 0x0401 is written to the storage area DI of the RAM 150 (step S504 in FIG. 7). Since the effective bit is (area VB =) 0x0401 and the comparison data is (area DS =) 0x0001, the next command CMD3 is read when the 10th bit of the storage area DI changes from 1 to 0 (step S504 in FIG. 7). To S510).
次に、コマンドCMD3が読み込まれ、領域CT=1なのでデータ書き込みコマンドが実行され(図3のステップS300)、レジスタ群100のアドレス(領域AD=)0x0002のレジスタに移動し(図5のステップS302)、データD(3)=0x000FをRAM150の記憶域DIに書き込む(図5のステップS304)。有効ビットが(領域VB=)0x0028、書き込みデータが(領域DS=)0x0020なので、記憶域DIの3ビット目を0に、5ビット目を1に設定した記憶域DTの値0x0027がレジスタ群100のアドレス0x0002に書き込まれる(図5のステップS306〜S312)。
Next, the command CMD3 is read, and since the area CT = 1, the data write command is executed (step S300 in FIG. 3), and the
以上に述べた前記実施形態によれば、以下の効果が得られる。 According to the embodiment described above, the following effects can be obtained.
本実施形態では、レジスタデータの読み出し、書き込み、待ち状態を自動実行することで、半導体デバイスとソフトウェアの動作速度の違いによる動作時間の無駄を減らすことができる。また、レジスタデータのビット毎の読み出し、書き込み、比較を半導体デバイスが行なうため、ソフトウェアがこれらの処理を行なうときに比べ半分以下の動作時間で処理を終えることができる。 In this embodiment, it is possible to reduce waste of operating time due to a difference in operating speed between the semiconductor device and software by automatically executing the reading, writing, and waiting state of the register data. In addition, since the semiconductor device reads, writes, and compares the register data for each bit, the processing can be completed in less than half the operation time compared to when the software performs these processes.
以上、半導体デバイスの実施形態を説明したが、こうした実施の形態に何ら限定されるものではなく、趣旨を逸脱しない範囲内において様々な形態で実施し得ることができる。以下、変形例を挙げて説明する。 As mentioned above, although embodiment of the semiconductor device was described, it is not limited to such embodiment at all, It can implement in various forms within the range which does not deviate from the meaning. Hereinafter, a modification will be described.
(変形例1)半導体デバイスの変形例1について説明する。前記第1実施形態では、CPUインターフェース110がコマンド実行回路130と実行部選択回路140にコマンド実行信号RUNを出力するように説明したが、CPUインターフェース110はコマンド実行回路130にコマンド実行信号RUNを出力し、コマンド実行回路130が実行部選択回路140に切り替え信号を出力するようにしてもよい。
(Modification 1)
1…半導体デバイス、100…レジスタ群、110…CPUインターフェース、120…コマンドバッファ、121…コマンド領域、122…データ領域、130…コマンド実行回路、140…実行部選択回路、200…CPU。
DESCRIPTION OF
Claims (3)
前記レジスタを制御する複数のコマンドを格納するコマンドバッファと、
前記コマンドバッファに格納された前記コマンドを順次実行するコマンド実行回路と、
外部からの制御と前記コマンド実行回路からの制御を切り替える実行部選択回路と、
を含む、
ことを特徴とする半導体デバイス。 A semiconductor device including a plurality of registers,
A command buffer for storing a plurality of commands for controlling the register;
A command execution circuit for sequentially executing the commands stored in the command buffer;
An execution unit selection circuit for switching between external control and control from the command execution circuit;
including,
A semiconductor device characterized by that.
前記複数のコマンドは、
前記レジスタのアドレスと、データ幅と、有効ビットと、を指定し、前記アドレスが示す前記レジスタから前記データ幅かつ前記有効ビットが示すビットの値を読み出すデータ読み出しコマンドと、
前記レジスタのアドレスと、書き込みデータと、有効ビットと、を指定し、前記アドレスが示す前記レジスタの前記有効ビットが示すビットの値を前記書き込みデータの前記有効ビットが示すビットの値に書き換えるデータ書き込みコマンドと、
次のコマンドを実行するまで待機するクロック数を指定し、外部からのクロック信号の数が前記クロック数に達するまで待機する単純ウェイトコマンドと、
前記レジスタのアドレスと、比較データと、有効ビットと、を指定し、前記アドレスが示す前記レジスタの前記有効ビットが示すビットの値と前記比較データの前記有効ビットが示すビットの値とが等しくなるまで待機する状態ウェイトコマンドと、
を含む、
ことを特徴とする半導体デバイス。 The semiconductor device according to claim 1,
The plurality of commands are:
A data read command that specifies an address of the register, a data width, and a valid bit, and reads a value of the data width and a bit indicated by the valid bit from the register indicated by the address;
A data write that designates an address of the register, write data, and a valid bit, and rewrites the value of the bit indicated by the valid bit of the register indicated by the address to the value of the bit indicated by the valid bit of the write data Command and
Specify the number of clocks to wait until the next command is executed, a simple wait command to wait until the number of external clock signals reaches the number of clocks, and
The register address, comparison data, and valid bit are specified, and the value of the bit indicated by the valid bit of the register indicated by the address is equal to the value of the bit indicated by the valid bit of the comparison data. A state wait command to wait until
including,
A semiconductor device characterized by that.
前記レジスタを制御する複数のコマンドを格納するコマンドバッファと、
前記コマンドバッファに格納された前記コマンドを順次実行するコマンド実行回路と、
外部からの制御と前記コマンド実行回路からの制御を切り替える実行部選択回路と、
を含む半導体デバイスの自動制御方法であって、
前記複数のコマンドとして、
前記レジスタのアドレスと、データ幅と、有効ビットと、を指定し、前記アドレスが示す前記レジスタから前記データ幅かつ前記有効ビットが示すビットの値を読み出すデータ読み出しコマンドと、
前記レジスタのアドレスと、書き込みデータと、有効ビットと、を指定し、前記アドレスが示す前記レジスタの前記有効ビットが示すビットの値を前記書き込みデータの前記有効ビットが示すビットの値に書き換えるデータ書き込みコマンドと、
次のコマンドを実行するまで待機するクロック数を指定し、外部からのクロック信号の数が前記クロック数に達するまで待機する単純ウェイトコマンドと、
前記レジスタのアドレスと、比較データと、有効ビットと、を指定し、前記アドレスが示す前記レジスタの前記有効ビットが示すビットの値と前記比較データの前記有効ビットが示すビットの値とが等しくなるまで待機する状態ウェイトコマンドと、
を含み、
前記複数のコマンドを1つ以上組み合わせて前記レジスタを制御する、
ことを特徴とする半導体デバイスの自動制御方法。 Multiple registers,
A command buffer for storing a plurality of commands for controlling the register;
A command execution circuit for sequentially executing the commands stored in the command buffer;
An execution unit selection circuit for switching between external control and control from the command execution circuit;
A method for automatically controlling a semiconductor device including:
As the plurality of commands,
A data read command that specifies an address of the register, a data width, and a valid bit, and reads a value of the data width and a bit indicated by the valid bit from the register indicated by the address;
A data write that designates an address of the register, write data, and a valid bit, and rewrites the value of the bit indicated by the valid bit of the register indicated by the address to the value of the bit indicated by the valid bit of the write data Command and
Specify the number of clocks to wait until the next command is executed, a simple wait command to wait until the number of external clock signals reaches the number of clocks, and
The register address, comparison data, and valid bit are specified, and the value of the bit indicated by the valid bit of the register indicated by the address is equal to the value of the bit indicated by the valid bit of the comparison data. A state wait command to wait until
Including
Controlling the register by combining one or more of the plurality of commands;
A method for automatically controlling a semiconductor device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007168604A JP2009009264A (en) | 2007-06-27 | 2007-06-27 | Semiconductor device and semiconductor device automatic control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007168604A JP2009009264A (en) | 2007-06-27 | 2007-06-27 | Semiconductor device and semiconductor device automatic control method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009009264A true JP2009009264A (en) | 2009-01-15 |
Family
ID=40324302
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007168604A Withdrawn JP2009009264A (en) | 2007-06-27 | 2007-06-27 | Semiconductor device and semiconductor device automatic control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2009009264A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7934045B2 (en) * | 2009-06-09 | 2011-04-26 | International Business Machines Corporation | Redundant and fault tolerant control of an I/O enclosure by multiple hosts |
-
2007
- 2007-06-27 JP JP2007168604A patent/JP2009009264A/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7934045B2 (en) * | 2009-06-09 | 2011-04-26 | International Business Machines Corporation | Redundant and fault tolerant control of an I/O enclosure by multiple hosts |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20080276037A1 (en) | Method to Access Storage Device Through Universal Serial Bus | |
| US9317445B2 (en) | Rapid memory buffer write storage system and method | |
| JPH05173932A (en) | Data transfer device | |
| JP2008041098A (en) | Memory card and data storage method | |
| KR20090044927A (en) | NAND Flash Memory Controller | |
| US20170269870A1 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method | |
| KR100564598B1 (en) | Synchronous flash memory device and method of operating same | |
| CN110851073B (en) | Storage device and execution method of macro instruction | |
| JP2014154119A (en) | Memory controller and semiconductor storage device | |
| JP4085983B2 (en) | Information processing apparatus and memory access method | |
| JP2009009264A (en) | Semiconductor device and semiconductor device automatic control method | |
| JP2007234212A (en) | NAND flash memory programming method and memory system programming method | |
| JP2012022479A (en) | Microcontroller and its control method | |
| CN112256203A (en) | Writing method, device, equipment, medium and system of FLASH memory | |
| JP4779010B2 (en) | Buffering device and buffering method | |
| JP4509946B2 (en) | Interrupt priority setting circuit | |
| KR102254715B1 (en) | Apparatus and method for software programming | |
| KR100336744B1 (en) | Write apparatus and method for flash memory | |
| TWI822516B (en) | Method and computer program product and apparatus for executing host write commands | |
| TWI822517B (en) | Method and computer program product and apparatus for executing host write commands | |
| JP2526703B2 (en) | Programmable controller | |
| JP2023150271A (en) | Semiconductor device, firmware writing method and firmware writing system | |
| JP2007172129A (en) | Nonvolatile memory access control device and nonvolatile memory control system | |
| JPH11110342A (en) | Bus connection method and device | |
| JPWO2018003244A1 (en) | Memory controller, memory system and information processing system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100907 |