JPH06301516A - 半導体集積回路 - Google Patents

半導体集積回路

Info

Publication number
JPH06301516A
JPH06301516A JP5088564A JP8856493A JPH06301516A JP H06301516 A JPH06301516 A JP H06301516A JP 5088564 A JP5088564 A JP 5088564A JP 8856493 A JP8856493 A JP 8856493A JP H06301516 A JPH06301516 A JP H06301516A
Authority
JP
Japan
Prior art keywords
data
bit
rounding
block
bits
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
Application number
JP5088564A
Other languages
English (en)
Inventor
Akihiko Takahata
明彦 高畠
Shinichi Uramoto
紳一 浦本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5088564A priority Critical patent/JPH06301516A/ja
Publication of JPH06301516A publication Critical patent/JPH06301516A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ハードウエア規模を増大させることなく高精
度かつ高速で演算を行なうことのできる半導体集積回路
を提供する。 【構成】 a+bビットのデータを出力するブロックA
とaビットのデータ入力部を有する演算ブロックB′と
の間に符号ビットと下位bビットを受けて1ビットの丸
め信号を生成する丸め信号生成回路14を設ける。演算
ブロックB′は、aビットのデータと1ビットの丸め信
号とを加算して丸め処理を行なったのと等価なデータを
得る。こうすることにより、丸め処理のためのインクリ
メンタを設ける必要がなくなるので、データの転送を高
速で行なうことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、入力データよりも短
い語長の演算ブロックを含む半導体集積回路に関し、特
に、高精度で演算を行なうことのできる半導体集積回路
に関するものである。
【0002】
【従来の技術】従来、演算機能を有する半導体集積回路
では、数値データの演算を精度良く行なうために入力デ
ータの丸め処理(四捨五入)を行なった後に、加算、減
算などの演算を行なっている。
【0003】図5は、丸め処理が必要となる例としての
固定小数点演算を示す図である。図6は図5に示した演
算を実行するための半導体集積回路の概略構成を示す図
である。
【0004】図5および図6を参照して、X,Yは6ビ
ットの入力データ、Zは6ビットの出力データである。
図6に示す半導体集積回路は、乗算を行なうためのブロ
ック71、データを記憶するブロック72、加算を行な
うブロック73を含む。ブロック71は、入力データX
と小数点係数nとを乗算し、ブロック73に与える。ブ
ロック72は、入力データYを記憶しブロック73に与
える。ブロック73は、ブロック71およびブロック7
2からのデータを加算し、Z=n・X+Yなる演算を行
なう。
【0005】ところで、図5に示す固定小数点演算にお
いては、ブロック71のように乗算によって、ブロック
73の語長より2ビット分長いデータが発生される。こ
のため、2ビット分を処理する必要がある。この方法と
して、生成される下位2ビットのデータを切り詰める方
法と、下位2ビットのデータを丸める方法とがあるが、
精度の良いデータを得るには、下位2ビットのデータを
丸める必要がある。そのためには、図7に示されるよう
に丸めブロックが必要となる。
【0006】図7は、丸め処理機能を有する半導体集積
回路の従来例を示すブロック図である。この半導体集積
回路300はブロックA、ブロックB、ブロックCおよ
び丸めブロックDを含む。ブロックAは、a+bビット
のデータを出力する。このブロックAとしては、たとえ
ば、メモリ、レジスタなどのデータを保持する機能を有
するものや、図6に示した乗算器などがある。ブロック
Bは、2つのaビットの入力端子を有し、2つの入力端
子に入力されるデータを加算する。ブロックCは、aビ
ットの切り詰め不要のデータ、すなわちaビットのデー
タを出力する。丸めブロックDは、ブロックAからのa
+bビットのデータに対して丸め処理を行ない、aビッ
トのデータを出力する。
【0007】動作において、ブロックAは、a+bビッ
トのデータをデータ線21を通して丸めブロックDに与
える。丸めブロックDは、a+bビットのデータを丸め
てaビットのデータとし、データ線22を通してブロッ
クBのデータ入力端子に与える。
【0008】これは、データの演算を行なうブロックB
がa+bビットより少ないビット幅であるaビットの入
力を持つので、これらのブロックの接続において、ビッ
トの切り詰めが必要だからである。また、このデータの
演算を高精度で行ないたいときは、丸め処理によってデ
ータを加工してからブロックBに入力する必要があるた
めである。
【0009】ブロックBは、ブロックDにより丸め処理
されたaビットのデータとブロックCからのaビットの
データを受け、これらに対して加算あるいは減算などの
演算を施す。
【0010】なお、減算に関しては、2の補数で表現さ
れるデータの加算を行なうのが一般的である。
【0011】図8は、図7に示した丸めブロックDの構
成を示すブロック図である。丸めブロックDはインクリ
メンタ16および丸め信号生成回路17を含む。
【0012】動作において、ブロックAより入力された
a+bビットのデータは、上位aビットのデータ線23
と、下位bビットのデータ線24に分けられる。データ
線23に与えられた上位aビットは、そのままインクリ
メンタ16のデータ入力端子に入力される。データ線2
4に与えられた下位bビットおよび信号線27に与えら
れた符号ビットは、丸め信号生成回路17に入力され
る。丸め信号生成回路17は、丸め信号をデータ線25
を通してインクリメンタ16の桁上げ信号入力端子Ci
nに入力する。この丸め信号生成回路17は、下位bビ
ットを切り詰めるべきときは、“0”を出力し、切り上
げるべきときは“1”を出力するようになっているの
で、インクリメンタ16を下位bビットを切り上げるべ
きときは、データ線23により入力される上位aビット
のデータに“1”を加算したaビットのデータを出力
し、下位bビットを切り詰めるべきときは、データ線2
3により入力されるデータをそのままデータ線26によ
り出力する。
【0013】このようにして、丸めブロックDは入力さ
れたa+bビットのデータを丸めて出力する。
【0014】図7および図8に示したようにブロックB
の入力端子がaビットのデータ入力のみであり、これに
対するブロックAのデータ出力がaビットより長い語長
のa+bビットのデータである場合には、高精度なデー
タ転送を行なうためには、ブロックAとブロックBとの
間にa+bビットのデータをaビットのデータに丸める
ための丸めブロックDが必要となる。この丸めブロック
Dは図8に示したように、インクリメンタを持つので、
ハードウエア規模の増大を招くことになる。しかも、こ
のインクリメンタは、比較的大きな遅延時間を有するの
で、半導体集積回路の高速化に対しても障害となってし
まう。
【0015】なお、この問題は、ブロック間の接続にフ
リップフロップを設けてLSIのサイクル時間を短くす
ることにより解消できるが、フリップフロップによるさ
らなるハードウエアの増大を招き、しかもブロック間の
転送時間は1サイクル遅れてしまうという問題がある。
【0016】
【発明が解決しようとする課題】上述したように、図7
および図8に示した従来の半導体集積回路では、高精度
なデータの転送を行ないたい場合には、データの丸めが
必要となり、この丸めのためのブロックを設けなければ
ならなくなり、かなりのハードウエア規模の増大を招
き、回路の動作が低速となってしまうという問題があ
る。
【0017】それゆえに、この発明の目的は、外部的に
生成される入力データよりも短い語長のデータ入力部を
持つ演算ブロックを含む半導体集積回路において、ハー
ドウエア規模を増大させることなく高精度かつ高速で演
算を行なうことである。
【0018】
【課題を解決するための手段】請求項1の発明に係る半
導体集積回路は、演算ブロック、丸め信号生成手段、お
よび加算手段を含む。演算ブロックは、外部的に生成さ
れる入力データよりも短い語長のデータ入力部を持つ。
丸め信号生成手段は、入力データのうちの符号ビットお
よび切り詰められる下位ビットを受けて桁上げを指示す
るための丸め信号を生成する。加算手段は、演算ブロッ
ク内に設けられ、丸め信号生成手段により生成された丸
め信号、および入力データのうちの切り詰められる下位
ビットを除いた上位ビットを受けて上位ビットと丸め信
号とを加算する。
【0019】請求項2の発明に係る半導体集積回路は、
演算ブロック、加算手段を含む。演算ブロックは外部的
に生成される入力データよりも短い語長のデータ入力部
を持つ。加算手段は、切り詰められる下位ビットのうち
の最上位ビット、および入力データのうちの切り詰めら
れる下位ビットを除いた上位ビットを受け、上位ビット
と下位ビットのうちの最上位ビットとを加算する。
【0020】請求項3に係る半導体集積回路は、演算ブ
ロック、判別手段、第1の丸め信号出力手段、第2の丸
め信号出力手段および加算手段を含む。演算ブロック
は、外部的に生成される入力データよりも短い語長のデ
ータ入力部を持つ。判別手段は、入力データのうちの符
号ビットに応答して、入力データが正の値か負の値のい
ずれであるかを判別する。第1の丸め信号出力手段は、
入力データが正の値であると判別された場合には、切り
詰められる下位ビットのうちの最上位ビットを丸め信号
として出力する。第2の丸め信号出力手段は、入力デー
タが負の値であると判別された場合には、切り詰められ
る下位ビットのうちの最上位ビットと、最上位ビットを
除くすべての下位ビットの論理和との論理積を丸め信号
として出力する。加算手段は、演算ブロック内に設けら
れ、第1または第2の丸め信号生成手段により生成され
た丸め信号および入力データのうちの切り詰められる下
位ビットを除いた上位ビットを受け、上位ビットと丸め
信号とを加算する。
【0021】
【作用】請求項1の発明では、丸め信号生成手段により
桁上げを指示するための丸め信号を生成し、加算手段は
丸め信号を桁上げ信号として上位ビットに対して加算を
行なう。このようにして得られる演算結果は、インクリ
メンタを行なったのと等価でありかつ高精度なものであ
る。このように、インクリメンタを設けないことによ
り、その分ハードウエア量を少なくすることができると
ともにブロック間の信号遅延をなくすことができる。
【0022】請求項2の発明では切り詰められる下位ビ
ットのうちの最上位ビットを桁上げ信号とし、加算手段
によりデータ入力部に与えられる上位ビットと桁上げ信
号とを加算する。このようにして、インクリメンタなし
で高精度な正の2進データを求めることができる。した
がって、請求項1の発明と同様にインクリメンタを設け
ない分、ハードウエア規模を小さくすることができると
ともにブロック間の信号遅延をなくすことができる。
【0023】請求項3の発明では判別手段により入力デ
ータが正の値か負の値であるかを判別する。そして、入
力データが正の値である場合には、第1の丸め信号出力
手段により切り詰められる下位ビットのうちの最上位ビ
ットを丸め信号として加算手段に与える。一方、入力デ
ータが負の値である場合には、第2の丸め信号出力手段
により切り詰められる下位ビットのうちの最上位ビット
と他のすべての下位ビットの論理和との論理積をとった
値を丸め信号として加算手段に与える。このようにして
得られた丸め信号と上位ビットとが加算手段により加算
されることにより、2の補数データに対する演算を高速
で行なうことができる。
【0024】
【実施例】
実施例1 図1は、この発明に係る半導体集積回路の一実施例を示
すブロック図である。図1を参照して、この半導体集積
回路100はa+bビットのデータを出力するブロック
A、aビットのデータを出力するブロックC、aビット
の2つのデータ入力部と丸め信号入力部を有する演算ブ
ロックB′、およびブロックAからの符号ビットおよび
下位bビットを受けて丸め信号を生成する丸め信号生成
回路14を含む。
【0025】ブロックAの出力するa+bビットのデー
タのうちの上位aビットは、信号線5によりそのままブ
ロックBのデータ入力端子に与えられる。a+bビット
のデータのうちの最上位ビットと下位のbビットはそれ
ぞれ信号線30と信号線6により丸め信号生成回路14
に入力される。この丸め信号生成回路14は、入力され
たデータに従って、1ビットの丸め信号を出力し、この
丸め信号は信号線7により、ブロックB′の丸め信号入
力端子に入力される。
【0026】図2は、図1に示した演算ブロックB′の
構成を示すブロック図である。ブロックB′は、加算器
10および内部処理回路11を含む。加算器10は、a
ビットの入力端子1および2と、桁上げ信号入力端子C
inと、サム出力端子Sとを有し、入力端子1および2
に与えられるaビットのデータと桁上げ信号入力端子C
inに入力される1ビットのデータとを加算する。内部
処理回路11は加算器10のサム出力端子Sからのデー
タに対して何らかの処理を行ない外部に出力する。
【0027】次に、図1および図2に示した半導体集積
回路の動作を説明する。ブロックAが出力したデータの
うちの下位bビットが切り捨てられるべきデータであっ
たとき、丸め信号生成回路14は、信号線7から、丸め
信号として“0”を出力する。加算器10は、ブロック
Aの出力のうちの上位aビットと、ブロックCの出力す
るaビットのデータをデータ入力端子1および2で受
け、桁上げ信号入力端子Cinに“0”を受けるので、
ブロックAの出力するデータの上位aビットとブロック
Cの出力するaビットのデータとを加算した結果を出力
する。この場合では、ブロックAの出力するデータを丸
めた値は上位aビットのデータに等しいので、加算器1
0が出力するデータは、ブロックAの出力したデータを
丸めたものとブロックCの出力するデータの加算結果に
等しい。したがって、図7に示した半導体集積回路と同
様に、データの転送とそれに対する加算が実現されてい
る。
【0028】次にブロックaが出力したデータのうちの
下位bビットが切り上げるべきデータであったとき、丸
め信号生成回路14は、信号線7から丸め信号として
“1”を出力する。加算器10は、ブロックAの出力の
うちの上位aビットと、ブロックCの出力するaビット
のデータとをデータ入力端子1および2で受け、桁上げ
信号入力端子Cinに“1”を受けるので、ブロックA
の出力するデータのうちの上位aビット、ブロックCの
出力するaビットのデータおよび桁上げ信号“1”を加
算した結果を出力する。この場合では、ブロックAが出
力したa+bビットのデータを丸めた結果はこのデータ
の上位aビットに“1”を加えたものとなるので、加算
器10が出力するデータは、ブロックAの出力したデー
タを丸めたものとブロックCの出力するデータの加算結
果に等しい。したがって、桁上げの場合にも、丸めを行
なったデータの転送とそれに対する加算が実現されてい
る。
【0029】図3は、図1に示した丸め信号生成回路の
一例を示す回路図である。図3を参照して、この丸め信
号生成回路14は、インバータ31、AND回路32お
よび34、NOR回路33および35を含む。
【0030】入力されるデータのうち、符号ビットはイ
ンバータ31とAND回路34に入力され、丸められる
ビットのうちの最上位のものはAND回路32および3
4に入力される。最上位ビットを除いた下位ビットは、
すべてOR回路33に入力される。インバータ31の出
力は、AND回路32に与えられ、OR回路33の出力
はAND回路34に与えられ、AND回路32および3
4の出力はOR回路35に与えられる。OR回路35の
出力する信号が丸め信号となる。
【0031】動作において、符号ビットが“0”の場合
すなわち、入力データが正の値である場合には、インバ
ータ31の出力は“1”となり、AND回路32は、丸
められる下位bビットのうちの最上位ビットの値に従っ
た論理を出力する。AND回路32の出力はOR回路3
5を通して演算ブロックB′の丸め信号入力端子に与え
られる。
【0032】一方、符号ビットが“1”の場合、すなわ
ち入力データが負の場合には、AND回路34は、OR
回路33の出力と丸められる下位ビットのうちの最上位
ビットとの論理積を取る。AND回路34の出力はOR
回路35を通して演算ブロックB′の丸め信号入力端子
に与えられる。
【0033】したがって、この丸め信号生成回路14は
符号ビットが“0”の場合には入力データが正の値であ
ると判別し、符号ビットが“1”の場合には入力データ
が負の値であると判別する。そして符号ビットが“0”
の時には、丸められるビットのうち最上位のものを丸め
信号として出力する。逆に、データが負の場合には、丸
められる信号が“100…0”のとき、丸め信号として
“0”を出力し、それ以外のときには丸められるビット
のうちの最上位ビットを丸め信号として出力する。この
ようにして生成される丸め信号を用いることにより正負
対称の四捨五入が実現される。
【0034】したがって、切り詰められるbビットのデ
ータに従った丸めとその丸め結果に対する加算が、加算
手段10により同時になされているので、高精度なデー
タのやりとりがわずかな回路の追加で実現されている。 実施例2 図4は、この発明の第2の実施例を示すブロック図であ
る。
【0035】図4を参照して、この半導体集積回路20
0と図1に示した半導体集積回路100とが異なるとこ
ろは、丸め信号生成回路に代えてブロックAの出力する
下位bビットのうちの最上位ビットのみをブロックB′
の丸め信号入力端子に与える信号線8を設けていること
である。その他の回路については、図1に示したものと
同様である。
【0036】以下、図4に示した半導体集積回路の動作
について説明する。ブロックAの出力するデータの下位
bビットのうちの最上位ビットが“0”のときは、ブロ
ックb′は、ブロックAの出力するデータの上位aビッ
トとブロックCの出力するaビットのデータとの加算を
行なう。一方、ブロックAの出力するデータの下位bビ
ットのうちの最上位ビットが“1”のときは、ブロック
B′は、ブロックAの出力するデータの上位aビット、
ブロックCの出力するaビットのデータおよび最上位ビ
ットの値“1”を加算する。すなわち、図4に示した実
施例では、丸められるビットのうちの最上位ビットをデ
ータに加算する丸め処理と、こうして丸められたデータ
に対する加算が実現されている。
【0037】この丸め方法では、丸められるデータが正
の2進数のときは四捨五入と等価の丸めがなされる。よ
って、図4に示した実施例においても、正の2進数に対
する丸めとその丸め結果に対する加算が同時になされる
ので、高精度なデータの転送が新たな回路の追加なしに
実現されている。
【0038】
【発明の効果】請求項1の発明であれば、インクリメン
タを設けることなく語長の異なる入力データに対して高
精度なデータを得ることができる。このようにインクリ
メンタを設けないことにより、その分ハードウエア量を
少なくすることができるとともにブロック間の信号遅延
をなくすことができる。
【0039】請求項2の発明によれば、正の2進数に対
する丸めとその丸め結果に対する加算が同時になされる
ので、高精度なデータの転送を丸め信号生成手段を設け
ることなく実現することができる。したがって、請求項
1の発明よりも構成を簡単化することができる。
【0040】請求項3の発明によれば、インクリメンタ
を設けることなく、2の補数データに対しても高精度な
データを得ることができる。したがって、ハードウエア
量を少なくすることができるとともにブロック間の信号
遅延をなくすことができる。
【図面の簡単な説明】
【図1】この発明の一実施例を示すブロック図である。
【図2】図1に示した演算ブロックの一例を示すブロッ
ク図である。
【図3】図1に示した丸め信号生成回路の一例を示す回
路図である。
【図4】この発明の第2の実施例を示すブロック図であ
る。
【図5】丸め処理が必要となる例としての固定小数点演
算を示す図である。
【図6】図5に示した演算を実行するための半導体集積
回路の概略構成を示すブロック図である。
【図7】丸め処理機能を有する半導体集積回路の従来例
を示すブロック図である。
【図8】図7に示した丸めブロックの構成を示すブロッ
ク図である。
【符号の説明】
A,C ブロック B′ 演算ブロック 7,8 丸め信号線 10 加算器 14 丸め信号生成回路 31 インバータ 32,34 AND回路 33,35 OR回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 外部的に生成される入力データよりも短
    い語長のデータ入力部を持つ演算ブロックを含み、入力
    データの下位ビットを切り詰めてデータ入力部に与える
    ようにした半導体集積回路であって、 前記入力データのうちの符号ビットおよび切り詰められ
    る下位ビットを受けて、桁上げを指示するための丸め信
    号を生成する丸め信号生成手段、 前記演算ブロック内に設けられ、前記丸め信号生成手段
    により生成された丸め信号、および前記入力データのう
    ちの前記切り詰められる下位ビットの除いた上位ビット
    を受け、上位ビットと丸め信号とを加算する加算手段を
    含むことを特徴とする半導体集積回路。
  2. 【請求項2】 外部的に生成される入力データよりも短
    い語長のデータ入力部を持つ演算ブロックを含み、入力
    データの下位ビットを切り詰めてデータ入力部に与える
    ようにした半導体集積回路であって、 前記切り詰められる下位ビットのうちの最上位ビット、
    および前記入力データのうちの前記切り詰められる下位
    ビットを除いた上位ビットを受け、前記上位ビットと前
    記下位ビットのうちの最上位ビットとを加算する加算手
    段を含むことを特徴とする半導体集積回路。
  3. 【請求項3】 外部的に生成される入力データよりも短
    い語長のデータ入力部を持つ演算ブロックを含み、入力
    データの下位ビットを切り詰めてデータ入力部に与える
    ようにした半導体集積回路であって、 前記入力データのうちの符号ビットに応答して、入力デ
    ータが正の値か負の値のいずれであるかを判別する判別
    手段、 入力データが正の値であると判別された場合には、前記
    切り詰められる下位ビットのうちの最上位ビットを丸め
    信号として出力する第1の丸め信号出力手段、 前記入力データが負の値であると判別された場合には、
    前記切り詰められる下位ビットのうちの最上位ビット
    と、最上位ビットを除くすべての下位ビットの論理和と
    の論理積を丸め信号として出力する第2の丸め信号出力
    手段、 前記演算ブロック内に設けられ、前記第1または第2の
    丸め信号生成手段により生成された丸め信号および前記
    入力データのうちの切り詰められる下位ビットを除いた
    上位ビットを受け、上位ビットと丸め信号とを加算する
    加算手段を含むことを特徴とする半導体集積回路。
JP5088564A 1993-04-15 1993-04-15 半導体集積回路 Withdrawn JPH06301516A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5088564A JPH06301516A (ja) 1993-04-15 1993-04-15 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5088564A JPH06301516A (ja) 1993-04-15 1993-04-15 半導体集積回路

Publications (1)

Publication Number Publication Date
JPH06301516A true JPH06301516A (ja) 1994-10-28

Family

ID=13946366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5088564A Withdrawn JPH06301516A (ja) 1993-04-15 1993-04-15 半導体集積回路

Country Status (1)

Country Link
JP (1) JPH06301516A (ja)

Similar Documents

Publication Publication Date Title
US6209017B1 (en) High speed digital signal processor
US4953115A (en) Absolute value calculating circuit having a single adder
JP2000259394A (ja) 浮動小数点乗算器
US5957996A (en) Digital data comparator and microprocessor
WO2019182943A1 (en) Stochastic rounding logic
JPS6125245A (ja) 丸め処理回路
US5402368A (en) Computing unit and digital signal processor using the same
JPH09222991A (ja) 加算方法および加算器
US6484193B1 (en) Fully pipelined parallel multiplier with a fast clock cycle
JPS6027024A (ja) 演算装置
JPH06301516A (ja) 半導体集積回路
US4041296A (en) High-speed digital multiply-by-device
JPH01220528A (ja) パリテイ発生器
JP2991788B2 (ja) 復号器
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
JP2734438B2 (ja) 乗算装置
JP2681968B2 (ja) 演算処理装置
KR0154934B1 (ko) 개선된 2의 보수회로
JP3482102B2 (ja) 絶対値距離演算回路
JPH113210A (ja) 3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法
JPH06348456A (ja) 1の補数の加算器および動作方法
JPS6134684A (ja) 2値情報計数装置
JPH0580978A (ja) 演算処理回路
JPH02238522A (ja) 絶対値演算回路
JPH06168101A (ja) 加算装置及び加算方法

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