JP6794851B2 - Oscillation circuit, oscillator circuit control method and thermocode correction circuit - Google Patents
Oscillation circuit, oscillator circuit control method and thermocode correction circuit Download PDFInfo
- Publication number
- JP6794851B2 JP6794851B2 JP2017016850A JP2017016850A JP6794851B2 JP 6794851 B2 JP6794851 B2 JP 6794851B2 JP 2017016850 A JP2017016850 A JP 2017016850A JP 2017016850 A JP2017016850 A JP 2017016850A JP 6794851 B2 JP6794851 B2 JP 6794851B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bit value
- circuit
- adjacent
- value
- 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
Links
Images
Description
本発明は、発振回路の制御方法及びサーモコード訂正回路の制御方法に関する。 The present invention relates to a method for controlling an oscillation circuit and a method for controlling a thermocode correction circuit.
ハード故障に起因するビットエラーではなく、宇宙からの放射線等の影響を原因とするビット反転エラーであるソフトエラーがメモリ及びフリップフロップ等のデータ保持回路で発生した場合、発生したソフトエラーを訂正する種々の技術が知られている。例えば、直列接続してシフトレジスタを形成するフリップフロップの出力信号に基づいてソフトエラー等の発生を検知した場合、シフトレジスタを初期化する技術が知られている(例えば、特許文献1を参照)。また、フューズの切断の有無を示すヒューズデータを記憶する専用のラッチに記憶されるデータと、ヒューズデータを記憶するチップ内のレジスタのデータをビット毎に比較して、ソフトエラーを検出する技術が知られている(例えば、特許文献2を参照)。また、同一のデータを保持する3以上の奇数個のフリップフロップと、前記奇数個のフリップフロップの保持するデータについて多数決を取ることによって、ソフトエラーを検出する技術が知られている(例えば、特許文献3を参照)。 If a soft error that is not a bit error caused by a hardware failure but a bit inversion error caused by the influence of radiation from space occurs in a data holding circuit such as a memory or flip-flop, the soft error that occurs is corrected. Various techniques are known. For example, a technique for initializing a shift register when an occurrence of a soft error or the like is detected based on an output signal of a flip-flop connected in series to form a shift register is known (see, for example, Patent Document 1). .. In addition, there is a technology to detect soft errors by comparing the data stored in the dedicated latch that stores fuse data indicating whether or not the fuse is blown with the data of the register in the chip that stores the fuse data bit by bit. It is known (see, for example, Patent Document 2). Further, a technique for detecting a soft error is known by taking a majority vote on three or more odd-numbered flip-flops holding the same data and the data held by the odd-numbered flip-flops (for example, a patent). See Reference 3).
しかしながら、サーモメータコードを記憶するフリップフロップ等の記憶素子で発生したソフトエラーを小規模な回路で訂正することは知られていない。 However, it is not known to correct a soft error generated in a storage element such as a flip-flop that stores a thermometer code with a small-scale circuit.
一実施形態では、サーモメータコードを記憶するフリップフロップ等の記憶素子で発生したソフトエラーを小規模な回路で訂正することができる訂正回路を有する発振回路を提供することを目的とする。 In one embodiment, it is an object of the present invention to provide an oscillation circuit having a correction circuit capable of correcting a soft error generated in a storage element such as a flip-flop that stores a thermometer code with a small-scale circuit.
1つの態様では、発振回路は、複数のビット値において連続する0又は1のビット値により数値が表現されるサーモメータコードに基づき、出力する発振信号の発振周波数が制御される発振器と、制御回路と、記憶回路と、訂正回路とを有する。制御回路は、発振周波数と所定の基準周波数との比較結果に基づいて、サーモメータコードを生成する。記憶回路は、生成されたサーモメータコードを記憶する。訂正回路は、記憶されたサーモメータコードにそれぞれ含まれる、各ビット値と、各ビットに隣接する第1隣接ビットの第1隣接ビット値と、各ビットに隣接する第2隣接ビットの第2隣接ビット値とに基づいて、ビット値の訂正が必要な場合、訂正が必要なビット値を訂正する。そして、訂正回路は、対象ビット値が訂正された訂正済サーモメータコードを発振器に出力する。 In one embodiment, the oscillation circuit is an oscillator and a control circuit in which the oscillation frequency of the output oscillation signal is controlled based on a thermometer code in which a numerical value is expressed by consecutive 0 or 1 bit values in a plurality of bit values. , A storage circuit, and a correction circuit. The control circuit generates a thermometer code based on the comparison result between the oscillation frequency and the predetermined reference frequency. The storage circuit stores the generated thermometer code. The correction circuit includes each bit value included in the stored thermometer code, the first adjacent bit value of the first adjacent bit adjacent to each bit, and the second adjacent bit of the second adjacent bit adjacent to each bit. If the bit value needs to be corrected based on the bit value, the bit value that needs to be corrected is corrected. Then, the correction circuit outputs the corrected thermometer code in which the target bit value is corrected to the oscillator.
一実施形態では、サーモメータコードを記憶するフリップフロップ等の記憶素子で発生したソフトエラーをより小規模な回路で訂正することができる。 In one embodiment, a soft error generated in a storage element such as a flip-flop that stores the thermometer code can be corrected by a smaller circuit.
以下図面を参照して、実施形態に係る発振回路の制御方法及びサーモコード訂正回路について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されない。 The control method of the oscillation circuit and the thermocode correction circuit according to the embodiment will be described below with reference to the drawings. However, the technical scope of the present invention is not limited to those embodiments.
(実施形態に係る発振回路に関連する発振回路)
実施形態に係る実施形態に係る発振回路及び発振回路の制御方法について説明する前に、実施形態に係る発振回路に関連する発振回路及び発振回路の制御方法について説明する。
(Oscillation circuit related to the oscillation circuit according to the embodiment)
Before explaining the oscillator circuit and the control method of the oscillator circuit according to the embodiment, the oscillator circuit and the control method of the oscillator circuit related to the oscillator circuit according to the embodiment will be described.
図1(a)は関連する発振回路の回路図であり、図1(b)は図1(a)の発振回路の制御に使用されるサーモメータコードを説明するための図である。ここで、サーモメータコードとは、複数のビット値で表現され、複数のビット値において連続する0又は1の個数により、数値を表現する一種の数値表現形式である。言い換えると、サーモメータコードは、特定のビットを境に上位ビットと下位ビットとの間で、異なる値を示す。 FIG. 1A is a circuit diagram of a related oscillation circuit, and FIG. 1B is a diagram for explaining a thermometer code used for controlling the oscillation circuit of FIG. 1A. Here, the thermometer code is a kind of numerical expression format expressed by a plurality of bit values and expressing a numerical value by the number of consecutive 0s or 1s in the plurality of bit values. In other words, the thermometer code shows different values between the high-order bit and the low-order bit with a specific bit as a boundary.
発振回路900は、発振器901と、COLUMN回路902と、ROW回路903と、周波数比較回路904とを有し、発振器901から出力される発振信号をクロックとして出力する。発振器901は、10行3列に配置された30個のリング発振器910を有する。30個のリング発振器910のそれぞれは、図1(a)においては3段で示される複数段の直列接続されたインバータを有し、不図示の接続配線を介して互いに接続される。30個のリング発振器910は互いに接続されるため、発振するリング発振器910の数が増加するに従って、リング発振器910が出力する発振信号の発振周波数は高くなる。また、発振するリング発振器910の数が減少するに従って、リング発振器910が出力する発振信号の発振周波数は低くなる。なお、リング発振器910のそれぞれは、3段でなくても、奇数段のインバータが直列接続されていれば良い。
The
図2(a)は発振器901の部分内部回路であり、図2(b)は奇数行に配置されるリング発振器910の初段のインバータの内部回路図であり、図2(c)は偶数行に配置されるリング発振器910の初段のインバータの内部回路図である。
FIG. 2A is a partial internal circuit of the
30個のリング発振器910のそれぞれは、最終段である3段目のインバータの出力端子が互いに接続されると共に、出力端子OUTに接続される。リング発振器910は、発振しているときは発振器として機能し、発振を停止しているときは負荷として機能する。発振しているリング発振器910の数が増加して発振器として機能するリング発振器910の数が増加し且つ負荷として機能するリング発振器910の数が減少することで、発振器901の周波数は高くなる。一方、発振しているリング発振器910の数が減少して発振器として機能するリング発振器910の数が減少し且つ負荷として機能するリング発振器910の数が増加することで、発振器901の周波数は低くなる。
In each of the 30
奇数行に配置されるリング発振器910は、初段に第1スイッチ付インバータ911が配置される。第1スイッチ付インバータ911は、一対の論理トランジスタ913及び914と、一対の制御トランジスタ915及び916と、OR素子917と、AND素子918とを有する。
In the
一対の論理トランジスタ913及び914は、一対の論理トランジスタ913及び914の双方がオンしているときに、3段目のインバータから出力される信号を反転して2段目のインバータに入力する。
When both the pair of
一対の制御トランジスタ915及び916は、OR素子917から入力される信号に対応する信号値が「0」であるときに同時にオフし、OR素子917から入力される信号に対応する信号値が「1」であるときに同時にオンする。
The pair of
OR素子917の一方の入力端子には(i+1)行を選択することを示す(i+1)行選択信号が入力され、OR素子917の他方の入力端子にはAND素子918の出力信号が入力される。AND素子918の一方の入力端子にはi行を選択することを示すi行選択信号が入力され、AND素子918の他方の入力端子にはj列を選択することを示すj列選択信号が入力される。
A (i + 1) row selection signal indicating that the (i + 1) row is selected is input to one input terminal of the
第1行及び第9行等の奇数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「0」であり且つ(i+1)行選択信号に対応する信号値が「0」であるときにオフする。奇数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「1」であり、(i+1)行選択信号に対応する信号値が「0」であるときに、j列選択信号に対応する信号値に応じてオンオフする。奇数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「1」であり、(i+1)行選択信号に対応する信号値が「0」であり且つj列選択信号に対応する信号値が「0」のときオフする。奇数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「1」であり、(i+1)行選択信号に対応する信号値が「0」であり且つj列選択信号に対応する信号値が「1」のときオンする。奇数行であるi行に配置されるリング発振器910は、(i+1)行選択信号に対応する信号値が「1」であるときにオンする。
The
第8行等の偶数行に配置されるリング発振器910は、初段に第2スイッチ付インバータ912が配置される。第1スイッチ付インバータ911は、j列選択信号が入力され且つAND素子918の他方の入力端子に出力端子が接続されインバータ919を有することが第1スイッチ付インバータ911と相違する。
In the
偶数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「0」であり且つ(i+1)行選択信号に対応する信号値が「0」であるときにオフする。偶数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「1」であり、(i+1)行選択信号に対応する信号値が「0」であるときに、j列選択信号に対応する信号値に応じてオンオフする。偶数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「1」であり、(i+1)行選択信号に対応する信号値が「0」であり且つj列選択信号に対応する信号値が「1」のときオフする。偶数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「1」であり、(i+1)行選択信号に対応する信号値が「0」であり且つj列選択信号に対応する信号値が「0」のときオンする。偶数行であるi行に配置されるリング発振器910は、i行選択信号に対応する信号値が「1」であるときにオンする。
The
COLUMN回路902は、COLUMNシフト制御回路921と、3個のフリップフロップを有するCOLUMNデータフリップフロップ922とを有し、3行に配置されるリング発振器を選択するCOLUMNデータを出力する。COLUMN回路902は、周波数比較回路904から入力されるCOLUMNシフト制御信号に基づいて、発振するリング発振器910を選択するためにCOLUMNデータを生成する。COLUMNシフト制御回路921は、COLUMNシフト制御信号に応じたサーモメータコードをCOLUMNデータとして生成し、生成したCOLUMNデータをCOLUMNデータフリップフロップ922に出力する。COLUMNシフト制御回路921は、サーモメータコードのビット値「0」と「1」との間の境界位置が最下位ビット又は最上位ビットから第2ビットにシフトするとき、COLMUNデータのみをシフトする。すなわち、COLUMNシフト制御回路921は、サーモメータコードの境界位置が最下位ビット又は最上位ビットから中間ビットにシフトするとき、COLMUNデータのみをシフトする。一方、COLUMNシフト制御回路921は、サーモメータコードの境界位置が中間ビットから最下位ビット又は最上位ビットにシフトするとき、「ON」及び「OFF」を示すビット値を反転する。また、COLUMN回路902は、サーモメータコードの境界位置が行方向に亘ってシフトするとき、COLMUNデータをシフトすると共に、行の増加又は減少を示すROWシフト制御信号をROW回路903に出力する。COLUMNデータフリップフロップ922は、COLUMNシフト制御回路921から入力されたCOLMUNデータを記憶すると共に、記憶したCOLMUNデータを発振器901に出力する。
The
ROW回路903は、ROWシフト制御回路931と、10個のフリップフロップを有するROWデータフリップフロップ932とを有し、10列に配置されるリング発振器を選択するROWデータを出力する。ROW回路903は、COLUMN回路902から入力されるROWシフト制御信号に基づいて、発振するリング発振器910を選択するためにROWデータを生成する。ROWシフト制御回路931は、入力されたROWシフト制御信号に応じたサーモメータコードをROWデータとしてROWデータフリップフロップ932に出力する。ROWデータフリップフロップ932は、ROWシフト制御回路931から入力されたROWデータを記憶すると共に、記憶したROWデータを発振器901に出力する。
The
COLUMNデータ及びROWデータのそれぞれは、発振するリング発振器を決定するためのサーモメータコードを示す。図1(b)に示す例では、最下位ビットから8ビットまでの間がリング発振器910を「ON」して発振させることを示すビット値であり、9ビットから最上位ビットまでの間がリング発振器910を「OFF」して発振させないことを示すビット値である。COLUMNデータ及びROWデータは、ビット値が「0」のとき「ON」を示し且つビット値が「1」のとき「OFF」を示してもよく、ビット値が「1」のとき「ON」を示し且つビット値が「0」のとき「OFF」を示してもよい。COLUMNデータ及びROWデータは、全てのリング発振器910を「ON」することを示す状態、及び全てのリング発振器910を「OFF」することを示す状態にシフトするときに、ビット値と「ON」及び「OFF」との対応関係を反転させてもよい。例えば、COLUMNシフト制御回路921は、ビット値「0」が「ON」を示す状態で、全てのリング発振器910を「ON」することを示す状態にシフトするときに、ビット値「1」が「ON」を示すように対応関係を反転させる。また、COLUMNシフト制御回路921は、ビット値「1」が「ON」を示す状態で、全てのリング発振器910を「ON」することを示す状態にシフトするときに、ビット値「0」が「ON」を示すように対応関係を反転させる。同様に、COLUMNシフト制御回路921は、ビット値「0」が「ON」を示す状態で、全てのリング発振器910を「OFF」することを示す状態にシフトするときに、ビット値「1」が「ON」を示すように対応関係を反転させる。また、COLUMNシフト制御回路921は、ビット値「1」が「ON」を示す状態で、全てのリング発振器910を「OFF」することを示す状態にシフトするときに、ビット値「0」が「ON」を示すように対応関係を反転させる。すなわち、COLUMNシフト制御回路921は、サーモメータコードの境界位置を第2ビットから最下位ビット又は最上位ビットにシフトするとき、「ON」及び「OFF」を示すビット値を反転する。
Each of the COLUMN data and the ROW data indicates a thermometer code for determining an oscillating ring oscillator. In the example shown in FIG. 1B, the bit value from the least significant bit to the 8th bit indicates that the
周波数比較回路904は、発振信号を逓倍設定に従って分周した分周周波数と、基準クロックの基準周波数を比較して、発振信号の発振周波数を制御する。周波数比較回路904は、分周周波数が基準周波数よりも低かったとき、周波数を高くするために、発振するリング発振器910が1つ増加することを示すCOLUMNシフト制御信号を出力する。周波数比較回路904は、分周周波数が基準周波数よりも高かったとき、周波数を低くするために、発振するリング発振器910が1つ減少することを示すCOLUMNシフト制御信号を出力する。
The
図3は、サーモメータコードを使用した発振周波数制御を説明するための図であり、図3(a)は現在のリング発振器910の発振状態を示す図である。図3(b)は現在の分周周波数が基準クロックの基準周波数よりも高いときの発振回路900による制御後のリング発振器910の発振状態を示す図である。図3(c)は現在の分周周波数が基準クロックの基準周波数よりも低いときの発振回路900による制御後のリング発振器910の発振状態を示す図である。図3(d)は図3(c)の状態における分周周波数が基準クロックの基準周波数よりも低いときの発振回路900による制御後のリング発振器910の発振状態を示す図である。
FIG. 3 is a diagram for explaining oscillation frequency control using a thermometer code, and FIG. 3A is a diagram showing an oscillation state of the
図3(a)において、COLUMNデータは、最下位ビット及び第2ビットのビット値が「ON」を示し、最上位ビットのビット値が「OFF」を示す。また、ROWデータは、最下位ビットから第7ビットまでのビット値が「ON」を示し、第8ビットから最上位ビットまでのビット値が「OFF」を示す。図3(a)において、ROWデータのビット値が「ON」を示す第1行から第7行までのリング発振器910と、第8行のCOLUMNデータのビット値が「ON」を示す第1列から第2列までのリング発振器910とが「ON」する。図3(a)において、23個のリング発振器910とが「ON」する。
In FIG. 3A, the bit values of the least significant bit and the second bit of the COLUMN data indicate “ON”, and the bit value of the most significant bit indicates “OFF”. Further, in the ROW data, the bit value from the least significant bit to the 7th bit indicates "ON", and the bit value from the 8th bit to the most significant bit indicates "OFF". In FIG. 3A, the
現在の発振周波数が基準クロックの基準周波数よりも高いとき、周波数比較回路904は、発振するリング発振器910の数を1つ減少させることを示すCOLUMNシフト制御信号をCOLUMNシフト制御回路21にを出力する。COLUMNシフト制御回路21は、発振するリング発振器910の数を1つ減少させることを示すCOLUMNシフト制御信号が入力されると、ビット値が「ON」を示すビットを1つ減少させたCOLUMNデータを生成する。すなわち、COLUMNシフト制御回路21は、最下位ビットのビット値が「ON」を示し、第2ビット及び最上位ビットのビット値が「OFF」を示すCOLUMNデータを生成する。COLUMNシフト制御回路21は、生成したCOLUMNデータをCOLUMNデータフリップフロップ922に出力する。COLUMNデータフリップフロップ922は、入力されたCOLUMNデータを記憶すると共に、発振器901に出力する。発振器901にビット値が「ON」を示すビットを1つ減少させたCOLUMNデータが入力されることで、図3(b)に示すように、発振するリング発振器910の数が1つ減少して22個になる。
When the current oscillation frequency is higher than the reference frequency of the reference clock, the
現在の発振周波数が基準クロックの基準周波数よりも低いとき、周波数比較回路904は、発振するリング発振器910の数を1つ増加させることを示すCOLUMNシフト制御信号を出力する。COLUMNシフト制御回路21は、発振するリング発振器910の数を1つ増加させることを示すCOLUMNシフト制御信号が入力されると、ビット値が「ON」を示すビットを1つ増加させたCOLUMNデータを生成出力する。すなわち、COLUMNシフト制御回路21は、最下位ビットから最上位ビットまでのビット値が「ON」を示すCOLUMNデータを生成する。COLUMNシフト制御回路21は、生成したCOLUMNデータをCOLUMNデータフリップフロップ922に出力する。COLUMNデータフリップフロップ922は、入力されたCOLUMNデータを記憶すると共に、発振器901に出力する。発振器901にビット値が「ON」を示すビットを1つ増加させたCOLUMNデータが入力されることで、図3(c)に示すように、発振するリング発振器910の数が1つ増加して24個になる。
When the current oscillation frequency is lower than the reference frequency of the reference clock, the
図3(c)の状態における発振周波数が基準クロックの基準周波数よりも低いとき、周波数比較回路904は、発振するリング発振器910の数を更に1つ増加させることを示すCOLUMNシフト制御信号を出力する。COLUMNシフト制御回路21は、発振するリング発振器910の数を1つ増加させることを示すCOLUMNシフト制御信号が入力されると、ビット値が「ON」を示すビットを1つ増加させることを示すROWシフト制御信号を生成する。COLUMNシフト制御回路21は、生成したROWシフト制御信号をROWシフト制御回路931に出力する。ROWシフト制御回路931は、ビット値が「ON」を示すビットを1つ増加させることを示すROWシフト制御信号が入力されると、ビット値が「ON」を示すビットを1つ増加させたROWデータを生成する。すなわち、ROWシフト制御回路931は、最下位ビットから第8ビットまでのビット値が「ON」を示し、第9ビットから最上位ビットまでのビット値が「OFF」を示すROWデータを生成する。ROWシフト制御回路931は、生成したROWデータをROWデータフリップフロップ932に出力する。ROWデータフリップフロップ932は、入力されたROWデータを記憶すると共に、発振器901に出力する。発振器901にビット値が「ON」を示すビットを1つ増加させたROWデータが入力されることで、図3(d)に示すように、発振するリング発振器910の数が1つ増加して25個になる。
When the oscillation frequency in the state of FIG. 3C is lower than the reference frequency of the reference clock, the
他方、半導体素子で形成されるフリッププロップでは、ソフトエラーの発生が問題になっている。ソフトエラーは、外部からのα線や中性子線が回路周辺にあたることで値が反転してしまうエラーである。発振回路900では、COLUMNデータフリップフロップ922及びROWデータフリップフロップ932に含まれるフリップフロップでソフトエラーが発生した場合、発生したソフトエラーは訂正されることはない。フリップフロップでソフトエラーが発生すると、「010」及び「101」という通常のサーモメータコードでは発生しないイレギュラーなパターンが発生する。ここでは、「010」及び「101」等のビット列に含まれるビット値が第1ビット値から第1ビット値と相違する第2ビット値に遷移した後に第1ビットに戻る通常のサーモメータコードでは発生しないイレギュラーなパターンをバブルパターンと称する。
On the other hand, in flip props formed of semiconductor elements, the occurrence of soft errors has become a problem. A soft error is an error in which the value is inverted when α rays or neutron rays from the outside hit the periphery of the circuit. In the
発振回路900においてバブルパターンが発生すると、発生したバブルパターンは、検出されることはないため、訂正されない。発振回路900では、発生したバブルパターンは、COLUMNデータ及びROWデータがリセットされるまで訂正されることなくCOLUMNデータ及びROWデータに含まれる。
When a bubble pattern is generated in the
図4(a)はROWデータにバブルパターンが発生した一例を示す図であり、図4(b)は図4(a)の状態における行選択信号及び列選択信号の信号値を示す図である。図4(b)において、実線で示される信号線は印加される行選択信号又は列選択信号が選択状態であることを示し、破線で示される信号線は印加される行選択信号又は列選択信号が非選択状態であることを示す。 FIG. 4A is a diagram showing an example in which a bubble pattern is generated in ROW data, and FIG. 4B is a diagram showing signal values of a row selection signal and a column selection signal in the state of FIG. 4A. .. In FIG. 4B, the signal line indicated by the solid line indicates that the applied row selection signal or column selection signal is in the selected state, and the signal line indicated by the broken line is the applied row selection signal or column selection signal. Indicates that is in the unselected state.
図4に示す例では、COLUMNデータに対応するサーモメータコードは最下位ビット及び第2ビットのビット値が「ON」を示し、最上位ビットのビット値が「OFF」を示す。また、ROWデータに対応するサーモメータコードは最下位ビットから第4ビットまでのビット値が「ON」を示し、第5ビットから最上位ビットまでのビット値が「OFF」を示す。ROWデータに対応するサーモメータコードの第8ビットのビット値は、ソフトエラーにより「ON」から「OFF」に反転している。ROWデータに対応するサーモメータコードの第8ビットのビット値が反転することで、発振回路900は、本来は「OFF」である5個のリング発振器910が「ON」する。本来は「OFF」である5個のリング発振器910が「ON」することで、発振信号の発振周波数は、所望の発振周波数よりも高くなり、発振信号をクロックとして使用する不図示の論理回路において誤動作が発生するおそれがある。
In the example shown in FIG. 4, in the thermometer code corresponding to the COLUMN data, the bit values of the least significant bit and the second bit indicate "ON", and the bit value of the most significant bit indicates "OFF". Further, in the thermometer code corresponding to the ROW data, the bit value from the least significant bit to the 4th bit indicates "ON", and the bit value from the 5th bit to the most significant bit indicates "OFF". The bit value of the 8th bit of the thermometer code corresponding to the ROW data is inverted from "ON" to "OFF" due to a soft error. By inverting the bit value of the 8th bit of the thermometer code corresponding to the ROW data, the
図5〜7は、COLUMNデータにバブルパターンが発生した一例を示す図である。図5(a)はCOLUMNデータにバブルパターンが発生した第1の状態を示し、図5(b)は図5(a)の状態における行選択信号及び列選択信号の信号値を示す。図6(a)は図5に示す第1の状態からCOLUMNデータを上位ビット側に1ビットシフトした第2の状態を示し、図6(b)は図6(a)の状態における行選択信号及び列選択信号の信号値を示す。図7(a)は図6に示す第2の状態からCOLUMNデータを上位ビット側に更に1ビットシフトした第3の状態を示し、図7(b)は図7(a)の状態における行選択信号及び列選択信号の信号値を示す。図5(b)、6(b)、7(b)において、実線で示される信号線は印加される行選択信号又は列選択信号が選択状態であることを示し、破線で示される信号線は印加される行選択信号又は列選択信号が非選択状態であることを示す。図5〜7において、リング発振器は行方向に6個配置されるので、COLUMNデータのビット数は、6ビットである。 FIGS. 5 to 7 are diagrams showing an example in which a bubble pattern is generated in the COLUMN data. FIG. 5A shows the first state in which the bubble pattern is generated in the COLUMN data, and FIG. 5B shows the signal values of the row selection signal and the column selection signal in the state of FIG. 5A. FIG. 6A shows a second state in which the COLUMN data is shifted by 1 bit to the upper bit side from the first state shown in FIG. 5, and FIG. 6B shows a row selection signal in the state of FIG. 6A. And the signal value of the column selection signal is shown. FIG. 7A shows a third state in which the COLUMN data is further shifted by 1 bit to the upper bit side from the second state shown in FIG. 6, and FIG. 7B shows row selection in the state of FIG. 7A. The signal values of the signal and the column selection signal are shown. In FIGS. 5 (b), 6 (b), and 7 (b), the signal line indicated by the solid line indicates that the applied row selection signal or column selection signal is in the selected state, and the signal line indicated by the broken line is Indicates that the applied row selection signal or column selection signal is in the non-selection state. In FIGS. 5 to 7, since six ring oscillators are arranged in the row direction, the number of bits of the COLUMN data is 6 bits.
図5において、ビット値「0」が「ON」を示し、ビット値「1」が「OFF」を示す。図5では、COLUMNデータの第5ビットにソフトエラーが発生し、第5ビットのビット値が「OFF」から「ON」に反転する。すなわち、図5に示す第1の状態では、「000111」であるCOLUMNデータは、「000101」となりCOLUMNデータの第4ビットから第6ビットまでの間にバブルデータが発生する。 In FIG. 5, the bit value “0” indicates “ON” and the bit value “1” indicates “OFF”. In FIG. 5, a soft error occurs in the 5th bit of the COLUMN data, and the bit value of the 5th bit is inverted from “OFF” to “ON”. That is, in the first state shown in FIG. 5, the COLUMN data of "000111" becomes "000101", and bubble data is generated between the 4th bit to the 6th bit of the COLUMN data.
図6では、図5に示す第1の状態からCOLUMNデータが上位ビット側に1ビットシフトして、ソフトエラーにより反転して「ON」を示す第5ビットのビット値が最上位ビットである第6ビットに達する。第6ビットのビット値が「ON」を示すとき、サーモメータコードであるCOLUMNデータは、第1ビットから第6ビットまでの全てのビット値が「ON」を示すと判断される。COLUMNデータが全てのビット値が「ON」を示すと判断されると、「ON」を示すビット値が「0」から「1」に反転される。図5に示す第1の状態では「000101」であったCOLUMNデータは、上位ビットに1ビットすることで「000010」となった後に、「ON」を示すビット値が反転することでビット値が「1」である第5ビットが「ON」となる。図6に示す第2の状態では、COLUMNデータは、第4ビットから第6ビットまでの間に「010」で示されるバブルデータが発生する。 In FIG. 6, the COLUMN data is shifted by 1 bit from the first state shown in FIG. 5 to the upper bit side, inverted by a soft error, and the bit value of the fifth bit indicating “ON” is the most significant bit. Reach 6 bits. When the bit value of the 6th bit indicates "ON", the COLUMN data which is the thermometer code is determined that all the bit values from the 1st bit to the 6th bit indicate "ON". When the COLUMN data is determined that all the bit values indicate "ON", the bit values indicating "ON" are inverted from "0" to "1". The COLUMN data, which was "000101" in the first state shown in FIG. 5, becomes "0000010" by 1 bit in the high-order bit, and then the bit value is inverted by inverting the bit value indicating "ON". The fifth bit, which is "1", is "ON". In the second state shown in FIG. 6, bubble data represented by "010" is generated between the 4th bit and the 6th bit in the COLUMN data.
図7では、図6に示す第2の状態からCOLUMNデータが上位ビット側に更に1ビットシフトして、バブルデータに含まれる「ON」を示す第5ビットのビット値が最上位ビットである第6ビットに達する。第6ビットのビット値が「ON」を示すとき、図6に示す第2の状態と同様に、COLUMNデータは、第1ビットから第6ビットまでの全てのビット値が「ON」を示すと判断される。COLUMNデータが全てのビット値が「ON」を示すと判断されると、「ON」を示すビット値が「1」から「0」に反転される。図6に示す第2の状態では「000010」であったCOLUMNデータは、上位ビットに1ビットシフトすることで「100001」となる。そして、上位ビットに1ビットシフトすることで「100001」となったCOLUMNデータは、「ON」を示すビット値が反転することでビット値が「1」である第2ビットから第5ビットまでのビットが「ON」となる。 In FIG. 7, the COLUMN data is further shifted by 1 bit to the upper bit side from the second state shown in FIG. 6, and the bit value of the fifth bit indicating “ON” included in the bubble data is the most significant bit. Reach 6 bits. When the bit value of the 6th bit indicates "ON", as in the second state shown in FIG. 6, the COLUMN data indicates that all the bit values from the 1st bit to the 6th bit indicate "ON". Judged. When the COLUMN data is determined that all the bit values indicate "ON", the bit values indicating "ON" are inverted from "1" to "0". The COLUMN data, which was "000010" in the second state shown in FIG. 6, becomes "100001" by shifting 1 bit to the high-order bit. Then, the COLUMN data that becomes "100001" by shifting to the upper bit by 1 bit is from the second bit to the fifth bit whose bit value is "1" by inverting the bit value indicating "ON". The bit is "ON".
図6に示す第2の状態と、図7に示す第3の状態との間では、「ON」するリング発振器の数が9個異なるので、第2の状態の発振信号の周波数と第3の状態の発振信号の周波数との間で発振信号の周波数が大きく飛ぶことになる。COLUMNデータでソフトエラーが発生すると、バブルパターンがシフトされて最下位ビット及び最上位ビットを通過する度にROWデータをシフトするROWシフト制御信号が立て続けにアサートされる。ROWデータが短期間に繰り返しシフトすることで発振信号の発振周波数が大きく飛ぶ問題が発生する。 Since the number of ring oscillators to be "ONed" differs by 9 between the second state shown in FIG. 6 and the third state shown in FIG. 7, the frequency of the oscillation signal in the second state and the third state The frequency of the oscillating signal jumps significantly from the frequency of the oscillating signal in the state. When a soft error occurs in the COLUMN data, the ROW shift control signal that shifts the ROW data is asserted in succession each time the bubble pattern is shifted and passes through the least significant bit and the most significant bit. The problem that the oscillation frequency of the oscillation signal fluctuates greatly occurs because the ROW data is repeatedly shifted in a short period of time.
フリップフロップでのソフトエラーの発生を防止するために、フリップフロップ内部のラッチ回路等に容量を付加する等のソフトエラーへの耐性を向上させる回路構成が採用されている。しかしながら、半導体集積回路の微細化の進行に従って、フリップフロップのソフトエラーへの耐性が低下しており、α線に加えて従来は問題にならなかった中性子によるソフトエラーが発生するようになってきている。このため、回路構成による対策だけで、フリップフロップのソフトエラーの発生を防止することは、容易ではない。 In order to prevent the occurrence of soft errors in the flip-flop, a circuit configuration is adopted that improves the resistance to soft errors such as adding a capacitance to the latch circuit or the like inside the flip-flop. However, with the progress of miniaturization of semiconductor integrated circuits, the resistance of flip-flops to soft errors has decreased, and soft errors due to neutrons, which have not been a problem in the past, have come to occur in addition to α rays. There is. Therefore, it is not easy to prevent the occurrence of flip-flop soft errors only by taking measures based on the circuit configuration.
特許文献3に記載される方法によって、ソフトエラーにより反転したフリップフロップに記憶されるビット値を訂正することができる。しかしながら、特許文献3に記載される方法では、リップフロップを3重化する多数決回路を使用するため、フリップフロップの個数が3倍に増加するため、回路規模的にデジタル制御発振器(DigitalControledOscrator、DCO)での使用には適さない。また、誤り検出訂正(error detection and correction、ECC)コードを付加して訂正を行うECC制御方式を採用することで、ソフトエラーにより反転したフリップフロップに記憶されるビット値を訂正することができる。しかしながら、ECC制御方式では、ソフトエラーの検出に時間が掛かり高速に検出できるソフトエラー訂正方法が実現されれず、動作速度の点で高速に動作することが望ましいDCOには適用することは容易ではない。さらに、ECC制御方式によりソフトエラーを検出する場合、特別なコードを付加するエンコード/デコード回路とそのコードを使用する検出回路が付加されるため、回路規模が大きくなり、DCOに実装することは容易ではない。
By the method described in
(実施形態に係る発振回路の概要)
実施形態に係る発振回路は、サーモメータコードで制御される発振器において、フリップフロップが記憶するサーモメータコードを示すビット値の中で、ソフトエラーにより反転したビット値を自動的に検出して訂正することを目的とする回路である。実施形態に係る発振回路は、サーモメータコードに含まれる対象ビットの対象ビット値と、対象ビットに隣接する隣接ビットの隣接ビット値に基づいて、対象ビット値が誤りであると判定したときに、対象ビット値を訂正する。
(Outline of Oscillation Circuit According to Embodiment)
The oscillation circuit according to the embodiment automatically detects and corrects the bit value inverted due to a soft error among the bit values indicating the thermometer code stored in the flip-flop in the oscillator controlled by the thermometer code. It is a circuit for the purpose of. When the oscillation circuit according to the embodiment determines that the target bit value is incorrect based on the target bit value of the target bit included in the thermometer code and the adjacent bit value of the adjacent bit adjacent to the target bit, Correct the target bit value.
(実施形態に係る発振回路の概要)
図8(a)は実施形態に係る発振回路の動作の説明のための第1の図であり、図8(b)は実施形態に係る発振回路の動作の説明のための第2の図である。
(Outline of Oscillation Circuit According to Embodiment)
FIG. 8A is a first diagram for explaining the operation of the oscillator circuit according to the embodiment, and FIG. 8B is a second diagram for explaining the operation of the oscillator circuit according to the embodiment. is there.
図8(a)に示すように、実施形態に係る発振回路は、サーモメータコードをビット値「1」が連続する区間、ビット値「0」が連続する区間、ビット値「0」と「1」との境界位置の3種類の領域に大別する。図8(b)に示すように、実施形態に係る発振回路は、着目する対象ビット、対象ビットの1ビット上位の第1隣接ビット及び対象ビットの1ビット下位の第2隣接ビットの3ビットの区間毎に判定する。実施形態に係る発振回路は、判定した区間がビット値「1」が連続する区間である1連続領域、ビット値「0」が連続する区間である0連続領域、及びビット値「0」と「1」の境界位置である境界領域のいずれかであるかを判定する。 As shown in FIG. 8A, in the oscillation circuit according to the embodiment, the thermometer code has a section in which the bit value “1” is continuous, a section in which the bit value “0” is continuous, and the bit values “0” and “1”. It is roughly divided into three types of areas at the boundary position with. As shown in FIG. 8B, the oscillation circuit according to the embodiment has three bits of the target bit of interest, the first adjacent bit one bit higher than the target bit, and the second adjacent bit one bit lower than the target bit. Judgment is made for each section. In the oscillation circuit according to the embodiment, the determined interval is a continuous region in which the bit value “1” is continuous, the 0 continuous region in which the bit value “0” is continuous, and the bit values “0” and “ It is determined whether it is one of the boundary regions which is the boundary position of "1".
実施形態に係る発振回路は、判定した区間のビット値が「111」及び「101」であるとき、1連続領域であると判定する。実施形態に係る発振回路は、判定した区間のビット値が「101」であるとき、対象ビットのビット値「0」はソフトエラーによって「1」から「0」に反転したと判断して、対象ビットのビット値を「0」から「1」に訂正する。また、実施形態に係る発振回路は、判定した区間のビット値が「111」であるとき、ソフトエラーは対象ビットに発生していないと判断して、訂正処理を実行しない。 The oscillation circuit according to the embodiment determines that it is one continuous region when the bit values of the determined section are "111" and "101". The oscillation circuit according to the embodiment determines that when the bit value of the determined section is "101", the bit value "0" of the target bit is inverted from "1" to "0" due to a soft error, and is the target. The bit value of the bit is corrected from "0" to "1". Further, the oscillation circuit according to the embodiment does not execute the correction process by determining that the soft error has not occurred in the target bit when the bit value of the determined section is "111".
実施形態に係る発振回路は、判定した区間のビット値が「000」及び「010」であるとき、0連続領域であると判定する。実施形態に係る発振回路は、判定した区間のビット値が「010」であるとき、対象ビットのビット値「1」はソフトエラーによって「0」から「1」に反転したと判断して、対象ビットのビット値を「1」から「0」に訂正する。また、実施形態に係る発振回路は、判定した区間のビット値が「000」であるとき、ソフトエラーは対象ビットに発生していないと判断して、訂正処理を実行しない。 The oscillation circuit according to the embodiment determines that it is a 0 continuous region when the bit values of the determined section are "000" and "010". The oscillation circuit according to the embodiment determines that when the bit value of the determined section is "010", the bit value "1" of the target bit is inverted from "0" to "1" due to a soft error, and is the target. The bit value of the bit is corrected from "1" to "0". Further, the oscillation circuit according to the embodiment determines that a soft error has not occurred in the target bit when the bit value of the determined section is "000", and does not execute the correction process.
実施形態に係る発振回路は、判定した区間のビット値が「110」、「011」、「100」及び「001」であるとき、境界領域であると判定する。また、第1実施形態に係る発振回路は、判定した区間が境界領域であると判定したとき、ソフトエラーは対象ビットに発生していないと判断して、訂正処理を実行しない。 The oscillation circuit according to the embodiment determines that it is a boundary region when the bit values of the determined section are "110", "011", "100", and "001". Further, the oscillation circuit according to the first embodiment determines that the soft error has not occurred in the target bit when it is determined that the determined section is the boundary region, and does not execute the correction process.
実施形態に係る発振回路は、図8を参照して説明された処理を実行する訂正回路を有する。すなわち、訂正回路は、サーモメータコードに含まれる対象ビットの対象ビット値、対象ビットに隣接する第1隣接ビットの第1隣接ビット値及び第2隣接ビットの第2隣接ビット値に基づいて、対象ビット値を訂正する。訂正回路は、対象ビット値を訂正したサーモメータコードを発振器に出力する。 The oscillator circuit according to the embodiment has a correction circuit that executes the process described with reference to FIG. That is, the correction circuit targets based on the target bit value of the target bit included in the thermometer code, the first adjacent bit value of the first adjacent bit adjacent to the target bit, and the second adjacent bit value of the second adjacent bit. Correct the bit value. The correction circuit outputs a thermometer code in which the target bit value is corrected to the oscillator.
(第1実施形態に係る発振回路の構成及び機能)
図9は、第1実施形態に係る発振回路の回路図である。
(Configuration and Function of Oscillation Circuit According to First Embodiment)
FIG. 9 is a circuit diagram of an oscillation circuit according to the first embodiment.
発振回路1は、発振器10と、COLUMN回路20と、ROW回路30と、周波数比較回路40とを有し、発振器10から出力される発振信号をクロックとして出力する。発振器10は、10行3列に配置された30個のリング発振器11を有する。発振回路1は、完全デジタル位相同期回路(All Digital Phase-locked loop、ADPLL)の発振回路であるDCOである。発振器10は、発振器901と同様な構成及び機能を有するので、ここでは詳細な説明を省略する。
The
COLUMN回路20は、COLUMNシフト制御回路21と、3個のフリップフロップを有するCOLUMNデータフリップフロップ22と、第1COLUMN訂正回路23とを有する。COLUMNシフト制御回路21及びCOLUMNデータフリップフロップ22は、COLUMNシフト制御回路921及びCOLUMNデータフリップフロップ922と同様な構成及び機能を有するので、ここでは詳細な説明を省略する。COLUMNシフト制御回路21は、発振器10から出力される発振信号を分周した分周周波数と基準クロックの基準周波数との比較結果に基づいて、サーモメータコードであるCOLUMNデータを生成する。COLUMNデータフリップフロップ22は、COLUMNシフト制御回路21によって生成されたCOLUMNデータを記憶する。第1COLUMN訂正回路23は、第1訂正回路24をリング発振器11の列の数と同一数である3個有する。
The
図10(a)は第1COLUMN訂正回路23が有する第1訂正回路24の内部回路図であり、図10(b)は第1訂正回路24の真理値表であり、図10(c)は第1訂正回路24の動作を説明するための図である。
10 (a) is an internal circuit diagram of the
第1訂正回路24は、EOR素子25と、第1AND素子26と、第2AND素子27と、OR素子28とを有する。EOR素子25は、対象ビットのビット値Fと対象ビットの1ビット上位の第1隣接ビットのビット値Aとの排他的論理和を第2AND素子27に出力する。第1AND素子26は、対象ビットの1ビット上位の第1隣接ビットのビット値Aと対象ビットの1ビット下位の第2隣接ビットのビット値Bとの論理積をOR素子28に出力する。第2AND素子27は、対象ビットのビット値Fと、対象ビットのビット値Fと対象ビットの1ビット上位の第1隣接ビットのビット値Aとの排他的論理和との論理積をOR素子28に出力する。OR素子28は、第1AND素子26の出力と、第2AND素子27の出力との論理和を訂正済データAFとして出力する。
The
第1訂正回路24は、対象ビットのビット値F、第1隣接ビットのビット値A及び第2隣接ビットのビット値Bが何れも「0」であるときに、境界位置の可能性がないと判断して、訂正済データAFを第1隣接ビットのビット値Aと同じ「0」とする。第1訂正回路24は、対象ビットのビット値F、第1隣接ビットのビット値Aが「1」であり且つ対象ビットのビット値F及び第2隣接ビットのビット値Bが「0」であるときに、境界位置の可能性があると判断して、対象ビットのビット値Fを変更しない。すなわち、第1訂正回路24は、訂正済データAFを第1隣接ビットのビット値Aと同じ「0」とする。第1訂正回路24は、対象ビットのビット値Fが「1」であり且つ第1隣接ビットのビット値A及び第2隣接ビットのビット値Bが「0」であるときに、バブルパターンであると判断して、対象ビットのビット値Fを変更する。すなわち、第1訂正回路24は、訂正済データAFを第1隣接ビットのビット値Aである「1」と反対の「0」とする。
The
第1訂正回路24は、対象ビットのビット値F及び第1隣接ビットのビット値Aが「1」であり且つ第2隣接ビットのビット値Bが「0」であるときに、境界位置の可能性があると判断して、対象ビットのビット値Fを変更しない。すなわち、第1訂正回路24は、訂正済データAFを第1隣接ビットのビット値Aと同じ「1」とする。第1訂正回路24は、対象ビットのビット値F及び第1隣接ビットのビット値Aが「0」であり且つ第2隣接ビットのビット値Bが「1」であるときに、境界位置の可能性があると判断して、対象ビットのビット値Fを変更しない。すなわち、第1訂正回路24は、訂正済データAFを第1隣接ビットのビット値Aと同じ「0」とする。第1訂正回路24は、対象ビットのビット値Fが「0」であり且つ第1隣接ビットのビット値A及び第2隣接ビットのビット値Bが「1」であるときに、バブルパターンであると判断して、対象ビットのビット値Fを変更する。すなわち、第1訂正回路24は、訂正済データAFを第1隣接ビットのビット値Aである「0」と反対の「1」とする。
The
第1訂正回路24は、対象ビットのビット値F及び第2隣接ビットのビット値Bが「1」であり且つ第1隣接ビットのビット値Aが「0」であるときに、境界の可能性があると判断して、対象ビットのビット値Fを変更しない。すなわち、第1訂正回路24は、訂正済データAFを第1隣接ビットのビット値Aと同じ「1」とする。第1訂正回路24は、対象ビットのビット値F、第1隣接ビットのビット値A及び第2隣接ビットのビット値Bが何れも「1」であるときに、境界位置の可能性がないと判断して、訂正済データAFを第1隣接ビットのビット値Aと同じ「1」とする。第1訂正回路24は、対象ビット値Fが、第1隣接ビット値A及び第2隣接ビット値Bの双方と一致しないときに、対象ビット値Fが第1隣接ビット値A及び第2隣接ビット値Bに一致するように、対象ビット値Fを訂正する。
The
第1COLUMN訂正回路23は、最上位ビットから最下位ビットまで第1訂正回路24から訂正済データAFを順次出力させてもよく、最下位ビットから最上位ビットまで第1訂正回路24から訂正済データAFを順次出力させてもよい。また、第1COLUMN訂正回路23は、最下位ビットから最上位ビットまで第1訂正回路24から訂正済データAFを同時に出力させてもよい。
The first
ROW回路30は、ROWシフト制御回路31と、10個のフリップフロップを有するROWデータフリップフロップ32と、第1ROW訂正回路33とを有する。ROWシフト制御回路31及びROWデータフリップフロップ32は、ROWシフト制御回路931及びROWデータフリップフロップ932と同様な構成及び機能を有するので、ここでは詳細な説明を省略する。第1ROW訂正回路33は、第1訂正回路24をリング発振器11の行の数と同一数である10個有する。
The
第1ROW訂正回路33は、最上位ビットから最下位ビットまで第1訂正回路24から訂正済データAFを順次出力させてもよく、最下位ビットから最上位ビットまで第1訂正回路24から訂正済データAFを順次出力させてもよい。また、第1ROW訂正回路33は、最下位ビットから最上位ビットまで第1訂正回路24から訂正済データAFを同時に出力させてもよい。
The first
周波数比較回路40は、周波数比較回路904の構成及び機能と同様な機能及び機能を有するので、ここでは詳細な説明は省略する。
Since the
(第1実施形態に係る発振回路の動作)
図11は、発振回路1の動作を示すフローチャートである。
(Operation of Oscillator Circuit According to First Embodiment)
FIG. 11 is a flowchart showing the operation of the
まず、周波数比較回路40は、発振信号を逓倍設定に従って分周した分周周波数と、基準クロックの基準周波数を比較して(S101)、比較結果に応じたCOLUMNシフト制御信号をCOLUMNシフト制御回路21に出力する。周波数比較回路40は、分周周波数が基準周波数よりも低かったとき、周波数を高くするために、発振するリング発振器11が1つ増加することを示すCOLUMNシフト制御信号をCOLUMNシフト制御回路21に出力する。周波数比較回路40は、分周周波数が基準周波数よりも高かったとき、周波数を低くするために、発振するリング発振器11が1つ減少することを示すCOLUMNシフト制御信号をCOLUMNシフト制御回路21に出力する。
First, the
次いで、COLUMNシフト制御回路21及びROWシフト制御回路31は、入力されたCOLUMNシフト制御信号及びROWシフト制御信号に応じたCOLUMNデータ及びROWデータを生成する(S102)。COLUMNシフト制御回路21は生成したCOLUMNデータをCOLUMNデータフリップフロップ22に出力し、ROWシフト制御回路31は生成したROWデータをROWデータフリップフロップ32に出力する。
Next, the COLUMN
次いで、COLUMNデータフリップフロップ22及びROWデータフリップフロップ32は、入力されたCOLUMNデータ及びROWデータをそれぞれ記憶する(S103)。COLUMNデータフリップフロップ22は記憶したCOLUMNデータを第1COLUMN訂正回路23に出力し、ROWデータフリップフロップ32は記憶したROWデータを第1ROW訂正回路33に出力する。
Next, the COLUMN data flip-
次いで、第1COLUMN訂正回路23及び第1ROW訂正回路33は、入力されたCOLUMNデータ及びROWデータに含まれるソフトエラーを検出し、訂正する(S104)。第1COLUMN訂正回路23は訂正したCOLUMNデータを発振器10及びにCOLUMNシフト制御回路21に出力し、第1ROW訂正回路33は訂正したROWデータを発振器10及びにROWシフト制御回路31に出力する。
Next, the first
そして、発振器10は、訂正したCOLUMNデータ及びROWデータに応じた数のリング発振器11を発振する(S105)。以降、S101〜S105の処理が順次繰り返される。
Then, the
(第1実施形態に係る発振回路の作用効果)
第1実施形態に係る発振回路は、サーモメータコードを記憶するフリップフロップ等の記憶素子で発生したソフトエラーを、第1訂正回路のような小規模な回路で訂正することができる。
(Operational effect of the oscillation circuit according to the first embodiment)
The oscillation circuit according to the first embodiment can correct a soft error generated in a storage element such as a flip-flop that stores a thermometer code with a small-scale circuit such as the first correction circuit.
図12は、第1実施形態に係る発振回路によるソフトエラーの訂正処理の処理結果の一例を示す図である。図12に示すサーモメータコードのビット長は13ビットであり、正常な状態では最下位ビットから第6ビットまでのデータ値が「1」であり、第7ビットから第13ビットまでのビット値が「0」である。 FIG. 12 is a diagram showing an example of a processing result of soft error correction processing by the oscillation circuit according to the first embodiment. The bit length of the thermometer code shown in FIG. 12 is 13 bits, the data value from the least significant bit to the 6th bit is "1" in the normal state, and the bit value from the 7th bit to the 13th bit is. It is "0".
図12に示す第1の誤りパターンでは、第2ビットのビット値がソフトエラーにより「0」から「1」に反転している。図12に示す第1の誤りパターンでは、第1実施形態に係る発振回路は、ソフトエラーの訂正処理を実行することにより、発生したソフトエラーにより反転したビット値を正常なビット値に訂正している。図12に示す第2の誤りパターンでは、第10ビットのビット値がソフトエラーにより「1」から「0」に反転している。図12に示す第2の誤りパターンでは、第1実施形態に係る発振回路は、ソフトエラーの訂正処理を実行することにより、発生したソフトエラーにより反転したビット値を正常なビット値に訂正している。第1実施形態に係る発振回路は、第1及び第2の誤りパターンのように、サーモメータコードのビット値「0」と「1」との間の境界位置から3ビット以上離れたビットで発生したソフトエラーを正常なビット値に訂正することができる。 In the first error pattern shown in FIG. 12, the bit value of the second bit is inverted from "0" to "1" due to a soft error. In the first error pattern shown in FIG. 12, the oscillation circuit according to the first embodiment corrects the bit value inverted due to the generated soft error to a normal bit value by executing the soft error correction process. There is. In the second error pattern shown in FIG. 12, the bit value of the tenth bit is inverted from "1" to "0" due to a soft error. In the second error pattern shown in FIG. 12, the oscillation circuit according to the first embodiment corrects the bit value inverted due to the generated soft error to a normal bit value by executing the soft error correction process. There is. The oscillation circuit according to the first embodiment is generated at bits separated from the boundary position between the bit values “0” and “1” of the thermometer code by 3 bits or more, as in the first and second error patterns. Soft errors can be corrected to normal bit values.
図12に示す第3の誤りパターンでは、第5ビットのビット値がソフトエラーにより「0」から「1」に反転している。図12に示す第3の誤りパターンでは、第1実施形態に係る発振回路は、ソフトエラーの訂正処理を実行することにより、発生したソフトエラーにより反転したビット値の1ビット下位のビットのビット値に訂正している。図12に示す第3の誤りパターンでは、第1実施形態に係る発振回路は、サーモメータコードのビット値「0」と「1」との間の境界位置が1ビット下位にシフトするように訂正する。図12に示す第4の誤りパターンでは、第1実施形態に係る発振回路は、ソフトエラーの訂正処理を実行することにより、発生したソフトエラーにより反転したビット値の1ビット上位のビットのビット値に訂正している。図12に示す第4の誤りパターンでは、第1実施形態に係る発振回路は、サーモメータコードのビット値「0」と「1」との間の境界位置が1ビット上位にシフトするように訂正する。第1実施形態に係る発振回路は、第3及び第4の誤りパターンのように、サーモメータコードのビット値「0」と「1」との間の境界位置から1ビット離れたビットで発生したソフトエラーを、サーモメータコードの境界位置を1ビットシフトして訂正する。しかしながら、第1実施形態に係る発振回路は、第3及び第4の誤りパターンで発生したバブルバターンを解消することができるので、第1実施形態に係る発振回路がDCOとして動作することで、サーモメータコードの境界位置を自動的に修正できる。 In the third error pattern shown in FIG. 12, the bit value of the fifth bit is inverted from "0" to "1" due to a soft error. In the third error pattern shown in FIG. 12, the oscillation circuit according to the first embodiment executes a soft error correction process, and the bit value of the bit lower than the bit value inverted by the soft error generated by the soft error. It has been corrected to. In the third error pattern shown in FIG. 12, the oscillation circuit according to the first embodiment is corrected so that the boundary position between the bit values “0” and “1” of the thermometer code is shifted one bit lower. To do. In the fourth error pattern shown in FIG. 12, the oscillation circuit according to the first embodiment executes the soft error correction process, and the bit value of the bit one bit higher than the bit value inverted by the generated soft error. It has been corrected to. In the fourth error pattern shown in FIG. 12, the oscillation circuit according to the first embodiment is corrected so that the boundary position between the bit values “0” and “1” of the thermometer code is shifted upward by one bit. To do. The oscillation circuit according to the first embodiment is generated at a bit separated from the boundary position between the bit values “0” and “1” of the thermometer code, as in the third and fourth error patterns. The soft error is corrected by shifting the boundary position of the thermometer code by 1 bit. However, since the oscillation circuit according to the first embodiment can eliminate the bubble pattern generated in the third and fourth error patterns, the oscillation circuit according to the first embodiment operates as a DCO to thermostat. The boundary position of the meter code can be corrected automatically.
図12に示す第5の誤りパターンでは、第6ビットのビット値がソフトエラーにより「0」から「1」に反転している。図12に示す第5の誤りパターンでは、第1実施形態に係る発振回路は、バブルパターンが発生していないので、ソフトエラーの訂正処理を実行することはない。図12に示す第6の誤りパターンでは、第7ビットのビット値がソフトエラーにより「1」から「0」に反転している。図12に示す第6の誤りパターンでは、第1実施形態に係る発振回路は、バブルパターンが発生していないので、ソフトエラーの訂正処理を実行することはない。第1実施形態に係る発振回路は、第5及び第6の誤りパターンで発生した場合、ソフトエラーの訂正処理を実行することはない。しかしながら、第1実施形態に係る発振回路は、第5及び第6の誤りパターンではバブルバターンは発生していないので、第1実施形態に係る発振回路がDCOとして動作することで、サーモメータコードの境界位置を自動的に修正できる。 In the fifth error pattern shown in FIG. 12, the bit value of the sixth bit is inverted from "0" to "1" due to a soft error. In the fifth error pattern shown in FIG. 12, since the oscillation circuit according to the first embodiment does not generate the bubble pattern, the soft error correction process is not executed. In the sixth error pattern shown in FIG. 12, the bit value of the seventh bit is inverted from "1" to "0" due to a soft error. In the sixth error pattern shown in FIG. 12, since the oscillation circuit according to the first embodiment does not generate the bubble pattern, the soft error correction process is not executed. The oscillation circuit according to the first embodiment does not execute the soft error correction process when it occurs in the fifth and sixth error patterns. However, in the oscillation circuit according to the first embodiment, bubble pattern does not occur in the fifth and sixth error patterns. Therefore, the oscillation circuit according to the first embodiment operates as a DCO to obtain a thermometer code. The boundary position can be corrected automatically.
(第2実施形態に係る発振回路の構成及び機能)
図13は、第2実施形態に係る発振回路の回路図である。
(Configuration and Function of Oscillation Circuit According to Second Embodiment)
FIG. 13 is a circuit diagram of the oscillation circuit according to the second embodiment.
発振回路2は、COLUMN回路50及びROW回路60をCOLUMN回路20及びROW回路30の代わりに有することが発振回路1と相違する。COLUMN回路50及びROW回路60以外の発振回路2の構成素子の構成及び機能は、同一符号が付された発振回路1の構成要素の構成及び機能と同様なので、ここでは詳細な説明は省略する。
The
COLUMN回路50は、COLUMNシフト制御回路51と、COLUMNデータフリップフロップ52と、第1COLUMN訂正回路53と、境界ビット生成回路54と、境界データフリップフロップ55と、第2COLUMN訂正回路56を有する。COLUMNシフト制御回路51〜第1COLUMN訂正回路53は、COLUMNシフト制御回路21〜第1COLUMN訂正回路23と同様の構成及び機能を有するので、ここでは詳細な説明は省略する。
The
境界ビット生成回路54は、サーモメータコードのビット値「0」と「1」との間の境界位置を示す境界ビットが奇数ビットであるか偶数ビットであるかを示す境界情報を生成する。 The boundary bit generation circuit 54 generates boundary information indicating whether the boundary bit indicating the boundary position between the bit values “0” and “1” of the thermometer code is an odd number bit or an even numbered bit.
図14は、ビット数が3である境界ビット生成回路54を、ビット数がNであると一般化したときの境界ビット生成回路540の回路図である。境界ビット生成回路540では、ビット数nは偶数である。
FIG. 14 is a circuit diagram of the boundary
境界ビット生成回路540は、(n/2)個のEOR素子541と、OR素子542とを有する。(n/2)個のEOR素子541のそれぞれは、一方の入力端子に奇数ビットのビット値が入力され且つ他方の入力端子に隣接する偶数ビットのビット値が入力される。具体的には、第1のEOR素子541は、一方の入力端子に最下位ビットのビット値が入力され且つ他方の入力端子に最下位ビットに隣接する第2ビットのビット値が入力される。また、第2のEOR素子541は、一方の入力端子に第3ビットのビット値が入力され且つ他方の入力端子に第3ビットに隣接する第4ビットのビット値が入力される。以降、mを偶数として、EOR素子541は、一方の入力端子に第(m−1)ビットのビット値が入力され且つ他方の入力端子に第(m−1)ビットに隣接する第mビットのビット値が入力される。なお、nが奇数の場合、一方に最上位ビットのビット値が入力され、且つ他方は仮想的に最下位ビットの値を反転した値を第(n+1)ビットのビット値としてEOR素子541の入力端子に入力し、最下位ビットから第(n+1)ビットのビット値が何れかのEOR素子541の入力端子に入力される。
The boundary
OR素子542は、(n/2)個のEOR素子541の出力端子が接続され、(n/2)個のEOR素子541の出力信号に応じた境界情報を出力する。OR素子542は、(n/2)個のEOR素子541の出力信号の何れか1つが「1」であるとき、すなわちサーモメータコードの境界位置が奇数であるときにビット値「1」を示す境界情報を出力する。また、OR素子542は、(n/2)個のEOR素子541の出力信号の何れもが「0」であるとき、すなわちサーモメータコードの境界位置が偶数であるときにビット値「0」を示す境界情報を出力する。
The OR
境界データフリップフロップ55は、境界ビット生成回路54から出力される境界情報を記憶し、記憶した境界情報を第2COLUMN訂正回路56に出力する。境界ビット生成回路54及び境界データフリップフロップ55は、COLUMNデータにおいて、サーモメータコードの境界位置を示す境界ビットが奇数ビットであるか偶数ビットであるかを示す境界情報を生成し、記憶する。境界ビット生成回路54及び境界データフリップフロップ55は、境界情報生成回路を形成する。 The boundary data flip-flop 55 stores the boundary information output from the boundary bit generation circuit 54, and outputs the stored boundary information to the second COLUMN correction circuit 56. The boundary bit generation circuit 54 and the boundary data flip-flop 55 generate and store boundary information indicating whether the boundary bit indicating the boundary position of the thermometer code is an odd number bit or an even number bit in the COLUMN data. The boundary bit generation circuit 54 and the boundary data flip-flop 55 form a boundary information generation circuit.
第2COLUMN訂正回路56は、第2訂正回路70を3個有する。第2COLUMN訂正回路56は、境界情報に対応する境界判定ビット値に基づいて、サーモメータコードの境界位置を下位ビット方向にシフトする。
The second COLUMN correction circuit 56 has three
図15(a)は第2訂正回路70の内部回路図であり、図15(b)は第2訂正回路70の動作を説明するための図である。
FIG. 15A is an internal circuit diagram of the
第2訂正回路70は、第1AND素子71と、第1EOR素子72と、第2EOR素子73と、第2AND素子74と、OR素子75とを有する。第1AND素子71は、第1COLUMN訂正回路53によって訂正された対象ビット及び対象ビットの1ビット上位の第1隣接ビットのビット値(訂正F及び訂正A)の論理積を出力する。第1EOR素子72は、第1COLUMN訂正回路53によって訂正された対象ビット及び対象ビットの1ビット上位の第1隣接ビットのビット値(訂正F及び訂正A)の排他的論理和を出力する。第1COLUMN訂正回路53によって訂正された第1隣接ビット(訂正A)と、第2COLUMN訂正回路56から入力される境界情報に対応する境界判定ビット値(K)との排他的論理和を出力する。第2AND素子74は、第1EOR素子72及び第2EOR素子73の出力信号に対応するビット値の論理積を出力する。OR素子75は、第1AND素子71及び第2AND素子74の出力信号の論理和を訂正済データ(SF)として出力する。
The
第2訂正回路70は、訂正された対象ビット及び第1隣接ビットのビット値(訂正F及び訂正A)が同一のとき、境界位置がないと判断して、対象ビットのビット値を訂正しない。また、第2訂正回路70は、訂正された対象ビット及び第1隣接ビットのビット値(訂正F及び訂正A)が相違し且つ境界情報に対応する境界判定ビット値(K)が「1」のとき、境界位置があると判断して対象ビットのビット値を訂正しない。一方、第2訂正回路70は、訂正された対象ビット及び第1隣接ビットのビット値(訂正F及び訂正A)が相違し且つ境界情報に対応する境界判定ビット値(K)が「0」のとき、対象ビットのビット値を訂正する。
When the corrected target bit and the bit value of the first adjacent bit (correction F and correction A) are the same, the
ROW回路60は、ROWシフト制御回路61と、ROWデータフリップフロップ62と、第1ROW訂正回路63と、境界ビット生成回路64と、境界データフリップフロップ65と、第2ROW訂正回路66を有する。ROWシフト制御回路61〜第1ROW訂正回路63は、ROWシフト制御回路31〜第1ROW訂正回路33と同様の構成及び機能を有するので、ここでは詳細な説明は省略する。また、境界ビット生成回路64及び境界データフリップフロップ65は、境界ビット生成回路54及び境界データフリップフロップ55と同様の構成及び機能を有するので、ここでは詳細な説明は省略する。第2ROW訂正回路66は、第2訂正回路70をリング発振器11の行の数と同一数である10個有する。
The
(第2実施形態に係る発振回路の動作)
図16は、発振回路2の動作を示すフローチャートである。
(Operation of Oscillator Circuit According to Second Embodiment)
FIG. 16 is a flowchart showing the operation of the
まず、周波数比較回路40は、発振信号を逓倍設定に従って分周した分周周波数と、基準クロックの基準周波数を比較して(S201)、比較結果に応じたCOLUMNシフト制御信号をCOLUMNシフト制御回路51に出力する。次いで、COLUMNシフト制御回路51及びROWシフト制御回路61は、入力されたCOLUMNシフト制御信号及びROWシフト制御信号に応じたCOLUMNデータ及びROWデータを生成する(S202)。次いで、COLUMNデータフリップフロップ52及びROWデータフリップフロップ62は、入力されたCOLUMNデータ及びROWデータをそれぞれ記憶する(S203)。
First, the
次いで、境界情報生成回路は、COLUMNデータ及びROWデータにおいて、サーモメータコードの境界位置を示す境界ビットが奇数ビットであるか偶数ビットであるかを示す境界情報を生成し、記憶する(S204)。具体的には、境界ビット生成回路54及び境界データフリップフロップ55は、COLUMNデータにおいて、サーモメータコードの境界位置を示す境界ビットが奇数ビットであるか偶数ビットであるかを示す境界情報を生成し、記憶する。また、境界ビット生成回路64及び境界データフリップフロップ65は、ROWデータにおいて、サーモメータコードの境界位置を示す境界ビットが奇数ビットであるか偶数ビットであるかを示す境界情報を生成し、記憶する。
Next, the boundary information generation circuit generates and stores boundary information indicating whether the boundary bit indicating the boundary position of the thermometer code is an odd number bit or an even number bit in the COLUMN data and the ROW data (S204). Specifically, the boundary bit generation circuit 54 and the boundary data flip-flop 55 generate boundary information indicating whether the boundary bit indicating the boundary position of the thermometer code is an odd number bit or an even number bit in the COLUMN data. ,Remember. Further, the boundary
次いで、第1COLUMN訂正回路53及び第1ROW訂正回路63は、入力されたCOLUMNデータ及びROWデータに含まれるソフトエラーを検出し、訂正する(S205)。次いで、第2COLUMN訂正回路56及び第2ROW訂正回路66は、境界情報及び訂正されたCOLUMNデータ及びROWデータに基づいて、サーモメータコードの境界位置を下位ビット方向にシフトする(S206)。
Next, the first
そして、発振器10は、訂正したCOLUMNデータ及びROWデータに応じた数のリング発振器11を発振する(S207)。以降、S201〜S207の処理が順次繰り返される。
Then, the
(第2実施形態に係る発振回路の作用効果)
第2実施形態に係る発振回路は、ソフトエラーの訂正により上位ビット側にシフトしたサーモメータコードの境界位置を下位ビット側にシフトすることができる。第2実施形態に係る発振回路は、サーモメータコードの境界位置を下位ビット側にシフトすることで、第2実施形態に係る発振回路から出力されるクロックを使用して動作する回路の動作速度が高速になり動作エラーを生じることを防止することができる。
(Action and effect of the oscillation circuit according to the second embodiment)
The oscillation circuit according to the second embodiment can shift the boundary position of the thermometer code shifted to the upper bit side by correcting the soft error to the lower bit side. In the oscillation circuit according to the second embodiment, the boundary position of the thermometer code is shifted to the lower bit side, so that the operating speed of the circuit that operates using the clock output from the oscillation circuit according to the second embodiment can be increased. It is possible to prevent the high speed and the occurrence of an operation error.
図17は、第2実施形態に係る発振回路によるソフトエラーの訂正処理の処理結果の一例を示す図である。図17に示すサーモメータコードのビット長は13ビットであり、正常な状態では最下位ビットから第6ビットまでのデータ値が「1」であり、第7ビットから第13ビットまでのビット値が「0」である。図17に示す第1誤りパターン〜第6誤りパターンのそれぞれは、図12に示す第1誤りパターン〜第6誤りパターンと同一のエラーである。図17に示す第1の誤りパターン及び第2の誤りパターンでの第2実施形態に係る発振回路の動作は、第1実施形態に係る発振回路の動作と同様なので、ここでは詳細な説明は省略する。 FIG. 17 is a diagram showing an example of a processing result of soft error correction processing by the oscillation circuit according to the second embodiment. The bit length of the thermometer code shown in FIG. 17 is 13 bits, the data value from the least significant bit to the 6th bit is "1" in the normal state, and the bit value from the 7th bit to the 13th bit is. It is "0". Each of the first error pattern to the sixth error pattern shown in FIG. 17 is the same error as the first error pattern to the sixth error pattern shown in FIG. Since the operation of the oscillation circuit according to the second embodiment in the first error pattern and the second error pattern shown in FIG. 17 is the same as the operation of the oscillation circuit according to the first embodiment, detailed description thereof is omitted here. To do.
図17に示す第3の誤りパターンでは、第2実施形態に係る発振回路は、発生したソフトエラーの訂正により1ビット下位にシフトしたサーモメータコードの境界位置を更に1ビット下位にシフトしている。図17に示す第4の誤りパターンでは、第2実施形態に係る発振回路は、発生したソフトエラーの訂正により1ビット上位にシフトしたサーモメータコードの境界位置を更に1ビット下位にシフトしている。第2実施形態に係る発振回路は、第3及び第4の誤りパターンのように、サーモメータコードの境界位置から1ビット離れたビットで発生したソフトエラーを、サーモメータコードの境界位置が上位側にシフトしないように訂正することができる。
In the third error pattern shown in FIG. 17, in the oscillation circuit according to the second embodiment, the boundary position of the thermometer code shifted one bit lower due to the correction of the generated soft error is further shifted one bit lower. .. In the fourth error pattern shown in FIG. 17, in the oscillation circuit according to the second embodiment, the boundary position of the thermometer code shifted one bit higher due to the correction of the generated soft error is further shifted one bit lower. .. In the oscillation circuit according to the second embodiment, as in the third and fourth error patterns, a soft error generated at a
図17に示す第5の誤りパターン及び第6の誤りパターンでは、第2実施形態に係る発振回路は、バブルパターンが発生していないので、ソフトエラーの訂正処理を実行することなく、サーモメータコードの境界位置を1ビット下位にシフトしている。第2実施形態に係る発振回路は、第5及び第6の誤りパターンで発生した場合、サーモメータコードの境界位置が上位側にシフトしないように訂正することができる。 In the fifth error pattern and the sixth error pattern shown in FIG. 17, since the oscillation circuit according to the second embodiment does not generate the bubble pattern, the thermometer code does not execute the soft error correction process. The boundary position of is shifted one bit lower. The oscillation circuit according to the second embodiment can be corrected so that the boundary position of the thermometer code does not shift to the upper side when it occurs in the fifth and sixth error patterns.
(実施形態の変形例)
発振回路1及び2は、アレイ状に配置されたリング発振器の発振を制御するために、COLUMN回路及びROW回路を有するが、実施形態に係る発振回路は、行方向及び列方向の何れか一方向に延伸するように配列されたリング発振器を発振させてもよい。一方向に延伸するように配列されたリング発振器を発振させるとき、実施形態に係る発振回路は、COLUMN回路及びROW回路に何れか一方のみを有する構成にすることができる。また、発振回路1及び2は、リング発振器を使用して発振信号を生成するが、実施形態に係る発振回路は、発振信号が生成可能な発振回路を有すればよい。また、発振回路1及び2は、サーモメータコードを使用して発振するリング発振器の数を制御するが、実施形態では、リング発振器以外の電子回路を制御する構成としてもよい。
(Modified example of embodiment)
また、発振回路2は、COLUMNデータ及びROWデータにおいてサーモメータコードの境界位置を下位ビット方向にシフトするが、実施形態に係る発振回路は、サーモメータコードの境界位置を上位ビット方向にシフトしてもよい。
Further, the
図18(a)は第2訂正回路70の変形例の内部回路図であり、図18(b)は図17(a)に示す第2訂正回路の動作を説明するための図である。実施形態に係る発振回路は、第2訂正回路70の代わりに図18(a)に示す第2訂正回路を配置することにより、サーモメータコードの境界位置を上位ビット方向にシフトすることができる。
FIG. 18A is an internal circuit diagram of a modified example of the
第2訂正回路80は、第1AND素子81と、第1EOR素子82と、第2EOR素子83と、第2AND素子84と、OR素子85とを有する。第1AND素子81〜OR素子85は、対象ビットの1ビット上位の第1隣接ビットのビット値の代わりに対象ビットの1ビット下位の第2隣接ビットのビット値が入力されることが、第1AND素子71〜OR素子75と相違する。第2隣接ビットのビット値が入力されること以外は、第1AND素子81〜OR素子85の構成及び機能は、第1AND素子71〜OR素子75の構成及び機能と同様なので、ここでは詳細な説明は省略する。
The
図19は、第2実施形態に係る発振回路の変形例によるソフトエラーの訂正処理の処理結果の一例を示す図である。図19に示すサーモメータコードのビット長は13ビットであり、正常な状態では最下位ビットから第6ビットまでのデータ値が「1」であり、第7ビットから第13ビットまでのビット値が「0」である。図19に示す第1誤りパターン〜第6誤りパターンのそれぞれは、図12に示す第1誤りパターン〜第6誤りパターンと同一のエラーである。図19に示す第1の誤りパターン〜第6の誤りパターンでの動作は、サーモメータコードの境界位置が上位ビット方向にシフトすること以外は、第2実施形態に係る発振回路の動作と同様なので、ここでは詳細な説明は省略する。 FIG. 19 is a diagram showing an example of a processing result of a soft error correction process according to a modified example of the oscillation circuit according to the second embodiment. The bit length of the thermometer code shown in FIG. 19 is 13 bits, the data value from the least significant bit to the 6th bit is "1" in the normal state, and the bit value from the 7th bit to the 13th bit is. It is "0". Each of the first error pattern to the sixth error pattern shown in FIG. 19 is the same error as the first error pattern to the sixth error pattern shown in FIG. The operation of the first error pattern to the sixth error pattern shown in FIG. 19 is the same as the operation of the oscillation circuit according to the second embodiment except that the boundary position of the thermometer code is shifted in the high-order bit direction. , Detailed description is omitted here.
また、説明された第1訂正回路24及び第2訂正回路等の内部回路は、これらの内部回路の一例を示すものであり、これらの回路構成に限定して解釈されるものではない。また、これらの内部回路の構成は、実施形態の変形例に応じて変更されてもよい。
Further, the internal circuits such as the
1、2 発振回路
10 発振器
11 リング発振器
20、50 COLUMN回路
21、51 COLUMNシフト制御回路(制御回路)
22、52 COLUMNデータフリップフロップ(記憶回路)
23、53 第1COLUMN訂正回路(第1訂正回路)
30、60 ROW回路
31、61 ROWシフト制御回路(制御回路)
32、62 ROWデータフリップフロップ(記憶回路)
33、63 第1ROW訂正回路(第1訂正回路)
54、64 境界ビット生成回路
55、65 境界データフリップフロップ
56 第2COLUMN訂正回路(第2訂正回路)
66 第2ROW訂正回路
1, 2
22, 52 COLUMN data flip-flop (memory circuit)
23, 53 1st COLUMN correction circuit (1st correction circuit)
30, 60
32, 62 ROW data flip-flop (memory circuit)
33, 63 1st ROW correction circuit (1st correction circuit)
54, 64 Boundary
66 Second ROW correction circuit
Claims (4)
前記発振周波数と所定の基準周波数との比較結果に基づいて、前記サーモメータコードを生成する制御回路と、
生成された前記サーモメータコードを記憶する記憶回路と、
記憶された前記サーモメータコードにそれぞれ含まれる各ビット値と、各ビットに隣接する第1隣接ビットの第1隣接ビット値と、各ビットに隣接する第2隣接ビットの第2隣接ビット値とに基づいて、ビット値の訂正が必要な場合、訂正が必要なビット値を訂正した訂正済サーモメータコードを前記発振器に出力する訂正回路と、
を有し、
前記訂正回路は、各ビット値が、前記第1隣接ビット値及び前記第2隣接ビット値の双方と一致しない場合、当該ビット値が前記第1隣接ビット値及び前記第2隣接ビット値に一致するように、前記訂正が必要なビット値を訂正する第1訂正回路を有する、発振回路。 An oscillator in which the oscillation frequency of the output oscillation signal is controlled based on a thermometer code in which a numerical value is expressed by consecutive 0 or 1 bit values in a plurality of bit values.
A control circuit that generates the thermometer code based on the result of comparison between the oscillation frequency and a predetermined reference frequency, and
A storage circuit that stores the generated thermometer code and
Each bit value included in the stored thermometer code, the first adjacent bit value of the first adjacent bit adjacent to each bit, and the second adjacent bit value of the second adjacent bit adjacent to each bit Based on this, when the bit value needs to be corrected, a correction circuit that outputs the corrected thermometer code with the corrected bit value corrected to the oscillator, and a correction circuit.
Have a,
In the correction circuit, when each bit value does not match both the first adjacent bit value and the second adjacent bit value, the bit value matches the first adjacent bit value and the second adjacent bit value. As described above, an oscillation circuit having a first correction circuit for correcting a bit value that needs to be corrected .
前記訂正回路はさらに、前記境界情報に対応する境界判定ビット値に基づいて、前記サーモメータコードの境界位置を上位ビット方向又は下位ビット方向の何れか一方にシフトする第2訂正回路を有する、請求項1に記載の発振回路。 The oscillation circuit further includes a boundary information generating circuit boundary bit indicating a boundary position is also stored with the generating boundary information indicating which even bit or an odd bit of the thermometer code,
The correction circuit further includes a second correction circuit that shifts the boundary position of the thermometer code to either the upper bit direction or the lower bit direction based on the boundary determination bit value corresponding to the boundary information. Item 1. The oscillation circuit according to Item 1 .
生成された前記サーモメータコードを記憶する記憶回路と、
記憶された前記サーモメータコードにそれぞれ含まれる、各ビット値と、各ビットに隣接する第1隣接ビットの第1隣接ビット値と、各ビットに隣接する第2隣接ビットの第2隣接ビット値とに基づいて、ビット値の訂正が必要な場合、訂正が必要なビット値を訂正した訂正済サーモメータコードを出力する訂正回路と、
を有し、
前記訂正回路は、各ビット値が、前記第1隣接ビット値及び前記第2隣接ビット値の双方と一致しない場合、当該ビット値が前記第1隣接ビット値及び前記第2隣接ビット値に一致するように、前記訂正が必要なビット値を訂正する第1訂正回路を有するサーモコード訂正回路。 A control circuit that generates a thermometer code in which a numerical value is expressed by consecutive 0 or 1 bit values in multiple bit values, and a control circuit.
A storage circuit that stores the generated thermometer code and
Each bit value included in the stored thermometer code, the first adjacent bit value of the first adjacent bit adjacent to each bit, and the second adjacent bit value of the second adjacent bit adjacent to each bit. When the bit value needs to be corrected based on, the correction circuit that outputs the corrected thermometer code that corrected the bit value that needs to be corrected, and
Have a,
In the correction circuit, when each bit value does not match both the first adjacent bit value and the second adjacent bit value, the bit value matches the first adjacent bit value and the second adjacent bit value. As described above, a thermocode correction circuit having a first correction circuit for correcting a bit value requiring correction.
記憶されたサーモメータコードにそれぞれ含まれる、各ビット値と、各ビットに隣接する第1隣接ビットの第1隣接ビット値と、各ビットに隣接する第2隣接ビットの第2隣接ビット値に基づいて、ビット値の訂正が必要な場合、各ビット値が、前記第1隣接ビット値及び前記第2隣接ビット値の双方と一致しない場合、当該ビット値が前記第1隣接ビット値及び前記第2隣接ビット値に一致するように、前記訂正が必要なビット値を訂正し、
訂正が必要なビット値を訂正した訂正済サーモメータコードを前記発振器に出力する、
発振回路の制御方法。 Based on the comparison result between the oscillation frequency of the oscillation signal output from the oscillator and the predetermined reference frequency, a numerical value is expressed by a continuous 0 or 1 bit value in a plurality of bit values, and a thermometer that controls the oscillation frequency. the control method of oscillators that have a storage circuit for storing the code,
Based on each bit value included in each stored thermometer code, the first adjacent bit value of the first adjacent bit adjacent to each bit, and the second adjacent bit value of the second adjacent bit adjacent to each bit. If it is necessary to correct the bit value, and if each bit value does not match both the first adjacent bit value and the second adjacent bit value, the bit value is the first adjacent bit value and the second adjacent bit value. Correct the bit value that needs to be corrected so that it matches the adjacent bit value .
The corrected thermometer code with the corrected bit value corrected is output to the oscillator.
How to control the oscillation circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017016850A JP6794851B2 (en) | 2017-02-01 | 2017-02-01 | Oscillation circuit, oscillator circuit control method and thermocode correction circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017016850A JP6794851B2 (en) | 2017-02-01 | 2017-02-01 | Oscillation circuit, oscillator circuit control method and thermocode correction circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018125724A JP2018125724A (en) | 2018-08-09 |
JP6794851B2 true JP6794851B2 (en) | 2020-12-02 |
Family
ID=63109764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017016850A Active JP6794851B2 (en) | 2017-02-01 | 2017-02-01 | Oscillation circuit, oscillator circuit control method and thermocode correction circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6794851B2 (en) |
-
2017
- 2017-02-01 JP JP2017016850A patent/JP6794851B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018125724A (en) | 2018-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8564355B2 (en) | Clock device | |
US11218141B2 (en) | Correction circuit | |
US10725841B1 (en) | Method and apparatus for error detection and correction | |
JP2006229957A (en) | Automatic initialization type frequency divider | |
JP6794851B2 (en) | Oscillation circuit, oscillator circuit control method and thermocode correction circuit | |
US5969553A (en) | Digital delay circuit and digital PLL circuit with first and second delay units | |
JP6423270B2 (en) | Random number generation apparatus and random number generation method | |
US6407597B1 (en) | Semiconductor device capable of immediately recovering from erroneous state to normal state | |
JP5481836B2 (en) | Counter circuit and counter circuit control method | |
KR100737912B1 (en) | Ecc circuit of semiconductor memory device | |
JP2014116054A (en) | Integrated circuit | |
JP6379032B2 (en) | Random number generation device and random number generation method | |
KR100892723B1 (en) | Digital temperature information generator of semiconductor integrated circuit | |
US7259634B2 (en) | Arrangement and method for digital delay line | |
JP4434277B2 (en) | Clock generation circuit and method of using the same | |
JP2010109717A (en) | Semiconductor integrated circuit, and method of controlling the same | |
JP5029422B2 (en) | Semiconductor device reset circuit | |
JP4916475B2 (en) | Parallel / serial conversion circuit | |
US7760847B2 (en) | Counting circuit and address counter using the same | |
US11288120B2 (en) | Circuit and method for soft-error protection in operation of ECC and register | |
JP4668591B2 (en) | High frequency counter circuit | |
JP6423277B2 (en) | Random number generation apparatus and random number generation method | |
US11398260B2 (en) | Network device and network connection method with linear feedback shift register | |
JP2013206149A (en) | Semiconductor integrated circuit device and system using the same | |
CN109817254B (en) | Feedback system and method of operation thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191008 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200714 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200904 |
|
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: 20201013 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201026 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6794851 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |