(57)【特許請求の範囲】
【請求項１】
行列状に配列され、各々が絶縁層上に形成されて情報を不揮発的に記憶する複数のメモリセルを有するメモリアレイ、前記複数のメモリセルは、少なくとも２つのメモリセルが１つのユニット演算子セルを構成するように配置され、各前記ユニット演算子セルは、（ｉ）第１のゲート電極を有し、前記第１のゲート電極の電位に応じて選択的に導通し、導通時、第１の書込ポートの第１の書込データを転送する第１導電型の第１のＳＯＩトランジスタと、（ｉｉ）第２のゲート電極を有し、前記第２のゲート電極の電位に応じて選択的に導通し、導通時、第２の書込ポートの第２の書込データを転送する第１導電型の第２のＳＯＩトランジスタと、（ｉｉｉ）第３のゲート電極と前記第１のＳＯＩトランジスタを介して転送される第１の書込データを受ける第１のボディ領域を有し、基準電源と第１の読出ポートとの間に結合され、前記第３のゲート電極の電位と前記第１のボディ領域に蓄積される電荷量とに応じて流すことのできる電流量が設定される第２導電型の第３のＳＯＩトランジスタと、（ｉｖ）第４のゲート電極と前記第２のＳＯＩトランジスタを介して前記第２の書込データを受ける第２のボディ領域とを有し、前記第３のＳＯＩトランジスタと第２の読出ポートとの間に接続され、前記第４のゲート電極の電位と前記第２のボディ領域の蓄積電荷量に応じて流すことのできる電流量が設定される第２導電型の第４のＳＯＩトランジスタとを少なくとも含み、
前記ユニット演算子セル列に対応して配置され、各々が選択されたユニット演算子セルの記憶データ読出時の参照電流を供給する複数のダミーセルと、
前記ユニット演算子セル列に対応して配置され、各々に対応の列のユニット演算子セルが接続する複数の読出線とを備え、各前記読出線は、対応の列のユニット演算子セルの第１の読出ポートが接続される第１の読出ビット線と、対応の列のユニット演算子セルの第２の読出ポートが接続される第２の読出ビット線とを備え、
前記ユニット演算子セル列に対応して配置され各々に対応の列のダミーセルが接続する複数のダミー読出線を備え、前記複数の読出線およびダミー読出線は、所定数ごとに演算単位グループに分割され、
各前記ユニット演算子セル列に対応して配置される複数のセンス読出ビット線、
演算指示に従って、前記ユニット演算子セルの第１および第２の読出ビット線の一方を対応の列のセンス読出ビット線に結合するポート選択／スイッチ回路、
各前記ユニット演算子セル列に対応して配置され、各々が対応の列のセンス読出ビット線およびダミー読出線を流れる電流の差に応じた信号を生成する複数の増幅回路、および
前記演算単位グループに対応して配置され、データ書込時、各々が、与えられたデータに従って対応の演算単位グループのユニット演算子セルに対する前記第１および第２の書込データを生成するとともに、データ読出時、対応の増幅回路の出力信号に前記演算指示が指定する演算処理を実行する複数の単位演算処理回路を備える、半導体信号処理装置。
【請求項２】
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々に対応の行のユニット演算子セルの第１および第２ゲート電極が結合される複数の書込ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々に対応の行のユニット演算子セルの第３のＳＯＩトランジスタの第３ゲート電極が結合される複数の第１の読出ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルの第４ＳＯＩトランジスタの第４ゲート電極に結合される複数の第２の読出ワード線と、
前記ユニット演算子セル列に対応して列方向に延在して配置され、各々が対応の列のユニット演算子セルに対して前記第１の書込データを転送する複数の第１の書込データ線と、
前記ユニット演算子セル列に対応して列方向に延在して配置され、各々が対応の列のユニット演算子セルに対して前記第２の書込データを転送する複数の第２の書込データ線とをさらに備える、請求項１記載の半導体信号処理装置。
【請求項３】
各前記ユニット演算子セルにおいて、
前記第１のＳＯＩトランジスタは、列方向に長い矩形形状を有する第１のトランジスタ形成領域に形成され、第１の書込データが伝達される第１導電型の第１の不純物領域と、前記第１の不純物領域に隣接して配置される第２導電型の第２の不純物領域と、前記第２の不純物領域に隣接して配置されかつ前記第１のポートに結合される第１導電型の第３の不純物領域と、前記第２の不純物領域上に絶縁膜を介して行方向に延在して配置される第１のゲート電極層とを有し、
前記第２のＳＯＩトランジスタは、列方向に長い矩形形状を有し、前記第１のトランジスタ形成領域と分離して配置される第２のトランジスタ形成領域に形成され、第２の書込データが伝達される第１導電型の第４の不純物領域と、前記第４の不純物領域に隣接して配置される第２導電型の第５の不純物領域と、前記第５の不純物領域に隣接して配置される第１導電型の第６の不純物領域と、前記第５の不純物領域上に絶縁膜を介して配置される前記第１のゲート電極層とを有し、前記第１のゲート電極層は、前記第１および第２のゲート電極を構成し、
前記第３のＳＯＩトランジスタは、列方向に長い矩形形状を有し前記第２のトランジスタ形成領域に隣接して配置されるの第３のトランジスタ形成領域に形成され、前記第６の不純物領域に隣接して配置され、前記基準電圧源に結合される第２導電型の第７の不純物領域と、前記第７の不純物領域に隣接して配置されかつ行方向に前記第２のトランジスタ形成領域にまで延在して前記第６の不純物領域と整列するように配置されて前記第１のボディ領域を構成する第１導電型の第８の不純物領域と、前記第８の不純物領域と隣接して配置されて前記第１のポートに結合される第２導電型の第９の不純物領域と、前記第８の不純物領域上に絶縁膜を介してかつ行方向に延在して配置される第２のゲート電極層とを有し、前記第２のゲート電極層が前記第２のゲート電極を構成し、
前記第４のＳＯＩトランジスタは、前記第３のトランジスタ形成領域に形成され、前記第９の不純物領域と、前記第９の不純物領域に隣接して配置されるとともに前記６の不純物領域に隣接するように前記第２のトランジスタ形成領域まで行方向に延在して配置されて前記第２のボディ領域を構成する第１導電型の第１０の不純物領域と、前記第１０の不純物領域に隣接して配置されるとともに前記第２の読出ポートに結合される第２導電型の第１１の不純物領域と、前記第１０の不純物領域上に絶縁膜を介して行方向に延在して配置される第３のゲート電極層を有し、前記第３のゲート電極が前記第４のゲート電極を構成する、請求項１記載の半導体信号処理装置。
【請求項４】
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々に対応の行のユニット演算子セルの第１のＳＯＩトランジスタの第１のゲート電極が結合される複数の第１の書込ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々に対応の行のユニット演算子セルの第２のＳＯＩトランジスタの第２ゲート電極が結合される複数の第２の書込ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々に対応の行のユニット演算子セルの第３のＳＯＩトランジスタの第３ゲート電極が結合される複数の第１の読出ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々に対応の行のユニット演算子セルの第４のＳＯＩトランジスタの第４のゲート電極が結合される複数の第２の読出ワード線と、
前記ユニット演算子セル列に対応して列方向に延在して配置され、各々が対応の列のユニット演算子セルに対して前記第１の書込データを転送する複数の第１の書込データ線と、
前記ユニット演算子セル列に対応して列方向に延在して配置され、各々が対応の列のユニット演算子セルに対して前記第２の書込データを転送する複数の第２の書込データ線とをさらに備える、請求項１記載の半導体信号処理装置。
【請求項５】
各前記ユニット演算子セルにおいて、
前記第１のＳＯＩトランジスタは、列方向に長い矩形形状を有する第１のトランジスタ形成領域に形成され、列方向に延在して前記第１の書込データを転送する第１の書込データ線に結合される第１導電型の第１の不純物領域と、前記第１の不純物領域に隣接して配置される第２導電型の第２の不純物領域と、前記第２の不純物領域に隣接して配置される第１導電型の第３の不純物領域と、前記第２の不純物領域上に絶縁膜を介して行方向に延在して配置されて前記第１のゲート電極を構成する第１のゲート電極層とを有し、
前記第２のＳＯＩトランジスタは、列方向に長い矩形形状を有し、前記第１のトランジスタ形成領域と分離してかつ前記第１のトランジスタ形成領域と列方向において整列して配置される第２のトランジスタ形成領域に形成され、前記第２の書込データが伝達される第１導電型の第４の不純物領域と、前記第４の不純物領域に隣接して配置される第２導電型の第５の不純物領域と、前記第５の不純物領域に隣接して配置される第１導電型の第６の不純物領域と、前記第５の不純物領域上に絶縁膜を介して配置されて前記第２のゲート電極を構成する第２のゲート電極層と、列方向に延在する第２の書込データ線を介して転送される前記第２の書込データを前記第４の不純物領域に伝達する行方向に長い形状を有する第１導電型の第７の不純物領域とを有し、
前記第３のＳＯＩトランジスタは、列方向に長い矩形形状を有し前記第１および第２のトランジスタ形成領域に隣接して配置されるの第３のトランジスタ形成領域に形成され、前記第３の不純物領域に隣接して配置され、前記基準電圧源に結合される第２導電型の第８の不純物領域と、前記第８の不純物領域に隣接して配置されかつ行方向に前記第１のトランジスタ形成領域にまで延在して前記第３の不純物領域と連結するように配置されて前記第１のボディ領域を構成する第１導電型の第９の不純物領域と、前記第９の不純物領域と隣接して配置されて前記第１の読出ポートに結合される第２導電型の第１０の不純物領域と、前記第９の不純物領域上に絶縁膜を介してかつ行方向に延在して配置されて前記第３のゲート電極を構成する第３のゲート電極層とを有し、
前記第４のＳＯＩトランジスタは、前記第３のトランジスタ形成領域に形成され、前記第１０の不純物領域と、前記第１０の不純物領域に隣接して配置されるとともに前記６の不純物領域に隣接するように前記第２のトランジスタ形成領域まで行方向に延在して配置されて前記第２のボディ領域を構成する第１導電型の第１１の不純物領域と、前記第１１の不純物領域に隣接して配置されるとともに前記第２の読出ポートに結合される第２導電型の第１２の不純物領域と、前記第１１の不純物領域上に絶縁膜を介して行方向に延在して配置されて前記第４のゲート電極を構成する第４のゲート電極層を有する、請求項１記載の半導体信号処理装置。
【請求項６】
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルの第１のＳＯＩトランジスタの第１のゲート電極に結合される複数の第１の書込ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルの第２のＳＯＩトランジスタの第２のゲート電極に結合される複数の第２の書込ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルの第３のＳＯＩトランジスタの第３のゲート電極に結合される複数の第１の読出ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々に対応の行のユニット演算子セルの第４のＳＯＩトランジスタの第４のゲート電極が結合される複数の第２の読出ワード線と、
前記ユニット演算子セル列に対応して列方向に延在して配置され、各々が対応の列ユニット演算子セルに対して前記第１の書込データを転送する複数の第１の書込データ線と、
前記ユニット演算子セル列に対応して列方向に延在して配置され、各々が対応の列のユニット演算子セルに対して前記第２の書込データを転送する複数の第２の書込データ線と、
前記ユニット演算子セル列に対応して列方向に延在して配置され、各々が対応の列のユニット演算子セルに対して第３の書込データを転送する第３の書込データ線とをさらに備え、
各前記ユニット演算子セルは、さらに、
前記絶縁層上に形成され、対応の第１の書込ワード線上の信号に従って選択的に導通し、導通時、対応の第３の書込データ線を介して伝達される第３の書込データを転送する第１導電型の第３のＳＯＩトランジスタと、
前記絶縁層上に形成され、前記第４のＳＯＩトランジスタと前記第２の読出ポートとの間に接続され、前記第３のＳＯＩトランジスタを介して転送される第３の書込データに従って電位が設定される第３のボディ領域を有し、前記第２の読出ワード線上の信号に従って選択的に導通し、導通時、前記第１および第３のボディ領域の電位に応じて前記基準電源から前記第２の読出ポートに電流を供給する第２導電型の第６のＳＯＩトランジスタとを備える、請求項１記載の半導体信号処理装置。
【請求項７】
各前記ユニット演算子セルは、さらに、
第５のゲート電極を有し、前記第５のゲート電極の電位に従って選択的に導通し、導通時、第３の書込ポートに与えられた第３の書込データを転送する第１導電型の第５のＳＯＩトランジスタと、
第６のゲート電極と前記第５のＳＯＩトランジスタを介して転送される第３の書込データが伝達される第３のボディ領域とを有し、前記第１のＳＯＩトランジスタと前記第２の読出ポートとの間に接続され、前記第６のゲート電極の電位と前記第３のボディ領域の電位に従って流すことのできる電流量が設定される第２導電型の第６のＳＯＩトランジスタを備え、
各前記ユニット演算子セルにおいて、
前記第１のＳＯＩトランジスタは、列方向に長い矩形形状を有する第１のトランジスタ形成領域に形成され、列方向に延在する第１の書込データ線を介して前記第１の書込データが伝達される第１導電型の第１の不純物領域と、前記第１の不純物領域に隣接して配置される第２導電型の第２の不純物領域と、前記第２の不純物領域に隣接して配置される第１導電型の第３の不純物領域と、前記第２の不純物領域上に絶縁膜を介して行方向に延在して配置される第１のゲート電極層とを有し、
前記第２のＳＯＩトランジスタは、列方向に長い矩形形状を有し、前記第１のトランジスタ形成領域と分離してかつ前記第１のトランジスタ形成領域と列方向において整列して配置される第２のトランジスタ形成領域に形成され、前記第２の書込データが伝達される第１導電型の第４の不純物領域と、前記第４の不純物領域に隣接して配置される第２導電型の第５の不純物領域と、前記第５の不純物領域に隣接して配置される第１導電型の第６の不純物領域と、前記第５の不純物領域上に絶縁膜を介して配置されて前記第２のゲート電極を構成する第２のゲート電極層と、前記第４の不純物領域に列方向に延在して配置される第２の書込データ線を介して転送される前記第２の書込データを伝達する行方向に長い形状を有する第１導電型の第７の不純物領域とを有し、
前記第３のＳＯＩトランジスタは、列方向に長い矩形形状を有し前記第１および第２のトランジスタ形成領域に隣接して配置されるの第３のトランジスタ形成領域に形成され、前記第３の不純物領域に隣接して配置され、前記基準電圧源に結合される第２導電型の第８の不純物領域と、前記第８の不純物領域に隣接して配置されかつ行方向に前記第１のトランジスタ形成領域にまで延在して前記第３の不純物領域と連結するように配置されて前記第１のボディ領域を構成する第１導電型の第９の不純物領域と、前記第９の不純物領域と隣接して配置されて前記第１の読出ポートに結合される第２導電型の第１０の不純物領
域と、前記第９の不純物領域上に絶縁膜を介して配置されて前記第３のゲート電極を構成する第３のゲート電極層とを有し、
前記第４のＳＯＩトランジスタは、前記第３のトランジスタ形成領域に形成され、前記第１０の不純物領域と、前記第１０の不純物領域に隣接して配置されるとともに前記６の不純物領域に隣接するように前記第２のトランジスタ形成領域まで行方向に延在して配置されて前記第２のボディ領域を構成する第１導電型の第１１の不純物領域と、前記第１１の不純物領域に隣接して配置されるとともに前記第２の読出ポートに結合される第２導電型の第１２の不純物領域と、前記第１１の不純物領域上に絶縁膜を介して行方向に延在して配置されて前記第４のゲート電極を構成する第４のゲート電極層を有し、
前記第５のＳＯＩトランジスタは、前記第１および第２のトランジスタ形成領域と離れて配置される、列方向に長い矩形形状の第４のトランジスタ形成領域に形成され、列方向に延在して配置されて前記第３の書込データを転送する第３の書込データ線に結合される第１導電型の第１３の不純物領域と、前記第１３の不純物領域に隣接して配置される第２導電型の第１４の不純物領域と、前記第１４の不純物領域に隣接して配置される第１導電型の第１５の不純物領域と、前記第１４の不純物領域上に絶縁膜を介して形成される前記第１のゲート電極層とを有し、前記第１のゲート電極層が前記第１および第５のゲート電極を構成し、
前記第６のＳＯＩトランジスタは、前記第１から第３のトランジスタ形成領域と離れて配置される列方向に長い矩形形状の第４のトランジスタ形成領域に形成され、前記第２の読出ポートに結合される第２導電型の第１６の不純物領域と、前記第１６の不純物領域に隣接して配置されて前記第３のボディ領域を構成する第１導電型の第１７の不純物領域と、前記第１７の不純物領域に隣接して配置されかつ前記第２の読出ポートに結合される第２導電型の第１８の不純物領域と、前記第１７の不純物領域上に絶縁膜を介して配置される前記第４のゲート電極層とを有し、前記第４のゲート電極層が前記第４および第６のゲート電極を構成する、請求項１記載の半導体信号処理装置。
【請求項８】
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルの第１のＳＯＩトランジスタの第１のゲート電極に結合される複数の第１の書込ワード線と、
列方向に延在してかつ前記ユニット演算子セル行に対応して配置され、各々が対応の行の第１の書込ワード線に結合されて対応の行の第１の書込ワード線に行選択信号を伝達する複数のローカル書込ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルの第２のＳＯＩトランジスタの第２のゲート電極に結合される複数の第２の書込ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルの第３のＳＯＩトランジスタの第３のゲート電極に結合される複数の第１の読出ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルの第４のＳＯＩトランジスタの第４のゲート電極に結合される複数の第２の読出ワード線と、
前記ユニット演算子セル行に対応して行方向に延在して配置され、各々が対応の行のユニット演算子セルに対して第１の相補書込データを転送する複数の第１の書込データ線対と、
前記ユニット演算子セル列に対応して列方向に延在して配置され、各々が対応の列のユニット演算子セルに対して第２の相補書込データを転送する複数の第２の書込データ線対とをさらに備え、
各前記ユニット演算子セルは、行方向において整列して交互に配置される第１および第２のユニット演算子セルを備え、
前記第１のユニット演算子セルは、前記第１の書込データ線対の一方の書込データ線を介して第１の書込データを受け、かつ前記第２の書込データ線対の一方の書込データ線を介して第２の書込データを受け、
前記第２のユニット演算子セルは、前記第２の書込データ線対の他方の書込データ線を介して第１の書込データを受け、かつ前記第２の書込データ線対の他方の書込データ線を介して第２の書込データを受ける、請求項１記載の半導体信号処理装置。
【請求項９】
各前記ユニット演算子セルにおいて、
前記第１のＳＯＩトランジスタは、列方向に長い矩形形状を有する第１のトランジスタ形成領域に形成され、行方向に延在する第１の書込データ線を介して転送される第１の書込データが伝達される第１導電型の第１の不純物領域と、前記第１の不純物領域に隣接して配置される第２導電型の第２の不純物領域と、前記第２の不純物領域に隣接して配置される第１導電型の第３の不純物領域と、前記第２の不純物領域上に絶縁膜を介して行方向に延在して配置されるとともに列方向に延在して配置されるローカル書込ワード線に結合されて前記第１のゲート電極を構成する第１のゲート電極層とを有し、
前記第２のＳＯＩトランジスタは、列方向に長い矩形形状を有し、前記第１のトランジスタ形成領域と分離してかつ前記第１のトランジスタ形成領域と列方向において整列して配置される第２のトランジスタ形成領域に形成され、列方向に延在する第２の書込データ線を介して転送される第２の書込データが伝達される第１導電型の第４の不純物領域と、前記第４の不純物領域に隣接して配置される第２導電型の第５の不純物領域と、前記第５の不純物領域に隣接して配置される第１導電型の第６の不純物領域と、前記第５の不純物領域上に絶縁膜を介して行方向に延在して配置されて前記第２のゲート電極を構成する第２のゲート電極層とを有し、
前記第３のＳＯＩトランジスタは、列方向に長い矩形形状を有し前記第１および第２のトランジスタ形成領域に隣接して配置されるの第３のトランジスタ形成領域に形成され、前記第３の不純物領域に隣接して配置され、基準電圧源に結合される第２導電型の第８の不純物領域と、前記第８の不純物領域に隣接して配置されかつ行方向に前記第１のトランジスタ形成領域にまで延在して前記第３の不純物領域と連結するように配置されて前記第１のボディ領域を構成する第１導電型の第９の不純物領域と、前記第９の不純物領域と隣接して配置されて対応の第１の読出ポートに結合される第２導電型の第１０の不純物領域と、前記第９の不純物領域上に絶縁膜を介してかつ行方向に延在して配置されて前記第３のゲート電極を構成する第３のゲート電極層とを有し、
前記第４のＳＯＩトランジスタは、前記第３のトランジスタ形成領域に形成され、前記第１０の不純物領域と、前記第１０の不純物領域に隣接して配置されるとともに前記６の不純物領域に隣接するように前記第２のトランジスタ形成領域まで行方向に延在して配置されて前記第２のボディ領域を構成する第１導電型の第１１の不純物領域と、前記第１１の不純物領域に隣接して配置されるとともに前記第２の読出ポートに結合される第２導電型の第１２の不純物領域と、前記第１１の不純物領域上に絶縁膜を介して行方向に延在して配置されて前記第４のゲート電極を構成する第４のゲート電極層を有し、
行方向において整列して配置されるユニット演算子セルにおいて隣接して配置されるユニット演算子セルに対しては、相補な第１の書込データおよび相補な第２の書込データが転送されて、対応の第１および第２のボディ領域に格納される、請求項１記載の半導体信号処理装置。
【請求項１０】
各前記単位演算処理回路は、
対応の演算単位グループにユニット演算子セル列各々に対応して設けられ、データ書込時、各々が与えられたデータの反転データおよび非反転データのいずれかを選択して対応の列のユニット演算子セルに対する第１および第２の書込データを生成する書込データ選択回路を備える、請求項１記載の半導体信号処理装置。
【請求項１１】
各前記単位演算処理回路は、
各々が、対応の演算単位グループに対して配置される増幅回路の出力信号に対して組合せ論理演算処理を行なう、互いに処理ビット数の異なる複数の論理演算ゲートと、
選択信号に従って、前記複数の論理演算ゲートの出力信号を選択する出力選択器とを備える、請求項１記載の半導体信号処理装置。
【請求項１２】
各々が、第２の所定数の演算単位グループに対応して配置され、対応の第２の所定数の演算グループの前記出力選択器により選択された出力信号について加減算処理を実行する多ビット加減算器をさらに備える、請求項１１記載の半導体信号処理装置。
【請求項１３】
前記複数のユニット演算子セルの選択行のユニット演算子セルに対する書込と並行して前記選択行と異なる別の第２の行に対してデータの読出を行なう制御を実行する書込／読出制御回路をさらに備える、請求項１記載の半導体信号処理装置。
【請求項１４】
前記複数のユニット演算子セル列に対して共通に配置される一致線と、
前記単位演算処理回路に対応して配置され、対応の単位演算処理回路の出力信号に従って前記一致線を選択的に基準電位源に結合するトランジスタ素子とをさらに備える、請求項１記載の半導体信号処理装置。
【請求項１５】
データ書込時、データワードビットがシリアルに転送されるビットシリアル態様かつ複数のデータワードがパラレルに転送されるワードパラレル態様で書込データを前記単位演算処理回路それぞれへ供給するデータ入力回路をさらに備える、請求項１記載の半導体信号処理装置。
【請求項１６】
前記複数のユニット演算子セルは、列方向に沿って複数のエントリに分割され、
前記データ書込時、順次異なるエントリを選択してデータの書込および読出を異なるエントリに対して並行してそれぞれ実行する書込／読出制御回路をさらに備える、請求項１５記載の半導体信号処理装置。
【請求項１７】
前記複数のユニット演算子セルは、各々に多ビットデータの異なるビットが割当てられる複数のサブアレイブロックに分割され、
前記半導体信号処理装置は、
前記複数のサブアレイに共通に配置され、列方向に延在して前記第１の書込データを転送する第１の書込データ線と、
行方向に延在してユニット演算子セル行に対応して配置され前記第２の書込データを転送する第２の書込データ線と、
前記複数のサブアレイブロックに共通にかつ各前記ユニット演算子セル列に対応して配置され、対応の列の増幅回路から出力される信号が読出される複数のグローバル読出データ線と、
前記複数のグローバル読出データ線に対応して配置され、対応のグローバル読出データ線のデータを増幅する複数のメインアンプと、
前記複数の単位演算処理回路に共通に配置されるマッチ線と、
各サブアレイブロックに対応して配置され、対応のユニット演算子セル行を選択して選択行のユニット演算子セルに対して第１の書込データを書込む書込ワード線選択回路と、
前記複数のサブアレイブロック各々から並行してユニット演算子セル行を選択して、該選択行のユニット演算子セルに対して第２の書込データ線を介して第２の書込データを書込むとともに、選択されたユニット演算子セルの記憶する第１および第２の書込データに応じた信号を前記増幅回路を介して対応のグローバル読出データ線へ伝達する行選択駆動回路とさらに備え、
各前記単位演算処理回路は、前記第１の書込データ線を介して第１の書込データを転送する書込ドライバと、
前記第２の書込データ線を介して第２の書込データ線を転送するデータ線ドライバとを対応のメインアンプの出力信号に従って前記マッチ線を駆動するゲート回路を備える、請求項１記載の半導体信号処理装置。
【請求項１８】
前記ポート選択／スイッチ回路は、
前記第１の読出ポートを対応のセンス読出ビット線に接続する選択回路と、
前記第２の読出ポートを前記基準電源と同一レベルの電圧を供給する共通ソース線に接続するスイッチ回路とを備える、請求項１記載の半導体信号処理装置。
【請求項１９】
前記単位演算処理回路は、
対応の増幅器からの出力信号を隣接する単位演算処理回路へ転送するゲートと、
前記ゲートからの転送データを選択して対応の演算単位グループに対する前記第１および第２の書込データを生成する選択／書込回路を備える、請求項１記載の半導体信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体信号処理装置に関し、特に、半導体メモリを用いた演算回路を含む半導体信号処理装置の構成に関する。
【背景技術】
【０００２】
処理システムの小型・軽量化および高速処理を実現するために、メモリとロジック（処理装置）とが同一半導体基板上に集積化されたＳＯＣ（システム・オン・チップ）と呼ばれるシステムＬＳＩ（大規模集積回路装置）が広く用いられてきている。システムＬＳＩにおいては、メモリとロジックとがチップ上配線で接続されるため、高速で大量のデータを転送することができ、高速処理が可能となる。このようなシステムＬＳＩへの組込に適した半導体メモリとして、非特許文献１（K. Arimoto et. al., "A Configurable Enhanced TTRAM Macro for System-Level Power Management Unified Memory", 2006 Symposium on VLSI Circuits, Digest of Technical Papers, June 2006) において、ＴＴＲＡＭ（ツイン・トランジスタ・ランダム・アクセス・メモリ）が提案されている。
【０００３】
この非特許文献１においては、ＳＯＩ（シリコン・オン・インシュレータ：Silicon on Insulator）構造のトランジスタを利用して、データを不揮発的に記憶する。データ記憶用のＳＯＩトランジスタのボディ領域に電荷を蓄積することにより、データ記憶用トランジスタのしきい値電圧を変更し、記憶データをしきい値電圧情報に変換する。データ読出時には、アクセストランジスタをオン状態として、ソース線とビット線との間にデータ記憶用トランジスタを結合する。このビット線に流れる電流量が、データ記憶用トランジスタのしきい値電圧に応じて異なるため、ビット線電流を検出することによりデータの読出を行なう。
【０００４】
この非特許文献１の構成においては、ＳＯＩ構造のトランジスタのボディ領域に電荷を蓄積するため、データを不揮発的に記憶することができる。また、ボディ領域の電荷は保存されるため、データを非破壊的に読出すことができ、ＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）などと異なり、記憶データを再書き込みするリストア動作が不要となり、読出サイクル時間を短縮することができる。また、データ読出時は、電流検出により行なわれるため、低電源電圧下においても高速でデータ読出を行なうことができる。
【０００５】
また、メモリセルは２個のトランジスタで構成され、メモリセルの占有面積を低減することができ、高密度でメモリセルを配置することができる。また、ＳＯＩ構造のトランジスタのボディ領域に電荷を蓄積しており、低電源電圧下においても安定にデータを保存することができる。
【０００６】
一方、携帯端末機器などのモバイル用途においては、音声および／画像のような大量のデータを高速に処理するデジタル信号処理の重要性が高まってきている。従来のＣＰＵ（中央演算処理装置）およびＤＳＰ（デジタル信号処理装置）を用いたソフトウェアベースの処理では、現状のマルチメディア処理で要求される性能を達成することができない。このため、ハードウェアロジックでの処理が、一般的に行なわれる。
【０００７】
しかしながら、半導体プロセスの微細化およびシステムの複雑化に伴って、半導体プロセスコストの上昇、設計期間および検証期間の長期化およびそれに伴うコスト増大という問題が生じる。そのため、ソフトウェアの置き換えにより、種々の大規模なデータ処理を高速で行なうことが強く要求されてきている。また、当然、組込用途という側面から、低消費電力で高い処理能力、すなわち高エネルギ処理能力が強く要求されてきている。
【０００８】
このような要求を満たすものとして、半導体メモリアレイの各メモリセル列に対応して演算器を配置し、複数の演算器において並列に演算処理を行なう構成が、特許文献１（特開２００６−９９２３２号公報）に示されている。この特許文献１に示される構成においては、演算処理内容は、マイクロプログラムの内容を変更することにより設定することができる。この特許文献１に示される構成においては、メモリアレイと演算器との間のデータ転送部にデータ転送回路として、各メモリセル列に対応してセンスアンプおよびライトドライバが配置される。メモリセルは、演算対象データおよび演算結果データを格納するために利用される。
【０００９】
特許文献１に示される構成においては、ＳＩＭＤ（シングル・インストラクション・マルチプル・データ・ストリーム：Single Instruction Multiple Data Stream）演算器とメモリとを密に結合させて、メモリ−プロセッサ間のデータ転送のボトルネックを解消しかつ超並列演算により、ハードウェアに近い演算性能を実現することを図る。
【００１０】
この特許文献１の構成は、１ビットまたは２ビットの細粒度プロセシングエレメントを利用することおよびこの演算器がメモリからのビット単位のデータをベースに演算を実施することを特徴としている。すなわち、特許文献１の構成においては、複数の演算器がビットシリアル態様で並列に演算を実行することにより、高性能演算処理を実現する。
【００１１】
また、このような演算器を設けることなく、メモリセルに演算機能を持たせる構成が、特許文献２（特開２００４−２６４８９６号公報）に示されている。この特許文献２に示される構成においては、ビット線対の間にデータを記憶する記憶キャパシタおよび負荷キャパシタを直列に接続する。この強誘電体キャパシタの直列体の両端に参照電圧および演算データを印加し、これらの強誘電体キャパシタの接続ノードから演算結果を出力する。この特許文献２においては、強誘電体キャパシタの分極のヒステリシスを利用し、記憶データと演算データとの論理値の一致／不一致に応じて、移動電荷量が異なることを利用する。
【００１２】
また、１つの強誘電体キャパシタを用いて記憶データと書込データとの演算を実行する構成が、特許文献３（特開２００７−２１３７４７号公報）に示される。この特許文献３に示される構成においては、ビット線対の一方に、演算データの論理値に応じてワンショットパルス信号を印加し、このビット線対の他方の電位をセンスアンプで増幅する。この特許文献３においても、強誘電体キャパシタの記憶データと演算データとの論理値の一致／不一致により、移動電荷量が異なることを利用する。
【００１３】
また、ＳＲＡＭ（スタティック・ランダム・アクセス・メモリ：Static Random Access Memory）セルに演算機能を持たせる構成が、特許文献４（特開平７−２４９２９０号公報）に示される。この特許文献４に示される構成においては、ＳＲＡＭセルのアクセストランジスタを、互いに独立にオン／オフ制御可能とし、また、ハイ側セル電源電圧およびロー側セル電源電圧も行単位で制御する。ビット線の接続、アクセストランジスタのオン／オフ制御およびハイ側およびロー側セル電源電圧の制御を組合せることにより、各種論理演算を実行することを図る。
【００１４】
また、ＤＲＡＭセル（ダイナミック・ランダム・アクセス・メモリ・セル）を用いて、メモリセルの記憶データの演算処理をセンスアンプにおいて実行する構成が、特許文献５（特開平８−３１１６８号公報）に示される。この特許文献５に示される構成においては、複数のメモリセルと複数のダミーセルとをビット線対の異なるビット線に結合する。これらの複数のダミーセルの記憶データを中間値、“１”、および“０”のいずれかに設定することにより、複数のメモリセルの記憶データに対する論理演算を実行する。
【００１５】
また、メモリセルを用いて演算を行なう構成が、特許文献６（特開平７−１８２８７４号公報）に示される。この特許文献６に示される構成においては、演算回路は、ビット線及びスタティックな記憶回路に接続され、演算結果出力端子を有する。演算回路は、ビット線から入力された入力データと記憶回路に記憶された記憶データとの１ビットの算術演算あるいは論理演算を実行し、該演算結果を演算結果出力端子から出力する。
【００１６】
また、メモリセルを用いて演算を行なう構成が、特許文献７（特開２０００−２８４９４３号公報）に示される。この特許文献７に示される構成においては、半導体メモリは、複数のメモリセルと、Ｘアドレスに対応するワード線と、Ｙアドレスに対応するペアビット線とを有する。論理演算回路が、ペアビット線ごとに設けられ、これらの複数の論理演算回路が、論理選択信号に従って同時に活性化される。論理演算回路の演算結果は、少なくとも１つの選択Ｘアドレス上の全Ｙアドレスに同時に書込まれる。論理演算回路をペアビット線ごとに設けることにより、全ペアビット線のデータを同時に演算することができ、多数データの演算を短時間で実行することを図る。
【００１７】
論理仕様をプログラムすることにより、種々の論理回路を実現するロジックデバイスとして、ＬＵＴ（Look Up Table）を搭載したＦＰＧＡ（Field Programmable Gate Array）がある。たとえば、Ｎビット×Ｍビットの容量を有するメモリを用いれば、Ｎビットの入力データに対してＭビットのデータを出力する論理関数機能を持つＬＵＴ演算器を実現することができる。このメモリとしてＦＰＧＡを用いることにより、プログラマブルなＬＵＴ演算器を実現することができる。しかしながら、このような従来のＬＵＴ演算器では、実現できる論理関数がメモリ容量に直接、制約されてしまう。
【００１８】
また、複数の機能を実現するＬＵＴ（Look Up Table）演算器が、特許文献８（特開２００７−２２６９４４号公報）に示される。この特許文献８に示される構成においては、メモリセルは、自身に接続する制御信号線が活性化されると、モード制御信号に応じてデータの読み書きと、演算対象データの演算結果を構成する所定値の出力とのいずれか一方を実行する。アドレスデコーダは、データの書込アドレス、データの読出アドレスまたは演算対象データを受付け、モード制御信号が、データの書込、データの読出または演算処理のいずれを指定するかに応じて、入力されたアドレス／データに対応する制御信号線を活性化する。このような構成により、真理値表のデータを格納するメモリセルを用意することなく回路規模が維持され、かつ２つの独立した演算機能を有するＬＵＴ演算器を実現することを図る。
【００１９】
また、組込み用途に適した不揮発性メモリの一例として、ＭＲＡＭを利用する構成が非特許文献２（T. Tsuji, et al., "A 1.2V 1Mbit Embedded MRAM core with Folded Bit-Line Array Architecture", Symposium on VLSI Digest of Technical Papers, June 2004）に記載されている。この非特許文献２においては、ビット線および書込ワード線を介して流れる電流により誘起される磁界により、ＭＴＪ素子（磁気トンネル接合素子）の自由層の磁化方向を設定して、磁気抵抗効果を利用して抵抗値を変化させる。このＭＴＪ素子の抵抗値を記憶データに対応付ける。
【特許文献１】特開２００６−９９２３２号公報
【特許文献２】特開２００４−２６４８９６号公報
【特許文献３】特開２００７−２１３７４７号公報
【特許文献４】特開平７−２４９２９０号公報
【特許文献５】特開平８−３１１６８号公報
【特許文献６】特開平７−１８２８７４号公報
【特許文献７】特開２０００−２８４９４３号公報
【特許文献８】特開２００７−２２６９４４号公報
【非特許文献１】K. Arimoto et. al., "A Configurable Enhanced TTRAM Macro for System-Level Power Management Unified Memory", 2006 Symposium on VLSI Circuits,Digest of Technical Papers, June 2006
【非特許文献２】T. Tsuji, et al., "A 1.2V 1Mbit Embedded MRAM core with Folded Bit-Line Array Architecture", Symposium on VLSI Digest of Technical Papers, June 2004
【発明の開示】
【発明が解決しようとする課題】
【００２０】
上述の特許文献２から７に示される構成においては、メモリセルまたはセンスアンプを用いて論理演算を実行している。これにより、メモリセルの記憶データをメモリ外部に読出して、別途設けられた演算器により演算処理を行なう必要性をなくし、演算処理を高速化することを図る。
【００２１】
また、これらの特許文献２から５に示される構成においては、各メモリセル列ごとに演算を行なっているため、ハードウェアの大きな追加なしで、細粒度の演算を実現することが可能である。
【００２２】
しかしながら、特許文献２に示される構成のように、２つの直列接続される強誘電体キャパシタを用いる場合、非破壊読出を行なうことが可能であることが記載されているものの、演算処理時における強誘電体キャパシタのヒステリシス特性の歪を回避するために、演算処理後に演算データと逆のデータの書込を行なって、リストア動作を行なっている。したがって、演算時において、演算データの転送、演算およびリストア動作が必要とされ、このリストア動作により演算サイクルを短くすることができず、高速動作を実現するのが困難となる。
【００２３】
また、特許文献３に示される構成においては、１つの強誘電体キャパシタと２つのトランスファーゲートとが、１つの演算子セルとして利用されているものの、演算時には強誘電体キャパシタの記憶データは、破壊的に読出される。したがって、同一データに対し異なる演算データを組合わせて演算処理を実行することができない。
【００２４】
また、特許文献２および３のように、強誘電体キャパシタを利用する場合、この強誘電体キャパシタの分極状態に応じた電荷の移動を利用している。したがって、センスアンプで、この移動電荷量を検出するためには、ある大きさの電荷量を移動させる必要がある。このため、十分な量の電荷を移動させるために、キャパシタサイズはある大きさが必要とされ、高集積化する上での１つの障害となる。
【００２５】
特許文献４および６においては、ＳＲＡＭセルを用いており、トランジスタ素子数が多く、セルサイズが、他のＭＲＡＭセル、ＤＲＡＭセルに比べて大きい。このため、大容量のメモリアレイを小占有面積で実現するのが困難であり、携帯機器などにおいて大量のデータを処理する用途に適用するのが困難である。
【００２６】
特許文献５に示される構成においては、ＤＲＡＭセルが用いられており、セルサイズを小さくすることは可能である。しかしながら、ＤＲＡＭセルにおいては、データは破壊的に読出される。特に、この特許文献５のように複数のメモリセルを並行して１つのビット線に結合した場合、その記憶データは完全に破壊される。従って、特許文献３の場合と同様、メモリセルの記憶データを繰り返し利用して演算を実行することができなくなる。
【００２７】
また、特許文献７に示される構成のように、ペアビット線ごとに論理演算回路を設けると、大容量のメモリアレイを小占有面積で実現するのが困難である。
【００２８】
また、特許文献８に示される構成のように、メモリセルを多機能化する方法では、記憶容量の増大によってメモリアレイの占有面積が大幅に増加してしまう。
【００２９】
また、強誘電体キャパシタおよびＤＲＡＭセルを利用する場合、データを検知し増幅するセンスアンプは、電圧検出型のセンスアンプである。したがって、センスアンプのセンスノードに電圧差が十分に生じるまで、センス動作を行なうことができない。従って、この電圧検出型センスアンプは、電流検出型センスアンプに比べて、センス動作が遅く、高速に演算結果を出力することができず、高速の演算処理を実現するのが困難となるという問題が生じる。
【００３０】
また、モバイル機器などにおいては、低電源電圧で動作することが要求される。したがって、キャパシタを用いて電荷を移動させて演算処理を行なう場合、このような低電源電圧下においては十分な量の電荷を移動させることができず、正確な演算処理を保障することができなくなるという問題が生じる。
【００３１】
また、非特許文献１においては、システム電源管理においてＤＦＶ（ダイナミック・周波数および電圧）制御方式を適用することを意図することが、記載されている。しかしながら、この非特許文献１においては、メモリセルを利用して演算を行なう構成については、考察されていない。
【００３２】
また、これらの特許文献１から５および非特許文献１においては、演算はデジタル的に実行されている。例えば、加算を行う場合、デジタル的に実行すれば、下位のキャリーが確定するまでに上位ビットの演算は実行することができない。このため、デジタル的に算術演算を高速で行なうことができないという問題が生じる。これらの文献においては、高速で加減算などの算術演算を実行するための回路的工夫については、何ら示されていない。
【００３３】
また、これらの文献においては、記憶装置のアドレス空間は、一意的に定められており、アドレス空間を拡張する構成については何ら考慮していない。
【００３４】
また、非特許文献２においては、ＭＲＡＭセルの構成およびデータ読出の構成が示されているだけであり、記憶データの内部での演算については、何ら説明していない。
【００３５】
それゆえ、この発明の目的は、小占有面積で、低電源電圧下においても高速に演算処理を行なうことのできる半導体信号処理装置を提供することである。
【００３６】
この発明の他の目的は、演算機能を有する高密度の半導体信号処理装置を提供することである。
【課題を解決するための手段】
【００３７】
この発明に従う半導体信号処理装置は、要約すれば、記憶データに応じて流すことのできる電流量が設定される不揮発性メモリセルを用い、電流により内部読出データを生成して、内部で必要とされる処理をこの内部読出データに対して実行する。
【００３８】
この発明の１実施の形態に係る半導体信号処理装置は、行列状に配列され、各々が絶縁層上に形成されて情報を不揮発的に記憶する複数のメモリセルを有するメモリアレイを含む。これらの複数のメモリセルは、少なくとも２つのメモリセルが１つのユニット演算子セルを構成するように配置される。各ユニット演算子セルは、少なくとも第１から第４のＳＯＩトランジスタを含む。第１のＳＯＩトランジスタは、第１のゲート電極を有し、第１のゲート電極の電位に応じて選択的に導通し、導通時、第１の書込ポートの第１の書込データを転送する。第２のＳＯＩトランジスタは、第２のゲート電極を有し、第２のゲート電極の電位に応じて選択的に導通し、導通時、第２の書込ポートの第２の書込データを転送する。第３のＳＯＩトランジスタは、第３のゲート電極と第１のＳＯＩトランジスタを介して転送される第１の書込データを受ける第１のボディ領域を有し、基準電源と第１の読出ポートとの間に結合され、第３のゲート電極の電位と第１のボディ領域に蓄積される電荷量とに応じて流すことのできる電流量が設定される。第４のＳＯＩトランジスタは、第４のゲート電極と第２のＳＯＩトランジスタを介して第２の書込データを受ける第２のボディ領域とを有し、第３のＳＯＩトランジスタと第２の読出ポートとの間に接続され、第４のゲート電極の電位と第２のボディ領域の蓄積電荷量とに応じて流すことのできる電流量が設定される。第１および第２のＳＯＩトランジスタは、第１導電型のＳＯＩトランジスタであり、第３および第４のＳＯＩトランジスタは、第２導電型のＳＯＩトランジスタである。
【００３９】
この発明の１実施の形態に係る半導体信号処理装置は、さらに、ユニット演算子セル列に対応して配置され、各々が選択されたユニット演算子セルの記憶データ読出時の参照電流を供給する複数のダミーセルと、ユニット演算子セル列に対応して配置され、各々に対応の列のユニット演算子セルが接続する複数の読出線とを備える。各読出線は、対応の列のユニット演算子セルの第１の読出ポートが接続される第１の読出ビット線と、対応の列のユニット演算子セルの第２の読出ポートが接続される第２の読出ビット線とを備える。ユニット演算子セル列に対応して、各々に対応の列のダミーセルが接続する複数のダミー読出線がさらに設けられる。これらの複数の読出線およびダミー読出線は、所定数ごとに演算単位グループに分割される。
【００４０】
この発明の１実施の形態に係る半導体信号処理装置は、さらに、各ユニット演算子セル列に対応して配置される複数のセンス読出ビット線と、演算指示に従って、ユニット演算子セルの第１および第２の読出ビット線の一方を対応の列のセンス読出ビット線に結合するポート選択／スイッチ回路と、各ユニット演算子セル列に対応して配置され、各々が対応の列のセンス読出ビット線およびダミー読出線を流れる電流の差に応じた信号を生成する複数の増幅回路と、演算単位グループに対応して配置され、データ書込時、各々が、与えられたデータに従って対応の演算単位グループのユニット演算子セルに対する第１および第２の書込データを生成するとともに、データ読出時、対応の増幅回路の出力信号に演算指示が指定する演算処理を実行する複数の単位演算処理回路を備える。
【００４１】
この発明の別の実施の形態に係る半導体信号処理装置は、行列状に配列され各々が不揮発的に情報を記憶する複数のユニットセルと、ユニットセル列に対応して配置され各々に対応の列のユニットセルが結合され、データ読出時、対応の列のユニットセルの記憶データに応じた電流が流れる複数の読出線とを有するとともに行方向に沿って複数のエントリに分割されるメモリアレイと、演算指示とアレイ内エントリを指定するアドレスとに従ってアドレス指定されたエントリのユニットセルの記憶データを読出し、該読出したデータに演算指示が指定する演算をユニットセル列単位で行ってアドレス指定されたエントリと異なるエントリの記憶情報として出力する読出演算処理回路とを備える。読出演算処理回路は、ユニットセル列に対応して配置され、活性化時、対応の列の読出線を流れる電流に応じて内部読出データを生成する複数のセンス読出増幅回路を含む。
【００４２】
この発明のさらに他の実施の形態に係る半導体信号処理装置は、行列状に配列され、各々がデータを不揮発的に記憶する複数のユニット演算子セルを備える。各ユニット演算子セルは、該記憶データに応じて流すことのできる電流量が異なる。これらの複数のユニット演算子セルは行方向において演算単位ブロックに分割される。
【００４３】
この発明のさらに他の実施の形態に係る半導体信号処理装置は、さらに、演算単位ブロックにおいて、多ビット数値データの各ビットを該数値データ内のビット位置に応じた数のビットに拡張して内部書込データを生成し、該演算単位ブロック内において複数のユニット演算子セルを並行して選択して、多ビット数値データに対応する内部書込データの各ビットを対応のユニット演算子セルに並行して書込む書込回路と、ユニット演算子セル列に対応して配置される複数のグローバル読出データ線と、データ読出時、複数の行のユニット演算子セルを並行して選択し、各選択されたユニット演算子セルの記憶データに応じた電流を対応のグローバル読出データ線に流す読出回路と、各演算単位ブロックのグローバル読出データ線の電流を各演算単位ブロックごとにアナログ的に加算し、該加算結果をデジタル信号に変換する変換回路を備える。
【発明の効果】
【００４４】
この発明の１実施の形態の半導体信号処理装置においては、ユニット演算子セルを、ＳＯＩ素子で構成しており、ＳＲＡＭに比べてセルの構成要素の数を低減でき、メモリセルのレイアウト面積を小さくすることができる。また、増幅回路により電流検出動作を行なっており、高速で増幅動作を行なって演算結果データを生成することができる。
【００４５】
また、第１および第２の読出ポートを選択的に利用することにより、ユニット演算子セルの記憶データに対する演算結果を増幅回路で増幅することができ、データの記憶のみならず、ＡＮＤ／ＯＲ／ＮＯＴの論理演算機能を実現することができる。これにより、細粒度の演算を別途演算器を配置することなく実現することができる。
【００４６】
この発明の別の実施の形態の半導体信号処理装置においては、読出演算処理回路が内部データを各列毎に読出すとともに読出したデータに対して演算を行う演算機能を有している。ユニット演算子セルが記憶するデータの演算をエントリの列単位で実行することにより、選択エントリを別のエントリに変換することができ、実エントリ空間よりも大きな仮想エントリ空間を生成することができる。これにより、高密度大容量のＬＵＴ演算器を実現することができる。
【００４７】
また、さらに別の実施の形態においては、多ビット数値データのビット位置に応じた重付けがされた電流の加減算が行われる。従って、キャリー／ボローの確定を待つことなく加減算を実行することができ、高速の加減算処理を実現することができる。この加減算と同様にして、部分積加算を行なうことができ、高速の乗算処理を実現することができる。
【００４８】
また、装置外部に加算電流を転送することなく、装置内部で電流加算が実行されており、低電源電圧下においても、高速で電流加算を結果を小電流で生成することができる。
【発明を実施するための最良の形態】
【００４９】
［実施の形態１］
図１は、この発明に従う半導体信号処理装置において用いられるユニット演算子セルの電気的等価回路を示す図である。このユニット演算子セルＵＯＥは、ＳＯＩ（シリコン・オン・インシュレータ：silicon on insulator）構造の素子（トランジスタ；以下、ＳＯＩトランジスタと称す）で構成される。図１において、ユニット演算子セルＵＯＥは、２つのＰチャネルＳＯＩトランジスタＰＱ１およびＰＱ２と、２つのＮチャネルＳＯＩトランジスタＮＱ１およびＮＱ２を含む。ＳＯＩトランジスタＰＱ１およびＰＱ２は、それぞれ、書込ポートＷＰＲＴＡおよびＷＰＲＴＢとＳＯＩトランジスタＮＱ１およびＮＱ２のボディ領域の間に接続され、それぞれのゲートが、書込ワード線ＷＷＬに結合される。
【００５０】
ＳＯＩトランジスタＮＱ１は、ソース線ＳＬと読出ポートＲＰＲＴＡの間に接続され、かつそのゲートが読出ワード線ＲＷＬＡに接続される。ＳＯＩトランジスタＮＱ２は、ＳＯＩトランジスタＮＱ１と読出ポートＲＰＲＴＢの間に接続されかつそのゲートが読出ワード線ＲＷＬＢに結合される。
【００５１】
書込ポートＷＰＲＴＡおよびＷＰＲＴＢからの書込データＤＩＮＡおよびＤＩＮＢに従って、ＳＯＩトランジスタＮＱ１およびＮＱのボディ領域の電位が設定される。ＳＯＩトランジスタにおいては、ボディ領域の電位に応じて、そのしきい値電圧が異なる。すなわち、ＳＯＩトランジスタＮＱ１およびＮＱ２において、ボディ領域の電位が高い場合、ＳＯＩトランジスタＮＱ１およびＮＱ２のバックゲート−ソース間が、ＰＮ接合のビルトイン電圧以下の電圧レベルで正方向にバイアスされ、これらのＳＯＩトランジスタＮＱ１およびＮＱ２のしきい値電圧が低くなる。一方、これらのＳＯＩトランジスタＮＱ１およびＮＱ２のボディ領域の電位が低い場合には、そのしきい値電圧が高くなる。したがって、これらのＳＯＩトランジスタＮＱ１およびＮＱ２は、そのボディ領域の電位に従って情報を記憶することができる。また、ＳＯＩトランジスタＮＱ１およびＮＱ２のボディ領域は、他の領域から分離されており、電源遮断時においてもデータを記憶することができる。
【００５２】
このボディ領域、すなわち記憶ノードＳＮＡおよびＳＮＢの電圧レベルは、書込ドライバの電源電圧等の調整により、正確にＰＮ接合ビルトイン電圧以下のレベルとなるように設定することができ、記憶データに応じて確実にＳＯＩトランジスタのしきい値電圧を設定することができる。
【００５３】
図２は、図１に示すユニット演算子セルの平面レイアウトを概略的に示す図である。図２において、破線で囲む領域にＰ型トランジスタが形成される。このＰ型トランジスタ形性領域において、高濃度Ｐ型領域１ａおよび１ｂがＹ方向に沿って整列して配置される。Ｐ型領域１ａおよび１ｂの間に、Ｎ型領域２ａが配置される。
【００５４】
また、高濃度Ｐ型領域１ｃおよび１ｄが同じくＹ方向に沿って整列して配置される。これらのＰ型領域１ｃおよび１ｄの間に、Ｎ型領域２ｂが配置される。このＰ型領域１ｄに対してＹ方向に整列して、Ｐ型領域４ａが配置される。
【００５５】
Ｐ型トランジスタ形成領域外部において、Ｐ型領域１ｄおよび４ａに隣接して、高濃度Ｎ型領域３ａ、３ｂおよび３ｃが配置される。これらの高濃度Ｎ型領域３ａ、３ｂおよび３ｃは、Ｙ方向に整列して配置される。
【００５６】
Ｎ型領域３ａおよび３ｂの間に、Ｐ型トランジスタ形成領域からＰ型領域４ａが延在して配置され、また、Ｎ型領域３ｂおよび３ｃの間に、Ｐ型トランジスタ形成領域からＰ型領域４ｂが延在して配置される。
【００５７】
Ｎ型領域２ａおよび２ｂ上に、ゲート電極配線５ａがＸ方向に延在するように配置され、Ｐ型領域４ａ上にゲート電極配線５ｂが配置される。また、Ｐ型領域４ｂ上に整列して、ゲート電極配線５ｃがＸ方向に延在するように配置される。図２においては、これらのゲート電極配線５ａ、５ｂおよび５ｃは、ユニット演算子セルＵＯＥ内の領域のみ延在するように示すが、これらは各々連続的にＸ方向に沿って延在して配置される。
【００５８】
ゲート電極配線５ａと整列して、Ｘ方向に連続的に延在して第１金属配線６ａが配置され、また、ゲート電極配線５ｃに整列して、第１金属配線６ｄがＸ方向に連続的に延在して配置される。これらの第１金属配線６ａおよび６ｄの間に、Ｘ方向に連続的に延在する第１金属配線６ｂおよび６ｃが互いに間をおいて配置される。第１金属配線６ａは、図示しない領域においてゲート電極配線５ａと電気的に接続され、書込ワード線ＷＷＬを構成する。第１金属配線６ｂは、ビア／コンタクト８ｃを介して下層の高濃度Ｎ型領域３ａに電気的に接続され、ソース線ＳＬを構成する。ゲート電極配線５ｂに隣接して配置される第１金属配線６ｃは、図示しない領域においてゲート電極配線４ａと電気的に接続され、読出ワード線ＲＷＬＡを構成する。第１金属配線６ｄは、図示しない領域においてゲート電極配線５ｃと電気的に接続され、読出ワード線ＲＷＬＢを構成する。
【００５９】
各活性領域（トランジスタが形成される領域）の境界領域において、Ｙ方向に沿って連続的に延在する第２金属配線７ａ−７ｄが配置される。第２金属配線７ａは、ビア／コンタクト８ｅおよび中間第１配線を介してＮ型領域３ｃに電気的に接続される。第２金属配線７ｂは、ビア／コンタクト８ｄおよび中間第１配線を介してＮ型領域３ｂに電気的に接続される。第２金属配線７ｃは、ビア／コンタクト８ｂおよび中間第１配線を介してＰ型領域１ｃに接続される。第２金属配線７ｄは、ビア／コンタクト８ａおよび中間第１配線を介してＰ型領域１ａに電気的に接続される。
【００６０】
第２金属配線７ａおよび７ｂは、それぞれ読出ポートを介して出力データＤＯＵＴＢおよびＤＯＵＴＡを伝達し、第２金属配線７ｃおよび７ｄが、書込ポートを介してそれぞれ入力データＤＩＮＡおよびＤＩＮＢを伝達する。すなわち、第２金属配線７ｃおよび７ｄが、それぞれ、図１に示す書込ポートＷＰＲＴＡおよびＷＰＲＴＢに結合され、第２金属配線７ａおよび７ｂが、それぞれ、図１に示す読出ポートＲＰＲＴＢおよびＲＰＲＴＡに結合される。
【００６１】
この図２に示す平面レイアウトにおいて、Ｐ型領域１ａおよび１ｂとＮ型領域２ａとゲート電極配線５ａとにより、ＰチャネルＳＯＩトランジスタＰＱ２が構成され、Ｐ型領域１ｃおよび１ｄとＮ型領域２ｂとゲート電極配線５ａとにより、ＰチャネルＳＯＩトランジスタＰＱ１が構成される。Ｎ型領域３ａおよび３ｂとＰ型領域４ａとゲート電極配線５ｂとにより、ＮチャネルＳＯＩトランジスタＮＱ１が構成される。Ｎ型領域３ｂおよび３ｃとＰ型領域４ｂと上層のゲート電極配線５ｃとにより、ＮチャネルＳＯＩトランジスタＮＱ２が構成される。
【００６２】
図３は、図２に示す平面レイアウトのＳＯＩトランジスタＰＱ１およびＮＱ１の斜視図を概略的に示す図である。図３においては、図面を簡略化するために、これらのＳＯＩトランジスタＰＱ１およびＮＱ１のゲート電極配線を示していない。
【００６３】
図３に示すように、ＳＯＩトランジスタＰＱ１およびＮＱ１は、半導体基板１０上に形成される埋込絶縁膜１２上に形成される。Ｐ型領域１ｃが、書込ポートＷＰＲＴＡに結合され、Ｎ型領域３ａがソース線ＳＬに結合され、Ｎ型領域３ｂが読出ポートＲＰＲＴＡに結合される。Ｎ型領域３ａおよび３ｂの間のＰ型領域４ａが、ＳＯＩトランジスタＮＱ１のボディ領域を構成する。Ｐ型領域４ａは、高濃度Ｐ型領域１ｄに隣接して配置されており、したがって、Ｐ型領域１ｄおよび４ａは、電気的に連結された状態にある。また、Ｎ型領域２ｂが、ＳＯＩトランジスタＰＱ１のボディ領域を構成する。
【００６４】
ＳＯＩトランジスタＰＱ１において、ボディ領域（Ｎ型領域）２ｂ表面にチャネルを形成することにより、書込ポートＷＰＲＴＡから伝達される電荷が、Ｐ型領域１ｄを介してＰ型領域４ａに伝達されて蓄積される。ＳＯＩトランジスタＮＱ１のボディ領域の電圧を書込データに応じた電圧レベルに設定し、そのしきい値電圧を記憶データに応じたレベルに設定する。Ｎ型領域３ｂは、プリチャージノードを構成し、Ｐ型領域４ａの電圧レベルに拘わらず、領域４ａおよび３ｂの間のＰＮ接合が導通しない電圧レベルに維持される。また、ソース線ＳＬは、通常、電源電圧ＶＣＣレベルに維持され、ボディ領域とソース線との間のＰＮ接合の導通は防止される。
【００６５】
データの読出時においては、ＳＯＩトランジスタＮＱ１のボディ領域上に形成されるゲート電極配線にハイレベルの電圧を印加する。このゲート電極の印加電圧により、Ｐ型領域４ａ表面に選択的に記憶データに応じてチャネルが形成され、ソース線ＳＬから読出ポートＲＰＲＴＡに、記憶データに応じた電流が流れる。この電流を検出することによりデータを読出す。ボディ領域（Ｐ型領域）４ａに蓄積される電荷は保存されたままであり、データを不揮発的に記憶することができる。
【００６６】
また、ソース線ＳＬからのＳＯＩトランジスタＮＱ１およびＮＱ２のしきい値電圧に応じた電流量を検出するだけであり、高速のデータの読出を行なうことができる。
【００６７】
図４は、この発明の実施の形態１に従う半導体信号処理装置の全体の構成を概略的に示す図である。図４において、演算子セルアレイ２０は、複数の演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１に分割される。図４においては、演算子セルアレイ２０が、３２個の演算子セルサブアレイブロックに分割される構成を一例として示すが、このサブアレイブロックの数は、３２に限定されない。
【００６８】
演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１においては、ユニット演算子セル（ＵＯＥ）が行列状に配列され、また、各ユニット演算子セル列に対応してダミーセルが配置される。ダミーセルの供給する電流を参照電流として用いて、ユニット演算子セルの記憶データを読出す。
【００６９】
演算子セルアレイ２０に対し、行選択駆動回路２２が設けられる。この行選択駆動回路２２は、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１それぞれに対応して設けられている行ドライブ回路ＸＤＲ０−ＸＤＲ３１を含む。これらの行ドライブ回路ＸＤＲ０−ＸＤＲ３１は、対応の演算子セルサブアレイブロックにおいてユニット演算子セル行を選択する。したがって、行ドライブ回路ＸＤＲ０−ＸＤＲ３１は、行アドレス信号をデコードする行アドレスデコード回路、データ読出時に読出ワード線を選択的状態に駆動する読出ワード線ドライブ回路、およびデータ書込時に書込ワード線を選択状態へ駆動する書込ワード線ドライブ回路を含む。
【００７０】
演算内容に応じて、図１に示す読出ワード線ＲＷＬＡおよびＲＷＬＢ両者を並行して選択状態に駆動するまたは読出ワード線ＲＷＬＡのみを選択状態へ駆動する処理が実行される。
【００７１】
演算子セルアレイ２０のデータ入出力経路に、メインアンプ回路２４、組合せ論理演算回路２６およびデータパス２８が設けられる。メインアンプ回路２４は、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１の各ユニット演算子セル列に対応して設けられるメインアンプを含む。メインアンプ回路２４において、各メインアンプが演算子アレイ２０において選択された演算子セルサブアレイブロックから読出されたデータを並列に増幅する。これにより、演算子セルアレイ２０において選択された演算子セルサブアレイブロックのエントリ（１行のユニット演算子セルで構成される）のデータを、各選択ユニット演算子セルごとに並列に増幅する。
【００７２】
組合せ論理演算回路２６は、メインアンプ回路２４から転送された選択ユニット演算子セルのデータに対し、指定された論理演算および／または算術演算処理をさらに実行する。論理演算としては、ＯＲ演算、ＸＯＲ演算、およびＸＮＯＲ演算などの組合せ論理演算が準備され、算術演算処理としては、加算および減算が準備される。この組合せ論理演算回路２６は、選択されたユニット演算子セルの記憶データを、メインアンプを介して受け、メインアンプの出力信号をレジスタ等を介して論理変更することなく出力することもできる。
【００７３】
データパス２８は、メインアンプ回路１４および／または組合せ論理演算回路２６からの転送データの経路の設定および外部へのデータＤＯＵＴ［ｍ：０］の出力および外部からの入力データＤＩＮＡ［ｍ：０］およびＤＩＮＢ［ｍ：０］からユニット演算子セルに対する書込データの生成および書込データ転送経路の設定を行う。
【００７４】
入力データＤＩＮＡ＜ｍ：０＞およびＤＩＮＢ＜ｍ：０＞は、装置外部から転送され、データパスにおいて経路設定された後に、それぞれユニット演算子セルのＳＯＩトランジスタＮＱ１およびＮＱ２のボディ領域に書込まれる。データパス２８における書込データの転送経路の設定およびデータの反転／非反転を、選択的に実行する。これにより、選択された演算子セルサブアレイブロックのユニット演算子セルを利用する外部入力データに対する演算処理内容を設定する。
【００７５】
なお、半導体信号処理装置における内部演算処理の設定およびデータ転送経路の設定および動作タイミング制御は、制御回路３０により実行される。この制御回路３０は、プログラム命令を格納する命令メモリを含み、この命令メモリ内のプログラムに従って内部の演算指定および内部タイミングの生成を行なってもよい。また、これに代えて、この制御回路３０は、外部からの命令に従って内部のデータ転送経路の設定および内部動作タイミングの生成を行なってもよい。
【００７６】
図５は、図４に示す演算子セルアレイ２０およびメインアンプ回路１４の構成をより具体的に示す図である。図５においては、演算子セルアレイ２０に含まれる演算子セルサブアレイブロックＯＡＲｉおよびＯＡＲｊを代表的に示す。また、これらの演算子セルサブアレイブロックＯＡＲｉおよびＯＡＲｊは同一構成を有するため、図５においては、演算子セルサブアレイブロックＯＡＲｉの内部構成を示す。
【００７７】
図５において、演算子セルサブアレイブロックＯＡＲｉは、ユニット演算子セルＵＯＥおよびダミーセルＤＭＣが配置されるメモリセルアレイ３２と、センスアンプＳＡが配置されるセンスアンプ帯３８とを含む。メモリセルアレイ３２においては、ダミーセルＤＭＣが配置されるダミーセル帯３４と、ユニット演算子セルＵＯＥの読出ポートを選択するための読出ポート選択回路３６とが設けられる。
【００７８】
ユニット演算子セル列に対応してビット線対ＢＬＰが配置される。ユニット演算子セルＵＯＥは、前述のように、読出ポートＲＰＲＴＡおよびＲＰＲＴＢを有し、各ビット線対ＢＬＰは、対応の列のユニット演算子セルの各読出ポートＲＰＲＴＡおよびＲＰＲＴＢに結合される読出ビット線ＢＬＡおよびＢＬＢ（ＢＬＡ／Ｂ）と、ダミーセルＤＭＣが接続される補の読出ビット線ＺＢＬとを含む。読出ポート選択回路３６により、読出ビット線ＢＬＡおよびＢＬＢの一方が選択される。
【００７９】
センスアンプ帯３８の各センスアンプＳＡは、読出ポート選択回路３６により選択されたビット線ＢＬＡ／Ｂと補のビット線ＺＢＬを流れる電流量を検出し、該検出結果に応じた信号を生成する。
【００８０】
センスアンプ帯３８の各センスアンプＳＡは、グローバル読出データ線対ＲＧＬＰに結合される。グローバル読出データ線対ＲＧＬＰは、複数の演算子セルサブアレイブロックに共通にかつ各演算子セルサブアレイブロックのセンスアンプに対応して配置され、選択された演算子セルサブアレイブロックのセンスアンプＳＡの出力を、メインアンプ回路２４に含まれるメインアンプＭＡに伝達する。
【００８１】
演算子セルサブアレイブロックＯＡＲ（ＯＡＲ０−ＯＡＲ３１）に共通に、グローバル書込データ線対ＷＧＬＰが配置される。グローバル書込データ線対ＷＧＬＰは、グローバル書込データ線ＷＧＬＡおよびＷＧＬＢを含み、これらの書込データ線ＷＧＬＡおよびＷＧＬＢは、選択された演算子セルサブアレイブロックのユニット演算子セルの書込ポートＷＰＲＴＡおよびＷＰＲＴＢにそれぞれ結合される。従って、このグローバル書込データ線対も、各演算子セルサブアレイブロックのユニット演算子セル列に対応して配置される。
【００８２】
メインアンプ回路２４においては、グローバル読出データ線対ＲＧＬＰそれぞれに対してメインアンプＭＡが設けられる。図５においては、メインアンプＭＡが、データＰ＜０＞−Ｐ＜４ｍ＋３＞を生成する場合、すなわち、グローバル読出データ線対ＲＧＬＰが（４ｍ＋４）個配置される場合を一例として示す。外部からの入力データは、（ｍ＋１）ビット幅である（図４参照）。すなわち、この半導体信号処理装置（組合わせ論理演算回路２６）においては、内部で、外部入力データ１ビット当たり、４つのセンスアンプＳＡの出力を利用して指定された組合せ論理演算または算術演算を実行する。
【００８３】
図６は、図５に示す演算子セルサブアレイブロックＯＡＲｉの具体的構成の一例を示す図である。図６においては、ユニット演算子セルＵＯＥ０およびＵＯＥ１に関連する部分の構成を代表的に示す。図６において、ユニット演算子セルＵＯＥ０に対し、読出ビット線ＲＢＬＡ０およびＲＢＬＢ０とグローバル書込データ線ＷＧＬＢ０およびＷＧＬＡ０が設けられる。グローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０は、それぞれユニット演算子セルＵＯＥ０の書込ポートＷＰＲＴＡおよびＷＰＲＴＢに結合される。このユニット演算子セルＵＯＥ０の読出ポートＲＰＲＴＡおよびＲＰＲＴＢは、読出ビット線ＲＢＬＡ０およびＲＢＬＢ０に、それぞれ結合される。これらの読出ビット線ＲＢＬＡ０およびＲＢＬＢ０は、図５に示すビット線ＢＬＡ／Ｂに対応する。
【００８４】
ユニット演算子セルＵＯＥ０に対応してダミーセルＤＭＣ０が配置される。ダミーセルＤＭＣ０は、基準電圧Ｖｒｅｆを供給する基準電圧現と補の読出ビット線ＺＲＢＬ０との間に接続されるダミートランジスタＤＴＡと、基準電圧源と補の読出ビット線ＺＲＢＬ０との間に直列に接続されるダミートランジスタＤＴＢ０およびＤＴＢ１を含む。ダミートランジスタＤＴＡは、ダミーセル選択信号ＤＣＬＡに従って導通し、補の読出ビット線ＺＲＢＬ０に基準電圧Ｖｒｅｆから電流を供給する。ダミートランジスタＤＴＢ０およびＤＴＢ１は、ダミーセル選択信号ＤＣＬＢに従って導通し、基準電圧源Ｖｒｅｆから補の読出ビット線ＺＲＢＬ０に電流を供給する。これらのダミートランジスタＤＴＡおよびＤＴＢ０およびＤＴＢ１は、低しきい値電圧を有するＮチャネルＳＯＩトランジスタで構成される。
【００８５】
ダミーセルＤＭＣ０およびＤＭＣ１において、ポートＡ選択時には、ダミートランジスタＤＴＡが導通し、ポートＢ選択時には、ダミートランジスタＤＴＢ０およびＤＴＢ１が利用される。これは、ユニット演算子セルＵＯＥにおいて、１つのＮチャネルＳＯＩトランジスタおよび２つの直列ＳＯＩトランジスタが利用される構成に対応して、それぞれ参照電流を生成するためである。
【００８６】
基準電圧源Ｖｒｅｆの供給する基準電圧Ｖｒｅｆ（電源と供給電圧とを同一参照符号で示す）は、ユニット演算子セルＵＯＥ０に含まれるＳＯＩトランジスタＮＱ１およびＮＱ２が、高しきい値電圧および低しきい値電圧時にそれぞれ供給する電流の中間の電流を供給する。読出ビット線ＲＢＬＡ０およびＲＢＬＢ０に対し、ポート接続回路ＰＲＳＷ０が設けられる。ポート接続回路ＰＲＳＷ０は、ポート選択信号ＰＲＭＸに従って読出ビット線ＲＢＬＡ０およびＲＢＬＢ０の一方を、センス読出ビット線ＲＢＬ０に接続する。補の読出ビット線ＺＲＢＬ０は、センスアンプＳＡに結合される。
【００８７】
センス読出ビット線ＲＢＬ０およびＺＲＢＬ０の間にセンスアンプＳＡ０、ビット線プリチャージ／イコライズ回路ＢＬＥＱ０および読出ゲートＣＳＧ０が設けられる。センスアンプＳＡ０は、交差結合されるＮチャネルＳＯＩトランジスタおよび交差結合されるＰチャネルＳＯＩトランジスタと、センスアンプ活性化信号／ＳＯＰおよびＳＯＮに従ってそれぞれ選択的に導通するセンス活性化ＰチャネルＳＯＩトランジスタおよびセンス活性化ＮチャネルＳＯＩトランジスタを含む。センス活性化ＳＯＩトランジスタは、導通時に、センス電源ノード（交差結合されるＳＯＩトランジスタが結合される電源ノード）にセンス電源電圧ＶＢＬおよび接地電圧を供給する。センス電源電圧ＶＢＬは、電源電圧ＶＣＣレベルであっても良く、中間電圧レベルであっても良い。センス電源電圧ＶＢＬは、読出ワード線の選択時の電圧レベルであればよい。
【００８８】
このセンスアンプＳＡ０は、交差結合型のセンスアンプであり、読出ビット線ＲＢＬ０およびＺＲＢＬ０上の電位差を差動的に増幅する。センスアンプＳＡ０は、非特許文献１に示されるようにゲートとボディ領域とが結合されるＳＯＩトランジスタで構成されてもよい。また、センスアンプＳＡとしては、センス読出ビット線ＲＢＬおよびＺＲＢＬを流れる電流のミラー電流を生成するカレントミラー動作を利用する電流検出型のセンスアンプが用いられても良い。
【００８９】
ビット線プリチャージ／イコライズ回路ＢＬＥＱ０は、ビット線プリチャージ指示信号ＢＬＰに従って、読出ビット線ＺＲＢＬ０およびＲＢＬ０に、ビット線プリチャージ電圧ＶＰＣを供給する。このビット線プリチャージ電圧ＶＰＣは、ユニット演算子セルＵＯＥ内のＮチャネルＳＯＩトランジスタＮＱ１およびＮＱ２の読出ポートとボディ領域の間のＰＮ接合が、そのボディ領域の電圧レベルに拘わらず非導通状態に維持される電圧レベルである。
【００９０】
読出ゲートＣＳＧ０は、読出ゲート選択信号（演算子セルサブアレイブロック選択信号）ＣＳＬに従って、センス読出ビット線ＲＢＬ０およびＺＲＢＬ０を、グローバル読出データ線ＲＧＬ０およびＺＲＧＬ０に結合する。
【００９１】
なお、センスアンプ帯３８に含まれるセンスアンプＳＡ０、ビット線プリチャージ／イコライズ回路ＢＬＥＱ０および読出ゲートＣＳＧ０を構成するトランジスタは、ＳＯＩトランジスタでなく、通常の半導体基板領域表面に形成されるバルク型のＭＯＳトランジスタで構成されてもよい。
【００９２】
ユニット演算子セルＵＯＥ１に対しても、ダミーセルＤＭＣ１およびポート接続回路ＰＲＳＷ１が設けられ、また、センスアンプＳＡ１、ビット線プリチャージ／イコライズ回路ＢＬＥＱ１および読出ゲートＣＳＧ１が設けられる。これらのセンスアンプＳＡ０、ＳＡ１は、共通にセンスアンプ活性化信号／ＳＯＰおよびＳＯＮに応答して選択的に活性化され、またビット線プリチャージ／イコライズ回路ＢＬＥＱ０およびＢＬＥＱ１も、同様ビット線プリチャージ指示信号ＢＬＰの活性化時活性化される。読出ゲートＣＳＧ１も、読出ゲートＣＳＧ０と同様、読出ゲート選択信号ＣＳＬに従って導通する。
【００９３】
この図６に示すように、メモリセルアレイ３２においては、ユニット演算子セルＵＯＥ０、ＵＯＥ１…が並行して選択状態に駆動され、また、ダミーセルＤＭＣ０、ＤＭＣ１…についても、ダミーセル選択信号ＤＣＬＡおよびＤＣＬＢのいずれかに従って選択的に参照電流を対応の補の読出ビット線ＺＲＢＬ０およびＺＲＢＬ１に供給する。したがって、メモリセルアレイ３２において、１エントリのユニット演算子セルのＵＯＥのデータの並列読出が行なわれ、また並列書込が実行される。
【００９４】
なお、ポート選択信号ＰＲＭＸは多ビット信号であり、各ビット線対ごとに、その接続を設定することができる。後に説明するように、演算は、４ビット線対を１つの単位として実行される。通常、各演算単位において同一の演算が実行されるため、ポート選択信号ＰＲＭＸとしては、最小４ビットの制御信号が準備されればよい（１ビット線対あたり１ビットの選択制御信号を準備する）。
【００９５】
図７は、図４に示すデータパス２８の構成の一例を概略的に示す図である。図７において、データパス２８は、グローバル書込データ線対ＷＧＬＰそれぞれに対応して配置されるデータパス単位ブロックＤＰＵＢを含む。図７においては、４つのグローバル書込データ線対ＷＧＬＰ０−ＷＧＬＰ３それぞれに対して設けられるデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３を代表的に示す。これらの４つのデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３により、データパス演算単位グループ４４が形成される。このデータパス演算単位グループ４４は、外部データの１ビットについての演算を担当する。
【００９６】
データパス単位ブロックＤＰＵＢ０は、組合せ論理演算回路（２６）からのデータビットＱ０を格納するレジスタ５０と、レジスタ５０の格納データをバッファ処理して外部の１ビット出力データＤＯＵＴ０を生成するバッファ５１と、レジスタ５０の格納値を反転するインバータ５３および５５と、外部からの１ビット書込データＤＩＮＡ０およびＤＩＮＢ０をそれぞれ反転するインバータ５２および５４を含む。
【００９７】
データパス単位ブロックＤＰＵＢ０は、さらに、レジスタ５０の格納値、インバータ５２および５３の出力値および外部からの入力データビットＤＩＮＡ０の１つを切換制御信号ＭＸＡＳに従って選択するマルチプレクサ（ＭＵＸＡ）５６と、レジスタ５０の格納値、インバータ５５および５４の出力値、および外部からの書込データビットＤＩＮＢ０の１つを切換制御信号ＭＸＢＳに従って選択するマルチプレクサ（ＭＵＸＢ）５７と、マルチプレクサ５６および５７の選択データに従ってグローバル書込データ線対ＷＧＬＰ０の書込データ線ＷＧＬＡおよびＷＧＬＢをそれぞれ駆動するグローバル書込ドライバ５８および５９を含む。
【００９８】
このデータパス単位ブロックＤＰＵＢ０においては、外部からの書込データビットの反転値、非反転値および組合せ論理演算回路からの対応の出力ビットＱ０の１つを選択して書込データ線ＷＧＬＡへ伝達へ伝達する。また、グローバル書込データ線ＷＧＬＢへも、レジスタ５０からのデータビット、および外部からの書込データビットＤＬＢ０の反転値および非反転値のいずれかを選択して伝達する。
【００９９】
残りのデータパス単位ブロックＤＰＵＢ１−ＤＰＵＢ３においても、このデータパス単位ブロックＤＰＵＢ０と同様の構成が設けられる。ただし、データパス単位ブロックＤＰＵＢ１−ＤＰＵＢ３においては、レジスタ５０の出力部に、バッファ５１は設けられない。すなわち、対応の組合せ論理演算回路からのデータビットＱ１−Ｑ３は、外部へのデータとしては出力されない。また、これらのデータパス単位ブロックＤＰＵＢ１−ＤＰＵＢ３においては、レジスタ５０は設けられなくても良い。データパス単位ブロックＤＰＵＢ０のレジスタ５０の格納値が、これらのデータパス単位ブロックＤＰＵＢ１−ＤＰＵＢ３に転送される。
【０１００】
これらのデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３へは、共通に外部からの１ビット書込データＤＩＮＡ０およびＤＩＮＢ０が共通に与えられる。レジスタ５０の格納値が、データパス単位ブロックＤＰＵＢ１−ＤＰＵＢ３に対して共通に与えられる。
【０１０１】
切換制御信号ＭＸＡＳおよびＭＸＢＳは、各データパス単位ブロックごとに与えられ、各データパス単位ブロックにおいてマルチプレクサ５６および５７の選択態様が個々に設定される。データパス演算単位グループ４４ごとに共通の演算を実行する場合、これらの切換制御信号ＭＸＡＳおよびＭＸＢＳとしては、４系統の切換制御信号が準備されればよい（１系統が１データパス単位ブロックに割当てられる）。
【０１０２】
図８は、図７に示すデータパス２８の全体の構成を概略的に示す図である。図８において、データパス２８内に、データパス演算単位グループ４４＜０＞−４４＜ｍ＞が配置される。これらのデータパス演算単位グループ４４＜０＞−４４＜ｍ＞は、各々、データパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３を含む。
【０１０３】
データパス演算単位グループ４４＜０＞に対し、外部からのデータビットＤＩＮＡ＜０＞およびＤＩＮＢ＜０＞が与えられ、１ビット出力データＤＯＵＴ＜０＞が生成される。図８において、「＊ｉ＞：ＭＵＸＡ／Ｂ＜ｉ＞」は、データパス単位ブロックに含まれるマルチプレクサ（ＭＵＸＡ，ＭＵＸＢ）５６，５７を示す。データパス２８は、外部からの（ｍ＋１）ビットデータを、内部（４ｍ＋４）ビットのデータに変換する。内部の４ビットデータが、内部での演算単位である。
【０１０４】
マルチプレクサＭＵＸＡ／Ｂ＜３：０＞（マルチプレクサ５６，５７）により、データパス演算単位グループ４４＜０＞の各データパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３のデータ伝搬／変換経路が決定され、内部データビットＤＰ＜０＞−ＤＰ＜３＞が対応のグローバル書込データ線にグローバル書込ドライバ５８，５９を介して伝達される。
【０１０５】
同様、データパス演算単位グループ４４＜１＞、…、４４＜ｍ＞に対しても、外部からの書込データビットＤＩＮＡ＜１＞、ＤＩＮＢ＜１＞、…、ＤＩＮＡ＜ｍ＞、ＤＩＭＢ＜ｍ＞が与えられ、それぞれ内部のマルチプレクサ（ＭＵＸＡおよびＭＵＸＢ）により、書込データＤＰ＜４＞−ＤＰ＜７＞、…、ＤＰ＜４ｍ＞−ＤＰ＜４ｍ＋３＞が生成され、対応のグローバル書込データ線対に対応のグローバル書込ドライバ（５８，５９）を介して伝達される。
【０１０６】
また、データパス２８へは、組合せ論理演算回路２６からのデータビットが各データパス演算単位グループのデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３に与えられる。しかしながら、外部へのデータビットＤＯＵＴ＜０＞−ＤＯＵＴ＜ｍ＞としては、データパス演算単位グループ４４＜０＞−４４＜ｍ＞それぞれにおいて１つのデータパス単位ブロックＤＰＵＢ４ｉ（ｉ＝０−ｍ）から、出力データビットＤＯＵＴ＜０＞−ＤＯＵＴ＜ｍ＞が出力される。
【０１０７】
したがって、各データパス演算単位グループにおいて４ビットデータを、外部からの書込データビットに従って生成し、１演算単位グループ当たり最大４つのユニット演算子セルの記憶データに基づいて演算処理を実行し、各種組合せ論理演算および算術演算を実現する。
【０１０８】
図９は、図５に示す組合せ論理演算回路の構成の一例を概略的に示す図である。この組合せ論理演算回路２６においては、データパス２８の構成と同様、４つのメインアンプの出力信号に対し１つの単位演算ブロックＵＣＬが配置される。図９においては、メインアンプの出力信号（データ）Ｐ＜４ｋ＞−Ｐ＜４ｋ＋３＞に対して設けられる単位演算ブロックＵＣＬ４ｋの構成を代表的に示す。ただし、ｋは、０−ｍのいずれかの整数である。
【０１０９】
図９において、単位演算ブロックＵＣＬ４ｋは、対応のメインアンプの出力信号Ｐ＜４ｋ＞−Ｐ＜４ｋ＋３＞をそれぞれ受けるバッファＢＦＦ０−ＢＦＦ３と、これらのメインアンプの出力信号（ビット）Ｐ＜４ｋ＞−Ｐ＜４ｋ＋３＞をそれぞれ受けるインバータＩＶ０−ＩＶ３とを含む。これらのバッファＢＦＦ０−ＢＦＦ３およびインバータＩＶ０−ＩＶ３により、メインアンプの出力信号Ｐ＜４ｋ＞−Ｐ＜４ｋ＋３＞の非反転信号および反転信号を、それぞれ生成することができる。
【０１１０】
単位演算ブロックＵＣＬ４ｋは、さらに、２入力ＯＲゲートＯＧ０、３入力ＯＲゲートＯＧ１、および４入力ＯＲゲートＯＧ２を含む。２入力ＯＲゲートＯＧ０は、メインアンプの出力信号Ｐ＜４ｋ＞およびＰ＜４ｋ＋１＞を受ける。３入力ＯＲゲートＯＧ１は、メインアンプの出力信号Ｐ＜４ｋ＞、Ｐ＜４ｋ＋１＞およびＰ＜４ｋ＋２＞を受ける。４入力ＯＲゲートＯＧ２は、メインアンプの出力信号Ｐ＜４ｋ＞−Ｐ＜４ｋ＋３＞を受ける。
【０１１１】
単位演算ブロックＵＣＬ４ｋは、さらに、５入力マルチプレサ６０ａ、２入力マルチプレクサ６２ａ−６２ｄ、およびデマルチプレクサ６３を含む。マルチプレクサ６０ａは、バッファＢＦＦ０、インバータＩＶ０、およびＯＲゲートＯＧ０−ＯＧ２の出力信号を受けロジック指示信号ＬＧＰＳに従って１つの信号を選択する。
【０１１２】
マルチプレクサ６２ａは、バッファＢＦＦ１およびインバータＩＶ１の出力信号の１つを選択してビットＱ＜４ｋ＞を生成し、マルチプレクサ６２ｂは、バッファＢＦＦ２およびインバータＩＶ２の出力信号の１つを選択してビットＱ＜４ｋ＋１＞を生成し、マルチプレクサ６２ｃは、バッファＢＦＦ３およびインバータＩＶ３の出力信号の１つを選択してビットＱ＜４ｋ＋３＞を生成する。これらのマルチプレクサ６２ａ−６２ｃの選択態様も、ロジックパス指示信号ＬＧＰＳに従って設定される。
【０１１３】
デマルチプレクサ６３は、ロジックパス指示信号ＬＧＰＳに従って、マルチプレクサ６０ａの出力信号（データ）を、４ビット加算／減算処理回路６４およびマルチプレクサ６２ｄの一方に伝達する。マルチプレクサ６２ｄは、デマルチプレクサ６３および４ビット加算／減算処理回路６４の出力する１ビットの一方を選択して出力ビットＱ＜４ｋ＞として出力する。
【０１１４】
４ビット加算／減算処理回路６４は、８個の単位演算ブロックのデマルチプレクサ６３の出力ビットＧ＜４ｋ＞−Ｇ＜４（ｋ＋７）＞について加算または減算を実行する。４ビット加算／減算時においては、出力はキャリー／ボローを含めて５ビットである。図９に示す構成においては、４ビット加算／減算処理回路４４を利用して乗算を積和加算(部分積の加算)により実行する場合を考慮して、出力８ビットを準備する。
【０１１５】
図１０は、ユニット演算子セルのＢポート選択時のセンスアンプに対するトランジスタの接続態様を概略的に示す図である。図１０において、ユニット演算子セルにおいては、読出ＢポートＲＰＲＴＢ選択時、ソース線ＳＬとセンス読出ビット線ＲＢＬの間にＮチャネルＳＯＩトランジスタＮＱ１およびＮＱ２が直列に接続される。同様に、ダミーセルについても、ダミートランジスタＤＴＢ０およびＤＴＢ１が基準電圧源と補の読出ビット線ＺＲＢＬの間に直列に接続される。これらのセンス読出ビット線ＲＢＬおよびＺＲＢＬがセンスアンプＳＡに結合され、センスアンプＳＡによりこれらのセンス読出ビット線ＲＢＬおよびＺＲＢＬの電位差または電流差が増幅され、センス出力信号ＳＯＵＴおよび／ＳＯＵＴが生成される。
【０１１６】
図１１は、図１０に示すユニット演算子セルおよびダミーセルの接続態様におけるデータ読出時の動作を示す信号波形図である。以下、図１１を参照して、図１０に示すユニット演算子セルＵＯＥおよびダミーセルＤＭＣの読出動作について説明する。
【０１１７】
なお、以下の説明において、ＳＯＩトランジスタＮＱ１およびＮＱ２が、しきい値電圧の高い状態をデータ“０”を記憶する状態に対応付け、しきい値電圧の低い状態をデータ“１”を記憶する状態に対応付ける。
【０１１８】
プリチャージ期間においては、読出ビット線ＲＢＬおよび補の読出ビット線ＺＲＢＬは、図６に示すビット線プリチャージ／イコライズ回路ＢＬＥＱにより、プリチャージ電圧ＶＰＣレベルにプリチャージされる。
【０１１９】
読出サイクルが始まると、読出ワード線ＲＷＬＡおよびＲＷＬＢとダミーセル選択信号ＤＣＬＢが選択状態へ駆動される。ソース線ＳＬ上の電圧はたとえば電源電圧ＶＣＣレベルであり、ダミーセルＤＭＣに供給される基準電圧Ｖｒｅｆよりも高い電圧レベルである。ＳＯＩトランジスタＮＱ１およびＮＱ２の一方がデータ“０”を格納している場合、そのしきい値電圧は大きく電流量は少ない。一方、ＳＯＩトランジスタＮＱ１およびＮＱ２がともにデータ“１”を格納する場合、そのしきい値電圧は低く、大きな電流を流す。
【０１２０】
したがって、ＳＯＩトランジスタＮＱ１およびＮＱ２が、ともにデータ“１”を記憶している場合、ソース線ＳＬから読出ポートＲＰＲＴＢを介してセンス読出ビット線ＲＢＬに、大きな電流が流れる。ダミーセルＤＭＣにおいては、ダミートランジスタＤＴＢ０およびＤＴＢ１を介して基準電圧源Ｖｒｅｆから補のセンス読出ビット線ＺＲＢＬに電流が流れる。基準電圧Ｖｒｅｆ(電圧源とその電圧を同一参照符号で示す)は、ソース線ＳＬに供給される電圧（電源電圧ＶＣＣレベル）とビット線プリチャージ電圧ＶＰＣの間の電圧レベルである。この状態においては、ユニット演算子セルＵＯＥからの電流量が、ダミーセルＤＭＣからの電流量よりも大きく、センス読出ビット線ＲＢＬの電位は、補のセンス読出ビット線ＺＲＢＬの電位よりも高くなる。
【０１２１】
一方、ＳＯＩトランジスタＮＱ１およびＮＱ２の少なくとも一方がデータ“０”を格納している場合、ダミーセルＤＭＣが補のセンス読出ビット線ＺＲＢＬへ供給する電流量が、ユニット演算子セルＵＯＥが供給する電流量よりも大きくなる。この電流量の差により、センス読出ビット線ＲＢＬの電位は、補のセンス読出ビット線ＺＲＢＬの電位よりも低くなる。
【０１２２】
この状態で、センスアンプ活性化信号／ＳＯＰおよびＳＯＮをＬレベルおよびＨレベルにそれぞれ変化させ、センスアンプＳＡを活性化する。センス読出ビット線ＲＢＬおよびＺＲＢＬに読出されたデータ(電位または電流量)が、センスアンプＳＡにより差動増幅される。
【０１２３】
センスアンプＳＡのハイレベル出力電圧は、センスハイ側電源電圧ＶＢＣの電圧レベルであり、図１１に示す波形図においては、プリチャージ電圧ＶＰＣの２倍の電圧レベルである。ボディ領域（記憶ノード）のＰＮ接合においてはビルトイン電圧以下の電圧が印加されるだけであり、ボディ領域のＰＮ接合の導通による記憶データの破壊は生じない。
【０１２４】
これにより、センスアンプＳＡのハイ側電源電圧ＶＢＣのレベルの電圧が、センス読出ビット線ＲＢＬおよびＺＲＢＬのいずれかに伝達されても、ＳＯＩトランジスタＮＱ１およびＮＱ２およびダミートランジスタＤＴＢのボディ領域におけるＰＮ接合が順バイアスされてボディ領域に電荷が流入するのは回避され、記憶データの破壊を生じさせることなく、正確に、センス動作を行なうことができる。
【０１２５】
この後、図６に示す読出ゲートＣＳＧを読出ゲート選択信号ＣＳＬにより選択して、対応のメインアンプ(ＭＡ)にセンスアンプＳＡの出力信号を伝達する。
【０１２６】
なお、データの読出は、非破壊読出であり、記憶データの再書き込みを行うリストア期間は要求されない。したがって、センスアンプ動作前に読出ワード線ＲＷＬＡおよびＲＷＬＢが、非選択状態に駆動されても良い。リストア期間をなくすことにより読出サイクルを短縮することができる。
【０１２７】
図１２は、図１０に示すユニット演算子セルＵＯＥおよびダミーセルＤＭＣの選択態様における記憶データとセンスアンプの出力信号の論理値の関係を一覧にして示す図である。
【０１２８】
図１２に示すように、ＳＯＩトランジスタＮＱ１およびＮＱ２がともにデータ“１”を格納しているときのみ、ユニット演算子セルＵＯＥは、ダミーセルＤＭＣよりも大きな電流を供給するため、センスアンプの出力信号ＳＯＵＴは、“１”となる。一方、ＳＯＩトランジスタＮＱ１およびＮＱ２の少なくとも一方がデータ“０”を格納している場合には、ダミーセルＤＭＣが供給する電流が、ユニット演算子セルＵＯＥが供給する電流よりも大きくなり、センスアンプＳＡの出力信号ＳＯＵＴは、“０”となる。したがって、このセンスアンプＳＡの出力信号ＳＯＵＴは、ＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データのＡＮＤ演算結果を表わしている。また、センスアンプＳＡの出力信号ＳＯＵＴを反転させれば、ユニット演算子セルの記憶データのＮＡＮＤ演算結果が得られる。
【０１２９】
このようにして、装置外部にデータを読出すことなく、内部でユニット演算子セルの記憶データを読出すだけで、記憶データの論理演算を実行して演算結果を得ることができる。
【０１３０】
ＳＯＩトランジスタＮＱ１は、図１０においては図示しない読出ポートを介してＡポート読出ビット線ＲＢＬＡに結合される。この場合、読出ビット線ＲＢＬＡはフローティング状態であり、データ読出時、センス読出ビット線ＲＢＬの充電電位と同電位に充電されれば、その後、電位は変化せず、センス読出ビット線ＲＢＬに対するデータの読出には何ら悪影響は及ぼさない。
【０１３１】
図１３は、ポートＡ選択時のユニット演算子セルとダミーセルの接続態様を概略的に示す図である。このポートＡの接続時においては、ソース線ＳＬと読出ビット線ＲＢＬの間に、ＳＯＩトランジスタＮＱ１が１つ接続される。一方、ダミーセルＤＭＣにおいても、ダミーセル選択信号ＤＣＬＡに従って、基準電圧源と補の読出ビット線ＺＲＢＬの間に、ダミートランジスタＤＴＡが接続される。センスアンプＳＡのセンス動作は、先の図１０および図１１に示す場合と同じである。
【０１３２】
この図１３に示す配置において、ＳＯＩトランジスタＮＱ１がデータ“０”を記憶している場合には、ダミートランジスタＤＴＡから補の読出ビット線ＺＲＢＬへ流れる電流量が、ＳＯＩトランジスタＮＱ１を介してソース線ＳＬから読出ポートＲＰＲＴＡを介してセンス読出ビット線ＲＢＬへ流れる電流量よりも大きくなる。したがって、この場合、センスアンプＳＡの出力信号ＳＯＵＴは、Ｌレベル（“０”）である。一方、ＳＯＩトランジスタＮＱ１がデータ“１”を格納している場合には、ダミートランジスタＤＴＡを介して流れる電流量よりも、ＳＯＩトランジスタＮＱ１から読出ポートＲＰＲＴＡを介してセンス読出ビット線ＲＢＬへ流れる電流量が大きくなる。したがって、この場合、センスアンプＳＡの出力信号ＳＯＵＴはＨレベル（“１”）となる。
【０１３３】
したがって、図１４に示すように、Ａポート接続時においては、センスアンプＳＡの出力信号ＳＯＵＴは、このＳＯＩトランジスタＮＱ１の記憶データと同じ論理値のデータとなる。センスアンプＳＡの出力信号を反転させるまたはＳＯＩトランジスタＮＱ１に書込データの反転値を記憶させて読出すと、書込データのＮＯＴ演算結果を、センスアンプＳＡの出力に得ることができる。
【０１３４】
図１５は、この発明の実施の形態１に従う半導体信号処理装置のデータの演算シーケンスを示すタイミング図である。以下、図１５を参照して、この発明の実施の形態１に従う半導体信号処理装置の動作について図１から図８を参照して説明する。
【０１３５】
この半導体信号処理装置の動作サイクルは、外部からのクロック信号ＣＬＫにより規定される。クロック信号ＣＬＫの立上がりエッジで入力されたデータＤＩＮＡおよびＤＩＮＢが内部に取込まれて演算シーケンスが開始される。ここで、動作モードを指定するコマンドは、図１５においては、示していない。動作モードは、外部から与えられるまたは内部で発生されるコマンドにより指定される。
【０１３６】
このクロック信号ＣＬＫの立上がりエッジで取込まれたデータＡ０およびＢ０は、図４に示すデータパス２８に取込まれる。データパス２８に対しては、切換制御信号ＭＸＡＳおよびＭＸＢＳが与えられ、演算コマンドの指定する演算内容に従ってそのデータ転送経路が設定され、データＡ０およびＢ０についての反転／非反転が設定される。
【０１３７】
データパス２８からの内部書込データは、図７に示すグローバル書込ドライバ５８および５９を介してグローバル書込データ線上に伝達される。選択された（アドレス指定された）演算子セルサブアレイブロックにおいては、書込ワード線ＷＷＬが活性状態（Ｌレベル）に設定され、図１に示すＰチャネルＳＯＩトランジスタＰＱ１およびＰＱ２が導通し、ＳＯＩトランジスタＮＱ１およびＮＱ２のボディ領域ＳＮＡおよびＳＮＢに、書込データに応じた電荷が注入される。
【０１３８】
ＳＯＩトランジスタＮＱ１およびＮＱ２への書込が完了すると、読出ワード線ＲＷＬＡおよびＲＷＬＢまたは読出ワード線ＲＷＬＡを選択状態へ駆動する。図１５においては、書込ワード線ＷＷＬが選択状態の時に読出ワード線を選択状態に駆動している。書込は、ＳＯＩトランジスタのボディ領域に対して実行されており、この書込と読出が並行して実行されても、特に問題は生じない。しかしながら、書込が完了し、書込ワード線ＷＷＬが非選択状態に駆動された後に、読出ワード線が選択状態に駆動されても良い。
【０１３９】
ＡＮＤ演算を実行する場合には、読出ワード線ＲＷＬＡおよびＲＷＬＢが並行して選択状態へ駆動され、一方、ＮＯＴ演算を実行する場合には、読出ワード線ＲＷＬＡが選択状態へ駆動され、読出ワード線ＲＷＬＢは非選択状態に維持される。この読出ワード線の選択状態への駆動前に、ポート選択信号ＰＲＭＸが設定され、図６に示す読出ポート選択回路３６のポート接続スイッチＰＲＳＷ（ＰＲＳＷ０，ＰＲＳＷ１）が、読出ビット線ＲＢＬＡおよびＲＢＬＢの一方を選択し、センスアンプに対するセンス読出ビット線ＲＢＬに結合する。このポート選択信号ＰＲＭＸのポート選択態様も、演算コマンドが指定する演算内容に応じて設定される。
【０１４０】
読出ワード線ＲＷＬＡ／ＲＷＬＢの選択状態への駆動と並行して、ダミーセル選択信号ＤＣＬＡ／ＤＣＬＢも選択状態へ駆動される。これにより、センスアンプに接続される読出ビット線ＲＢＬおよびＺＲＢＬに、ユニット演算子セルの記憶データに応じた電流および選択されたダミーセルの基準電流が流れ、その電位が変化する。読出ワード線ＲＷＬＡおよびＲＷＬＢを選択状態へ駆動した後、所定のタイミングでセンスアンプ活性化信号／ＳＯＰおよびＳＯＮを活性化する。このセンスアンプのセンス動作により、読出ビット線ＲＢＬおよびＺＲＢＬの電圧レベルが変化する。センスアンプＳＡにより検知増幅されたデータが、対応のメインアンプＭＡに伝達される。
【０１４１】
センスアンプＳＡ（図６参照）のセンス結果が確定すると、メインアンプ活性化信号ＭＡＥＮが活性化され、メインアンプによりセンスアンプの生成した信号（データ）がさらに増幅される。ロジックパス指示信号ＬＧＰＳが所定の状態（演算コマンドが指定した演算内容に応じた状態）に設定され、組合せ論理演算回路２６において、インバータ、バッファ、またはＯＲゲートが選択され、データＤＯＵＴが外部へ出力される。このロジックパス指示信号ＬＧＰＳの状態の設定は、メインアンプ活性化信号ＭＡＥＮの活性化と並行して行われてもよく、また、データパスの経路指定と並行して行われても良い。図１５においては、メインアンプ活性化信号ＭＡＥＮと並行してロジックパス指示信号の状態設定が行われるように示す。
【０１４２】
次のサイクルにおいて再び、演算コマンドとともに入力データＤＩＮＡおよびＤＩＮＢとしてデータＡ１およびＢ１が取り込まれ、演算コマンドに応じた演算が実行される。したがって、入力データＤＩＮＡおよびＤＩＮＢが与えられると、データの書込および読出を連続的に行なうことにより、１クロックサイクル内で演算結果を示すデータＤＱ１、ＤＱ２、…、が出力データＤＯＵＴとして生成され、１クロックサイクルで演算を実行することができる。
【０１４３】
したがって、外部に対してデータを読出して、外部に別途設けられた論理ゲートを用いて演算処理を実行する構成に比べて、演算処理時間を短縮することができる。
【０１４４】
また、ユニット演算子セルは、図１に示すように４個のトランジスタで構成され、そのレイアウト面積は十分に低減することができる。また、ＳＯＩトランジスタのボディ領域に直接データに応じた量の電荷を注入しており、正確に記憶データに応じたしきい値電圧レベルに、データ記憶用ＳＯＩトランジスタのしきい値電圧を設定することができ、しきい値電圧のバラつきを低減することができる。
【０１４５】
図１６は、図４に示す制御回路３０の構成を概略的に示す図である。図１６において、制御回路３０は、外部からのコマンドＣＭＤをデコードするコマンドデコーダ７０と、このコマンドデコーダ７０からの演算操作指示ＯＰＬＯＧに従ってそれぞれ動作する接続制御回路７２、書込制御回路７４、読出ワード制御回路７６およびデータ読出制御回路７８を含む。
【０１４６】
コマンドデコーダ７０は、図示しないクロック信号ＣＬＫの立上がりエッジで外部からの動作内容を指定するコマンドＣＭＤを取込み演算操作内容を指定する演算操作指示ＯＰＬＯＧを生成する。
【０１４７】
接続制御回路７２は、この演算操作指示ＯＰＬＯＧに従ってデータパスに対する切換制御信号ＭＸＡＳおよびＭＸＢＳと、組合せ論理演算回路に対するロジックパス指示信号ＬＧＰＳを生成する。切換制御信号ＭＸＡＳおよびＭＸＢＳにより、データパスのデータ転送経路が設定され、また、ロジックパス指示信号ＬＧＰＳに従って組合せ論理演算回路における演算内容が設定される。
【０１４８】
書込制御回路７４は、演算操作指示ＯＰＬＯＧが与えられると、書込活性化信号ＷＲＥＮおよび書込ワード線活性化信号ＷＷＬＥＮを活性化する。この書込活性化信号ＷＲＥＮに従ってデータパスに含まれるグローバル書込ドライバおよび書込ワード線デコード回路等の書込に関連する回路が活性化される。書込ワード線活性化信号ＷＷＬＥＮは、書込ワード線を選択状態へ駆動するタイミングを与える。
【０１４９】
読出ワード制御回路７６は、演算操作指示ＯＰＬＯＧに従って読出活性化信号ＲＲＥＮ、読出ワード線活性化信号ＲＷＬＥＮＡ、ＲＷＬＥＮＢ、およびメインポート選択信号ＰＲＭＸＭを生成する。これらの信号に従って、選択された演算子セルアブアレイブロックにおいて読出に関連する部分の動作が行われる。読出ワード制御回路７６の動作開始タイミングは、書込制御回路７４における書込活性化信号ＷＲＥＮの活性化後に設定される。読出活性化信号ＲＲＥＮの活性化に従って、読出ワード線デコード回路などの回路が活性化される。
【０１５０】
データ読出制御回路７８は、読出ワード制御回路７６からの読出活性化信号ＲＲＥＮと演算操作指示ＯＰＬＯＧとに従って、センスアンプ活性化信号ＳＡＥＮ（／ＳＯＰ，ＳＯＮ）とメインアンプ活性化信号ＭＡＥＮと読出ゲート選択タイミング信号ＣＬＥＮを活性化する。読出ゲート選択タイミング信号ＣＬＥＮにより、センスアンプと対応のグローバル読出データ線との接続を行う読出ゲートの経路接続のタイミングが与えられる。
【０１５１】
これらの書込制御回路７４、読出ワード制御回路７６およびデータ読出制御回路７８の生成する信号は、各演算子セルサブアレイブロックに対して設けられる行選択駆動回路（２２）へ与えられ、各アドレス指定された演算子セルサブアレイブロックにおいて読出ワード線および書込ワード線の活性化およびダミーセルの選択、ビット線とセンスアンプとの接続、センスアンプの出力信号のメインアンプへの転送が行なわれる。
【０１５２】
図１７は、図４に示す行ドライブ回路ＸＤＲｉの構成の一例を、演算子セルサブアレイブロックの選択回路とともに示す図である。行ドライブ回路ＸＤＲｉ（ｉ＝０−３１）およびブロック選択回路９０が、図４に示す行選択駆動回路２２内において各演算子セルサブアレイブロックに対応して配置される。
【０１５３】
行ドライブ回路ＸＤＲｉは、読出ワード線を駆動する読出ワード線ドライブ回路８０と、ダミーセルを選択するダミーセル選択回路８２と、書込ワード線を選択する書込ワード線ドライブ回路８４とを含む。
【０１５４】
読出ワード線ドライブ回路８０は、読出活性化信号ＲＲＥＮによりイネーブルされ、読出ワード制御回路７６からの読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＷＬＥＮＢとアドレス信号ＡＤと演算子セルサブアレイブロックを指定するブロックアドレスＢＡＤとに従って、アドレス指定されたユニット演算子セル行に対応して配置される読出ワード線ＲＷＬＡおよびＲＷＬＢを選択状態へ駆動する。読出ワード線ドライブ回路８０において、読出ワード線ＲＷＬＡおよびＲＷＬＢの選択態様は、読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＷＬＥＮＢにより設定され、それにより、読出ポートＲＰＲＴＡおよびＲＰＲＴＢのいずれを介してデータを読出すかの設定が行なわれる。
【０１５５】
ダミーセル選択回路８２は、読出活性化信号ＲＲＥＮに従ってイネーブルされ、演算子セルサブアレイブロックを指定するブロックアドレス信号ＢＡＤと読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＷＬＥＮＢとに従って、ダミーセル選択信号ＤＣＬＡおよびＤＣＬＢを選択状態へ駆動する。ダミーセル選択信号ＤＣＬＡおよびＤＣＬＢの選択態様は、読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＷＬＥＮＢの選択態様に応じて設定され、読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＷＬＥＮＢ両者がともに活性化される場合には、ダミーセル選択信号ＤＣＬＢが選択状態へ駆動され、読出ワード線活性化信号ＲＷＬＥＮが活性状態でありかつ読出ワード線活性化信号ＲＷＬＥＮＢが非活性状態のときには、ダミーセル選択信号ＤＣＬＡが選択状態へ駆動される。
【０１５６】
書込ワード線ドライブ回路８４は、書込活性化信号ＷＲＥＮおよびブロックアドレス信号ＢＡＤに従ってイネーブルされ、アドレス信号ＡＤが指定するユニット演算子セル行に対して配置される書込ワード線を、書込ワード線活性化信号ＷＷＬＥＮに従って選択状態へ駆動する。
【０１５７】
ブロック選択回路９０は、読出ゲートを選択する読出ゲート選択回路９２と、読出ビット線接続経路制御するポート接続制御回路９４とを含む。読出ゲート選択回路９２は、読出活性化信号ＲＲＥＮの活性化時、ブロックアドレス信号ＢＡＤが対応の演算子セルサブアレイブロックを指定するとき、読出ゲート選択タイミング信号ＣＬＥＮに従って読出ゲート選択信号ＣＳＬを選択状態へ駆動する。ここで、読出ゲート（ＣＳＧ）の選択態様については、選択された演算子サブアレイブロックにおいて全ての列が並行して選択される場合を想定する。サブアレイブロック内において所定数のセンスアンプで構成されるセンスアンプグループが選択される場合には、アドレス信号に従って読出列選択信号を生成して読出ゲート選択信号ＣＳＬと合成する。
【０１５８】
ポート接続制御回路９４は、読出活性化信号ＲＲＥＮの活性化時、ブロックアドレス信号ＢＡＤが対応の演算子セルサブアレイブロックを指定するとき、メインポート選択信号ＰＲＭＸＭに従ってポート選択信号／ＰＲＭＸＡおよび／ＰＲＭＸＢを選択的に非活性化する。ポート選択信号／ＰＲＭＸＡおよび／ＰＲＭＸＢが、ポート選択信号ＰＲＭＸに対応する。メインポート選択信号ＰＲＭＸＭは、ポート指定情報を含み、ポート接続制御回路９４は、このメインポート選択信号ＰＲＭＸＭが指定するポートに対応する読出ビット線（ＲＢＬＡ／ＲＢＬＢ）を、センス読出ビット線ＲＢＬに接続する。このポート接続制御回路９４は、スタンバイ状態時においては、ポート選択信号／ＰＲＭＸＡおよび／ＰＲＭＸＢを活性状態に維持し、センス読出ビット線ＲＢＬを、読出ビット線ＲＢＬＡおよびＲＢＬＢに接続する。これにより、図６に示すビット線プリチャージ／イコライズ回路による所定電位（電圧ＶＰＣ）レベルへのプリチャージおよびイコライズが行なわれる。
【０１５９】
図１８は、図６に示すポート接続回路ＰＲＳＷの構成の一例を示す図である。図１８において、ポート接続回路ＰＲＳＷは、２つのＮチャネルＳＯＩトランジスタＮＴ１およびＮＴ２を含む。トランジスタＮＴ１およびＮＴ２は、バルクトランジスタ（ウェル領域表面に形成されるトランジスタ）で構成されてもよい。
【０１６０】
トランジスタＮＴ１およびＮＴ２は、ポート選択信号／ＰＲＭＸＢおよび／ＰＲＭＸＡの活性化時（Ｌレベルのとき）非導通状態とされる。すなわち、これらのポート選択信号／ＰＲＭＸＡおよび／ＰＲＭＸＢは、読出ポートＲＰＲＴＡおよびＲＰＲＴＢがそれぞれ指定されるときに、それぞれ活性状態のＬレベルに設定される。したがって、読出ポートＲＰＲＴＡが指定されたときには、ポート選択信号／ＰＲＭＸＡがＬレベルとなり、トランジスタＮＴ２が非導通状態、トランジスタＮＴ１が導通状態となる。逆に、読出ポートＲＰＲＴＢが指定されたときには、ポート選択信号／ＰＲＭＸＡがＨレベルの非活性状態、ポート選択信号／ＰＲＭＸＢが活性状態のＬレベルとなる。したがって、トランジスタＮＴ２により、Ｂポート読出ビット線ＲＢＬＢが、センス読出ビット線ＲＢＬに接続される。
【０１６１】
なお、トランジスタＮＴ１およびＮＴ２に代えてトランスミッションゲートが用いられても良い。
【０１６２】
次に、この発明の実施の形態１に従う半導体信号処理装置の具体的な演算処理態様について説明する。
【０１６３】
［ＮＯＴ演算］
図１９は、この発明の実施の形態１に従う半導体信号処理装置におけるＮＯＴ演算実行時のデータパス２８および組合せ論理演算回路２６のデータ伝搬の接続態様を概略的に示す図である。図１９において、このＮＯＴ演算時において、データパス２８においては、マルチプレクサ（ＭＵＸＡ）５６は、外部からの入力データＤＩＮＡ（＝Ａ）を受けるインバータ５２の出力信号を選択し、図示しないグローバル書込ドライバを介してグローバル書込データ線ＷＧＬＡ上に伝達する。したがって、グローバル書込データ線ＷＧＬＡ上には、反転データ／Ａが伝達され、ユニット演算子セルＵＯＥに書込まれる。このとき、マルチプレクサ（ＭＵＸＢ）５７は、その入力の選択態様は「ドントケア」状態であり、グローバル書込データ線ＷＧＬＢには、有効書込データは伝達されない。したがって、ユニット演算子セルＵＯＥにおいては、ＳＯＩトランジスタＮＱ１のボディ領域（記憶ノードＳＮＡ）にデータ／Ａが格納される。
【０１６４】
ダミーセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＡが与えられ（活性化され）、ダミートランジスタＤＴＡが導通状態となる。読出ポート選択回路３６においては、ポート接続回路（ＰＲＳＷ）において、読出ポートＲＰＲＴＡ（以下、適宜、ポートＡまたはＡポートと称す）を選択する状態に設定され、読出ビット線ＲＢＬＡがセンスアンプＳＡに結合される。
【０１６５】
したがって、センスアンプＳＡの出力データは、このユニット演算子セルＵＯＥに格納されたデータＡの反転データ／Ａであり、メインアンプ回路２４における対応のメインアンプＭＡからは、この反転データ／Ａが伝達される。
【０１６６】
組合せ論理演算回路２６においては、バッファＢＵＦＦ０が選択されるため、レジスタ５０を介して外部へ出力されるデータＤＯＵＴは、反転データ／Ａとなる。これにより、ＮＯＴ演算を行なうことができる。
【０１６７】
なお、デーパス２８において、入力データＡを選択してユニット演算子セルＵＯＥに書込み、このデータを読出して、組合せ論理演算回路２６においてインバータ（ＩＮＶ０）を選択してレジスタ５０を介して外部データＤＯＵＴを生成しても良い。この場合においては、センスアンプＳＡからの非反転データＡが反転されて出力され、同様、入力データに対するＮＯＴ演算結果が得られる。
【０１６８】
［ＡＮＤ演算］
図２０は、この発明の実施の形態１に従う半導体信号処理装置におけるＡＮＤ演算実行時のデータ伝搬経路の接続態様を概略的に示す図である。図２０において、データパス２８においては、マルチプレクサ５６および５７は、外部からの入力データＤＩＮＡ（＝Ａ）およびＤＩＮＢ（＝Ｂ）を選択する。したがって、グローバル書込データ線ＷＧＬＡおよびＷＧＬＢ上には、図示しないグローバル書込ドライバを介して書込データＡおよびＢが伝達される。ユニット演算子セルＵＯＥにおいては、書込データＡおよびＢが、ＳＯＩトランジスタＮＱ１およびＮＱ２のボディ領域にそれぞれ格納される。
【０１６９】
読出ポート選択回路３６においては、読出ポートＲＰＲＴＢ（以下、適宜、ポートＢまたはＢポート称す）が選択され、読出ビット線ＲＢＬＢがセンスアンプＳＡに結合される。ダミーセルＤＭＣにおいては、ダミーセル選択信号ＤＣＬＢに従って、ダミートランジスタＤＴＢ０／１（ＤＴＢ０，ＤＴＢ１）が選択される。したがって、この場合、図１２に示すように、センスアンプＳＡの出力データは、データＡおよびＢのＡＮＤ演算結果を示しており、メインアンプ回路２４の対応のメインアンプＭＡからは、ＡＮＤ演算結果Ａ・Ｂが出力される。
【０１７０】
組合せ論理演算回路２６においては、バッファＢＦＦ０が、ロジックパス指示信号に従って選択される。したがって、バッファＢＦＦ０からレジスタ５０を介して伝達される出力データＤＯＵＴは、データＡ・Ｂとなる。これにより、入力データＡおよびＢについての論理積演算結果（ＡＮＤ演算結果）を得ることができる。
【０１７１】
［ＯＲ演算］
図２１は、この発明の実施の形態１に従う半導体信号処理装置におけるＯＲ演算実行時のデータ伝搬経路の接続態様を概略的に示す図である。ＯＲ演算実行時においては、データパス２８において、マルチプレクサ５６および５７は、それぞれ、インバータ５２および５４を介して与えられる入力データＤＩＮＡ（＝Ａ）およびＤＩＮＢ（＝Ｂ）の反転値を選択する。したがって、グローバル書込データ線ＷＧＬＡおよびＷＧＬＢ上には、データ／Ａおよび／Ｂが、それぞれ、図示しないグローバル書込ドライバを介して伝達され、対応のユニット演算子セルＵＯＥに格納される。
【０１７２】
読出ポート選択回路３６においては、ポートＢ（読出ポートＲＰＲＴＢ）が選択され、読出ビット線ＲＢＬＢがセンスアンプＳＡに結合される。ダミーセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＢが与えられ、ダミートランジスタＤＴＢ０およびＤＴＢ１が選択される。したがって、この場合、センスアンプＳＡは、ＡＮＤ演算を実行するため、メインアンプ回路２４における対応のメインアンプＭＡの出力データは、データ／Ａ・／Ｂとなる。
【０１７３】
組合せ論理演算回路２６においては、インバータＩＶ０が選択され、メインアンプＭＡの出力データを反転する。したがって、レジスタ５０を介して出力されるデータＤＯＵＴは、データ／（／Ａ・／Ｂ）となり、これは、データ（Ａ＋Ｂ）と等価であり、入力データＡおよびＢのＯＲ（論理和）演算結果が得られる。
【０１７４】
［ＸＯＲ演算］
図２２は、この発明の実施の形態１に従う半導体信号処理装置におけるＸＯＲ演算実行時のデータ伝搬経路の接続態様を概略的に示す図である。この図２２に示すように、ＸＯＲ演算を実行する場合には、１つのデータパス演算単位グループ内に含まれるデータパス単位ブロックＤＰＵＢ０およびＤＰＵＢ１を利用する。データパス単位ブロックＤＰＵＢ０において、マルチプレクサ（ＭＵＸＡ）５６は、入力データＤＩＮＡ（＝Ａ）を選択し、マルチプレクサ５７は、インバータ５４からの入力データＤＩＮＢ（＝Ｂ）の反転値を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上には、データＡおよび／Ｂがそれぞれ伝達されて、対応のユニット演算子セルＵＯＥ０に格納される。
【０１７５】
データパス単位ブロックＤＰＵＢ１においては、マルチプレクサ５６は、インバータ５２からの入力データＡの反転値を選択し、マルチプレクサ５７は、入力データＢを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１上には、データ／ＡおよびＢがそれぞれ伝達され、対応のユニット演算子セルＵＯＥ１に格納される。
【０１７６】
演算子セルサブアレイブロックＯＡＲｉにおいては、ダミーセルＤＭＣに対しダミーセル選択信号ＤＣＬＢが与えられ、２つの直列に接続されるダミートランジスタＤＴＢ０およびＤＴＢ１が選択される。読出ポート選択回路３６においては、ポートＢ（読出ポートＲＰＲＴＢ）が選択され、したがって、読出ビット線ＲＢＬＢ０およびＲＢＬＢ１がそれぞれ、対応のセンスアンプＳＡ０およびＳＡ１に結合される。このダミーセルおよびユニット演算子セルの接続態様においては、センスアンプＳＡ０およびＳＡ１はそれぞれ、ＡＮＤ演算結果を出力する。したがって、メインアンプ回路２４におけるメインアンプＭＡ０からはデータＡ・／Ｂが出力され、メインアンプＭＡ１からは、データ／Ａ・Ｂが生成される。
【０１７７】
組合せ論理演算回路２６においては、２入力ＯＲゲートＯＧ０が選択され、メインアンプＭＡ０およびＭＡ１の出力信号の論理和が取られる。したがって、レジスタ５０からの出力データＤＯＵＴは、（／Ａ・Ｂ＋Ａ・／Ｂ）であり、入力データＡおよびＢに対するＸＯＲ演算結果を、出力データＤＯＵＴとして得ることができる。
【０１７８】
［ＸＮＯＲ演算］
図２３は、この発明の実施の形態１に従う半導体信号処理装置におけるＸＮＯＲ演算実行時のデータ伝搬経路の接続態様を概略的に示す図である。図２３において、ＸＮＯＲ演算実行時においても、２つのデータパス単位ブロックＤＰＵＢ０およびＤＰＵＢ１が用いられる。データパス単位ブロックＤＰＵＢ０において、マルチプレクサ（ＭＵＸＡ）５６が、インバータ５２からの入力データＤＩＮＡ（＝Ａ）の反転値を選択し、マルチプレクサ（ＭＵＸＢ）５７は、同様、インバータ５４からの入力データＤＩＮＢ（＝Ｂ）の反転値を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上には、データ／Ａおよび／Ｂがそれぞれ伝達され、ユニット演算子セルＵＯＥ０に格納される。
【０１７９】
データパス単位ブロックＤＰＵＢ１においては、マルチプレクサ５６および５７は、入力データＡおよびＢを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１上には、データＡおよびＢが伝達され、対応のユニット演算子セルＵＯＥ１に格納される。
【０１８０】
メモリセルアレイ３４において、ダミーセルＤＭＣに対して、ダミーセル選択信号ＤＣＬＢが与えられ、ダミートランジスタＤＴＢ０およびＤＴＢ１の直列体が選択される。読出ポート選択回路３６においては、ポートＢ（読出ポートＲＰＴＲＢ）が選択される。したがって、読出ビット線ＲＢＬＢ０およびＲＢＬＢ１がそれぞれ、対応のセンスアンプＳＡ０およびＳＡ１に結合される。
【０１８１】
この接続態様の場合、センスアンプＳＡ０およびＳＡ１は、それぞれ、ユニット演算子セルＵＯＥ０およびユニット演算子セルＵＯＥ１の記憶データのＡＮＤ演算を行ない、演算結果を示すデータを、メインアンプ回路２０に含まれる対応のメインアンプＭＡ０およびＭＡ１へ伝達する。したがって、メインアンプＭＡ０からデータ／Ａ・／Ｂが生成され、メインアンプＭＡ１からは、データＡ・Ｂが生成される。
【０１８２】
組合せ論理演算回路２６においては、メインアンプＭＡ０およびＭＡ１の出力データを受ける２入力ＯＲゲートＯＧ０が選択される。したがって、このＯＲゲートＯＧ０からレジスタ５０を介して出力されるデータＤＯＵＴは、データＡ・Ｂ＋／Ａ・／Ｂとなり、入力データＡおよびＢのＸＮＯＲ演算結果に等しい。
【０１８３】
以上のように、データパス２８および組合せ論理演算回路２６におけるデータ転送経路を演算内容に応じて設定することにより、１クロックサイクルで、入力データに対する演算結果を得ることができる。
【０１８４】
図２４は、２つの論理演算を連続して行なう複合演算の演算シーケンスの一例を示すフロー図である。この図２４においては、複合演算（Ａ．ｏｐ１．Ｂ）．ｏｐ２．Ｃを処理する場合の動作を示す。以下、この図２４を参照して、複合演算処理シーケンスについて説明する。なお、演算子ｏｐ１およびｏｐ２の演算は、それぞれ１クロックサイクルで実行される。
【０１８５】
まず、外部から演算指示が与えられるのを待つ（ステップＳ１）。演算指示が与えられると、データＡおよびＢを入力し、この演算指示の示す演算内容（ＯＰＬＯＧにより指定される）に従って、データパスおよびロジックパスの経路が、演算子ｏｐ１に応じて設定される（ステップＳ２）。ロジックパスは、組合せ論理演算回路を示す。この場合、データパス単位ブロック(ＤＰＵＢ)においては、演算子ｏｐ１がＡＮＤ演算のときには、データＡおよびＢを選択する。演算子ｏｐ１がＯＲ演算のときには、データ／Ａおよび／Ｂを選択する。演算子ｏｐ１がＸＯＲ演算のときには、データ（Ａ，／Ｂ）および（／Ａ，Ｂ）の組を選択する。演算子ｏｐ１がＸＮＯＲ演算のときには、データ（／Ａ，／Ｂ）および（Ａ，Ｂ）を選択する。すなわち、先に示したように、ＸＯＲ演算およびＸＮＯＲ演算の場合には、２つのデータパス単位ブロックＤＰＵＢを利用して演算を実行する。
【０１８６】
このデータパスのデータ伝播経路が設定されると(このときには、ロジックパスの経路も設定される）、演算子セルサブアレイブロックへ書込アクセスを行ない、設定されたデータをユニット演算子セルに書込む（ステップＳ３）。
【０１８７】
この演算子セルサブアレイブロックへのデータの書込と並行して、この演算子セルサブアレイブロックからのデータの読出を行なう（ステップＳ４）。この場合、一例として、演算子ｏｐ１が、ＡＮＤ演算、ＯＲ演算、ＸＯＲ演算およびＥＮＯＲ演算のいずれの場合においても、ポートＢが選択される。すなわち、ダミーセル選択信号ＤＣＬＢを選択状態に駆動し、また、読出ワード線ＲＷＬＡおよびＲＷＬＢを選択状態に駆動する。これは、先の図１９から図２３のデータ接続経路に対するダミーセルおよびポートの選択態様から求められる。読出ビット線ＲＢＬＢおよびＺＲＢＬＢを対応のセンスアンプに結合してセンス動作を実行する。このセンスアンプの出力信号が対応のメインアンプに伝達される。
【０１８８】
演算子セルサブアレイブロックからデータの読出が行なわれると、メインアンプの出力データが確定する。メインアンプＭＡの出力信号が確定すると、演算子ｏｐ１に応じて決定されたロジックパス（組合せ論理演算回路）の経路を介してデータが、転送される（ステップＳ５）。この場合、ロジックパス（組合せ論理演算回路）においては、演算子ｏｐ１がＡＮＤ演算およびＯＲ演算の場合には、それぞれ、メインアンプの出力信号ＭＡおよびその反転信号／ＭＡが選択される。演算子ｏｐ１がＸＯＲ演算およびＸＮＯＲ演算の場合には、２入力ＯＲゲート（ＯＧ０）が選択される。このロジックパスの経路を介して転送されたデータが、データパスのレジスタ（５０）に格納される。これにより、演算結果（Ａ．ｏｐ１．Ｂ）が、データＲｅｇとして格納される（ステップＳ６）。この書込および読出に１クロックサイクルが消費され、演算子ｏｐ１による演算を行う１演算サイクルが完了する。
【０１８９】
ここで、センスアンプ出力により、ＡＮＤ演算およびＯＲ演算を行う場合を想定している。ＮＡＮＤ演算およびＮＯＲ演算も同様に実行することができる。論理積演算を、ＡＮＤ演算およびＮＡＮＤ演算両者を示し、論理和演算をＮＯＲ演算およびＯＲ演算両者を参照するものとして、以下の説明においてはこれらの論理積および論理和の用語を用いる。
【０１９０】
次いで、次の演算サイクルに入り、データＣを入力し、また演算子ｏｐ２に応じてデータパスおよびロジックパスの経路を設定する（ステップＳ７）。この場合、データパス(ＤＰＵＢ)においては、演算子ｏｐ２がＡＮＤ演算の場合には、外部データＣおよびデータパス内のレジスタ（５０）の格納データＲｅｇを選択する。演算子ｏｐ２がＯＲ演算のときには、外部データの反転データ／Ｃおよびレジスタの格納データの反転値／Ｒｅｇを選択する。ＸＯＲ演算の場合には、（Ｃ，／Ｒｅｇ）および（／Ｃ，Ｒｅｇ）のデータの組を選択する。ＸＮＯＲ演算の場合には、データ（／Ｃ，／Ｒｅｇ）および（Ｃ，Ｒｅｇ）のデータの組を選択する。
【０１９１】
次いで、先のステップＳ２からステップＳ４と同様にして、演算子セルサブアレイブロックへの書込アクセス、読出アクセスを行なう。この場合においても、ポートＢが選択され、また、ダミーセルＤＭＣとしては、ポートＢ選択用のダミートランジスタ（ＤＴＢ０、ＤＴＢ１）が選択される。これにより、センスアンプ出力に従って、メインアンプの出力が確定する（ステップＳ８）。
【０１９２】
確定されたセンスアンプ出力が、組合せ論理演算回路において演算子ｏｐ２に応じて決定されたロジックパス経路を介して転送される（ステップＳ９）。この組合せ論理演算回路のデータ経路の設定態様は、演算子ｏｐ１の場合と同様である。
【０１９３】
このステップＳ９による組合せ論理回路の設定されたデータ伝播経路を介してのデータ転送により、演算結果データが求められ、レジスタを介して最終演算結果データＤＯＵＴを出力する（ステップＳ１０）。これにより、第２演算サイクルが完了する。
【０１９４】
この複合演算時においては、演算（Ａ．ｏｐ１．Ｂ）の結果が確定するのを待って演算処理を実行する必要があり、合計２回演算子セルサブアレイにシリアルにアクセスする必要がある。すなわち、演算子ｏｐ１については、１クロックサイクルでデータの書込および読出が行なわれ、また、演算子ｏｐ２についても、１クロックサイクルでデータの書込および読出が行なわれる。したがって、合計２クロックサイクルで、演算子ｏｐ１およびｏｐ２ついての演算を実行することができる。
【０１９５】
処理シーケンスにおいて、演算子ｏｐ１をデータＡおよびＢとともに発行した後、１クロックサイクル経過後に、演算子ｏｐ２をデータＣとともに発行して演算処理を実行する。これにより、複合演算処理を、内部構成のデータ経路を切換えるだけで、容易に実現することができる。
【０１９６】
なお、内部のメインアンプの出力信号、すなわちデータパスのレジスタの格納値が確定するとデータＣについての書込サイクルを開始することができる。従って、内部でのデータＣについての書込アクセスタイミングを早くすることは可能である（連続クロックサイクルで書込データを入力し、データＣについての書込ドライバのタイミングをデータパス内のレジスタのデータ確定タイミングに合わせる）。
【０１９７】
以上のように、この発明の実施の形態１に従えば、ユニット演算子セルを２つのＳＯＩトランジスタを利用し、そのボディ領域の蓄積電荷量に応じてデータを記憶し、これらのＳＯＩトランジスタの演算内容に応じて選択するとともに、書込データおよび読出データを演算内容に応じて設定している。
【０１９８】
したがって、ユニット演算子セルに対しては、ビット線に流れる電流量の大小を検出して、記憶データの読出を行っている。したがって、キャパシタなどを利用する電荷の移動によるデータの読出と異なり、高速で読出動作を行なうことができる。また、大きな電流量の変化を生じさせることができ、低電源電圧下においても、確実にデータの検出を行なうことができる。また、外部のデータを読出して別途設けられた論理ゲートで演算処理を行なっておらず、高速で演算処理を実行することができる。またユニット演算子セルは、４つのＳＯＩトランジスタで構成されており、レイアウト面積が低減され、メモリセルアレイの面積の増大を抑制することができる。
【０１９９】
［実施の形態２］
図２５は、この発明の実施の形態２に従う半導体信号処理装置における１ビット加算器の構成を概略的に示す図である。図２５においては、データパス演算単位グループ（４４）に含まれるデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３の構成を示す。この図２５に示す構成においては、ユニット演算子セルＵＯＥ０およびＵＯＥ１に対し、ワードゲート回路１００が設けられ、ユニット演算子セルＵＯＥ２およびＵＯＥ３に対し、ワードゲート回路１０２が設けられる。これらのユニット演算子セルＵＯＥ０−ＵＯＥ３は、それぞれ、データパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３に対応して配置される。
【０２００】
ワードゲート回路１００は、入力キャリーＣｉｎが“０”のとき、書込ワード線ＷＷＬ上の信号および読出ワード線対ＲＷＬＡ／Ｂ上の信号をローカルワード線群ＬＷＬＧ０上に伝達し、入力キャリーＣｉｎが“１”のときには、ローカルワード線群ＬＷＬＧ０を非選択状態に維持する。
【０２０１】
ここで、読出ワード線対ＲＷＬＡ／Ｂは、読出ワード線ＲＷＬＡおよびＲＷＬＢを含む。ローカルワード線群ＬＷＬＧ０は、ローカルの書込ワード線ＬＷＷＬ０、およびローカル読出ワード線ＬＲＷＬＡ０およびＬＲＷＬＢ０を含む。ローカル書込／読出ワード線ＬＷＬＧは、図２５に示す構成においては、これらの２つのユニット演算子セルＵＯＥ０およびＵＯＥ１の組またはユニット演算子セルＵＯＥ２およびＵＯＥ３に対して配置される書込／読出ワード線を示す。
【０２０２】
ワードゲート回路１０２は、入力キャリーＣｉｎが“１”のとき、書込ワード線ＷＷＬ上の信号電位および読出ワード線対ＲＷＬＡ／Ｂ上の信号電位を、対応のローカルワード線群ＬＷＬＧ１に伝達し、入力キャリーＣｉｎが“０”のときには、対応のローカルワード線群ＬＷＬＧ１を非選択状態に維持する。
【０２０３】
したがって、ユニット演算子セルＵＯＥ０およびＵＯＥ１は、入力キャリーＣｉｎが“１”のときには、非選択状態に設定され、また、ユニット演算子セルＵＯＥ２およびＵＯＥ３は、入力キャリーＣｉｎが“０”のときには、非選択状態に設定される。すなわち、ユニット演算子セルに対するデータの書込／読出は、入力キャリーＣｉｎの論理値に従って選択的に実行される。
【０２０４】
１ビット加算時においては、ダミーセルＤＭＣに対しダミーセル選択信号ＤＣＬＢが与えられ、２つの直列ダミートランジスタ（ＤＴＢ０，ＤＴＢ１）が選択される。読出ポート選択回路３６においては、ポートＢ（読出ポートＲＰＲＴＢ）が選択され、それぞれの読出ビット線ＲＢＬＢが対応のセンスアンプＳＡ０−ＳＡ３に結合される。これらのセンスアンプＳＡ０−ＳＡ３からは、それぞれ、対応のユニット演算子セルＵＯＥ０−ＵＯＥ３の記憶データに対するＡＮＤ演算結果が出力される（ユニット演算子セルが選択状態のとき）。
【０２０５】
この加算操作においては、データパス演算単位グループ４４において、以下の経路設定が行なわれる。すなわち、データパス単位ブロックＤＰＵＢ０においては、マルチプレクサ５６が入力データＤＩＮＡ（＝Ａ）を選択し、マルチプレクサ５７が、インバータ５４からの入力データＤＩＮＢ（＝Ｂ）の反転値を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上には、図示しないグローバル書込ドライバを介してデータＡおよび／Ｂがそれぞれ伝達される。
【０２０６】
データパス単位ブロックＤＰＵＢ１においては、マルチプレクサ５６は、インバータ５２からの入力データＡの反転値を選択し、マルチプレクサ５７は、入力データＢを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１には、それぞれ、データ／ＡおよびＢが伝達される。
【０２０７】
データパス単位ブロックＤＰＵＢ２においては、マルチプレクサ５６および５７は、インバータ５２および５４からそれぞれ与えられる入力データＡおよびＢの反転値を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ２およびＷＧＬＢ２には、それぞれ、データ／Ａおよび／Ｂが伝達される。
【０２０８】
データパス単位ブロックＤＰＵＢ３においては、マルチプレクサ５６および５７は、入力データＡおよびＢを選択する。したがって、グローバル書込データ線ＷＧＬＡ３およびＷＧＬＢ３上にはデータＡおよびＢが伝達される。
【０２０９】
ダミーセルＤＭＣとしては、ダミーセル選択信号ＤＣＬＢに従って直列接続される２つのダミートランジスタ（ＤＴＢ０、ＤＴＢ１）が選択される。
【０２１０】
組合せ論理演算回路２６においては、メインアンプ回路２４に含まれるメインアンプＭＡ０（図示せず）−ＭＡ３の出力を受ける４入力ＯＲゲートＯＧ１がロジックパス指示信号ＬＧＰＳに従って選択される。なお、読出ポート選択回路３６、組合せ論理演算回路２６およびデータパス２８においては、それぞれ制御信号／ＰＲＭＸＢ、ＬＧＰＳ、ＭＸＡＳおよびＭＸＢＳに従って、それぞれの経路が設定される。
【０２１１】
図２６は、この図２５に示す１ビット加算器におけるサムＳＵＭと入力データＡおよびＢと入力キャリーＣｉｎとの関係を一覧にして示す図である。図２６において、入力キャリーＣｉｎが“０”のとき、サムＳＵＭが“１”となるのは、データ（Ａ，Ｂ）が、データ（０，１）および（１，０）のときである。すなわち、入力キャリーＣｉｎが“０”のときには、演算結果／Ａ・ＢおよびＡ・／Ｂのいずれかが“１”のときに、サムＳＵＭは、“１”となる。
【０２１２】
一方、入力キャリーＣｉｎが“１”のとき、サムＳＵＭが“１”となるのは、データ（Ａ，Ｂ）が、データ（０，０）または（１，１）のときである。すなわち、演算結果／Ａ・／ＢおよびＡ・Ｂの一方が“１”のときに、サムＳＵＭが、“１”となる。
【０２１３】
この図２６に示す関係を利用して、入力キャリーＣｉｎを、ワード線（書込ワード線および読出ワード線両者を含む）の選択／非選択を設定する。
【０２１４】
図２７は、図２４に示すワードゲート回路１００および１０２の構成の一例を概略的に示す図である。図２７において、ワードゲート回路１０２は、書込ワード線ＷＷＬおよび読出ワード線ＲＷＬＡ、ＲＷＬＢに対応して設けられるＡＮＤゲート１１０ａ−１１０ｃを含む。ＡＮＤゲート１１０ａ−１１０ｃは、入力キャリーＣｉｎが“１”（Ｈレベル）のとき、対応のワード線ＷＷＬ、ＲＷＬＡおよびＲＷＬＢ上の信号を、対応のローカル書込ワード線ＬＷＷＬ１、およびローカル読出ワード線ＬＲＷＬＡ１およびＬＲＷＬＢ１にそれぞれ伝達する。入力キャリーＣｉｎが“０”（Ｌレベル）のときには、ワードゲート回路１０２は、ローカルワード線群ＬＷＬＧ１の各ローカルワード線をすべて非選択状態のＬレベルに維持する。
【０２１５】
ワードゲート回路１００は、入力キャリーＣｉｎを反転するインバータ１１４と、ローカルワード線ＬＷＷＬ０、ＬＲＷＬＡ０およびＬＲＷＬＢ０それぞれに対して設けられるＡＮＤゲート１１６ａ−１１６ｃを含む。インバータ１１４からの反転入力キャリー／Ｃｉｎが、ＡＮＤゲート１１６ａ−１１６ｃに共通に与えられる。入力キャリーＣｉｎが“１”のときには、ＡＮＤゲート１１６ａ−１１６ｃは、対応のローカルワード線ＬＷＷＬ０、ＬＲＷＬＡ０およびＬＲＷＬＢ０をすべて非選択状態のＬレベルに設定する。一方、入力キャリーＣｉｎが“０”のときには、ＡＮＤゲート１１６ａ−１１６ｃは、それぞれ、対応のワード線ＷＷＬ、ＲＷＬＡ、およびＲＷＬＢ上の信号を、対応のローカルワード線ＬＷＷＬ０、ＬＲＷＬＡ０、およびＬＲＷＬＢ０に伝達する。
【０２１６】
次に、図２６および図２７を参照して、図２５に示す１ビット加算器の加算動作について説明する。上述のように、読出ポートとしてポートＢが選択され、ダミーセルとしては、直列ダミートランジスタ（ＤＴＢ０，ＤＴＢ１）が選択される。したがって、センスアンプＳＡ０−ＳＡ３からは、対応のユニット演算子セルＵＯＥ０−ＵＯＥ３の記憶データのＡＮＤ演算結果が、入力キャリーＣｉｎの論理値に応じて選択的に出力される。
【０２１７】
（Ｉ）  入力キャリーＣｉｎが、“０”のとき：
ワードゲート回路１００は、書込ワード線ＷＷＬ、および読出ワード線ＲＷＬＡ，ＲＷＬＢの信号に従って、ローカルワード線群ＬＷＬＧ０を駆動する。したがって、ユニット演算子セルＵＯＥ０およびＵＯＥ１には、データ書込時に、データ（Ａ，／Ｂ）および（／Ａ，Ｂ）がそれぞれ格納される。データ読出時に、したがって、センスアンプＳＡ０からは、データ（Ａ・／Ｂ）が出力され、センスアンプＳＡ１からは、データ（／Ａ・Ｂ）が出力される。
【０２１８】
一方、ユニット演算子セルＵＯＥ２およびＵＯＥ３は、ワードゲート回路１０２により、すべて非選択状態に維持されるため、対応の読出ビット線ＲＢＬＢには、電流は流れない。一方、ダミーセルＤＭＣが選択されているため、補の読出ビット線ＺＲＢＬを介して流れる電流量は、対応の読出ビット線ＲＢＬＢを介して流れる電流よりも多くなる。したがって、ユニット演算子セルＵＯＥ２およびＵＯＥ３は、その記憶データの論理値にかかわらず、等価的に、ともにデータ“０”を記憶する状態と判定され、センスアンプＳＡ２およびＳＡ３の出力信号は“０”（Ｌレベル）となる。
【０２１９】
これらのセンスアンプＳＡ０−ＳＡ３の出力データが、対応のメインアンプＭＡ０（図示せず）およびＭＡ１−ＭＡ３を介して４入力ＯＲゲートＯＧ１へ伝達される。したがって、センスアンプＳＡ０およびＳＡ１の出力データすなわち（Ａ・／Ｂ）および（／Ａ・Ｂ）の一方がＨレベルであれば、４入力ＯＲゲートＯＧ１の出力信号がＨレベル（“１”）となり、一方、データ（Ａ・／Ｂ）および（／Ａ・Ｂ）がともにＬレベルであれば、ＯＲゲートＯＧ１の出力信号はＬレベル（“０”）となる。この４入力ＯＲゲートＯＧ１からの出力信号は、入力キャリーＣｉｎが“０”の場合におけるデータ（Ａ・／Ｂ）および（／Ａ・Ｂ）の論理値に応じてサムＳＵＭを生成する図２６に示す論理値表を満たしている。従って、入力キャリーＣｉｎが“０”の場合、正確にサムＳＵＭを生成することができる。
【０２２０】
（II）  入力キャリーＣｉｎが“１”のとき：
この状態においては、ワードゲート回路１００により、ユニット演算子セルＵＯＥ０およびＵＯＥ１がともに非選択状態に維持され、センスアンプＳＡ０およびＳＡ１の出力信号はＬレベルである。一方、ワードゲート回路１０２が、書込ワード線ＷＷＬおよび読出ワード線ＲＷＬＡおよびＲＷＬＢ上の信号に従って対応のローカルワード線群ＬＷＬＧ１を選択状態に駆動する。したがって、ユニット演算子セルＵＯＥ２およびＵＯＥ３には、それぞれデータ（／Ａ，／Ｂ）および（Ａ，Ｂ）がそれぞれ格納されて読出される。応じて、データ読出時のセンスアンプＳＡ２およびＳＡ３の出力信号は、それぞれ記憶データのＡＮＤ演算結果（／Ａ・／Ｂ）および（Ａ・Ｂ）となる。したがって、ＯＲゲートＯＧ１は、データ／Ａ・／ＢまたはＡ・Ｂが“１”のときにＨレベル（“１”）の信号を出力し、応じてレジスタ５０からのサムＳＵＭが“１”に設定される。
【０２２１】
一方、データ／Ａ・／ＢおよびＡ・Ｂがともに“０”のとき（Ｌレベルのとき）、この４入力ＯＲゲートＯＧ１は、Ｌレベルの信号を出力する。したがって、レジスタ５０からのサムＳＵＭは、“０”に設定される。
【０２２２】
すなわち、図２６に示す論理値表に示すように、入力キャリーＣｉｎが“１”のとき、サムＳＵＭは、論理積演算結果データ／Ａ・／ＢおよびＡ・Ｂの論理値に従って生成され、正確に入力キャリーＣｉｎが“１”のときのサムＳＵＭを生成することができる。
【０２２３】
これにより、図２５に示す１ビット加算器の構成により、図２６に示す論理値テーブルに示される入出力関係を満たすことができ、応じて、入力データＡおよびＢの１ビット加算結果を生成することができる。
【０２２４】
なお、図２５に示す構成においては、ワードゲート回路１００および１０２は、１つのデータパス演算単位グループ（４４）ごとに設けられるように示す。しかしながら、これらのワードゲート回路１００および１０２は、１ビット加算器において各ユニット演算子セルに対して設けられてもよい。
【０２２５】
なお、これらのワードゲート回路１００および１０２を用いた場合において、加算を行なう演算以外の演算、すなわちＡＮＤ／ＯＲ／ＸＯＲ／ＸＮＯＲ演算を実行する場合には、入力キャリーＣｉｎおよび／ＣｉｎをともにＨレベルに設定する構成を利用する。例えば、インバータ１１４として、入力キャリーＣｉｎおよび制御信号を受けるＮＡＮＤゲートを利用する。加算演算以外の演算処理の場合に、この制御信号をＬレベルに設定し、加算処理時に制御信号をＨレベルに設定する。これ以外の構成を利用することは、可能である。この状態においては、これらのゲートワード回路１００および１０２は、何らワード線選択には悪影響を及ぼさないため、前述のように指定された各種論理演算処理を実行することができる。
【０２２６】
［キャリー生成部の構成］
図２８は、図２５に示す１ビット加算器とともに用いて１ビット全加算器を実現する場合のキャリー生成部の構成を概略的に示す図である。この図２８に示すキャリー生成部においても、データパス演算単位グループ（４４）内の４つのデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３が用いられる。
【０２２７】
図２８に示すキャリー生成部においては、以下のデータ伝搬経路の設定が行なわれる。データパス単位ブロックＤＰＵＢ０においては、マルチプレクサ５６および５７は、入力データＤＩＮＡ（＝Ａ）およびＤＩＮＢ（＝Ｂ）をそれぞれ選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上には、データＡおよびＢが伝達される。
【０２２８】
データパス単位ブロックＤＰＵＢ１においては、マルチプレクサ５６が、インバータ５２からの入力データＡの反転値を選択し、マルチプレクサ５７は、入力データＢを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１上には、データ／ＡおよびＢがそれぞれ伝達される。
【０２２９】
データパス単位ブロックＤＰＵＢ２においては、マルチプレクサ５６は、入力データＡを選択し、マルチプレクサ５７は、インバータ５４からの入力データＢの反転値を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ２およびＷＧＬＢ２上には、データＡおよび／Ｂがそれぞれ伝達される。
【０２３０】
データパス単位ブロックＤＰＵＢ３は、その入力選択態様はドントケアであり、対応のユニット演算子セルＵＯＥ３は、キャリー生成には利用されない。
【０２３１】
演算子セルサブアレイブロックにおいては、ユニット演算子セルＵＯＥ０に対し、ワードゲート回路１２０が設けられ、ユニット演算子セルＵＯＥ１−ＵＯＥ３に対しては、ワードゲート回路１２２が設けられる。ワードゲート回路１２０は、電源電圧ＶＣＣを入力キャリーとして受け、入力キャリーＣｉｎの論理値にかかわらず、書込ワード線ＷＷＬおよび読出ワード線群ＲＷＬＡ／Ｂ上の信号を、対応のユニット演算子セルＵＯＥ０上のローカルワード線群ＬＷＬＧ０に伝達する。読出ワード線対ＲＷＬＡ／Ｂおよびローカルワード線群ＬＷＬＧの構成は、図２５に示す構成と同様である。
【０２３２】
ワードゲート回路１２２は、入力キャリーＣｉｎの論理値に従って、選択的に、書込ワード線ＷＷＬおよび読出ワード線対ＲＷＬＡ／Ｂ上の信号電位をユニット演算子セルＵＯＥ１−ＵＯＥ３に対して配置されるローカルワード線群ＬＷＬＧ１に伝達する。すなわち、ワードゲート回路１２２は、入力キャリーＣｉｎが“０”のときには、ユニット演算子セルＵＯＥ１−ＵＯＥ３をすべて非選択状態に維持する。一方、入力キャリーＣｉｎが“１”のときには、ワードゲート回路１２２は、書込ワード線ＷＷＬおよび読出ワード線対ＲＷＬＡ／Ｂ上の信号電位を、ローカルワード線群ＬＷＬＧ１に伝達する。
【０２３３】
ダミーセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＢが与えられ、直列ダミートランジスタが選択される。読出ポート選択回路３６においては、ポートＢが選択され、読出ビット線ＲＢＬＢがそれぞれ対応のセンスアンプＳＡ０−ＳＡ３上に結合される。
【０２３４】
組合せ論理演算回路２６においては、３入力ＯＲゲートＯＧ１が選択され、メインアンプ回路２４に含まれるメインアンプＭＡ１およびＭＡ２と図示しないメインアンプＭＡ０の出力信号を受ける。このＯＲゲートＯＧ１からレジスタ５０を介して、キャリーＣＹが出力される。
【０２３５】
図２９は、入力キャリーＣｉｎ、出力キャリーＣＹ、入力データＡおよびＢの論理値の対応を一覧にして示す図である。
【０２３６】
図２９において、入力キャリーＣｉｎが“０”のとき、出力キャリーＣＹが“１”となるのは、データＡおよびＢがともに“１”のときである。一方、入力キャリーＣｉｎが“１”のとき、出力キャリーＣＹが“１”となるのは、データ（Ａ，Ｂ）が、（０，１）、（１，０）および（１，１）の場合である。すなわち、入力キャリーＣｉｎが“０”および“１”のいずれの場合においても、データＡおよびＢがともに“１”のときには、出力キャリーＣＹは、“１”となる。したがって、図２８に示すように、３種類のデータの組合せ、すなわち３つのセンスアンプＳＡ０−ＳＡ３の出力データについての演算を、組合せ論理演算回路２６において実行する。
【０２３７】
図３０は、図２８に示すワードゲート回路１２０および１２２の構成の一例を示す図である。図３０において、ワードゲート回路１２０は、ローカル書込ワード線ＬＷＷＬ０、ローカル読出ワード線ＬＲＷＬＡ０およびＬＲＷＬＢ０に対応して設けられるＡＮＤゲート１２４ａ−１２４ｃを含む。これらのＡＮＤゲート１２４ａ−１２４ｃそれぞれの第１の入力には、電源電圧ＶＣＣが与えられ、それぞれの第２の入力に、書込ワード線ＷＷＬ、読出ワード線ＲＷＬＡおよびＲＷＬＢ上の信号を受ける。このワードゲート回路１２０からの出力信号は、ユニット演算子セルＵＯＥ０に対して配置されるローカル書込ワード線ＬＷＷＬ０およびローカル読出ワード線ＬＲＷＬＡ０、ＬＲＷＬＢ０上にそれぞれ伝達される。
【０２３８】
ワードゲート回路１２２は、ローカル書込ワード線ＬＷＷＬ１、ローカル読出ワード線ＬＲＷＬＡ１およびＬＲＷＬＢ１にそれぞれ対応して設けられるＡＮＤゲート１２６ａ−１２６ｃを含む。これらのＡＮＤゲート１２６ａ−１２６ｃの第１の入力には、共通に入力キャリーＣｉｎが与えられ、それぞれの第２の入力には、書込ワード線ＷＷＬ、読出ワード線ＲＷＬＡ、およびＲＷＬＢ上の信号が与えられる。これらのワードゲート回路１２２の出力信号は、図２８に示すユニット演算子セルＵＯＥ１−ＵＯＥ３に、ローカルワード線群ＬＷＬＧ１を介して与えられる。ローカルワード線群ＬＷＬＧ１は、ローカル書込ワード線ＬＷＷＬ１、およびローカル読出ワード線ＬＲＷＬＡ１、ＬＲＷＬＢ１を含む。
【０２３９】
したがって、この図３０に示すワードゲート回路１２０および１２２の構成から明らかなように、ユニット演算子セルＵＯＥ０へは、常時、書込ワード線ＷＷＬと読出ワード線ＲＷＬＡおよびＲＷＬＢに従った電位が対応のローカル書込ワード線ＬＷＷＬ０およびローカル読出ワード線ＬＲＷＬＡ０およびＬＲＷＬＢ０へ伝達される。一方、ユニット演算子セルＵＯＥ１−ＵＯＥ３は、入力キャリーＣｉｎが“０”のときに非選択状態に設定され、入力キャリーＣｉｎが“１”のときに、書込ワード線ＷＷＬおよび読出ワード線ＲＷＬＡおよびＲＷＬＢに従って選択状態へ駆動される。
【０２４０】
次に、この図２８に示すキャリー生成部の動作について図２９および図３０を参照して説明する。
【０２４１】
ワードゲート回路１２０は、入力キャリーＣｉｎの論理値にかかわらず、書込ワード線ＷＷＬの信号に従って対応のユニット演算子セルＵＯＥ０を選択状態に駆動し、グローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上に転送されたデータＡおよびＢが、ユニット演算子セルＵＯＥ０に書込まれる。また、データ読出時においても、ワードゲート回路１２０は、読出ワード線ＲＷＬＡおよびＲＷＬＢ上の信号に従って対応のユニット演算子セルＵＯＥ０のローカル読出ワード線ＬＲＷＬＡ０およびＬＲＷＬＢ０を選択状態へ駆動し、読出ビット線ＲＢＬＢに、これらのデータＡおよびＢの論理値に応じた電流が流れる。補の読出ビット線ＺＲＢＬには、ダミーセルＤＭＣの２つの直列ダミートランジスタ（ＤＴＢ０、ＤＴＢ１）が接続されており、基準電圧Ｖｒｅｆの電圧レベルに応じた電流が、補の読出ビット線ＺＲＢＬに流れる。したがって、センスアンプＳＡ０の出力データは、ユニット演算子セルＵＯＥ０の格納データのＡＮＤ演算結果データであり、センスアンプＳＡ０からは、データＡ・Ｂが出力され、対応のメインアンプ（図示せず）を介して３入力ＯＲゲートＯＧ１へ伝達される。
【０２４２】
一方、ワードゲート回路１２２は、入力キャリーＣｉｎの論理値に応じて選択的にユニット演算子セルＵＯＥ１−ＵＯＥ３を選択状態へ駆動する。入力キャリーＣｉｎが“０”のときには、これらのユニット演算子セルＵＯＥ１−ＵＯＥ３は非選択状態であり、データの書込／読出は行なわれない。したがって、この場合には、対応の読出ビット線ＲＢＬＢを流れる電流よりも、補の読出ビット線ＺＲＢＬを流れる電流量が多くなり、センスアンプＳＡ１−ＳＡ３の出力信号は“０”となる。すなわち、入力キャリーＣｉｎが“０”のときには、３入力ＯＲゲートＯＧ１の出力信号は、センスアンプＳＡ０の出力データＡ・Ｂに応じた電圧レベルとなり、レジスタ５０から出力されるキャリーＣＹは、データＡ・Ｂの論理値に応じた論理値を取る。したがって、図２９に示すように、入力キャリーＣｉｎが“０”の時には、データＡおよびＢがともに“１”のときには、レジスタ５０からの出力される出力キャリーＣＹが“１”となり、それ以外のときには出力キャリーＣＹが“０”となる条件を満たしている。
【０２４３】
一方、入力キャリーＣｉｎが“１”のときには、ユニット演算子セルＵＯＥ１−ＵＯＥ３に対してもデータの書込／読出が行なわれる。したがって、ユニット演算子セルＵＯＥ１には、対応のグローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１上に伝達されたデータ／ＡおよびＢが格納され、ユニット演算子セルＵＯＥ２へは、対応のグローバル書込データ線ＷＧＬＡ２およびＷＧＬＢ２に伝達されたデータＡおよび／Ｂが格納される。
【０２４４】
ポートＢが選択されており、センスアンプＳＡ１およびＳＡ２は、対応のユニット演算子セルＵＯＥ１およびＵＯＥ２の記憶データのＡＮＤ演算結果を出力する。従って、センスアンプＳＡ１およびＳＡ２の出力データは、データ／Ａ・ＢおよびＡ・／Ｂである。センスアンプＳＡ０−ＳＡ２の出力信号が対応のメインアンプＭＡ０−ＭＡ２を介して３入力ＯＲゲートＯＧ１へ与えられる。したがって、３入力ＯＲゲートＯＧ１からの出力データは、（Ａ・Ｂ＋Ａ・／Ｂ＋Ａ・／Ｂ）となる。
【０２４５】
図２９に示す論理値表から明らかなように、出力キャリーＣＹは、データ／Ａ・Ｂ、Ａ・ＢおよびＡ・／Ｂのいずれかが“１”のときに“１”となる。それ以外のとき、すなわち、データＡおよびＢがともに“０”のときには、出力キャリーＣＹは“０”となる。これにより、図２９に示す出力キャリーＣＹの論理値の関係を満たす出力キャリーＣＹを生成することができる。
【０２４６】
以上のようにして、図２５および２８に示す加算器およびキャリー生成部を並列に動作させることにより、１ビット全加算演算を１クロックサイクルで実行することができる。また、データパス２８および組合せ論理演算回路２６においてデータ伝搬経路を設定し、また、ワード線上の信号に入力キャリーＣｉｎを組合せることにより、内部構成を変更することなく、組合せ論理演算に加えて算術演算を実行することができる。
【０２４７】
［１ビット減算器の構成］
図３１は、１ビット減算器における入力データＡおよびＢと入力ボローＢＲｉｎと減算値ＤＩＦＦの論理値の対応関係を一覧にして示す図である。図３１において、入力ボローＢＲｉｎが“０”のとき、減算値ＤＩＦＦが“１”となるのは、データ（Ａ，Ｂ）が、（０，１）および（１，０）のときである。したがって、演算結果／Ａ・ＢおよびＡ・／Ｂのいずれか一方が“１”となれば減算値ＤＩＦＦが“１”となる構成を実現すれば、入力ボローＢＲｉｎが“０”のときの減算値ＤＩＦＦを生成することができる。
【０２４８】
一方、入力ボローＢＲｉｎが“１”のとき減算値ＤＩＦＦが“１”となるのは、データ（Ａ，Ｂ）が、（０，０）または（１，１）の場合である。したがって、演算結果／Ａ・／ＢおよびＡ・Ｂのいずれかが“１”となれば出力値が“１”となる構成を実現すれば、入力ボローＢＲｉｎが“１”のときの減算値ＤＩＦＦを生成することができる。この入力ボローＢＲｉｎの論理値に応じて選択されるデータの組を、データパス２８において設定することにより、１ビット減算器を実現する。
【０２４９】
図３２は、この発明の実施の形態２に従う半導体信号処理装置の１ビット減算器の構成を概略的に示す図である。この図３２に示す構成においても、１ビット減算器は、データパス演算単位グループ４４内に含まれる４つのデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３を利用する。演算子セルサブアレイブロックにおいて、これらのデータ単位ブロックＤＰＵＢ０−ＤＰＵＢ３に対応して、ユニット演算子セルＵＯＥ０−ＵＯＥ３が配置される。ユニット演算子セルＵＯＥ０およびＵＯＥ１に対してワードゲート回路１３０が設けられ、ユニット演算子セルＵＯＥ２およびＵＯＥ３に対し、ワードゲート回路１３２が設けられる。
【０２５０】
ワードゲート回路１３０は、入力ボローＢＲｉｎが“１”のとき、ユニット演算子セルＵＯＥ０およびＵＯＥ１を非選択状態に維持する。一方、入力ボローＢＲｉｎが“１”のときには、ワードゲート回路１３０は、書込ワード線ＷＷＬおよび読出ワード線対ＲＷＬＡ／Ｂ上の信号電位を、対応のローカルワード線群ＬＷＬＧ０上に伝達する。ローカルワード線群ＬＷＬＧは、図２５に示す構成と同様、ローカル書込ワード線ＬＷＷＬ、およびローカルの読出ワード線ＬＲＷＬＡおよびＬＲＷＬＢを含む。読出ワード線対ＲＷＬＡ／Ｂは、読出ワード線ＲＷＬＡおよびＲＷＬＢを含む。
【０２５１】
ワードゲート回路１３２は、入力ボローＢＲｉｎが“１”のとき、書込ワード線ＷＷＬおよび読出ワード線ＲＷＬＡおよびＲＷＬＢ上の信号電位に従ってユニット演算子セルＵＯＥ２およびＵＯＥ３に対して配置されるローカルワード線群ＬＷＬＧ１を選択状態へ駆動する。一方、入力ボローＢＲｉｎが“０”のときには、このワードゲート回路１３２は、ユニット演算子セルＵＯＥ２およびＵＯＥ３に対するローカルワード線群ＬＷＧ１を非選択状態に維持し、ユニット演算子セルＵＯＥ２およびＵＯＥ３に対するデータの書込／読出アクセスを禁止する。
【０２５２】
ワードゲート回路１３０および１３２の構成としては、一例として、図２７に示すワードゲート回路１００および１０２の構成を利用して、入力キャリーＣｉｎに代えて入力ボローＢＲｉｎを入力することにより実現できる（この構成については後に説明する）。
【０２５３】
ダミーセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＢが与えられる。したがって、ダミーセルＤＭＣにおいて２つの直列接続されるダミートランジスタ（ＤＴＢ０，ＤＴＢ１）が選択される。
【０２５４】
読出ポート選択回路３６においては、ポートＢ（読出ポートＲＰＲＴＢ）が選択され、読出ビット線ＲＢＬＢが、それぞれ対応のセンスアンプＳＡ０−ＳＡ３に結合される。
【０２５５】
組合せ論理演算回路２６においては、４入力ＯＲゲートＯＧ２が選択され、メインアンプ回路２４に含まれるメインアンプＭＡ０−ＭＡ３の出力信号が、この４入力ＯＲゲートＯＧ２へ与えられる。ＯＲゲートＯＧ２の出力信号が、レジスタ５０を介して外部へ減算値ＤＩＦＦとして出力される。
【０２５６】
図３３は、図３２に示すワードゲート回路１３０および１３２の構成の一例を概略的に示す図である。図３３に示すように、ワードゲート回路１３０および１３２の構成は、入力キャリーＣｉｎに代えて入力ボローＢＲｉｎが与えられることを除いて、図２７に示すワードゲート回路１００および１０２の構成と同じである。したがって、これらのワードゲート回路１３０および１３２とワードゲート回路１００および１０２の対応する構成要素には同一参照番号を付し、その詳細説明は省略する。
【０２５７】
図３３に示すように、入力ボローＢＲｉｎが“０”の場合には、ユニット演算子セルＵＯＥ２およびＵＯＥ３が非選択状態に維持され、入力がユニット演算子セルＵＯＥ０およびＵＯＥ１に対するデータの書込／読出アクセスが実行される。一方、入力ボローＢＲｉｎが“１”のときには、ユニット演算子セルＵＯＥ０およびＵＯＥ１が非選択状態に維持され、ユニット演算子セルＵＯＥ２およびＵＯＥ３に対するデータの書込／読出アクセスが実行される。
【０２５８】
次に、この図３２に示す１ビット減算値の動作について、図３１および図３３を適宜参照して説明する。減算としては、（Ａ−Ｂ）が実行される。
【０２５９】
入力ボローＢＲｉｎが“０”のときには、ワードゲート回路１３２により、ユニット演算子セルＵＯＥ２およびＵＯＥ３は、非選択状態であり、一方、ユニット演算子セルＵＯＥ０およびＵＯＥ１に対して、データの書込／読出アクセスが実行される。したがって、ユニット演算子セルＵＯＥ０へは、グローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上のデータＡおよび／Ｂが格納されて読出される。同様、ユニット演算子セルＵＯＥ１についても、グローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１上のデータ／ＡおよびＢが書込まれて読出される。
【０２６０】
ダミーメモリセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＢが与えられ、またポートＢが選択される。したがって、センスアンプＳＡ０およびＳＡ１の出力データは、それぞれ、対応のユニット演算子セルＵＯＥ０およびＵＯＥ１の記憶データのＡＮＤ演算結果Ａ・／Ｂおよび／Ａ・Ｂとなる。
【０２６１】
一方、センスアンプＳＡ２およびＳＡ３においては、ユニット演算子セルＵＯＥ２およびＵＯＥ３は非選択状態であり、読出ビット線ＲＢＬＢ上には電流はほとんど流れず、補の読出ビット線ＺＲＢＬ上にはダミーセルＤＭＣにより電流が供給される。したがって、この状態においては、センスアンプＳＡ２およびＳＡ３の出力データは、“０”である。これらのセンスアンプＳＡ０−ＳＡ３が対応のメインアンプＭＡ０−ＭＡ３を介して４入力ＯＲゲートＯＧ１へ与えられる。したがって、レジスタ５０を介して出力されるデータは、（Ａ・／Ｂ）＋（／Ａ・Ｂ）である。図３１に示す論理値テーブルに示されるように、入力ボローＢＲｉｎが“０”のとき、データＡおよびＢの一方が“１”かつ他方が“０”のときに、減算値ＤＩＦＦが“１”となる条件を満たす出力データを生成することができる。
【０２６２】
一方、入力ボローＢＲｉｎが“１”のときには、ワードゲート回路１３０により、ユニット演算子セルＵＯＥ０およびＵＯＥ１が、非選択状態に維持される。一方、ワードゲート回路１３２により、ユニット演算子セルＵＯＥ２およびＵＯＥ３に対しては、書込ワード線ＷＷＬおよび読出ワード線ＲＷＬＡおよびＲＷＬＢ上の信号電位に従ってローカルワード線群ＬＷＧ１が選択状態へ駆動され、データの書込および読出アクセスが実行される。したがって、ユニット演算子セルＵＯＥ２へは、対応のグローバル書込データ線ＷＧＬＡ２およびＷＧＬＢ２上データ／Ａおよび／Ｂが格納され、ユニット演算子セルＵＯＥ３へは、対応のグローバル書込データ線ＷＧＬＡ３およびＷＧＬＢ３上のデータＡおよびＢが格納されて読出される。
【０２６３】
ポートＢが選択され、また、ダミーセルＤＭＣにおいて２つの直列ダミートランジスタがダミーセル選択信号ＤＣＬＢにより選択されており、センスアンプＳＡ２およびＳＡ３からの出力データは、それぞれ、ユニット演算子セルＵＯＥ２およびＵＯＥ３の記憶データのＡＮＤ演算結果（／Ａ・／Ｂ）および（Ａ・Ｂ）である。センスアンプＳＡ０およびＳＡ１からメインアンプＭＡ０およびＭＡ１を介して出力されるデータは、“０”である。したがって、ＯＲゲートＯＧ２からレジスタ５０を介して出力されるデータは、（／Ａ・／Ｂ＋Ａ・Ｂ）となる。
【０２６４】
図３１に示す論理テーブルから、この出力データは、入力ボローＢＲｉｎが“１”のときには、データＡおよびＢが共に“１”であるかまたは“０”のときに、減算値ＧＩＦＦが“１”となるという条件を満たしている。従って、入力ボローＢＲｉｎが“１”および“０”のいずれにおいても、正確に図３２に示す構成により、入力データＡおよびＢの減算値ＤＩＦＦを生成することができる。これにより、組合せ論理演算実行時と同様、１クロックサイクルで、データＡおよびＢについての１ビット減算を実行することができる。
【０２６５】
［ボロー生成部の構成］
図３４は、１ビット減算器における入力データＡ，Ｂと入力ボローＢＲｉｎと出力ボローＢＲｏｕｔの論理値の対応関係を一覧して示す図である。図３４において、入力ボローＢＲｉｎが“０”のとき、出力ボローＢＲｏｕｔが“１”となるのは、データ（Ａ，Ｂ）が（０，１）のときのみである。したがって、データ／Ａ・Ｂが“１”のときに、出力ボローＢＲｏｕｔが“１”となる。すなわち、入力ボローＢＲｉｎが“０”のときには、出力ボローＢＲｏｕｔは、データ／Ａ・Ｂで与えられる。
【０２６６】
一方、入力ボローＢＲｉｎが“１”のときに、出力ボローＢＲｏｕｔが“１”となるのは、データ（Ａ，Ｂ）が、（０，０）、（０，１）、または（１，１）のときである。したがって、入力ボローＢＲｉｎが“１”のときには、データ（／Ａ・／Ｂ＋／Ａ・Ｂ＋Ａ・Ｂ）が“１”であれば、出力ボローＢＲｏｕｔが“１”となる。この場合、入力ボローＢＲｉｎの値に拘らず、ＡＮＤ演算結果／Ａ・Ｂが“１”のときには、出力ボローＢＲｏｕｔが“１”となる。したがって、出力キャリーＣＹ生成時と同様、出力ボローＢＲｏｕｔを生成する部分においても、３種類のデータの組を用いて出力ボローＢＲｏｕｔを生成することができる。
【０２６７】
図３５は、この発明の実施の形態２に従う１ビット減算器のボロー生成部の構成を概略的に示す図である。このボロー生成部においても、データパス２８において、データパス演算単位グループ４４に含まれる４つのデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３が利用される。但し、データパス単位ブロックＤＰＵＢ３は、実際には利用されず、対応のマルチプレクサ５６および５７の入力の選択態様は、任意（ドントケア）である。
【０２６８】
データパス単位ブロックＤＰＵＢ０において、マルチプレクサ５６は、インバータ５２からの入力データＤＩＮＡ（＝Ａ）の反転値を選択し、マルチプレクサ５７が、入力データＤＩＮＢ（＝Ｂ）を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上には、データ／ＡおよびＢが伝達される。
【０２６９】
データパス単位ブロックＤＰＵＢ１においては、マルチプレクサ５６および５７は、それぞれ、入力データＡおよびＢを選択する。したがって、グローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１上には、データＡおよびＢが伝達される。
【０２７０】
データパス単位ブロックＤＰＵＢ２においては、マルチプレクサ５６および５７は、それぞれインバータ５２および５４から与えられる入力データＡおよびＢの反転値／Ａおよび／Ｂを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ２およびＷＧＬＢ２上にはデータ／Ａおよび／Ｂが伝達される。
【０２７１】
データパス単位ブロックＤＰＵＢ０に対応して配置されるユニット演算子セルＵＯＥ０に対しワードゲート回路１４０が設けられ、データパス単位ブロックＤＰＵＢ１−ＤＰＵＢ３に対して設けられるユニット演算子セルＵＯＥ１−ＵＯＥ３に対し、共通にワードゲート回路１４２が設けられる。ワードゲート回路１４０は、入力ボローＢＲｉｎの論理値に拘らず、書込ワード線ＷＷＬおよび読出ワード線対ＲＷＬＡ／Ｂ上の信号を、ユニット演算子セルＵＯＥ０の書込ローカルワード線群ＬＷＬＧ０上に伝達する。一方、ワードゲート回路１４２は、入力ボローＢＲｉｎの論理値に従って、選択的に、書込ワード線ＷＷＬおよび読出ワード線対ＲＷＬＡ／Ｂ上の信号電位を、ローカルワード線群ＬＷＬＧ１上に伝達する。ローカルワード線群ＬＷＬＧおよび読出ワード線対の構成は、１ビット加算器のキャリー生成部の構成と同じである。
【０２７２】
図３６は、ワードゲート回路１４０および１４２の構成の一例を概略的に示す図である。図３６に示すワードゲート回路１４０および１４２の構成は、入力キャリーＣｉｎに代えて入力ボローＢＲｉｎが与えられることを除いて、図３０に示すワードゲート回路１２０および１２２の構成と同じである。したがって、図３６においては、図３０に示すワードゲート回路１２０および１２２の構成要素と対応する構成要素に対しては同一参照番号を付し、その詳細説明は省略する。
【０２７３】
この図３６に示すワードゲート回路１４０および１４２の構成において、入力ボローＢＲｉｎが“０”のときには、ユニット演算子セルＵＯＥ１−ＵＯＥ３は、すべて非選択状態に維持される。一方、入力ボローＢＲｉｎが“１”のときには、ユニット演算子セルＵＯＥ１−ＵＯＥ３に対するローカル書込ワード線ＬＷＷＬ１、ローカル読出ワード線ＬＲＷＬＡ１およびＬＲＷＬＢ１は、書込ワード線ＷＷＬ、読出ワード線ＲＷＬＡおよびＲＷＬＢ上の信号電位に従って選択状態へ駆動され、これらのユニット演算子セルＵＯＥ１−ＵＯＥ３に対してデータの書込および読出が実行される。
【０２７４】
一方、ユニット演算子セルＵＯＥ０は、入力ボローＢＲｉｎの値に拘らず、常時、書込ワード線ＷＷＬ、および読出ワード線ＲＷＬＡ，ＲＷＬＢ上の信号電位に従って対応のローカル書込ワード線ＬＷＷＬ０、ローカル読出ワード線ＬＲＷＬＡ０およびＬＲＷＬＢ０が選択状態へ駆動されて、データの書込／読出が実行される。次に、図３５に示すボロー生成部の動作を、図３４に示す論理値テーブルおよび図３６に示すワードゲート回路の構成を適宜参照して説明する。
【０２７５】
入力ボローＢＲｉｎが“０”のときには、上述のように、ワードゲート回路１４２により、ユニット演算子セルＵＯＥ１−ＵＯＥ３は、すべて非選択状態に維持される。この状態においては、ユニット演算子セルＵＯＥ０に対し、グローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上に伝達されたデータ／ＡおよびＢが格納されて読出される。ポートＢが選択され、ダミーセルＤＭＣは、ダミーセル選択信号ＤＣＬＢに従って直列ダミートランジスタが選択される。したがって、センスアンプＳＡ０からの出力データは、転送データのＡＮＤ演算結果／Ａ・Ｂとなる。センスアンプＳＡ１−ＳＡ３は、ユニット演算子セルＵＯＥ１−ＵＯＥ３がすべて非選択状態であるため、“０”のデータを出力する。
【０２７６】
これらのセンスアンプＳＡ０−ＳＡ２の出力信号（データ）が対応のメインアンプＭＡ０−ＭＡ２を介して３入力ＯＲゲートＯＧ１へ与えられる。したがって、ＯＲゲートＯＧ１からは、センスアンプＳＡ０の出力データに応じたデータが出力され、レジスタ５０からの出力データは、データ／Ａ・Ｂに等しくなる。このデータは、図３４に示す論理値テーブルにおける、入力ボローＢＲｉｎが“０”のときの論理値関係を満たしており、従って、入力ボローＢＲｉｎが“０”のときの出力ボローＢＲｏｕｔを得ることができる。
【０２７７】
一方、入力ボローＢＲｉｎが“１”のときには、ワードゲート回路１４２は、ユニット演算子セルＵＯＥ１−ＵＯＥ３に対して配置されるローカルワード線群ＬＷＬＧ１を、それぞれ書込ワード線ＷＷＬおよび読出ワード線対ＲＷＬＡ／Ｂ上に信号電位に従って選択状態へ駆動する。したがって、ユニット演算子セルＵＯＥ１には、グローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１上のデータＡおよびＢが書込まれて読出され、ユニット演算子セルＵＯＥ２には、データ／Ａおよび／Ｂが書込まれて読出される。ユニット演算子セルＵＯＥ３は、未使用である。対応のセンスアンプＳＡ１−ＳＡ２からは、データＡ・Ｂおよび／Ａ・／Ｂが出力される。
【０２７８】
３入力ＯＲゲートＯＧ１へは、センスアンプＳＡ０−ＳＡ２からのデータ／Ａ・Ｂ、Ａ・Ｂおよび／Ａ・／Ｂが与えられる。したがって、ＯＲゲートＯＧ１からレジスタ５０を介して出力されるデータは、データ（／Ａ・Ｂ＋Ａ・Ｂ＋／Ａ・／Ｂ）となる。このデータは、図３４に示す入力ボローＢＲｉｎが“０”のときの入力データと出力ボローの論理値関係を満たしており、入力ボローＢＲｉｎが“０”のときの出力ボローＢＲｏｕｔを生成することができる。
【０２７９】
従って、入力ボローＢＲｉｎの論理値にかかわらず、図３４に示す論理値関係を満たす出力データを生成することができ、正確に出力ボローＢＲｏｕｔを生成することができる。
【０２８０】
図３２に示す１ビット減算器および図３５に示すボロー生成部を共通の入力データに対して並列に動作させることにより、１ビット減算器を実現することができ、１クロックサイクルで入力データについての減算を実行する減算器を実現することができる。
【０２８１】
この減算操作においても、組合せ論理演算と同様、単に内部のデータ伝搬経路の接続態様を変更しているだけであり、内部構成を変更することなく減算の算術演算を実行することができる。
【０２８２】
なお、この減算器においても、ポートの接続、組合せ論理演算回路入力におけるゲートの選択およびデータパスにおけるデータ伝搬経路の選択は、それぞれ対応の制御信号に従って、指定された演算操作内容に基づいて設定される。これらの制御信号については、データパスにおいては、キャリー／ボロー生成部の４つのデータパス単位ブロックに対する４系統の切換制御信号および加算／減算部に対する４つのデータパス単位ブロックに対する４系統の切換制御信号が生成されれば良い。組合せ論理演算回路におけるロジックパス指示信号についても同様である。
【０２８３】
［変更例１］
図３７は、この発明の実施の形態２に従う半導体信号処理装置の変更例の４ビット全加算回路の構成を概略的に示す図である。この図３７に示す４ビット全加算回路は、図９に示す４ビット加算・減算処理回路６４により構成されてもよく、また別途設けられてもよい。図９に示す４ビット加算／減算回路処理回路６４においては、８ビットのメインアンプ出力Ｇ＜４（ｋ＋７）：４ｋ＞が用いられる。データビットＧ＜４ｋ＞およびＧ＜４（ｋ＋１）＞を、それぞれ、サムおよびキャリー出力として利用することにより、図３７に示す４ビット加算回路を実現することができる。１データパス演算単位グループ（４４）が１ビット全加算器のキャリー生成部および加算部各々に対応する。従って、８個のデータパス演算単位グループの出力データビットを、図９に示すビットＧ＜４（ｋ＋７）：４ｋ＞として利用して、加算／減算が実行されても良い。しかしながら、ここでは、実施の形態２に従う４ビット全加算回路は、図９に示す４ビット加算・減算処理回路６４とは別途設けられるものとして説明する。
【０２８４】
図３７において、１ビット全加算器ＦＡ０−ＦＡ６が設けられる。これらの１ビット全加算器ＦＡ０−ＦＡ６の各々は、図２５に示す１ビット加算回路および図２８に示すキャリー生成部を含む。したがって、これらの１ビット全加算器ＦＡ０−ＦＡ６の各々は、８個のデータパス単位ブロック（ＤＰＵＢ）に対応して配置され、加算用の４つのユニット演算子セル、キャリー生成用の４つのユニット演算子セル、キャリー合成のためのワードゲート回路、対応のセンスアンプ、サムＳＵＭ生成用の４入力ＯＲゲート、キャリーＣＹ生成用の３入力ＯＲゲートを含む。これらは、図２５および図２８に示すようにキャリー生成部および加算部の構成に対応し、各データパス演算単位グループ毎に、実行する処理に応じてデータパスのデータ転送経路および組合せ論理演算回路の単位演算ブロックのデータ転送経路が設定される。
【０２８５】
１ビット全加算器ＦＡ０のキャリー入力ＣＩＮは、入力キャリーＣｉｎを受ける。１ビット全加算器ＦＡ１、ＦＡ３およびＦＡ５の各々に対しては、スイッチング素子ＳＷＮおよびＮＴＸが、キャリー入力ＣＩＮに対し並列に配置される。１ビット全加算器ＦＡ２、ＦＡ４およびＦＡ６の各々のキャリー入力ＣＩＮに対しては、スイッチング素子ＳＷＮおよびＰＴＸが並列に配置される。
【０２８６】
スイッチング素子ＳＷＮは、１ビット加算演算指示ＢＩＴ１のセット時（Ｈレベルのとき）導通し、入力キャリーＣｉｎを対応の１ビット全加算器ＦＡ１−ＦＡ６のキャリー入力ＣＩＮに伝達する。スイッチング素子ＮＴＸは、４ビット加算演算指示ＢＩＴ４の活性化時（Ｈレベルのとき）導通し、接地電圧ＧＮＤを１ビット全加算器ＦＡ１、ＦＡ３およびＦＡ５のキャリー入力ＣＩＮに伝達する。スイッチング素子ＰＴＸは、反転４ビット加算演算指示／ＢＩＴ４の活性化時（Ｌレベルのとき）導通し、対応の１ビット全加算器ＦＡ２、ＦＡ４およびＦＡ６のキャリー入力ＣＩＮに電源電圧ＶＣＣを伝達する。すなわち、スイッチング素子ＮＴＸは、導通時、強制的に入力キャリーＣｉｎを“０”に設定し、スイッチング素子ＰＴＸは導通時、入力キャリーＣｉｎを強制的に“１”に設定する。
【０２８７】
キャリー入力ＣＩＮは、それぞれ対応のワードゲート回路に対する入力キャリーＣｉｎを受けるノードに結合される。入力キャリーの強制設定により、各１ビット全加算器ＦＡ０−ＦＡ６に含まれるワードゲート回路のユニット演算子セルの選択／非選択を設定する。１ビット全加算器ＦＡ０−ＦＡ６に対する入力キャリーＣｉｎの強制設定により、１ビット全加算器ＦＡ１−ＦＡ６において前段の１ビット全加算器の出力するキャリーが“０”の場合および“１”の場合の加算演算を、それぞれ並列に実行する。
【０２８８】
この１ビット全加算器ＦＡ０−ＦＡ６に対し、データパスにおいてデマルチプレクサ（ＤＥＭＵＸ）ＤＸ０−ＤＸ６が設けられる。これらのデマルチプレクサＤＸ０−ＤＸ６は、図９に示すデマルチプレクサ６３に対応し、対応の１ビット全加算器ＦＡ０−ＦＡ６のサム生成用の４入力ＯＲゲートの出力データ（図２５のＯＧ１）またはキャリー生成用の３入力ＯＲゲート（図２８のＯＧ１）の出力データを選択する。
【０２８９】
デマルチプレクサＤＸ０から、最下位ビットのサムＳ＜０＞およびキャリーＣＹ＜０＞が生成される。デマルチプレクサＤＸ１、ＤＸ３およびＤＸ５から、前段のキャリーＣＹが“０”の場合におけるサムＳ０＜１＞、Ｓ０＜２＞およびＳ０＜３＞とキャリーＣＹ０＜１＞−ＣＹ０＜３＞が出力される。デマルチプレクサＤＸ２、ＤＸ４およびＤＸ６からは、前段の１ビット全加算器からの出力キャリーが“１”の場合におけるサムＳ１＜１＞−Ｓ１＜３＞およびキャリーＣＹ１＜１＞−ＣＹ１＜３＞が出力される。
【０２９０】
４ビット加算処理回路１４５は、組合せ論理演算回路２６内に配置され、デマルチプレクサＤＸ１−ＤＸ６に対応して設けられるマルチプレクサ１４７ａ−１４７ｆを含む。デマルチプレクサＤＸ０からはサムＳ＜０＞が加算最下位ビットＳ＜０＞として出力される。マルチプレクサ１４７ａは、中間キャリービットＣＹ＜０＞に従ってサムＳ０＜１＞およびＳ１＜１＞の一方を選択して、加算ビットＳ＜１＞を生成する。マルチプレクサ１４７ｂは、中間キャリービットＣＹ＜０＞に従ってキャリーＣＹ０＜１＞およびＣＹ１＜１＞の一方を選択して中間キャリービットＣＹ＜１＞を生成する。
【０２９１】
マルチプレクサ１４７ｃは、サムＳ０＜２＞およびＳ１＜２＞の一方を、中間キャリービットＣＹ＜１＞に従って選択して加算ビットＳ＜２＞を生成する。マルチプレクサ１４７ｄは、中間キャリービットＣＹ＜１＞に従って中間キャリービットＣＹ０＜２＞およびＣＹ１＜２＞の一方を選択して、中間キャリービットＣＹ＜２＞を生成する。マルチプレクサ１４７ｅは、中間キャリービットＣＹ＜２＞に従ってサムＳ０＜３＞およびＳ１＜３＞の一方を選択して最上位加算ビットＳ＜３＞を生成する。マルチプレクサ１４７ｆは、中間キャリービットＣＹ＜２＞に従って、中間キャリービットＣＹ０＜３＞およびＣＹ１＜３＞の一方を選択して出力キャリーＣＯＵＴを生成する。
【０２９２】
すなわち、予め入力キャリーが“０”および“１”のときのキャリーおよびサムを並列に生成し、４ビット加算処理回路１４５においてマルチプレクサ１４７ａ−１４７ｆにより、実際に生成される中間キャリービットＣＹ＜０＞−ＣＹ＜２＞に従って最終のサムおよびキャリーを選択する。
【０２９３】
４ビット加算演算実行時には、４ビット加算指示ＢＩＴ４および／ＢＩＴ４は活性状態に設定され、４ビット加算演算操作を活性化することにより、１クロックサイクルで４ビットの加算処理を実行することができる。１ビット全加算器ＦＡ０−ＦＡ６において、それぞれ個々に１ビット全加算を行ない、その加算結果を出力する場合には、１ビット加算指示ＢＩＴ１を活性化し、入力キャリーＣｉｎを、キャリー入力ＣＩＮに結合する。この場合には、１ビット全加算器ＦＡ０−ＦＡ６に対する入力キャリーＣｉｎが個々に設定される（図３７のキャリーＣｉｎの伝達線が、１ビット全加算器ＦＡ０−ＦＡ６に応じて７ビット幅を有し、各キャリー伝達線の電位を個々に設定する）。
【０２９４】
この１ビット全加算器ＦＡ０−ＦＡ６各々においてビットシリアルにかつデータパラレルに全加算を行なう場合には、生成されたキャリーを対応の１ビット全加算器のキャリー入ＣＩＮへフィードバックする。ここで、「ビットシリアルかつデータパラレル」は、複数の多ビットデータを並列にかつ各データを１ビットずつ演算する態様を示す。
【０２９５】
また、この図３７に示す４ビット全加算器の構成においてキャリーＣｉｎを入力ボローＢＲｉｎに置換え、キャリーＣＹ＜０＞−ＣＹ１＜３＞をボローＢＲ＜０＞−ＢＲ＜３＞に置換えれば、４ビット減算器を実現することができる。この場合、１ビット減算器の構成として、図３２および図３５に示す構成を利用する。
【０２９６】
また、図３７に示す４ビット加算処理回路１４５が、図９に示す４ビット加算／減算処理回路６４として用いられても良い。
【０２９７】
［４ビット加算器の変更例２］
図３８は、この発明の実施の形態２における４ビット全加算器の変更例の演算子セルサブアレイブロックにおける配置を概略的に示す図である。図３８において、演算子セルサブアレイブロック内の行ＲＯＷ＜０＞において８セル群ＧＰ００−ＧＰ０６が配置され、行ＲＯＷ＜１＞に８セル群ＧＰ１０−ＧＰ１６が配置される。これらの２行８列に整列して配置される８セル群ＧＰ００−ＧＰ０６およびＧＰ１０−ＧＰ１６の各々は、８個のユニット演算子セルを含み、それぞれサムＳＵＭを生成するための４ユニット演算子セルおよびキャリーを生成するための４ユニット演算子セルを含む。８セル群におけるユニット演算子セルの配置は、先の図２５および図２８に示す配置と同じであり、入力キャリーＣｉｎに応じて選択的にユニット演算子セルを選択状態／非選択状態に設定するワードゲート回路がキャリーおよびサム生成部において配置される。
【０２９８】
８セル群ＧＰ００−ＧＰ０６に対しては、入力キャリーＣｉｎが“０”に固定されて伝達され、８セル群ＧＰ１０−ＧＰ１６に対しては、入力キャリーＣｉｎが“１”に固定されて伝達される。１行に整列して配置されるユニット演算子セルに対して異なる入力キャリーＣｉｎを伝達する構成に代えて、ユニット演算子セル行毎に入力キャリーＣｉｎの値が固定され、入力キャリーＣｉｎ伝達線の配置が容易となる。
【０２９９】
行ＲＯＷ＜０＞において、８セル群ＧＰ００、ＧＰ０１、ＧＰ０３およびＧＰ０５に、４ビット加算指示ＢＩＴ４が与えられ、８セル群ＧＰ０２、ＧＰ０４およびＧＰ０６に、補の４ビット加算指示／ＢＩＴ４が与えられる。
【０３００】
行ＲＯＷ＜１＞においては、８セル群ＧＰ１０、ＧＰ１１、ＧＰ１３およびＧＰ１５には、４ビット加算指示／ＢＩＴ４が与えられ、８セル群ＧＰ１２、ＧＰ１４およびＧＰ１６へは、４ビット加算指示ＢＩＴ４が与えられる。
【０３０１】
これらの８セル群ＧＰ００−ＧＰ０６およびＧＰ１０−ＧＰ１６各々においては、図２５および図２８に示すようなワードゲート回路（１００，１０２）が設けられており、４ビット加算指示ＢＩＴ４が“Ｈ”に設定されて４ビット加算演算を指示するときには、入力キャリーＣｉｎに従ったゲート処理が実行される。また、４ビット加算実行時に補の４ビット加算演算指示／ＢＩＴ４が“Ｌ”に設定されると、図２８に示すワードゲート回路が、その出力をすべてＬレベルに固定する。これにより、補の４ビット加算演算指示／ＢＩＴ４を受ける８セル群は、常時非選択状態に設定され、４ビット加算演算指示ＢＩＴ４を受ける８セル群に対し書込アクセスおよび読出アクセスが入力キャリーＣｉｎの値に従って実行される。
【０３０２】
これらの８セル群ＧＰ００−ＧＰ０６およびＧＰ１０−ＧＰ１６に対してセンスアンプ（ＳＡ）群ＳＡＧ０−ＳＡＧ６が設けられる。これらのセンスアンプ群ＳＡＧ０−ＳＡＧ６の各々は、８個のセンスアンプを含み、これらのセンスアンプ群ＳＡＧ０−ＳＡＧ６の出力データが、メインアンプを介して組合せ論理演算回路へ与えられる。この組合せ論理演算回路において、図２５および図２８に示すように、サムに対しては４入力ＯＲゲート処理が実行され、キャリーに対しては、３入力ＯＲゲート処理が実行される。その後、図３７に示す４ビット加算処理回路１４５において最終の加算処理（選択処理）が実行され、４ビット加算結果が生成される。
【０３０３】
この図３８に示す構成においては、４ビット加算演算指示ＢＩＴ４および／ＢＩＴ４により、同一列に配置される８セル群（たとえばＧＰ００，ＧＰ１０）の一方をイネーブル状態、他方をディスエーブル状態に設定する。これにより、２行のワード線（書込ワード線または読出ワード線）を選択して、行ＲＯＷ＜０＞およびＲＯＷ＜１＞を並行して選択状態に駆動しても、対応の読出ビット線上における電流の衝突は回避され、選択された８セル群（図３８において実線のブロックで示す）のデータが、対応のセンスアンプ群に伝達される。また、書込データについても、非選択８セル群に対する誤書込は回避される。
【０３０４】
なお、行ＲＯＷ＜０＞およびＲＯＷ＜１＞を並行して選択状態に駆動する構成は、単に、ワード線アドレスの最下位ビットを４ビット加算演算指示ＢＩＴ４に従って縮退状態（ドントケア状態）に設定することにより、容易に実現することができる。
【０３０５】
この図３８に示す構成を利用することにより、同様、１クロックサイクルで４ビット加算処理をビットパラレル態様で実現することができる。すなわち、１クロックサイクルで、図３８に実線で示す８セル群に対して書込を行い、次のクロックサイクルにおいて同様、実線で示す８セル群に対して読出を行なうことができ、合計２クロックサイクルで４ビット加算処理をビットパラレル態様で実現することができる。
【０３０６】
同一列の８セル群の一方は活性状態かつ他方が非活性状態（ユニット演算子セルが非選択状態）であり、書込データおよび読出データの衝突は生じない。この加算演算処理においても、１つの演算子セルサブアレイブロックにおいてデータの書込を行っているときに他の演算子セルサブアレイブロックからデータの読出を行うことにより、４ビット加算処理をパイプライン的に実行することができ、等価的に１クロックサイクルで４ビット加算処理を実行することができる。
【０３０７】
なお、行ＲＯＭ＜０＞およびＲＯＷ＜１＞は、それぞれ別々の異なる演算子セルサブアレイブロックに含まれているユニット演算子セル行であってもよい。また、ＳＯＩトランジスタを利用するユニット演算子セルにおいては、データ書込経路とデータ読出経路とが異なる。従って、ユニット演算子セル群に対してデータ読出を行って加算を実行しているときに、並行して別のユニット演算子セル群に対してデータの書込が行われても良い。
【０３０８】
また、この図３８に示す配置においても、入力キャリーＣｉｎに代えて入力ボローＢＲｉｎを利用することにより、４ビットのビットパラレルかつデータシリアルの減算処理を実行することができる。「ビットパラレルかつデータシリアル」は１つの多ビットデータについて全ビットを並列に処理するとともに、各データを順次処理する態様を示す。
【０３０９】
以上のように、この発明の実施の形態２に従えば、組合せ論理演算回路においてユニット演算子セルの記憶値に対する組合せ論理演算処理を実行しており、加減算の算術演算を内部構成を変更することなく高速に実行することができる。
【０３１０】
また、キャリー／ボローの値を固定して予め加算／減算結果を予備的に求め、最終段において前段回路の実際のキャリー／ボロー出力に従ってこれらの予備加算／減算結果の一方を選択することにより、高速でビットパラレル態様で複数ビットの加算／減算処理を実行することができる。
【０３１１】
［実施の形態３］
図３９は、この発明の実施の形態３に従うユニット演算子セルの電気的等価回路を示す図である。この図３９に示すユニット演算子セルＵＯＥの構成は、以下の点で、図１に示すユニット演算子セルの構成と異なる。すなわち、ＰチャネルＳＯＩトランジスタＰＱ１およびＰＱ２に対し、互いに異なる書込ワード線ＷＷＬＡおよびＷＷＬＢが設けられる。この図３９に示すユニット演算子セルＵＯＥの他の構成は、図１に示すユニット演算子セルの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０３１２】
図３９に示すユニット演算子セルＵＯＥを利用する場合、書込ワード線ＷＷＬＡおよびＷＷＬＢを交互に選択状態へ駆動することができ、記憶ノードＳＮＡおよびＳＮＢに、個々にデータの書込を行なうことができる。したがって、たとえば、記憶ノードＳＮＡにデータを保持し、記憶ノードＳＮＢにサーチデータを書込むことにより、サーチデータと各エントリ（１行のユニット演算子セルで構成される）の記憶データの一致／不一致を識別することができる。
【０３１３】
図４０は、図３９に示すユニット演算子セルＵＯＥの平面レイアウトを概略的に示す図である。図４０において、破線ブロックで示す領域にＰチャネルＳＯＩトランジスタが形成される。このＰチャネルＳＯＩトランジスタ形性領域において、高濃度Ｐ型領域１５０ａおよび１５０ｂがＹ方向に整列して配置される。この高濃度Ｐ型領域１５０ａおよび１５０ｂの間に、Ｎ型領域１５２ａが配置される。このＮ型領域１５２ａが、ＳＯＩトランジスタＰＱ１のボディ領域として機能する。
【０３１４】
Ｐ型領域１５０ｂのＹ方向において隣接してＰ型領域１５４ａが配置される。このＰ型領域１５４ａとＹ方向において整列してかつ離れてＰ型領域１５４ｂが配置される。Ｐ型領域１５４ｂにＹ方向において接してかつ整列して高濃度Ｐ型領域１５０ｃが配置され、また、Ｐ型領域１５０ｃとＹ方向に整列して高濃度Ｐ型領域１５０ｄが配置される。Ｐ型領域１５０ｃおよび１５０ｄの間には、Ｎ型領域１５２ｂが配置される。このＮ型領域１５２ｂが、ＳＯＩトランジスタＰＱ２のボディ領域を構成する。Ｐ型領域１５０ｄに接して、Ｐ型領域１５４ｃがＸ方向に延在して配置される。
【０３１５】
ＰチャネルＳＯＩトランジスタ形成領域外部において、Ｐ型領域１５０ｂに隣接して高濃度Ｎ型領域１５６ａが配置され、このＮ型領域１５６ａとＹ方向に沿って整列して高濃度Ｎ型領域１５６ｂおよび１５６ｃが互いに間をおいて配置される。Ｎ型領域１５６ａおよび１５６ｂの間には、Ｐ型領域１５４ａがＸ方向に延在して配設され、またＮ型領域１５６ｂおよび１５６ｃの間には、Ｐ型領域１５４ｂがＸ方向に沿って延在して配置される。
【０３１６】
Ｎ型領域１５２ａ上に、ゲート電極配線１５８ａがＸ方向に沿って連続的に延在して配置され、また、Ｐ型領域１５４ａ上に、Ｎ型領域１５６ａおよび１５６ｂの間の領域を横切るようにゲート電極配線１５８ｂがＸ方向に沿って連続的に配設される。Ｐ型領域１５４ｂ上に、Ｎ型領域１５６ｂおよび１５６ｃの間の領域に連続的にＸ方向に沿って延在するようにゲート電極配線１５８ｃが配設される。
【０３１７】
Ｘ方向に連続的に延在して、かつ互いに間をおいて、第２金属配線１６０ａ−１６０ｅが配設される。第２金属配線１６２ａは、ゲート電極配線１５８ａと整列して配置されかつ電気的に接続され（コンタクト部は示さず）、書込ワード線ＷＷＬＡを構成する。第２金属配線１６０ｂは、コンタクト／ビアＣＶｂおよび中間配線を介してＮ型領域１５６ａに電気的に接続され、ソース線ＳＬを構成する。第２金属配線１６０ｃは、その下層に配設されるゲート電極配線１５８ｂに並行に配設されてかつ電気的に接続され（コンタクト部は示さず）、読出ワード線ＲＷＬＡを構成する。第２金属配線１６０ｄは、ゲート電極配線１５８ｃと整列して配置されかつ電気的に接続され、読出ワード線ＲＷＬＢを構成する。第２金属配線１６０ｅは、ゲート電極配線１５８ｄと整列して配置されかつ電気的に接続され、書込ワード線ＷＷＬＢを構成する。
【０３１８】
Ｙ方向に沿って連続的に延在してかつ互いに間をおいて第１金属配線１６２ａ−１６２ｄが配設される。ここで、第１金属配線は、第２金属配線よりも下層の金属配線である。
【０３１９】
第１金属配線１６２ａは、コンタクト／ビアＣＶｄを介してＮ型領域１５６ｃに電気的に接続される。第１金属配線１６２ｂは、コンタクト／ビアＣＶｂを介してＮ型領域１５６ｂに電気的に接続される。第１金属配線１６２ｃは、ビア／コンタクトＣＶａを介してＰ型領域１５０ａに電気的に接続される。第１金属配線１６２ｄは、コンタクト／ビアＣＶｅを介してＰ型領域１５０ｃに電気的に接続される。
【０３２０】
第１金属配線１６２ａおよび１６２ｂは、ポートＢおよびポートＡを介してデータＤＯＵＴＢおよびＤＯＵＴＡを伝達する読出ビット線を構成する。第１金属配線１６２ｃおよび１６２ｄは、入力データＤＩＮＡおよびＤＩＮＢを伝達する書込ポートおよびグローバル書込データ線を構成する。
【０３２１】
書込ワード線ＷＷＬおよびＷＷＬＢを読出ワード線ＲＷＬＡおよびＲＷＬＢを間に挟むように配置することにより、図１に示すユニット演算子セルＵＯＥのレイアウトを大幅に変更することなく、ＳＯＩトランジスタＰＱ１およびＰＱ２のゲートを、それぞれ異なる書込ワード線ＷＷＬＡおよびＷＷＬＢに電気的に結合することができる。
【０３２２】
図４１は、この発明の実施の形態３に従う半導体信号処理装置のデータパスおよび組合せ論理演算回路のデータ伝搬経路の接続態様を概略的に示す図である。この図４１に示す構成において、組合せ論理演算回路２６においては、２入力ＯＲゲートＯＧ０が選択される。２入力ＯＲゲートＯＧ０は、メインアンプ回路２４に含まれるメインアンプの出力信号Ｐ＜４ｉ＞およびＰ＜４ｉ＋１＞を受ける。
【０３２３】
データパス２８において各データパス演算単位ブロック４４＜０＞−４０＜ｍ＞に対し共通にマッチ線ＭＬが配置される。データパス演算単位グループ４４＜０＞−４４＜ｍ＞各々において、データパス単位ブロックＤＰＵＢ０に対応して、放電トランジスタＴＱ１が設けられる。この放電トランジスタＴＱ１は、ＮチャネルＭＯＳトランジスタまたはＳＯＩトランジスタで構成され、マッチ線ＭＬに結合され、対応の２入力ＯＲゲートの出力信号に従ってマッチ線ＭＬを放電する。マッチ線ＭＬに対し、さらに、プリチャージ指示信号／ＰＲＥに従ってマッチ線ＭＬを電源電圧レベルに充電するＰチャネルのプリチャージトランジスタＰＱ０と、マッチ線ＭＬ上の信号電位を増幅する増幅回路ＡＭＰとが設けられる。
【０３２４】
演算子セルアレイ２０においては、エントリデータとして、入力データＢおよびその反転データ／Ｂがデータパス単位ブロックＤＰＵＢ０およびＤＰＵＢ１に対応して配置されるユニット演算子セルの記憶ノードＳＮＢに格納される。
【０３２５】
サーチ開始後、データパス単位ブロックＤＰＵＢ０およびＤＰＵＢ１においてデータＡの反転データ／Ａおよび非反転データＡを選択して対応のユニット演算子セルの記憶ノードＳＮＡに格納し、データの読出を行なう。対応のユニット演算子セルにおいては、データ（／Ａ、Ｂ）および（Ａ、／Ｂ）の読出が行われる。
【０３２６】
演算子セルアレイ２０のセンスアンプからは、ＡＮＤ演算結果Ａ・／Ｂおよび／Ａ・Ｂが出力されて、対応のメインアンプを介して２入力ＯＲゲートＯＧ０へ与えられる。データＡおよびＢが等しい場合には、これらのＡＮＤ演算結果Ａ・／Ｂおよび／Ａ・Ｂは、“０”であり、ＯＲゲートＯＧ０の出力は、“０”である。一方、データＡおよびＢが不一致の場合には、データＡ・／Ｂおよび／Ａ・Ｂの一方が“１”となり、対応のＯＲゲートＯＧ０の出力信号が“１”となる。
【０３２７】
したがって、不一致を検出したＯＲゲートＯＧ０の出力信号が“１”となり、対応の放電用トランジスタＴＱ１がオン状態となり、マッチ線ＭＬが放電される。マッチ線ＭＬの電圧レベルは、データＡおよびＢが一致している場合には、プリチャージトランジスタＰＱ０によりプリチャージされた電圧レベルであり、データＡおよびＢが不一致の場合には、放電用トランジスタＴＱ１により放電された、プリチャージ電圧よりも低い電圧レベルである。増幅回路ＡＭＰによりマッチ線ＭＬの電圧レベル増幅することにより、その出力信号ＳＲＳＬＴの論理レベルに従ってマッチ線ＭＬの電圧レベルを識別することができ、応じて、サーチデータＡと先に格納されたサーチ対象データ（エントリデータ）Ｂの一致／不一致を判定することができる。
【０３２８】
図４２は、この発明の実施の形態３に従う半導体信号処理装置がＣＡＭ（内容参照メモリ）として利用される場合の全体の構成を概略的に示す図である。この図４２に示す半導体信号処理装置においては、アドレスカウンタ１７０が設けられる。データパス２８に含まれる増幅回路ＡＭＰの出力データＳＲＳＬＴにより、アドレスカウンタ１７０のカウントアップ／カウント停止が制御される。アドレスカウンタ１７０のカウント値をアドレス信号として行選択駆動回路２２が、順次、演算子セルアレイ２０内においてエントリＥＲＹを選択してサーチ動作を実行する。
【０３２９】
図４３は、この発明の実施の形態３に従う半導体信号処理装置の動作を示すフロー図である。以下、図４３に示すフロー図を参照して、図３９から図４３に示す半導体信号処理装置のサーチ動作について説明する。
【０３３０】
まず、サーチ対象データとして、データＢを入力し、データパス２８における経路選択処理により、データＢおよび反転データ／ＢをエントリＥＲＹのユニット演算子セル（ＵＯＥ０およびＵＯＥ１）にそれぞれ格納する（ステップＳＰ１）。この場合、書込ワード線ＷＷＬＢのみを選択し、ユニット演算子セルにおいて、図３９に示すＳＯＩトランジスタＮＱ２のボディ領域、すなわち記憶ノードＳＮＢへデータの格納を行なう。このとき、また、アドレスカウンタ１７０は、初期値に設定されている。行選択駆動回路２２が、このアドレスカウンタ１７０のカウント値に従って対応のエントリを選択し、選択エントリに対しデータＢおよび／Ｂの書込を実行する。
【０３３１】
次いで、アドレスカウンタ１７０をクロック信号（図示せず）に従って順次更新し、演算子セルアレイ２０のエントリを順次更新し、サーチ対象データを順次格納する（ステップＳＰ２）。
【０３３２】
演算子セルアレイ２０に必要なサーチ対象データがすべて格納された後、データＡについてのサーチ動作を開始する（ステップＳＰ３）。サーチ動作開始時においては、アドレスカウンタ１７０を初期値にリセットされる。データパス２８においては、入力データ（サーチデータ）Ａを用いてデータパス単位ブロックＤＰＵＢ０およびＤＰＵＢ１に対し反転データ／ＡおよびデータＡを生成し、対応のユニット演算子セルに伝達する。このサーチデータの書込時においては、書込ワード線ＷＷＬＢは非選択状態に維持し、書込ワード線ＷＷＬＡのみを選択状態へ駆動する。次いで、行選択駆動回路２２により、選択エントリの読出ワード線ＲＷＬＡおよびＲＷＬＢを並行して選択し、ポートＢを介してのデータの読出を実行する。
【０３３３】
センスアンプＳＡからは、データＡ・／ＢおよびＡ・／Ｂが出力されて、対応のメインアンプを介して対応の２入力ＯＲゲートＯＧ０へ伝達される。この２入力ＯＲゲートＯＧ０の出力信号に従ってマッチ線ＭＬが放電用トランジスタＴＱ１により選択的に放電される。マッチ線ＭＬの電圧を増幅する増幅回路ＡＭＰの出力信号ＳＲＳＬＴに従って、図示しない制御回路（３０）が、一致が発生したかの識別を行なう（ステップＳＰ４）。
【０３３４】
一致が検出された場合には、アドレスカウンタ１７０のカウント動作を停止し、そのカウント値を保持して出力する（ステップＳＰ５）。アドレスカウンタ１７０のカウント値をアドレスインデックスとして用いて、この半導体信号処理装置が適用される用途に応じて適宜定められた処理が実行される。
【０３３５】
一方、選択エントリの格納データとサーチデータＡとが不一致の場合、全エントリのサーチが完了したかが、まず判定される（ステップＳＰ６）。全エントリに対するサーチが行なわれていない場合には、アドレスカウンタ１７０のカウント値を更新し（ステップＳＰ８）、行選択駆動回路２２により次のエントリを選択してサーチを実行する（ステップＳＰ９）。
【０３３６】
一方、ステップＳＰ６において全エントリに対するサーチが完了したと判定されると、演算子セルアレイ２０に格納されるサーチ対象データが、すべてサーチデータＡと不一致であるため、必要な不一致発生時の処理が実行される（ステップＳＰ７）。
【０３３７】
サーチ処理においては、各エントリを順次選択してサーチを実行する。したがって、通常の、ＴＣＡＭ（３値ＣＡＭ）のような並列サーチ動作に比べて処理速度が遅くなるものの、ユニット演算子セルのレイアウト面積は、通常のＳＲＡＭセルを利用するＴＣＡＭに比べて大幅に低減することができる。
【０３３８】
また、ＴＣＡＭにおいては、通常、各セルに一致／不一致を判定するＸＯＲ回路が配置され、また、各エントリに対応してマッチ線が配置され、各マッチ線が対応のＸＯＲ回路により放電される。従って、マッチ線の充放電による消費電流が増大するという問題が生じる。
【０３３９】
本実施の形態３においては、データパス２８および組合せ論理演算回路２６が、複数のエントリに共通に設けられており、このマッチ線の充放電電流は大幅に低減され、また、一致判定の構成要素を配置する部分のレイアウト面積を、大幅に低減することができる。
【０３４０】
図４４は、この発明の実施の形態３において利用される半導体信号処理装置の制御回路（３０）の構成の一例を概略的に示す図である。図４４において、制御回路３０は、外部からのコマンドＣＭＢをデコードするコマンドデコーダ７０と、このコマンドデコーダ７０からの演算操作指示ＯＰＬＯＧに従ってそれぞれ動作する接続制御回路２７２、書込制御回路２７４、読出ワード制御回路２７６、およびデータ読出制御回路２７８とを含む。
【０３４１】
接続制御回路２７２は、コマンドデコーダ７０からの演算操作指示ＯＰＬＯＧが、各エントリへのサーチ対象データの書込を指示するときには、切換制御信号ＭＸＡＳおよびＭＸＢＳを、ＸＯＲ演算時と同様、相補データを隣接するデータパス単位ブロックにおいて生成するように接続経路を形成する状態に設定し、また、ロジックパス指示信号ＬＧＰＳを２入力ＯＲゲートを選択する状態に設定する。
【０３４２】
書込制御回路２７４は、演算操作指示ＯＰＬＯＧが、エントリへのサーチ対象データの書込を指示するときには、書込ワード線活性化信号ＷＷＬＥＮＢおよび書込活性化信号ＷＲＥＮを活性化し、書込ワード線活性化信号ＷＷＬＥＮＡは非活性状態に維持する。一方、この演算操作指示ＯＰＬＯＧが、サーチ開始を指示する場合には、書込制御回路２７４は、書込ワード線活性化信号ＷＷＬＥＮＢを非活性状態に指示し、書込活性化信号ＷＲＥＮおよび書込ワード線活性化信号ＷＷＬＥＮＡを活性状態に駆動する。
【０３４３】
読出ワード制御回路２７６は、演算操作指示が、サーチ対象データの書込を示す場合には、読出活性化信号ＲＲＥＮ、読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＬＥＮＢを非活性状態にし、また、メインポート選択信号ＰＲＭＸＭを非活性状態に指示する。一方、演算操作指示ＯＰＬＯＧが、サーチ開始を指示する場合には、読出ワード制御回路２７６は、書込ワード線活性化信号ＷＷＬＥＮＡの活性化後、所定のタイミングで読出活性化信号ＲＲＥＮ、読出ワード線活性化信号ＲＷＬＥＮＡ、およびＲＷＬＥＮＢを活性状態へ駆動する。
【０３４４】
データ読出制御回路２７８は、演算操作指示ＯＰＬＯＧが、サーチ対象のデータの書込を指示する場合には、センスアンプ活性化信号ＳＡＥＮ、メインアンプ活性化信号ＭＡＥＮおよび読出ブロック選択活性化信号ＣＬＥＮをすべて非活性状態に維持する。一方、演算操作指示ＯＰＬＯＧが、サーチ開始を指示する場合には、読出ワード制御回路２７６は、読出ワード線の活性化前に、メインポート選択信号ＰＲＭＸＭを、ポートＢ（読出ポートＲＰＴＢ）を選択する状態に設定し、また、読出ワード制御回路２７６の読出ワード線選択タイミングに応じて、センスアンプ活性化信号ＳＡＥＮ（／ＳＯＰおよびＳＯＮ）を活性状態に駆動し、次いで、メインアンプ活性化信号ＭＡＥＮを活性化する。このとき、またセンスアンプ活性化前または後に、読出ゲート選択タイミング信号ＣＬＥＮを活性化する。
【０３４５】
図４５は、この発明の実施の形態３における行選択駆動回路に含まれる行ドライブ回路ＸＤＲｉの構成の一例を概略的に示す図である。図４５においては、行選択駆動回路２２に含まれる読出セルサブアレイブロックポート接続およびサブアレイブロック選択部の構成を併せて示す。
【０３４６】
行ドライブ回路ＸＤＲｉは、読出ワード線を駆動する読出ワード線ドライブ回路２８０と、ダミーセルを選択するダミーセル選択回路２８２と、書込ワード線を駆動する書込ワード線ドライブ回路２８４とを含む。
【０３４７】
読出ワード線ドライブ回路２８０は、読出活性化信号ＲＲＥＮの活性化に応答してイネーブルされ、アドレスカウンタ（１７０）からのカウント値をアドレス信号ＡＤおよびブロックアドレス信号ＢＡＤとして受けてデコードし、指定されたエントリに対して配置される読出ワード線ＲＷＬＡおよびＲＷＬＢを、読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＷＬＥＮＢが規定するタイミングで選択状態へ駆動する。
【０３４８】
ダミーセル選択回路２８２は、読出活性化信号ＲＲＥＮの活性化に応答してイネーブルされ、アドレスカウンタ１７０からのブロックアドレス信号ＢＡＤを受けてデコードし、読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＷＬＥＮＢに従ってダミーセル選択信号ＤＣＬＡおよびＤＣＬＢのうちの１つを選択状態に駆動する。ダミーセル選択回路２８２は、読出ワード線活性化信号ＲＷＬＥＮＡのみの活性化時、ダミーセル選択信号ＤＣＬＡを選択状態に駆動し、読出ワード線活性化信号ＲＷＬＥＮＡおよびＲＷＥＡＮＢ両者の活性化時ダミーセル選択信号ＤＣＬＢを選択状態へ駆動する。
【０３４９】
書込ワード線ドライブ回路２８４は、書込活性化信号ＷＲＥＮの活性化時イネーブルされ、アドレスカウンタ１７０からのアドレス信号ＡＤおよびＢＡＤをデコードし、書込ワード線活性化信号ＷＷＬＥＮＡおよびＷＷＬＥＮＢの活性化タイミングで、書込ワード線ＷＷＬＡおよびＷＷＬＢを選択状態へ駆動する。
【０３５０】
サブアレイ選択駆動回路２９０は、読出ゲートを選択する読出ゲート選択回路２９２と、ポート接続を行なうポート接続制御回路２９４とを含む。読出ゲート選択回路２９２は、読出活性化信号ＲＲＥＮの活性化時イネーブルされ、、アドレスカウンタ１７０からのブロックアドレス信号ＢＡＤをデコードし、デコード結果に従って対応の演算子サブアレイブロックに対する読出ゲート選択信号ＣＳＬを、読出ゲート選択タイミング信号ＣＬＥＮの活性化タイミングで選択状態へ駆動する。
【０３５１】
ポート接続制御回路２９４は、読出活性化信号ＲＲＥＮの活性化に従ってイネーブルされ、メインポート選択信号ＰＲＭＸＭとブロックアドレス信号ＢＡＤとに従って、対応の演算子セルサブアレイブロックのポート接続を設定するようにポート選択信号／ＰＲＭＸＡおよび／ＰＲＭＸＢの状態を設定する。これらのポート選択信号／ＰＲＭＸＡおよび／ＰＲＭＸＢが、先のポート選択信号ＰＲＭＸに対応する。サーチ動作時には、ポート接続制御回路２９４は、ポートＢを選択するように、ポート選択信号／ＰＲＭＸＡおよび／ＰＲＭＸＢのうちポートＢ選択信号／ＰＲＭＸＢをＬレベルに駆動する。
【０３５２】
図４４および図４５に示す制御回路および行選択駆動回路を利用することにより、この半導体信号処理装置をＣＡＭとして動作させる場合においても、サーチ対象データのエントリへの格納、サーチデータを用いた各エントリ毎のサーチを実行することができる。
【０３５３】
また、図４４および図４５に示す構成において、このブロックアドレスＢＡＤおよびアドレスＡＤをアドレスカウンタ１７０を用いて生成する場合、異なる演算子セルサブアレイを指定するようにブロックアドレスＢＡＤを生成すると、異なる演算子セルサブアレイブロックへパイプライン態様でアクセスして、１つの演算子セルサブアレイブロックにおいて読出を行っているときに別の演算子セルサブアレイブロックに対してデータの書込を行なうことができる。これにより、各クロックサイクルにおいてデータの書込と読出とを異なる演算子セルサブアレイブロックにおいて並行して実行することにより、演算処理をパイプライン的に実行することができる。
【０３５４】
このパイプライン態様のデータ処理を実現するためには、一例として、以下の構成を利用することができる。すなわち、読出ワード線ドライブ回路２８０、ダミーセル選択回路２８２およびポート接続制御回路２９０に対しては、アドレス信号ＢＡＤおよびＡＤを、書込ワード線ドライブ回路２８４への印加よりも１クロックサイクル遅延させて印加する。これにより、書込が行われた演算子セルサブアレイブロックに対して次のサイクルでデータの読出を行なうことができる。データパス２８においては、データの書込経路と読出経路とが別々であり、書込時のデータ転送経路および読出時のデータ転送経路を並行して設定しても、何ら問題は生じない。これにより、パイプライン態様で高速で処理を実行することができる。
【０３５５】
また、同一の演算子セルサブアレイブロックにおいて、異なるエントリに対して書込と読出とが並行して実行されても良い。この場合には、書込に対してワード線アドレス印加を１クロックサイクル、読出時に遅延する。書込が行われたエントリに対して次のサイクルにおいてデータの読出が実行される。この構成も、図４４および図４５に示す構成を利用して実現することができる。
【０３５６】
以上のようにこの発明の実施の形態３に従えば、この半導体信号処理装置において、複数のエントリに共通に一致判定部を設け、各エントリに、サーチ対象データを格納した後に、サーチデータに従ってデータパスを介して相補データを生成して書込／かつ読出ように構成している。したがって、１エントリに対する検索動作を１クロックサイクルで実行することができ、また、メモリセルアレイのレイアウト面積および消費電流を低減することができる。
【０３５７】
［実施の形態４］
図４６は、この発明の実施の形態４に従う半導体信号処理装置の演算データの配列を概略的に示す図である。図４６において、演算子セルアレイ２０に対し、演算データ入出力／処理回路３００が設けられる。この演算データ入出力／処理回路３００は、メインアンプ回路２４、組合せ論理演算回路２６およびデータパス２８を含む。
【０３５８】
演算データ入出力／処理回路３００は、演算単位ブロック３０２ａ、３０２ｂ、…に分割される。演算単位ブロック３０２ａ、３０２ｂ、…は、各々、組合せ論理演算回路の単位演算ブロック（ＵＣＬ）およびデータパス演算単位グループ（４４）を含む。
【０３５９】
演算データ入出力／処理回路３００に対し、ビットシリアル態様で、データワードＡ，Ｂ，Ｃ，Ｄが与えられ、これらのデータの演算処理（＊）の結果データＤＯＵＴが、また、ビットシリアル態様で外部に出力される。図４６においては、データワードＡ、Ｂ、Ｃ、およびＤが、それぞれ、ビット幅が（ｎ＋１）ビットであり、また、出力データＤＯＵＴのビット幅が、（ｎ＋１）の場合のビットシリアルな転送態様を一例として示す。
【０３６０】
このビットシリアルかつデータワードパラレルの態様でのデータ列の印加は、データ列変換回路３１０により実行される。データ列変換回路３１０は、ビットパラレルかつデータシリアルに与えられるデータワードＡ、Ｂ、Ｃ、…を順次格納し、これらの格納データをビットシリアルかつデータワードパラレルの態様で転送する。
【０３６１】
前述のように、「ビットシリアルかつデータワードパラレル」な転送は、データワードを構成するビットが順次転送され、各データワードが並列に転送される態様を示す。「ビットパラレルかつデータワードシリアル」は、データワードがシリアルに転送されかつデータワードを構成する複数ビットが並列に転送される態様を示す。
【０３６２】
データ列変換回路３１０の構成は、通常の直交変換回路を利用することにより容易に実現することができる。また、データ列変換回路３１０は、この半導体信号処理装置の外部に設けられるように示すが、この半導体信号処理装置の内部に、たとえばデータパス２８内に設けられてもよい。
【０３６３】
行選択駆動回路２２によりエントリを選択し、ビットシリアルかつデータワードパラレルな態様で、指定された演算処理を実行する。
【０３６４】
図４６においては、演算子セルアレイ２０において演算単位ブロック３０２ａに対して設けられるサム生成ユニットおよびキャリー生成ユニットを代表的に示す。これらのサム生成ユニットおよびキャリー生成ユニットは、各々、４個のユニット演算子セルを含み、対応の演算単位ブロック３０２ａからの転送データに対して実施の形態２において説明した１ビット加算／減算を実行する。他の演算単位ブロック３０２ｂ、…、に対しても、同様のサムおよびキャリー生成ユニットが配置される。ユニット演算子セルの構成は実施の形態１の場合と同様である。
【０３６５】
図４７は、図４６に示す演算データ入出力／処理回路３００に含まれる組合せ論理演算回路２６の処理単位（単位演算ブロックＵＣＬ）の構成を概略的に示す図である。この図４７においては、１つの処理単位の単位演算ブロックＵＣＬ４ｋの構成を代表的に示す。
この図４７に示す単位演算ブロックＵＣＬ４ｋの構成は、図９に示す単位演算ブロックの構成と、以下の点で異なる。すなわち、マルチプレクサ（ＭＵＸ）６０ａに対してさらに、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０が設けられる。このＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０は、対応の単位演算ブロックに対して設けられるメインアンプの出力データビットＰ＜４ｋ＞、Ｐ＜４ｋ＋１＞およびＰ＜４ｋ＋２＞を受ける。ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０は、ビットＰ＜４ｋ＋２＞がＨレベルでありかつビットＰ＜４ｋ＋１＞がＬレベルのとき、または、ビットＰ＜４ｋ＞がＨレベルのときにＨレベルの信号を出力する。このＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０を利用して、ビットシリアル態様での加算時のキャリーを生成する。
【０３６６】
また、マルチプレクサ６２ａに対し、さらに、対応のメインアンプの出力ビットＰ＜４ｋ＋１＞および＜４ｋ＋２＞を受ける２入力ＯＲゲートＯＧ１０が設けられる。この２入力ＯＲゲートＯＧ１０は、サムＳＵＭをビットシリアル態様で生成する際に利用される。
【０３６７】
図４７に示す単位演算ブロックＵＣＬ４ｋの他の構成は、図９に示す単位演算ブロックの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。なお、図４７において、隣接する単位演算ブロックＵＣＬ＜４ｋ＋１＞の構成も併せて示すが、このブロックＵＣＬ＜４ｋ＋１＞においては、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０の構成を示していないが、単位演算ブロックＵＣＬ４ｋ、ＵＣＬ（４ｋ＋１）、…は、同一構成を有する。
【０３６８】
図４８は、図４６に示す演算データ入出力／処理回路３００に含まれるデータパス２８の構成を概略的に示す図である。この図４６に示すデータパス２８は、以下の点で、図７に示すデータパス２８とその構成が異なる。すなわち、データパス単位ブロックＤＰＵＢ０において、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１と、マルチプレクサ（ＭＵＸ）３２０とが設けられる。ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１は、対応の組合せ論理演算回路の単位演算ブロックからのビットＱ０およびＱ２とデータパスの隣接して配置されるデータパス演算単位グループ（図４６の対応のキャリー生成ユニットに対応して配置される）に含まれるデータパス単位ブロックに与えられるビットＱ２（−１）およびＱ３（−１）を受ける。このＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１は、等価的に、ビットＱ２と隣接して配置されるデータパス演算単位グループのビットＱ３（−１）（＝／ＣＹ＿ｏｌｄ）とを受ける第１のＡＮＤゲートと、対応のデータパス単位ブロックＤＰＵＢ０に与えられるビットＱ０と隣接して配置されるデータパス演算単位グループに与えられるビットＱ２（−１）（ＣＹ＿ｏｌｄ）とを受ける第２のＡＮＤゲートと、これらの第１および第２のＡＮＤゲートの出力信号を受ける２入力ＯＲゲートとで構成される。ここで、ＣＹ＿ｏｌｄは、前の加算サイクルで生成されたキャリーを示す。このＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１を利用して、加算時のサムまたは減算時の減算値を生成する。
【０３６９】
マルチプレクサ２３０は、このＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１および対応の単位演算ブロックからのビットＱ０の一方を演算切換信号ＯＰＡＸに従って選択して、その出力信号をレジスタ５０に与える。レジスタ５０の出力信号がバッファ５１を介して外部データＤＯＵＴ＜０＞として出力され、また、同一のデータパス演算単位グループ内の各データパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３にフィードバックされる。
【０３７０】
この図４８に示すデータパス単位ブロックの構成、すなわちデータパス演算単位グループ４４の他の構成は、図７に示すデータパス演算単位グループの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０３７１】
このビットシリアルの加算および減算を行なう場合においても、各データパス演算単位グループ（４４）に対応して配置されるキャリー生成ユニットおよびサム生成ユニットを利用して１ビット加算および減算を実行する。
【０３７２】
ここで、このビットシリアル態様での加算／減算処理においては、ユニット演算子セルに対する読出ワード線および書込ワード線の選択に対してキャリー／ボローの値に応じた選択的な信号の伝達を行なうワードゲート回路は、用いられない。ＸＯＲ演算またはＸＮＯＲ演算実行時と同様にして、ユニット演算子セルの選択および書込／読出アクセスが実行される。
【０３７３】
図４９は、ビットシリアル加算演算を行なう場合のキャリーＣＹを生成する部分（図４６に示すキャリー生成ユニットに対応）のデータ経路の接続を概略的に示す図である。図４９において、データパス（２８）におけるデータパス演算単位グループ４４において、データパス単位ブロックＤＰＵＢ０のマルチプレクサ５６および５７は、入力データＤＩＮＡ（＝Ａ）およびＤＩＮＢ（＝Ｂ）をそれぞれ選択する。従って、対応のグローバルデータ線ＷＧＬＡ０およびＷＧＬＢ０に対しては、データＡおよびＢが転送されて対応のユニット演算子セルＵＯＥ０に格納される。
【０３７４】
データパス単位ブロックＤＰＵＢ１において、マルチプレクサ５６は、インバータ５２を介して与えられる入力データＡの反転値／Ａを選択し、マルチプレクサ５７は、インバータ５４を介して与えられる入力データＢの反転値／Ｂを選択する。対応のグローバル書込データ線対ＷＧＬＡ１およびＷＧＬＢ１を介してデータ／Ａおよび／Ｂが転送されて対応のユニット演算子セルＵＯＥ１に格納される。
【０３７５】
データパス単位ブロックＤＰＵＢ２において、マルチプレクサ５６および５７は、レジスタ５０から転送されるキャリーＣＹを選択する。従って、対応のグローバル書込データ線対ＷＧＬＡ２およびＷＧＬＢ２を介してデータＣＹが転送され、対応のユニット演算子セルＵＯＥ２に格納される。
【０３７６】
データパス単位ブロックＤＰＵＢ３においては、マルチプレクサ５６および５７は、それぞれインバータ５３および５５を介して与えられるレジスタ５０からのキャリーＣＹの反転値／ＣＹを選択する。従って、対応のグローバル書込データ線対ＷＧＬＡ３およびＷＧＬＢ３を介してデータＣＹが転送され、対応のユニット演算子セルＵＯＥ３に格納される。
【０３７７】
レジスタ５０から伝達されるキャリーＣＹは、前のサイクルで演算処理されて生成されたキャリーであり、１ビット下位の加算結果により生成されたキャリーであり、現サイクルにおける入力キャリーＣｉｎと等価である。このキャリーＣＹを再度ユニット演算子セルに書込かつ読出すことにより前のサイクルで生成されたキャリーを入力キャリーＣｉｎ（＝ＣＹ＿ｏｌｄ）として新たなキャリーを生成することができる。
【０３７８】
演算セルアレイにおいては、ダミーセルＤＭＣに対して、ダミーセル選択信号ＤＣＬＢが与えられる。したがって、２つの直列ダミートランジスタ（ＤＴＢ０，ＤＴＢ１）が選択される。ユニット演算子セルＵＯＥ０−ＵＯＥ３に対する読出および書込ワード線の配置は、実施の形態１の場合と同じであり、各ユニット演算子セルＵＯＥ０−ＵＯＥ３に対し、対応のグローバル書込データ線ＷＧＬＡおよびＷＧＬＢに伝達されたデータが書込まれ、次いで読出される。
【０３７９】
読出ポート選択回路３６においては、ポート切換信号ＰＲＭＸＢにより、ポートＢが選択される。したがって、センスアンプＳＡ０−ＳＡ３の出力信号は、対応のユニット演算子セルＵＯＥ０−ＵＯＥ３の格納データのＡＮＤ演算結果を示す。すなわち、センスアンプＳＡ０からは、データＡ・Ｂが出力され、センスアンプＳＡ１からはデータ（／Ａ・／Ｂ）が出力される。センスアンプＳＡ２からは、データＣＹ・ＣＹ＝ＣＹが出力され、センスアンプＳＡ３からは、データ（／ＣＹ・／ＣＹ）＝／ＣＹが出力される。
【０３８０】
すなわち、前サイクルにおいて生成された中間キャリーＣＹに応じた値がセンスアンプＳＡ２およびＳＡ３から出力される。これらのセンスアンプＳＡ２およびＳＡ３の出力ビットは、バッファＢＦＦ２およびＢＦＦ３を介して、隣接して配置されるサム生成用のデータパス演算単位グループへ与えられ、前サイクルにおいて生成されたキャリー、すなわち１ビット下位の演算により生成されたキャリーを入力キャリＣｉｎ（＝ＣＹ＿ｏｌｄ）として利用してサムを生成する。
【０３８１】
センスアンプＳＡ０−ＳＡ２それぞれに対応して配置される図示しないメインアンプからの出力ビットＰ０−Ｐ２が、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０へ与えられる。
【０３８２】
したがって、このＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０からは、キャリーＣＹとして、次式で示されるキャリーＣＹが生成される：
ＣＹ＝Ａ・Ｂ＋（／（／Ａ）・（／Ｂ））・ＣＹ＿ｏｌｄ
＝Ａ・Ｂ＋（Ａ＋Ｂ）・ＣＹ＿ｏｌｄ．
ここで、キャリーＣＹ＿ｏｌｄは、前サイクルにおいて生成された中間キャリーであり、現サイクルにおける入力キャリー（Ｃｉｎ）となる。
【０３８３】
図２９に示す論理テーブルから明らかに、入力キャリーＣＹ＿ｏｌｄが“０”のとき、出力キャリーＣＹが“１”となるのは、データＡ・Ｂが“１”のときである。また、入力キャリーＣＹ＿ｏｌｄが“１”のときに出力キャリーＣＹが“０”となるのはデータＡおよびＢが共に“０”のときである。したがって、この図４９に示すように、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０による複合演算処理により、この図２９に示す論理値関係を満たすキャリーＣＹを生成することができ、各クロックサイクル毎に中間キャリーＣＹを生成することができる。
【０３８４】
図５０は、ビットシリアル態様での１ビット加算を実行する部分の構成を概略的に示す図である。この１ビットシリアル加算部は、図４６に示すキャリー生成ユニットに隣接して配置されるサム生成ユニットに対応する。したがって、データパス演算単位グループとして、キャリー生成ユニットを構成するデータパス演算単位グループに隣接するデータパス演算単位グループのデータパス単位ブロックＤＰＵＢ４−ＤＰＵＢ７が用いられる。
【０３８５】
演算子セルアレイにおいて、ダミーセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＢが与えられ、直列ダミートランジスタが選択される。ユニット演算子セルＵＯＥ４−ＵＯＥ７に対しては、先の実施の形態１の場合と同様、読出ワード線および書込ワード線が、それぞれ順次選択され、２つの記憶ノード（ＳＮＡおよびＳＮＢ）に対する書込および読出が実行される。
【０３８６】
データパス演算単位グループ４４において、データパス単位ブロックＤＰＵＢ４においては、マルチプレクサ（ＭＵＸＡ）５６が、入力データＤＩＮＡ（＝Ａ）を選択し、マルチプレクサ（ＭＵＸＢ）５７が、インバータ５４からの入力データＤＩＮＢ（＝Ｂ）の反転値／Ｂを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ４およびＷＧＬＢ４上にはデータＡおよび／Ｂが伝達され、対応のユニット演算子セルＵＯＥ４に格納される。
【０３８７】
データパス単位ブロックＤＰＵＢ５においては、マルチプレクサ５６は、インバータ５２からの入力データＡの反転値／Ａを選択し、マルチプレクサ５７が、入力データＢを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ５およびＷＧＬＢ５上にはデータ／ＡおよびＢが伝達され、対応のユニット演算子セルＵＯＥ５に格納される。
【０３８８】
データパス単位ブロックＤＰＵＢ６においては、マルチプレクサ５６および５７は、それぞれ、インバータ５２および５４から与えられる入力データＡおよびＢの反転値／Ａおよび／Ｂを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ６およびＷＧＬＢ６上にはデータ／Ａおよび／Ｂが伝達され、対応のユニット演算子セルＵＯＥ６に格納される。
【０３８９】
データパス単位ブロックＤＰＵＢ７において、マルチプレクサ５６および５７は、入力データＡおよびＢを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ７およびＷＧＬＢ７上のデータは、データＡおよびＢとなり、対応のユニット演算子セルＵＯＥ７に格納される。
【０３９０】
データ読出時、読出ポート選択回路３６においては、ポートＢが選択され、ポートＢの読出ビット線（ＲＢＬＢ）が選択される。したがって、センスアンプＳＡ４−ＳＡ７は、それぞれ、対応のユニット演算子セルが記憶する２つのデータのＡＮＤ演算結果を生成する。センスアンプＳＡ４−ＳＡ７の出力データが、図示しないメインアンプを介して組合せ論理演算回路２６に伝達される。
【０３９１】
組合せ論理演算回路２６においては、２入力ＯＲゲートＯＧ０およびＯＧ１０が選択される。２入力ＯＲゲートＯＧ０は、センスアンプＳＡ４およびＳＡ５に対応して配置されるメインアンプの出力信号Ｐ＜４＞およびＰ＜５＞の論理和演算結果を出力する。２入力ＯＲゲートＯＧ１０は、センスアンプＳＡ６およびＳＡ７に対応して設けられるメインアンプの出力信号Ｐ＜６＞およびＰ＜７＞の論理和演算結果を生成する。これらの２入力ＯＲゲートＯＧ０およびＯＧ１０の出力ビットが、対応のキャリー生成部からの前サイクルで生成された中間キャリーＣＹ＿ｏｌｄおよび／ＣＹ＿ｏｌｄと共に、データパス内に配置されるＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１へ与えられ、このＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１の出力データが、レジスタ５０および図示しないバッファを介して出力される。このバッファ（５１）からの出力が、サムＳＵＭに等しく、このサムＳＵＭは、次式で表わされる。
【０３９２】
ＳＵＭ＝（Ａ・（／Ｂ）＋（／Ａ）・（Ｂ））・（／ＣＹ＿ｏｌｄ）
＋（Ａ・Ｂ＋（／Ａ）・（／Ｂ））・ＣＹ＿ｏｌｄ．
図２６に示すサムＳＵＭの論理値表を参照すると、入力キャリーＣＹ＿ｏｌｄが“１”のときに、サムＳＵＭが“１”となるのは、データＡ・Ｂおよび／Ａ・／Ｂのいずれかが“１”のときである。一方、入力キャリーＣＹ＿ｏｌｄが“０”のとき、サムＳＵＭが“１”となるのは、データＡおよびＢの論理値が不一致の場合である。データＡ・／Ｂおよび／Ａ・Ｂは、データＡおよびＢが不一致のとき、一方が“１”となるため、この図２６に示すサムＳＵＭに対する論理関係を満たす値が、バッファ（５１）から生成される。
【０３９３】
上述のように、１ビットのシリアル加算を行なう場合においても、キャリー生成部において生成されたキャリーを、入力キャリーとして用いて演算操作を実行することにより、ＸＯＲ演算（またはＸＮＯＲ演算）実行時と同様にして、サムＳＵＭを生成することができる。
【０３９４】
この場合、データビットの書込およびデータビットの読出を行うときに、前サイクルで生成されたキャリービットＣＹを入力キャリービットＣＹ＿ｏｌｄとして利用するため、キャリビットＣＹが確定するまでの時間遅れが生じる。しかしながら、半クロックサイクルでキャリービットＣＹが確定するのであれば、この半クロックサイクルの時間遅延をもってパイプライン的にビットシリアル態様で加算処理を実行することができる。
【０３９５】
キャリーＣＹ生成に４ユニット演算子セルが利用され、またサムＳＵＭ生成に４ユニット演算子セルが利用される。従って、例えば、エントリのビット幅が、１０２４ビットのとき、１２８対のデータを並行して処理することができ、データワードのビット幅が、ｍビットであれば、２・ｍサイクルで１２８個のデータワードを処理することができる（書込および読出にそれぞれ１クロックサイクルが必要とされる場合）。通常のハードウェアのｍビット加算器１クロックサイクルでｍビット加算を実行する場合、１２８個のデータを処理するためには、１２８クロックサイクルが必要とされる。データのビット幅ｍが、３２ビットであれば、本実施の形態に従えば、より高速で加算処理を実行することができる。エントリのビット幅を増大させることにより、並行して処理されるデータの組を増大させることができ、より高速の加算処理を実現することができる。
【０３９６】
［ビットシリアル減算器の構成］
図５１は、この発明の実施の形態４に従うビットシリアル減算器のボローＢＲを生成する部分の構成を具体的に示す図である。図５１において、このボロー生成部においても、データパス２８において、データパス演算単位グループ４４に含まれるデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３が用いられる。演算子セルアレイにおいては、このデータパス単位ブロックＤＰＵＢ０−ＤＰＵＢ３に対応してユニット演算子セルＵＯＥ０−ＵＯＥ３が配置される。ユニット演算子セルＵＯＥ０−ＵＯＥ３の構成は、実施の形態１と同様であり、これらのユニット演算子セルＵＯＥ０−ＵＯＥ３に対して、データの書込および読出が実施の形態１と同様にして実行される。ダミーセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＢが与えられ、読出ポート選択回路３６においては、ポートＢが選択される。対応のセンスアンプＳＡ０−ＳＡ３の出力データは、ユニット演算子セルＵＯＥ０−ＵＯＥ３の記憶値のＡＮＤ演算結果である。
【０３９７】
データパス単位ブロックＤＰＵＢ０においては、マルチプレクサ（ＭＵＸＡ）５６は、インバータ５２からの入力データＤＩＮＡ（＝Ａ）の反転値／Ａを選択し、マルチプレクサ（ＭＵＸＢ）５７は、入力データＤＩＮＢ（＝Ｂ）を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０上にはデータ／ＡおよびＢが伝達され、対応のユニット演算子セルＵＯＥ０に格納される。
【０３９８】
データパス単位ブロックＤＰＵＢ１において、マルチプレクサ５６は、入力データＡを選択し、マルチプレクサ５７は、インバータ５４からの入力データＢの反転値／Ｂを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１上には、データＡおよび／Ｂが伝達され、対応のユニット演算子セルＵＯＥ１に格納される。
【０３９９】
データパス単位ブロックＤＰＵＢ２において、マルチプレクサ５６および５７が、レジスタ５０からのデータを選択する。このレジスタ５０からは、前サイクルにおけるボローＢＲが伝達される。したがって、対応のグローバル書込データ線ＷＧＬＡ２およびＷＧＬＢ２上には、前サイクルのボローＢＲ（＝ＢＲ＿ｏｌｄ）およびＢＲが伝達され、対応のユニット演算子セルＵＯＥ２に格納される。
【０４００】
データパス単位ブロックＤＰＵＢ３においては、マルチプレクサ５６および５７、インバータ５３および５５を介して対応のレジスタ５０の格納値の反転値を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ３およびＷＧＬＢ３上には、ボローＢＲの反転値／ＢＲ（＝／ＢＲ＿ｏｌｄ）および／ＢＲが伝達され、対応のユニット演算子セルＵＯＥ３に格納される。
【０４０１】
組合せ論理演算回路２６においては、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０が選択され、また、バッファＢＦＦ２およびＢＦＦ３が選択される。ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ０は、センスアンプＳＡ１に対応して設けられるメインアンプの出力ビットＰ＜１＞がＡＮＤゲートの負入力に与えられ、センスアンプＳＡ２に対して設けられるメインアンプの出力ビットＰ＜２＞が、このＡＮＤゲートの非反転入力に与えられる。このＡＮＤゲートの出力ビットと、センスアンプＳＡ０に対するメインアンプからの出力ビットＰ＜０＞の論理和がとられる。したがって、この複合ゲートＡＯＣＴ０からレジスタ５０を介して出力されるデータは、次式で与えられる：
（／Ａ・Ｂ）＋／（（Ａ）・（／Ｂ））・ＢＲ＿ｏｌｄ．
図３４に示す出力ボローＢＲｏｕｔの論理値関係から、入力ボローＢＲｉｎ（＝ＢＲ＿ｏｌｄ）が“０”のとき、出力ボローＢＲ（＝ＢＲｏｕｔ）が“１”となるのは、データ／Ａ・Ｂが“１”のときである。また、入力ボローＢＲ＿ｏｌｄが“１”のとき、出力ボローＢＲが“０”となるのは、データＡが“１”でありかつデータＢが“０”のときであり、それ以外のときには、出力ボローＢＲ（ＢＲｏｕｔ）は、“１”となる。
【０４０２】
したがって、図５１に示すレジスタ５０からの出力されるデータＢＲは、図３４に示すボローの論理値関係を満たしており、１ビットシリアル減算時において、各サイクル毎に、前サイクルに生成されたボローＢＲ、すなわち１ビット下位側での演算について生成されたボローを入力ボローＢＲ＿ｏｌｄとして、正確に出力ボロー（中間ボロー）を生成することができる。
【０４０３】
また、バッファＢＦＦ２およびＢＦＦ３からのボローＢＲ・ＢＲ＝ＢＲおよび／ＢＲ・／ＢＲ＝／ＢＲは、前サイクルのボロー、すなわち入力ボローＢＲ＿ｏｌｄおよび／ＢＲ＿ｏｌｄとして隣接する減算器を構成するデータパス演算単位グループに伝達される。
【０４０４】
［１ビットシリアル減算器の構成］
図５２は、１ビットシリアル減算器の構成を概略的に示す図である。この１ビットシリアル減算器は、図５１に示す１ビットシリアルボロー生成部に隣接して配置される。したがって、データパス２８において、隣接するデータパス演算単位グループ４４に含まれるデータパス単位ブロックＤＰＵＢ４−ＤＰＵＢ７が、１ビットシリアル減算のために利用される。ダミーセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＢが与えられ、２つの直列ダミートランジスタが選択される。読出ポート選択回路３６において、ポートＢが、選択され、ポートＢの読出ビット線（ＲＢＬＢ）が対応のセンスアンプＳＡ４−ＳＡ７に結合される。
【０４０５】
ユニット演算子セルＵＯＥ４−ＵＯＥ７の構成は、実施の形態１と同様であり、対応のグローバル書込データ線上のデータが２つの記憶ノード（ＳＮＡおよびＳＮＢ）に平行して書込まれ、また、直列接続される記憶ノードＳＮＡおよびＳＮＢの記憶データが読出される。従って、この減算実行時においても、各センスアンプの出力信号は、対応のユニット演算子セルの記憶データのＡＮＤ演算結果である。
【０４０６】
データパス演算単位ブロック４４において、データパス単位ブロックＤＰＵＢ４においては、マルチプレクサ（ＭＵＸＡ）５６は、入力データＤＩＮＡ（＝Ａ）を選択し、マルチプレクサ（ＭＵＸＢ）５７は、インバータ５４からの入力データＤＩＮＢ（＝Ｂ）の反転値を選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ４およびＷＧＬＢ４上には、データＡおよび／Ｂがそれぞれ転送され、対応のユニット演算子セルＵＯＥ４に格納される。
【０４０７】
データパス単位ブロックＤＰＵＢ５においては、マルチプレクサ５６が、インバータ５２からの入力データＡの反転値を選択し、マルチプレクサ５７が、入力データＢを選択する。したがって、対応のグローバル書込データ線ＷＧＬＡ５およびＷＧＬＢ５上にはデータ／ＡおよびＢがそれぞれ伝達され、対応のユニット演算子セルＵＯＥ５に格納される。
【０４０８】
データパス単位ブロックＤＰＵＢ６においては、マルチプレクサ５６および５７は、そ
れぞれインバータ５２および５４を介して入力データＡおよびＢが反転値をそれぞれ選択する。したがって対応のグローバル書込データ線ＷＧＬＡ６およびＷＧＬＢ６上にはデータ／Ａおよび／Ｂが伝達され、対応のユニット演算子セルＵＯＥ６に格納される。
【０４０９】
データパス単位ブロックＤＰＵＢ７においては、マルチプレクサ５６および５７は、それぞれ入力データＡおよびＢを選択する。したがって対応のグローバル書込データ線ＷＧＬＡ７およびＷＧＬＡ７上のデータＡおよびＢがそれぞれ伝達され、対応のユニット演算子セルＵＯＥ７に格納される。
【０４１０】
組合せ論理演算回路２８においては、２入力ＯＲゲートＯＧ０およびＯＧ１０が選択される。ＯＲゲートＯＧ０は、センスアンプＳＡ４およびＳＡ５に対応して配置されるメインアンプの出力信号を受ける。ＯＲゲートＯＧ１０は、センスアンプＳＡ６およびＳＡ７に対応して配置されるメインアンプの出力信号を受ける。
【０４１１】
センスアンプＳＡ４−ＳＡ７の出力信号は、対応のユニット演算子セルＵＯＥ４−ＵＯＥ７の格納値のＡＮＤ演算結果を示している。したがって、ＯＲゲートＯＧ０から、データ（Ａ・／Ｂ）＋（／Ａ・Ｂ）が出力され、ＯＲゲートＯＧ１０からは、データ（／Ａ・／Ｂ）＋（Ａ・Ｂ）が出力される。
【０４１２】
データパスの読出経路においては、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１が選択され、２入力ＯＲゲートＯＧ０およびＯＧ１０の出力信号が、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１へ与えられる。このＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１は、図５１に示すボロー生成部からのビットＰ＜２＞およびＰ＜３＞に対応する入力ボローＢＲ＿ｏｌｄおよび／ＢＲ＿ｏｌｄを受ける。したがって、ＡＮＤ／ＯＲ複合ゲートＡＯＣＴ１からレジスタ５０およびバッファ（５１）を介して、次式で示されるデータが出力される：
（Ａ・（／Ｂ）＋（／Ａ）・（Ｂ））・／ＢＲ＿ｏｌｄ
＋（（Ａ・Ｂ）＋（／Ａ）・（／Ｂ））・ＢＲ＿ｏｌｄ．
図３１に示す減算値ＤＩＦＦの論理値表を参照すると、入力ボローＢＲｉｎ（＝ＢＲ＿ｏｌｄ）が“０”のとき、減算値ＤＩＦＦが“１”となるのは、データ／Ａ・ＢおよびＡ・／Ｂのいずれかが“１”のときである。上式において、第１項により、入力ボローＢＲ＿ｏｌｄが“０”のときにデータＡおよびＢが不一致であれば、減算値ＤＩＦＦが“１”となる関係が満たされる。
【０４１３】
一方、入力ボローＢＲｉｎ（＝ＢＲ＿ｏｌｄ）が“１”のとき、減算値ＤＩＦＦが“１”となるのは、図３１に示す論理値表から、データ／Ａ・／ＢおよびＡ・Ｂの一方が“１”のときである。すなわち、データＡおよびＢが等しいときに、減算値ＤＩＦＦが“１”となる。これは、上式の第２項により満たされる。したがって、図５２に示す１ビットシリアル減算器により、図３１に示す減算値の論理値表の論理を満たす減算値ＤＩＦＦを、各クロックサイクル毎に生成することができる。
【０４１４】
ビットシリアル態様での減算時において前サイクルで生成されるボローＢＲ＿ｏｌｄをユニット演算子セルを介して１クロックサイクル遅延して転送することにより、前サイクルに生成されたボローを入力ボローとして減算処理を実行することができる。
【０４１５】
なお、ビットシリアル加算／減算実行時において、最下位ビットについての演算時に入力キャリーは、“０”に設定される。これは、レジスタ５０の格納値を“０”にリセットすることにより実現される。また、ボロー確定までの時間遅れは生じるものの、加算時と同様、パイプライン的にビットシリアル態様で減算処理を実行することができる。
【０４１６】
本実施の形態４に従えば、ビットシリアル態様で、加算／減算を実行することができる
。１エントリが、５１２ビット線対を含む場合、６４個のデータについて加算／減算をビットシリアル態様でかつデータパラレルに実行することができる。データビット幅が、たとえば３２ビットの場合、３２クロックサイクルで、６４個のデータの組についての加算／減算を実行することができる。したがって、データシリアルにかつビットパラレルにデータの組を順次加算／減算処理する場合に必要とされる６４クロックサイクルに比べて大幅に、処理時間を低減することができる。また、内部で、読出演算子セルにデータの書込および読出を行なうだけでよく、高速の加算／減算を実現することができる。
【０４１７】
［変更例］
図５３は、この発明の実施の形態４の変更例の要部の構成を概略的に示す図である。図５３においては、演算子セルアレイ２０の構成を概略的に示す。この演算子セルアレイ２０において、複数のエントリをＥＲＹ０−ＥＲＹｎ各々において、キャリー生成ユニットおよびサム生成ユニットが設けられる。キャリー生成ユニットは、キャリー生成用の４つのユニット演算子セルを含み、また、サム生成ユニットも、４つのサム生成用のユニット演算子セルを含む。
【０４１８】
この演算子セルアレイ２０外部に、図示しない組合せ論理演算回路およびデータパスが配置される。データパスおよび組合せ論理演算回路の構成は、図４７および図４８に示す構成と同じである。
【０４１９】
ビットシリアル加算実行時においては、各データパスおよび組合せ論理演算回路のデータ伝播経路の接続が、キャリー生成ユニットおよびサム生成ユニットに対して、それぞれ、図４９および図５０に示す態様に設定される。シリアル加算実行時においては、まず。、レジスタ５０をリセットし、入力キャリーを“０”に設定し、エントリＥＲＹ０に、最下位ビットＡ＜０＞およびＢ＜０＞を、この入力キャリーとともに書込み、次いで読出す。これにより、最初のサムＳＵＭ＜０＞とキャリーＣＹ＜０＞が生成される。
【０４２０】
次いで、データパスにおいて、キャリー生成用のレジスタに格納されたキャリー（入力キャリー）を、次の上位のデータビットＡ＜１＞およびＢ＜１＞と共に、次のエントリＥＲＹ１に書込み、次いで読出す。以降、先の図４９および図５０を参照して説明したビットシリアル加算が、順次異なるエントリを利用して実行される。
【０４２１】
これにより、高速で、ビットシリアル態様で１ビット加算を実行することができる。演算に使用される領域が、演算子セルアレイに分散して配置されるため、局所領域の連続使用による誤動作または不良の発生を回避することができる。
【０４２２】
データの組に対応して、演算子セルアレイ内に、キャリー生成ユニットおよびサム生成ユニットが配置されればよく、これらのエントリＥＲＹ０−ＥＲＹｎは、異なる演算子セルサブアレイブロックそれぞれに分散して配置されても良い。
【０４２３】
また、図５３に示す構成において、キャリー生成ユニットおよびサム生成ユニットをそれぞれボロー生成ユニットおよび減算値生成ユニットと置換えることにより、ビットスライス態様での減算器を実現することができる。
【０４２４】
この実施の形態４における半導体信号処理装置の全体の構成および制御回路の構成としては、実施の形態１と同様の構成を利用することができる。
【０４２５】
以上のように、この発明の実施の形態４に従えば、演算子セルアレイ、組合せ論理演算回路およびデータパスのデータ伝搬経路を切換えて、ビットスライス演算を実行することができ、この内部で加算／減算処理が実行され、高速のビットスライス演算を実行するこ
とができ、ビットスライス演算サイクルを大幅に低減することができる。また、演算対象のデータのビット幅が変更される場合においても、単に演算サイクルをデータのビット幅に応じて変更するだけで対応することができ、複数種類のデータビット幅に対しても内部構成を変更することなく対応することができる。
【０４２６】
［実施の形態５］
図５４は、この発明の実施の形態５に従う半導体信号処理装置の要部の構成を概略的に示す図である。この図５４に示す半導体信号処理装置のサブアレイブロックの構成は、以下の点で、図６に示す半導体信号処理装置のサブアレイブロックの構成と異なる。すなわち、ユニット演算子セルＵＯＥ０、ＵＯＥ１、…に対するソース線ＳＬと別に、共通ソース線ＳＬＣが設けられる。この共通ソース線ＳＬＣは、図５４においては、ビット線と直交する方向に各ビット線対に共通に配置されるように示すが、ソース線ＳＬが、読出ワード線と並行に配置されるため、各列に対応して個々に配置されるソース線ＳＬが、共通ソース線ＳＬＣとして利用されても良い。
【０４２７】
この共通ソース線ＳＬＣに対し、Ｂポート読出ビット線ＲＢＬＢ０、ＲＢＬＢ１それぞれに対応して、スイッチ回路ＳＷＴ０、ＳＷＴ１、…が設けられる。これらのスイッチ回路ＳＷＴ０、ＳＷＴ１、…は、モード設定信号ＭＤＳＥＬに従って、選択的に対応のＢポート読出ビット線ＲＢＬＢ０、ＲＢＬＢ１を、共通ソース線ＳＬＣに結合する。このとき、ポート接続回路ＰＲＳＷ０およびＰＲＳＷ１は、ポート選択信号ＰＲＭＸに従って、Ａポートビット線ＲＢＬＡ０、ＲＢＬＡ１、…を、対応のセンスアンプＳＡ０、ＳＡ１、…に対する読出ビット線ＲＢＬ０、ＲＢＬ１、…に結合する。
【０４２８】
図５４に示す半導体信号処理装置の他の構成は、図６に示す半導体信号処理装置の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０４２９】
図５５は、図５４に示すスイッチ回路ＳＷＴ（ＳＷＴ０，ＳＷＴ１）およびポート選択回路の接続態様を示す図である。この図５５に示す配置においては、データ読出時、読出ワード線ＲＷＬＡが選択状態（Ｈレベル）に駆動され、一方、読出ワード線ＲＷＬＢが、Ｌレベルの非選択状態に維持される。Ａポート読出ビット線ＲＢＬＡが、図５４に示すポート選択回路ＰＲＳＷ（ＰＲＳＷ０，ＰＲＳＷ１）を介してセンス読出ビット線ＲＢＬに結合される。補の読出ビット線ＺＲＢＬに接続されるダミーセルＤＭＣに対しては、ダミーセル選択信号ＤＣＬＡが与えられる。したがって、ダミーセルＤＭＣにおいては、１つのダミートランジスタ（ＤＴＡ）が導通状態に設定される。
【０４３０】
この図５５に示す電圧印加態様においては、ソース線ＳＬからＳＯＩトランジスタＮＱ１を介してセンス読出ビット線ＲＢＬに電流が記憶データに応じて流れる。同様、補の読出ビット線ＺＲＢＬに対してもダミーセルＤＭＣからの参照電流が流れる。したがって、センスアンプＳＡにより、記憶ノードＳＮＡに格納されるデータに対応するデータを得ることができ、組合せ論理演算回路においてインバータを選択することにより、このＳＯＩトランジスタＮＱ１のボディ領域（記憶ノードＳＮＡ）に格納されるデータのＮＯＴ演算結果を外部に読出すことができる。
【０４３１】
この場合、図５５に示す接続態様において、Ｂポート読出ビット線ＲＢＬＢと共通ソース線の間の接続態様は任意である。Ｂポート読出ワード線ＲＷＬＢが非選択状態であり、何らＳＯＩトランジスタＮＱ２は、記憶ノードＳＮＡの記憶データ読出に対しては悪影響は及ぼさない。
【０４３２】
図５６は、この図５４に示す配置における他の電圧印加態様を概略的に示す図である。この図５６に示す電圧印加態様においては、図５５に示す構成と同様、Ａポート読出ビット線ＲＢＬＡが、センス読出ビット線ＲＢＬに接続される。また、ダミーセルＤＭＣに対しても、ダミーセル選択信号ＤＣＬＡが与えられ、ダミーセルＤＭＣにおいて１つのダミートランジスタ（ＤＴＡ）が選択される。
【０４３３】
Ａポート読出ワード線ＲＷＬＡを非選択状態のＬレベルに維持し、一方、Ｂポート読出ワード線ＲＷＬＢを選択状態のＨレベルへ駆動する。また、Ｂポート読出ビット線ＲＢＬＢを、スイッチ回路（ＳＷＴ）を介して共通ソース線ＳＬＣに結合する。この共通ソース線ＳＬＣとソース線ＳＬには、同じレベルの電圧が印加される。したがって、図５６に示す電圧印加態様においては、ＳＯＩトランジスタＮＱ２により、その記憶ノードＮＳＢに格納されるデータに応じた電流が、共通ソース線ＳＬＣからＡポート読出ビット線ＲＢＬＡを介してセンス読出ビット線ＲＢＬに伝達される。したがって、センスアンプＳＡにより、この記憶ノードＳＮＢに格納されるデータを読出すことができる。
【０４３４】
したがって、図５５および図５６に示すように、データの書込時においては、書込ワード線ＷＷＬを選択状態（Ｌレベル）に設定することにより、ＳＯＩトランジスタＰＱ１およびＰＱ２を介して、記憶ノードＳＮＡおよびＳＮＢにデータを書込むことができる。読出時に、読出ワード線ＲＷＬＡおよびＲＷＬＢを、一方を選択状態、他方を非選択状態とすることにより、記憶ノードＳＮＡおよびＳＮＢの格納データを、選択的に、Ａポートに読出すことができる。このユニット演算子セルに格納されるデータを、１ビット単位で読出すことができる。したがって、ユニット演算子セルを、等価的に書込ポートと読出ポートとを別々に有する２ポートのメモリセルとして取扱うことが可能となる。
【０４３５】
なお、図５５および図５６においては、ＳＯＩトランジスタＰＱ１およびＰＱ２に共通に書込ワード線ＷＷＬ上の信号電位が与えられている。しかしながら、これらのＳＯＩトランジスタＰＱ１およびＰＱ２に対しては、実施の形態３と同様、別々に書込ワード線ＷＷＬＡおよびＷＷＬＢが設けられてもよい。
【０４３６】
図５７は、この発明の実施の形態５に従う半導体信号処理装置に含まれる制御回路の要部の構成を概略的に示す図である。図５７においては、制御回路（３０）は、外部からのコマンドＣＭＤをデコードするコマンドデコーダ３５０と、読出ビット線とセンスアンプとの接続を設定するモード設定回路３５２と、読出ワード線を選択的に活性化する読出ワード線制御回路３５４を含む。
【０４３７】
モード設定回路３５２は、コマンドデコーダ３５０からの演算操作指示ＯＰＬＯＧに従って、モード設定信号ＭＤＳＥＬおよびポート選択信号ＰＲＭＸを指定された状態に設定する。すなわち、モード設定回路３５２は、演算操作指示ＯＰＬＯＧが１ビット読出を指示する場合、ポート選択信号ＰＲＭＸを、ポートＡ、すなわち読出ビット線ＲＢＬＡをセンスアンプに結合する状態に設定する。また、モード設定信号ＭＤＳＥＬを、共通ソース線ＳＬＣとＢポートビット線ＲＢＬＢとを接続する態様に設定する。
【０４３８】
演算操作指示ＯＰＬＯＧが通常の演算操作を指定する場合には、モード設定回路３５２は、指定された演算操作に従って、ポートＡおよびポートＢのいずれかを、センスアンプに結合するように、ポート選択信号ＰＲＭＸを設定し、モード選択信号ＭＤＳＥＬを非選択状態に維持する（ＮＯＴ演算以外の演算操作時には、Ｂポートを選択する）。
【０４３９】
読出ワード線制御回路３５４は、演算操作指示ＯＰＬＯＧに従って、ダミーセル選択活性化信号ＤＣＬＡＥＮおよびＤＣＬＢＥＮと読出ワード線活性化信号ＲＷＬＡＥＮおよびＲＷＬＢＥＮを生成する。読出ワード線制御回路３５４は、演算操作指示ＯＰＬＯＧの指示する操作内容に従って、１ビットデータ読出が指定される場合には、ダミーセル選択活性化信号ＤＣＬＡＥＮを活性化し、ダミーセル選択活性化信号ＤＣＬＢＥＮを非活性状態
に維持する。また、この演算操作指示ＯＰＬＯＧに含まれるポート指示情報に従って読出ワード線制御回路３５４は、読出ワード線活性化信号ＲＷＬＡＥＮおよびＲＷＬＢＥＮのいずれかを選択状態へ駆動する。これにより。１ビット読出モードが指定され、ユニット演算子セルに含まれる各２ビットの情報の各ビットを外部に読出すモードを演算操作指示ＯＰＬＯＧが指定するときに、その接続態様を設定することができる。この１ビット読出モード時においては、組合せ論理回路およびデータパスは、センスアンプの出力信号を反転または非反転する処理を行って、出力する。
【０４４０】
通常の演算操作を実行する場合には、読出ワード線制御回路３５４は、演算操作指示ＯＰＬＯＧが指定する演算内容に従って、読出ワード線活性化信号ＲＷＬＡＥＮの活性化および読出ワード線活性化信号ＲＷＬＡＥＮおよびＲＷＬＢＥＮの活性化およびダミーセル選択活性化信号ＤＣＬＡＥＮおよびＤＣＬＢＥＮの選択的活性化を実行する。これにより、組合せ論理演算または算術演算実行時に、Ｂポートを選択してユニット演算子セルの２つの記憶データの演算を行うことができる。
【０４４１】
この実施の形態５における半導体信号処理装置の全体の構成は、先に実施の形態１において図４を参照して示した構成と同じであり、また、組合せ論理演算回路およびデータパスの構成も、これまでの実施の形態において説明したものと、同様の構成である。
【０４４２】
この発明の実施の形態５に従えば、ユニット演算子セルを構成するＳＯＩトランジスタの記憶ノードのデータを、個々に外部に読出可能としているため、組合せ論理演算および算術演算機能に加えて、さらに、記憶装置としても利用することができる。
【０４４３】
［実施の形態６］
図５８は、この発明の実施の形態６に従うユニット演算子セルの電気的等価回路を示す図である。この図５８に示すユニット演算子セルＵＯＥは、図１に示すユニット演算子セルと、以下の点で、その構成が異なる。すなわち、ＳＯＩトランジスタＮＱ１と読出ポートＲＰＲＴＢ（ポートＢ）との間に、ＳＯＩトランジスタＮＱ２と並列に、ＮチャネルＳＯＩトランジスタＮＱ３が設けられる。また、書込ワード線ＷＷＬ上の信号電位に従って、書込データＤＩＮＣを、ＳＯＩトランジスタＮＱ３の記憶ノード（ボディ領域）ＳＮＣに伝達するＰチャネルＳＯＩトランジスタＰＱ３が設けられる。
【０４４４】
この図５８に示すユニット演算子セルの他の構成は、図１に示すユニット演算子セルの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０４４５】
図５８に示すユニット演算子セルの構成の場合、ＳＯＩトランジスタＮＱ２およびＮＱ３が並列に接続され、読出ポートＲＰＲＴＢ（ポートＢ）に対しては、これらのＳＯＩトランジスタＮＱ２およびＮＱ３の記憶データのＯＲ演算結果に応じた電流が供給される。したがって、これらの３つのＳＯＩトランジスタＮＱ１−ＮＱ３により、Ａ・（Ｂ＋Ｃ）の演算を実現することが可能となる。
【０４４６】
図５９は、図５８に示すユニット演算子セルの平面レイアウトを概略的に示す図である。図５９に示す平面レイアウトは、図２に示すユニット演算子セルの平面レイアウトと、以下の点で、その構成が異なる。すなわち、ＳＯＩトランジスタＰＱ３を形成するために、高濃度Ｐ型領域１ｅおよび１ｆとが、図の左側の破線ブロックで示すＰ型トランジスタ形性領域において、Ｙ方向に沿って整列して配置される。これらのＰ型領域１ｅおよび１ｆの間に、Ｎ型領域２ｃが設けられる。
【０４４７】
また、Ｐ型トランジスタ形成領域外部において、高濃度Ｎ型領域３ｄおよび３ｅがＹ方向に沿って整列して配置され、これらのＮ型領域３ｄおよび３ｅの間に、Ｐ型領域４ｃが
配置される。このＰ型領域４ｃは、Ｐ型領域１ｆと電気的に接続される。Ｎ型領域３ｄは、Ｘ方向に延在するＮ型領域を介してＮ型領域３ｂに電気的に接続され、中間配線およびコンタクト／ビア８ｄを介して第１金属配線７ｂに電気的に接続される。
【０４４８】
Ｎ型領域３ｅは、コンタクト／ビア８ｆおよび中間配線を介して第１金属配線７ａに電気的に接続される。Ｐ型領域１ｅは、コンタクト／ビア８ｇおよび中間配線を介して第１Ｙ方向に連続的に延在する金属配線７ｅに電気的に接続される。Ｐ型領域１ｅおよび１ｆとＮ型領域２ｃとにより、ＳＯＩトランジスタＰＱ３が形成され、Ｎ型領域３ｄおよび３ｅとＰ型領域４ｃとにより、ＳＯＩトランジスタＮＱ３が形成される。Ｐ型領域１ｆおよび４ｃにより、ＳＯＩトランジスタＰＱ３のソース／ドレインノードが、ＳＯＩトランジスタＮＱ３のボディ領域（Ｐ型領域４ｃ）に結合される。第１層金属配線７ｅが、入力データＤＩＮＣを伝達する。
【０４４９】
図５９において、他のＳＯＩトランジスタＰＱ１、ＰＱ２、ＮＱ１、およびＮＱ２のレイアウトは、図２に示すユニット演算子セルのレイアウトと同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０４５０】
図６０は、この発明の実施の形態６に従う半導体信号処理装置のメモリセルアレイ部の構成を概略的に示す図である。この図６０に示すアレイ部の構成は、図６に示す実施の形態１に従うメモリセルアレイ部の構成と、以下の点でその構成が異なる。すなわち、書込ポートとして、グローバル書込データ線ＷＧＬＣ０およびＷＧＬＣ１、…が、各ユニット演算子セルＵＯＥ（ＵＯＥ０，ＵＯＥ１、…）の列に対応して配置される。これらのグローバル書込データ線ＷＧＬＣ０、ＷＧＬＣ１、…は、それぞれ対応の列のユニット演算子セルＵＯＥ（ＵＯＥ０，ＵＯＥ１）の書込ポートＷＰＲＴＣを介して図５８に示すＳＯＩトランジスタＰＱ３に結合される。この図６０に示すメモリセルアレイ部の他の構成は、図６に示すメモリセルアレイ部の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０４５１】
図６０に示すように、各ユニット演算子セル列に対応してグローバル書込データ線を配置し、グローバル書込データ線セットＷＧＬＳ０、…において、３個のデータを並列に転送することができる。ここで、グローバル書込データ線セットＷＧＬＳは、グローバル書込データ線ＷＧＬＡ、ＷＧＬＢおよびＷＧＬＣの組を示す。
【０４５２】
図６１は、この発明の実施の形態６に従う半導体信号処理装置のデータパス２８の構成を概略的に示す図である。このデータパス２８においては、２つのデータパス単位ブロックＤＰＵＢ０およびＤＰＵＢ１により、１ビットデータの演算処理が実行される。この実施の形態６においては、３つのデータを処理するために、各データパス単位ブロックにおいて、マルチプレクサ（ＭＵＸＣ）４００が設けられる。このマルチプレクサ４００に対しては、レジスタ５０からのデータを反転するインバータ４０２、外部からの入力データビットＤＩＮＡ＜０＞を反転するインバータ４０４、および外部からのデータビットＤＩＮＡ＜０＞とインバータ５４からの反転データビット／ＤＩＮＢ＜０＞を受けるＡＮＤゲート４０６が設けられる。このマルチプレクサ４００が選択した信号は、グローバル書込ドライバ４１４を介してグローバル書込データ線ＷＧＬＣ０上に伝達される。
【０４５３】
また、マルチプレクサ５７に対しても、インバータ４０４の出力信号と外部からの入力データビットＤＩＮＢ＜０＞を受けるＡＮＤゲート４０８が設けられる。マルチプレクサ５６に対しては、後に説明するデータＣ（キャリー／ボローに対応）を反転するインバータ４１０が設けられる。これらのマルチプレクサ５６、５７、および４００は、切換制御信号ＭＸＡＳおよびＭＸＢＳに従ってその接続態様が設定される。データパス単位ブロックＢＰＵＢ０の他の構成は、図７に示すデータパスにおけるデータパス単位ブロックＢＰＵＢ０の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０４５４】
データパス単位ブロックＤＰＵＢ１においても、このデータパス単位ブロックＤＰＵＢ０と同様の構成が設けられる。但し、データパス単位ブロックＤＰＵＢ１においては、レジスタ５０は設けられない。
【０４５５】
これらのデータパス単位ブロックＤＰＵＢ０およびＤＰＵＢ１により内部書込データを生成して、グローバル書込データ線セットＷＧＬＳ０およびＷＧＬＳ１をそれぞれ駆動し、指定された演算処理を実行する。
【０４５６】
組合せ論理演算回路の構成は、実施の形態１に示す構成と同じである（図９参照）。したがって、ここでは、特に、組合せ論理演算回路の構成については、その説明は繰返さない。
【０４５７】
図６２は、この発明の実施の形態６に従う半導体信号処理装置における１ビット加算演算実行時のキャリー生成時のデータ伝搬経路の接続態様を概略的に示す図である。
【０４５８】
図６２において、データパス２８において、２つのデータパス単位ブロックＤＰＵＢ０およびＤＰＵＢ１が用いられる。データパス単位ブロックＤＰＵＢ０において、マルチプレクサ（ＭＵＸＣ）４００は、入力データＤＩＮＡ（＝Ａ）を選択し、マルチプレクサ（ＭＵＸＢ）５７は、入力データＤＩＮＢ（＝Ｂ）を選択する。マルチプレクサ（ＭＵＸＡ）５６は、レジスタ５０から伝達される出力キャリーＣＹを選択する。したがって、対応のグローバル書込データ線ＷＧＬＣ０、ＷＧＬＢ０、およびＷＧＬＡ０上には、データＡ、ＢおよびキャリーＣＹ＿ｏｌｄが伝達され、対応のユニット演算子セルＵＯＥ０の記憶ノードＳＮＣ、ＳＮＢおよびＳＮＡにそれぞれ格納される。ここで、キャリーＣＹ＿ｏｌｄは、実施の形態４の場合と同様、前サイクルの演算において生成されたキャリーであり、入力キャリーに対応する。
【０４５９】
データパス単位ブロックＤＰＵＢ１において、マルチプレクサ４００が、レジスタ５０からのキャリーＣＹを選択し、マルチプレクサ５７が、入力データＤＩＮＢを選択する。マルチプレクサ５６が、入力データＡを選択する。したがって、対応のグローバル書込データ線ＷＧＬＣ１、ＷＧＬＢ１、およびＷＧＬＡ１上には、データＣＹ＿ｏｌｄ、ＢおよびＡがそれぞれ転送され、対応のユニット演算子セルＵＯＥ１の記憶ノードＳＮＣ、ＳＮＢおよびＳＮＡにそれぞれ格納される。
【０４６０】
メモリセルアレイ３２において、ダミーセルＤＭＣに対しダミーセル選択信号ＤＣＬＢが与えられる。したがって、補の読出ビット線ＺＲＢＬ０、ＺＲＢＬ１には、各々、２つの直列ダミーセルトランジスタ（ＤＴＢ０，ＤＴＢ１）が接続される。
【０４６１】
読出ポート選択回路３６においては、ポートＢが選択される。したがって、読出ビット線ＲＢＬＢ０およびＲＢＬＢ１が、それぞれ、センスアンプ帯３８の対応のセンスアンプＳＡ０およびＳＡ１に結合される。
【０４６２】
組合せ論理演算回路２６においては、２入力ＯＲゲートＯＧ１が選択される。この２入力ＯＲゲートＯＧ１は、センスアンプＳＡ０およびＳＡ１に対応してメインアンプ回路２４において設けられるメインアンプの出力信号を受ける。センスアンプＳＡ０およびＳＡ１は、それぞれ、（ＳＮＢ＋ＳＮＣ）・ＳＮＡの演算結果を生成する。ここで、記憶ノードとそこに格納されるデータとを同一符号で示す。
【０４６３】
したがって、２入力ＯＲゲートＯＧ１からレジスタ５０を介して伝達されるキャリーＣＹは、（Ａ＋Ｂ）・ＣＹ＿ｏｌｄ＋（ＣＹ＿ｏｌｄ＋Ｂ）・Ａで与えられる。
【０４６４】
ブール代数の公式に従えば、Ａ＋Ａ＝Ａであり、上式は次式に変換することができる：
ＣＹ＝（Ａ＋Ｂ）・ＣＹ＿ｏｌｄ＋Ａ・Ｂ．
先に図２９において示すキャリーＣＹの論理値表から、出力キャリーＣＹが“１”となるのは、データＡ・Ｂが“１”の場合、または、入力キャリーＣｉｎ（＝ＣＹ＿ｏｌｄ）が“１”のときにデータＡおよびＢの一方が“１”となるときである。したがって、上式は、図２９に示す論理値関係を満たしており、図６２に示すデータ伝搬経路を用いることにより、１クロックサイクルで、入力データＡおよびＢの加算時のキャリーＣＹを求めることができる。
【０４６５】
図６３は、この発明の実施の形態６に従う半導体信号処理装置における１ビット全加算器のサム（ＳＵＭ）を生成する部分のデータ伝搬経路の接続態様を概略的に示す図である。図６３において、サムＳＵＭを生成する場合においては、データパス２８において、キャリー生成時と同様、２つのデータパス単位ブロックＤＰＵＢ３およびＤＰＵＢ４が用いられる。これらのデータパス単位ブロックＤＰＵＢ３およびＤＰＵＢ４に対し、隣接して配置されるキャリー生成部からのキャリーＣＹが、図６１に示すデータＣとして伝達される。
【０４６６】
データパス単位ブロックＤＰＵＢ３においては、マルチプレクサ（ＭＵＸＣ）４００は、ＡＮＤゲート４０６の出力信号を選択する。このＡＮＤゲート４０６は、入力データＡとインバータ５４からの入力データＢの反転値とを受ける。マルチプレクサ５７は、ＡＮＤゲート４０８の出力信号を受ける。このＡＮＤゲート４０８は、インバータ４０４からの入力データＡの反転値と入力データＢとを受ける。マルチプレクサ（ＭＵＸＡ）５６は、インバータ４１０からのキャリーＣＹの反転値を受ける。したがって、グローバル書込データ線ＷＧＬＣ３、ＷＧＬＢ３、ＷＧＬＡ３上には、データＡ・／Ｂ、／Ａ・Ｂおよび／ＣＹ＿ｏｌｄが伝達され、ユニット演算子セルＵＯＥ３の記憶ノードＳＮＣ、ＳＮＢおよびＳＮＡにそれぞれ格納される。
【０４６７】
データパス単位ブロックＤＰＵＢ４においては、マルチプレクサ４００は、ＡＮＤゲート４１１の出力信号を選択する。このＡＮＤゲート２１１は、入力データＡおよびＢを受ける。マルチプレクサ（ＭＵＸＢ）５７は、ＡＮＤゲート４１２の出力データを選択する。このＡＮＤゲート４１２は、インバータ５４および４０４からの入力データＢの反転値およびキャリーＣＹの反転値とを受ける。マルチプレクサ（ＭＵＸＡ）５６は、キャリーＣＹを選択する。したがって、対応のグローバル書込データ線ＷＧＬＣ４、ＷＧＬＢ４およびＷＧＬＡ４上には、データＡ・Ｂ、／Ａ・ＢおよびＣＹ＿ｏｌｄが伝達され、対応のユニット演算子セルＵＯＥ４の記憶ノードＳＮＣ、ＳＮＢおよびＳＮＡにそれぞれ格納される。
【０４６８】
ダミーセルＤＭＣに対しては、キャリー生成時と同様、ダミーセル選択信号ＤＣＬＢが与えられる。また、読出ポート選択回路３６においては、ポートＢが選択され、読出ビット線ＲＢＬＢ３およびＲＢＬＢ４が、それぞれ対応のセンスアンプ帯３８におけるセンスアンプＳＡ３およびＳＡ４に結合される。従って、センスアンプＳＡ３からは、ユニット演算子セルＵＯＥ３に格納されるデータに従って、データ（Ａ・／Ｂ＋／Ａ・Ｂ）・／ＣＹ＿ｏｌｄが生成される。センスアンプＳＡ４からは、データ（Ａ・Ｂ＋／Ａ・／Ｂ）・ＣＹ＿ｏｌｄが生成される。
【０４６９】
センスアンプＳＡ３およびＳＡ４から、メインアンプ回路２４に含まれる対応のメインアンプを介して組合せ論理演算回路２６に含まれる２入力ＯＲゲートＯＧ１へこれらのＯＲ／ＡＮＤ演算結果が与えられる。したがって、ＯＲゲートＯＧ１から、レジスタ５０を介して装置外部へ出力されるデータＳＵＭは、次式で表わされる。
【０４７０】
ＳＵＭ＝（（Ａ・／Ｂ）＋（／Ａ・Ｂ））・／ＣＹ＿ｏｌｄ
＋（（Ａ・Ｂ）＋（／Ａ・／Ｂ））・ＣＹ＿ｏｌｄ
上述のサムＳＵＭの式は、図５０に示す１ビット加算器が生成するサムＳＵＭと同じ式であり、したがって、２つのデータパス単位ブロックを利用して、１クロックサイクルで１ビット加算演算時におけるサムＳＵＭを生成することができる。
【０４７１】
これらの図６０から図６３を示す加算器の構成を利用することにより、ビットシリアル態様で、加算演算を行なうことができ、データビット幅に対応するクロックサイクル数で、加算結果を得ることができる。
【０４７２】
なお、減算結果についても、図５１および図５２に示すように、キャリーＣＹをボローＢＲｏｕｔに加え、入力キャリーＣＹ＿ｏｌｄを、入力ボローＢＲ＿ｏｌｄに置換えることにより、減算処理を実行することができる（ただし、減算時には、データＡを反転値／Ａで置き換える必要がある）。
【０４７３】
［変更例］
図６４は、この発明の実施の形態６に従う半導体信号処理装置の変更例の要部の構成を概略的に示す図である。図６４において、演算子セルアレイ２０において、複数のエントリＥＲＹ０−ＥＲＹｎが設けられる。エントリＥＲＹ０−ＥＲＹｎの各々において、２セル／キャリー生成ユニットＣＹＧ０−ＣＹＧｍと、２セル／サム生成ユニットＳＵＧ０−ＳＵＧｍが、対をなして整列して配置される。この２セル／キャリー生成ユニットＣＹＧ０−ＣＹＧｍの各々は、２つのユニット演算子セルを含み、キャリーを生成するために使用される（図６２参照）。一方、２セル／サム生成ユニットＳＵＧ０−ＳＵＧｍは、２つのユニット演算子セルを含み、サムＳＵＭを生成するために利用される。２セル／キャリー生成ユニットＣＹＧｉおよび２セル／サム生成ユニットＳＵＧｉにより、１つのデータビットＡ＜ｉ＞およびＢ＜ｉ＞についての全加算演算を実行する。従って、１つのエントリにおいてビットパラレルに加算演算が実行される。
【０４７４】
この演算子セルアレイ２０に対して設けられる読出ポート選択回路、センスアンプ帯およびメインアンプ回路の構成は、先の実施の形態１と同様であり、また、データパス２８の構成は、図６１に示す構成と同様である。組合せ論理演算回路（２６）の構成は、実施の形態１の構成と同じであり、キャリーおよびサム生成時に、組合せ論理演算回路において２入力ＯＲゲート（ＯＧ１）が使用される。
【０４７５】
この図６４に示す構成においては、データビットＡ＜０＞−Ａ＜ｍ＞およびＢ＜０＞−Ｂ＜ｍ＞の（ｍ＋１）ビットのデータＡおよびＢについての全加算処理が実行される。
【０４７６】
図６５は、図６４に示す演算子セルアレイを用いたビットパラレル加算構成の２セル／キャリー生成ユニットおよび２セル／サム生成ユニットの配置を概略的に示す図である。この図６５に示す配置において、２セル／キャリー生成ユニットＣＹＧ０−ＣＹＧｍおよび２セル／サム生成ユニットＳＵＧ０−ＳＵＧｍにおいては、組合せ論理演算回路における単位演算ブロック（ＵＣＬ）およびデータバスにおける単位演算ブロック（ＤＰＵＢ）が対応して設けられているものとして説明する。
【０４７７】
図６５において、２セル／キャリー生成ユニットＣＹＧ０−ＣＹＧｍから生成されるキャリーＣＹ＜０＞−ＣＹ＜ｍ−１＞は、上位の２セル／キャリー生成ユニットＣＹＧ１−ＣＹＧｍへ伝達される。２セル／キャリー生成ユニットＣＹＧ１−ＣＹＧｍは、前段のキャリー生成ユニットすなわち１ビット下位側からの（レジスタ５０から生成される）キャリーを選択し、対応のキャリーを生成する。
【０４７８】
２セル／サム生成ユニットＳＵＧ１−ＳＵＧｍに対しては、同様、１ビット下位側の２セル／キャリー生成ユニットＣＹＧ０−ＣＹＧ（ｍ−１）からのキャリーＣＹ＜０＞−ＣＹ＜ｍ−１＞が、入力データＡ＜０＞，Ｂ＜０＞−Ａ＜ｍ＞，Ｂ＜ｍ＞とともに与えられる。これらの２セル／サム生成ユニットＳＵＧ０−ＳＵＧｍから、サムビットＳ＜０＞−Ｓ＜ｍ＞が生成され、最終段の２セル／キャリー生成ユニットＣＹＧｍからキャリーＣＹが出力される。
【０４７９】
最下位ビットの２セル／キャリ生成ユニットＣＹＧ０および２セル／サム生成ユニットＳＵＧ０に対しては、入力キャリーは、“０”に設定される。
【０４８０】
図６６は、図６４および図６５に示すビットパラレル加算器の加算動作を示すフロー図である。以下、図６６を参照して、この図６４および図６５に示すビットパラレル加算器の動作について説明する。
【０４８１】
まず、加算開始指示が与えられると（ステップＳＰ１０）、制御回路は、入力レジスタ（図示せず）に、演算対象の入力データＡおよびＢを保持し、随時データバスにこれらの入力データＡおよびＢをビットパラレルに与えるように保持する（ステップＳＰ１１）。
【０４８２】
この加算開始指示に従って、２セル／キャリー生成ユニットＣＹＧ０−ＣＹＧｍに対応して設けられるデータパスにおいて、前段（１ビット下位側）の出力キャリーを選択するようにその経路が設定される（ステップＳＰ１２）。また、図６２に示す配置において、レジスタ５０の出力に変えて、前段の２セル／キャリー生成ユニットに対して設けられるデータバス単位ブロック（ＤＰＵＢ０）が生成するキャリーを、データＣとして選択する。また、対応のデータパス単位ブロックにおいては、内部の書込データ伝播経路として図６２に示すデータ伝播経路の設定が、マルチプレクサの選択態様の設定により行われる。
【０４８３】
この状態で、図６２に示すデータ伝搬経路により、演算操作を（ｍ＋１）回繰返す（ステップＳＰ１３）。
【０４８４】
この加算操作時、まず最下位ビットに対して設けられる２セル／キャリー生成ユニットＣＹＧ０のキャリーＣＹ＜０＞が入力データビットＡ＜０＞およびＢ＜０＞に応じて確定する。この次のアクセスサイクルにより、２セル／キャリー生成ユニットＣＹＧ１が、生成されて確定したキャリーＣＹ＜０＞とデータビットＡ＜１＞およびＢ＜１＞とに従って対応のキャリーＣＹ＜１＞を生成する。２セル／キャリー生成ユニットにおいてＣＹＧ１において生成されたキャリーＣＹ＜１＞が、対応のレジスタに格納される。順次下位ビット側からキャリーが確定状態となる。このキャリー生成操作を（ｍ＋１）回繰返すことにより、キャリーＣＹ＜０＞−ＣＹ＜ｍ＞がすべて確定状態に設定され、対応のレジスタ（５０）に格納される。
【０４８５】
このキャリー生成操作を（ｍ＋１）回繰返した後、２セル／サム生成ユニットＳＵＧ０−ＳＵＧｍにおいて、１ビット下位側から与えられたキャリーと入力データビットＡ＜０＞，Ｂ＜０＞−Ａ＜ｍ＞，Ｂ＜ｍ＞とに従ってサム生成操作を実行する（図６３）。この加算操作時においては、対応のデータバスのデータバス単位ブロックＤＰＵＢ３およびＤＰＵＢ４においては、図６３に示すデータ伝搬経路が設定され、また、組合せ論理演算回路においても、２入力ＯＲゲートが選択される。
【０４８６】
この加算操作時において、すべての下位ビット側からのキャリーが確定しており、ビットＡ＜０＞，Ｂ＜０＞−Ａ＜ｍ＞，Ｂ＜ｍ＞について並列に１ビット加算を実行して、加算結果を示すサムビットＳ＜０＞−Ｓ＜ｍ＞が、最終キャリーＣＹとともに生成される（ステップＳＰ１４）。次いで、加算結果を出力する（ステップＳＰ１５）。
【０４８７】
この場合、１つのエントリに対し、（ｍ＋２）回加算操作を繰返すことにより、（ｍ＋１）ビットのデータについての全加算を行なうことができる。サム生成ユニットＳＵＧおよびキャリー生成ユニットＣＹＧを並行して動作させることにより、サムＳＵＭについても各クロックサイクルごとに下位ビット側からサムビットＳＵＭ＜ｉ＞の値が確定し、最終キャリーＣＹの生成時に並行して、最上位のサムビットＳＵＭ＜ｍ＞を生成することができ、この場合、（ｍ＋１）サイクルで加算結果を得ることができる。
【０４８８】
以上のように、演算子セルアレイにおいてエントリ単位でビットパラレルに加算を実行する場合においても、データバス接続経路を切換えるだけで、ビットパラレルの加算を実行することができる。また、エントリを切換えて加算を実行することにより、アクセスが局所的に集中するのを回避することができ、誤動作などを防止することができる。
【０４８９】
なお、図６４および図６５に示す構成においても、キャリー生成ユニットおよびサム生成ユニットを、ボロー生成ユニットおよびサム減算値生成ユニットで置換することにより、ビットパラレルな減算器を実現することができる。
【０４９０】
以上のように、この発明の実施の形態６に従えば、１つのユニット演算子セルにおいて３個の記憶トランジスタを配置しており、記憶データのＯＲおよびＡＮＤの複合演算を実行することができ、少数のユニット演算子セルを用いて加減算操作を高速で実行することができる。
【０４９１】
［実施の形態７］
図６７は、この発明の実施の形態７に従うユニット演算子セルの電気的等価回路を示す図である。この図６７に示すユニット演算子セルの構成は、以下の点で、図５８に示す実施の形態６に従うユニット演算子セルの構成とは異なる。すなわち、ＳＯＩトランジスタＰＱ２が、書込ワード線ＷＷＬＢに従って選択状態へ駆動され、ＳＯＩトランジスタＰＱ１およびＰＱ３は、書込ワード線ＷＷＬＡ上の信号に従って選択状態へ駆動される。図６７に示すユニット演算子セルの他の構成は、図５９に示すユニット演算子セルの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０４９２】
図６８は、図６７に示すユニット演算子セルＵＥの平面レイアウトを概略的に示す図である。この図６８に示す平面レイアウトは、以下の点で、図５９に示す平面レイアウトとその配置が異なる。すなわち、第１金属配線６ａが、書込ワード線ＷＷＬＡとして用いられ、書込ワード線ＷＷＬＢを構成する第１金属配線６ｅが、さらに、Ｂポート読出ワード線ＲＷＬＢを構成する第１金属配線６ｄと平行に図の下部に設けられる。
【０４９３】
この書込ワード線ＷＷＬＢによりＳＯＩトランジスタＰＱ２を選択するため、Ｐ型領域４ｂとＹ方向に整列して、高濃度Ｐ型領域１ｇおよび１ｈが配置される。これらのＰ型領域１ｇおよび１ｈの間に、Ｎ型領域２ｄが配置される。Ｎ型領域２ｄ上に、Ｘ方向に延在するゲート電極配線５ｅが配設される。このゲート電極配線５ｅが、上層の第１金属配線６ｅに電気的に接続される（コンタクト部は示さず）。
【０４９４】
Ｐ型領域１ｈに隣接して、Ｘ方向に延在する高濃度Ｐ型領域１ｉが配設される。この高濃度Ｐ型領域１ｉは、コンタクト／ビア８ｈを介して上層の第２金属配線７ｄに電気的に接続される。すなわち、ＳＯＩトランジスタＰＱ２を構成する活性領域は、図５９に示すレイアウトと異なり、ＳＯＩトランジスタＰＱ１を構成するＰ型領域１ｇおよび１ｄとＹ方向に整列して、配置される。
【０４９５】
この図６８に示す平面レイアウトの他の配置は、図５９に示す平面レイアウトと同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。図６８においても、破線で示す領域は、Ｐ型不純物の注入領域である（トランジスタが形成される活性領域の間には素子分離領域が設けられている）。
【０４９６】
これにより、ユニット演算子セルＵＯＥにおいて、３個のデータ記憶用のＳＯＩトランジスタが配置される場合において、大幅にレイアウトを変更することなく、記憶ノードＳＮＢへのデータ書込と記憶ノードＳＮＡおよびＳＮＣに対するデータ書込を、別々に実行することができる。
【０４９７】
図６７および図６８に示すユニット演算子セルを利用する場合の演算子セルアレイ内の配置は、図６０に示す演算子セルアレイの配置と同じである。書込ワード線として、２本の書込ワード線ＷＷＬＡおよびＷＷＬＢが配置される点が異なるだけである。したがって、ここでは、この発明の実施の形態７に従う演算子セルアレイの配置については特に示さない。
【０４９８】
図６９は、この発明の実施の形態７に従う半導体信号処理装置のデータパス２８および組合せ論理演算回路２６のデータ伝播経路の接続態様を概略的に示す図である。図６９に示す半導体信号処理装置においては、先の実施の形態３の場合と同様、データバス演算単位グループ４４＜０＞−４４＜ｍ＞各々のデータパス単位ブロックＤＰＵＢ０において、マッチ線ＭＬを放電するための放電トランジスタＴＱ１が配置される。組合せ論理演算回路２６においては、各データバス演算単位グループ４４＜０＞−４４＜ｍ＞に対して、２入力ＯＲゲートＯＧ０が選択され、またデータパス単位ブロックＤＰＵＢ０において、インバータ４２０を選択し、２入力ＯＲゲートＯＧ０の出力信号を反転する。インバータ４２０の出力信号に従って対応の放電トランジスタＴＱ１が選択的にオン状態となる。
【０４９９】
このマッチ線ＭＬに対しては、先の実施の形態３と同様、プリチャージ用のトランジスタＰＱ０およびサーチ結果を増幅する増幅回路ＡＭＰが設けられる。また、データパス２８および組合せ論理演算回路２６の個々の構成は、先の実施の形態３において図４１を参照して説明した構成と同じである。また、これらのデータパスおよび組合せ論理演算回路の構成としては、実施の形態４または６に示した構成が利用されても良い。
【０５００】
本実施の形態７においては、演算子セルアレイ２０において、書込ワード線ＷＷＬＡおよびＷＷＬＢ上の信号に従ってユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢに個々にデータを書込むことができる。したがって、例えば、サーチ動作実行時に、記憶ノードＳＮＣにフラグＦＬＧを格納することにより、データビットＡをドントケア状態に設定することができる。すなわち、フラグＦＬＧを“１”に設定すれば、例えば、センスアンプからの演算結果データＡ・（Ｂ＋ＦＬＧ）および／Ａ・（／Ｂ＋ＦＬＧ）は、それぞれ、Ａおよび／Ａとなり、２入力ＯＲゲートＯＧ０の出力信号は、“１（＝Ａ＋／Ａ）”となる。フラグＦＬＧが、“０”の時には、センスアンプＳＡ０およびＳＡ１の出力データは、データＡ・Ｂおよび／Ａ・／Ｂとなり、ＯＲゲートＯＧ０の出力信号は、データ（Ａ・Ｂ＋／Ａ・／Ｂ）となり、データＡおよびＢの一致結果を示す。従ってフラグＦＬＧにより、データビットＡに対してマスクをかけてサーチを行なうことができる。以下、このサーチ動作について具体的に説明する。
【０５０１】
図７０は、この発明の実施の形態７に従う半導体信号処理装置のサーチ動作を示すフロー図である。以下、図７０を参照して、この図６７および図６９に示す半導体信号処理装置のサーチ動作について説明する。
【０５０２】
先ず、操作開始指示により、サーチ対象データの演算子セルアレイ内への格納が指示される（ステップＳＰ２０）。このサーチ対象データの格納指示に従って、まず、データパスの設定が行なわれる（ステップＳＰ２１）。この場合、一例として、データパス単位ブロックＤＰＵＢ０において、データＢの反転値／Ｂを選択し、データパス単位ブロックＤＰＵＢ１においては、データＢ（＝ＤＩＮＢ）を選択するように経路を設定する。この経路設定後、書込ワード線ＷＷＬＢを選択し、対応のユニット演算子セルＵＯＥ０およびＵＯＥ１のＳＯＩトランジスタＮＱ２の記憶ノード（ボディ領域）ＳＮＢに、サーチ対象データを書込む（ステッＳＰ２２）。
【０５０３】
次いで、すべてのサーチ対象データについて書込が実行されたかの判定が行なわれる（ステップＳＰ２３）。すべてのサーチ対象データの書込が完了していない場合には、エントリアドレスを更新し（ステップＳＰ２４）、再び、選択されたエントリの書込ワード線ＷＷＬＢを選択して、次のサーチ対象データを書込む。
【０５０４】
ステップＳＰ２３における判定により、すべてのサーチ対象データの書込が完了したと判定されると、半導体信号処理装置は、外部からのサーチ指示が与えられるのを待つ（ステップＳＰ２４）。
【０５０５】
サーチ指示が与えられると、データバスおよびロジックパス（組合せ論理演算回路のデータ伝播経路）の設定が行なわれ、また、エントリアドレスが初期化される（ステップＳＰ２５）。
【０５０６】
データパスにおいては、サーチデータＡ（＝ＤＩＮＡ）およびフラグＦＬＧの転送経路の設定が行われる。データＢが格納されたユニット演算子セル（ＵＯＥ０）に対しては、非反転データＡが伝達され、また、データ／Ｂが格納されたユニット演算子セル（ＵＯＥ１）へは、反転データ／Ａが転送されるように、データＡについての伝搬経路が設定される。フラグＦＬＧについては、フラグＦＬＧの非反転値をそれぞれ記憶ノードＳＮＣに伝達するように、その伝搬経路が設定される。
【０５０７】
次いで、この指定されたエントリに対しサーチデータおよびフラグの書込および読出が実行される（ステップＳＰ２６）。先ず、書込ワード線ＷＷＬＡが選択状態へ駆動され、記憶ノードＳＮＡおよびＳＮＣへ、データおよびフラグの書込が行なわれる。したがって、データＢが格納されたユニット演算子セルＵＥ０に対しては、記憶ノードＳＮＡにデータＡが格納され、記憶ノードＳＮＣにフラグＦＬＧが格納される。一方、反転データ／Ｂが格納されたユニット演算子セルＵＥ１に対しては、記憶ノードＳＮＡに対しデータ／Ａが書込まれ、記憶ノードＳＮＣにフラグＦＬＧが格納される。
【０５０８】
次いで、読出ワード線ＲＷＬＡおよびＷＲＬＢを並行して選択状態へ駆動し、これらのユニット演算子セルＵＥ０およびＵＥ１に格納されたデータの読出を行なう。図示しない読出ポート選択回路においては、Ｂポートが選択されており、したがって、センスアンプは、データＡ・（ＦＬＧ＋Ｂ）および／Ａ・（ＦＬＧ＋／Ｂ）を生成し、これらのデータが対応のメインアンプを介して対応の２入力ＯＲゲートＯＧ０へ伝達される。
【０５０９】
フラグＦＬＧが“１”のときには、２入力ＯＲゲートＯＧ０の出力データは、Ａ＋／Ａ＝“１”である。したがって、インバータ４２０によりＯＲゲートＯＧ０の出力信号（データビット）が反転され、このインバータ４２０の出力信号が“０”となり、一致を示す状態に設定される。一方、フラグＦＬＧが“０”のときには、２入力ＯＲゲートＯＧ０の出力データは、Ａ・Ｂ＋／Ａ・／Ｂである。データＡおよびＢが等しい場合には、ＯＲゲートＯＧ０の出力信号が“１”（Ｈレベル）となり、応じてインバータ４２０の出力信号は“０”（Ｌレベル）となる。従って、フラグＦＬＧが、“１”に設定されたサーチデータ（ビット）は、マッチ線のＭＬの電位に対して影響を及ぼさない。一方、データＡおよびデータＢが不一致の場合には、２入力ＯＲゲートの出力信号は“０”となり、インバータ４２０の出力信号が“１”となり、対応の放電トランジスタＴＱ１がオン状態となり、マッチ線ＭＬが放電される。従って、サーチデータＡ（ＤＩＮＡ＜ｍ：０＞）が、サーチ対象データＢ（ＤＩＮＢ＜ｍ：０＞）と１ビットでも不一致であれば、マッチ線ＭＬが放電される。
【０５１０】
従って、マッチ線ＭＬがプリチャージ状態に維持される場合は、一致状態を示しており、マッチ線ＭＬが放電された状態は、不一致を示している。このマッチ線ＭＬの電位を増幅回路ＡＭＰで増幅し、サーチ結果指示ＳＲＳＬＴを“０”または“１”に設定することにより、サーチデータＡとサーチ対象データＢとの一致／不一致が識別される（ステップＳＰ２７）。
【０５１１】
データの不一致が検出された場合には、まず、アドレスカウンタにより最終エントリに対するサーチが行なわれたかの判定が行なわれる（ステップＳＰ２９）。まだ最終のエントリに対するサーチが行なわれていない場合には、エントリアドレスを更新し（ステップＳＰ３０）、ステップＳＰ２６からのサーチデータおよびフラグの書込および読出アクセスを実行する。
【０５１２】
一方、ステップＳＰ２９において、最終エントリに対するサーチが実行され、一致が検出されないと判定された場合には、必要な不一致処理が実行される（ステップＳＰ３１）。この不一致発生時の処理は、この半導体集積装置が適用される用途に応じて適宜定められる。一方、ステップＳＰ２７において一致が検出された場合には、そのときの一致アドレス（エントリアドレス）を保持し、外部へ出力する（ステップＳＰ２８）。この場合、エントリアドレス（アドレスインデックス）を外部へ出力し、この外部へ出力されたエントリアドレスに従ってさらに必要な情報が読出されてもよく、また、一致検出時、そのエントリアドレスの値に関わらず、所定の処理が実行されてもよい。
【０５１３】
図６７に示すように、書込ワード線を、記憶ノードＳＮＢに対する書込ワード線と記憶ノードＳＮＡおよびＳＮＣに対する書込ワード線とを別々に設けることにより、サーチ操作時において、マスクをかけたサーチ動作を実現することができる。
【０５１４】
なお、この発明の実施の形態７に従う半導体信号処理装置の全体の構成は、実施の形態３と同様の構成であり、図４２に示す構成のアドレスカウンタ１７０をエントリアドレス発生回路として利用することにより、本実施の形態７の３つの記憶ノードＳＮＡ、ＳＮＢおよびＳＮＣがユニット演算子セルにおいて設けられる場合において、３値ＣＡＭ動作を実現することができる。
【０５１５】
図７１は、このサーチデータおよびフラグの構成の一例を示す図である。サーチデータＤＩＮＡ＜ｍ：０＞は、データＡ＜ｍ：０＞で構成され、フラグ（ビット）ＦＬＧは、マスクデータＤＩＮＣ＜ｍ：０＞により構成される。サーチデータビットＡ＜０＞−Ａ＜ｐ−１＞に対し、対応のマスクデータＤＩＮＣのビット（ＦＬＧ）を“１”に設定し、サーチデータのビットＡ＜ｐ＞−Ａ＜ｑ＞に対し、対応のマスクデータＤＩＮＣのビット（フラグＦＬＧ）を、“０”に設定する。また、サーチデータの残りのビットＡ＜ｑ＋１＞−Ａ＜ｍ＞に対し、マスクデータＤＩＮＣの対応のビットを、“１”に設定する。
【０５１６】
この図７１に示すサーチデータに対するマスクデータのビット配列の場合、サーチデータのうちビットＡ＜ｐ＞−Ａ＜ｑ＞に対しサーチが行なわれ、残りのビットＡ＜０＞−Ａ＜ｃ−１＞およびＡ＜ｑ＋１＞−Ａ＜ｍ＞の状態は、「ドントケア」である。したがって、マスクデータＤＩＮＣのビット（フラグＦＬＧ）の値を設定することにより、サーチデータの有効ビット幅を適宜設定して、サーチ動作を実行することができる。
【０５１７】
たとえば、データ通信におけるＩＰアドレス（インターネットプロトコルアドレス）のデータパケットに対する次のアドレスの検索に対しても適用することができ、また、ペイロードにおける文字列検索を行うことが可能となる。
【０５１８】
［実施の形態８］
図７２は、この発明の実施の形態８に従う半導体信号処理装置の要部の構成を概略的に示す図である。この図７２に示す半導体信号処理装置においては、演算子セルアレイ２０において、ＡＮＤ演算を行うために用いられるＡＮＤ演算アレイＯＡＲＡと、全加算を行なうために用いられる全加算アレイＯＡＲＦが別々に設けられる。これらのＡＮＤ演算アレイＯＡＲＡおよび全加算アレイＯＡＲＦに共通に、メインアンプ回路２４、組合せ論理演算回路２６およびデータパス２８が配置される。
【０５１９】
ＡＮＤ演算アレイＯＡＲＡにおいて、ユニット演算子セルＵＯＥとして、先の実施の形態５において示した３つの記憶ノードＳＮＡ、ＳＮＢおよびＳＮＣを有する構成が用いられる。この場合、書込ポートＷＡ、ＷＢおよびＷＣが、並行して選択状態へ駆動されてもよく、また実施の形態７におけるように、書込ポートＷＢは、書込ポートＷＡおよびＷＣと別々に選択状態へ駆動されてもよい。書込ポートＷＡ、ＷＢおよびＷＣは、それぞれ記憶ノードＳＮＡ、ＳＮＢおよびＳＮＣに結合される書込ポートＷＰＲＴである。ＡＮＤ演算アレイにおいては、書込ポートＷＢおよびＷＣの一方へデータビット“０”が常時伝達されるか、または、書込ポートＷＣおよびＷＢに、同じデータが伝達される。
【０５２０】
ＡＮＤ演算アレイＯＡＲＡにおいて、センスアンプ帯３８においてメモリセルアレイ３２の各ビット線対に対してセンスアンプが設けられる。ＡＮＤ演算アレイＯＡＲＡにおけるＡＮＤ演算時の態様は、先の実施の形態１の場合と同様であり、読出ポートＢ（ＲＰＲＰＢ）が選択され、ユニット演算子セルの格納するデータビットについての論理積演算（例えば、Ａ・Ｂ）が実行される。
【０５２１】
一方、全加算アレイＯＡＲＦにおいては、２つのユニット演算子セルで構成されるキャリー生成ユニット（図７２においてキャリーとして示す）および２つのユニット演算子セルで構成されるサム生成ユニット（図７２においてサムとして示す）が１つの１ビット全加算単位として用いられる。この全加算アレイＯＡＲＦにおいても、ユニット演算子セルＵＯＥの構成は、ＡＮＤ演算アレイのユニット演算子セルＵＯＥの構成と同じである。ただし、これら書込ポートＷＡ、ＷＢおよびＷＣを介して、個々に演算データの格納が行なわれる。なお、全加算アレイＯＡＲＦにおける全加算を行なうため、データパス２８においては、さらに、乗算時の部分積のシフト操作も可能とするために、その構成が、図６１に示す実施の形態６のデータパスの構成と異なる。組合せ論理演算回路２６の構成としては、実施の形態６の場合と同様、図６１に示す構成と同様の構成が用いられる。
【０５２２】
図７３は、この実施の形態８における半導体信号処理装置のデータパス２８の構成を概略的に示す図である。図７３において、全加算演算単位ブロックは、２つのデータパス単位ブロックＤＰＵＢａおよびＤＰＵＢｂで構成される。１つの全加算演算単位ＭＵＢにより、キャリーユニット部、またはサム生成部が構成される。従って、１ビットの全加算器は、２つの全加算演算単位により構成される。
【０５２３】
１つの全加算演算単位ＭＵＢｌにおける２つのデータパス単位ブロックＤＰＵＢａおよびＤＰＵＢｂそれぞれに、ユニット演算子セルＵＯＥｋおよびＵＯＥ（ｋ＋１）が配置され、サムを生成する。隣接する全加算演算単位ＭＵＢ（ｌ＋１）におけるデータパス単位ブロックＤＰＵＢａおよびＤＰＵＢｂにより、上位ビットの全加算演算単位ＭＵＢ（ｌ＋２）で構成されるサム生成部に対するキャリーが生成される。全加算演算単位ＭＵＢｌに対するキャリーＣは、図示しない下位ビット部分から転送されて、出力キャリーが、入力データビットＤＩＮＡ＜ｌ＞およびＤＩＮＢ＜ｌ＞に従って生成される。
【０５２４】
この図７３に示すデータパス単位ブロックＤＰＵＢａおよびＤＰＵＢｂの構成は、以下の点で、図６１に示すデータパスの構成と異なる。すなわち、データパス単位ブロックＤＰＵＢａ（ＤＰＵＢ０）に配置されるレジスタ５０の出力データビットを、さらに図示しないクロック信号に従って転送するテンポラリレジスタ４５０と、テンポラリレジスタ４５０の格納値と外部からのデータビットＤＩＮＢ＜ｌ＞とを受けるマルチプレクサ（ＭＵＸ２）４５４が設けられる。このテンポラリレジスタ４５０の出力値は、下位ビット側のサム生成用の全加算演算単位ＭＵＢ（ｌ−２）へ転送される（シフトダウンされる）。
【０５２５】
上位ビットの全加算演算単位ＭＵＢ（ｌ＋２）のテンポラリレジスタ４５０の出力値に対し、それぞれインバータ４５６、４５７および４５８が書込データパス単位ブロックＤＰＵＢａおよびＤＰＵＢｂ各々において設けられる。インバータ４５６，４５７および４５８の出力データビットは、それぞれマルチプレクサ４００、５７および５６へ与えられる。したがって、テンポラリレジスタ４５０からシフトダウンされたデータビットを、この全加算演算単位ＭＵＢｌにおいて利用して、対応のビット演算子セルＵＯＥｋおよび／またはＵＯＥ（ｋ＋１）へ転送することができる。
【０５２６】
このデータパス単位ブロックＤＰＵＢａおよびＤＰＵＢｂの他の構成は、図６１に示すデータパス単位ブロックの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０５２７】
図７３に示すデータバスにおける全加算演算単位を用いて、ＡＮＤ演算および全加算演算を行ない、乗算時の部分積の生成および部分積の加算を実行して最終乗算結果を生成する。
【０５２８】
図７４は、この発明の実施の形態８に従う半導体信号処理装置における乗算操作の一例を示す図である。図７４においては、４ビット被乗数Ｘ＜３：０＞および４ビット乗数Ｙ＜３：０＞の乗算を行なう場合が、一例として示される。乗算操作においては、被乗数Ｘ＜３：０＞に対し乗数Ｙ＜３：０＞の各ビットＹ＜０＞−Ｙ＜３＞ごとに乗算を行ない（ＡＮＤ演算を行ない）、部分積ＰＰ０−ＰＰ３を生成する。これらの部分積ＰＰ０−ＰＰ３を生成した後、各ビット位置ごとに、部分積ＰＰ０−ＰＰ３を加算して、８ビット最終積Ｐ＜７：０＞を生成する。
【０５２９】
通常の並列乗算器においては、各部分積を生成するために、乗算セルアレイが配置される。この操作を、図７２に示すＡＮＤ演算アレイＯＡＲＡおよび全加算アレイＯＡＲＦを利用して実現する。すなわち、データパスのデータ伝搬経路を、ＡＮＤ演算アレイおよび全加算アレイへのアクセスに応じて設定して部分積の生成、部分積の加算を順次実行する。以下、この図７４に一例として示す４ビット乗算操作について、図７５（Ａ）−図７５（Ｃ）、図７６（Ａ）および図７６（Ｂ）、および図７７（Ａ）および図７７（Ｂ）を参照して説明する。
【０５３０】
図７５（Ａ）に示すように、ＡＮＤ演算アレイＯＡＲＡにおいて、ＡＮＤセルＬＰＣ０−ＬＰＣ７が用いられる。ＡＮＤセルＬＰＣ０は、ＡＮＤセルＬＰＣ１−ＬＰＣ７に対する経路切換の制御をすべて同じとするために、冗長的に設けられる。ＡＮＤセルＬＰＣ０−ＬＰＣ７各々においては、２つのユニット演算子セルＵＯＥ０およびＵＯＥ１が、キャリー生成部およびサム生成部と同様に配置され、合計４つのユニット演算子セルＵＯＥで構成され、このうち、１つのユニット演算子セルＵＯＥ０を用いて、記憶ノードＳＮＡおよびＳＮＢに格納される入力データについてのＡＮＤ演算を実行する（読出ポートとしては、読出ポート選択回路においてＢポートが選択される）。記憶ノードＳＮＣには、データ“０”またはデータＢが格納される。
【０５３１】
このＡＮＤ演算については、図示しないデータパスの対応の全加算演算単位において、ＡＮＤ演算を実行するように、入力データＡおよびＢの非反転データが選択される。また、ＡＮＤセルＬＰＣ４−ＬＰＣ７に対し、被乗数ビットＸ＜０＞−Ｘ＜３＞がそれぞれ入力データＡとして与えられる。これらのＡＮＤセルＬＰＣ４−ＬＰＣ７に対し、また書込データＢとして、乗数ビットＹ＜０＞が与えられる。ＡＮＤセルＬＰＣ０−ＬＰＣ３においては、データ“０”が、データＡとして与えられる。外部からの書込データＢとして、これらのＡＮＤセルＬＰＣ０−ＬＰＣ３に対して、データ“０”が与えられてもよい。
【０５３２】
このＡＮＤ演算の結果、ＡＮＤセルＬＰＣ４−ＬＰＣ７においてはそれぞれ、被乗数ビットＸ＜０＞−Ｘ＜３＞と乗数ビットＹ＜０＞のＡＮＤ演算結果が、対応のセンスアンプにより生成され、対応のデータパス単位ブロックのレジスタ５０に、それぞれ格納される。一方、ＡＮＤセルＬＰＣ０−ＬＰＣ３においては、ＡＮＤ演算結果は“０”であり、対応のレジスタ５０には、データ“０”が格納される。これにより、図７４に示す部分積ＰＰ１の各ビットが生成される。
【０５３３】
次いで、図７５（Ｂ）に示すように、被乗数ビットＸ＜０＞−Ｘ＜３＞を保持したままで、乗数ビットをビットＹ＜１＞に切換え、再びＡＮＤセルＬＰＣ４−ＬＰＣ７へ与える。ＡＮＤセルＬＰＣ０−ＬＰＣ３への印加データは、図７５（Ａ）に示す場合と同じである。したがって、その結果、ＡＮＤセルＬＰＣ４−ＬＰＣ７は、乗数ビットＹ＜１＞と被乗数ビットＸ＜０＞−Ｘ＜３＞とのＡＮＤ演算結果を生成し、それぞれ対応のレジスタ５０に格納される。一方、先のサイクルにおいて生成されたＡＮＤ演算結果（図７５（Ａ）に示す）は、テンポラリレジスタ４５０にそれぞれ格納される。これにより、図７４に示す部分積ＰＰ０およびＰＰ１の各ビットが生成されたため、これらの部分積ＰＰ０およびＰＰ１の加算を、桁合わせを行なって実行する。すなわち、ＡＮＤセルＬＰＣ４−ＬＰＣ７の対応のテンポラリレジスタ４５０に格納されたビットは、１ビット下位方向にシフトされて、書込データＢとして伝達され（図７３の上位ビットのテンポラリレジスタ４５０から出力されるデータを利用する）。一方、書込データＡとしては、レジスタ５０に格納されたデータを利用する。
【０５３４】
全加算アレイＯＡＲＦにおいては、ＡＮＤセルと同様、全加算（ＦＡＤＤ）セルＦＤＣ０−ＦＤＣ７が用いられる。全加算セルＦＡＤＤは、１ビット全加算を行うため、キャリー生成用のユニット演算子セルおよびサム生成用のユニット演算子セルを含み、図７３に示す、加算演算単位ＭＵＢが、キャリーおよびサム生成のために各全加算セルに対して設けられる。データパスの単位ブロックは、ＡＮＤセルおよび全加算セルにおいて共通に利用される。従って、ＡＮＤセルＬＰＣ０−ＬＰＣ７と全加算（ＦＡＤＤ）セルＦＤＣ０−ＦＤＣ７とは列方向において整列して配置される。
【０５３５】
これらのＦＡＤＤセルＦＤＣ０−ＦＤＣ７に対しては、書込データＢとして、１ビット上位のテンポラリレジスタ４５０に格納されるデータを選択し、一方、書込データＡとして、対応のデータパス単位ブロックに含まれるレジスタ５０の出力データを選択する。この１ビット下位方向にシフトにより、部分積加算時の桁合わせが実現される。
【０５３６】
次いで、全加算アレイＯＡＲＦにおいて、ＦＡＤＤセルＦＤＣ０−ＦＤＣ７へアクセスし、全加算のキャリーおよびサムの生成を行なう（実施の形態６参照）。これにより、図７５（Ｃ）に示すように、ＦＡＤＤセルＦＤＣ３−ＦＤＣ７のそれぞれ対応のレジスタ５０に、部分積ＰＰ０およびＰＰ１の加算結果が格納される。この加算時において、最上位ビットのＦＡＤＤセルＦＤＣ７へは、書込データＢとして、データ“０”が与えられる。
【０５３７】
次いで、図７６（Ａ）に示すように、入力データＡとして、被乗数ビットＸ＜０＞−Ｘ＜３＞を選択し、また、乗数ビットＹ＜２＞を書込データＢとして与えて、再びＡＮＤ演算アレイＯＡＲＡに対するアクセスを実行する（データパスにおいてはＡＮＤ演算を実行するように経路が変更される）。これにより、ＡＮＤセルＬＰＣ４−ＬＰＣ７からは、被乗数ビットＸ＜０＞−Ｘ＜３＞と乗数ビットＹ＜２＞のＡＮＤ演算結果が生成され、対応のレジスタ５０に格納される。これにより、部分積ＰＰ２の各ビットが、ＡＮＤセルＬＰＣ４−ＬＰＣ７の対応のレジスタ５０に格納される。図７５（Ｃ）において示した、部分積ＰＰ０およびＰＰ１の加算結果の各ビットは、それぞれ、テンポラリレジスタ４５０に格納される。
【０５３８】
ＡＮＤセルＬＰＣ０−ＬＰＣ３は、入力データＡが“０”であり、対応のレジスタ５０には、データ“０”が格納される。
【０５３９】
次いで、図７６（Ｂ）に示すように、部分積加算を行なうために、テンポラリレジスト４５０による−１ビットシフト（下位方向への１ビットシフト）が実行され、シフトデータが、それぞれ、書込データＢとして選択される。対応のデータバス単位ブロック内のレジスタ５０の格納データが、書込データＡとして選択される。この状態で、全加算アレイＯＡＲＦにアクセスし、ＦＡＤＤセルＦＤＣ０−ＦＤＣ７により、全加算操作を行なう（キャリーおよびサム生成を行なう）。ＦＡＤＤセルＦＤＣ２−ＦＤＣ７からは、部分積ＰＰ０−ＰＰ２の加算結果が生成され、対応のレジスタ５０に部分積ＰＰ０−ＰＰ２の加算結果が格納される。ＦＡＤＤセルＦＤＣ１およびＦＤＣ０の対応のレジスタ５０には、データ“０”が格納される。
【０５４０】
この場合、図７６（Ｂ）において、レジスタ５０の格納値を示すように、図７４に示す部分積ＰＰ０−ＰＰ２の各桁ごとの加算結果が正確に、ＦＡＤＤセルＦＤＣ２−ＦＤＣ７の対応のレジスタに格納されている。
【０５４１】
次いで、図７７（Ａ）に示すように、データパスにおいて、再び、ＡＮＤセルＬＰＣ４−ＬＰＣ７に対する書込データＡとして、被乗数ビットＸ＜０＞−Ｘ＜３＞を選択し、また、これらのＡＮＤセルＬＰＣ４−ＬＰＣ７に対する書込データＢとして、乗数ビットＹ＜３＞を選択する。ＡＮＤセルＬＰＣ０−ＬＰＣ３に対しては、書込データＡとして“０”が与えられる。この状態で、ＡＮＤ演算アレイＯＡＲＡへアクセスし、被乗数ビットＸ＜０＞−Ｘ＜３＞と乗数ビットＹ＜３＞とのＡＮＤ演算を行なう。これにより、ＡＮＤ０ＬＰＣ４−ＬＰＣ７の対応のレジスタ５０に、これらの被乗数Ｘ＜３：０＞と乗数ビットＹ＜３＞のＡＮＤ演算結果が格納され、部分積ＰＰ３が生成され、対応のレジスタ５０に部分積ＰＰ３の各ビットが格納される。テンポラリレジスタ４５０においては、図７６（Ｂ）において示した部分積ＰＰ０−ＰＰ２の加算値が格納される。
【０５４２】
次に、図７７（Ｂ）に示すように、データパスにおいて、再び−１ビットシフト操作を行ない、テンポラリレジスタ４５０の格納データを、１ビット下位のサム生成用の全加算演算単位へシフトする。これにより、各演算単位における書込データＢが生成される。書込データＡとしては、対応のレジスタ５０に格納されるデータが選択される。
【０５４３】
再び、全加算アレイＯＡＲＦへアクセスし、ＦＡＤＤセルＦＤＣ０−ＦＤＣ７において、全加算操作を行なう（キャリーおよびサムの生成）。この結果、ＦＡＤＤセルＦＤＣ１−ＦＤＣ７対応のレジスタ５０には、部分積ＰＰ０−ＰＰ３の最終加算結果が格納される。ＦＡＤＤセルＦＤＣ１−ＦＤＣ７のレジスタ５０からの出力データを、バッファを通して外部へ取出すことにより、データＡおよびＢの乗算結果の乗算ビットＰ＜０＞−Ｐ＜７＞を生成することができる。ＦＡＤＤセルＦＤＣ０の対応のレジスタ５０のデータは、外部に対する乗算ビットとしては利用されない。これにより、４ビット乗算は、５クロックサイクルで実行することができる。
【０５４４】
また、演算子セルアレイにおいては、３入力ユニット演算子セルを用い、ＡＮＤセルおよびＦＡＤＤセルＦＤＣ０−ＦＤＣ７においては、各々、４つのユニット演算子セルが配置されるだけである。ＡＮＤ演算および加算およびキャリシフトを行う乗算セルを各部分積のビットごとに配置する必要はなく、小占有面積で、多ビットデータの乗算を実行することができる。
【０５４５】
図７８は、この発明の実施の形態８に従う半導体信号処理装置の乗算操作を示すフロー図である。以下、図７８を参照して、この発明の実施の形態８に従う半導体信号処理装置の乗算操作について説明する。
【０５４６】
まず、乗算の指示が与えられるのを待つ（ステップＳＰ４０）。乗算が指定されると、乗算データＸおよびＹを保持する（ステップＳＰ４１）。
【０５４７】
次いで、カウンタのカウント値ｉを０に設定し、また、データパス（２８）において、ＡＮＤ演算を実行するように設定する。この場合、図７３に示すマルチプレクサ５６および５７が、マルチプレクサ４５２および４５４を介して与えられる入力データＤＩＮＡおよびＤＩＮＢを選択する状態に設定する（ステップＳＰ４２）。
【０５４８】
次いで、被乗数データＸおよび乗数ビットＹ＜ｉ＞を供給し、ＡＮＤ演算アレイへアクセスし、ＡＮＤ演算結果を生成する（ステップＳＰ４３）。
【０５４９】
次いで、カウンタのカウント値ｉが０であるかの判定が行なわれる（ステップＳＰ４４）。カウンタのカウント値ｉが０の場合には、最初の部分積が形成されただけであるため、カウンタのカウント値ｉを１増分し（ステップＳＰ４５）、次いで、ステップＳＰ４３からの処理を実行する。
【０５５０】
ステップＳＰ４４において、カウンタのカウント値ｉが０でないと判定されると、既に部分積は、最低でも２つ生成されているため、全加算操作を行なう。この場合、各データパス単位ブロックにおいて、レジスタ（５０）のデータを、書込データＡとしてマルチプレクサ４５２および５６により選択し、また、上位ビットのテンポラリレジスタ（４５０）からの値を、書込データＢとして選択する（マルチプレクサ５７による）。また、データバスおよびロジックパス（組合せ論理演算回路）の経路が全加算用に設定されると、全加算アレイへアクセスし、全加算操作を行ない、キャリーおよびサムを生成する（ステップＳＰ４６）。
【０５５１】
この全加算操作完了後、カウンタのカウント値ｉが最大値ＭＡＸに到達しているかの判定が行なわれる（ステップＳＰ４７）。カウンタのカウント値ｉが最大値ＭＡＸに到達している場合には、乗数Ｙの最上位ビットＹ＜ＭＡＸ＞についての部分積の全加算が実行されているため、この全加算結果を、乗算結果として出力する（ステップＳＰ４８）。
【０５５２】
一方、カウンタのカウント値ｉが最大値ＭＡＸに到達していない場合には、ステップＳＰ４５に戻り、カウンタのカウント値ｉを１増分して再びステップＳＰ４３からの操作を繰返し実行する。
【０５５３】
従って、最初に２つの部分積を生成して、これらの部分積の全加算が行なわれた後、ＡＮＤ演算および全加算演算が繰返し実行される。Ｎビット幅のデータについての乗算を行なう場合、２・Ｎ＋１クロックサイクルで乗算結果を得ることができる。
【０５５４】
図７９は、この実施の形態８に従う半導体信号処理装置に対する、書込データを生成する入力インターフェイスの構成の一例を概略的に示す図である。図７９において、入力インターフェイス４７０は、外部からの被乗数データＸ＜ｍ：０＞をラッチするラッチ回路４７２と、外部からの乗数データＹ＜ｍ：０＞を受けて格納するシフトレジスタ４７４を含む。このラッチ回路４７２のラッチするデータＸ＜ｍ：０＞は並列に、データパスへ与えられる。一方、シフトレジスタ４７４からは、１ビットＹ＜ｉ＞ずつ順次シフトされて出力されて、データパスの書込対象のポート（書込データＢを入力するポート）へ与えられる。
【０５５５】
以上のようにして、データパスに対して書込対象の演算単位に対して、ラッチ回路４７２から常時被乗数データＸ＜ｍ：０＞を供給し、被乗数データを、１ビットずつシフトして供給することができる。
【０５５６】
なお、この乗算時の動作制御は、図４に示す制御回路３０により実行される。乗算命令（コマンド）に従って、ＡＮＤアレイアクセスおよび全加算アレイアクセスが繰り返し実行されるように各制御信号を生成する。ＡＮＤアレイおよび全加算アレイにおいて同一行のエントリを用いてＡＮＤ演算および全加算演算を実行することにより、ワード線アドレスを固定してアレイを指定するブロックアドレスを切換えて、ＡＮＤアレイおよび全加算アレイに対して順次アクセスすることができる。したがって、制御回路の構成としては、実施の形態１および６において利用する制御回路を利用することができる。
【０５５７】
以上のように、この発明の実施の形態８に従えば、演算子セルアレイの、ＡＮＤ演算を実行するＡＮＤ演算アレイ（演算子セルサブアレイブロック）および全加算演算を行なう全加算アレイ（演算子セルサブアレイブロック）に分割し、データパスおよび組合せ論理演算回路のデータパスを、各演算内容において切換えて、全加算およびＡＮＤ演算を実行している。これにより、小占有面積のアレイを用いて、多ビットデータの乗算を実行することができる。
【０５５８】
［実施の形態９］
図８０は、この発明の実施の形態９に従う半導体信号処理装置のユニット演算子セルの電気的等価回路の構成を概略的に示す図である。図８０において、２つのユニット演算子セルＵＯＥＡおよびＵＯＥＢが設けられる。これらのユニット演算子セルＵＯＥＡおよびＵＯＥＢは、それぞれ、異なるデータパス単位ブロックに対応して設けられ、１つのデータバス演算単位グループに対応して配置される。
【０５５９】
ユニット演算子セルＵＯＥＡが、ＰチャネルＳＯＩトランジスタＰＱＡ１およびＰＱＡ２と、ＮチャネルＳＯＩトランジスタＮＱＡ１およびＮＱＡ２とを含み、ユニット演算子セルＵＯＥＢは、ＰチャネルＳＯＩトランジスタＰＱＢ１およびＰＱＢ２と、ＮチャネルＳＯＩトランジスタＮＱＢ１およびＮＱＢ２を含む。
【０５６０】
ＰチャネルＳＯＩトランジスタＰＱＡ１およびＰＱＢ１は、書込ワード線ＷＷＬＢ上の信号電位に従って、それぞれグローバル書込データ線上のデータ／ＤＩＮＢおよびＤＩＮＢを、ＮチャネルＳＯＩトランジスタＮＱＡ２およびＮＱＢ２のボディ領域（記憶ノード）ＳＮＢに伝達する。ＰチャネルＳＯＩトランジスタＰＱＡ２およびＰＱＢ２は、ローカル書込ワード線ＷＷＬＡおよびＳＷＷＬＡ上の信号電位に応答して書込データ線上のデータＤＩＮＡおよび／ＤＩＮＡを、それぞれＳＯＩトランジスタＮＱＡ１およびＮＱＢ２のボディ領域（記憶ノードＳＮＡ）に伝達する。
【０５６１】
第１のローカル書込ワード線ＷＷＬＡは、書込ワード線ＷＷＬＢと直交する方向に配置され、第２のローカル書込ワード線ＳＷＷＬＡは、この第１のローカル書込ワード線ＷＷＬＡと直交する方向に配置されかつ電気的に接続される。第２のローカル書込ワード線ＳＷＷＬＡは、行方向に整列して配置されるユニット演算子セルＵＯＥＡおよびＵＯＥＢのＭＯＳトランジスタＰＱＡ２およびＰＱＢ２のゲートに電気的に接続される。これらのローカル書込ワード線ＷＷＬＡおよびＳＷＷＬＡは、対応の演算子セルサブアレイブロック内に延在して配置される。ローカル書込ワード線の階層配置については、後に説明する。
【０５６２】
ＳＯＩトランジスタＮＱＡ１およびＮＱＢ１は、それぞれソース線ＳＬに、そのソースが結合される。ユニット演算子セルＵＯＥＡおよびＵＯＥＢにおける読出部のＳＯＩトランジスタの接続態様は、図１に示すユニット演算子セルの接続態様と同じである。従って、これらのユニット演算子セルＵＯＥＡおよびＵＯＥＢの読出部の構成については、図１に示す構成と対応する部分については、同一参照符号を付して、それらの詳細説明は省略する。
【０５６３】
ＳＯＩトランジスタＮＱＡ１およびＮＱＢ１は、読出ワード線ＲＷＬＡ上の信号電位に応答してその記憶データに応じて選択的に導通し、ＳＯＩトランジスタＮＱＡ２およびＮＱＢ２は、読出ワード線ＲＷＬＢ上の信号電位に応答してその記憶データに応じて選択的に導通する。
【０５６４】
ユニット演算子セルＵＯＥＡおよびＵＯＥＢ各々において、ＮＯＴ演算を実行する場合には、データＤＯＵＴＡが利用され、ＡＮＤ演算結果を出す場合には、データＤＯＵＴＢが利用される。ユニット演算子セルＵＯＥＡおよびＵＯＥＢに対して、異なる読出ビット線が、それぞれ、結合される。従って、これらのユニット演算子セルＵＯＥＡおよびＵＯＥＢに対して並列にデータの読出が行われる。
【０５６５】
図８１は、図８０に示すユニット演算子セルＵＯＥＡおよびＵＯＥＢの平面レイアウトを概略的に示す図である。図８１において、中央部の破線ブロックで示すＰ型トランジスタ形成領域に関し、これらのユニット演算子セルＵＯＥＡおよびＵＯＥＢが対称的に配置される。
【０５６６】
Ｐ型トランジスタ形性領域内において、Ｙ方向に整列して、高濃度Ｐ型領域５００ａおよび５００ｂが配置される。これらのＰ型領域５００ａおよび５００ｂの間にＮ型領域５０２ａが配置される。Ｐ型領域５００ｂに対してＹ方向に整列してかつ隣接してＰ型領域５０４ａが配置される。
【０５６７】
また、これらのＰ型領域５００ａ、５００ｂおよび５０４ａにＹ方向において整列して、Ｐ型領域５０４ｂ、および高濃度Ｐ型領域５００ｃおよび５００ｄが配置される。Ｐ型領域５００ｃおよび５００ｄの間に、Ｎ型領域５０２ｂが配置される。
【０５６８】
Ｐ型トランジスタ形成領域外部において、Ｐ型領域５００ｂに隣接してＮ型領域５０６ａが配置され、このＮ型領域５０６ａにＹ方向に整列して、高濃度Ｎ型領域５０６ｂおよび５０６ｃが配置される。Ｎ型領域５０６ａおよび５０６ｂの間に、Ｐ型領域５０４ａがＸ方向に連続的に延在して配置される。また、Ｐ型領域５０４ｂが、これらのＮ型領域５０６ｂおよび５０６ｃの間の領域にＸ方向に連続的に延在して配置される。
【０５６９】
また、Ｐ型トランジスタ形成領域において、Ｙ方向に整列して、高濃度Ｐ型領域５００ｅおよび５００ｆが配置される。これらのＰ型領域５００ｅおよび５００ｆの間にＮ型領域ｃが配置される。Ｐ型領域５００ｆにＹ方向に沿って整列してかつ隣接してＰ型領域５０４ｃが配置される。
【０５７０】
これらのＰ型領域５００ｅ、５００ｆ、５０４ｅとＹ方向において整列して、Ｐ型領域５０４ｄ、および高濃度Ｐ型領域５００ｇおよび５００ｈが配置される。高濃度Ｐ型領域５００ｇおよび５００ｈの間にＮ型領域５０２ｄが配置される。
【０５７１】
このＰ型トランジスタ形成領域外部において、Ｐ型領域５００ｆに隣接して、高濃度Ｎ型領域５０６ｄが配置され、このＮ型領域５０６ｄとＹ方向において整列して高濃度Ｎ型領域５０６ｅおよび５０６ｆが配置される。Ｎ型領域５０６ｄおよび５０６ｅの間には、Ｐ型トランジスタ形成領域からＰ型領域５０４ｃがＸ方向に連続的に延在して配置される。Ｎ型領域５０６ｅおよび５０６ｆの間には、また、Ｐ型トランジスタ形成領域からＰ型領域５０４ｄがＸ方向に延在して配置される。
【０５７２】
Ｘ方向に連続的に延在してかつＮ型領域５０２ａおよび５０２ｃと重なり合うようにゲート電極配線５０８ａが配置され、Ｐ型領域５０４ａおよび５０４ｃと重なり合うようにＸ方向に連続的に延在してゲート電極配線５０８ｂが配置される。Ｐ型領域５０４ｂおよび５０４ｄと重なり合うようにＸ方向に連続的に延在してゲート電極配線５０８ｃが配置され、Ｎ型領域５０２ｂおよび５０２ｄと重なり合うようにＸ方向に連続的に延在してゲート電極配線５０８ｄが配置される。
【０５７３】
Ｙ方向に連続的に延在する第１金属配線５１０ａ−５１０ｇが、互いに間を置いて配置される。第１金属配線５１０ａは、コンタクト／ビアＶＶ１１を介して、Ｎ型領域５０６ｆに電気的に接続される。第１金属配線５１０ｂは、コンタクト／ビアＶＶ１０を介してＮ型領域５０６ｅに電気的に接続される。第１金属配線５１０ｃは、コンタクト／ビアＶＶ８を介してＰ型領域５００ｈに電気的に接続される。
【０５７４】
第１金属配線５１０ｄは、コンタクト／ビアＶＶ６を介して、Ｘ方向に延在して配置される第２金属配線５１２ｇに電気的に接続される。この第２金属配線５１２ｇは、下層に並行して配置されるゲート電極配線５０８ａに図示しない領域において電気的に接続される。図８１においては、これらの配線の電気的接続を強調するために、ゲート電極配線５０２ａ、第１金属配線５１０ｄおよび第２金属配線５１２ｇが、同一箇所において共通のコンタクト／ビアＶＶ６を介して相互に電気的に接続されるように示す。このローカル書込ワード線ＷＷＬＡが、別の行のメモリセルに接続される場合には、この領域においては、ローカル書込ワード線ＷＷＬＡを構成する第１金属配線５１０ｄおよび第２のローカル書込ワード線ＳＷＷＬＡを構成する第２金属配線５１２ｇは、単に交差するように配置されるだけであり、コンタクト／ビアＶＶ６は、設けられない。
【０５７５】
第１金属配線５１０ｅは、コンタクト／ビアＶＶ５を介してＰ型領域５００ｄに電気的に接続される。第１金属配線５１０ｆは、コンタクト／ビアＶＶ３を介してＮ型領域５０６ｂに電気的に接続される。第１中間配線５１０ｇは、コンタクト／ビアＶＶを介してＮ型領域５０６ｃに電気的に接続される。
【０５７６】
第１金属配線５１０ａおよび５１０ｂが、ＢポートおよびＡポートのビット線をそれぞれ構成し、第１金属配線５１０ｃが、書込データＤＩＮＢを伝達する書込ポートを構成する。第１金属配線５０１ｄが、ローカル書込ワード線ＷＷＬＡを構成し、第１金属配線５１０ｅが、書込データＤＩＮＢを伝達する。第１金属配線５１０ｆは、読出Ａポートビット線を構成し、データＤＯＵＴＡを伝達する。第１金属配線５１０ｇは、Ｂポート読出ビット線を構成しデータＤＯＵＴＢを伝達する。
【０５７７】
Ｘ方向に連続的に延在して第２金属配線５１２ａ−５１２ｇがそれぞれ間を置いて配置される。第２金属配線５１２ａは、ビア／コンタクトＶＶ１および中間配線を介してＰ型領域５００ａに電気的に接続される。第２金属配線５１２ｂは、ビア／コンタクトＶＶ７および中間配線を介してＰ型領域５００ｅに電気的に接続される。第２金属配線５１２ｃは、ビア／コンタクトＶＶ９および中間配線を介してＮ型領域５０６ｄに電気的に接続され、また、ビア／コンタクトＶＶ２を介してＮ型領域５０６ａに電気的に接続される。第２金属配線５１２ｄは、Ｘ方向に連続的に延在するゲート電極配線５０８ｂと並行して配置され、図示しない部分において電気的に接続される。
【０５７８】
第２金属配線５１２ｅは、ゲート電極配線５０８ｃと重なり合うように配置され、図示しない部分において電気的にゲート電極配線５０８ｃと接続される。第２金属配線５１２ｆは、ゲート電極配線５０８ｄと並行して重なり合うように配置され、ゲート電極配線５０８ｄと図示しない箇所において電気的に接続される。
【０５７９】
第２金属配線５１２ａおよび５１２ｂは、それぞれ、入力データ／ＤＩＮＡおよびＤＩＮＡを伝達する。第２金属配線５１２ｃはソース線ＳＬを構成し、第２金属配線５１２ｄは、下層のゲート電極配線５０８ｂとともに読出ワード線ＲＷＬＡを構成する。第２金属配線５１２ｅは、下層のゲート電極配線５０８ｃとともに読出ワード線ＲＷＬＢを構成する。第２層金属配線５１２ｆは、下層のゲート電極配線５０８ｄとともに、書込ワード線ＷＷＬＢを構成する。第２金属配線５１２ｇは、第２のローカル書込ワード線ＳＷＷＬＡを構成する。
【０５８０】
このＡポートローカル書込ワード線ＷＷＬＡをＹ方向に連続的に延在させ、かつ各演算子セルサブアレイブロックにおいて対応のメモリセル行において第２のローカル書込ワード線ＳＷＷＬＡをＸ方向に延在させてゲート電極配線と接続する。これにより、以下に説明するサーチ動作時において、複数の演算子セルサブアレイブロックの選択された演算子セルサブアレイブロックにおいて同一行を並行して選択して、サーチ動作を行なう。ローカル書込ワード線ＷＷＬＡおよびＳＷＷＬＡを利用するのは、後に説明するように、サーチ動作時にグローバル書込ワード線によりサブアレイブロックの行を指定し、サーチデータビット幅に応じて、選択される演算子セルサブアレイブロックの数を調整するためである。
【０５８１】
図８２は、この発明の実施の形態９に従う半導体信号処理装置の全体の構成を概略的に示す図である。図８２において、演算子セルアレイは、実施の形態１と同様、複数の演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１に分割される。演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１各々においては、ユニット演算子セルが行列状に配列され、また、各ユニット演算子セル列に対応してダミーセルが配置される。ユニット演算子セルの行に対応して、書込ワード線ＷＷＬＢ、および読出ワード線ＲＷＬＡ、ＲＷＬＢが配置され、また、第２のローカル書込ワード線ＳＷＷＬＡ０−ＳＷＷＬＡｍが配置される。これらの第２のローカル書込ワード線ＳＷＷＬＡ０−ＳＷＷＬＡｍは、それぞれ、対応のローカル書込ワード線ＷＷＬＡ０−ＷＷＬＡｍに接続される。
【０５８２】
また、センスアンプ帯３８においては、ユニット演算子セル列に対応してセンスアンプ回路が設けられる。ポートの選択用のスイッチ回路および読出ゲートの配置は、これまでの実施の形態と同様であるが、センスアンプ回路の出力部の構成が、これまでの実施の形態と異なり、グローバル読出データ線に対して、センスデータに応じて選択的に電流を一方方向に供給するようにグローバル読出データ線を駆動する（この出力部の構成については後に説明する）。
【０５８３】
これらの演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１に共通に、Ａポート書込ワード線用デコーダ５２０が設けられる。Ａポート書込ワード線用デコーダ５２０は、Ａポート書込ワード線ドライバ５２２を含む。読出用のＡポートワード線アドレスに従って、書込ワード線ドライバ５２２により、アドレス指定されたグローバル書込ワード線ＷＷＬＡ＜０＞、ＷＷＬＡ＜１＞…がそれぞれ駆動される。サーチ動作時、各サーチサイクルごとに選択グローバルワード線が順次更新される。
【０５８４】
演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１それぞれに対応してサブデコーダ帯５２５が設けられる。このサブデコーダ帯５２５においては、グローバル書込ワード線ＷＷＬＡ＜０＞−ＷＬＬＡ＜ｍ＞それぞれに対応してサブデコーダ５２３が設けられる。このサブデコーダ５２３は、対応のグローバルグローバル書込ワード線ＷＷＬＡ＜ｉ＞上の信号と行選択駆動回路２２からのブロック選択信号ＢＳｋとに従って対応のローカル書込ワード線ＷＷＬＡｉを選択状態に駆動し、対応の第２のローカル書込ワード線ＳＷＷＬＡｉに接続される１行のユニット演算子セルを選択状態に駆動する。
【０５８５】
演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１のうちブロック選択信号ＢＳにより選択された演算子セルサブアレイブロックにおいて、同じ行の第２のローカル書込ワード線ＳＷＷＬＡを選択状態へ駆動する。Ａポートの書込ワード線をグローバルおよびローカルワード線の階層構造とすることにより、サーチデータのビット幅が毎クロックサイクル変更される場合においても、サーチデータのビット幅に応じてサーチ対象データパターンを選択して一致検出を行なうことができる。
【０５８６】
メインアンプ回路２４、組合わせ論理回路２６およびデータパス２８は、先の実施の形態１から４において説明した構成のいずれかと同様である。データパス２８において、外部からのデータＤＩＮＢの非反転データを生成する構成を利用する。データパス２８には、グローバル書込ドライバ５２４および５２６が設けられ、これらのドライバ５２４および５２６により、それぞれグローバル書込データ線ＷＧＬＺおよびＷＧＬ上にデータ／ＤＩＮＢおよびＤＩＮＢを伝達する。データパス２８を介して（ｍ＋１）ビット幅のデータＤＩＮＢ＜ｍ：０＞および出力データＤＯＵＴ＜ｍ：０＞が転送される。
【０５８７】
行選択駆動回路２２においては、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１それぞれに対応して、行／データ線選択駆動回路ＸＸＤＲ０−ＸＸＤＲ３１が設けられる。これらの行／データ線選択駆動回路ＸＸＤＲ０−ＤＤＸＲ３１には、ビット幅可変サーチデータＤＩＮＡ♯ｘが与えられる。
【０５８８】
ビット幅可変サーチデータＤＩＮＡ♯ｘ（ｘは、サーチデータの番号）のビット幅ｗは、データ通信用途においては、パケットのヘッダに記述されており、このヘッダの解析により、各サーチサイクル時のサーチデータＤＩＮＡ＜ｌ：０＞のビット幅ｗが検出される。各サーチデータビットが、演算子セルサブアレイブロックＯＡＲ３１−ＯＡＲ（３１−ｌ）それぞれに対して分散して転送される。この検出されたサーチデータのビット幅情報ｗに従って、制御回路６００により選択状態へ駆動されるブロック選択信号ＢＳが決定され、サーチデータのビット幅に応じた数の演算子セルサブアレイにおいて１行のユニット演算子セルが選択されて、一致検索が実行される。
【０５８９】
行／データ線選択駆動回路ＸＸＤＲ０−ＸＸＤＲ３１の各々は、図示しないアドレス信号に従って読出ワード線ＲＷＬＡ、ＲＷＬＢおよび書込ワード線ＷＷＬＢを選択状態へ駆動するワード線ドライブ回路５３０と、与えられたサーチデータの対応のビットＤＩＮＡｘ＜ｉ＞に従って相補データＤＩＮＡおよび／ＤＩＮＡを生成するデータ線ドライブ回路５３４とを含む。
【０５９０】
ワード線ドライブ回路５３０は、対応の演算子セルサブアレイブロックの各ユニット演算子セル行に対応して配置される。演算セルサブアレイブロックＯＡＲ０−ＯＡＲ３１において、個々にかつ並行して、読出ワード線ＲＷＬＡおよびＲＷＬＢならびに書込ワード線ＷＷＬＢを選択状態へ駆動することができる。
【０５９１】
また、データパス２８に対し、さらに、フラグレジスタ５４０が設けられる。データパス２８においては、後に説明するように、一致検出回路が設けられており、その一致検出結果を、各サーチ動作ごとにフラグレジスタ５４０のレジスタに格納する。
【０５９２】
図８３は、図８２に示す行／データ線選択駆動回路の構成の一例を概略的に示す図である。図８２において、ワード線ドライブ回路５３０は、書込ワード線ＷＷＬＢを駆動する書込ワード線駆動回路５４１と、読出ワード線ＲＷＬＡを選択状態へ駆動するＡポート読出ワード線駆動回路５４２と、Ｂポート読出ワード線ＲＷＬＢを選択状態へ駆動するＢポート読出ワード線駆動回路５４４とを含む。書込ワード線駆動回路５４１は、アドレス信号ＡＤとＢポート書込イネーブル信号ＷＥＮＢとを受け、書込ワード線ＷＷＬＢを駆動する。Ａポート読出ワード線駆動回路５４２は、アドレス信号ＡＤとＡポート読出イネーブル信号ＲＥＮＡとを受け、読出ワード線ＲＷＬＡを選択状態へ駆動する。Ｂポート読出ワード線駆動回路５４４は、アドレス信号ＡＤとＢポート読出イネーブル信号ＲＥＮＢとを受け、Ｂポート読出ワード線ＲＷＬＢを選択状態へ駆動する。アドレス信号ＡＤは、演算子サブアレイブロックＯＡＲ０−ＯＡＲ３１各々における行を指定する。
【０５９３】
駆動回路５４１，５４２および５４４は、対応のイネーブル信号の活性化時イネーブルされてアドレス信号ＡＤをデコードし、そのデコード結果に従って、対応のワード線ＷＷＬＢ、ＲＷＬＡおよびＲＷＬＢを選択状態に駆動する。
【０５９４】
データ線ドライブ回路５３４は、データビットＤＩＮＡ＜ｉ＞と読出イネーブル信号ＲＥＮとアドレス信号ＡＤを受け、反転データビット／ＤＩＮＡを生成するゲート回路５４６と、ゲート回路５４６の出力信号を反転してデータビットＤＩＮＡを生成するインバータ５４８を含む。
【０５９５】
読出イネーブル信号ＲＥＮは、Ａポート読出イネーブル信号ＲＥＮＡおよびＢポート読出イネーブル信号ＲＥＮＢがともに活性状態のときに活性状態とされる。ゲート回路５４６は、ＮＡＮＤ型デコード回路であり、読出イネーブル信号ＲＥＮの活性化時イネーブルされ、アドレス信号ＡＤをデコードし、対応の行が選択されているときにインバータとして動作して、データビットＤＩＮＡ＜ｉ＞を反転する。
【０５９６】
Ｂポート書込ワード線ＷＷＬＢおよび読出ワード線ＲＷＬＡ，ＲＷＬＢと直交する方向に、図８２に示すサブデコーダ帯５２５のサブデコーダ５２３からのＡポート書込ワード線選択信号を伝達する第１のローカル書込ワード線ＷＷＬＡｊが配置される。この第１のローカル書込ワード線ＷＷＬＡｊ上の書込ワード線選択信号は、ローカル書込ワード線ＷＷＬＢと並行に配設される第２のＡポートローカル書込ワード線ＳＷＷＬＡｊに伝達される。従って、図８２に示すグローバルＡポート書込ワード線を介して伝達される書込ワード線選択信号ＷＷＬＡ＜ｊ＞が、サブデコーダ帯５２５を介して選択された演算子セルサブアレイブロックにおいて行方向に配置される第２のローカル書込ワード線ＳＷＷＬＡｊに伝達される。
【０５９７】
このＡポート書込ワード線を階層構造とすることにより、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１のうちサーチデータのビット幅に応じて選択された演算子セルサブアレイブロックそれぞれにおいて、同一行の第２のローカル書込ワード線ＳＷＷＬＡが並行して選択状態へ駆動される。
【０５９８】
図８３に示す構成が、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１各々において各行に対応して配置される。
【０５９９】
図８４は、図８２に示すセンスアンプ帯３８に含まれるセンスアンプおよび読出ゲートの構成の一例を示す図である。図８４において、センスアンプＳＡと読出ゲートＣＳＧの間に、Ｐチャネルトランジスタ５５０およびＮチャネルトランジスタ５５２が設けられる。これらのトランジスタ５５０および５５２は、ＳＯＩトランジスタであってもよく、またバルクトランジスタであってもよい。これらは、センスアンプＳＡの構成要素と同じ構造のトランジスタで構成される。センスアンプＳＡは、実施の形態１と同様の構成を備える。センスアンプＳＡおよびトランジスタ５５０および５５２により、センスアンプ回路５６０が構成される。
【０６００】
Ｐチャネルトランジスタ５５０は、センスアンプＳＡの出力信号／ＳＯＵＴに従って選択的に導通し、導通時、電源電圧を伝達する。Ｎチャネルトランジスタ５５２は、センスアンプＳＡの出力信号ＳＯＵＴに従って導通し、導通時、接地電圧を伝達する。グローバル読出データ線ＲＧＬおよびＺＲＧＬは、一例として、接地電圧にプリチャージされる。この場合、トランジスタ５５２は、導通時、単に対応のグローバル読出データ線ＺＲＧＬをプリチャージ電圧レベルに維持するだけである。このときには、トランジスタ５５０も導通し、グローバル読出データ線ＲＧＬに電流を供給するため、ここでは、グローバル読出データ線ＲＧＬに対するシールド線として補のグローバル読出データ線ＺＲＧＬを機能させる。しかしながら、グローバル読出データ線ＲＧＬおよびＺＲＧＬが中間電圧レベルにプリチャージされ、メインアンプにおいてグローバル読出データ線ＲＧＬおよびＺＲＧＬ両者の電圧レベルに従ってセンスアンプＳＡの出力信号の電圧レベルに応じた信号を生成する構成が用いられても良い。
【０６０１】
センスアンプＳＡは、対応のユニット演算子セルからのデータ／Ａ・ＢまたはＡ・／Ｂが“１”の場合には、すなわち、データＡおよびＢが不一致の場合には、その出力信号ＳＯＵＴをＨレベル（“１”）に駆動する。この場合には、トランジスタ５５０および５５２がともに導通し、読出ゲートＣＳＧを介してグローバル読出データ線ＲＧＬに電流が供給され、その電圧レベルが上昇する。
【０６０２】
逆に、データＡ・／Ｂおよび／Ａ・Ｂが“０”のとき、すなわち、データＡおよびＢが一致しているときには、センスアンプＳＡの出力信号ＳＯＵＴおよび／ＳＯＵＴは、それぞれＬレベルおよびＨレベルとなり、トランジスタ５５０および５５２はオフ状態であり、したがって、センスアンプＳＡは、等価的に出力ハイインピーダンス状態となり、グローバル読出データ線ＲＧＬおよびＺＲＧＬの電位には、何ら影響を及ぼさない。
【０６０３】
サーチ対象データパターンは、一列に整列して配置され、各ビットについての一致検出結果が対応のグローバル読出データ線ＲＧＬ上に読出される。従って、与えられたサーチデータと一致するデータパターンが格納されていれば、全演算子セルアレイブロックの対応のセンスアンプ回路５６０は、出力ハイインピーダンス状態となり、対応のグローバル読出データ線ＲＧＬは、プリチャージ電圧レベルに維持される。一方、サーチデータと対応のサーチ対象データとが１ビットでも不一致であれば、対応のグローバル読出データ線ＲＧＬの電位はＨレベルとなる。
【０６０４】
図８５は、この図８２に示すデータパス２８の一致検出部の構成の一例を概略的に示す図である。図８５において、データバス演算単位グループ４４＜０＞−４４＜ｍ＞各々のデータパス単位ブロックＤＰＵＢ０において、マッチ線ＭＬと接地ノードの間に直列にＮチャネルトランジスタＴＱ１０およびＴＱ１１が接続される。データバス演算単位グループ４４＜０＞−４４＜ｍ＞それぞれに対して、トランジスタＴＱ１０のゲートへマスクビットＭＡＳＫ＜０＞−ＭＡＳＫ＜ｍ＞が与えられ、トランジスタＴＱ１１は、対応のレジスタ５０の出力信号の反転信号をインバータ４２０を介してゲートに受ける。
【０６０５】
組合せ論理演算回路２６においては、２入力ＯＲゲートが選択され、メインアンプの出力信号Ｐ＜４ｉ＞およびＰ＜４ｉ＋１＞の論理和がとられる。従って、対応のマスクビットＭＡＳＫ＜ｉ＞が“１”であり、対応のメインアンプの出力信号Ｐ＜４ｉ＞およびＰ＜４ｉ＋１＞の一方が“１”の時、すなわち、データＡおよびＢが不一致のときには、インバータ４２０の出力信号は、Ｌレベルとなり、マッチ線ＭＬは放電されない。一方、メインアンプの出力信号Ｐ＜４ｉ＞およびＰ＜４ｉ＋１＞両者が“０”の時、すなわち、データＡおよびＢのパターンが一致しているときには、インバータ４２０の出力信号がＨレベルとなり、マッチ線ＭＬは放電される。マスクビットＭＡＳＫ＜ｉ＞が、“０”の時にはトランジスタＴＱ１０が、オフ状態であり、一致判定が、マスクされ、マッチ線ＭＬの電圧レベルに対しては影響を及ぼさない。
【０６０６】
この図８５に示すデータパス２８の他の構成は、図６９に示すデータパスの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０６０７】
図８６は、この一致検索動作時の演算子セルサブアレイブロックＯＡＲ３１−ＯＡＲ０におけるデータの読出部の構成を概略的に示す図である。図８６においては、サーチデータＤＩＮＡ＜ｌ：０＞が８ビットデータＤＩＮＡ＜７：０＞の場合、選択されて使用される８個の演算子セルサブアレイブロックＯＡＲ３１、ＯＡＲ３０、…、ＯＡＲＡ２４を示す。この８ビットサーチデータＤＩＮＡ＜７：０＞の各ビットが演算子セルサブアレイブロックＯＡＲ３１、ＯＡＲ３０、…、ＯＡＲＡ２４それぞれに分配される。
【０６０８】
また、メインアンプ回路に含まれるメインアンプＭＡとして、データビットＰ＜０＞およびＰ＜１＞を生成するメインアンプを示す。これらのメインアンプＭＡは、各々、基準電圧ＶＲＥＦと対応のグローバル読出データ線ＲＧＬ（ＲＧＬ＜０＞、ＲＧＬ＜１＞、…）の電位を比較する。この図８６に示すメインアンプＭＡの構成では、メインアンプＭＡにおいては、補のグローバル読出データ線ＺＲＧＬは利用されないため、図８６においては示していない。グローバル読出データ線ＲＧＬ（およびＺＲＧＬ）は、放電トランジスタ５７０により、プリチャージ指示信号ＰＲＥに従って接地電圧レベルに放電される。
【０６０９】
各演算子セルサブアレイブロックＯＡＲ３１−ＯＡＲ２４におけるセンスアンプ回路５６０は、図８４に示すセンスアンプＳＡおよびトランジスタ５５０，５５２を含む。次に、図８６に示すデータ読出部の動作について説明する。
【０６１０】
サーチ動作前においては、予め、演算子セルサブアレイブロックＯＡＲ３１−ＯＡＲ０においては、サーチ対象データパターンが格納される。１ビットのサーチ対象データＢの相補データビット（ＤＩＮＢおよび／ＤＩＮＢ）が、ユニット演算子セルＵＯＥＡおよびＵＯＥＢにそれぞれ格納される。１つのサーチ対象データパターンは、演算子セルサブアレイブロックＯＡＲ３１−ＯＡＲ２４の同一位置（同一行かつ同一列）のユニット演算子セル対により形成される。
【０６１１】
サーチ動作時においては、グローバル書込データ線ＷＷＬＡ＜ｉ＞を選択状態へ駆動し、サーチデータＤＩＮＡ＜７：０＞のビット幅に応じて、８個の演算子セルサブアレイＯＡＲ３１−ＯＡＲ２４がブロック選択信号ＢＳ３１−ＢＳ２４により選択される。選択演算子セルサブアレイＯＡＲ３１−ＯＡＲ２４の選択行（ローカルワード線ＷＷＬＡおよびｓＷＷＬＡにより選択される）に対して、データ線ドライブ回路５３４により、データビットＤＩＮＡ＜０＞−ＤＩＮＡ＜７＞，／ＤＩＮＡ＜７＞をそれぞれ伝達し、対応の第２のローカルサブワード線により選択されたユニット演算子セルに伝達されたデータが書込まれる。サーチデータの書込後に、演算子セルサブアレイブロックＯＡＲ３１、…ＯＡＲ２４において、読出ワード線ＲＷＬＡおよびＲＷＬＢにより、同一行のユニット演算子セルＵＯＥＡおよびＵＯＥＢが、並行して選択状態へ駆動され、選択行のユニット演算子セルの記憶データの読出が行われる。
【０６１２】
読出ポート選択回路（３６）によりＢポートが選択される。ユニット演算子セルＵＯＥＡには、データＡが書込まれてデータＡおよび／Ｂが読出され、ユニット演算子セルＵＯＥＢには、データ／Ａが書込まれ、データＡおよびＢが読出される。このユニット演算子セルＵＯＥＡおよびＵＯＥＢに対する書込および読出アクセスにより、対応のセンスアンプから、ＡＮＤ演算結果データＡ・／Ｂおよび／Ａ・Ｂが出力される（図においては示していないが、ダミーセルがこれまでの実施の形態と同様に設けられており、ダミーセルの電流を参照電流としてセンスアンプ回路によりセンス動作が行われる）。
【０６１３】
これらの演算子セルサブアレイブロックＯＡＲ３１−ＯＡＲ２４に対する読出ゲートＣＳＧ３１−ＣＳＧ２４に対し、読出ゲート選択信号ＣＳＬ♯３１−ＣＳＬ♯２４をすべて選択状態へ駆動する。
【０６１４】
データＡおよびＢが不一致の場合には、データＡ・／Ｂおよび／Ａ・Ｂのいずれかが”１”となり、対応のセンスアンプＳＡの出力信号／ＳＯＵＴがＬレベルとなり、ユニット演算子セルＵＯＥＡおよびＵＯＥＢのいずれかに対応して配置されるセンスアンプ回路５６０から（図８４のトランジスタ５５０を介して）、電流（ｉ♯３１−ｉ♯２４）が対応のグローバル読出データ線ＲＧＬ上に伝達される。グローバル読出データ線ＲＧＬは、接地電圧レベルにプリチャージされており、不一致の演算子セルアレイサブブロックにおけるセンスアンプ回路５６０により、対応のグローバル読出データ線ＲＧＬ＜ｊ＞の電位が接地電圧レベルから上昇する。
【０６１５】
メインアンプＭＡにおいて、対応のグローバル読出データ線ＲＧＬ＜ｊ＞の電圧レベルが、基準電圧ＶＲＥＦよりも高くなると、対応の出力ビットＰ＜ｊ＞をＨレベルへ駆動する。応じて、図８５に示すＯＲゲートＯＧ０の出力信号ＱがＨレベルとなるため、インバータ４２０の出力信号がＬレベルとなり、マッチ線ＭＬは、プリチャージトランジスタＰＱ０によりプリチャージされた電圧レベルに維持される。
【０６１６】
一方、データＡおよびＢが一致している場合には、データＡ・／Ｂおよび／Ａ・Ｂはともに“０”となるため、ユニット演算子セルＵＯＥＡおよびＵＯＥＢに対応して配置されるセンスアンプ回路５６０からは、対応のグローバル読出データ線ＲＧＬ＜ｊ＞およびＲＧＬ＜ｊ＋１＞への電流の供給は行われないため、グローバル読出データ線ＲＧＬ＜ｊ＞は接地電圧レベルに維持される。従って、メインアンプＭＡの出力信号がＬレベルとなり、ＯＲゲートＯＧ０の出力信号もＬレベルとなり、応じて、インバータ４２０の出力信号がＨレベルとなる。この状態においては、マスクビットＭＳＫ＜ｋ＞（ｊ＝０−ｍ）がＨレベル（“１”）のときには、プリチャージトランジスタＰＱ０によりプリチャージされたマッチ線ＭＬが、放電される。
【０６１７】
マスクビットＭＡＳＫ＜ｊ＞が、“０”のときには、マッチ線ＭＬの放電は行なわれず、プリチャージ電圧レベルを維持する。
【０６１８】
上述のように、読出データ線対ＲＧＬ＜ｊ＞およびＲＧＬ＜ｊ＋１＞に対応して配置されるユニット演算子セルＵＯＥＡおよびＵＯＥＢに記憶されるデータパターンが、入力サーチデータＤＩＮＡ＜７：０＞のパターンと一致している場合には、マッチ線ＭＬの放電が行なわれ、不一致の場合にマッチ線ＭＬの放電が行なわれない。従って、演算子セルサブアレイブロックＯＡＲ３１−ＯＡＲ２４において、読出ワード線ＲＷＬＡおよびＲＷＬＢに接続されるユニット演算子セルの記憶データパターンについて並行して判定することができる。
【０６１９】
すなわち、各演算子セルサブアレイブロックあたり１行のユニット演算子セルの記憶データビットについて、一致／不一致判定が並行して行なわれ、１つでも一致するデータパターンが存在する場合には、マッチ線ＭＬが放電され、サーチ対象データパターン全てと不一致の場合には、マッチ線ＭＬは、プリチャージ電圧レベルを維持する。従って、複数のサーチ対象データパターンについてのサーチ動作を、１サイクルで実行することができる。このサーチ結果が、図８５に示す増幅回路ＡＭＰにより増幅されて、サーチ結果が、フラグレジスタ（５４０）に格納される。
【０６２０】
図８７は、この発明の実施の形態９に従う半導体信号処理装置の検索動作を模式的に示す図である。図８７においては、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲｋがサーチデータのビット幅に応じて利用される。演算子セルサブアレイブロックＯＡＲ０−Ｏ
ＡＲｋの各行には、それぞれ、サーチ対象データが、各ビットごとに配置される。この配置において、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲｋにおいて同一行および同一列上に、１つのサーチ対象データの各ビットが配置される。たとえば、サーチ対象データＤＩＮＢ♯１＜ｋ：０＞については、対応のビットａ１１、ｂ１１、…、ｈ１１が、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲｋの第１行第１列に配置される。
【０６２１】
１ビットのデータに対して２つのユニット演算子セルＵＯＥＡおよびＵＯＥＢが利用され、これらのユニット演算子セルＵＯＥＡおよびＵＯＥＢに相補データビットが格納される。図８７に示すグローバル読出データ線ＲＧＬ１−ＲＧＬｍの各々は、従って、図８６に示す２つのグローバル読出データ線ＲＧＬ＜ｊ＞およびＲＧＬ＜ｊ＋１＞の対に対応する。
【０６２２】
サーチ時においては、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲｋのうちサーチデータＤＩＮＡのビット幅に応じてブロック選択信号により演算子セルサブアレイが選択され、選択された演算子セルサブアレイ各々において１行のユニット演算子セルが選択され、複数のサーチ対象データパターンに対してサーチが行われる。
【０６２３】
図８７においては、サーチデータとして、ｌサイクルにわたって順次データＤＩＮＡ♯１−ＤＩＮＡ♯ｌが与えられる場合を想定してサーチ対象データ格納される場合を一例として示す。複数のサーチ対象データの同一ビット位置のデータが、１つの演算子セルサブアレイブロックに格納される。例えば、サーチデータＤＩＮＡ♯１−ＤＩＮＡ♯ｌを想定して、これらのサーチデータの最下位ビットＤＩＮＡ♯１＜０＞ーＤＩＮＡ♯ｌ＜０＞が、演算子セルサブアレイＯＡＲ０の各行に格納される。第１のサーチサイクルにおいては、サーチデータの最下位ビットＤＩＮＡ♯１＜０＞が、演算子セルサブアレイＯＡＲ０の第一行のデータビット列｛ａ１１，ａ１２，…，ａ１ｍ｝の各ビットと比較される。次の第２サーチサイクルにおいては、サーチデータの最下位ビットＤＩＮＡ♯２＜１＞が、演算子セルサブアレイＯＡＲ０の第２行のデータビット列｛ａ２１，ａ２２，…，ａ２ｍ｝の各ビットとの一致比較が行われる。
【０６２４】
各サーチサイクルにおいて転送されるサーチデータＤＩＮＡのビット幅は、可変である。ビット幅に応じて演算子セルサブアレイを選択することにより、選択された演算子セルサブアレイの同じグローバル読出線に対応して配置されるデータビット列、例えば｛ａ１１，ｂ１１，…｝が入力サーチデータＤＩＮＡに対するサーチ対象データとして選択されて一致検索が行われる。
【０６２５】
図８８は、この発明の実施の形態９に従う半導体信号処理装置のサーチ動作を示すフロー図である。以下、図８８を参照して図８７に示すサーチ対象データパターンに対するサーチ動作について説明する。
【０６２６】
予め、ユニット演算子セルには、それぞれサーチ対象データビットがそれぞれ格納されている。先ず、サーチ動作指示が与えられる（ステップＳＰ５０）。このサーチ動作指示は、コマンドであっても良く、また、データ通信時のデータパケットのヘッダの解析結果により生成されても良い。以下の説明においては、サーチデータは、これに限定されるものではないが、一例として、通信ネットワークにおいて転送されるパケットに含まれるアクセスの許可／拒否を識別するために利用されるデータパターンとして説明する。
【０６２７】
このサーチ動作指示に従って、先ず、アドレス（ワード線アドレス）およびフラグレジスタ等の初期化が行われる（ステップＳＰ５１）。データパスおよび組合せ論理演算回路の経路設定も行われ、また、メモリセルアレイにおいて選択ポートがＢポートに設定される。
【０６２８】
サーチ動作が開始されると、ヘッダの解析により第１サイクルでのサーチデータのビット幅（ｗ１＋１）が識別され、このビット幅（ｗ１＋１）を示すビット幅情報ｗとともに最初のサーチデータ列ＤＩＮＡ♯１＜ｗ１：０＞が転送される。ここで、（ｗ１＋１）は、第１サーチサイクルにおけるビット幅であり、ビット幅情報ｗが示すビット幅は、各サーチサイクルにおいて可変である。図８７に示す構成においては、サーチデータのビット幅情報ｗが示すビット幅は、１から（ｋ＋１）のいずれかである。サーチデータのビット幅に応じて、（ｗ１＋１）個の演算子セルサブアレイを選択するようにブロック選択信号が設定される。
【０６２９】
選択された演算子セルサブアレイブロックＯＡＲ０−ＯＡＲｗ１において、書込ワード線ＷＷＬＡおよびＳＷＷＬＡを選択状態へ駆動し、サーチデータ列ＤＩＮＡ♯１＜ｗ１：０＞の各ビットから相補ビットを生成して、対応の演算子セルサブアレイブロックの選択行のユニット演算子セル（ＵＯＥＡおよびＵＯＥＢ）に転送し、データの書込および読出を行う（ステップＳＰ５２）。これにより、各演算子セルサブアレイブロックＯＡＲ０−ＯＡＲｗ１の同一位置（第１行）のユニット演算子セルが並行して選択されてデータの書込および読出が行われる。
【０６３０】
各センスアンプ回路の出力信号に従って、グローバル読出データ線ＲＧＬ１−ＲＧＬｍそれぞれに、（ｗ１＋１）ビットのデータパターン＜ａ１１、ｂ１１，…＞、＜ａ１２，ｂ１２，…＞、…、＜ａ１ｍ，ｂ１ｍ，…＞に対する入力サーチデータ列ＤＩＮＡ♯１＜ｗ１：０＞のパターン一致判定結果に応じて、電流が選択的に流れ、グローバル読出データ線ＲＧＬ１−ＲＧＬｍの電圧レベルが基準電圧よりも上昇する（不一致のとき）かまたはプリチャージされた接地電圧レベルに維持される（一致のとき）。
【０６３１】
これらのグローバル読出データ線ＲＧＬ１−ＲＧＬｍのいずれかがプリチャージ電圧レベルのＬレベルのときには、いずれかのサーチ対象データパターンが入力サーチデータ列ＤＩＮＡ♯１＜ｘ：０＞のパターンと一致している。この場合には、ＯＲゲートＯＧ０、レジスタ５０およびインバータ４２０により、マッチ線ＭＬは、電源電圧レベルのプリチャージ電圧から放電される。このマッチ線ＭＬ上の電圧を増幅する増幅回路ＡＭＰの出力する例えばＬレベルのフラグＳＲＳＬＴにより、サーチデータ列ＤＩＮＡ♯１＜ｗ１：０＞に一致するデータパターンが、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲｗ１において格納されていることが示される。
【０６３２】
一方、グローバル読出データ線ＲＧＬ１−ＲＧＬｍが全て基準電圧レベル以上の電圧レベルの時には、サーチ対象データパターンは、全て、入力サーチデータ列ＤＩＮＡ♯１＜ｗ１：０＞と不一致であり、この場合には、ＯＲゲートＯＧ０の出力信号がＨレベルとなり、応じてインバータ４２０の出力信号がＬレベルとなり、マッチ線はプリチャージ電圧の電源電圧レベルを維持する。増幅回路ＡＭＰの出力フラグＳＲＳＬＴは、一致時と異なる例えばＨレベルであり、不一致であることが示される。
【０６３３】
マスクビットＭＡＳＫ＜ｊ＞が“０”のときには、対応のサーチ対象データパターンについては、サーチ動作を停止させ、サーチ候補から除外する。このマスクビットＭＡＳＫ＜ｍ：０＞により、サーチ対象候補のパターン、すなわち、サーチ範囲を設定することができる。
【０６３４】
このサイクルにおいて一致が検出された場合には、増幅回路ＡＭＰからのサーチ結果フラグＳＲＳＬＴに従って、フラグレジスタ５４０に一致フラグがセットされる（ステップＳＰ５３）。
【０６３５】
ついで、最終のサーチデータの検索が完了したかの判定が行なわれ（ステップＳＰ５４）、全サーチデータの検索が完了していない場合には、ワード線アドレスを更新して（ステップＳＰ５５）、ステップＳＰ５２からの動作を繰り返す。まだ、最終のサーチが完了していないため、次のクロックサイクルで、別のサーチデータ列ＤＩＮＡ♯２＜ｗ２：０＞がビット幅情報ｗとともに転送されると、選択された（ｗ２＋１）個の演算子セルサブアレイにおいて次の行の書込ワード線ＷＷＬＡおよび読出ワード線ＲＷＬＡおよびＲＷＬＢを選択し、（ｗ２＋１）ビットのサーチ対象データパターン｛ａ２１，ｂ２１…}、…、{ａ２ｍ，…}に対するパターン検索が実行される。
【０６３６】
この動作を繰返し実行し、各サーチサイクルごとにマッチ線ＭＬが一致を示す状態のときには、図８２に示すフラグレジスタ５４０に一致フラグがセットされる。この場合、各サーチサイクルごとに一致が示されるとき、フラグレジスタ５４０の異なる、各サーチサイクルに割当てられたレジスタに一致フラグがセットされる。
【０６３７】
ステップＳＰ５４において、全入力サーチデータについてのサーチが完了したと判定されると、すなわち、例えば、第ｌサーチサイクルでのサーチデータパターン｛ａｌ１，ｂｌ１…}、…、{ａｌｍ，ｂｌｍ，…}に対するパターン検索が完了したと判定されると、フラグレジスタ５４０の一致フラグの状態についての判定が行なわれる（ステップＳＰ５６）。フラグレジスタ（５４０）の各サーチサイクルに割当てられた一致フラグがすべてセットされた状態（たとえば、“１”）であり、全入力サーチデータ列について、一致検出が示されると、転送されたサーチデータ列ＤＩＮＡ♯１＜ｗ１：０＞−ＤＩＮＡｌ＜ｗｌ：０＞が、すべて、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲｋに格納されるサーチ対象データパターンと一致したことが示される。この一致／不一致検出結果に従って、この半導体信号処理装置が適用されるシステムに応じて必要な処置が取られる（ステップＳＰ５７、ＳＰ５８）。
【０６３８】
この場合、たとえばＮＩＤＳ（ネットワークベース侵入検知システム（Network Intrusion Detection System））において、アクセスが禁止されるデータ列が転送されたかを識別することができる。
【０６３９】
なお、上述の説明においては、この検索対象のデータパターン列のビット幅は、各サーチサイクル毎に変更可能であるとしている。しかしながら、このサーチデータＤＩＮＡは、ビット幅が固定された一定ビット幅のデータであっても良い。この場合のビット幅は、適用される用途に応じて適宜に定められればよい。また、図８２に示す制御回路６００の構成としては、図８８に示す動作フローチャートを実現するように、ステートマシーンまたはシーケンスコントローラまたはハードウェアで構成されればよい。
【０６４０】
以上のように、この発明の実施の形態９に従えば、演算子セブアレイブロックにサーチデータの各ビットを分散して配置し、同一のサーチ対象データについてのサーチ結果を共通のグローバル読出データ線に結合し、このグローバルデータ線上の電位に従って与えられたサーチデータとサーチ対象データのパターンの一致／不一致を判定している。これにより、高速で、サーチ動作を行なうことができる。
【０６４１】
［実施の形態１０］
図８９は、この発明の実施の形態１０に従う半導体信号処理装置の全体の構成を概略的に示す図である。この図８９に示す半導体信号処理装置の構成は、以下の点で図４に示す実施の形態１に従う半導体信号処理装置とその構成が異なる。すなわち、メインアンプ回路２４とデータパス２８との間に配置される組合せ論理回路２６の組合せ論理機能は利用されない。単にそのバッファ（ＢＦＦ）が利用されるだけであり、図８９においては、この組合せ論理回路（２６）は示していない。この図８９に示す半導体信号処理装置の他の構成は、図４に示す半導体信号処理装置の構成と同じであり、対応する部分には同一参照符号を付して、その詳細説明は、省略する。
【０６４２】
ユニット演算子セルＵＯＥの構成としては、図１から３に示すユニット演算子セルの構成が用いられる。従って、ここでは、ユニット演算子セルＵＯＥの構成については示さないが、ユニット演算子セルＵＯＥは、２個のＰャネルＳＯＩトランジスタＰＱ１およびＰＱ２と、２個のＮチャネルＳＯＩトランジスタＮＱ１およびＮＱ２を含み、それらのボディ領域が記憶ノードとして利用される。
【０６４３】
制御回路３０が、コマンドＣＭＤおよびアドレスＡＤＤに従って、指定された演算および演算子セルサブアレイに対して所定の制御動作を実行する。このアドレスＡＤＤは、演算子セルサブアレイブロックを指定するブロックアドレスおよびユニット演算子セルを指定する行アドレスＡＤを含む。
【０６４４】
図９０は、この発明の実施の形態１０に従う半導体信号処理装置の演算子セルサブアレイブロックの構成を概略的に示す図である。図９０においては、ユニット演算子セル行＜ｉ＞に属するユニット演算子セルＵＯＥＩ０およびＵＯＥＩ１、ユニット演算子セル行＜ｊ＞に属するユニット演算子セルＵＯＥＪ０およびＵＯＥＪ１、ならびにユニット演算子セル行＜ｋ＞に属するユニット演算子セルＵＯＥＫ０およびＵＯＥＫ１に関連する部分の構成を代表的に示す。
【０６４５】
図９０において、ユニット演算子セルＵＯＥＩ０およびＵＯＥＩ１に対しては、読出ワード線ＲＷＬＡｉ、読出ワード線ＲＷＬＢｉおよび書込ワード線ＷＷＬｉが配設され、ユニット演算子セルＵＯＥＪ０およびＵＯＥＪ１に対しては、読出ワード線ＲＷＬＡｊ、読出ワード線ＲＷＬＢｊおよび書込ワード線ＷＷＬｊが設けられる。ユニット演算子セルＵＯＥＫ０およびＵＯＥＫ１に対しては、読出ワード線ＲＷＬＡｋ、読出ワード線ＲＷＬＢｋおよび書込ワード線ＷＷＬｋが設けられる。
【０６４６】
ユニット演算子セルＵＯＥＩ０、ＵＯＥＪ０およびＵＯＥＫ０すなわちユニット演算子セル列＜０＞に対し、ビット線ＲＢＬＡ０およびＲＢＬＢ０とグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０が設けられる。このグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０は、ユニット演算子セルＵＯＥＩ０、ＵＯＥＪ０およびＵＯＥＫ０の各々の書込ポートＷＰＲＴＡおよびＷＰＲＴＢにそれぞれ結合される。このユニット演算子セルＵＯＥＩ０、ＵＯＥＪ０およびＵＯＥＫ０の各々の読出ポートＲＰＲＴＡおよびＲＰＲＴＢは、ビット線ＲＢＬＡ０およびＲＢＬＢ０にそれぞれ結合される。
【０６４７】
ダミーセルＤＭＣ０およびＤＭＣ１が、それぞれユニット演算子セル列に対応して配置される。これらのダミーセルＤＭＣ０およびＤＭＣ１の構成は、図６に示す実施の形態１の構成と同じであり、対応する部分には、同一参照符号を付してその詳細は省略する。
【０６４８】
これらのダミーセルＤＭＣ０およびＤＭＣ１に対して基準電圧を伝達するために、スイッチＤＭＳＷ１が、設けられる。スイッチＤＭＳＷ１は、演算ノードに応じて基準電圧源ＶＲＥＦ１からの基準電圧ＶＲＥＦ１（電源と供給電圧とを同一参照符号で示す）と、基準電圧源ＶＲＥＦ２からの基準電圧ＶＲＥＦ２の一方を、ダミーセルＤＭＣ０およびＤＭＣ１に供給する。
【０６４９】
基準電圧源ＶＲＥＦ１は、ユニット演算子セルＵＯＥＩ０に含まれるＳＯＩトランジスタＮＱ１およびＮＱ２が高しきい値電圧および低しきい値電圧時にそれぞれ供給する電流量の間の電流を供給する。基準電圧ＶＲＥＦ１は、たとえば電源電圧ＶＣＣの１／２未満に設定される。基準電圧ＶＲＥＦ２は、ユニット演算子セルの直列トランジスタＮＱ１およびＮＱ２の一方が、高しきい値電圧時にビット線に供給される電流よりも大きな電流を供給し、かつこれらの直列トランジスタＮＱ１およびＮＱ２がともに低しきい値電圧時にビット線に供給する電流よりも小さな電流を供給する電圧レベルに設定される。
【０６５０】
読出ポート選択回路３６は、ユニット演算子セル行に対応して設けられる複数のスイッチ回路ＰＲＳＷＣを含む。例えば、ビット線ＲＢＬＡ０およびＲＢＬＢ０に対し、スイッチ回路ＰＲＳＷＣ０が設けられる。スイッチ回路ＰＲＳＷＣ０は、スイッチＰＲＳＷＡおよびＰＲＳＷＢを含む。スイッチＰＲＳＷＡは、ポート選択信号ＰＲＭＸに従って、ビット線ＲＢＬＡ０およびＲＢＬＢ０の一方を、センスビット線ＲＢＬ０に接続する。ダミーセルが接続する補のビット線ＺＲＢＬ０は、センスアンプＳＡ０に結合される。
【０６５１】
また、スイッチＰＲＳＷＢは、ポート選択信号ＰＲＭＸに従って、選択的にビット線ＲＢＬＢ０と共通ソース線ＳＬＣとを接続する。これにより、後に説明するように、ユニット演算子セルＵＯＥにおけるＳＯＩトランジスタＮＱ１の記憶データ、ＳＯＩトランジスタＮＱ２の記憶データならびにＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データ同士の論理演算結果を選択的に読み出すことが可能となる。
【０６５２】
ユニット演算子セルＵＯＥＩ１、ＵＯＥＪ１およびＵＯＥＫ１すなわちユニット演算子セル列＜１＞に対しても、ダミーセルＤＭＣ１およびスイッチ回路ＰＲＳＷＣ１が設けられ、同様の接続制御が行われる。
【０６５３】
なお、ポート選択信号ＰＲＭＸは多ビット信号であり、ビット線対ごとに、その接続を設定することができる。
【０６５４】
センスアンプ帯３８の構成は、図６に示す実施の形態１の場合と同じであり、対応する部分には、同一参照符号を付して、その詳細説明は省略する。
【０６５５】
行ドライブ回路ＸＤＲは、１または複数行のユニット演算子セル行を並行して選択状態に駆動する。また、行ドライブ回路ＸＤＲは、並行して選択される１または複数行のユニット演算子セル行に対応する複数のダミーセルＤＭＣを並行して選択状態に駆動する。選択された１または複数のダミーセルＤＭＣは、ダミーセル選択信号ＤＣＬＡおよびＤＣＬＢのいずれが選択されるかに従って２種類の参照電流のいずれかを、対応の補のビット線ＺＲＢＬに供給する。したがって、メモリセルアレイＭＬＡにおいて、１または複数のエントリに対応する複数のユニット演算子セルＵＯＥの記憶データの並列読出が行なわれ、また並列書込が実行される。
【０６５６】
図９１は、ユニット演算子セルにおける２つのＮチャネルＳＯＩトランジスタが選択された場合のセンスアンプに対するトランジスタの接続態様を概略的に示す図である。この図９１に示すセンスアンプＳＡに対するユニット演算子セルの接続態様は、図１０に示すセンスアンプＳＡに対するＳＯＩトランジスタＮＱ１、ＮＱ２、ＤＴＢ０およびＤＴＢ１の接続態様と同じである。基準電圧ＶＲＥＦとして、基準電圧ＶＲＥＦ１が、スイッチ回路ＤＭＳＷ１により選択される。ポート選択回路３６においてスイッチ回路ＰＲＳＷＣ（ＰＲＳＷＣ０、ＰＲＳＷＣ１）は、Ｂポートビット線ＲＢＬＢとセンスビット線ＲＢＬとを結合する。他の構成は、図１０に示す構成と同じであり、対応する部分には同一参照符号を付してその詳細説明は省略する。
【０６５７】
データ読出時の動作波形は、図１１に示す動作波形と同じであり、ＳＯＩトランジスタＮＱ１およびＮＱ２の状態に応じて、ビット線ＲＢＬおよびＺＲＢＬを流れる電流量が異なり、センスアンプＳＡの出力信号が異なる。この動作は、図１１に示す実施の形態１の場合と同じである。なお、以下の説明においても、ＳＯＩトランジスタＮＱ１およびＮＱ２が、しきい値電圧の高い状態をデータ“０”を記憶する状態に対応付け、しきい値電圧の低い状態をデータ“１”を記憶する状態に対応付ける。
【０６５８】
図９２は、図９１に示すユニット演算子セルおよびダミーセルの接続態様における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。図９２に示すように、ＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データの組合せとして、４つの状態が存在する。状態Ｓ（０，０）は、ＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データが、ともにデータ”０”である。状態Ｓ（１，０）は、ＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データが、それぞれデータ”１”およびデータ”０”である。状態Ｓ（０，１）は、ＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データが、それぞれデータ”０”およびデータ”１”である。状態Ｓ（１，１）は、ＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データが、ともにデータ”１”である。
【０６５９】
図９３は、データ読出時におけるビット線ＲＢＬおよびＺＲＢＬを流れる電流に応じた読出電位の関係を示す図である。図９３において、縦軸にビット線ＲＢＬおよびＺＲＢＬの電位を示し、横軸に時間を示す。
【０６６０】
スイッチ回路ＤＭＳＷは、基準電圧ＶＲＥＦ１を選択する。この基準電圧ＶＲＥＦ１は、ソース線ＳＬに供給される電圧（電源電圧ＶＣＣレベル）とビット線プリチャージ電圧ＶＰＣとの間の電圧レベルを有する。
【０６６１】
ソース線ＳＬ上の電圧はたとえば電源電圧ＶＣＣレベルであり、ダミーセルＤＭＣに供給される基準電圧ＶＲＥＦ１よりも高い電圧レベルである。
【０６６２】
ＳＯＩトランジスタＮＱ１およびＮＱ２の少なくともいずれか一方がデータ“０”を格納している場合（状態Ｓ（１，０）、状態Ｓ（０，１）および状態Ｓ（０，０））、少なくとも１つのＳＯＩトランジスタのしきい値電圧が高いため、ダミーセルＤＭＣを通して流れる電流量よりも、ユニット演算子セルを介して流れる電流量は少ない。
【０６６３】
一方、ＳＯＩトランジスタＮＱ１およびＮＱ２がデータ“１”を格納している場合（状態Ｓ（１，１））、両方のＳＯＩトランジスタＮＱ１およびＮＱ２のしきい値電圧が低いため、ダミーセルＤＭＣを通して流れる電流量よりも、ユニット演算子セルを介してビット線に供給される電流量は多い。
【０６６４】
この状態で、センスアンプ活性化信号／ＳＯＰおよびＳＯＮを論理ローレベル（Ｌレベル）および論理ハイレベル（Ｈレベル）に設定し、センスアンプＳＡを活性化する。ビット線ＲＢＬおよびＺＲＢＬに読出されたデータ(電位または電流量)が、センスアンプＳＡにより差動増幅される。
【０６６５】
この後、図９０に示す読出ゲートＣＳＧを読出ゲート選択信号ＣＳＬにより選択して、対応のメインアンプＭＡにセンスアンプＳＡの出力信号を伝達する。
【０６６６】
従って、図９２に示すように、実施の形態１と同様、状態Ｓ（１，１）すなわちＳＯＩトランジスタＮＱ１およびＮＱ２がともにデータ“１”を格納しているときのみ、ユニット演算子セルＵＯＥは、センスアンプの出力信号ＳＯＵＴは、“１”となる。一方、状態Ｓ（１，０）、Ｓ（０，１）およびＳ（０，０）すなわちＳＯＩトランジスタＮＱ１およびＮＱ２の少なくとも１つがデータ“１”を格納している場合には、センスアンプＳＡの出力信号ＳＯＵＴは、“０”となる。したがって、このセンスアンプＳＡの出力信号ＳＯＵＴは、ＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データのＡＮＤ演算結果を表わしている。また、センスアンプＳＡの出力信号ＳＯＵＴを反転させれば、ユニット演算子セルの２つの記憶データのＮＡＮＤ演算結果が得られる。
【０６６７】
図９４は、センスアンプに対するＳＯＩトランジスタの別の接続態様を概略的に示す図である。図９４において、ソース線ＳＬとビット線ＲＢＬとの間に、ＳＯＩトランジスタＮＱ１が１つ接続される。一方、ダミーセルＤＭＣにおいても、ダミーセル選択信号ＤＣＬＡが活性化されて、基準電圧源ＶＲＥＦと補のビット線ＺＲＢＬとの間に、ダミートランジスタＤＴＡが接続される。
【０６６８】
この場合、図９０において、スイッチ回路ＰＲＳＷＣ０は、ビット線ＲＢＬＡ０とビット線ＲＢＬ０とを結合する。また、行ドライブ回路ＸＤＲは、読出ワード線ＲＷＬＡおよびダミートランジスタ選択線ＤＣＬＡを選択状態へ駆動する。
【０６６９】
図９５、図９４に示すユニット演算子セルおよびダミーセルの接続態様における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。基準電圧として、基準電圧ＶＲＥＦ１が選択される。
【０６７０】
図９５において、ＳＯＩトランジスタＮＱ１がデータ“０”を記憶している場合には（状態Ｓ（０））、ダミートランジスタＤＴＡから補のビット線ＺＲＢＬへ流れる電流量が、ＳＯＩトランジスタＮＱ１を介してソース線ＳＬから読出ポートＲＰＲＴＡを介してビット線ＲＢＬへ流れる電流量よりも大きくなる。したがって、この場合、センスアンプＳＡの出力信号ＳＯＵＴは、論理ローレベル（“０”）である。一方、ＳＯＩトランジスタＮＱ１がデータ“１”を格納している場合には（状態Ｓ（１））、ダミートランジスタＤＴＡを介して流れる電流量よりも、ＳＯＩトランジスタＮＱ１から読出ポートＲＰＲＴＡを介してビット線ＲＢＬへ流れる電流量が大きくなる。したがって、この場合、センスアンプＳＡの出力信号ＳＯＵＴは論理ハイレベル（“１”）となる。
【０６７１】
したがって、センスアンプＳＡの出力信号は、ＳＯＩトランジスタＮＱ１の記憶データと同じ論理値のデータとなる。センスアンプＳＡの出力信号を反転させるまたはＳＯＩトランジスタＮＱ１に書込データの反転値を記憶させて読出すと、書込データのＮＯＴ演算結果を、センスアンプＳＡの出力として得ることができる。
【０６７２】
図９６は、ユニット演算子セルにおける１つのＳＯＩトランジスタが選択された場合のセンスアンプに対するトランジスタの接続態様を概略的に示す図である。図９６において、ＳＯＩトランジスタＮＱ２の選択時には、ソース線ＳＬＥＸとビット線ＲＢＬとの間に、ＳＯＩトランジスタＮＱ２が１つ接続される。一方、ダミーセルＤＭＣにおいても、ダミーセル選択信号ＤＣＬＡがが活性化されて、基準電圧源ＶＲＥＦと補のビット線ＺＲＢＬとの間に、ダミートランジスタＤＴＡが接続される。図９０に示すスイッチ回路ＰＲＳＷＣ（たとえばＰＲＳＷＣ０）は、ビット線ＲＢＬＡ（たとえばビット線ＲＢＬＡ０）とセンスビット線ＲＢＬ（例えばＲＢＬ０）とを結合し、かつビット線ＲＢＬＢ０と共通ソース線ＳＬＣとを結合する。また、行ドライブ回路ＸＤＲは、読出ワード線ＲＷＬＡおよびダミートランジスタ選択線ＤＣＬＡを選択状態へ駆動する。
【０６７３】
図９７は、図９６に示すユニット演算子セルおよびダミーセルの接続態様における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。スイッチ回路ＤＭＳＷにより、基準電圧ＶＲＥＦとして基準電圧ＶＲＥＦ１が選択される。共通ソース線ＳＬＣの電圧は、電源電電圧ＶＣＣレベルである。
【０６７４】
従って、図９４に示すＳＯＩトランジスタＮＱ１の選択時と同様の態様で、センスアンプＳＡに電流が供給されるため、ＳＯＩトランジスタＮＱ２がデータ“０”を記憶している状態Ｓ（０）のときには、センスアンプＳＡの出力信号は、論理ローレベル（“０”）である。一方、ＳＯＩトランジスタＮＱ２がデータ“１”を格納している状態Ｓ（１）のときには、センスアンプＳＡの出力信号は論理ハイレベル（“１”）となる。
【０６７５】
したがって、この接続態様においても、センスアンプＳＡの出力信号は、ＳＯＩトランジスタＮＱ２の記憶データと同じ論理値のデータとなる。センスアンプＳＡの出力信号を反転させるまたはＳＯＩトランジスタＮＱ２に書込データの反転値を記憶させて読出すと、書込データのＮＯＴ演算結果を、センスアンプＳＡの出力に得ることができる。従って、この図９４および図９６に示すＳＯＩトランジスタ選択態様においては、ユニット演算子セルのＳＯＩトランジスタＮＱ１およびＮＱ２の記憶データを読出すことができ、ユニット演算子セルを記憶素子として利用することができる。
【０６７６】
次に、半導体信号処理装置１０１において、２つのユニット演算子セル行＜ｉ＞および＜ｊ＞を選択した場合における読み出し動作について説明する。
【０６７７】
図９８は、ユニット演算子セル行＜ｉ＞および＜ｊ＞のユニット演算子セルＵＯＥｉおよびＵＯＥｊ選択時のＳＯＩトランジスタとセンスアンプとの接続態様を概略的に示す図である。これらのユニット演算子セルＵＯＥＩおよびＵＯＥＪは、同一列のセルでありビット線ＲＢＬを介してセンスアンプＳＡに結合される。
【０６７８】
ユニット演算子セルＵＯＥＩにおいては、読出ワード線ＲＷＬｉによりＳＯＩトランジスタＮＱ１が選択されポートＲＰＲＴＡを介してセンスビット線ＲＢＬに結合される。ユニット演算子セルＵＯＥＪにおいては、読出ワード線ＲＷＬＢｊによりＳＯＩトランジスタＮＱ２が選択される。対応のスイッチ回路ＰＲＳＷＣのスイッチＰＲＳＷＢにより共通ソース線ＳＬＣがビット線ＲＢＬＢに結合される。このＳＯＩトランジスタＮＱ２は、ポートＲＰＲＴＡを介してセンスアンプＳＡに結合される。すなわち、センスビット線ＲＢＬに、並列にＳＯＩトランジスタＮＱ１およびＮＱ２が結合される。
【０６７９】
ダミーセルＤＭＣについては、ダミートランジスタＤＴＡが選択されるかまたは直列ダミートランジスタＤＴＢ０およびＤＴＢ１が、演算モードに応じて選択される。図９８においては、ダミーセルＤＭＣにおいてダミートランジスタＤＴＡが選択された状態を一例として示す。
【０６８０】
図９９は、図９８に示すＳＯＩトランジスタ選択態様における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。ユニット演算子セル行＜ｉ＞および＜ｊ＞上の同一ユニット演算子セル列に配置される２つのユニット演算子セルＵＯＥＩおよびＵＯＥＪにおいて１つのＳＯＩトランジスタが選択される。すなわち、図９８に一例として示すように、ユニット演算子セル行＜ｉ＞上のユニット演算子セルＵＯＥＩのＮチャネルＳＯＩトランジスタＮＱ１（以下、ＮチャネルＳＯＩトランジスタＮＱ１（ＵＯＥＩ）とも称する。）とユニット演算子セル行＜ｊ＞上のユニット演算子セルＵＯＥＪのＮチャネルＳＯＩトランジスタＮＱ２（以下、ＮチャネルＳＯＩトランジスタＮＱ２（ＵＯＥＪ）とも称する。）とが、選択される。これらの選択されたＳＯＩトランジスタＮＱ１およびＮＱ２は、同一ユニット演算子セル列に属しており、センスビット線ＲＢＬを介してセンスアンプＳＡに結合される。
【０６８１】
図９９に示すように、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）の記憶データの組合せとしては、４つの状態が存在する。状態Ｓ（０，０）は、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）の記憶データが、ともにデータ”０”である。状態Ｓ（１，０）は、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）の記憶データが、それぞれデータ”１”およびデータ”０”である。状態Ｓ（０，１）は、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）の記憶データが、それぞれデータ”０”およびデータ”１”である。状態Ｓ（１，１）は、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）の記憶データが、ともにデータ”１”である。
【０６８２】
なお、データ書込時においては、ユニット演算子セル行＜ｉ＞に対応する複数のユニット演算子セルＵＯＥＩとユニット演算子セル行＜ｊ＞に対応する複数のユニット演算子セルＵＯＥＪとを個々に選択し、選択された複数のユニット演算子セルＵＯＥにおけるＳＯＩトランジスタＮＱ１およびＮＱ２のしきい値電圧を設定する。すなわち、書込時には、書込ワード線ＷＷＬ＜ｉ＞およびＷＷＬ＜ｊ＞を順次選択し、図示しない書込ドライバを用いて、各グローバル書込データ線対ＷＧＬＰへ書込データに応じた電圧を印加する。
【０６８３】
データ読出時において、ユニット演算子セル行＜ｉ＞に対応する複数のユニット演算子セルＵＯＥＩおよびユニット演算子セル行＜ｊ＞に対応する複数のユニット演算子セルＵＯＥＪを並行して選択し、選択された複数のユニット演算子セルＵＯＥにおけるＳＯＩトランジスタＮＱを並行して各ビット線ＲＢＬに結合する。したがって、読出時においては、同一ビット線ＲＢＬに結合された各ＳＯＩトランジスタＮＱを通して流れる電流の合成電流が各ビット線ＲＢＬを通して流れる。
【０６８４】
例えば、奇数行の読出ワード線についてはＡポート読出ワード線ＲＷＬＡを選択し、偶数行についてはＢポート読出ワード線ＲＷＬＢを選択状態に駆動する。
【０６８５】
また、これに代えて、ユニット演算子セルＵＯＥＩおよびＵＯＥＪにおいてＳＯＩトランジスタＮＱ１が、選択されても良い。２つのユニット演算子セルにおいて１つのＳＯＩトランジスタを選択して並列にセンスアンプに結合されれば良い。
【０６８６】
また、各ユニット演算子セル列のダミーセルＤＭＣにおいて、ダミートランジスタＤＴＡと直列ダミートランジスタＤＴＢ０およびＤＴＢ１とは、データ読出時、いずれか一方が選択される。すなわち、ダミーセル選択信号ＤＣＬＡおよびＤＣＬＢのいずれかが選択状態へ駆動される。また、基準電圧ＶＲＥＦ１およびＶＲＥＦ２のいずれかを選択することにより、ダミーセルＤＭＣを流れる電流量を調整する。ここでは、まず、図９８に示すように、ダミーセル選択信号ＤＣＬＡが選択状態へ駆動されてダミートランジスタＤＴＡが選択され、また、基準電圧源ＶＲＥＦ１にダミートランジスタＤＴＡが結合される場合について説明する。
【０６８７】
図１００は、図９８に示す接続配置におけるデータ読出時においてビット線ＲＢＬおよびＺＲＢＬを流れる電流に応じた読出電位の関係を示す図である。図１００において、縦軸にビット線ＲＢＬおよびＺＲＢＬの電位を示し、横軸に時間を示す。
【０６８８】
図１００において、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）が状態Ｓ（０，０）のときには、ＳＯＩトランジスタＮＱ１およびＮＱ２のしきい値電圧がともに高いため、読出ビット線ＲＢＬを介して流れる電流量は最も少ない。
【０６８９】
一方、状態Ｓ（１，１）においては、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）の両方のしきい値電圧が低いため、センスビット線ＲＢＬを介してユニット演算子セルＵＯＥＩおよびＵＯＥＪからセンスアンプＳＡに供給される電流量は最も多い。
【０６９０】
状態Ｓ（１，０）およびＳ（０，１）は、低しきい値電圧と高しきい値電圧との組合せであり、状態Ｓ（０，０）およびＳ（１，１）のビット線電流の中間の電流が流れる。したがって、状態Ｓ（１，０）およびＳ（０，１）の場合、ビット線の読出電位は、状態Ｓ（０，０）およびＳ（１，１）のビット線読出電位の間となる。
【０６９１】
基準電圧ＶＲＥＦとして基準電圧ＶＲＥＦ１を選択し、この基準電圧ＶＲＥＦ１を電源電圧ＶＣＣの１／２未満の電圧レベルに設定する。この状態においては、ダミートランジスタＤＴＡを通して流れる電流を、状態Ｓ（０，０）のときにビット線ＲＢＬを流れる電流よりも大きくかつ状態Ｓ（０，１）およびＳ（１，０）のときにビット線ＲＢＬを流れる電流よりも小さくすることができる。従って、ダミートランジスタＤＴＡ選択時の補のビット線ＺＲＢＬの電位を、状態Ｓ（０，０）と状態Ｓ（１，０）およびＳ（０，１）との間に設定することができる。この場合のダミートランジスタＤＴＡを通して流れる電流Ｉｄ１については、以下のように表わすことができる。
【０６９２】
Ｉｌ＞Ｉｄ１＞Ｉｈ、
２×Ｉｈ＜Ｉｄ１＜Ｉｈ＋Ｉｌ．
ただし、ＩｈおよびＩｌは、それぞれ、高しきい値状態および低しきい値状態のＳＯＩトランジスタＮＱを流れる電流を示す。
【０６９３】
次に、図９８に示す接続配置において、基準電圧ＶＲＥＦとして基準電圧ＶＲＥＦ２が選択された場合の動作について説明する。
【０６９４】
基準電圧ＶＲＥＦ２は、基準電圧ＶＲＥＦ１よりも所定値だけ高い電圧レベルである。この状態においては、２つのＳＯＩトランジスタＮＱ１およびＮＱ２のしきい値電圧が低いときの読出ビット線ＲＢＬを流れる電流よりも小さく、かつ１つのＳＯＩトランジスタＮＱのしきい値電圧が低いユニット演算子セルＵＯＥを通して流れる電流よりも大きな電流を、補のビット線ＺＲＢＬに流すことができる。従って、ダミートランジスタＤＴＡ選択時の補のビット線ＺＲＢＬの電位を、状態Ｓ（１，０）およびＳ（０，１）と状態Ｓ（１，１）との間に設定することができる。この場合のダミートランジスタＤＴＡを介して流れる電流Ｉｄ２については、以下のように表わすことができる。
【０６９５】
Ｉｌ＜Ｉｄ２、
２×Ｉｌ＞Ｉｄ２＞Ｉｈ＋Ｉｌ．
センスアンプＳＡによりビット線ＲＢＬおよびＺＲＢＬの電位または電流を差動増幅して、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データの読出を行なう。この場合、センスアンプＳＡにおいては、ダミーセルＤＭＣの電位またはダミーセルＤＭＣを通して流れる電流を基準値として用いて、ビット線電位またはビット線電流の２値判断を行なう。従って、センスアンプＳＡの出力は、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの各々の１ビットの記憶データの組合せを、基準電あるＶＲＥＦの電圧レベルに応じて２分類したうちのいずれか一方を示している。従って、センスアンプＳＡにより、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データに対する論理演算を行なうことができる。
【０６９６】
図９９に示すように、状態Ｓ（０，０）においては、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）がともに高しきい値状態であり、データ“０”を記憶している。この状態においては、基準電圧ＶＲＥＦ１およびＶＲＥＦ２のいずれを選択しても、図１００に示すように、ビット線ＲＢＬの電流は補のビット線ＺＲＢＬの電流よりも小さく、ビット線ＲＢＬの電位は補のビット線ＺＲＢＬよりも低いため、センスアンプの出力信号は“０”となる。
【０６９７】
状態Ｓ（１，０）および状態Ｓ（０，１）の場合、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）の一方が高しきい値状態であり、他方が低しきい値状態である。したがって、基準電圧ＶＲＥＦ１を選択した場合には、ビット線ＲＢＬの電流は補のビット線ＺＲＢＬの電流よりも大きく、ビット線ＲＢＬの電位が補のビット線ＺＲＢＬよりも高くなるため、センスアンプの出力信号は“１”となる。基準電圧ＶＲＥＦ２を選択した場合には、ビット線ＲＢＬの電流は補のビット線ＺＲＢＬの電流よりも小さく、ビット線ＲＢＬの電位が補のビット線ＺＲＢＬよりも低くなるため、センスアンプの出力信号は“０”となる。
【０６９８】
状態Ｓ（１，１）の場合、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）およびＮＱ２（ＵＯＥＪ）はともに低しきい値電圧状態であり、データ“１”を記憶している。この場合、基準電圧ＶＲＥＦ１およびＶＲＥＦ２のいずれを選択しても、図１００に示すように、ビット線ＲＢＬの電流は補のビット線ＺＲＢＬの電流よりも大きく、ビット線ＲＢＬの電位は、補のビット線ＺＲＢＬよりも高くなるため、センスアンプの出力信号は“１”となる。
【０６９９】
したがって、図９９に示すように、基準電圧ＶＲＥＦ１を選択した場合、センスアンプからは、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データのＯＲ演算結果が出力される。一方、基準電圧ＶＲＥＦ２を選択した場合、センスアンプからは、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データのＡＮＤ演算結果が出力される。
【０７００】
なお、センスアンプとしては、電圧検出型センスアンプと比べてセンス動作が高速な電流検出型センスアンプを利用することが好ましい。このセンスアンプＳＡとしては、後に説明するように、図９０に示す交差結合型ラッチセンスアンプに代えて、カレントミラー型センスアンプが利用され、ビット線電流により高速でセンス動作を実行する。
【０７０１】
［変更例１］
図１０１は、この発明の実施の形態１０の変更例のユニット演算子セルの選択態様とセンスアンプの出力との対応を示す図である。この図１０１においては、３つのユニット演算子セル行＜ｉ＞、＜ｊ＞および＜ｋ＞が並行して選択される。
【０７０２】
ユニット演算子セル行＜ｉ＞、＜ｊ＞および＜ｋ＞かつ同一ユニット演算子セル列に属する３つのユニット演算子セルにおいて１つのＳＯＩトランジスタがそれぞれ選択される。
【０７０３】
図１０１においては、ＮチャネルＳＯＩトランジスタＮＱ１（ＵＯＥＩ）と、ＮチャネルＳＯＩトランジスタＮＱ１（ＵＯＥＪ）と、ＮチャネルＳＯＩトランジスタＮＱ１（ＵＯＥＫ）とが選択する場合を示す。これらのＳＯＩトランジスタは、同一ユニット演算子セル列に属している。従って、センスビット線ＲＢＬに対して並列にこれらの４つのＳＯＩトランジスタＮＱ１が接続される。
【０７０４】
図１０１に示すように、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）の記憶データの組合せとして、８つの状態が存在する。上述した説明と同様に、状態Ｓ（Ａ，Ｂ，Ｃ）の表記において、ＡはＳＯＩトランジスタＮＱ１（ＵＯＥＩ）のしきい値電圧状態を表し、ＢはＳＯＩトランジスタＮＱ１（ＵＯＥＪ）のしきい値電圧状態を表し、ＣはＳＯＩトランジスタＮＱ１（ＵＯＥＫ）のしきい値電圧状態を表す。たとえば、状態Ｓ（０，０，０）においては、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）の記憶データが、ともにデータ”０”である。状態Ｓ（１，１，１）においては、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）が、ともにデータ”１”である。
【０７０５】
なお、データ書込時においては、ユニット演算子セル行＜ｉ＞に対応する複数のユニット演算子セルＵＯＥＩとユニット演算子セル行＜ｊ＞に対応する複数のユニット演算子セルＵＯＥＪとユニット演算子セル行＜ｋ＞に対応する複数のユニット演算子セルＵＯＥＫとを個々に選択し、選択された複数のユニット演算子セルＵＯＥにおけるＳＯＩトランジスタＮＱ１（およびＮＱ２）のしきい値電圧を設定する。すなわち、書込時には、書込ワード線ＷＷＬ＜ｉ＞、ＷＷＬ＜ｊ＞およびＷＷＬ＜ｋ＞を順次選択し、図示しない書込ドライバを用いて、各グローバル書込データ線対ＷＧＬＰへ書込データに応じた電圧を印加する。
【０７０６】
データ読出時において、ユニット演算子セル行＜ｉ＞に対応する複数のユニット演算子セルＵＯＥＩ、ユニット演算子セル行＜ｊ＞に対応する複数のユニット演算子セルＵＯＥＪおよびユニット演算子セル行＜ｋ＞に対応する複数のユニット演算子セルＵＯＥＫを並行して選択し、選択された複数のユニット演算子セルＵＯＥにおけるＳＯＩトランジスタＮＱ１を並行して対応のセンスビット線ＲＢＬに結合する。したがって、読出時においては、同一ビット線ＲＢＬに結合された各ＳＯＩトランジスタＮＱ１を通して流れる電流の合成電流が各ビット線ＲＢＬを通して流れる。
【０７０７】
読出ワード線ＲＷＬｉ、ＲＷＬｊおよびＲＷＬｋを並行して選択状態に駆動する構成としては、一例として、以下の構成を利用することができる。すなわち、読出ワード線ドライバの出力部にラッチ回路を設ける。読出ワード線アドレスを例えばカウンタを利用して生成し、読出ワード線活性化信号ＲＷＬＥＮの活性化期間中に、３本の読出ワード線を順次指定する。読出ワード線活性化信号ＲＷＬＥＮが非活性化されると、読出ワード線ドライバの出力部のラッチ回路をリセットして、選択状態の読出ワード線を非選択状態に駆動する。これにより、複雑な回路構成を利用することなく、任意のアドレスから出発して３本の読出ワード線を並行して選択状態に設定することができる。
【０７０８】
また、各ユニット演算子セル列のダミーセルＤＭＣにおいて、ダミートランジスタＤＴＡとダミートランジスタＤＴＢ０およびＤＴＢ１とは、データ読出時、いずれか一方が選択される。すなわち、ダミーセル選択信号ＤＣＬＡおよびＤＣＬＢのいずれかが選択される。また、基準電圧ＶＲＥＦ１およびＶＲＥＦ２のいずれかを選択することにより、ダミーセルＤＭＣを流れる電流量を調整する。ここでは、まず、ダミートランジスタ選択線ＤＣＬＡが選択状態へ駆動されてダミートランジスタＤＴＡが選択され、また、基準電圧ＶＲＥＦとして基準電圧ＶＲＥＦ１が選択される場合について説明する。
【０７０９】
図１０２は、データ読出時におけるビット線ＲＢＬおよびＺＲＢＬを流れる電流に応じた読出電位の関係を示す図である。図１０２において、縦軸にビット線ＲＢＬおよびＺＲＢＬの電位を示し、横軸に時間を示す。
【０７１０】
図１０２に示すように、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）が状態Ｓ（０，０，０）のときには、各ＳＯＩトランジスタのしきい値電圧が高いため、センスビット線ＲＢＬを介して流れる電流量は最も少ない。
【０７１１】
一方、状態Ｓ（１，１，１）においては、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）のしきい値電圧がいずれも低いため、センスビット線ＲＢＬを介して流れる電流量は最も多い。
【０７１２】
状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）は、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）のうちの２つのしきい値電圧が高く、他の１つのしきい値電圧が低い。これらの状態では、状態Ｓ（０，０，０）およびＳ（１，１，１）のビット線電流の間の電流が流れる。したがって、状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）では、ビット線の読出電位は、状態Ｓ（０，０，０）およびＳ（１，１，１）の間となる。
【０７１３】
また、状態Ｓ（１，１，０）、Ｓ（１，０，１）およびＳ（０，１，１）は、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）のうちの２つのしきい値が低く、他の１つのしきい値が高い。これらの状態では、状態Ｓ（０，０，０）およびＳ（１，１，１）のビット線電流の間の電流が流れ、かつ状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）と比べてビット線電流が大きくなる。したがって、状態Ｓ（１，１，０）、Ｓ（１，０，１）およびＳ（０，１，１）では、ビット線の読出電位は、状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）と状態Ｓ（１，１，１）の間となる。
【０７１４】
基準電圧ＶＲＥＦとして基準電圧ＶＲＥＦ１を選択し、この基準電圧ＶＲＥＦ１を電源電圧ＶＣＣの１／２未満の電圧レベルに設定する。この状態においては、ダミートランジスタＤＴＡを介して流れる電流を、状態Ｓ（０，０，０）のときにビット線ＲＢＬを流れる電流よりも大きくかつ状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）のときにビット線ＲＢＬを流れる電流よりも小さくすることができる。従って、ダミートランジスタＤＴＡ選択時の補のビット線ＺＲＢＬの電位を、状態Ｓ（０，０，０）と状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）との間に設定することができる。この場合のダミートランジスタＤＴＡを通して流れる電流Ｉｄ１については、以下のように表わすことができる。
【０７１５】
Ｉｌ＞Ｉｄ１＞Ｉｈ、
３×Ｉｈ＜Ｉｄ１＜２×Ｉｈ＋Ｉｌ
ただし、ＩｈおよびＩｌは、それぞれ、高しきい値状態および低しきい値状態のＳＯＩトランジスタＮＱを流れる電流を示す。
【０７１６】
ダミーセル選択信号ＤＣＬＡが選択状態へ駆動されてダミートランジスタＤＴＡが選択された状態で、基準電圧ＶＲＥＦとして基準電圧源ＶＲＥＦ２を選択した場合、図１０１のセンスアンプの出力信号は、ＶＲＥＦ２の欄に示される状態となる。
【０７１７】
基準電圧ＶＲＥＦ２は、基準電圧ＶＲＥＦ１より所定値だけ高い。この基準電圧ＶＲＥＦ２により、ユニット演算子セルＵＯＥにおいて１つのＳＯＩトランジスタＮＱが選択されかつそのしきい値電圧が低い場合にこのユニット演算子セルＵＯＥを介して流れる電流よりも大きな電流を、補のビット線ＺＲＢＬに流すことができる。従って、ダミートランジスタＤＴＡ選択時の補のビット線ＺＲＢＬの電位を、状態Ｓ（１，１，０）、Ｓ（１，０，１）およびＳ（０，１，１）と状態Ｓ（１，１，１）との間のレベルに設定することができる。この場合のダミートランジスタＤＴＡを通して流れる電流Ｉｄ２については、以下のように表わすことができる。
【０７１８】
Ｉｌ＜Ｉｄ２、
３×Ｉｌ＞Ｉｄ２＞Ｉｈ＋２×Ｉｌ．
センスアンプＳＡによりビット線ＲＢＬおよびＺＲＢＬの電位または電流を差動増幅してユニット演算子セルＵＯＥＩ、ＵＯＥＪおよびＵＯＥＫの記憶データの読出を行なう。この場合、センスアンプＳＡにおいては、ダミーセルＤＭＣの電位またはダミーセルＤＭＣを通して流れる電流を基準値として用いて、ビット線電位またはビット線電流の２値判断を行なっている。従って、センスアンプＳＡの出力は、ユニット演算子セルＵＯＥＩ、ＵＯＥＪおよびＵＯＥＫの各々の１ビットの記憶データの組合せを、基準電圧ＶＲＥＦのレベルに従って２分類したうちのいずれか一方を示している。これにより、センスアンプＳＡにより、３つのユニット演算子セルＵＯＥＩ、ＵＯＥＪおよびＵＯＥＫの記憶データに対する論理演算を行なうことができる。
【０７１９】
図１０１に示すように、状態Ｓ（０，０，０）においては、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）がともに高しきい値状態であり、データ“０”を記憶している。この状態においては、基準電圧ＶＲＥＦ１およびＶＲＥＦ２のいずれを選択しても、図１０２に示すように、ビット線ＲＢＬの電流は補のビット線ＺＲＢＬの電流よりも小さく、ビット線ＲＢＬの電位は補のビット線ＺＲＢＬよりも低いため、センスアンプの出力信号は“０”となる。
【０７２０】
状態Ｓ（１，０，０）、Ｓ（０，１，０）、Ｓ（０，０，１）、Ｓ（１，１，０）、Ｓ（１，０，１）およびＳ（０，１，１）では、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）のうちの少なくともいずれか１つが低しきい値状態である。したがって、基準電圧ＶＲＥＦ１を選択した場合には、ビット線ＲＢＬの電流は補のビット線ＺＲＢＬの電流よりも大きく、ビット線ＲＢＬの電位が補のビット線ＺＲＢＬよりも高くなる。このとき、センスアンプの出力信号は“１”となる。また、基準電圧ＶＲＥＦ２を選択した場合には、ビット線ＲＢＬの電流は補のビット線ＺＲＢＬの電流よりも小さく、ビット線ＲＢＬの電位が補のビット線ＺＲＢＬよりも低くなる。このとき、センスアンプの出力信号は“０”となる。
【０７２１】
状態Ｓ（１，１，１）の場合、ＳＯＩトランジスタＮＱ１（ＵＯＥＩ）、ＮＱ１（ＵＯＥＪ）およびＮＱ１（ＵＯＥＫ）はともに低しきい値電圧状態であり、データ“１”を記憶している。この場合、基準電圧ＶＲＥＦ１およびＶＲＥＦ２のいずれを選択しても、図１９に示すように、ビット線ＲＢＬの電流は補のビット線ＺＲＢＬの電流よりも大きく、ビット線ＲＢＬの電位は、補のビット線ＺＲＢＬよりも高くなるため、センスアンプの出力信号は“１”となる。
【０７２２】
したがって、図１０１に示すように、基準電圧ＶＲＥＦ１を選択した場合、センスアンプからは、ユニット演算子セルＵＯＥＩ、ＵＯＥＪおよびＵＯＥＫの記憶データのＯＲ演算結果が出力され、また、基準電圧ＶＲＥＦ２を選択した場合、センスアンプからは、ユニット演算子セルＵＯＥＩ、ＵＯＥＪおよびＵＯＥＫの記憶データのＡＮＤ演算結果が出力される。
【０７２３】
［センスアンプの変更例］
図１０３は、この発明の実施の形態１０に係るセンスアンプＳＡの変更例の電流検出型センスアンプの構成の一例を示す図である。図１０３において、センスアンプＳＡは、カレントミラー段を構成するＰチャネルＭＯＳトランジスタ（絶縁ゲート型電界効果トランジスタ）ＰＰ１−ＰＰ３と、別のカレントミラー段を構成するＰチャネルＭＯＳトランジスタＰＰ４−ＰＰ６と、読出ビット線ＲＢＬから供給されるセル電流Ｉｃｅｌｌのミラー電流を生成するＮチャネルＭＯＳトランジスタＮＮ１およびＮＮ８と、補の読出ビット線ＺＲＢＬに供給されるダミーセル電流Ｉｄｕｍｍｙのミラー電流を生成するＮチャネルＭＯＳトランジスタＮＮ６およびＮＮ９とを含む。
【０７２４】
これらのＭＯＳトランジスタＰＰ１−ＰＰ６およびＮチャネルＭＯＳトランジスタＮＮ１−ＮＮ９は、ＳＯＩトランジスタで構成される。しかしながら演算子セルアレイ周辺部において、バルクトランジスタで構成されても良い。
【０７２５】
ＭＯＳトランジスタＮＮ８は、ゲートおよびドレインが相互接続され、読出ビット線ＲＢＬを介して供給されるセル電流Ｉｃｅｌｌを電圧に変換する。ＭＯＳトランジスタＮＮ１は、ソースが接地ノードに接続され、ゲートがＭＯＳトランジスタン８のゲートおよびドレインに接続され、ＭＯＳトランジスタＮＮ８とカレントミラー段を構成し、センスアンプ動作時、セル電流Ｉｃｅｌｌのミラー電流をＭＯＳトランジスタＰＰ１から引き抜く。ＭＯＳトランジスタＰＰ１は、ノードＮＤ１とＭＯＳトランジスタＮＮ１との間に接続される。
【０７２６】
ＭＯＳトランジスタＰＰ１は、そのゲートおよびドレインが相互接続され、カレントミラー段のマスタとして動作し、センス動作時、セル電流Ｉｃｅｌｌのミラー電流を流す。
【０７２７】
ＭＯＳトランジスタＮＮ９は、ゲートおよびドレインが相互接続され、補の読出ビット線ＺＲＢＬを介して供給されるダミーセル電流Ｉｄｕｍｍｙを電圧に変換する。ＭＯＳトランジスタＮＮ６は、ゲートがＭＯＳトランジスタＮＮ９のゲートおよびドレインに接続され、ＭＯＳトランジスタＮＮ９とカレントミラー段を構成し、センス動作時、ダミーセル電流Ｉｄｕｍｍｙのミラー電流を流す。
【０７２８】
ＭＯＳトランジスタＰＰ６およびＮＮ６は、ノードＮＤ１と接地ノードの間に直列に接続される。ＭＯＳトランジスタＰＰ６は、ゲートおよびドレインが相互接続され、カレントミラー段のマスタとして動作し、センス動作時、ダミーセル電流Ｉｄｕｍｍｙのミラー電流を流す。ＭＯＳトランジスタＰＰ２−ＰＰ５は、それぞれのソースノードが電源ノードに結合される。
【０７２９】
センスアンプＳＡは、さらに、カレントミラー段を構成するＮチャネルＭＯＳトランジスタＮＮ２およびＮＮ３と、別のカレントミラー段を構成するＮチャネルＭＯＳトランジスタＮＮ４およびＮＮ５を含む。
【０７３０】
ＭＯＳトランジスタＮＮ２は、ＭＯＳトランジスタＰＰ２とノードＮＤとの間に接続され、そのゲートおよびドレインが相互接続される。ＭＯＳトランジスタＮＮ３は、ＭＯＳトランジスタＰＰ４とノードＮＤ２との間に接続され、そのゲートがＭＯＳトランジスタＮＮ２のゲートに接続される。ＭＯＳトランジスタＮＮ４は、ＭＯＳトランジスタＰＰ３とノードＮＤ２との間に接続され、そのゲートがＭＯＳトランジスタＮＮ５のゲートに接続される。ＭＯＳトランジスタＮＮ５は、ＭＯＳトランジスタＰＰ５とノードＮＤ２との間に接続され、かつそのゲートおよびドレインが相互接続される。
【０７３１】
ＭＯＳトランジスタＮＮ２およびＮＮ５により電流／電圧変換された信号が中間センス信号ＳＯＴおよび／ＳＯＴとして生成される。
【０７３２】
センスアンプＳＡは、さらに、センスアンプ活性化信号／ＳＥの活性化時導通し、ノードＮＤ１を電源ノードに接続するＰチャネルＭＯＳトランジスタＰＰ７と、センスアンプ活性化信号ＳＥの活性化時導通し、ノードＮＤ２を接地ノードＧＮＤに結合するＮチャネルＭＯＳトランジスタＮＮ７を含む。センスアンプ活性化信号／ＳＥおよびＳＥは、それぞれ、活性化時、ＬレベルおよびＨレベルに設定される。
【０７３３】
センスアンプＳＡは、さらに、ＭＯＳトランジスタＮＮ２およびＮＮ５により電流／電圧変換された中間センス出力信号ＳＯＴおよび／ＳＯＴを増幅して最終センス出力信号ＳＯＵＴおよび／ＳＯＵＴを生成する最終増幅回路ＳＭＰを含む。この最終増幅回路ＳＭＰは、センスアンプ活性化信号／ＳＥの非活性化時、出力ハイインピーダンス状態である。次に。この図１０３に示すセンスアンプＳＡの動作について説明する。
【０７３４】
センスアンプ活性化信号／ＳＥおよびＳＥの非活性化時、ＭＯＳトランジスタＰＰ７およびＮＮ７は、オフ状態である。この状態においては、ＭＯＳトランジスタＰＰ２およびＰＰ５により、中間センス出力信号ＳＯＴおよび／ＳＯＴは、電源電圧ＶＣＣレベルに維持される。ノードＮＤ１は、ＭＯＳトランジスタＰＰ１、ＮＮ１、ＰＰ６およびＮＮ１により、接地電圧レベルに維持される。また、最終センス出力信号ＳＯＵＴおよび／ＳＯＵＴも出力ハイインピーダンス状態のプリチャージレベル（例えばＨレベル）に維持される。
【０７３５】
センス動作時には、先ず、読出ワード線選択前に、センスアンプ活性化信号／ＳＥを活性化し、ＭＯＳトランジスタＰＰ７およびＮＮ７をオン状態とする。応じて、ノードＮＤ１が電源ノードに結合され、ＭＯＳトランジスタＰＰ１およびＰＰ６が動作し、ビット線ＲＢＬおよびＺＲＢＬの電流検出可能状態に設定される。この場合、センスアンプ活性化信号ＳＥは、並行して活性化されてもよい。また、センス動作開始時までセンスアンプ活性化信号ＳＥの活性化が遅延されても良い。読出ワード線ＲＷＬは、まだ、非選択状態であり、ビット線ＲＢＬおよびＺＲＢＬは、ビット線イコライズ回路（ＢＬＥＱ）により所定電圧レベルにプリチャージされた状態である。
【０７３６】
ビット線プリチャージ動作が完了すると、次いで、読出ワード線を選択状態へ駆動する。このときまでには、センスアンプ活性化信号ＳＥが活性化される。応じて、選択ユニット演算子セルを介してビット線ＲＢＬを介して、その記憶データに応じたセル電流Ｉｃｅｌｌが供給される。一方、補のビット線ＺＲＢＬにおいても、ダミーセルにより、ダミーセル電流Ｉｄｕｍｍｙが流れる。
【０７３７】
ＭＯＳトランジスタＮＮ１およびＮＮ８によりセル電流Ｉｃｅｌｌのミラー電流が生成され、また、ＭＯＳトランジスタＮＮ６およびＮＮ９によりダミーセル電流Ｉｄｕｍｍｙのミラー電ｙ流が生成される。ＭＯＳトランジスタＰＰ１およびＰＰ６において、これらの電流ＩｃｅｌｌおよびＩｄｕｍｍｙのミラー電流が流れる。ＭＯＳトランジスタＰＰ１を介して流れる電流のミラー電流が、ＭＯＳトランジスタＰＰ２およびＰＰ３を介して流れ、ＭＯＳトランジスタＰＰ６を介して流れる電流のミラー電流がＭＯＳトランジスタＰＰ４およびＰＰ５を介して流れる。従って、これらのビット線ＲＢＬおよびＺＲＢＬを介してそれぞれ流れるセル電流Ｉｃｅｌｌおよびダミーセル電流Ｉｄｕｍｍｙのミラー電流が、ＭＯＳトランジスタＮＮ２およびＮＮ５を介してそれぞれ流れる。
【０７３８】
ＭＯＳトランジスタＮＮ２およびＮＮ５の電流／電圧変換動作により、セル電流Ｉｃｅｌｌがダミーセル電流Ｉｄｕｍｍｙよりも大きい場合には、中間センス出力信号／ＳＯＴが、中間センス出力信号ＳＯＴよりも高い電圧レベルとなる。逆に、セル電流Ｉｃｅｌｌがダミーセル電流Ｉｄｕｍｍｙよりも小さい場合には、中間センス出力信号／ＳＯＴが、中間センス出力信号ＳＯＴよりも低い電圧レベルとなる。これらの中間センス出力信号ＳＯＴおよび／ＳＯＴは，次段の最終増幅回路ＳＭＰによりさらに増幅され、電源電圧レベルおよび接地電圧レベルの最終センス出力信号ＳＯＵＴおよび／ＳＯＵＴが、生成される。
【０７３９】
なお、ＭＯＳトランジスタＮＮ３およびＮＮ４については、以下の動作が行なわれる。すなわち、ＭＯＳトランジスタＮＮ２は、ＭＯＳトランジスタＰＰ２からの電流を放電し、ＭＯＳトランジスタＮＮ３は、ＭＯＳトランジスタＮＮ２のミラー電流を放電することができる。同様、ＭＯＳトランジスタＰＰ５を流れる電流のミラー電流が、ＭＯＳトランジスタＮＮ５を介して流れ、ＭＯＳトランジスタＮＮ４は、ＭＯＳトランジスタＮＮ５を介して流れる電流のミラー電流を放電することができる。
【０７４０】
したがって、ＭＯＳトランジスタＰＰ３およびＮＮ４には、セル電流Ｉｃｅｌｌとダミーセル電流Ｉｄｕｍｍｙのうちの小さいほうの電流が流れ、ＭＯＳトランジスタＰＰ４およびＮＮ３においても、ダミーセル電流Ｉｄｕｍｍｙとセル電流Ｉｃｅｌｌの小さいほうの電流が流れる。ＭＯＳトランジスタＮＮ７へは、セル電流Ｉｃｅｌｌとダミーセル電流Ｉｄｕｍｍｙの合計電流とこれらの電流の小さいほうの電流の２倍の電流との和が常時流れる。従って、１ビットセルデータを読出して２値判定を行なう場合には、センス動作の安定化のために、これらのＭＯＳトランジスタＰＰ３、ＰＰ４、ＮＮ３、およびＮＮ４は、ＭＯＳトランジスタＮＮ７を介して流れる電流量を一定とする機能を有する。
【０７４１】
しかしながら、これらのＭＯＳトランジスタＰＰ３、ＮＮ４、ＮＮ３、およびＮＮ４は、特に設けられなくてもよい。また、これに代えて、ＭＯＳトランジスタＰＰ３およびＮＮ４の接続ノードおよびＭＯＳトランジスタＰＰ４およびＮＮ３の接続ノードから、センス出力信号ＳＯＵＴおよび／ＳＯＵＴが、それぞれ取り出される構成が用いられてもよい。
【０７４２】
上述のように、センスアンプＳＡが、複数のユニット演算子セルの記憶データに対するＯＲ演算結果およびＡＮＤ演算結果を示す信号を生成している。また、ユニット演算子セルの記憶データの論理値を反転して読み出す場合、ならびにＮＯＲ演算およびＮＡＮＤ演算結果をセンスアンプにより生成する場合には、図１０３に示すセンス出力信号をメインアンプ回路１４またはデータパス２８において反転すればよい。
【０７４３】
基準電圧ＶＲＥＦ１およびＶＲＥＦ２によりダミーセル電流Ｉｄｕｍｍｙの電流レベルを調整することにより、ＯＲ演算およびＡＮＤ演算を選択的に行なうことができる。すなわちスイッチ回路ＤＭＳＷの接続経路を実行する演算内容に応じて設定することにより、これらの論理演算を選択的に実行することができる。電流検出型センスアンプを利用することにより、高速で低電源電圧下においてもデータの読出／演算を実行することができる。
【０７４４】
図１０４は、この発明の実施の形態１０に係る半導体信号処理装置が行なうＬＵＴ演算を示す図である。このＬＵＴ演算は、演算子セルアレイ２０のエントリを指定するアドレスに従って対応のエントリの内容を読出す演算を示す。この読出したエントリの内容に従って次の処理が、実行される。例えば、ＬＵＴ演算は、アドレス変換、または演算結果の別の値への変換、またはある領域の参照などにおいて用いられる。
【０７４５】
図１０４において、演算子セルアレイの各行が、エントリ（Ｅｎｔｒｙ）として利用される。エントリ（Ｅｎｔｒｙ）の末尾の符号ＡおよびＢは、ユニット演算子セルＵＯＥの読出ワード線ＲＷＬＡおよびＲＷＬＢに対応し、エントリ（Ｅｎｔｒｙ）のＡの欄には、ユニット演算子セルの記憶ノードＳＮＡ（ＳＯＩトランジスタＮＱ１のボディ領域）の記憶データの配列が示され、Ｂの欄にはユニット演算子セルの記憶ノードＳＮＢ（ＳＯＩトランジスタＮＱ２）の記憶データの配列が示される。
【０７４６】
図１０４において、エントリ（Ｅｎｔｒｙ）ｉ−Ａすなわちユニット演算子セル行＜ｉ＞における各ユニット演算子セルのＳＯＩトランジスタＮＱ１の記憶データ列が”１０１０１０１０１０１０１”であり、エントリ（Ｅｎｔｒｙ）ｉ−Ｂすなわちユニット演算子セル行＜ｉ＞における各ユニット演算子セルのＳＯＩトランジスタＮＱ２の記憶データ列が”０１０１０１０１０１０１０”である。
【０７４７】
エントリｊ−Ａすなわちユニット演算子セル行＜ｊ＞における各ユニット演算子セルのＳＯＩトランジスタＮＱ１の記憶データ列が、”１１００１１００１１００１”であり、エントリｊ−Ｂすなわちユニット演算子セル行＜ｊ＞における各ユニット演算子セルのＳＯＩトランジスタＮＱ２の記憶データ列が、”００１１００１１００１１０”である。
【０７４８】
エントリｋ−Ａすなわちユニット演算子セル行＜ｋ＞における各ユニット演算子セルのＳＯＩトランジスタＮＱ１の記憶データ列が、”０００１１１０００１１１０”であり、エントリｋ−Ｂすなわちユニット演算子セル行＜ｋ＞における各ユニット演算子セルのＳＯＩトランジスタＮＱ２の記憶データ列が、”１１１０００１１１０００１”である。
【０７４９】
エントリｉ−Ａを１つ選択し、演算処理としてバッファ処理を実行すると、出力データＤＯＵＴは”１０１０１０１０１０１０１”となる（ＯＰ１）。また、エントリｉ−Ａおよびｉ−Ｂを選択し、ＡＮＤ演算を選択する場合、データＤＯＵＴは”０００００００００００００”となる（ＯＰ２）。また、エントリｉ−Ａおよびｊ−Ａを選択し、ＯＲ演算を選択する場合、データＤＯＵＴは”１１１０１１１０１１１０１”となる（ＯＰ３）。
【０７５０】
演算子セルアレイ２０における演算子セルサブアレイブロックＯＡＲの数をｍとし、各演算子セルサブアレイブロックＯＡＲにおけるエントリ数をｎとすると、生成されるデータ列は、ｍ×ｎ×２＋ｍ×ｎ×（ｎ−１）÷２×２＋ｍ×ｎ×（ｎ−１）×（ｎ−２）÷（３×２）×２となる。
【０７５１】
但し、上記式において、第１項は、１つの演算子セルサブアレイブロックＯＡＲにおけるｎエントリから１エントリを選択し、かつＳＯＩトランジスタＮＱ１およびＮＱ２のいずれかを選択する場合の組合せ数である。第２項は、ｎエントリから２エントリを選択し、かつＳＯＩトランジスタＮＱ１およびＮＱ２のいずれかを選択し、エントリ同士のＡＮＤまたはＯＲ演算を行なう場合の組合せ数である。第３項は、ｎエントリから３エントリを選択し、かつＳＯＩトランジスタＮＱ１およびＮＱ２のいずれかを選択し、エントリ同士のＡＮＤまたはＯＲ演算を行なう場合の組合せ数である。
【０７５２】
本発明の実施の形態１０に係る半導体信号処理装置の主な使用例は、以下のようになる。すなわち、演算子セルアレイ２０における各ユニット演算子セルの記憶データは、半導体信号処理装置が組み込まれるシステムに応じて変更されるが、動的には変更されない。このシステムにおいて、半導体信号処理装置の外部から異なるアドレス信号および演算フラグを次々と半導体信号処理装置へ与え、半導体信号処理装置から演算処理結果を得る。アドレス信号によりエントリを指定し、演算フラグにより、実行する演算内容および並行して選択されるエントリおよびＳＯＩトランジスタを指定する。従って、処理結果としては、内部での演算の結果、演算子セルアレイ２０に準備されるエントリ（ユニット演算子セル行）の数よりも、多くの参照結果を生成することができ、等価的にエントリ数を増大させることができ、高密度のＬＵＴを実現することができる。
【０７５３】
以上のように、この発明の実施の形態１０に係る半導体信号処理装置においては、行選択駆動回路２２は、受けたアドレス信号に基づいて１または複数のユニット演算子セル行に対応する複数のユニット演算子セルＵＯＥおよび複数のダミーセルＤＭＣを並行して選択する。センスアンプＳＡは、対応の読出ビット線ＲＢＬを通して流れる電流と対応の補の読出ビット線ＺＲＢＬを通して流れる電流とを比較し、比較結果を示す信号を出力する。これにより、選択されたユニット演算子セル行（エントリ）の記憶データ列をそのまま半導体信号処理装置の外部へ読み出すことができる。また、複数ユニット演算子セル行を並行して選択し、各ユニット演算子セル行の記憶データに基づく電流を加算することにより、各ユニット演算子セル行の記憶データ列同士の論理演算をセンスアンプにおいて行なって、その演算結果を半導体信号処理装置１０１の外部から読み出すこともできる。
【０７５４】
また、上記のように各ユニット演算子セル行の記憶データ列同士の論理演算を行なうことにより、演算子セルアレイ２０が記憶する物理的な真理値データ列から、この真理値データ列で構成される実エントリ空間より遥かに大きい仮想エントリ空間を作り出すことができる。すなわち、従来のＬＵＴ演算器に比べて、はるかに高密度な論理情報を格納するＬＵＴ演算器を実現することができる。したがって、この発明の実施の形態１０に係る半導体信号処理装置により、小占有面積かつ高密度なＬＵＴ演算器を実現することができる。
【０７５５】
また、発明の実施の形態１０に係る半導体信号処理装置においては、ユニット演算子セルＵＯＥにおいて、ＳＯＩ構造のトランジスタを記憶素子として利用している。これにより、ユニット演算子セルの記憶データを破壊することなくその記憶データを読み出すことができるため、ユニット演算子セルの記憶データを繰り返し利用して演算を実行することができる。
【０７５６】
また、ユニット演算子セルは、４つのＳＯＩトランジスタで構成されており、レイアウト面積が低減され、メモリセルアレイの面積の増大を抑制することができる。
【０７５７】
また、この発明の実施の形態１０に係る半導体信号処理装置においては、図１０３に示すように、センスアンプＳＡとして電流検出型のセンスアンプを用いる。すなわち、増幅回路により、電流を検出し、高速で増幅動作を行なって、演算結果データを生成することができる。また、電流量を検出しているため、モバイル機器用途において要求される低電源電圧下においても十分な大きさの電流差を生成してデータの検知増幅を行なうことができる。従って、これまでの実施の形態と同様、低電源電圧下においても確実に、演算処理を実行することができる。
【０７５８】
なお、ユニット演算子セル行＜ｉ＞、ユニット演算子セル行＜ｊ＞およびユニット演算子セル行＜ｋ＞は、演算子セルアレイ２０において隣り合うように設けられていてもよく、また、間に１つ以上のユニット演算子セル行を挟むように設けられていてもよい。
【０７５９】
［実施の形態１１］
図１０５は、この発明の実施の形態１１に係る半導体信号処理装置の全体の構成を概略的に示す図である。この図１０５に示す半導体信号処理装置は、以下の点で、その構成が図８４に示す半導体信号処理装置と異なる。すなわち、図１０５に示す半導体信号処理装置１０２装置においては、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１の各々が、さらに、組合せ論理演算回路６００を含む。組合せ論理演算回路６００は、センスアンプ帯３８に隣接して配置される。
【０７６０】
組合せ論理演算回路６００は、センスアンプ帯３８から転送されたユニット演算子セルの記憶データに対し、指定された論理演算または算術演算処理をさらに実行して、センスアンプ出力であるＯＲ演算結果またはＡＮＤ演算結果から、ＸＯＲ等の別の演算処理結果を生成する。また、組合せ論理演算回路６００は、センスアンプ帯３８におけるセンスアンプの出力信号の論理レベルを反転してメインアンプ回路２４へ出力することもできる。
【０７６１】
この図１０５に示す半導体信号処理装置の他の構成は、図８９に示す半導体信号処理装置と同じであり、対応する部分には、同一参照符号を付して、その詳細説明は省略する。
【０７６２】
図１０６は、図１０５に示す演算子セルサブアレイブロックＯＡＲの構成を概略的に示す図である。図１０５においては、メモリセルアレイＭＬＡに含まれるユニット演算子セル行＜ｉ＞および＜ｊ＞において１つのユニット演算子セル列に対応する回路を代表的に示す。
【０７６３】
メモリセルアレイＭＬＡにおけるユニット演算子セルＵＯＥおよびダミーセルＤＭＣの構成および配置は、図９０に示すセルの配置と同様である。
【０７６４】
図１０６において、センスアンプ帯３８は、センスアンプＳＡ１およびＳＡ２と、トランジスタＳＡＴ１、ＺＳＡＴ１、ＳＡＴ２およびＺＳＡＴ２とを含む。センスアンプ選択ドライバＳＡＤＶ１およびＳＡＤＶ２ならびにサブアレイブロック選択ドライバＭＬＡＳＥＬＤＶは、行ドライブ回路ＸＤＲに含まれる。
【０７６５】
トランジスタＳＡＴ１は、センスアンプ選択ドライバＳＡＤＶ１の出力信号に従って、センスアンプＳＡ１に対してユニット演算子セルおよびダミーセルの記憶データを転送する。トランジスタＳＡＴ２は、センスアンプ選択ドライバＳＡＤＶ２の出力信号に従ってユニット演算子セルおよびダミーセルの記憶データをセンスアンプＳＡ２に転送する。これらのセンスアンプ選択ドライバＳＡＤＶ１およびＳＡＤＶ２は、センスアンプ活性化信号ＳＡＥＮと演算内容を指定する制御信号とに従って選択的に活性化される。
【０７６６】
組合せ論理演算回路６００は、ＡＮＤゲートＧ１と、マルチプレクサＧ２と、バッファＢＵＦ１およびＢＵＦ２と、トランジスタＴＲ１とを含む。
【０７６７】
バッファＢＵＦ１は、信号線ＳＡＬ１を介してセンスアンプＳＡ１から受けた信号をマルチプレクサＧ２へ出力する。バッファＢＵＦ２は、信号線ＺＳＡＬ１を介してセンスアンプＳＡ１から与えられた信号をマルチプレクサＧ２へ出力する。
【０７６８】
マルチプレクサＧ２は、制御回路３０における演算選択ドライバＯＰＳＥＬＤＶから与えられた制御信号に基づいて、ＡＮＤゲートＧ１の出力信号、バッファＢＵＦ１の出力信号およびバッファＢＵＦ２の出力信号のうちのいずれか１つを選択する。トランジスタＴＲ１は、サブアレイブロック選択ドライバＭＬＡＳＥＬＤＶの出力信号に従って選択的に導通し、導通時、マルチプレクサＧ２の出力信号をグローバルビット線ＧＢＬを介してメインアンプ回路２４へ転送する。
【０７６９】
以下、一例として、この発明の実施の形態１１に従う半導体信号処理装置においてユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データの排他的論理和（ＸＯＲ）演算が行なわれる際の動作について説明する。
【０７７０】
まず、スイッチＤＭＳＷ１により基準電圧源ＶＲＥＦ１を選択し、かつダミーセル選択信号ＤＣＬＡを選択する。ダミーセルＤＭＣにおいては、ダミートランジスタＤＴＡによって基準電圧源ＶＲＥＦ１から補のビット線ＺＲＢＬに電流を流す。ユニット演算子セルＵＯＥＩおよびＵＯＥＪ各々において１つのトランジスタ（ＮＱ１）が選択され、これらのユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データに応じた電流の合成電流が読出ビット線ＲＢＬに流れる。
【０７７１】
センスアンプ選択ドライバＳＡＤＶ１を選択して、センスアンプＳＡ１を活性化させる。トランジスタＳＡＴＡ１およびＺＳＡＴ１により、センスアンプＳＡ１は、読出ビット線ＲＢＬおよびＺＲＢＬに結合され、ビット線ＲＢＬを通して流れる電流および補のビット線ＺＲＢＬを介して流れる電流を差動的に増幅し、増幅した信号を保持するとともに信号線ＳＡＬ１およびＺＳＡＬ１へ出力する。
【０７７２】
センスアンプＳＡ１において電流差の増幅および保持が行なわれた後、センスアンプ選択ドライバＳＡＤＶ１を非活性状態に駆動する。この状態においては、センスアンプＳＡ１は、読出ビット線ＲＢＬおよびＺＲＢＬが分離され、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データの論理和（ＯＲ演算）結果を保持する。
【０７７３】
次に、スイッチＤＭＳＷ１の接続経路を切換えて、基準電圧源ＶＲＥＦ２を選択し、かつダミーセル選択信号ＤＣＬＡを選択する。ダミーセルＤＭＣにおいて１つのダミートランジスタＤＴＡが選択され、このダミートランジスタＤＴＡによって基準電圧源ＶＲＥＦ２から補のビット線ＺＲＢＬに対して電流を流す。ユニット演算子セルＵＯＥＩおよびＵＯＥＪにおいては、それぞれ１つのＳＯＩトランジスタが選択されており、読出ビット線ＲＢＬには、これらのユニット演算子セル各々の記憶データに対応する電流の合成電流が、流れる。
【０７７４】
スイッチＤＭＳＷ１の経路切換に応じて、センスアンプ選択ドライバＳＡＤＶ２を選択してトランジスタＳＡＴ２およびＺＳＡＴ２を導通状態として、読出ビット線ＲＢＬおよびＺＲＢＬをセンスアンプＳＡ２に結合する。
【０７７５】
データ読出後、センスアンプＳＡ２を活性化させる。応じて、センスアンプＳＡ２は、ビット線ＲＢＬを通して流れる電流および補のビット線ＺＲＢＬを通して流れる電流の差を増幅し、増幅した信号を保持するとともに信号線ＳＡＬ２およびＺＳＡＬ２へ出力する。
【０７７６】
センスアンプＳＡ２において電流差の増幅および保持が行なわれた後、センスアンプ選択ドライバＳＡＤＶ２をオフする。この状態においては、センスアンプＳＡ２は、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データの論理積（ＡＮＤ演算）結果を保持している。
【０７７７】
ＡＮＤゲートＧ１は、信号線ＳＡＬ１を介して受けた信号と信号線ＺＳＡＬ２を介して受けた信号との論理積を示す信号を出力する。信号線ＳＡＬ１からは、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データの論理和演算結果を示す信号が伝達され、信号線ＺＳＡＬ２からは、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データの論理積演算の反転値、すなわち、ＮＡＮＤ演算結果を示す信号が伝達される。
【０７７８】
次に、サブアレイブロック選択ドライバＭＬＡＳＥＬＤＶを活性化して、トランジスタＴＲ１をオンする。応じて、マルチプレクサＧ２は、演算選択ドライバＯＰＳＥＬＤＶから受けた制御信号に基づいてＡＮＤゲートＧ１の出力信号を選択し、選択した信号をトランジスタＴＲ１およびグローバルビット線ＧＢＬ経由でメインアンプ回路２４へ転送する。メインアンプ回路２４においてさらに増幅された後にデータパスを介して外部に出力される。
【０７７９】
図１０７は、この発明の実施の形態１１に係る半導体信号処理装置におけるセンスアンプＳＡ１およびＳＡ２の出力信号と、ＡＮＤゲートＧ１の出力信号と、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶状態との対応を一覧にして示す図である。
【０７８０】
図１０７において、信号線ＳＡＬ１へはユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データのＯＲ演算結果が出力され、信号線ＺＳＡＬ２へはユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データのＮＡＮＤ演算結果が出力される。従って、ＡＮＤゲートＧ１の出力信号は、ユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶データの排他的論理和（ＸＯＲ演算結果）となる。
【０７８１】
なお、動作制御としては、演算処理としてＸＯＲ演算が指定されたとき、読出ワード線ＲＷＬｉおよびＲＷＬｊを選択状態に維持した状態で、センスアンプ選択ドライバＳＡＤＶ１およびＳＡＤＶ２の活性化切換を、スイッチＤＭＳＷ１の経路切換に応じて実行する。従って、行選択駆動回路２２の行ドライブ回路ＸＤＲの活性化タイミングおよびセンスアンプＳＡの活性化タイミングは、実施の形態１０の場合と同様に設定される。
【０７８２】
バッファＢＵＦ１を選択する場合には、実施の形態１０と同様のＬＵＴ演算を行なうことができ、バッファＢＵＦ２を選択する場合には、センスアンプＳＡ１の出力データの反転データを生成することができる。従って、実行可能な演算として、ＯＲ演算、ＡＮＤ演算、およびＸＯＲ演算に加えて、ＮＯＴ演算、ＮＯＲ演算、およびＮＡＮＤ演算を実現することができる。これらの動作制御は、コマンドＣＭＤおよびアドレスＡＤＤを受ける制御回路３０により行われる。
【０７８３】
図１０８は、この発明の実施の形態１１に係る半導体信号処理装置が行なうＬＵＴ演算の一例を模式的に示す図である。
【０７８４】
図１０８を参照して、エントリ（Ｅｎｔｒｙ）ｉすなわちユニット演算子セル行＜ｉ＞における各ユニット演算子セルの記憶ノードＳＮＡの記憶データ列が”１０１０１０１０１０１０１”であり、記憶ノードＳＡＢのデータ列が、“００１１００１１１０００１”である。エントリ（Ｅｎｔｒｙ）ｊすなわちユニット演算子セル行＜ｊ＞における各ユニット演算子セルの記憶ノードＳＮＡの記憶データ列が”０１０１０１０１０１０１０”である。エントリ（Ｅｎｔｒｙ）ｋすなわちユニット演算子セル行＜ｋ＞における各ユニット演算子セルの記憶ノードＳＮＡの記憶データ列が”００１１００１１００１１０”である。
【０７８５】
エントリｉの記憶ノードＳＮＡを１つ選択する場合、すなわち、図１０６のバッファＢＵＦ１の出力信号を選択する場合、出力データＤＯＵＴは、”１０１０１０１０１０１０１”となる（ＯＰ１）。また、エントリｉおよびｊの記憶ノードＳＮＡを選択し、ＡＮＤ演算を選択する場合、出力データＤＯＵＴは”０００００００００００００”となる（ＯＰ２）。また、エントリｊおよびｋの記憶ノードＳＮＡを選択し、ＸＯＲ演算を選択する場合、データＤＯＵＴは”０１１００１１００１１００”となる（ＯＰ３）。
【０７８６】
半導体信号処理装置において、演算子セルアレイ１０における演算子セルサブアレイブロックＯＡＲの数をｍとし、各演算子セルサブアレイブロックＯＡＲにおけるエントリ数をｎとすると、生成されるデータ列は、ｍ×ｎ×２＋ｍ×ｎ×（ｎ−１）÷２×３＋ｍ×ｎ×（ｎ−１）×（ｎ−２）÷（３×２）×３となる。
【０７８７】
ここで、上式において、第１項は１つの演算子セルサブアレイブロックＯＡＲにおけるｎエントリから１エントリを選択する場合の組合せ数である。第２項は、ｎエントリから２エントリを選択する場合のＡＮＤ演算、ＯＲ演算およびＸＯＲ演算の選択を含めた組合せ数であり（記憶ノードＳＮＡが選択される）、第３項はｎエントリから３エントリを選択する場合のＡＮＤ演算、ＯＲ演算およびＸＯＲ演算の選択を含めた組合せ数（記憶ノードＳＮＡが選択される）である。
【０７８８】
以上のように、本実施の形態１１に従えば、演算子サブアレイブロックそれぞれに対応して組合せ論理演算回路を設け、センスアンプの出力信号に対して選択的に追加の論理演算処理を実行している。従って、実施の形態１０の効果に加えて、さらに仮想エントリ空間を広くすることができる。
【０７８９】
［実施の形態１２］
図１０９は、この発明実施の形態１２に係る半導体信号処理装置の構成を概略的に示す図である。図１０９に示す半導体信号処理装置においては、サブメモリアレイＭＬＡが、たとえばワード線方向（ワード線延在方向）に沿って４つのサブブロックＳＢＬＡ，ＳＢＬＢ，ＳＢＬＣ，ＳＢＬＤに分割される。すなわち、１ユニット演算子セル行が、４つのサブユニット演算子セル行に分割される。図１０９においては、エントリｉ，ｊ，ｋに対応する回路部分を代表的に示す。
【０７９０】
この実施の形態１２に従う半導体信号処理装置においては、階層ワード線方式が適用され、読出ワード線ＲＷＬＡ＜ｉ＞、ＲＷＬＢ＜ｉ＞、ＲＷＬＡ＜ｊ＞、ＲＷＬＢ＜ｊ＞およびＲＷＬＡ＜ｋ＞およびＲＷＬＢ＜ｋ＞上の信号とサブブロック選択制御信号ｐ，ｑ，ｒ，ｓとのＡＮＤ演算により、任意のサブブロックを選択可能としている。
【０７９１】
より詳細には、この図１０９に示す半導体信号処理装置は、図１０４に示す実施の形態１０に従う半導体信号処理装置と比べて、行選択駆動回路２２が、さらに、サブメモリアレイＭＬＡにおけるエントリおよびサブブロックの各組に対応して設けられる複数のＡＮＤゲートを含む。
【０７９２】
ＡＮＤゲートＧＩ０〜ＧＩ３、ＧＪ０〜ＧＪ３およびＧＫ０〜ＧＫ３は、それぞれエントリ（Ｅｎｔｒｙ）ｉ，ｊ，ｋに対応して設けられる。これらのＡＮＤゲートは、読出ワード線ＲＷＬＡ上の信号およびＲＷＬＢ上の信号の各々とサブブロック選択制御信号ｐ，ｑ，ｒ，ｓとの論理積演算結果を、それぞれ出力する。
【０７９３】
行選択駆動回路２２は、選択すべきエントリに対応する読出ドライバＲＷＤＶ（ＲＷＡＤＶ、ＲＷＢＤＶ）を活性化し、かつサブブロック選択制御信号ｐ，ｑ，ｒ，ｓのうち、選択すべきサブブロックに対応するサブブロック選択制御信号を選択状態のＨレベルへ駆動する。これにより、選択すべきサブブロックにおけるエントリに対応するユニット演算子セルＵＯＥが選択される。従って、４エントリ（Ｅｎｔｒｙ＜０＞−Ｅｎｔｒｙ＜３＞）それぞれにおいて、異なるサブブロックのエントリを選択することが可能となる。
【０７９４】
この図１０９に示す半導体信号処理装置の全体の構成は、図８９に示す実施の形態１０に従う半導体信号処理装置の構成と同じである。また、ユニット演算子セルＵＯＥおよびセンスアンプＳＡの構成も実施の形態１０の構成と同じである。
【０７９５】
図１１０は、この発明の実施の形態１２に係る半導体信号処理装置が行なうＬＵＴ演算の一例を示す図である。図１１０において、エントリ（Ｅｎｔｒｙ）Ａは、記憶ノードＳＮＡを示し、＜＞内の符号は、サブブロックを示す。
【０７９６】
図１１０を参照して、各サブブロックＳＢＬＡ‐ＳＢＬＤにおけるエントリｉに対応する各ユニット演算子セルの記憶データ列が”１０１０１０”である。各サブブロックにおけるエントリｊに対応する各ユニット演算子セルの記憶データ列が”０１０１０１”である。各サブブロックにおけるエントリｋに対応する各ユニット演算子セルの記憶データ列が”１１００１１”である。各サブブロックにおけるエントリｌに対応する各ユニット演算子セルの記憶データ列が”１１１０００”である。
【０７９７】
サブブロックＳＢＬＡにおけるエントリｉ（Ｅｎｔｒｙｉ‐Ａ＜Ａ＞）、サブブロックＳＢＬＢにおけるエントリｊ（Ｅｎｔｒｙｊ−Ａ＜Ｂ＞）、サブブロックＳＢＬＣにおけるエントリｋ（Ｅｎｔｒｙｋ−Ａ＜Ｃ＞）およびサブブロックＳＢＬＤにおけるエントリｌ（Ｅｎｔｒｙｌ−Ａ＜Ｄ＞）を選択する場合、出力データＤＯＵＴは”１０１０１００１０１０１１１００１１１１１０００”となる。
【０７９８】
半導体信号処理装置において、演算子セルアレイ１０における演算子セルサブアレイブロックＯＡＲの数をｍとし、各演算子セルサブアレイブロックＯＡＲにおけるエントリ数をｎとし、各演算子セルサブアレイブロックＯＡＲにおけるサブブロック数を４とすると、ＡＮＤ演算およびＯＲ演算等の演算種別を考慮しない場合でも、生成されるデータ列は、ｍ×ｎ×ｎ×ｎ×ｎとなる。
【０７９９】
このサブブロック単位でユニット演算子セルを選択して、各エントリから並列にデータを読出す構成としては、一例として、以下の構成を利用する。ＡＮＤゲートＧＩ０−ＧＩ３、ＧＪ０−ＧＪ３、ＧＫ０−ＧＫ３それぞれの出力部にＨレベルの出力信号をラッチするラッチ部（ハーフラッチ）を設ける。例えば、ＡＮＤゲートをＮＡＮＤゲートとインバータの直列体で構成し、インバータの出力信号がＨレベルとなると、このインバータの入力部のスイッチングトランジスタをオン状態として、インバータ入力部を接地電圧レベルのＬレベルに保持する（ラッチ期間中は、ＮＡＮＤゲートのＨ出力用のトランジスタを強制的にオフ状態に維持する）。データ読出後、リセット信号により、インバータの入力部を強制的に電源ノードに結合して、選択行の非選択状態への駆動およびスイッチングトランジスタのオフ状態への駆動を実行する。
【０８００】
サブブロック選択信号ｐ、ｑ、ｒ、およびｓを順次、所定の期間活性化する。これらのサブブロック活性化期間において対応の読出ワード線をアドレス信号に従って指定する。各サブブロックにおいてサブブロック指定期間内において指定されたエントリのサブエントリＥｎｔｒｙ＜ｉ＞が、サブブロック選択用のＡＮＤゲートのラッチ機能により選択状態に維持される。センスアンプＳＡについては、並行してサブブロックＳＢＬＡーＳＢＬＤにおいて活性状態に駆動してもよく、サブブロック指定期間毎に順次活性化しても良い。メインアンプ回路内のメインアンプを並行して活性化することにより、サブブロックＳＢＬＡ‐ＳＢＬＤのデータを並行して外部に出力することができる。読出期間が完了するとサブブロック選択用のＡＮＤゲートのラッチ機能をリセットする。この構成により、サブブロック単位で異なるユニット演算子セル行を選択することができる。
【０８０１】
次に、本実施の形態１２に係る半導体信号処理装置をＬＵＴベースのＰＷＭ（Pulse  Width  Modulation）に適用した場合について説明する。
【０８０２】
図１１１は、本実施の形態１２に係る半導体信号処理装置がＰＷＭ波形データを生成する動作原理を示す図である。図１１１において、縦軸に振幅（パルス幅）を示し、横軸に位相を示す。
【０８０３】
波形Ｗ２は、最小位相ピッチΔφの離散データを有するテーブルによって与えられるファイン（Fine）データを示す。波形Ｗ１は、最小位相ピッチΔφの適当な整数倍ピッチの離散データを有するテーブルによって与えられるコース（Coarse）データを示す。コースデータは、図１１１においては、一点差線の間のピッチを有する。各値が、パルス幅を示す。
【０８０４】
これらのファインデータおよびコースデータを加算することにより、目的とするＰＷＭ波形データを生成することができる（波形Ｗ３）。この加算操作は、装置外部において実行される。従ってエントリ（サブブロック）の格納データが符号付のデータであれば、外部において加算および減算をこの符号ビットに従って実行することができる。
【０８０５】
図１１２は、本発明の第３の実施の形態に係る半導体信号処理装置がＰＷＭ波形データを生成する場合のＬＵＴデータの格納スキームを示す図である。図１１２を参照して、サブメモリアレイＭＬＡＩにファインデータ（fine data）が格納され、サブメモリアレイＭＬＡＫにコースデータ（coarse data）が格納される。ファインデータは、サブメモリアレイＭＬＡＩの各エントリをサブブロックごとにアクセスし、データ列を順次取り出すことにより得られる。また、コースデータは、サブメモリアレイＭＬＡＫの各エントリを１度にアクセスし、データ列を取り出すことにより得られる。この読出シーケンスにおいては、サブブロック選択用のＡＮＤゲートには、出力ラッチ機能は、要求されない。以下、図１１２を参照して、図１１１に示すＰＷＭ変調動作について説明する。
【０８０６】
まず、サブメモリアレイＭＬＡＩにおけるサブブロックＳＢＬＡ、ＳＢＬＢ、ＳＢＬＣおよびＳＢＬＤにおける１番目のエントリの記憶データ列をこの順番に読み出し、データＤＯＵＴ１として順次出力する。また、これと並行して、サブメモリアレイＭＬＡＫにおけるサブブロックＳＢＬＡ、ＳＢＬＢ、ＳＢＬＣおよびＳＢＬＤにおける１番目のエントリの記憶データ列を１度に読み出し、データＤＯＵＴ２として出力する。そして、半導体信号処理装置の内部または外部においてデータＤＯＵＴ１およびＤＯＵＴ２を加算することにより、ＰＷＭ波形である波形Ｗ３のデータＰ１〜Ｐ４が生成される。
【０８０７】
このサブブロック単位でのデータＤＯＵＴ１の読出時、非選択サブブロックにおいては、対応の読出ワード線は非選択状態であり、データ“０”が読出される。従って、各サブブロック選択毎に出力されるデータのビット幅は、データＤＯＵＴ２と同じである。これに代えて、選択サブブロックにおいてのみ、センスアンプＳＡの活性化およびメインアンプの活性化が行われ、出力データのビット位置が、各選択サブブロックに応じた位置であってもよい。
【０８０８】
次に、サブメモリアレイＭＬＡＩにおけるサブブロックＳＢＬＡ、ＳＢＬＢ、ＳＢＬＣおよびＳＢＬＤにおける２番目のエントリの記憶データ列をこの順番に読み出し、データＤＯＵＴ１として順次出力する。また、これと並行して、サブメモリアレイＭＬＡＫにおけるサブブロックＳＢＬＡ、ＳＢＬＢ、ＳＢＬＣおよびＳＢＬＤにおける２番目のエントリの記憶データ列を１度に読み出し、データＤＯＵＴ２として出力する。そして、半導体信号処理装置１０３の内部または外部においてデータＤＯＵＴ１およびＤＯＵＴ２を加算することにより、ＰＷＭ波形である波形Ｗ３のデータＰ５〜Ｐ８が生成される。
【０８０９】
３番目のエントリ以降も同様に、記憶データ列を順次取り出すことにより、ＰＷＭ波形データが完成する。
【０８１０】
アドレスカウンタを利用して順次サブブロック単位でデータを読出すことにより、ファインデータを順次読出すことができる。
【０８１１】
以上のように、この発明の実施の形態１２に従えば、演算子セルアレイにおいてサブブロック単位でデータを選択することが可能としている。従って、仮想エントリの数をさらに増大させることができる。また、記憶容量を増大させることなく、多ビットＰＷＭデータのフルビットを、最小サンプリング期間（Δφ）毎に、生成することができる。
【０８１２】
［実施の形態１３］
図１１３は、この発明の実施の形態１３に係る半導体信号処理装置の構成を概略的に示す図である。この図１１３に示す半導体信号処理装置は、以下の点で、図８９に示す実施の形態１０に従う半導体信号処理装置と、その構成が異なる。
【０８１３】
この図１１３に示す半導体信号処理装置は、さらに、メインアンプ回路２４に対して設けられるスイッチＭＡＳＷ１１と、複数のグローバルビット線ＧＢＬとを備える。メインアンプ回路２４は、グローバルビット線ＧＢＬそれぞれに対応して設けられた複数の比較増幅回路（グローバル読出回路）ＧＲＡを含む。センスアンプ帯３８は、複数のセンスアンプＳＡおよびスイッチＳＷＯＡＲを含む。
【０８１４】
演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１における複数のセンスアンプＳＡは、全体として行列状に配置される。センスアンプ帯３８においては、センスアンプＳＡは、対応の演算子セルサブアレイブロックＯＡＲのビット線対ＲＢＬおよびＺＲＢＬに対応して配置される。
【０８１５】
グローバルビット線ＧＢＬは、演算子セルサブアレイＯＡＲ０−ＯＡＲ３１に共通に設けられ、すなわち、センスアンプ列に対応して設けられ、対応の列のセンスアンプＳＡの出力にスイッチＳＷＯＡＲを介して結合される。すなわち、グローバルビット線ＧＢＬは、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１におけるビット線ＲＢＬおよび補のビット線ＺＲＢＬの組各々に対応して設けられ、演算子セルサブアレイブロックＯＡＲ０−ＯＡＲ３１各々において、対応のビット線ＲＢＬおよび補のビット線ＺＲＢＬにそれぞれ結合された複数のセンスアンプＳＡの出力にスイッチＳＷＯＡＲを介して結合される。
【０８１６】
スイッチＳＷＯＡＲは、データ読出時、サブアレイ選択信号に従って選択的に導通状態とされ、導通時、対応のセンスアンプＳＡの出力信号を対応のグローバルビット線ＲＢＬに伝達する。このセンスアンプＳＡの構成としては、図８４に示す構成が利用される。スイッチＳＷＯＡＲが、スイッチ５５０，５５２およびブロック読出ゲートＣＳＧに対応する。従って、センスアンプＳＡから、データ“１”の時に電流が供給され、データ“０”の時には、グローバルビット線ＧＢＬの電位に対しては影響を及ぼさない。
【０８１７】
センスアンプＳＡは、対応のビット線ＲＢＬを介して流れる電流と対応の補のビット線ＺＲＢＬを介して流れる電流とを比較し、該比較結果に基づいてスイッチＳＷＯＡＲ経由で対応のグローバルビット線ＧＢＬに電流を流す。
【０８１８】
比較増幅回路ＧＲＡは、対応のグローバルビット線ＧＢＬを通して流れる電流を検出し、検出した電流量に基づく信号を出力する。すなわち、比較増幅回路ＧＲＡは、グローバルビット線ＧＢＬの電位と、スイッチＭＡＳＷ１１を介して供給される基準電圧ＶＲＥＦ３またはＶＲＥＦ４とを比較し、比較結果に基づく信号をデータパス２８へ出力する。
【０８１９】
図１１３に示す半導体信号処理装置の他の構成は、図８９に示す半導体信号処理装置の構成と同じであり、対応する部分には、同一参照符号を付して、その詳細説明は省略する。
【０８２０】
まず、半導体信号処理装置において、１つの演算子セルサブアレイブロックＯＡＲ０を選択した場合における読出し動作について説明する。
【０８２１】
図１１４は、１つの演算子セルサブアレイブロックＯＡＲ０を選択した状態を示す図である。図１１４において、演算子セルサブアレイブロックＯＡＲ０におけるスイッチＳＷＯＡＲがオン状態とされ、演算子セルサブアレイブロックＯＡＲ１−ＯＡＲ３１におけるスイッチＳＷＯＡＲは、オフ状態に維持される。このとき、比較増幅回路ＧＲＡには、スイッチＭＡＳＷ１１を介してたとえば基準電圧ＶＲＥＦ３が供給されている。スイッチＳＷＯＡＲのオン／オフ制御には、演算子セルサブアレイブロックを指定するサブアレイブロックアドレスが利用される。
【０８２２】
図１１５は、図１１４に示す接続状態におけるグローバルビット線ＧＢＬに接続されたセンスアンプＳＡの出力信号の組合せを一覧にして示す図であり、図１１６は、データ読出時におけるグローバルビット線ＧＢＬを流れる電流に応じた読出電位の関係を示す図である。図１１６において、縦軸にグローバルビット線ＧＢＬの電位を示し、横軸に時間を示す。
【０８２３】
図１１５および図１１６において、演算子セルサブアレイブロックＯＡＲ０におけるセンスアンプＳＡの出力信号が“１”の場合（状態ＳＴ１）、グローバルビット線ＧＢＬを介して流れる電流は大きくなり、グローバルビット線ＧＢＬの電位は基準電圧ＶＲＥＦ３よりも大きくなる。このとき、比較増幅回路ＧＲＡはたとえばデータ”１”を出力する。
【０８２４】
一方、演算子セルサブアレイブロックＯＡＲ０におけるセンスアンプＳＡの出力信号が“０”の場合（状態ＳＴ２）、グローバルビット線ＧＢＬを介して流れる電流は小さく、グローバルビット線ＧＢＬの電位は基準電圧ＶＲＥＦ３よりも小さくなる。このとき、比較増幅回路ＧＲＡはたとえばデータ”０”を出力する。従って、１つの演算子セルサブアレイを選択したときには、センスアンプＳＡの出力信号に応じた２値信号が生成される。
【０８２５】
次に、半導体信号処理装置において、２つの演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１を選択した場合における読み出し動作について説明する。
【０８２６】
図１１７は、２つの演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１を選択した状態を示す図である。図１１７において、演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１におけるスイッチＳＷＯＡＲがそれぞれオン状態とされ、演算子セルサブアレイブロックＯＡＲ１−ＯＡＲ３０におけるスイッチＳＷＯＡＲがオフ状態とされる。このとき、比較増幅回路ＧＲＡには、スイッチＭＡＳＷ１１を介して基準電圧ＶＲＥＦ３またはＶＲＥＦ４が供給される。
【０８２７】
図１１８は、グローバルビット線ＧＢＬに接続されたセンスアンプＳＡの出力信号の組合せを一覧にして示す図であり、図１１９は、データ読出時におけるグローバルビット線ＧＢＬを流れる電流に応じた読出電位の関係を示す図である。図１１９において、縦軸にグローバルビット線ＧＢＬの電位を示し、横軸に時間を示す。
【０８２８】
図１１８および図１１９において、演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１の各々におけるセンスアンプＳＡの出力信号がいずれも“１”の場合（状態ＳＴ１）、グローバルビット線ＧＢＬを通して流れる電流Ｉ０＋Ｉ１は最も大きくなる。
【０８２９】
一方、演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１の各々におけるセンスアンプＳＡの出力信号がいずれも“０”の場合（状態ＳＴ４）、グローバルビット線ＧＢＬを通して流れる電流寮Ｉ０＋Ｉ１は最も小さくなる。
【０８３０】
また、演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１の各々におけるセンスアンプＳＡの出力信号の一方が”０”であり、他方が”１”である場合（状態ＳＴ２および状態ＳＴ３）、状態ＳＴ１におけるグローバルビット線ＧＢＬの電流量と状態ＳＴ４におけるグローバルビット線ＧＢＬの電流量との間の電流がグローバルビット線ＧＢＬを通して流れる。このため、グローバルビット線ＧＢＬの電位は状態ＳＴ１およびＳＴ４の間の電位となる。
【０８３１】
基準電圧ＶＲＥＦ３を、状態ＳＴ１におけるグローバルビット線ＧＢＬの電位と状態ＳＴ２およびＳＴ３におけるグローバルビット線ＧＢＬの電位の間に設定し、かつスイッチＭＡＳＷ１１により基準電圧ＶＲＥＦ３を比較増幅回路ＧＲＡに供給する。
【０８３２】
この基準電圧ＶＲＥＦ３の選択状態においては、比較増幅回路ＧＲＡは、状態ＳＴ１に対してデータ”１”を出力し、状態ＳＴ２〜ＳＴ４に対してデータ”０”を出力する。すなわち、比較増幅回路ＧＲＡは、演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１における演算結果のＡＮＤ演算結果を出力する。
【０８３３】
一方、基準電圧ＶＲＥＦ４を状態ＳＴ４におけるグローバルビット線ＧＢＬの電位と状態ＳＴ２およびＳＴ３におけるグローバルビット線ＧＢＬの電位の間に設定し、かつスイッチＭＡＳＷ１１によって基準電圧ＶＲＥＦ４を比較増幅回路ＧＲＡに供給する。
【０８３４】
この状態においては、比較増幅回路ＧＲＡは、状態ＳＴ１〜ＳＴ３に対してデータ”１”を出力し、状態ＳＴ４に対してデータ”０”を出力する。すなわち、比較増幅回路ＧＲＡは、演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１における演算結果のＯＲ演算結果を出力する。
【０８３５】
このように、本実施の形態１３に係る半導体信号処理装置では、複数の演算子セルサブアレイブロックにおける演算結果に対してさらにＯＲ演算およびＡＮＤ演算を行なうことが可能になる。
【０８３６】
図１２０は、本実施の形態１３に係る半導体信号処理装置が行なうＬＵＴ演算を示す図である。図１２０において、演算子セルサブアレイブロックＯＡＲ３１におけるサブメモリアレイＭＬＡのエントリ（Ｅｎｔｒｙ）ｉにおける各ユニット演算子セルの記憶データ列が”１０１０１０１０１０１０１”であり、エントリ（Ｅｎｔｒｙ）ｊにおける各ユニット演算子セルの記憶データ列が”０１０１０１０１０１０１０”である。演算子セルサブアレイブロックＯＡＲ０におけるサブメモリアレイＭＬＡのエントリ（Ｅｎｔｒｙ）ｋにおける各ユニット演算子セルの記憶データ列が”００１１００１１００１１０”である。
【０８３７】
演算子セルサブアレイブロックＯＡＲ３１におけるエントリｉおよび演算子セルサブアレイブロックＯＡＲ０におけるエントリｋを選択し、基準電圧として基準電圧ＶＲＥＦ４を選択してＡＮＤ演算を選択する場合、データＤＯＵＴは”００１０００１０００１００”となる。
【０８３８】
半導体信号処理装置において、演算子セルアレイ１０における演算子セルサブアレイブロックＯＡＲの数をｍとし、各演算子セルサブアレイブロックＯＡＲにおけるエントリ数をｎとすると、生成されるデータ列は、ｍ×ｎ×２＋ｍ×ｎ×２×（ｍ−１）×ｎ×２÷２×２となる（ユニット演算子セルＵＯＥにおいて１つのＳＯＩトランジスタが選択される場合）。
【０８３９】
但し、上記式において、第１項は、ｍ個の演算子セルサブアレイブロックＯＡＲから１個の演算子セルサブアレイブロックＯＡＲを選択し、選択した演算子セルサブアレイブロックＯＡＲにおけるｎエントリから１エントリを選択し、かつＳＯＩトランジスタＮＱ１およびＮＱ２のいずれかを選択する場合の組合せ数である。第２項は、ｍ個の演算子セルサブアレイブロックＯＡＲから２個の演算子セルサブアレイブロックＯＡＲを選択し、選択した２つの演算子セルサブアレイブロックＯＡＲにおけるｎエントリから１エントリをそれぞれ選択し、ＳＯＩトランジスタＮＱ１およびＮＱ２のいずれかを選択し、かつ演算子セルサブアレイブロック同士のＡＮＤ演算およびＯＲ演算を選択する場合の組合せ数である。
【０８４０】
従って、本実施の形態１３に従えば、組合せ論理演算回路を設けなくても、グローバルビット線の電位および基準電圧により組合せ論理演算を実行することができ、実施の形態１２と同様、仮想エントリ空間を、アレイ面積を増大させることなく、拡張することができる。
【０８４１】
基準電圧ＶＲＥＦ３およびＶＲＥＦ４の選択は、コマンドＣＭＤにより指定される演算内容に応じて制御回路３０により実行される。演算子セルサブアレイブロックを２つ並行して選択状態に駆動する構成としては、一例として、以下の構成を利用することができる。すなわち、サブアレイブロックアドレスの最下位ビットを縮退状態とすることにより、隣接演算子サブアレイブロックを並行して選択状態に駆動することができる。任意の演算子セルサブアレイブロックを並行して選択するためには、サブアレイブロックデコーダからの演算子セルサブアレイブロック選択信号が選択されるとラッチするラッチ回路を各サブアレイブロックＯＡＲに対して設け、連続するタイミングでサブアレイブロックアドレスを供給してブロックデコーダにおいてスタティックにデコード動作を実行する。いわゆるメモリのバンク構成のバンク選択回路と同様の構成を利用する。
【０８４２】
［実施の形態１４］
図１２１は、この発明の実施の形態１４に係る半導体信号処理装置の構成を概略的に示す図である。図１２１において、演算子セルサブアレイブロックＯＡＲは、制御フラグフィールド６１５ａおよびデータフィールド６１５ｂを有する。図１２１においては、１つの演算子セルサブアレイブロックＯＡＲを代表的に示すが、この図１２１に示す半導体信号処理装置においては、サブメモリアレイ（ＭＬＡ）の所定数の演算子セルサブアレイブロックにおいて、制御フィールド６１５ａおよびデータフィールド６１５ｂが設けられる。サブメモリアレイ（ＭＬＡ）の各エントリに対応する複数のユニット演算子セルＵＯＥは、制御フラグ（Ａ−Ｄ）およびデータを記憶する。制御フラグを格納するユニット演算子セルおよびデータを記憶するユニット演算子セルが、１エントリにおいて各フィールドに対応して配置される。
【０８４３】
この制御フィールド６１５ａおよびデータフィールド６１５ｂに分割される演算子セルサブアレイブロックＯＡＲは、えんざんしせるあれい（２０）の特定の位置に配置されていても良く、また、全サブアレイブロックが、制御フィールド６１５ａおよびデータフィールド６１５ｂに、分割されても良い。適用される用途に応じて、この制御フィールド６１５ａおよびデータフィールド６１ｂの構成が適宜定められれば良い。
【０８４４】
この半導体信号処理装置は、図８９に示す半導体信号処理装置の制御回路３０に代えて、制御用デコーダ６１３を備える。制御用デコーダ６１３は、演算子セルサブアレイブロックＯＡＲの制御フィールド６１５ａから読出された制御フラグ（Ａ−Ｄ）を受けてデコードし、そのデコード結果を行選択駆動回路２２へ出力する。
【０８４５】
行選択駆動回路２２によってアドレス信号に対応するエントリが選択され、選択されたエントリにおける制御フラグおよびデータが読み出される。行選択駆動回路２２は、制御用デコーダ６１３から受けたデコード結果に基づいて、選択的にデコード動作を行って演算子セルサブアレイブロックＯＡＲにおける１または複数のエントリを選択する。この制御フィールド６１５ａに格納される制御フラグを利用して演算処理を制御することにより、より高度のま多は複雑な演算処理を実現する。
【０８４６】
この発明の実施の形態１４に従う半導体信号処理装置の他の構成は、図８９に示す半導体信号処理装置の構成と同じである。すなわち、ユニット演算子セルは、図１から３に示す構成を有し、また、センスアンプ、メインアンプ回路およびデータパスが配置される。
【０８４７】
図１２２は、本実施の形態１４に係る半導体信号処理装置がカウンタとして動作する際の動作手順を定めたフローチャートである。以下、図１２２を参照して、図１２１に示す半導体信号処理装置のカウンタ動作について説明する。
【０８４８】
図１２２において、まず、各演算子セルサブアレイブロックＯＡＲにおけるサブメモリアレイＭＬＡがリセットされる（ステップＳＳ１）。このリセット時においては、ユニット演算子セルＵＯＥ全てに対してデータ“０”が書込まれる。
【０８４９】
次に、各演算子セルサブアレイブロックＯＡＲにおけるサブメモリアレイＭＬＡに、所定のパターンを有するデータおよび制御フラグが書込まれる（ステップＳＳ２）。データとしてカウント値が与えられ、制御フラグとして対応のカウント値のときに次に実行する動作を制御するコードが格納される。制御フラグＡは、“１”の時に連続カウント動作（カウントアップ）を指定する。制御フラグＢは、“１”のときに、カウント動作の初期値からの繰返しを指定する。制御フラグＣは、カウント値が所定値に到達したことを知らせる。制御フラグＤは、カウンタ拡張のために準備される。
【０８５０】
次に、指定されたカウント値からカウントを開始する。すなわち、アドレス信号により指定された初期アドレスに対応するエントリが選択され、選択されたエントリからデータおよび制御フラグが読み出される（ステップＳＳ３）。読出されたデータが、カウント値に対応する。
【０８５１】
読出されたカウント値が所定値である場合には、対応の制御フラグＣが“１”に設定されており、このときに並行して読出された制御フラグＣが１であることを示すデータが、図示しないＣＰＵ（Central Processing Unit）等へ出力される（ステップＳＳ４）。外部のＣＰＵなどの処理装置は、カウント値が所定値に到達したことを、この制御フラグＣにより検出する。所定値にカウント値が到達していない場合には、制御フラグＣは外部の処理装置には通報されないで、次のステップＳＳ５の処理が実行される。
【０８５２】
ステップＳＳ５において制御フラグＢの値の判定が行なわれる。すなわち、ステップＳＳ５において、現在選択されているエントリにおける制御フラグＢが０の場合であって（ステップＳＳ５でＮＯ）、制御フラグＡが１であるとき（ステップＳＳ６でＹＥＳ）には、カウントアップされる（ステップＳＳ７）。すなわち、アドレスを更新して、現在選択されているエントリの次のエントリが選択される。
【０８５３】
一方、現在選択されているエントリにおけるフラグＢが１である場合には（ステップＳ５でＹＥＳ）、制御フラグＡの値にかかわらず、カウント値がリセットされ、（ステップＳＳ８）、ステップＳＳ３に戻り、再度カウント動作を行う。すなわち、アドレスが初期値にリセットされ、初期アドレスに対応するエントリが再び選択され、カウント動作が繰返される。
【０８５４】
一方、ステップＳＳ５において、現在選択されているエントリにおける制御フラグＢが０の場合（ステップＳＳ５でＮＯ）、制御フラグＡの値が参照される（ステップＳＳ６）。制御フラグＡが０であるとき（ステップＳＳ６でＮＯ）には、カウント動作が終了する。
【０８５５】
従って、制御フラグの値により、カウント範囲および期間を設定することができ、内部でクロックサイクル数のモニタなどの処理を実現することができる。このカウント動作は、図１２１に示す制御デコーダ６１３による制御フラグＡ−Ｄをデコードし、そのデコード結果に従って、リセットまたは増分などのアドレスの制御が実行される。
【０８５６】
図１２３は、本実施の形態１４に係る半導体信号処理装置が８ビットのカウンタとして動作する際の制御フィールドおよびデータフィールドの格納データの一例を示す図である。以下、図１２３を参照して、図１２２に示すカウンタ動作について具体的に説明する。
【０８５７】
まず、各演算子セルサブアレイブロックＯＡＲにおけるサブメモリアレイＭＬＡに、リセット（ステップＳＳ１）の後、図１２３に示すようなデータおよび制御フラグが書込まれる（ステップＳＳ２）。すなわち、データフィールドには、８ビットカウント値＜７：０＞が、各エントリ毎に増分されて格納され、各エントリの制御フィールドには、各カウント値に対応して制御フラグＡ−Ｄが格納される。
【０８５８】
次に、指定されたカウント値からカウントを開始する。すなわち、行選択駆動回路２２により、指定された初期アドレス０に対応するエントリが選択され、選択されたエントリから、データフィールドおよび制御フィールドから情報の読出が行われる（ステップＳＳ３）。このアドレス０のエントリのデータ列は、データフィールドが”０００００００１”であり、制御フラグＡが”１”であり、制御フラグＢが”０”であり、制御フラグＣが”０”であり、制御フラグＤが”０”である。なお、制御フラグＤは、たとえば次段にカウンタを追加する場合のカウント開始トリガとして用いられる。
【０８５９】
次に、現在選択されているアドレス０に対応するエントリにおけるフラグＢが０であり（ステップＳＳ５でＮＯ）、フラグＡが１であるため（ステップＳＳ６でＹＥＳ）、カウントアップされる（ステップＳＳ７）。すなわち、現在選択されているアドレス０の次のアドレス１に対応するエントリが選択され、対応の内容が読出される。
【０８６０】
アドレス２５３までは、制御フラグＡおよびＢの値が、それぞれ、“１”および“０”であり、カウントアップがアドレス２５４まで繰り返される（ステップＳＳ３−ＳＳ８）。アドレス２５４が指定するエントリからデータ列が読出される。このアドレス２５４に対応するエントリから読出されるデータ列においては、データフィールドが”１１１１１１１１”であり、制御フラグＡが”１”であり、制御フラグＢが”１”であり、制御フラグＣが”１”であり、制御フラグＤが”０”である。
【０８６１】
そして、カウント値が所定値である”１１１１１１１１”であり、現在選択されているエントリにおける制御フラグＣが１であるため、この制御フラグＣが１であることを示すデータが図示しないＣＰＵ等へ出力される（ステップＳＳ４）。
【０８６２】
次に、現在選択されているエントリにおけるフラグＢが１であるため（ステップＳＳ５でＹＥＳ）、カウント値がリセットされる（ステップＳＳ８）。すなわち、初期アドレス０に対応するエントリが再び選択される。
【０８６３】
制御フラグＣが図示しないＣＰＵに与えられ、このＣＰＵにおいて所定の処理が完了すると、カウント動作を停止するために、ＣＰＵから与えられるコマンドに従ってアドレスが、アドレス２５５に設定される。このアドレス２５５のエントリの内容の読出が行われる。このアドレス２５５のエントリの制御フラグＡおよびＢの値“０”に従って、カウント動作が停止する。従って、処理内容に応じて、カウント動作を繰り返し実行することができ、処理の柔軟性が確保される。
【０８６４】
予め処理シーケンスおよび処理時間が定められている場合には、あるカウント値（例えばアドレス２５４）のエントリの制御フラグＡおよびＢを“０”に設定し、かつ制御フラグＣを“１”に設定する。これにより、あるカウント値（例えばアドレス２５４）に到達すると、カウント動作が停止し、また、外部のＣＰＵに対しては、制御フラグＣにより所定期間が経過したことを知らせる。このカウンタをウオッチドッグタイマなどとして利用することができる。
【０８６５】
以上のように、本実施の形態１４に係る半導体信号処理装置においては、ＬＵＴ演算器自身に処理手順（連続カウント動作およびカウント動作の繰返しおよび停止）を格納し、この処理手順に従って、ＬＵＴ演算器においてデータ読出し動作をループさせる。これにより、カウンタ動作などのより複雑な演算機能を実現することができる。また、カウンタ動作ではなく、外部アドレスに従って特定のエントリがアクセスされたときに、以後の処理動作を停止させるように構成されても良い。
【０８６６】
［実施の形態１５］
図１２４は、この発明の実施の形態１５に係る半導体信号処理装置において用いられるユニット演算子セルの電気的等価回路を示す図である。この図４０に示すユニット演算子セルＵＯＥは、本実施の形態１に係るユニット演算子セルＵＯＥの構成と、ＳＯＩトランジスタＰＱ１およびＰＱ２の各々のゲートが、書込ワード線ＷＷＬＡおよびＷＷＬＢにそれぞれ結合される点で異なる。
【０８６７】
書込ワード線ＷＷＬＡは、ユニット演算子セル列に対応して設けられ、Ｙ方向に延在して配置される、すなわち、読出ビット線ＲＢＬに平行に配置される。また、書込ワード線ＷＷＬＢは、ユニット演算子セル行に対応して設けられ、Ｘ方向に延在して配置される、すなわち読出ビット線ＲＢＬと直交するように配置される。
【０８６８】
書込ポートＷＰＲＴＡからの書込すなわちＳＯＩトランジスタＮＱ１のしきい値電圧を設定する場合には、書込ワード線ＷＷＬＡを選択状態へ駆動して、ＳＯＩトランジスタＰＱ１を導通させる。また、書込ポートＷＰＲＴＢからの書込すなわちＳＯＩトランジスタＮＱ２のしきい値電圧を設定する場合には、書込ワード線ＷＷＬＢを選択状態へ駆動して、ＳＯＩトランジスタＰＱ２を導通させる。
【０８６９】
この図１２４に示すユニット演算子セルＵＯＥの他の構成は、図１に示すユニット演算子セルの構成と同様であり、対応する部分には、同一参照符号を付して、その詳細説明は省略する。この図１２４に示すユニット演算子セルの構成は、図８０に示すユニット演算子セルの構成と同様であるが、但し、書込ワード線ＷＷＬＡの配置は、図８０に示すユニットセルの構成と異なる。
【０８７０】
図１２５は、図１２４に示すユニット演算子セルの平面レイアウトを概略的に示す図である。図１２５において、破線で囲む領域にＰ型トランジスタが形成される。このＰ型トランジスタ形性領域において、高濃度Ｐ型領域６５１ａおよび６５１ｂがＹ方向に沿って整列して配置される。Ｐ型領域６５１ａおよび６５１ｂの間に、Ｎ型領域６５２ａが配置される。このＰ型領域６５１ｂに対してＹ方向に整列して、Ｐ型領域６５４ａが配置される。
【０８７１】
また、高濃度Ｐ型領域６５１ｃおよび６５１ｄがＹ方向に沿って整列して配置される。Ｐ型領域６５１ｃおよび６５１ｄの間に、Ｎ型領域６５２ｂが配置される。このＰ型領域６５１ｃに対してＹ方向に整列して、Ｐ型領域６５４ｂが配置される。
【０８７２】
Ｐ型トランジスタ形成領域外部において、Ｐ型領域６５１ｂ、６５４ａ、６５４ｂおよび６５１ｃに隣接して、高濃度Ｎ型領域６５３ａ、６５３ｂおよび６５３ｃが配置される。Ｎ型領域６５３ａおよび６５３ｂの間に、Ｐ型トランジスタ形成領域からＰ型領域６５４ａが延在して配置され、また、Ｎ型領域６５３ｂおよび６５３ｃの間に、Ｐ型トランジスタ形成領域からＰ型領域６５４ｂが延在して配置される。
【０８７３】
Ｎ型領域６５２ａ上に、ゲート電極配線６５５ａがＸ方向に延在するように配置され、Ｐ型領域６５４ａ上にゲート電極配線６５５ｂが配置される。また、Ｎ型領域６５２ｂ上に、ゲート電極配線６５５ｄがＸ方向に延在するように配置され、Ｐ型領域６５４ｂ上にゲート電極配線６５５ｃが配置される。図１２５においては、これらのゲート電極配線６５５ａ、６５５ｂ、６５５ｃおよび６５５ｄは、ユニット演算子セルＵＯＥ内の領域のみ延在するように示すが、これらは連続的にＸ方向に沿って延在して配置される。
【０８７４】
Ｘ方向に連続的に延在して第１金属配線６５６ａが配置され、第１金属配線６５６ａの隣に間をおいて、Ｘ方向に連続的に延在して第１金属配線６５６ｂが配置される。第１金属配線６５６ｂの隣に間をおいて、Ｘ方向に連続的に延在して第１金属配線６５６ｃが配置される。第１金属配線６５６ｃの隣に間をおいて、ゲート電極配線６５５ｃと整列して、かつＸ方向に連続的に延在して第１金属配線６５６ｄが配置され、また、第１金属配線６５６ｄの隣に間をおいて、ゲート電極配線６５５ｄと整列して、かつ第１金属配線６５６ｅがＸ方向に連続的に延在して配置される。
【０８７５】
第１金属配線６５６ａは、ビア／コンタクト６５８ｂおよび中間第１配線を介してＰ型領域６５１ａに接続される。第１金属配線６５６ｂは、ビア／コンタクト６５８ｃを介して下層のＮ型領域６５３ａに電気的に接続され、ソース線ＳＬを構成する。ゲート電極配線６５５ｂに隣接して配置される第１金属配線６５６ｃは、図示しない領域においてゲート電極配線６５５ｂと電気的に接続され、読出ワード線ＲＷＬＡを構成する。第１金属配線６５６ｄは、図示しない領域においてゲート電極配線６５５ｃと電気的に接続され、読出ワード線ＲＷＬＢを構成する。第１金属配線６５６ｅは、図示しない領域においてゲート電極配線６５５ｄと電気的に接続され、書込ワード線ＷＷＬＢを構成する。
【０８７６】
各活性領域（トランジスタが形成される領域）の境界領域にＹ方向に沿って連続的に延在して第２金属配線６５７ａ−６５７ｄが配置される。第２金属配線６５７ａは、ビア／コンタクト６５８ｅおよび中間第１配線を介してＮ型領域６５３ｃに電気的に接続される。第２金属配線６５７ｂは、ビア／コンタクト６５８ｄおよび中間第１配線を介してＮ型領域６５３ｂに電気的に接続される。第２金属配線６５７ｃは、ビア／コンタクト６５８ｆおよび中間第１配線を介してＰ型領域６５１ｄに接続される。第２金属配線６５７ｄは、ビア／コンタクト６５８ａおよび中間第１配線を介してゲート電極配線６５５ａと電気的に接続され、書込ワード線ＷＷＬＡを構成する。
【０８７７】
第２金属配線６５７ａおよび６５７ｂは、それぞれ読出ポートを介して出力データＤＯＵＴＢおよびＤＯＵＴＡを伝達し、第１金属配線６５６ａおよび第２金属配線６５７ｃが、書込ポートを介してそれぞれ入力データＤＩＮＡおよびＤＩＮＢを伝達する。すなわち、第２金属配線６５７ａおよび６５７ｂが、それぞれ、図１２４に示す読出ポートＲＰＲＴＢおよびＲＰＲＴＡを構成し、第１金属配線６５６ａおよび第２金属配線６５７ｃが、それぞれ、図１２４に示す書込ポートＷＰＲＴＡおよびＷＰＲＴＢを構成する。
【０８７８】
この図１２５に示す平面レイアウトにおいて、Ｐ型領域６５１ａおよび６５１ｂとＮ型領域６５２ａとゲート電極配線６５５ａとにより、ＰチャネルＳＯＩトランジスタＰＱ１が構成され、Ｐ型領域６５１ｃおよび６５１ｄとＮ型領域６５２ｂとゲート電極配線６５５ｄとにより、ＰチャネルＳＯＩトランジスタＰＱ２が構成される。Ｎ型領域６５３ａおよび６５３ｂとＰ型領域６５４ａとゲート電極配線６５５ｂとにより、ＮチャネルＳＯＩトランジスタＮＱ１が構成される。Ｎ型領域６５３ｂおよび６５３ｃとＰ型領域６５４ｂとゲート電極配線６５５ｃとにより、ＮチャネルＳＯＩトランジスタＮＱ２が構成される。
【０８７９】
すなわち、Ｐ型領域６５１ｃが、書込ポートＷＰＲＴＡに結合され、Ｎ型領域６５３ａがソース線ＳＬに結合され、Ｎ型領域６５３ｂが読出ポートＲＰＲＴＡに結合される。Ｎ型領域６５３ａおよび６５３ｂの間のＰ型領域６５４ａが、ＳＯＩトランジスタＮＱ１のボディ領域を構成する。Ｐ型領域６５４ａは高濃度Ｐ型領域６５１ｂに隣接して配置されており、したがって、Ｐ型領域６５１ｂおよび６５４ａは、電気的に連結された状態にある。また、Ｎ型領域６５２ａがＳＯＩトランジスタＰＱ１のボディ領域を構成する。
【０８８０】
ＳＯＩトランジスタＰＱ１において、ボディ領域（Ｎ型領域）６５２ａ表面にチャネルを形成することにより、書込ポートＷＰＲＴＡから伝達される電荷が、Ｐ型領域６５１ｂを介してＰ型領域６５４ａに伝達されて蓄積される。ＳＯＩトランジスタＮＱ１のボディ領域の電圧を書込データに応じた電圧レベルに設定し、そのしきい値電圧を記憶データに応じたレベルに設定する。Ｎ型領域６５３ｂはプリチャージノードを構成し、Ｐ型領域６５４ａの電圧レベルに拘わらず、領域６５４ａおよび６５３ｂの間のＰＮ接合が導通しない電圧レベルに維持される。また、ソース線ＳＬは、通常電源電圧ＶＣＣレベルに維持され、ボディ領域とソース線との間のＰＮ接合の導通は防止される。
【０８８１】
データ読出時においては、ＳＯＩトランジスタＮＱ１のボディ領域上に形成されるゲート電極配線に論理ハイレベルの電圧を印加する。このゲート電極の印加電圧により、Ｐ型領域６５４ａ表面に選択的に記憶データに応じてチャネルが形成され、ソース線ＳＬから読出ポートＲＰＲＴＡに、記憶データに応じた電流が流れる。この電流を検出することによりデータを読出す。ボディ領域（Ｐ型領域）６５４ａに蓄積される電荷は保存されたままであり、データを不揮発的に記憶することができる。
【０８８２】
また、ソース線ＳＬからのＳＯＩトランジスタＮＱ１およびＮＱ２のしきい値電圧に応じた電流量を検出するだけであり、高速のデータの読出を行なうことができる。
【０８８３】
図１２６は、本実施の形態１５に係る半導体信号処理装置の全体の構成を概略的に示す図である。図１２６において、実施の形態１５に従う半導体信号処理装置は、実施の形態１に係る半導体信号処理装置と比べて、さらに、演算子セルサブアレイブロックＯＡＲ０とメインアンプ回路２４との間に設けられた列選択駆動回路６７０を備える。列選択駆動回路６７０は、ユニット演算子セル列に対応して設けられた複数の書込ドライバＷＷＡＤＶを含む。データパス２８は、ユニット演算子セル列に対応して設けられた複数の書込データドライバＷＤＡＴＢＤＶを含む。行ドライブ回路ＸＤＲは、ユニット演算子セル行に対応して設けられた複数の書込ドライバＷＷＢＤＶ、複数の読出ドライバＲＷＡＤＶ、複数の読出ドライバＲＷＢＤＶおよび複数の書込データドライバＷＤＡＴＡＤＶを含む。
【０８８４】
書込ドライバＷＷＡＤＶは、選択されるべきユニット演算子セルＵＯＥの属する列に対応するグローバル書込ワード線ＷＷＬＡ＜ｉ＞を選択状態へ駆動する。書込ワード線ドライバＷＷＢＤＶは、選択されるべきユニット演算子セルＵＯＥの属する行に対応する書込ワード線ＷＷＬＢを選択状態へ駆動する。読出ドライバＲＷＡＤＶおよび読出ドライバＲＷＢＤＶは、選択されるべきユニット演算子セル行に対応する読出ワード線ＲＷＬＡおよびＲＷＬＢをそれぞれ選択状態へ駆動する。
【０８８５】
グローバル書込ワード線ＷＷＬＡ＜ｉ＞は、演算子セルサブアレイＯＡＲ０−ＯＡＲ３１に共通に、各ユニット演算子セル列に対応して配置される。後に説明するように、演算子セルサブアレイＯＡＲに対してサブブロック選択回路が配置され、選択サブアレイブロックにおいてデータの書込が実行される。
【０８８６】
図１２７は、図１２６に示す演算子セルサブアレイブロックＯＡＲの構成をより具体的に示す図である。図１２７においては、演算子セルアレイ２０に含まれる演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ１を代表的に示す。
【０８８７】
図１２７において、演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ１の各々は、センスアンプ帯３８の隣に配置されたサブ書込ワード線ドライバ帯６７５を含む。サブ書込ワード線ドライバ帯６７５は、ユニット演算子セル列に対応して設けられた複数のＡＮＤゲートＧＢＳを含む。また、演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ１の各々は、ユニット演算子セル列に対応して設けられた複数のローカル書込ワード線ＬＣＷＷＬＡを含む。ローカル書込ワード線ＬＣＷＷＬＡが、図１２４および図１２５に示す書込ワード線ＷＷＬＡに該当する。行選択駆動回路２２は、演算子セルサブアレイブロックＯＡＲに対応して設けられた複数のサブアレイブロック選択ドライバＢＳＤＶを含む。
【０８８８】
ＡＮＤゲートＧＢＳは、書込ワード線ＷＷＬＡ上の信号とサブアレイブロック選択ドライバＢＳＤＶの出力信号との論理積演算結果を示す信号を、ローカル書込ワード線ＬＣＷＷＬＡへ出力する。
【０８８９】
行選択駆動回路２２は、選択すべき演算子セルサブアレイブロックＯＡＲに対応するサブアレイブロック選択ドライバＢＳＤＶをイネーブルして、選択すべき演算子セルサブアレイブロックＯＡＲにおけるローカル書込ワード線ＬＣＷＷＬＡを選択状態へ駆動する。これにより、任意の演算子セルサブアレイブロックを選択可能としている。
【０８９０】
図１２８は、本実施の形態１５に係る半導体信号処理装置の動作におけるデータの流れを概念的に示す図である。以下、図１２８を参照して、この発明の実施の形態１５に従う半導体信号処理装置の動作について説明する。
【０８９１】
図１２８において、まず、Ｂポート書込ワード線ＷＷＬＢおよびＢポートデータ線ＤＩＮＢを用いて、マスクビットデータとしてデータＤＩＮＢ［ｍ：０］を演算子セルアレイ２０に書込む。たとえば、演算子セルサブアレイブロックＯＡＲ３１のユニット演算子セル行＜０＞における複数のＳＯＩトランジスタＮＱ２にデータ列”１１１１１１１１”を書込み、ユニット演算子セル行＜１＞における複数のＳＯＩトランジスタＮＱ２にデータ列”１０１０１０１０”を書込み、ユニット演算子セル行＜２＞における複数のＳＯＩトランジスタＮＱ２にデータ列”１１１１００００”を書込む。このマスクデータビットの書込時には、書込対象のユニット演算子セル行に対応して配置される書込ワード線ＷＷＬＢ＜ｉ＞を選択状態に駆動して、対応の行のユニット演算子セルＵＯＥのトランジスタＰＱ２を並行してオン状態として、トランジスタＮＱ２のボディ領域にデータを書込む。
【０８９２】
次に、書込ワード線ＷＷＬＡおよびデータ線ＤＩＮＡを用いて、ワードバラレルデータとしてデータＤＩＮＡ［ｎ：０］を演算子セルアレイ１０に書込む。ワードパラレルデータは、複数のワードの同一位置のビットで構成されるデータである。グローバル書込ワード線ＷＷＬＡおよびブロック選択信号を利用して、データ線ＤＩＮＡ上にデータＤＩＮＡ［ｎ：０］を転送し、選択サブアレイブロックＯＡＲｉ内においてＹ方向（列方向）に整列するユニット演算子セルＵＯＥのトランジスタＮＱ１に対して並行してデータの書込を実行する。従って、書込ワード線ＷＷＬＡを順次選択状態に駆動してデータＤＩＮＡ［ｎ：０］を全て書込んだ後には、ユニット演算子セル行＜０＞には、データワード＜０＞の各ビットが格納され、行＜１＞にはデータワード＜１＞の各ビットが格納される。たとえば、演算子セルサブアレイブロックＯＡＲ３１のユニット演算子セル行＜０＞におけるＳＯＩトランジスタＮＱ１には、任意のデータワード＜０＞のビットが、ビットシリアルに書込まれる。
【０８９３】
読出ワード線ＲＷＬＡ＜０＞およびＲＷＬＢ＜０＞を選択状態に駆動して、演算子セルサブアレイブロックＯＡＲ３１のユニット演算子セル行＜０＞におけるＳＯＩトランジスタＮＱ１およびＮＱ２を読み出し対象として選択し、かつＡＮＤ演算を選択する。図１２８に示す記憶態様においては、ユニット演算子セル行＜０＞のマスクデータビットは、全て“１”であり、データバスＤＯＵＴＢを介して、ユニット演算子セル行＜０＞における複数のＳＯＩトランジスタＮＱ１に書込まれたデータワード＜０＞のデータ列が、データＤＯＵＴ［ｍ：０］として読み出される。
【０８９４】
また、演算子セルサブアレイブロックＯＡＲ３１のユニット演算子セル行＜１＞におけるＳＯＩトランジスタＮＱ１およびＮＱ２を読み出し対象として選択し、かつＡＮＤ演算を選択する。応じて、ユニット演算子セル行＜１＞における複数のＳＯＩトランジスタＮＱ１に書込まれたデータ列の奇数ビット（マスクデータビット“０”が書込まれたユニット演算子セル）がマスクされたデータ列が、データＤＯＵＴ［ｍ：０］として読み出される。
【０８９５】
また、選択読出ワード線ＲＷＬＡおよびＲＷＬＢを更新して、演算子セルサブアレイブロックＯＡＲ３１のユニット演算子セル行＜２＞におけるＳＯＩトランジスタＮＱ１およびＮＱ２を読み出し対象として選択し、かつこれらのＡＮＤ演算を選択する。ユニット演算子セル行＜２＞における複数のＳＯＩトランジスタＮＱ１に書込まれたデータ列の上位４ビットが、マスクビット“０”によりマスクされたデータ列がデータＤＯＵＴ［ｍ：０］として読み出される。
【０８９６】
以上のように、この発明の実施の形態１５においては、半導体信号処理装置に対し、Ｙ方向からマスクビットデータ列を入力し、Ｘ方向からワードパラレルのデータ列（ＤＩＮＡ［ｎ：０］）を入力すると、所望のビットがマスクされて、ビットパラレルのデータ列（ＤＯＵＴＢ［ｍ：０］）がワードシリアル態様で出力される。これにより、半導体集積回路装置においてデータ列の直交変換を行うと同時に所定のビットにマスクをかけることができる。
【０８９７】
［実施の形態１６］
図１２９は、この発明の実施の形態１６に係る半導体信号処理装置において用いられるメモリセルの断面構造を概略的に示す図である。図１２９に示すように、本実施の形態１６においては、ＭＲＡＭセルが利用される。図１２９においては、演算子セルアレイ２０において行列状に配置される複数のメモリセルのうち、ｉ番目のメモリセル行＜ｉ＞、ｊ番目のメモリセル行＜ｊ＞およびｋ番目のメモリセル行＜ｋ＞それぞれに配置されるメモリセルＭＣＩ、ＭＣＪおよびＭＣＫの構造を示す。本実施の形態１６においては、最大３つのメモリセル行が並行して選択される。これらのメモリセルＭＣＩ、ＭＣＪおよびＭＣＫは、各々、１つのトランジスタおよび１つのＭＴＪ素子で構成されるＭＲＡＭセルである。
【０８９８】
図１２９において、半導体基板領域７００表面に、間をおいて、高濃度Ｎ型不純物領域７０２Ｉ，７０４Ｉ，７０２Ｊ，７０４Ｊ，７０２Ｋ，７０４Ｋが配置される。不純物領域７０２Ｉおよび７０４Ｉの間のチャネル形成領域７０３Ｉ上に、図示しないゲート絶縁膜を介してゲート電極７０５Ｉが形成される。同様、不純物領域７０２Ｊおよび７０４Ｊの間のチャネル形成領域７０３Ｊ上に、図示しないゲート絶縁膜を介してゲート電極７０５Ｊが形成される。また、不純物領域７０２Ｋおよび７０４Ｋの間のチャネル形成領域７０３Ｋ上に、図示しないゲート絶縁膜を介してゲート電極７０５Ｋが形成される。
【０８９９】
不純物領域７０２Ｉおよび７０４Ｉとゲート電極７０５Ｉとにより、メモリセルＭＣＩのアクセストランジスタが形成される。ゲート電極７０５Ｉは、読出ワード線ＲＷＬｉを構成する。メモリセルＭＣＩにおいて、アクセストランジスタに対応してその上層に、可変抵抗素子として、可変磁気抵抗素子（ＭＴＪ素子）ＭＴＪＩが設けられる。
【０９００】
可変磁気抵抗素子ＭＴＪＩは、磁化方向が固定される固定層ＦＸＬと、磁化方向が記憶データに応じて変更される自由層ＦＲＬと、これらの固定層ＦＸＬおよび自由層ＦＲＬの間のトンネルバリア層ＴＢＬとを有する。自由層ＦＲＬは、上部電極ＵＥＬＲを介してビット線ＢＬに結合される。固定層ＦＸＬは、局所配線ＬＩＩに、図示しない下部電極を介して接続される。局所配線ＬＩＩは、プラグ７０６Ｉおよび７０７Ｉと中間層配線７０８Ｉとにより、不純物領域７０２Ｉに電気的に結合される。可変磁気抵抗素子ＭＴＪＩ下部において、中間層配線７０８Ｉと同一配線層に、導電線７０９Ｉが配置される。この導電線７０９Ｉは、書込ワード線ＷＷＬｉを構成する。
【０９０１】
メモリセルＭＣＪにおいては、不純物領域７０２Ｊおよび７０４Ｊとゲート電極７０５Ｊとにより、アクセストランジスタが形成される。ゲート電極７０５Ｊは、別の読出ワード線ＲＷＬｊを構成する。
【０９０２】
このメモリセルＭＣＪのアクセストランジスタ形成領域上部に、また、可変磁気抵抗素子ＭＴＪＪが設けられる。この可変磁気抵抗素子ＭＴＪＪは、可変磁気抵抗素子ＭＴＪＩと同一の構成を有するため、その参照符号は省略する。可変磁気抵抗素子ＭＴＪＪは、局所配線ＬＩＪ、プラグ７０６Ｊおよび７０７Ｊ、ならびに中間層配線７０８Ｊを介して不純物領域７０２Ｊに電気的に結合される。
【０９０３】
可変磁気抵抗素子ＭＴＪＪの下部において、中間層配線７０８Ｊと同一配線層に、導電線７０９Ｊが配置される。導電線７０９Ｊは、別の書込ワード線ＷＷＬｊを構成する。
【０９０４】
また、メモリセルＭＣＫにおいては、不純物領域７０２Ｋおよび７０４Ｋとゲート電極７０５Ｋとにより、アクセストランジスタが形成される。ゲート電極７０５Ｋは、別の読出ワード線ＲＷＬｋを構成する。
【０９０５】
このメモリセルＭＣＫのアクセストランジスタ形成領域上部に、また、可変磁気抵抗素子ＭＴＪＫが設けられる。この可変磁気抵抗素子ＭＴＪＫは、可変磁気抵抗素子ＭＴＪＩと同一の構成を有するため、その参照符号は省略する。可変磁気抵抗素子ＭＴＪＫは、局所配線ＬＩＫ、プラグ７０６Ｋおよび７０７Ｋ、ならびに中間層配線７０８Ｋを介して不純物領域７０２Ｋに電気的に結合される。
【０９０６】
可変磁気抵抗素子ＭＴＪＫの下部において、中間層配線７０８Ｋと同一配線層に、導電線７０９Ｋが配置される。導電線７０９Ｋは、別の書込ワード線ＷＷＬｋを構成する。
【０９０７】
図１３０は、図１２９に示すメモリセルＭＣＩ、ＭＣＪおよびＭＣＫの電気的等価回路を示す図である。図１３０において、メモリセルＭＣＩは、ビット線ＢＬとソース線ＳＬＩの間に直列に接続されるアクセストランジスタＡＴＩおよび可変磁気抵抗素子ＭＴＪＩを含む。メモリセルＭＣＪは、ビット線ＢＬとソース線ＳＬＪの間に直列に接続される可変磁気抵抗素子ＭＴＪＪおよびアクセストランジスタＡＴＪを含む。メモリセルＭＣＫは、ビット線ＢＬとソース線ＳＬＫの間に直列に接続される可変磁気抵抗素子ＭＴＪＫおよびアクセストランジスタＡＴＫを含む。図１３０においては、ソース線ＳＬＩ、ＳＬＪおよびＳＬＫは、ビット線ＢＬと直交する方向に配設されるように示すが、これらのソース線ＳＬＩ、ＳＬＪおよびＳＬＫは、ビット線ＢＬと並行に配設されてもよい。ソース線ＳＬＩ、ＳＬＪおよびＳＬＫは、接地ノードに結合される。
【０９０８】
アクセストランジスタＡＴＩ、ＡＴＪおよびＡＴＫは、それぞれ、読出ワード線ＲＷＬｉ、ＲＷＬｊおよびＲＷＬｋの電位に応答して選択的にオン状態となる。書込ワード線ＷＷＬｉ、ＷＷＬｊおよびＷＷＬｋは、それぞれ可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫと物理的に分離されかつ磁気的に結合される。
【０９０９】
ビット線ＢＬ、書込ワード線ＷＷＬｉ、ＷＷＬｊおよびＷＷＬｋを流れる電流が誘起する磁界により、可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫの自由層ＦＲＬの磁化方向が設定される。
【０９１０】
図１３１は、可変磁気抵抗素子の自由層および固定層の磁化方向とその抵抗値の関係を概略的に示す図である。図１３１においては、磁化方向を矢印で示す。図１３１（Ａ）に示すように、固定層ＦＸＬおよび自由層ＦＲＬの磁化方向が異なる場合（反平行の場合）、磁気抵抗効果により、可変磁気抵抗素子を通して流れる電流に対する電気的抵抗が高くなる。このとき、可変磁気抵抗素子は、電流に対して高抵抗状態となり、抵抗値Ｒｍａｘを有する。
【０９１１】
一方、図１３１（Ｂ）に示すように、固定層ＦＸＬと自由層ＦＲＬの磁化方向が一致するとき、すなわち平行なときには、この可変磁気抵抗素子は、電流に対して低抵抗状態となり、抵抗値Ｒｍｉｎを有する。
【０９１２】
アクセストランジスタＡＴ（ＡＴＩ，ＡＴＪ，ＡＴＫ）がオン状態のとき、ビット線ＢＬおよびソース線ＳＬ（ＳＬＩ，ＳＬＪ）を流れる電流量は、可変磁気抵抗素子ＭＴＪ（ＭＴＪＩ，ＭＴＪＪ，ＭＴＪＫ）の抵抗値に従って異なる。この電流量を、図示しないセンスアンプで検知することにより、このメモリセルＭＣ（ＭＣＩ，ＭＣＪ，ＭＣＫ）の記憶データを読出す。一例として、抵抗値Ｒｍａｘの高抵抗状態をデータ“０”に対応付け、抵抗値Ｒｍｉｎの低抵抗状態をデータ“１”に対応付ける。
【０９１３】
データ書込時においては、図１３０に示すアクセストランジスタＡＴＩ、ＡＴＪおよびＡＴＫをオフ状態に維持する。書込ワード線ＷＷＬ（ＷＷＬｉ、ＷＷＬｊまたはＷＷＬｋ）に所定の方向に電流を流し、磁界を誘起する。ビット線ＢＬを通して、書込データに応じた方向に電流を流す。ビット線ＢＬを流れる電流が誘起する磁界と書込ワード線ＷＷＬを流れる電流が誘起する磁界の合成磁界により、可変磁気抵抗素子ＭＴＪの自由層ＦＲＬの磁化方向を、固定層の磁化方向に対し平行状態または反平行状態に設定する。この自由層の磁化方向により、可変磁気抵抗素子ＭＴＪの抵抗状態が設定され、データの書込が行なわれる。
【０９１４】
このメモリセルＭＣのデータは、可変磁気抵抗素子の自由層の磁化方向により設定される。外部から、自由層の磁化方向を反転させる要因が印加されない限り、自由層ＦＲＬの磁化方向は変化しない。したがって、メモリセルＭＣは、不揮発的にデータを記憶することができる。また、この自由層ＦＲＬの磁化方向は、ビット線電流および書込ワード線電流の誘起する磁界により決定され、書込時、たとえばフラッシュメモリのように、トンネル絶縁膜などを介して電流は流れない。したがって、層間絶縁膜の劣化の問題は回避することができ、可変磁気抵抗素子の書換回数は、ほぼ無限大である。
【０９１５】
また、この可変磁気抵抗素子の自由層の磁化方向は、ビット線ＢＬおよび書込ワード線ＷＷＬを流れる電流により決定されるため、高速の書込を行なうことができる。また、データ読出も、ビット線ＢＬを流れる電流量に従って行なわれるため、高速で読出を行なうことができる。また、可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫを介して流れる電流の大きさに応じてデータの読出が行なわれ、可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫの自由層の磁化方向は、読出電流により反転しない。したがって、非破壊的にデータの読出を行なうことができ、ＤＲＡＭセルおよび強誘電体キャパシタのようなリストア動作が不要となり、データ読出サイクルを短くすることができる。
【０９１６】
本実施の形態１６においては、このＭＲＡＭセルの特長を利用して、メモリセルの記憶データと図示しないセンスアンプの増幅動作とを利用して、演算操作を実行する。
【０９１７】
図１３２は、本発明の第１の実施の形態に係る半導体信号処理装置のメモリセルのアレイ内配置を概略的に示す図である。図１３２においては、２つのメモリセル列に対応する回路を代表的に示す。
【０９１８】
メモリセルＭＣＩ１およびＭＣＩ２に対しては、読出ワード線ＲＷＬｉおよび書込ワード線ＷＷＬｉが配設され、メモリセルＭＣＪ１およびＭＣＪ２に対しては、読出ワード線ＲＷＬｊおよび書込ワード線ＷＷＬｊが設けられ、メモリセルＭＣＫ１およびＭＣＫ２に対しては、読出ワード線ＲＷＬｋおよび書込ワード線ＷＷＬｋが設けられる。メモリセルＭＣＩ１およびＭＣＩ２に対しては、行方向に延在するソース線ＳＬｉが設けられる。メモリセルＭＣＪ１およびＭＣＪ２に対しては、行方向に延在するソース線ＳＬｊが設けられる。メモリセルＭＣＫ１およびＭＣＫ２に対しては、行方向に延在するソース線ＳＬｋが設けられる。これらのソース線ＳＬｉ、ＳＬｊおよびＳＬｋは、共通ソース線ＳＬＣＭを介して接地ノードに結合される。
【０９１９】
メモリセル列に対応してビット線ＢＬが配置され、各メモリセル列に対応して２つのダミーセルＤＭＣＡおよびＤＭＣＢが配設される。すなわち、ビット線ＢＬ１が、メモリセルＭＣＩ１、ＭＣＪ１およびＭＣＫ１に対応して配置され、このビット線と対を成すビット線ＺＢＬ１にダミーセルＤＭＣＡ１およびＤＭＣＢ１が接続される。メモリセルＭＣＩ２、ＭＣＪ２およびＭＣＫ２がビット線ＢＬ２に接続され、このビット線ＢＬ２と対をなすビット線ＺＢＬ＜２＞にダミーセルＤＭＣＡ２およびＤＭＣＢ２が接続される。
【０９２０】
ダミーセルＤＭＣＡ１およびＤＭＣＡ２に対しては、ダミー読出ワード線ＤＲＷＬ１、ダミー書込ワード線ＤＷＷＬ１およびダミーソース線ＤＳＬ１が設けられ、ダミーセルＤＭＣＢ１およびＤＭＣＢ２に対しては、ダミー読出ワード線ＤＲＷＬ２、ダミー書込ワード線ＤＷＷＬ２およびダミーソース線ＤＳＬ２が設けられる。
【０９２１】
ダミーセルＤＭＣＡ１およびＤＭＣＡ２のダミーソース線ＤＳＬ１は、基準電圧ＶＲＥＦ１が供給される基準電位ノードＶＲＥＦ１または基準電圧ＶＲＥＦ３が供給される基準電位ノードＶＲＥＦ３にスイッチＭＳＷ１を介して結合される。
【０９２２】
ダミーセルＤＭＣＢ１およびＤＭＣＢ２のダミーソース線ＤＳＬ２は、基準電圧ＶＲＥＦ２が供給される基準電位ノードＶＲＥＦ２または基準電圧ＶＲＥＦ４が供給される基準電位ノードＶＲＥＦ４にスイッチＭＳＷ２を介して結合される。これらのダミーセルＤＭＣＡ１、ＤＭＣＡ２、ＤＭＣＢ１およびＤＭＣＢ２は、ともに低抵抗状態に設定され、抵抗値Ｒｍｉｎを有する。
【０９２３】
基準電位ノードＶＲＥＦ１およびＶＲＥＦ３のいずれをダミーソース線ＤＳＬ１と接続するか、基準電位ノードＶＲＥＦ２およびＶＲＥＦ４のいずれをダミーソース線ＤＳＬ２と接続するかは、後述するようにメモリセルＭＣから読み出したデータに対して行なわれる演算の種類によって決まる。また、メモリセルとしてＭＲＡＭセルが利用されるため、これらの基準電圧ＶＲＥＦ１−ｖＲＥＦ４の電圧レベルは、ＴＴＲＡＭセルを利用するユニット演算子セルの場合の基準電圧レベルと異なる電圧レベルに設定される。本実施の形態１６における基準電圧ＶＲＥＦ１−ＶＲＥＦ４の電圧レベルについては、後に具体的な演算について説明するときに併せて説明する。
【０９２４】
メモリセルＭＣの列およびダミーセルＤＭＣの列に対応してビット線ＢＬおよびＺＢＬがそれぞれ設けられる。メモリセルＭＣＩ１、ＭＣＪ１およびＭＣＫ１は、ビット線ＢＬ１に並列に結合され、ダミーセルＤＭＣＡ１およびＤＭＣＢ１は、補のビット線ＺＢＬ１に結合される。メモリセルＭＣＩ２、ＭＣＪ２およびＭＣＫ２は、ビット線ＢＬ２に並列に結合され、ダミーセルＤＭＣＡ２およびＤＭＣＢ２は、補のビット線ＺＢＬ２に結合される。
【０９２５】
読出ワード線ＲＷＬｉ、ＲＷＬｊおよびＲＷＬｋの一端に、読出ドライバＲＷＤＶＩ、ＲＷＤＶＪおよびＲＷＤＶＫがそれぞれ設けられる。ダミー読出ワード線ＤＲＷＬ１およびＤＲＷＬ２の一端に、読出ドライバＤＲＷＤＶ１およびＤＲＷＤＶ２がそれぞれ設けられる。書込ワード線ＷＷＬｉ、ＷＷＬｊおよびＷＷＬｋの一端に、書込ドライバＷＷＤＶＩ、ＷＷＤＶＪおよびＷＷＤＶＫがそれぞれ設けられる。ダミー書込ワード線ＤＷＷＬ１およびＤＷＷＬ２の一端に、書込ドライバＤＷＷＤＶ１およびＤＷＷＤＶ２がそれぞれ設けられる。
【０９２６】
読出ドライバＲＷＤＶＩ、ＲＷＤＶＪ、ＲＷＤＶＫ、ＤＲＷＤＶ１およびＤＲＷＤＶ２は、データ読み出し時、対応の読出ワード線を選択状態へ駆動する。書込ドライバＷＷＤＶＩ、ＷＷＤＶＪ、ＷＷＤＶＫ、ＤＷＷＤＶ１およびＤＷＷＤＶ２は、データ書込時、対応の書込ワード線を選択状態へ駆動する。
【０９２７】
ビット線ＢＬ１およびＺＢＬ１の一端に、センスアンプＳＡ１が設けられる。また、ビット線ＢＬ１の両端に、書込ドライバＷＤＶＡ１およびＷＤＶＡ２がそれぞれ設けられ、また補のビット線ＺＢＬ＜１＞の両端に、書込ドライバＤＷＤＶＡ１およびＤＷＤＶＡ２がそれぞれ設けられる。書込ドライバＷＤＶＡ１およびＷＤＶＡ２は、データ書込時、相補データＤおよび／Ｄに従ってビット線ＢＬ＜１＞に電流を流す。同様に、書込ドライバＤＷＤＶＡ１およびＤＷＤＶＡ２も、相補データＤＤおよび／ＤＤに従って、補のビット線ＺＢＬ＜１＞に双方向に電流を流す。これらの書込ドライバＷＤＶＡ１、ＷＤＶＡ２、ＤＷＤＶＡ１、およびＤＷＤＶＡ２を双方向ドライバで構成することにより、ビット線ＢＬ＜１＞およびＺＢＬ＜１＞に、書込データに応じて双方向に電流を流すことができ、メモリセルＭＣＩ１、ＭＣＪ１およびＭＣＫ１に対し、データを書込むことができる。
【０９２８】
同様に、ビット線ＢＬ＜２＞およびＺＢＬ＜２＞の一端に、センスアンプＳＡ２が設けられる。また、ビット線ＢＬ＜２＞の両端に、書込ドライバＷＤＶＢ１およびＷＤＶＢ２が設けられ、また補のビット線ＺＢＬ＜２＞の両端に、書込ドライバＤＷＤＶＢ１およびＤＷＤＶＢ２が設けられる。書込ドライバＷＤＶＢ１およびＷＤＶＢ２は、データ書込時、相補データＤおよび／Ｄに従ってビット線ＢＬ＜２＞に電流を流す。同様に、書込ドライバＤＷＤＶＢ１およびＤＷＤＶＢ２も、相補データＤＤおよび／ＤＤに従って、補のビット線ＺＢＬ＜２＞に双方向に電流を流す。これらの書込ドライバＷＤＶＢ１、ＷＤＶＢ２、ＤＷＤＶＢ１、およびＤＷＤＶＢ２を双方向ドライバで構成することにより、ビット線ＢＬ＜２＞およびＺＢＬ＜２＞に、書込データに応じて双方向に電流を流すことができ、メモリセルＭＣＩ２、ＭＣＪ２およびＭＣＫ２に対し、データを書込むことができる。
【０９２９】
ただし、ダミーセルＤＭＣは、低抵抗状態に設定されるため、補のビット線ＺＢＬに対して設けられる書込ドライバＤＷＤＶＡ１、ＤＷＤＶＡ２、ＤＷＤＶＢ１およびＤＷＤＶＢ２は、供給電流の方向が固定されることから、双方向に電流を供給することは、特に要求されない。
【０９３０】
このセンスアンプＳＡ、１対の書込ドライバＷＤＶおよび１対の書込ドライバＤＷＤＶが、各ビット線対に対応して設けられる。この書込ドライバＷＤＶの構成としては、通常のＭＲＡＭにおける書込ドライバが利用されれば良く、メモリセル行単位でデータの書込を行う場合には、この書込ドライバに対して列選択信号を供給することは特に要求されない。ビット線毎に順次データを書込む場合には、列選択信号により選択列の書込ドライバをイネーブルする。
【０９３１】
なお、ダミーセルＤＭＣＡ１、ＤＭＣＡ２、ＤＭＣＢ１およびＤＭＣＢ２のダミーソース線ＤＳＬ１およびＤＳＬ２が、接地ノードではなく、基準電位ノードＶＲＥＦ１〜ＶＲＥＦ４に結合されるのは、以下の理由による。すなわち、データ読出時、これらの基準電位ノードの電圧ＶＲＥＦ１〜ＶＲＥＦ４を所望の値に設定した場合、これらのダミーセルＤＭＣＡ１、ＤＭＣＡ２、ＤＭＣＢ１およびＤＭＣＢ２を介してそれぞれ流れる電流量を、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫを介して流れる電流の中間値またはそれより大きい値に設定することができる。
【０９３２】
演算処理時においては、後に詳細に説明するように、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫが並行して選択され、これらのメモリセルの記憶データに応じた電流がビット線ＢＬを介して流れる。このビット線上の合成電流に対して基準電圧ＶＲＥＦ１〜ＶＲＥＦ４の電圧レベルを調整して、補のビット線ＺＢＬを介して流れるダミーセル電流を調整することで、必要とされる演算を実行する。
【０９３３】
データ書込時においては、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫを順次選択して、１対の書込ドライバＷＤＶによりデータを書込む。データ読出時においては、読出ワード線ＲＷＬ＜ｉ＞、ＲＷＬ＜ｊ＞およびＲＷＬ＜ｋ＞を並行して選択状態へ駆動し、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫの可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫを並列にビット線ＢＬに結合する。
【０９３４】
次に、図１３２に示す半導体信号処理装置において、１つのメモリセル行＜ｉ＞を選択した場合における読み出し動作について説明する。
【０９３５】
図１３３は、メモリセルＭＣＩの記憶データの組み合わせを一覧にして示す図である。図１３３に示すように、メモリセルＭＣＩの可変磁気抵抗素子ＭＴＪＩの抵抗状態の組合わせとして、２つの状態が存在する。状態Ｓ（０）は、メモリセルＭＣＩの可変磁気抵抗素子ＭＴＪＩが、高抵抗状態Ｈ（Ｒｍａｘ）である。状態Ｓ（１）は、可変磁気抵抗素子ＭＴＪＩが、低抵抗状態Ｌ（Ｒｍｉｎ）である。ここで、高抵抗状態をデータ“０”に対応付け、低抵抗状態をデータ“１”に対応付けている。
【０９３６】
データ書込時において、メモリセル行＜ｉ＞に対応する複数のメモリセルＭＣＩを並行して選択し、各可変磁気抵抗素子ＭＴＪＩの抵抗状態を設定する。すなわち、書込時には、書込ワード線ＷＷＬ＜ｉ＞を選択し、選択列のビット線ＢＬの両端に配置された１対の書込ドライバＷＤＶを用いて、選択列のビット線ＢＬを介して書込データに応じた方向に電流を流す。このとき、書込ワード線ＷＷＬＩにおいては、書込データの論理値にかかわらず一定の方向に電流が流れるため、また、書込ワード線ＷＷＬＩは、メモリセルと物理的に分離されているため、選択行＜ｉ＞のメモリセルに対して並行してデータの書込が実行されても良い。
【０９３７】
読出時においては、メモリセル行＜ｉ＞上の複数のメモリセルＭＣＩを選択し、各可変磁気抵抗素子ＭＴＪＩを並行して対応のビット線ＢＬに結合する。センスアンプＳＡから各ビット線に対して電流が供給される。したがって、読出時においては、センスアンプＳＡからの読出電流が、メモリセルの記憶データに応じて、ビット線ＢＬから各可変磁気抵抗素子ＭＴＪＩを介してソース線ＳＬへと流れる。
【０９３８】
一方、各メモリセル列において、ダミーセルＤＭＣＡおよびＤＭＣＢは、データ読出時、１つのダミーセルが選択される。すなわち、ダミー読出ワード線ＤＲＷＬ１およびＤＲＷＬ２のいずれかが選択される。これらのダミーセルＤＭＣＡおよびＤＭＣＢは、低抵抗状態Ｌ（Ｒｍｉｎ）であり、抵抗値Ｒｍｉｎを有する。基準電圧ＶＲＥＦ１〜ＶＲＥＦ４の電圧レベルを選択することにより、ダミーセルＤＭＣＡおよびＤＭＣＢを流れる電流量を調整する。ここでは、ダミー読出ワード線ＤＲＷＬ１が選択されてダミーセルＤＭＣＡが選択され、また、スイッチＭＳＷにより基準電位ノードＶＲＥＦ１にダミーセルＤＭＣＡが接続される場合について説明する。
【０９３９】
図１３４は、データ読出時におけるビット線ＢＬおよびＺＢＬを流れる電流に応じた読出電位の関係を示す図である。図１３４において、縦軸にビット線ＢＬおよびＺＢＬの電位を示し、横軸に時間を示す。なお、データ読出前、ビット線ＢＬおよびＺＢＬは、センスアンプにより所定電圧レベル（読出電圧レベル）にプリチャージされる。
【０９４０】
メモリセルＭＣＩが状態Ｓ（０）のときには、メモリセルＭＣＩ（可変磁気抵抗素子ＭＴＪＩ）は高抵抗状態であり、メモリセルＭＣＩを流れる電流が最も小さい状態である。この場合、ビット線ＢＬの電位低下は最も遅い。
【０９４１】
一方、状態Ｓ（１）においては、メモリセルＭＣＩ（可変磁気抵抗素子ＭＴＪＩ）は低抵抗状態であり、多くの電流をビット線ＢＬからソース線ＳＬへ流す。したがって、この場合、ビット線電位は最も早くかつ大きく低下する。
【０９４２】
また、ダミーセルＤＭＣＡは低抵抗状態Ｌ（Ｒｍｉｎ）である。メモリセルＭＣＩのソース線は接地電圧レベルに維持される。したがって、基準電圧ＶＲＥＦ１を接地電圧以上の電圧レベルに設定することにより、ダミーセルＤＭＣＡを通して流れる電流を、状態Ｓ（０）のときにビット線ＢＬを通して流れる電流よりも大きく、かつ状態Ｓ（１）のときにビット線ＢＬを通して流れる電流よりも小さくすることができる。従って、ダミーセルＤＭＣＡ選択時の補のビット線ＺＢＬの電位を、状態Ｓ（０）と状態Ｓ（１）の間の状態に設定することができる。この場合のダミーセルＤＭＣＡを介して流れる電流Ｉｄ１については、以下のように表わすことができる。
【０９４３】
Ｉｌ＞Ｉｄ１＞Ｉｈ
ただし、ＩｈおよびＩｌは、それぞれ、高抵抗状態および低抵抗状態のメモリセルＭＣを介して流れる電流を示す。
【０９４４】
センスアンプＳＡによりビット線ＢＬおよびＺＢＬの電流を差動増幅してメモリセルＭＣＩの記憶データの読出を行なう。この場合、センスアンプＳＡにおいては、ダミーセルＤＭＣＡを通して流れる電流を基準値として用いて、ビット線電流の２値判断を行なっている。従って、センスアンプＳＡの出力は、メモリセルＭＣＩの１ビットの記憶データの論理値を示している。
【０９４５】
図１３５は、本実施の形態１６に係る半導体信号処理装置におけるセンスアンプＳＡの出力信号とメモリセルＭＣＩの記憶状態との対応を一覧にして示す図である。
【０９４６】
図１３５に示すように、状態Ｓ（０）においては、可変磁気抵抗素子ＭＴＪＩは高抵抗状態Ｈ（Ｒｍａｘ）であり、データ“０”を記憶している。この状態においては、図１３４に示すようにビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも小さく、ビット線ＢＬの電位は補のビット線ＺＢＬよりも高い。このとき、センスアンプの出力信号は“１”となる。
【０９４７】
状態Ｓ（１）においては、メモリセルＭＣＩは低抵抗状態Ｌ（Ｒｍｉｎ）であり、データ“１”を記憶している。この状態においては、図１３４に示すようにビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも大きく、ビット線ＢＬの電位は補のビット線ＺＢＬよりも低い。このとき、センスアンプの出力信号は “０”となる。
【０９４８】
したがって、センスアンプからは、メモリセルＭＣＩの記憶データのＮＯＴ演算結果が出力される。
【０９４９】
次に、半導体信号処理装置１０１において、２つのメモリセル行＜ｉ＞および＜ｊ＞を選択した場合における読み出し動作について説明する。
【０９５０】
図１３６は、行＜ｉ＞および＜ｊ＞上のメモリセルＭＣＩおよびＭＣＪの記憶データの組み合わせを一覧にして示す図である。図１３６に示すように、メモリセルＭＣＩおよびＭＣＪの可変磁気抵抗素子ＭＴＪＩおよびＭＴＪＪの抵抗状態の組み合わせとして、４つの状態が存在する。状態Ｓ（０，０）は、メモリセルＭＣＩおよびＭＣＪの可変磁気抵抗素子ＭＴＪＩおよびＭＴＪＪが、ともに、高抵抗状態Ｈ（Ｒｍａｘ）である。状態Ｓ（１，０）は、可変磁気抵抗素子ＭＴＪＩおよびＭＴＪＪが、それぞれ低抵抗状態Ｌ（Ｒｍｉｎ）および高抵抗状態Ｈ（Ｒｍａｘ）である。ここで、高抵抗状態をデータ“０”に対応付け、低抵抗状態を、データ“１”に対応付けている。
【０９５１】
状態Ｓ（０，１）は、可変磁気抵抗素子ＭＴＪＩおよびＭＴＪＪが、それぞれ、高抵抗状態Ｈ（Ｒｍａｘ）および低抵抗状態Ｌ（Ｒｍｉｎ）である。状態Ｓ（１，１）は、可変磁気抵抗素子ＭＴＪＩおよびＭＴＪＪが、ともに低抵抗状態Ｌ（Ｒｍｉｎ）である。
【０９５２】
データ書込時において、メモリセル行＜ｉ＞に対応する複数のメモリセルＭＣＩとメモリセル行＜ｊ＞に対応する複数のＭＣＪとを個々に選択し、各可変磁気抵抗素子ＭＴＪＩおよび各可変磁気抵抗素子ＭＴＪＪの抵抗状態を設定する。すなわち、書込時には、書込ワード線ＷＷＬ＜ｉ＞およびＷＷＬ＜ｊ＞を順次選択し、図１３２に示す各ビット線の両端に配置された１対の書込ドライバＷＤＶを用いて、各ビット線ＢＬにおいて書込データに応じた方向に電流を流す。
【０９５３】
読出時においては、メモリセル行＜ｉ＞に対応する複数のメモリセルＭＣＩおよびメモリセル行＜ｊ＞に対応する複数のメモリセルＭＣＪを並行して選択し、可変磁気抵抗素子ＭＴＪＩおよび可変磁気抵抗素子ＭＴＪＪの各組を並行して各ビット線ＢＬに結合する。したがって、読出時においては、可変磁気抵抗素子ＭＴＪＩおよび可変磁気抵抗素子ＭＴＪＪの各組を通して流れる電流の合成電流が各ビット線ＢＬを通して流れる。
【０９５４】
一方、各メモリセル列において、ダミーセルＤＭＣＡおよびＤＭＣＢは、データ読出時、１つのダミーセルが選択される。すなわち、ダミー読出ワード線ＤＲＷＬ１およびＤＲＷＬ２のいずれかが選択される。これらのダミーセルＤＭＣＡおよびＤＭＣＢは、低抵抗状態Ｌ（Ｒｍｉｎ）であり、抵抗値Ｒｍｉｎを有する。基準電圧ＶＲＥＦ１〜ＶＲＥＦ４の電圧レベルを選択することにより、ダミーセルＤＭＣＡおよびＤＭＣＢを流れる電流量を調整する。
【０９５５】
図１３７は、データ読出時のビット線および補のビット線への可変磁気抵抗素子の接続態様を示す図である。図１３７において、メモリセルＭＣＩおよびＭＣＪが並列に接続される。データ読出時、アクセストランジスタＡＴＩおよびＡＴＪが並行して選択され、可変磁気抵抗素子ＭＴＪＩおよびＭＴＪＪが、ビット線ＢＬと接地ノードとの間に並列に、記憶データに応じた電流ＩＩおよびＩＪを流す。補のビット線ＺＢＬには、ダミーセルＤＭＣ（ＤＭＣＡまたはＤＭＣＢ）が、基準電圧ＶＲＥＦ（ＶＲＥＦ１〜ＶＲＥＦ４のいずれか）の電圧レベルに応じた電流ＩＤを流す。これらのビット線の合成電流ＩＩ＋ＩＪと補のビット線ＺＢＬのダミーセル電流ＩＤとの大小に応じて、データの読出を実行する。
【０９５６】
図１３８は、データ読出時におけるビット線ＢＬおよびＺＢＬを流れる電流に応じた読出電位の関係を示す図である。図１３８において、縦軸にビット線ＢＬおよびＺＢＬの電位を示し、横軸に時間を示す。
【０９５７】
メモリセルＭＣＩおよびＭＣＪが状態Ｓ（０，０）のときには、メモリセルＭＣＩおよびＭＣＪはともに高抵抗状態であり、メモリセルＭＣＩおよびＭＣＪを流れる電流が最も小さい状態である。この場合、ビット線ＢＬの電位低下は最も遅い。ここで、データ読出時においては、ビット線ＢＬおよびＺＢＬは、センスアンプにより所定電圧レベル（読出電圧レベル）にプリチャージされる。
【０９５８】
一方、状態Ｓ（１，１）においては、メモリセルＭＣＩおよびＭＣＪは、ともに低抵抗状態であり、多くの電流をビット線ＢＬからソース線ＳＬへ流す。したがって、この場合、ビット線電位は最も早くかつ大きく低下する。
【０９５９】
状態Ｓ（１，０）およびＳ（０，１）は、高抵抗状態と低抵抗状態の組み合わせであり、状態Ｓ（０，０）およびＳ（１，１）のビット線電流の中間の電流が流れる。したがって、状態Ｓ（１，０）およびＳ（０，１）の場合、ビット線の読出電位は、この状態Ｓ（０，０）およびＳ（１，１）の電位の間となる。
【０９６０】
また、ダミーセルＤＭＣＡおよびＤＭＣＢは、ともに低抵抗状態Ｌ（Ｒｍｉｎ）である。メモリセルＭＣＩおよびＭＣＪのソース線は接地電圧レベルに維持される。したがって、基準電圧ＶＲＥＦとして、基準電圧ＶＲＥＦ１を選択し、この基準電圧ＶＲＥＦ１を接地電圧以上の電圧レベルに設定する。ダミーセルとしてダミーセルＤＭＣＡを選択する。この条件下において、ダミーセルＤＭＣＡを介して流れる電流を、状態Ｓ（０，０）のときにビット線ＢＬを流れる電流よりも大きくかつ状態Ｓ（０，１）およびＳ（１，０）のときにビット線ＢＬを流れる電流よりも小さくすることができる。従って、ダミーセルＤＭＣＡ選択時の補のビット線ＺＢＬの電位を、状態Ｓ（０，０）と状態Ｓ（１，０）およびＳ（０，１）との間に設定することができる。この場合のダミーセルＤＭＣＡを通して流れる電流Ｉｄ１については、以下のように表わすことができる。
【０９６１】
Ｉｌ＞Ｉｄ１＞Ｉｈ、
２×Ｉｈ＜Ｉｄ１＜Ｉｈ＋Ｉｌ
ただし、ＩｈおよびＩｌは、それぞれ、高抵抗状態および低抵抗状態のメモリセルＭＣを流れる電流を示す。
【０９６２】
次に、ダミー読出ワード線ＤＲＷＬ２が選択されてダミーセルＤＭＣＢが選択され、また、基準電位ノードＶＲＥＦ２にスイッチＭＳＷ２を介してダミーセルＤＭＣＢが接続される場合について説明する。
【０９６３】
ダミーセルＤＭＣＢを選択し、基準電圧ＶＲＥＦ２を負電圧に設定した場合、１つの低抵抗状態のメモリセルＭＣを通して流れる電流よりも大きな電流を、補のビット線ＺＢＬに流すことができる。従って、ダミーセルＤＭＣＢ選択時の補のビット線ＺＢＬの電位を、状態Ｓ（１，０）およびＳ（０，１）と状態Ｓ（１，１）との間に設定することができる。この場合のダミーセルＤＭＣＢを通して流れる電流Ｉｄ２については、以下のように表わすことができる。
【０９６４】
Ｉｌ＜Ｉｄ２、
２×Ｉｌ＞Ｉｄ２＞Ｉｈ＋Ｉｌ
センスアンプＳＡによりビット線ＢＬおよびＺＢＬの電流を差動増幅してメモリセルＭＣＩおよびＭＣＪの記憶データの読出を行なう。この場合、センスアンプＳＡにおいては、ダミーセルＤＭＣを通して流れる電流を基準値として用いて、ビット線電流の２値判断を行なっている。従って、センスアンプＳＡの出力は、メモリセルＭＣＩおよびＭＣＪの２ビットの記憶データの組み合わせを基準電圧を参照して２分類したうちのいずれか一方を示しており、センスアンプＳＡにより、メモリセルＭＣＩおよびＭＣＪの記憶データに対する論理演算を行なうことができる。
【０９６５】
図１３９は、本実施の形態１６に係る半導体信号処理装置におけるセンスアンプの出力信号とメモリセルＭＣＩおよびＭＣＪの記憶状態との対応を一覧にして示す図である。
【０９６６】
図１３９に示すように、状態Ｓ（０，０）においては、可変磁気抵抗素子ＭＴＪＩおよびＭＴＪＪがともに高抵抗状態Ｈ（Ｒｍａｘ）であり、データ“０”を記憶している。この状態においては、ダミーセルＤＭＣＡ（基準電圧ＶＲＥＦ１）およびＤＭＣＢ（基準電圧ＶＲＥＦ２）のいずれを選択しても、図１３８に示すように、ビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも小さく、ビット線ＢＬの電位は補のビット線ＺＢＬよりも高い。このとき、センスアンプの出力信号は“１”となる。
【０９６７】
状態Ｓ（１，０）および状態Ｓ（０，１）の場合、メモリセルＭＣＩおよびＭＣＪの一方が高抵抗状態Ｈ（Ｒｍａｘ）であり、他方が低抵抗状態Ｌ（Ｒｍｉｎ）である。したがって、基準電圧ＶＲＥＦ１を選択した場合には、ビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも大きく、ビット線ＢＬの電位が補のビット線ＺＢＬよりも低くなる。このとき、センスアンプの出力信号は“０”となる。また、基準電圧ＶＲＥＦ２を選択した場合には、ビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも小さく、ビット線ＢＬの電位が補のビット線ＺＢＬよりも高くなる。このとき、センスアンプの出力信号は“１”となる。
【０９６８】
状態Ｓ（１，１）の場合、メモリセルＭＣＩおよびＭＣＪはともに低抵抗状態Ｌ（Ｒｍｉｎ）であり、データ“１”を記憶している。この場合、基準電圧ＶＲＥＦ１およびＶＲＥＦ２のいずれを選択しても、図１３８に示すように、ビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも大きく、ビット線ＢＬの電位は、補のビット線ＺＢＬよりも低くなる。このとき、センスアンプの出力信号は“０”となる。
【０９６９】
したがって、図１３９に示すように、基準電圧ＶＲＥＦ１を選択した場合、センスアンプからは、メモリセルＭＣＩおよびＭＣＪの記憶データのＮＯＲ演算結果が出力され、また、基準電圧ＶＲＥＦ２を選択した場合、センスアンプからは、メモリセルＭＣＩおよびＭＣＪの記憶データのＮＡＮＤ演算結果が出力される。
【０９７０】
なお、センスアンプとしては、交差結合ラッチ型センスアンプが用いられてもよい。しかしながら、この交差結合型ラッチセンスアンプは、ビット線ＢＬおよびＺＢＬの電位差を増幅する電圧検出型センスアンプである。したがって、より高速でセンス動作を行なうために、電流検出型センスアンプを利用することが好ましい。
【０９７１】
図１４０は、本実施の形態１６に半導体信号処理装置において用いられる係る電流検出型センスアンプの構成の一例を示す図である。この図１４０に示すセンスアンプＳＡは、以下の点で図１０３に示すセンスアンプＳＡとその構成が異なる。すなわち、抵抗接続されたＮチャネルＭＯＳトランジスタＮＮ８およびＮＮ９は、設けられない。ＮチャネルＭＯＳトランジスタＮＮ１およびＮＮ６が、それぞれ、セル電流Ｉｃｅｌｌおよびダミーセル電流Ｉｄｕｍｍｙをビット線ＢＬおよびＺＢＬに供給する。これらのＮチャネルＭＯＳトランジスタＮＮ１およびＮＮ６は、それぞれのゲートにセンス基準電圧Ｖｒｅｆｓを受ける。このセンス基準電圧Ｖｒｅｆｓは、データ読出時、メモリセルＭＣのビット線ＢＬに大きな電流が流れ、このビット線電流の誘起磁界によりメモリセルの記憶データが破壊されるのを防止する。
【０９７２】
次に、この図１４０に示すセンスアンプＳＡの動作について、簡単に説明する。センスアンプ活性化信号／ＳＥおよびＳＥの非活性化時、ＭＯＳトランジスタＰＰ７およびＮＮ７は、オフ状態である。この状態においては、ＭＯＳトランジスタＰＰ２およびＰＰ５により、中間センス出力信号ＳＯＴおよび／ＳＯＴは、電源電圧ＶＤＤレベルに維持される。ノードＮＤ１は、ＭＯＳトランジスタＰＰ１、ＮＮ１、およびＰＰ６、ＮＮ１により、ビット線ＢＬおよびＺＢＬと同様の電位レベルに維持される。また、最終センス出力信号ＳＯＵＴおよび／ＳＯＵＴも出力ハイインピーダンス状態のプリチャージレベル（例えば論理ハイレベル）に維持される。
【０９７３】
センス動作時には、先ず、読出ワード線選択前に、センスアンプ活性化信号／ＳＥを活性化し、ＭＯＳトランジスタＰＰ７およびＮＮ７をオン状態とする。応じて、ノードＮＤ１が電源ノードに結合され、ＭＯＳトランジスタＰＰ１およびＰＰ６が動作し、ビット線ＢＬおよびＺＢＬが充電される。この場合、またセンスアンプ活性化信号ＳＥは、並行して活性化されてもよい。センス動作開始時までセンスアンプ活性化信号ＳＥの活性化が遅延されても良い。読出ワード線ＲＷＬは、まだ、非選択状態であり、ビット線ＢＬおよびＺＢＬが、ＭＯＳトランジスタＮＮ１およびＮＮ６から供給される電流に従って所定電圧レベルにプリチャージされる。
【０９７４】
プリチャージ動作が完了すると、次いで、読出ワード線を選択状態へ駆動する。このときまでには、センスアンプ活性化信号ＳＥが活性化される。応じて、選択メモリセルを介してビット線ＢＬからソース線に、その記憶データに応じたセル電流Ｉｃｅｌｌが流れる。一方、補のビット線ＺＢＬにおいても、ダミーセルにより、ダミーセル電流Ｉｄｕｍｍｙが流れる。これらの電流ＩｃｅｌｌおよびＩｄｕｍｍｙは、ＭＯＳトランジスタＰＰ１およびＰＰ６により、それぞれ供給され、ＭＯＳトランジスタＰＰ１を介して流れる電流のミラー電流が、ＭＯＳトランジスタＰＰ２およびＰＰ３を介して流れ、ＭＯＳトランジスタＰＰ６を介して流れる電流のミラー電流がＭＯＳトランジスタＰＰ４およびＰＰ５を介して流れる。従って、これらのビット線を介して流れるセル電流Ｉｃｅｌｌおよびダミーセル電流Ｉｄｕｍｍｙのミラー電流が、それぞれ、ＭＯＳトランジスタＮＮ２およびＮＮ５を介して流れる。
【０９７５】
ＭＯＳトランジスタＮＮ２およびＮＮ５の電流／電圧変換動作により、セル電流Ｉｃｅｌｌがダミーセル電流Ｉｄｕｍｍｙよりも大きい場合には、中間センス出力信号／ＳＯＴが論理ハイレベル（中間電圧レベル）となり、中間センス出力信号ＳＯＴが論理ローレベル（中間電圧レベル）となる。逆に、セル電流Ｉｃｅｌｌがダミーセル電流Ｉｄｕｍｍｙよりも小さい場合には、中間センス出力信号／ＳＯＴが論理ローレベルとなり、中間センス出力信号ＳＯＴが論理ハイレベルとなる。これらの中間センス出力信号ＳＯＴおよび／ＳＯＴは、次段の最終増幅回路ＳＭＰによりさらに増幅され、電源電圧レベルおよび接地電圧レベルの最終センス出力信号ＳＯＵＴおよび／ＳＯＵＴが、生成される。
【０９７６】
ＭＯＳトランジスタＰＰ３およびＮＮ４には、セル電流Ｉｃｅｌｌとダミーセル電流Ｉｄｕｍｍｙのうちの小さいほうの電流が流れ、ＭＯＳトランジスタＰＰ４およびＮＮ３においても、ダミーセル電流Ｉｄｕｍｍｙとセル電流Ｉｃｅｌｌの小さいほうの電流が流れる。ＭＯＳトランジスタＮＮ７へは、セル電流Ｉｃｅｌｌとダミーセル電流Ｉｄｕｍｍｙの合計電流とこれらの電流の小さいほうの電流の２倍の電流との和が常時流れる。従って、１ビットセルデータを読出して２値判定を行なう場合には、センス動作の安定化のために、これらのＭＯＳトランジスタＰＰ３、ＰＰ４、ＮＮ３、およびＮＮ４は、ＭＯＳトランジスタＮＮ７を介して流れる電流量を一定とする機能を有する。
【０９７７】
しかしながら、図１０３に示す構成と同様、これらのＭＯＳトランジスタＰＰ３、ＮＮ４、ＮＮ３、およびＮＮＴ４は、特に設けられなくてもよい。また、これに代えて、ＭＯＳトランジスタＰＰ３およびＮＮ４の接続ノードおよびＭＯＳトランジスタＰＰ４およびＮＮ３の接続ノードから、センス出力信号ＳＯＵＴおよび／ＳＯＵＴが、それぞれ取り出される構成が用いられてもよい。
【０９７８】
上述のように、センスアンプＳＡが、複数のメモリセルの記憶データに対するＮＯＲ演算結果およびＮＡＮＤ演算結果を示す信号を生成している。また、メモリセルの記憶データの論理値を変更せずに読み出す場合、ならびにＯＲ演算およびＡＮＤ演算結果をセンスアンプにより生成する場合には、図１４０に示すセンス出力信号を、メインアンプ回路２４またはデータパス２８において反転すればよい。
【０９７９】
以上のように、基準電圧ＶＲＥＦ１〜ＶＲＥＦ４によりダミーセル電流Ｉｄｕｍｍｙの電流レベルを調整することにより、２つのデータのＮＯＲ演算およびＮＡＮＤ演算を選択的に行なうことができる。
【０９８０】
次に、半導体信号処理装置１０１において、３つのメモリセル行＜ｉ＞、＜ｊ＞および＜ｋ＞を選択した場合における読み出し動作について説明する。
【０９８１】
図１４１は、３つのメモリセルＭＣＩ、ＭＣＪおよびＭＣＫの記憶データの組み合わせを一覧にして示す図である。図１４１に示すように、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫの可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫの抵抗状態の組み合わせとして、８つの状態が存在する。状態Ｓ（Ａ，Ｂ，Ｃ）の表記において、ＡはメモリセルＭＣＩの抵抗状態を表し、ＢはメモリセルＭＣＪの抵抗状態を表し、ＣはメモリセルＭＣＫの抵抗状態を表す。たとえば、状態Ｓ（０，０，０）は、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫの可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫが、ともに、高抵抗状態Ｈ（Ｒｍａｘ）にあることを示す。状態Ｓ（１，１，１）は、可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫが、ともに低抵抗状態Ｌ（Ｒｍｉｎ）であることを示す。ここでも、高抵抗状態をデータ“０”に対応付け、低抵抗状態を、データ“１”に対応付けている。
【０９８２】
データ書込時において、メモリセル行＜ｉ＞に対応する複数のメモリセルＭＣＩと、メモリセル行＜ｊ＞に対応する複数のＭＣＪと、メモリセル行＜ｋ＞に対応する複数のＭＣＫとを各行単位でまたはメモリセル単位で個々に選択し、各可変磁気抵抗素子ＭＴＪＩ、各可変磁気抵抗素子ＭＴＪＪおよび各可変磁気抵抗素子ＭＴＪＫの抵抗状態を設定する。すなわち、書込時には、書込ワード線ＷＷＬ＜ｉ＞、ＷＷＬ＜ｊ＞およびＷＷＬ＜ｋ＞を順次選択し、図１３２に示す１対の書込ドライバＷＤＶを用いて、各ビット線ＢＬに書込データに応じた方向に電流を流す。
【０９８３】
読出時においては、メモリセル行＜ｉ＞に対応する複数のメモリセルＭＣＩ、メモリセル行＜ｊ＞に対応する複数のメモリセルＭＣＪおよびメモリセル行＜ｋ＞に対応する複数のメモリセルＭＣＫを並行して選択し、可変磁気抵抗素子ＭＴＪＩ、可変磁気抵抗素子ＭＴＪＪおよび可変磁気抵抗素子ＭＴＪＫの各組を並行して各ビット線ＢＬに結合する。したがって、読出時においては、可変磁気抵抗素子ＭＴＪＩ、可変磁気抵抗素子ＭＴＪＪおよび可変磁気抵抗素子ＭＴＪＫの各組を通して流れる電流の合成電流が対応のビット線ＢＬを介して流れる。
【０９８４】
一方、各メモリセル列において、ダミーセルＤＭＣＡおよびＤＭＣＢは、データ読出時、１つのダミーセルが選択される。すなわち、ダミー読出ワード線ＤＲＷＬ１およびＤＲＷＬ２のいずれかが選択される。これらのダミーセルＤＭＣＡおよびＤＭＣＢは、低抵抗状態Ｌ（Ｒｍｉｎ）であり、抵抗値Ｒｍｉｎを有する。基準電圧ＶＲＥＦ１〜ＶＲＥＦ４の電圧レベルを選択することにより、ダミーセルＤＭＣＡおよびＤＭＣＢを流れる電流量を調整する。まず、ダミー読出ワード線ＤＲＷＬ１が選択されてダミーセルＤＭＣＡが選択され、また、基準電位ノードＶＲＥＦ３にスイッチＭＳＷ１を介してダミーセルＤＭＣＡが接続される場合について説明する。
【０９８５】
図１４２は、データ読出時におけるビット線ＢＬおよびＺＢＬを流れる電流に応じた読出電位の関係を示す図である。図１４２において、縦軸にビット線ＢＬおよびＺＢＬの電位を示し、横軸に時間を示す。
【０９８６】
メモリセルＭＣＩ、ＭＣＪおよびＭＣＫが状態Ｓ（０，０，０）のときには、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫは、全て高抵抗状態であり、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫを流れる電流が最も小さい状態である。この場合、ビット線ＢＬの電位低下は最も遅い。ここで、データ読出時においては、ビット線ＢＬおよびＺＢＬは、所定電圧レベル（読出電圧レベル）にプリチャージされる。
【０９８７】
一方、状態Ｓ（１，１，１）においては、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫは、ともに低抵抗状態であり、多くの電流をビット線ＢＬからソース線ＳＬへ流す。したがって、この場合、ビット線電位は最も早くかつ大きく低下する。
【０９８８】
状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）は、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫのうちの２つが高抵抗状態であり、他の１つが低抵抗状態である。これらの状態では、状態Ｓ（０，０，０）およびＳ（１，１，１）のビット線電流の間の電流が流れる。したがって、状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）では、ビット線の読出電位は、状態Ｓ（０，０，０）およびＳ（１，１，１）の間となる。
【０９８９】
また、状態Ｓ（１，１，０）、Ｓ（１，０，１）およびＳ（０，１，１）は、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫのうちの２つが低抵抗状態であり、他の１つが高低抵抗状態である。これらの状態では、状態Ｓ（０，０，０）およびＳ（１，１，１）のビット線電流の間の電流が流れ、かつ状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）と比べてビット線電流が大きくなる。したがって、状態Ｓ（１，１，０）、Ｓ（１，０，１）およびＳ（０，１，１）では、ビット線の読出電位は、状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）と状態Ｓ（１，１，１）の電位の間となる。
【０９９０】
また、ダミーセルＤＭＣＡおよびＤＭＣＢは、ともに低抵抗状態Ｌ（Ｒｍｉｎ）である。メモリセルＭＣＩ、ＭＣＪおよびＭＣＫのソース線は接地電圧レベルに維持される。したがって、基準電圧ＶＲＥＦ１を接地電圧以上の電圧レベルに設定することにより、ダミーセルＤＭＣＡを通して流れる電流を、状態Ｓ（０，０，０）のときにビット線ＢＬを流れる電流よりも大きくかつ状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）のときにビット線ＢＬを流れる電流よりも小さくすることができる。従って、ダミーセルＤＭＣＡ選択時の補のビット線ＺＢＬの電位を、状態Ｓ（０，０，０）と状態Ｓ（１，０，０）、Ｓ（０，１，０）およびＳ（０，０，１）の電位の間に設定することができる。この場合のダミーセルＤＭＣＡを介して流れる電流Ｉｄ１については、以下のように表わすことができる。
【０９９１】
Ｉｌ＞Ｉｄ１＞Ｉｈ、
３×Ｉｈ＜Ｉｄ１＜２×Ｉｈ＋Ｉｌ
ただし、ＩｈおよびＩｌは、それぞれ、高抵抗状態および低抵抗状態のメモリセルＭＣを流れる電流を示す。
【０９９２】
次に、ダミー読出ワード線ＤＲＷＬ２が選択されてダミーセルＤＭＣＢが選択され、基準電位ノードＶＲＥＦ４にスイッチＭＳＷ２を介してダミーセルＤＭＣＢが接続される場合について説明する。
【０９９３】
ダミーセルＤＭＣＢを選択し、基準電圧ＶＲＥＦ４を負電圧に設定した場合、１つの低抵抗状態のメモリセルＭＣを介して流れる電流よりも大きな電流を、補のビット線ＺＢＬに流すことができる。従って、ダミーセルＤＭＣＢ選択時の補のビット線ＺＢＬの電位を、状態Ｓ（１，１，０）、Ｓ（１，０，１）およびＳ（０，１，１）と状態Ｓ（１，１，１）との間に設定することができる。この場合の、ダミーセルＤＭＣＢを通して流れる電流Ｉｄ２については、以下のように表わすことができる。
【０９９４】
Ｉｌ＜Ｉｄ２、
３×Ｉｌ＞Ｉｄ２＞Ｉｈ＋２×Ｉｌ
センスアンプＳＡによりビット線ＢＬおよびＺＢＬの電流を差動増幅してメモリセルＭＣＩ、ＭＣＪおよびＭＣＫの記憶データの読出を行なう。この場合、センスアンプＳＡにおいては、ダミーセルＤＭＣを通して流れる電流を基準値として用いて、ビット線電流の２値判断を行なっている。従って、センスアンプＳＡの出力は、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫの３ビットの記憶データの組み合わせを基準電圧の電圧レベルに応じて２分類したうちのいずれか一方を示しており、センスアンプＳＡにより、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫの記憶データに対する論理演算を行なうことができる。
【０９９５】
図１４３は、本実施の形態１６に係る半導体信号処理装置におけるセンスアンプの出力信号とメモリセルＭＣＩ、ＭＣＪおよびＭＣＫの記憶状態との対応を一覧にして示す図である。
【０９９６】
図１４３に示すように、状態Ｓ（０，０，０）においては、可変磁気抵抗素子ＭＴＪＩ、ＭＴＪＪおよびＭＴＪＫがともに高抵抗状態Ｈ（Ｒｍａｘ）であり、データ“０”を記憶している。この状態においては、ダミーセルＤＭＣＡ（基準電圧ＶＲＥＦ３）およびＤＭＣＢ（基準電圧ＶＲＥＦ４）のいずれを選択しても、図１４２に示すように、ビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも小さく、ビット線ＢＬの電位は補のビット線ＺＢＬよりも高い。このとき、センスアンプの出力信号は“１”となる。
【０９９７】
状態Ｓ（１，０，０）、Ｓ（０，１，０）、Ｓ（０，０，１）、Ｓ（１，１，０）、Ｓ（１，０，１）およびＳ（０，１，１）では、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫのうちの少なくともいずれか１つが低抵抗状態Ｌ（Ｒｍｉｎ）である。したがって、基準電圧ＶＲＥＦ３を選択した場合には、ビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも大きく、ビット線ＢＬの電位が補のビット線ＺＢＬよりも低くなる。このとき、センスアンプの出力信号は“０”となる。また、基準電圧ＶＲＥＦ４を選択した場合には、ビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも小さく、ビット線ＢＬの電位が補のビット線ＺＢＬよりも高くなる。このとき、センスアンプの出力信号は“１”となる。
【０９９８】
状態Ｓ（１，１，１）の場合、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫはともに低抵抗状態Ｌ（Ｒｍｉｎ）であり、データ“１”を記憶している。この場合、基準電圧ＶＲＥＦ３およびＶＲＥＦ４のいずれを選択しても、図１４に示すようにビット線ＢＬの電流は補のビット線ＺＢＬの電流よりも大きく、ビット線ＢＬの電位は、補のビット線ＺＢＬよりも低くなる。このとき、電圧検出型センスアンプの出力信号は“０”となる。
【０９９９】
したがって、図１４３に示すように、基準電圧ＶＲＥＦ３を選択した場合、センスアンプからは、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫの記憶データのＮＯＲ演算結果が出力され、また、基準電圧ＶＲＥＦ４を選択した場合、センスアンプからは、メモリセルＭＣＩ、ＭＣＪおよびＭＣＫの記憶データのＮＡＮＤ演算を行なった結果が出力される。
【１０００】
なお、本実施の形態１６に係る半導体信号処理装置では、ダミーセルＤＭＣがメモリセル列ごとに２つ設けられる構成であるとしているが、これに限定するものではない。ダミーセルＤＭＣがメモリセル列ごとに１つ設けられ、このダミーセルＤＭＣに接続されたスイッチＭＳＷが、たとえば基準電位ノードＶＲＥＦ１〜ＶＲＥＦ４のうちのいずれか１つとダミーセルＤＭＣとを選択的に結合する構成であってもよい。
【１００１】
従って、このＭＲＡＭセルを利用することにより、実施の形態１０から１５において説明したＬＵＴ演算と同様の演算を実行することができる。半導体信号処理装置の全体の構成としては、ユニット演算子セルＵＯＥをメモリセルＭＣで置き換えることにより、実施の形態１０から１５において示した全体の構成とそれぞれ同じ構成を利用することができる。
【１００２】
図１４４は、この発明の実施の形態１６に従う半導体信号処理装置のＬＵＴ演算の一例を示す図である。図１４４において、メモリサブアレイにおいて複数のエントリ（Ｅｎｔｒｙ）が、配置される。このエントリは、メモリセル行に対応し、図１４４においては、エントリｉ、ｊ、およびｋのメモリセルの記憶データ列を一例として示す。エントリｉにおいては、データ列“１０１０１０１０１０１０１”が格納され、エントリｊにおいては、データ列“０１０１０１０１０１０１０”が格納される。エントリｋには、データ列“００１１１００１１００１１０”が格納される。
【１００３】
エントリｉのデータ列に対して、図１３５に示す演算を利用してセンスアンプＳＡの出力信号ＳＯＵＴの反転信号を読出す処理を実行する（演算ＯＰ１）と、エントリｉのデータ列が、そのままデータ列“１０１０１０１０１０１０１”として出力される。
【１００４】
エントリｉおよびｊの記憶データ列に対して、図１３９に示すＮＡＮＤ演算処理を行ってその反転信号を出力すると（演算ＯＰ２）、データ列”０００００００００００００”が得られ、ＡＮＤ演算結果のデータ列が得られる。
【１００５】
エントリｊおよびｋの記憶データ列に対して図１４３に示すＮＡＮＤ演算を実行して、その演算結果を反転して出力する操作（ＯＰ３）を行うと、データ列”０００１０００１０００１０”が得られ、これらのエントリｊおよびｋの記憶データ列のＡＮＤ演算結果のデータ列が得られる。
【１００６】
従って、これらの演算を選択的に実行することにより、メモリセルサブアレイの配置されるエントリの数を等価的に増大することができ、実施の形態１０等と同様に、仮想エントリ空間を増大させることができる。実行される演算は、アドレスとともに供給される制御コマンドまたは特定のアドレスビットにより指定されれば良い。
【１００７】
また、この実施の形態１６において利用するＭＲＡＭセルは、実施の形態１から９の構成に対しても適用することができる（ユニット演算子セルＵＯＥに代えてメモリセルを利用する）。
【１００８】
［実施の形態１７］
図１４５は、この発明の実施の形態１７に従う半導体信号処理装置の全体の構成を概略的に示す図である。図１４５において、メモリセルアレイ８１０が、複数のサブアレイブロックＢＫ０−ＢＫｓに分割される。サブアレイブロックＢＫ０−ＢＫｓの各々においてユニット演算子セルＵＯＥが行列状に配列され、ユニット演算子セル行に対応して書込ワード線ＷＷＬ、Ａポート読出ワード線ＲＷＬおよびＢポート読出ワード線ＲＷＬＢが配設され、ユニット演算子セル列に対応してビット線ＢＬ（および補のビット線ＺＢＬ）が配置される。
【１００９】
ユニット演算子セルは、図１から３に示すＳＯＩトランジスタで構成されるユニット演算子セルＵＯＥと同様の構成を有し、１つのユニット演算子セルが、２つのＰチャネルＳＯＩトランジスタＰＱ１およびＰＱ２と、ＮチャネルＳＯＩトランジスタＮＱ１およびＮＱ２で構成される。
【１０１０】
この半導体信号処理装置は、さらに、選択されたサブアレイブロックから読出されたデータ（電流）をデジタル信号に変換するＡＤＣ帯８１２と、データの入出力を行なうデータパス８１４と、サブアレイブロックＢＫ０−ＢＫｓにおけるメモリセルを選択状態へ駆動し、データの書込および読出を制御するセル選択駆動回路８１６を含む。
【１０１１】
各サブアレイブロックＢＫ０−ＢＫｓが、各々、複数の演算単位ブロックに分割されており、各演算単位ブロックごとに、ＡＤＣ帯８１２は、メモリセルから読出された記憶データに応じた電流情報をアナログ的に加算し、この加算電流値をデジタル信号に変換するアナログ／デジタル変換器（Ａ／Ｄ変換器：ＡＤＣ）を含む。
【１０１２】
データパス８１４は、データ読出時、このＡＤＣ帯８１２により生成されたデジタル情報を装置外部へ転送し、データ書込時、与えられた多ビット数値データを、各ビット位置の重みに応じた数のユニット演算子セルに各データビットを転送するように内部書込データを生成する。
【１０１３】
セル選択駆動回路８１６は、選択されたサブアレイブロックにおいて複数列のユニット演算子セルを並行して選択し、データの書込／読出を行なう（書込ワード線ＷＷＬおよび読出ワード線ＲＷＬＡ，ＲＷＬＢの選択状態への駆動等）。この半導体信号処理装置における内部動作制御は、制御回路８１８により行なわれる。
【１０１４】
この図１４５に示すように、ＡＤＣ帯８１２を設け、ユニット演算子セルの記憶情報に応じた電流の加算を行なうことにより、ユニット演算子セルの記憶するデジタルデータの加算を行なう場合、キャリー／ボローを生成する必要がなく、高速で、演算処理結果を得ることができる。また、メモリセルの記憶データを装置内部で読出すだけで演算処理が行なわれるため、高速の演算処理を実現することができる。
【１０１５】
また、後に詳細に説明するように、ユニット演算子セルの記憶情報を電流の形態で読出す構成としており、低電源電圧下においても、高速でデータの読出を行なうことができる。
【１０１６】
図１４６は、図１４５に示すサブアレイブロックＢＫ０−ＢＫｓの１つのサブアレイブロックＢＫｉの構成を概略的に示す図である。図１４６において、サブアレイブロックＢＫｉは、ユニット演算子セルＵＯＥが行列状に配列されるセルサブアレイ８２０を含む。セルサブアレイ８２０においては、ユニット演算子セルＵＯＥが行列状に配列され、各列に対応して、Ａポート読出ビット線ＲＢＬＡおよびＢポート読出ビット線ＲＢＬＢが配設される。これらのＡポート読出ビット線ＲＢＬＡおよびＢポート読出ビット線ＲＢＬＢは、それぞれ、対応の列のユニット演算子セルＵＯＥの読出ポートＲＰＲＴＡおよびＲＰＲＴＢに接続される。
【１０１７】
このセルサブアレイ８２０は、また、ダミーセルエリア８２１を含み、このダミーセルエリア８２１内において、各ユニット演算子セル列に対応してダミーセルＤＭＣが配置され、このダミーセルＤＭＣが、補のビット線ＺＢＬに結合される。ユニット演算子セルＵＯＥの各行に対応して、読出ワード線ＲＷＬＡ，ＲＷＬＢおよび書込ワード線ＷＷＬが配置される。同様、ダミーセルＤＭＣに対しても、読出ワード線および書込ワード線が配置されるが、図１４６においては示していない。
【１０１８】
サブアレイブロックＢＫｉは、さらに、選択メモリセルの記憶データを読出すセンスアンプ帯８２２と、ユニット演算子セルのＡおよびＢ読出ポートとセンスアンプ帯８２２との接続状態を設定するポート接続回路８２３と、センスアンプ帯８２２により読出されたデータ電流を、図１４５に示すＡＤＣ帯８１２へ転送する読出ゲート回路８２４とを含む。
【１０１９】
センスアンプ帯８２２においては、ビット線ＢＬ（ＲＢＬＡ、ＲＢＬＢ）およびＺＢＬの対それぞれに対応してセンスアンプ回路が設けられ、読出ビット線ＲＢＬＡまたはＲＧＬＢと補の読出ビット線ＺＢＬを流れる電流を差動的に増幅して、内部読出データを生成する。このセンスアンプ回路は、後にその構成は詳細に説明するが、図８４に示すセンスアンプ回路と類似する構成を有し、検知データが、“１”の場合には電流を供給し、検知データが、“０”の場合には、出力ハイインピーダンス状態に設定される。データ“０”および“１”の状態は、読出ビット線ＲＢＬＡまたはＲＢＬＢを流れる電流が、補の読出ビット線ＺＲＢＬを流れる電流よりも大きい場合が、データ“１”に対応し、小さい場合が、データ“０”に対応する。
【１０２０】
ポート接続回路８２３は、読出ビット線ＲＢＬＡおよびＲＢＬＢの組各々に対して設けられる接続スイッチを含み、図示しないポート指定信号に従ってＡポート読出ビット線ＲＢＬＡおよびＢポート読出ビット線ＢＬＢの一方を、センスアンプ帯８２２の対応のセンスアンプ回路に結合する。
【１０２１】
読出ゲート回路８２４は、センスアンプ帯８２２内のセンスアンプ回路それぞれに対応して設けられる読出ゲートを含み、図示しないグローバル読出データ線を介してこのセンスアンプ帯８２２により生成された電流情報を、図１４５に示すＡＤＣ帯８１２に転送する。
【１０２２】
図１４７は、図１４６に示すセルサブアレイ８２０の具体的構成の一例を示す図である。図１４７においては、ユニット演算子セルＵＯＥが、（ｋ＋１）行２列に配列される。このユニット演算子セルＵＯＥは、前述のように、図１から３に示すユニット演算子セルと同様の構成を有する。
【１０２３】
図１４７において、列方向に整列するユニット演算子セルＵＯＥ００、…、ＵＯＥｋ０に対し、読出ビット線ＲＢＬＡ０およびＲＢＬＢ０とグローバル書込データ線ＷＧＬＢ０およびＷＧＬＡ０が設けられる。このグローバル書込データ線ＷＧＬＡ０およびＷＧＬＢ０は、それぞれユニット演算子セルＵＯＥ００、…、ＵＯＥｋ０の書込ポートＷＰＲＴＡおよびＷＰＲＴＢに結合される。ユニット演算子セルＵＯＥ００、…、ＵＯＥｋ０の読出ポートＲＰＲＴＡおよびＲＰＲＴＢは、それぞれ読出ビット線ＲＢＬＡ０およびＲＢＬＢ０にそれぞれ結合される。
【１０２４】
ユニット演算子セルＵＯＥ０１、…、ＵＯＥｋ１に対し、読出ビット線ＲＢＬＡ１およびＲＢＬＢ１とグローバル書込データ線ＷＧＬＢ１およびＷＧＬＡ１が設けられる。グローバル書込データ線ＷＧＬＡ１およびＷＧＬＢ１は、それぞれ、ユニット演算子セルＵＯＥ０１、…、ＵＯＥｋ１の書込ポートＷＰＲＴＡおよびＷＰＲＴＢに結合され、ユニット演算子セルＵＯＥ０１、…、ＵＯＥｋ１の読出ポートＲＰＲＴＡおよびＲＰＲＴＢは、それぞれ読出ビット線ＲＢＬＡ１およびＲＢＬＢ１に結合される。
【１０２５】
ユニット演算子セルＵＯＥ００およｂＵＯＥ０１に対して、書込ワード線ＷＷＬ０および読出ワード線ＲＷＬＡ０，ＲＷＬＢ０が配設され、ユニット演算子セルＵＯＥｋ０およびＵＯＥｋ１に対して、書込ワード線ＷＷＬｋおよび読出ワード線ＲＷＬＡｋ，ＲＷＬＢｋが配設される。
【１０２６】
ユニット演算子セルＵＯＥ００，ＵＯＥｋ０に対応してダミーセルＤＭＣ０が配置され、ユニット演算子セルＵＯＥ０１，…，ＵＯＥｋ１に対応して、ダミーセルＤＭＣ１が配置される。ダミーセルＤＭＣ０およびＤＭＣ１の構成は、図６に示す実施の形態１において利用されるダミーセルＤＭＣと同一構成を有するため、図１４７においては、図６に示すダミーセルと対応する部分には、同一参照符号を付して、その詳細説明は省略する。
【１０２７】
基準電圧源Ｖｒｅｆの供給する基準電圧Ｖｒｅｆ（電源と供給電圧とを同一参照符号で示す）は、ユニット演算子セルＵＯＥ００等に含まれるＳＯＩトランジスタＮＱ１およびＮＱ２が、高しきい値電圧および低しきい値電圧時に供給する電流の中間の電流を供給する。
【１０２８】
ポート接続回路８２３において、読出ビット線ＲＢＬＡ０およびＲＢＬＢ０に対し、図６に示す構成と同様、ポート接続スイッチＰＲＳＷ０が設けられる。ポート接続スイッチＰＲＳＷ０は、ポート選択信号ＰＲＭＸに従って読出ビット線ＲＢＬＡ０およびＲＢＬＢ０の一方を、センス読出ビット線ＲＢＬ０に接続する。補の読出ビット線ＺＲＢＬ０は、センスアンプ回路ＳＡＫに結合される。
【１０２９】
また、読出ビット線ＲＢＬＡ１およびＲＢＬＢ１に対して、ポート接続スイッチＰＰＳＷ１が設けられ、ポート選択信号ＰＲＭＸに従って指定されたポートの読出ビット線をセンス読出ビット線ＲＢＬ１を介して対応のセンスアンプ回路ＳＡＫ１に結合する。
【１０３０】
ポート選択信号ＰＲＭＸは、多ビット選択信号であり、所定数のビット線対のグループごとに接続経路を設定することができる。
【１０３１】
これらのポート接続スイッチＰＲＳＷ１およびＰＲＳＷ２は、図１８に示すポート接続スイッチと同様の構成を有し、２つのＮチャネルスイッチングトランジスタを含む。これらのスイッチングトランジスタ（ＮＴ２およびＮＴ３）は、ＳＯＩトランジスタで構成されても良く、バルクトランジスタ（ウェル領域表面に形成されるトランジスタ）で構成されてもよく、また、トランスミッションゲートで構成されても良い。
【１０３２】
スイッチングトランジスタ（ＮＴ２およびＮＴ３）は、それぞれ、ポート選択信号／ＰＲＭＸＢおよび／ＰＲＭＸＡの活性化時（Ｌレベルのとき）非導通状態とされる。すなわち、ポート選択信号ＰＲＭＸに対応するポート選択信号／ＰＲＭＸＡおよび／ＰＲＭＸＢに従って、読出ポートＲＰＲＴＡおよびＲＰＲＴＢがそれぞれ指定されるときに指定された読出ポートをセンスアンプ回路ＳＡＫに結合する。すなわち、読出ポートＲＰＲＴＡが指定されたときには、ポート選択信号／ＰＲＭＸＡに従ってＡポート読出ビット線ＲＢＬＡがセンス読出ビット線ＲＢＬに結合される。逆に、読出ポートＲＰＲＴＢが指定されたときには、ポート選択信号／ＰＲＭＸＡが非活性状態、ポート選択信号／ＰＲＭＸＢが活性状態とされ、Ｂポート読出ビット線ＲＢＬＢが、センス読出ビット線ＲＢＬに接続される。
【１０３３】
読出ゲート回路８２２において、センスアンプ回路ＳＡＫ０およびＳＡＫ１に対して読出ゲートＣＳＧ０およびＣＳＧ１が設けられ、読出選択信号ＣＳＬに従って、センスアンプ回路ＳＡＫ０およびＳＡＫ１の供給するセンスデータに応じた電流を、それぞれ、対応のグローバル読出データ線ＲＧＬ０およびＲＧＬ１に供給する。これらのグローバル読出データ線ＲＧＬ（ＲＧＬ０およびＲＧＬ１）は、図１４５に示すサブアレイブロックＢＫ０−ＢＫｓに共通に設けられ、図１４５に示すＡＤＣ帯１２に読出電流を伝達する。
【１０３４】
図１４７においては、読出ゲート回路２２の読出ゲートＣＳＧから、相補データがグローバル読出データ線に対して転送されるように示す。しかしながら、本実施の形態においては、グローバル読出データ線ＲＧＬに供給される電流を利用して演算処理を実行する。センスアンプ回路ＳＡＫのセンスノードの負荷を等しくするために、読出ゲートＣＳＧにおいて、選択トランジスタが相補センスノードに対して配置される。
【１０３５】
この図１４７に示すように、セルサブアレイ８２０においては、ユニット演算子セルＵＯＥ００，…，ＵＯＥ０１…が並行して選択状態に駆動され、また、ダミーセルＤＭＣ０、ＤＭＣ１…についても、ダミーセル選択信号ＤＣＬＡおよびＤＣＬＢのいずれかに従って選択的に参照電流を対応の補の読出ビット線ＺＲＢＬ０およびＺＲＢＬ１に供給する。したがって、セルサブアレイ８２０において、１エントリ（１行）のユニット演算子セルＵＯＥのデータの並列読出が行なわれ、また並列書込が実行される。
【１０３６】
図１４８は、図１４７に示すセンスアンプ回路ＳＡＫ（ＳＡＫ０，ＳＡＫ１）の構成の一例を示す図である。図１４８においては、ビット線周辺回路として配置されるビット線プリチャージ／イコライズ回路ＢＬＥＱの構成を併せて示す。各読出ビット線に対して設けられるセンスアンプ回路は、同一構成を有するため、図１４８においては、センス読出ビット線ＲＢＬ０，ＺＲＢＬ０に対して設けられるセンスアンプ回路ＳＡＫ０の構成を代表的に示す。
【１０３７】
センスアンプ回路ＳＡＫ０は、センスアンプＳＡ０および電流源回路２６＜０＞を含む。センスアンプＳＡ０は、交差結合されるＮチャネルＳＯＩトランジスタおよび交差結合されるＰチャネルＳＯＩトランジスタと、センスアンプ活性化信号／ＳＯＰおよびＳＯＮに従って選択的に導通するセンス活性化ＰチャネルＳＯＩトランジスタおよびセンス活性化ＮチャネルＳＯＩトランジスタを含む。センス活性化ＳＯＩトランジスタの導通時に、センス電源ノード（交差結合されるＳＯＩトランジスタが結合される電源ノード）にセンス電源電圧ＶＢＬおよび接地電圧を供給する。センス電源電圧ＶＢＬは、電源電圧ＶＣＣレベルであっても良く、中間電圧レベルであっても良い。センス電源電圧ＶＢＬは、読出ワード線の選択時の電圧レベルであればよい。
【１０３８】
このセンスアンプＳＡ０は、図６に示すセンスアンプＳＡと同様、交差結合型のセンスアンプであり、活性化時、センス読出ビット線ＲＢＬ０およびＺＲＢＬ０上の電位差を差動的に増幅する。センスアンプＳＡ０は、ゲートとボディ領域とが結合されるＳＯＩトランジスタで構成されてもよい。また、センスアンプＳＡとしては、センス読出ビット線ＲＢＬおよびＺＲＢＬを流れる電流のミラー電流を生成するカレントミラー動作を利用する電流検出型のセンスアンプが用いられても良い。
【１０３９】
電流源回路８２６＜０＞は、センス読出ビット線ＲＢＬ０およびＺＲＢＬ０上の電位をそれぞれ反転するインバータバッファ８２７ａおよび８２７ｂと、インバータバッファ８２７ａの出力信号に従って選択的に導通するＰチャネルトランジスタＰＴ１と、インバータバッファ８２７ｂの出力信号に従って選択的に導通するＮチャネルトランジスタＮＴ１を含む。これらのトランジスタＰＴ１およびＮＴ１は、一例として、センスアンプＳＡ０を構成するトランジスタと同一構造のＳＯＩトランジスタで構成される。
【１０４０】
インバータバッファ８２７ａおよび８２７ｂは、センス読出ビット線ＲＢＬおよびＺＲＢＬのハイ側電源電圧が電圧ＶＢＬであり、この電圧ＶＢＬを電源電圧ＶＣＣレベルに変換して、電流供給用の充電用のトランジスタＰＴ１を確実にオフ状態に設定し、また、放電用のトランジスタＮＴ１を確実にオン状態に設定するために設けられる。従って、これらのインバータバッファ８２７ａおよび８２７ｂは、レベル変換機能を有するインバータバッファで構成される。
【１０４１】
また、先に図１４７を参照して説明したように、補のグローバル読出データ線は利用されない。インバータバッファ８２７ｂは、センスアンプＳＡ０のセンスノード、すなわちセンス読出ビット線ＲＢＬおよびＺＲＢＬの負荷を等しくするために利用される。このインバータバッファ８２７ｂは、単にセンスアンプの負荷イコライズ用のダミーとして配置されるように、常時非活性状態に維持されても良い。
【１０４２】
電流供給用のトランジスタＰＴ１は、センス読出ビット線ＺＲＢＬ０の電位が、Ｈレベルのときに、インバータバッファ８２７ａの出力信号に従って導通し、電源ノードから一定の大きさの電流を内部出力ノード８２８ａを介して供給する。放電用のトランジスタＮＴ１は、補のセンス読出ビット線ＲＢＬ０の電位が、Ｌレベルのときに、インバータバッファ８２７ｂの出力信号に従って導通し、内部出力ノード８２８ｂを接地電圧レベルに放電する。
【１０４３】
読出ゲートＣＳＧ０において内部出力ノード８２８ｂが、グローバル読出データ線に結合されるように示す。しかしながら、この内部出力ノード８２８ｂからの電流は、演算には利用されない。演算実行時、補のグローバル読出データ線を接地電圧に固定して、グローバル読出データ線ＲＧＬに対するシールド線として利用させる。また、この場合、補のグローバル読出データ線は、本実施の形態においては、演算には利用されないため、読出ゲートＣＳＧにおいて、グローバル読出データ線ＲＧＬに対してのみ選択ゲートが配置されても良い。
【１０４４】
この電流源回路８２６＜０＞は、センス読出ビット線ＺＲＢＬ０およびＲＢＬの電位がそれぞれ、Ｈレベル（電圧ＶＢＬレベル）およびＬレベル（接地電圧レベル）の時には、トランジスタＰＴ１およびＮＴ１がともに、インバータバッファ８２７ａおよび８２７ｂの出力信号に従って、オフ状態となり、出力ハイインピーダンス状態となる。
【１０４５】
センス動作については、後に詳細に説明するが、ダミーセルから供給される電流が、ユニット演算子セルから供給される電流よりも大きいときには、補のセンス読出ビット線ＺＲＢＬ０の電位がＨレベルとなり、電流源回路２６＜０＞は、電流の供給を停止する。一方、ダミーセルから供給される電流が、ユニット演算子セルから供給される電流よりも小さいときには、補のセンス読出ビット線ＺＲＢＬ０の電位がＬレベルとなり、電流源回路８２６＜０＞は、充放電電流供給源として機能する。
【１０４６】
ビット線プリチャージ／イコライズ回路ＢＬＥＱ０は、図６に示す構成と同様、ビット線プリチャージ指示信号ＢＬＰに従って、センス読出ビット線ＺＲＢＬ０およびＲＢＬ０に、ビット線プリチャージ電圧ＶＰＣを供給する。このビット線プリチャージ電圧ＶＰＣは、ユニット演算子セルＵＯＥ内のＮチャネルＳＯＩトランジスタ（ＮＱ１およびＮＱ２）の読出ポートとボディ領域の間のＰＮ接合が、そのボディ領域の電圧レベルに拘わらず非導通状態に維持される電圧レベルである。
【１０４７】
読出ゲートＣＳＧ０は、図１４７に示す構成と同様であり、読出選択信号（演算子セルサブアレイブロック選択信号）ＣＳＬに従って、内部出力ノード８２８ａを、グローバル読出データ線ＲＧＬ０に結合する。内部出力ノード８２８ｂが、また、補のグローバル読出データ線に結合され、補のグローバル読出データ線が、演算実行時にシールド線として利用されても良い。また、センスアンプＳＡのセンスノード（センス読出ビット線）と充放電トランジスタ８２７ａおよび８２７ｂとは、分離されているため、この内部出力ノード８２８ｂに対しては読出ゲートＣＳＧ内において選択ゲートは設けられなくても良い。
【１０４８】
なお、センスアンプ帯８２２に含まれるセンスアンプＳＡ０、ビット線プリチャージ／イコライズ回路ＢＬＥＱ０および読出ゲートＣＳＧ０を構成するトランジスタは、ＳＯＩトランジスタでなく、通常の半導体基板表面に形成されるバルク型のＭＯＳトランジスタで構成されてもよい。
【１０４９】
センス読出ビット線ＺＲＢＬ１およびＲＢＬ１に対しても、同様に、センスアンプＳＡ１、電流源回路８２６＜１＞、ビット線プリチャージ／イコライズ回路ＢＬＥＱ１および読出ゲートＣＳＧ１が設けられる。センスアンプＳＡ０、ＳＡ１は、共通にセンスアンプ活性化信号／ＳＯＰおよびＳＯＮに応答して選択的に活性化され、また、ビット線プリチャージ／イコライズ回路ＢＬＥＱ０およびＢＬＥＱ１も、同様ビット線プリチャージ指示信号ＢＬＰの活性化時活性化される。読出ゲートＣＳＧ０およびＣＳＧ１についても、読出選択信号ＣＳＬに従って導通する。
【１０５０】
図１４９は、ポートＡ選択時のユニット演算子セルとダミーセルの接続態様を概略的に示す図である。このポートＡの接続時においては、ソース線ＳＬとセンス読出ビット線ＲＢＬの間に、ＳＯＩトランジスタ（ＮＱ１）が１つ接続される。一方、ダミーセルＤＭＣにおいても、ダミーセル選択信号ＤＣＬＡに従って、基準電圧源と補の読出ビット線ＺＲＢＬの間に、ダミートランジスタＤＴＡが接続される。
【１０５１】
ユニット演算子セルＵＯＥの記憶データ読出時のビット線ＲＢＬおよびＺＲＢＬの電位変化は、実施の形態１と同様、図１１に示すビット線電位変化が、ユニット演算子セルの記憶データに応じて現れる。なお、以下の説明においても、ＳＯＩトランジスタＮＱ１およびＮＱ２がしきい値電圧の高い状態をデータ“０”を記憶する状態に対応付け、しきい値電圧の低い状態をデータ“１”を記憶する状態に対応付ける。
【１０５２】
ソース線ＳＬ上の電圧はたとえば電源電圧ＶＣＣレベルであり、ダミーセルＤＭＣに供給される基準電圧Ｖｒｅｆよりも高い電圧レベルである。すなわち、基準電圧Ｖｒｅｆ(電圧源とその電圧を同一参照符号で示す)は、ソース線ＳＬに供給される電圧（電源電圧ＶＣＣレベル）とビット線プリチャージ電圧ＶＰＣの間の電圧レベルである。ＳＯＩトランジスタＮＱ１がデータ“０”を格納している場合、そのしきい値電圧は大きく、電流量は少ない。一方、ＳＯＩトランジスタＮＱ１がデータ“１”を格納している場合、そのしきい値電圧は低く、大きな電流を流す。
【１０５３】
したがって、ＳＯＩトランジスタＮＱ１が、データ“１”を記憶している場合、ユニット演算子セルＵＯＥからの電流量が、ダミーセルＤＭＣからの電流量よりも大きく、センス読出ビット線ＲＢＬの電位は、補のセンス読出ビット線ＺＲＢＬの電位よりも高くなる。
【１０５４】
一方、ＳＯＩトランジスタＮＱ１がデータ“０”を格納している場合、ダミーセルＤＭＣが補のセンス読出ビット線ＺＲＢＬへ供給する電流量が、ユニット演算子セルＵＯＥが供給する電流量よりも大きくなり、補のビット線ＺＲＢＬの電位がビット線ＲＢＬの電位よりも高くなる。
【１０５５】
この状態で、センスアンプ活性化信号／ＳＯＰおよびＳＯＮをＬレベルおよびＨレベルに立上げ、センスアンプＳＡを活性化する。センス読出ビット線ＲＢＬおよびＺＲＢＬに読出されたデータ(電位または電流量)が、センスアンプＳＡにより差動増幅される。
【１０５６】
実施の形態１におけるセンス動作と同様、センスアンプＳＡのハイ側電源電圧ＶＢＣのレベルの電圧が、センス読出ビット線ＲＢＬおよびＺＲＢＬのいずれかに伝達されても、ＳＯＩトランジスタＮＱ１およびＮＱ２およびダミートランジスタのボディ領域におけるＰＮ接合が順バイアスされてボディ領域に電荷が流入するのは回避され、記憶データの破壊を生じさせることなく、正確に、センス動作を行なうことができる。
【１０５７】
このセンスアンプＳＡの出力信号を電流源回路８２６において受け、センスアンプＳＡの出力信号、すなわち、センス読出ビット線ＲＢＬおよびＺＲＢＬの電位に従って、選択的に、トランジスタＰＴ１およびＮＴ１が、オン状態となる。ただし、トランジスタＮＴ１は、常時、非導通状態に維持されていても良く、また、インバータバッファ８２７ｂが、常時、非活性状態に維持されていても良い。
【１０５８】
この後、図１４７に示す読出ゲートＣＳＧを読出選択信号ＣＳＬにより選択して、対応のグローバル読出データ線ＲＧＬに対して、センスアンプＳＡの出力信号に応じた電流の供給を行う。
【１０５９】
なお、実施の形態１の場合と同様、データの読出は、非破壊読出であり、記憶データの再書き込みを行うリストア期間は要求されない。したがって、センスアンプ動作前に読出ワード線ＲＷＬＡが、非選択状態に駆動されても良い。リストア期間をなくすことにより読出サイクルを短縮することができる。
【１０６０】
図１５０は、ユニット演算子セルのポートＡ選択時のセンス読出ビット線と電流源回路との状態の対応を一覧にして示す図である。図１５０に示すように、Ａポート選択時においては、記憶ノードＳＮＡの記憶データが、それぞれ、“０”および“１”のとき、センスアンプＳＡにより増幅されたセンス読出ビット線ＲＢＬの電位は、“０”および“１”となり、電流源回路は、記憶ノードＳＮＡの記憶データが“１”の時にオン状態となって、対応のグローバル読出データ線に電流を供給し、記憶データが“０”の時には、オフ状態となって電流の供給を停止する。従って、ユニット演算子セルの記憶ノードＳＮＡの記憶データに応じた電流を対応のグローバル読出データ線に供給することができる。本実施の形態１７においては、このグローバル読出データ線ＲＧＬの電流を加算することにより、加算処理を実行する。
【１０６１】
図１５１は、図１４５に示すＡＤＣ帯８１２の構成を概略的に示す図である。この図１５１おいては、また、メモリセルアレイ８１０の配置も併せて示す。メモリセルアレイ８１０は、複数の演算単位ブロックＯＵＢａ−ＯＵＢｎに分割される。演算単位ブロックＯＵＢａ−ＯＵＢｎそれぞれにおいて、グローバル読出データバスＲＧＢａ−ＲＧＢｎが配設される。これらのグローバル読出データバスＲＧＢａ−ＲＧＢｎは、それぞれ、対応の演算単位ブロックＯＵＢａ−ＯＵＢｎに含まれるサブアレイブロック（ＢＫ０−ＢＫｎ）に共通に配設される。グローバルデータバスＲＧＢａ−ＲＧＢｎは、各々、グローバ読出データ線ＲＧＬ０−ＲＧＬｋを含む。演算単位ブロックＯＵＢａ−ＯＵＢｎそれぞれにおいて、演算を実行する。
【１０６２】
ＡＤＣ帯８１２において、グローバル読出データバスＲＧＢａ−ＲＧＢｎそれぞれに対応して、電流合計線ＶＭａ−ＶＭｎが設けられる。これらの電流合計線ＶＭａ−ＶＭｎは、それぞれ、対応のグローバル読出データバスのグローバル読出データ線ＲＧＬ０−ＲＧＬｋに共通に結合される。補のグローバル読出データ線は、本実施の形態においては利用されない。
【１０６３】
したがって、グローバル読出データバスＲＧＢａ−ＲＧＢｎの各グローバル読出データ線ＲＧＬ０−ＲＧＬｋに読出された電流が、電流合計線ＶＭａ−ＶＭｎにより加算され、この加算電流値に応じて、電流合計線ＶＭの電圧レベルが変化する。
【１０６４】
ＡＤＣ帯８１２においては、また、グローバル読出データバスＲＧＢａ−ＲＧＢｎそれぞれに対応して、ＭビットＡＤＣ（アナログ／デジタル変換器）８３５ａ−８３５ｎが設けられる。これらのＭビットＡＤＣ８３５ａ−８３５ｎは、電流合計線ＶＭａ−ＶＭｎそれぞれにおいて合計された電流値に対応するアナログ電圧をＭビットデジタル信号に変換する。
【１０６５】
この構成において、この演算単位ブロックＯＵＢａ−ＯＵＢｎそれぞれにおいて並列して、メモリセルの記憶データに対する演算処理が実行され、その演算結果が、電流合計線ＶＭａ−ＶＭｎに生成され、ＭビットＡＤＣ８３５ａ−８３５ｎにより、それぞれＭビットデジタルデータＤａ−Ｄｎが、並行して生成される。
【１０６６】
この演算処理時に、たとえば加算／減算処理を実行する場合、キャリー／ボローを生成する必要がなく、高速で演算処理を実行することができる。
【１０６７】
図１５２は、図１５１に示すＭビットＡＤＣ８３５ａ−８３５ｎの構成の一例を概略的に示す図である。これらＭビットＡＤＣ８３５ａ−８３５ｎは、同一構成を有するため、図１５２においては、ＡＤＣ８３５を、これらのＭビットＡＤＣ８３５ａ−８３５ｎの代表として示す。
【１０６８】
図１５２において、ＡＤＣ８３５は、基準電源ノード８４０と接地ノードの間に直列に接続される抵抗素子８４１ａ−８４１ｕと、これらの抵抗素子それぞれに対応して設けられる比較器８４２ａ−８４２ｕと、それぞれ、隣接する２つの比較器の出力信号を受けるゲート回路８４３ａ−８４３ｔと、ゲート回路８４３ａ−８４３ｔの出力信号をエンコードし、最終ＭビットのデジタルデータＱ＜Ｍ−１：０＞を生成するエンコーダ８４４とを含む。
【１０６９】
基準電源ノード８４０へは、このＡ／Ｄ変換（アナログ／デジタル変換）のために利用される変換基準電圧ＶＲＥＦ＿ＡＤＣが、チューナブル電圧発生回路８４５から与えられる。抵抗素子８４１ａおよび８４１ｕは、抵抗値Ｒ／２を有し、抵抗素子８４１ｂ−８４１ｔは、各々、抵抗値Ｒを有する。これらの抵抗素子８４１ａおよび８４１ｕの抵抗値を、他の抵抗素子８４１ｂ−８４１ｔの抵抗値よりも小さくすることにより、最大デジタル変換値に対応する電流合計線ＶＭ上に与えられる電圧値を、できるだけ、変換基準電圧ＶＲＥＦ＿ＡＤＣに近づけ、その最小デジタル変換値に対応する電圧の最小値を、できるだけ接地電圧レベルに近づける。
【１０７０】
比較器８４２ａ−８４２ｕは、それぞれ、対応の抵抗素子８４１ａ−８４１ｕの低電位側ノードの電位を正入力に受け、電流合計線ＶＭ上の電圧を負入力に受ける。
【１０７１】
ゲート回路８４３ａ−８４３ｔの各々は、抵抗網８４１ａ−８４１ｕにより生成される電圧ステップの１ステップ上位側の比較器８４２ａ−８４２ｔの出力信号と対応の比較器８４２ｂ−８４２ｕの出力信号とを受ける。これらのゲート回路８４３ａ−８４３ｔの各々は、１ステップ上位側の比較器の出力信号がＨレベルでありかつ対応の比較器の出力信号がＬレベルのときに、Ｌレベルの信号を出力する。たとえば、ゲート回路８４３ａは、比較器８４２ａの出力信号がＨレベルであり、かつ比較器８４２ｂの出力信号がＬレベルのときに、Ｌレベルの信号を出力する。従って、ゲート回路８４３ａ−８４３ｔは、比較器８４２ａ−８４２ｕの出力信号列における“０”から“１”への変化点を検出する。
【１０７２】
エンコーダ８４４は、これらのゲート回路８４３ａ−８４３ｔの出力信号列に従って、この検出された変化点に対応するＭビットデジタルデータＱ＜Ｍ−１：０＞を生成する。
【１０７３】
図１５３は、図１５２に示すＡＤＣ８３５の抵抗網の具体的構成の一例を示す図である。図１５３においては、このＡＤＣ８３５が、４ビットＡＤＣの場合の抵抗網の構成を示す。図１５３において、変換基準電源ノード８４０と接地ノードの間に抵抗素子ＺＺ１５−ＺＺ０が直列に接続される。これらの抵抗素子ＺＺ１５−ＺＺ０は、図１５２に示す抵抗素子８４１ａ−８４１ｕに対応する。
【１０７４】
これらの抵抗素子ＺＺ０−ＺＺ１４の高電位側の接続ノードから基準電圧ＶＶＲＥＦ０−ＶＶＲＥＦ１４が生成される。これらの基準電圧ＶＶＲＥＦ０−ＶＶＲＥＦ１４と電流合計線ＶＭ上の電圧とが、図１５２に示す比較器８４２ａ−８４２ｕにより並行して比較される。基準電圧ＶＶＲＥＦ０−ＶＶＲＥＦ１４が、それぞれ、デジタル値（００００）−（１１１０）の上限電圧レベルを規定する。比較器８４２ａ−８４２ｕは、電流合計線ＶＭ上の電圧レベルが、対応の基準電圧ＶＶＲＥＦｉ（ｉ＝０−１４）よりも高いときにＬレベルの信号を生成する。
【１０７５】
たとえば、図１５３において、電流合計線ＶＭ上の電圧が、基準電圧ＶＶＲＥＦ１０およびＶＶＲＥＦ１１の間にあった場合を考える。この場合、図１５３に示すように、基準電圧ＶＶＲＥＦ１４−ＶＶＲＥＦ１１を正入力に受ける比較器４２の出力信号は、“１”（Ｈレベル）となる。一方、基準電圧ＶＶＲＥＦ１０−ＶＶＲＥＦ０を受ける比較器８４２においては、その出力信号は“０”（Ｌレベル）となる。したがって、この基準電圧ＶＶＲＥＦ１１およびＶＶＲＥＦ１０に対して設けられる比較器の出力信号を受けるゲート回路８４３の出力信号が“０”となり、残りのゲート回路の出力信号は“１”となる。エンコーダ８４４で、ゲート回路８４３ａ−８４３ｔにおいて“０”を生成するゲート回路を識別することにより、この電流合計線ＶＭ上の電圧が、基準電圧ＶＶＲＥＦ１１およびＶＶＲＥＦ１０の間にあると識別でき、データ（１０１１）を生成する。
【１０７６】
すなわち、図１５２に示すＡＤＣ８３５においては、電流合計線ＶＭ上の電圧が存在する基準電圧範囲に対応する抵抗素子の位置を、ゲート回路８４３ａ−８４３ｔにより識別し、エンコーダ８４４により、その識別された抵抗素子の位置に応じたデジタル値を生成する。
【１０７７】
なお、この比較器８４２ａ−８４２ｕは、変換活性化信号ＡＤＣＥＮに従って活性化されて比較動作を開始する。また、電流合計線ＶＭは、プリチャージ指示信号ＰＲＧに従って導通するプリチャージトランジスタ８４７により、変換動作前には、接地電圧レベルにプリチャージされる。
【１０７８】
また、エンコーダ８４４の構成として、たとえばレジスタファイルが用いられ、“０”のビットに対応するレジスタの内容を読出す構成が利用されれば良い。また、図１５２においては、並列変換型（フラッシュ型）ＡＤＣが用いられているものの、出力データ１ビット当たり１つの単位変換回路が配置され、これらの単位変換回路が縦続接続されるパイプライン型ＡＤＣが用いられても良い。
【１０７９】
図１５４は、図１５３に示すデータパス８１４の構成を概略的に示す図である。図１５４においては、１つの演算単位ブロックＯＵＢに対するデータパスの構成を示す。また、本実施の形態１７においては、グローバル書込データ線ＷＧＬＢは利用されないため、その状態は「ドントケア」であり、従って、Ｂポート用のグローバル書込データ線の配置は示していない。
【１０８０】
図１５４において、データパス８１４において、入力データのビット位置に応じた数の書込ドライバＷＤＲが各書込データビットに対して設けられる。すなわち、最下位データビットＤ＜０＞に対しては、グローバル書込ドライバＷＤＲ００が設けられ、データビットＤ＜１＞に対しては、２つのグローバル書込ドライバＷＤＲ１０およびＷＤＲ１１が設けられる。データビットＤ＜２＞に対しては、グローバル書込ドライバＷＤＲ２０−ＷＤＲ２３が設けられ、データビット＜３＞に対しては、８個のグローバル書込ドライバＷＤＲ３０−ＷＤＲ３７が設けられる。以下、データビットＤ＜ｎ＞に対しては、２のｎ乗のグローバル書込ドライバＷＤＲが設けられる。
【１０８１】
これらのグローバル書込ドライバＷＤＲが、対応して配置されるグローバル書込データ線ＷＧＬＡを駆動する。すなわち、グローバル書込ドライバＷＤＲ００は、グローバル書込データバスＷＧＢ０を構成するグローバル書込データ線ＷＧＬＡ００を駆動し、グローバル書込ドライバＷＤＲ１０およびＷＤＲ１１は、グローバル書込データバスＷＧＢ１を構成するグローバル書込データ線ＷＧＬＡ１０およびＷＧＬＡ１１を駆動する。グローバル書込ドライバＷＤＲ２０−ＷＤＲ２３は、グローバル書込データバスＷＧＢ２を構成するグローバル書込データ線ＷＧＬＡ２０−ＷＧＬＡ２３を駆動する。グローバル書込ドライバＷＤＲ３０−ＷＤＲ３７は、それぞれ、グローバル書込データバスＷＧＢ３を構成するグローバル書込データ線ＷＧＬＡ３０−ＷＧＬＡ３７を駆動する。
【１０８２】
グローバル書込データ線ＷＧＬＡは、複数のサブアレイブロックに共通に設けられる。図１５４においては、１つのサブアレイブロックのセルサブアレイ８２０を代表的に示す。これらのグローバル書込データ線ＷＧＬＡは、対応の列に配置されるユニット演算子セルの書込ポート（ＷＰＲＴＡ）に結合される。
【１０８３】
データ書込時、書込データビットは、そのビットの桁の重みに応じた数のグローバル書込データ線を介して転送されて対応のメモリセルに書込まれる。
【１０８４】
データ読出時、ユニット演算子セルの記憶データを並行して読出すことにより、１つの演算単位ブロックＯＵＢにおいて、書込データのビットの位置（桁）に応じたグローバル読出データ線が駆動され、それぞれの桁の重みが付けられたセンス電流（Ｉｓ）が供給される。したがって、演算単位ブロックＯＵＢにおいて、異なるエントリ（エントリは行方向に整列するメモリセルで構成される）のデータを並行して読出すことにより、グローバル読出データ線に、これらの並行して読出されたエントリのメモリセルの記憶データの合計電流が流れ、電流合計線には、例えば、アナログ電流加算値が生成される。これにより、キャリー確定などの時間を待つことなく、高速で、たとえば加算結果を得ることができる。
【１０８５】
図１５５は、この発明の実施の形態１７に従う半導体信号処理装置における加算演算操作の具体的一例を示す図である。図１５５においては、４ビット入力データＤＩＮ♯０−ＤＩＮ♯ｍが加算される。この加算結果が、ＡＤＣ帯のＡＤＣによりＭビットデータに変換されて出力される。加算操作においては、ビット値“１”が演算に意味を持つ。ユニット演算子セルの記憶データビットが“１”のときに対応のグローバル読出データ線に電流が供給され、記憶データビットが“０”の時には、対応のグローバル読出データ線には電流は供給されない。従って、このグローバル読出データ線の電流を加算することにより、加算対象のデータの加算値に対応する電流量が得られ、電流合計線において合計電流に対応する電圧値が得られる。
【１０８６】
図１５６は、この図１５５に示す加算操作時の読出時の電流の流れを模式的に示す図である。この図１５６に示すように、サブアレイブロックＢＫ０−ＢＫｍの演算単位ブロックＯＵＢａに、これらの演算対象のデータＤＩＮ♯０−ＤＩＮ♯ｍが、それぞれ書込まれる。このデータ書込時、図１５４に示すデータパスを利用し、各入力データＤＩＮ♯０−ＤＩＮ♯ｍそれぞれについて、ビットの重み付けを行なった数のグローバル書込データ線ＷＧＬＡを介して、ユニット演算子セルの記憶ノードＳＮＡに対するデータの書込が行なわれる。
【１０８７】
入力データＤＩＮ♯０−ＤＩＮ♯ｍを、それぞれ、サブアレイブロックＢＫ０−ＢＫｍに書込んだ後、これらのサブアレイブロックＢＫ０−ＢＫｍに対するデータの読出を行なう。すなわち、サブアレイブロックＢＫ０−ＢＫｍのセルサブアレイ８２０において、ポート接続回路によりＡポートを選択し、ポートＡ読出ビット線を対応のセンスアンプに結合し、データＤＩＮ♯０−ＤＩＮ♯ｍをそれぞれ記憶するユニット演算子セルの記憶ノードＳＮＡのデータの読出が行なわれる。ダミーセルからの補の読出ビット線ＺＲＢＬの電流とセンス読出ビット線ＲＢＬの電流に従って、センスアンプ帯８２２／読出ゲート回路８２４に含まれるセンスアンプ回路ＳＡＫにより、電流の選択的供給が行なわれ、センスアンプ回路ＳＡＫからの読出データに応じたセンス電流が読出ゲート回路８２４の読出ゲートＣＳＧを介して対応のグローバル読出データ線ＲＧＬに供給される。
【１０８８】
このサブアレイブロックＢＫ０−ＢＫｍにおけるメモリセルデータの読出およびセンスアンプ回路ＳＡＫの活性化のタイミングは、順次ずらされてもよく、または並行して行なわれてもよい。
【１０８９】
次いで、サブアレイブロックＢＫ０−ＢＫｍに対する読出選択信号ＣＳＬ＜０＞−ＣＳＬ＜ｍ＞をすべて選択状態に駆動する。応じて、センスアンプ帯／読出ゲート回路８２２／８２４に含まれる読出ゲートＣＳＧがすべてサブアレイブロックＢＫ０−ＢＫｍにおいて導通し、グローバル読出データ線ＲＧＬ０−ＲＧＬ３、…に対して、対応のセンスアンプ回路ＳＡＫからセンス電流が選択的に供給される。
【１０９０】
すなわち、サブアレイブロックＢＫ０からは、センス電流Ｉｓ００−Ｉｓ０３、…が、グローバル読出データ線ＲＧＬ０−ＲＧＬ３、…上に読出され、サブアレイブロックＢＫ１からは、センス読出電流Ｉｓ１０−Ｉｓ１３がグローバル読出データ線ＲＧＬ０−ＲＧＬ３上に読出される。同様、サブアレイブロックＢＫｍにおいて、センス電流Ｉｓｍ０−Ｉｓｍ３が、それぞれグローバル読出データ線ＲＧＬ０−ＲＧＬ３上に選択的に供給される。
【１０９１】
１つの演算単位ブロックＯＵＢａにおいては、共通の電流合計線ＶＭ０に、グローバル読出データ線ＲＧＬが結合される。したがって、この電流合計線ＶＭ０において、これらのグローバル読出データ線ＲＧＬ（ＲＧＬ０−ＲＧＬ３、…）に読出される電流が加算される。この電流加算において、各データビットの位置に応じた数の重み付けが、選択メモリセルの数に対して与えられている。この電流合計線ＶＭ０においては、読出動作前に、図示しない放電トランジスタ（図１５２のプリチャージトランジスタ８４７）により接地電圧レベルにプリチャージされており、これらのセンス電流によりその電圧レベルが上昇する。したがって、この電流合計線ＶＭ０に与えられる電流の合計電流は、図１５５に示す加算を実行する場合、次式で表わされる：
ΣＩｓｉｊ・２＾ｋ、
ｉ＝０−ｍ，ｊ＝０−１５，ｋ＝０−３、記号＾は、べき乗を示す。
【１０９２】
４ビットデータの加算が行なわれるため、グローバル読出データ線ＲＧＬとして、最下位ビット＜０＞の１本のグローバル読出データ線、第１ビット＜１＞の２本のグローバル読出データ線、第２ビット＜２＞の４本のグローバル読出データ線、および最上位ビット＜３＞の８本のグローバル読出データ線の合計１５本のグローバル読出データ線が利用される。
【１０９３】
この後、ＡＤＣ帯８１２のＡＤＣ８３５を利用して、アナログ／デジタル変換を行なうことにより、この電流合計線ＶＭ（ＶＭ０、ＶＭ１、…）上に現われるアナログ電流値をＭビットで表現したデジタルデータが得られる。
【１０９４】
この図１５６において、サブアレイブロックＢＫ０−ＢＫｍの各演算単位ブロックＯＵＢａ、ＯＵＢｂ、…において、並行して加算操作をすることにより、複数の加算演算を並行して実行することができ、高速で加算結果を得ることができる。
【１０９５】
なお、演算対象のデータは、４ビットに限定されず、他のビット数のデータの演算が実行されても良い。
【１０９６】
図１５７は、この発明の実施の形態１７に従う半導体信号処理装置の制御回路（８１８）の制御動作を示すフロー図である。以下、図１５７を参照して、この発明の実施の形態１７に従う半導体信号処理装置の加算演算実行時の制御回路の動作について説明する。
【１０９７】
まず、加算命令が与えられるのを待つ（ステップＳＰ０）。加算命令が与えられると、まず、ブロックアドレスを初期化し、最初に書込まれるべきサブアレイブロックを設定する。次いで、入力データを取込み、図１５４に示すデータパスのグローバル書込ドライバＷＤＲを介して書込データを転送し、指定されたサブアレイブロックにおいて書込ワード線ＷＷＬを選択状態に駆動して書込データを各ユニット演算子セルに書込む（ステップＳＰ１）。
【１０９８】
このデータ書込が完了すると、書込データは最終の書込データであるかの判定が行なわれる（ステップＳＰ２）。まだ残りの書込データが存在する場合、ブロックアドレスを更新し、ステップＳＰ１と同様にして、次のデータの書込を実行する（ステップＳＰ３）。この後、再びステップＳＰ２へ戻る。
【１０９９】
ステップＳＰ２において、最後のデータの書込が完了したと判定されると、この書込が行なわれた全対象のサブアレイブロックにおいて、ポートＡを選択して、データ書込が行なわれたユニット演算子セルのデータの読出が行なわれ、センスアンプ回路が活性化される（ステップＳＰ４）。このセンスアンプ回路の活性化は、すべての対象のサブアレイブロックにおい同時に並行して実行されてもよく、また、順次そのタイミングをずらせて実行されてもよい。なお、センス電流Ｉｓを正確に電流加算するために、図１４８に示す電流源回路８２６を活性化するタイミングは、すべての対象のサブアレイブロックにおいて同じに設定する必要がある。
【１１００】
センスアンプ回路の活性化時または読出選択信号ＣＳＬの活性化の前に電流合計線ＶＭの接地電圧レベルへのプリチャージを完了するとともに、すべての対象のサブアレイブロックの読出ゲートをオン状態に駆動する（ステップＳＰ５）。この対象のサブアレイブロックの読出ゲートをオン状態とするために、図１５６に示す読出選択信号ＣＳＬ（ＣＳＬ＜０＞−ＣＳＬ＜ｍ＞）が並行して選択状態へ駆動される。この場合、データ書込時、ブロックアドレスデコーダの出力信号に従って、書込ブロックフラグをセットし、この書込時に設定された書込ブロックフラグを読出時においても維持することにより、書込が行なわれたサブアレイブロックに対するデータの読出を、このフラグを参照することにより実行することができる。この書込ブロックフラグは、１つの演算サイクルが完了し、最終加算結果が生成された後にリセットされればよい。
【１１０１】
この電流合計線ＶＭ上の電圧レベルが、供給電流により上昇すると、所定のタイミングで、変換活性化信号ＡＤＣＥＮを活性化してＡＤＣを活性化して、Ａ／Ｄ変換を行って、変換データを生成してを出力する（ステップＳＰ６）。これらのステップＳＰ４からＳＰ６の処理が、１クロックサイクル内で実行される。
【１１０２】
なお、この加算操作時に、演算されるデータの数が予め定められていれば、このデータの数に応じて、読出時、書込対象のブロックを並行して選択状態へ駆動することができる（入力演算データの数に応じて、読出ワード線駆動回路に対する並行活性化を実行する）。
【１１０３】
ワード線アドレス（書込ワード線および読出ワード線アドレス）については特に説明していないが、これは、各サブアレイブロックにおいて同一位置のワード線が選択されればよく、書込時および読出時に同一行の書込／読出ワード線が選択される。
【１１０４】
図１５８は、図１５２に示すチューナブル電圧発生回路８４５の生成する電圧ＶＲＥＦ＿ＡＤＣのチューニング動作を示すフロー図である。以下、図１５８を参照して、図１５２に示すチューナブル電圧発生回路８４５の電圧レベル調整動作について説明する。
【１１０５】
まず、チューニング指示がテストモード時に与えられるのを待つ（ステップＳＰ２０）。このチューニング指示が与えられると、ブロックアドレスＢＡを初期値の“０”に設定し、また、入力データを（１１１１）に設定する。ここで、ＡＤＣとして、８ビットＡＤＣを想定している。このブロックアドレスＢＡが指定するブロックへデータ（１１１１）を書込む（ステップＳＰ２２）。この最初のセルアレイブロックへのデータ書込が完了すると、ブロックアドレスＢＡが“１６（十進）”に到達したかの判定を行なう（ステップＳＰ２３）。ブロックアドレスＢＡは、“１６（十進）”に到達していないため、ブロックアドレスＢＡを１増分し（ステップＳＰ２４）、再びステップＳＰ２２に戻り、次のブロックアドレスが指定するサブアレイブロックに対するデータ（１１１１）の書込を行なう。
【１１０６】
ステップＳＰ２３において、ブロックアドレスＢＡが“１６（十進）”に到達していると判定されると、最終のサブアレイブロックに対するデータ（１１１１）の書込が完了する。この場合、次いで、ブロックアドレスＢＡの０から１６が指定するサブアレイブロックからデータを並行して読出し、ＡＤＣによりＡＤ変換を行ない、変換結果を出力する（ステップＳＰ２５）。この説明の場合、１７個のデータ（１１１１）の加算であり、そのＡＤＣの出力データが、（１１１１１１１１）（＝２５５（１０進））であるかの判定を行なう（ステップＳＰ２６）。
【１１０７】
出力データが、十進数で２５５を示す（１１１１１１１１）でない場合には、変換出力値は、２５５よりも低い値を示しており、変換基準電圧ＶＲＥＦ＿ＡＤＣの電圧レベルは、所定値よりも高い電圧レベルにある。従って、変換基準電圧ＶＲＥＦ＿ＡＤＣの電圧レベルを低下させる（ステップＳＰ２７）。データは非破壊的に読出されており、書込データはユニット演算子セルに格納されている。従って、このステップＳＰ２７の後、再びステップＳＰ２５へ戻り、ブロックアドレスＢＡの０から１６が指定するサブアレイブロックに対するデータ（１１１１）の読出ＡＤ変換、変換後のデータの出力および判定という、上述のステップＳＰ２６およびＳＰ２７の処理が実行される。
【１１０８】
一方、ステップＳＰ２６において、変換後の出力データが（１１１１１１１１）であると判定されると、この場合、変換基準電圧ＶＲＥＦ＿ＡＤＣが所定値よりも低下している場合があるため、再び、次のデータを用いたチューニングを実行する。すなわち、あるブロックアドレスＢＡを初期値の“１”に設定する（ステップＳＰ２８）。次に、このブロックアドレスＢＡが指定するサブアレイブロックに対しデータ（０００１）を書込む（ステップＳＰ２９）。
【１１０９】
次に、このブロックアドレスＢＡが、“１５（十進）”に到達したかの判定が行なわれる（ステップＳＰ３０）。ブロックアドレスＢＡは、“１５（十進）”に到達していないため、ブロックアドレスＢＡを１増分し、再びステップＳＰ２９に戻り、データ（０００１）を書込む（ステップＳＰ３１）。一方、ステップＳＰ３０においてブロックアドレスＢＡが“１５（十進）”に到達したと判定されると、次いで、書込時にブロックアドレスＢＡが指定したサブアレイブロック、すなわち、ブロックアドレスＢＡ＝１から１５のサブアレイブロックのデータの読出、ＡＤ変換を行ない、かつ変換後のデータを出力する（ステップＳＰ３２）。
【１１１０】
次いで、この読出された変換後の出力データが、（００００１１１１）であるかの判定が行なわれる（ステップＳＰ３３）。この場合、出力されたデータが、（００００１１１１）でない場合には、電圧レベルが低下し過ぎているため、この変換基準電圧ＶＲＥＦ＿ＡＤＣの電圧レベルの調整（電圧レベルの上昇）を行なう（ステップＳＰ３４）。この後、再び、ステップＳＰ３２に戻り、ブロックアドレスＢＡの０から１５が指定するサブアレイブロックからデータ（０００１）の読出、ＡＤ変換、および判定を実行する。
【１１１１】
ステップＳＰ３３において、変換後の出力データが、（００００１１１１）であると判定されると、この変換基準電圧ＶＲＥＦ＿ＡＤＣの調整が完了する。この場合、ステップＳＰ３３において、これらの、変換基準電圧ＶＲＥＦ＿ＡＤＣのレベルが微調整され、データの読出が行なわれ、ＡＤ変換に対するマージンの調整が行なわれてもよい。
【１１１２】
なお、ステップＳＰ２８からＳＰ３３の処理において、初期ブロックアドレスを“０”に設定し、最終ブロックアドレスを“１５（１０進）”に設定し、変換出力値が、（０００１０００）（＝１６（１０進））であるかの判定が行われても良い。
【１１１３】
チューナブル電圧発生回路８４５の構成としては、一例として以下の構成が利用されれば良い。すなわち、基準電流を電圧に変換する抵抗網回路において、各抵抗と並列にスイッチング素子を設け、このスイッチング素子のオン／オフ状態に従って、抵抗網の抵抗値を調整することにより電圧レベルが調整される。
【１１１４】
以上のように、この発明の実施の形態１７に従えば、複数のサブアレイブロックから並列にメモリセルの記憶データを読出し、各読出データ線に対しては、データビットの位置に応じた重み付けを行なうようにその本数を設定し、そのうち電流の合計演算処理を行なっており、高速でキャリーを生成することなく加算演算を行なうことができる。
【１１１５】
また、電流加算であり、高速で加算処理を行なうことができる。また、ＡＤＣ変換の際に利用される変換基準電圧を調整可能としており、正確なＡ／Ｄ変換を保障することができる。
【１１１６】
［実施の形態１８］
図１５９は、ユニット演算子セルのＢポート選択時のセンスアンプに対するトランジスタの接続態様を概略的に示す図である。図１５９において、ユニット演算子セルＵＯＥにおいては、読出ＢポートＲＰＲＴＢ選択時、ソース線ＳＬとセンス読出ビット線ＲＢＬの間にＮチャネルＳＯＩトランジスタＮＱ１およびＮＱ２が直列に接続される。同様に、ダミーセルＤＭＣについても、ダミートランジスタＤＴＢ０およびＤＴＢ１が基準電圧源と補の読出ビット線ＺＲＢＬの間に直列に接続される。これらのセンス読出ビット線ＲＢＬおよびＺＲＢＬがセンスアンプＳＡに結合され、センスアンプＳＡによりこれらのセンス読出ビット線ＲＢＬおよびＺＲＢＬの電位差または電流差が増幅される。このセンスアンプＳＡの出力信号に従って電流源回路８２６が、内部出力ノード８２８ａおよび８２８ｂに選択的に電流を供給する。
【１１１７】
図１６０は、図１５９に示すユニット演算子セルおよびダミーセルの接続態様におけるデータ読出時の動作を示す信号波形図である。以下、図１６０を参照して、図１５９に示すユニット演算子セルＵＯＥおよびダミーセルＤＭＣの読出動作について説明する。
【１１１８】
なお、以下の説明においても、ＳＯＩトランジスタＮＱ１およびＮＱ２が、しきい値電圧の高い状態をデータ“０”を記憶する状態に対応付け、しきい値電圧の低い状態をデータ“１”を記憶する状態に対応付ける。
【１１１９】
プリチャージ期間においては、読出ビット線ＲＢＬおよび補の読出ビット線ＺＲＢＬは、図１４８に示すビット線プリチャージ／イコライズ回路ＢＬＥＱにより、プリチャージ電圧ＶＰＣレベルにプリチャージされる。
【１１２０】
読出サイクルが始まると、読出ワード線ＲＷＬＡおよびＲＷＬＢとダミーセル選択信号ＤＣＬＢが選択状態へ駆動される。ソース線ＳＬ上の電圧はたとえば電源電圧ＶＣＣレベルであり、ダミーセルＤＭＣに供給される基準電圧Ｖｒｅｆよりも高い電圧レベルである。基準電圧Ｖｒｅｆは、例えば電源電圧ＶＣＣの１／２倍のＶＣＣ／２の電圧レベルである。ＳＯＩトランジスタＮＱ１およびＮＱ２の一方がデータ“０”を格納している場合、そのしきい値電圧は大きく電流量は少ない。一方、ＳＯＩトランジスタＮＱ１およびＮＱ２がデータ“１”を格納する場合、そのしきい値電圧は低く、大きな電流を流す。
【１１２１】
したがって、ＳＯＩトランジスタＮＱ１およびＮＱ２が、ともにデータ“１”を記憶している場合（状態Ｓ（１、１））、ソース線ＳＬから読出ポートＲＰＲＴＢを介してセンス読出ビット線ＲＢＬに、大きな電流が流れる。ダミーセルＤＭＣにおいては、ダミートランジスタＤＴＢ０およびＤＴＢ１を介して基準電圧源Ｖｒｅｆから補のセンス読出ビット線ＺＲＢＬに電流が流れる。基準電圧Ｖｒｅｆ（電圧源と供給される電圧を同一符号で示す）は、ソース線ＳＬに供給される電圧（電源電圧ＶＣＣレベル）とビット線プリチャージ電圧ＶＰＣの間の電圧レベルである。この状態においては、ユニット演算子セルＵＯＥからの電流量が、ダミーセルＤＭＣからの電流量よりも大きく、センス読出ビット線ＲＢＬの電位は、補のセンス読出ビット線ＺＲＢＬの電位よりも高くなる。
【１１２２】
一方、ＳＯＩトランジスタＮＱ１およびＮＱ２の少なくとも一方がデータ“０”を格納している場合（状態Ｓ（０、１）、Ｓ（１，０）、Ｓ（０、０））、ダミーセルＤＭＣが補のセンス読出ビット線ＺＲＢＬへ供給する電流量が、ユニット演算子セルＵＯＥが供給する電流量よりも大きくなる。この電流量の差により、センス読出ビット線ＲＢＬの電位は、補のセンス読出ビット線ＺＲＢＬの電位よりも低くなる。
【１１２３】
この状態で、センスアンプ活性化信号（／ＳＯＰおよびＳＯＮ）活性化して、センスアンプＳＡを活性化する。センス読出ビット線ＲＢＬおよびＺＲＢＬに読出されたデータ(電位または電流量)が、センスアンプＳＡにより差動増幅される。センスアンプＳＡのセンス動作は、先に図１４９を参照して説明した動作と同じである。この場合においても、センスアンプＳＡのハイ側電源電圧ＶＢＣのレベルの電圧が、センス読出ビット線ＲＢＬおよびＺＲＢＬのいずれかに伝達されても、ＳＯＩトランジスタＮＱ１およびＮＱ２およびダミートランジスタのボディ領域におけるＰＮ接合が順バイアスされてボディ領域に電荷が流入するのは回避され、記憶データの破壊を生じさせることなく、正確に、センス動作を行なうことができる。
【１１２４】
電流源回路８２６は、センスアンプＳＡの出力信号（センス読出ビット線ＲＢＬの電位）がＨレベルの時に内部出力ノード８２８ａへ電流を供給し、センスアンプＳＡの出力信号（センス読出ビット線ＲＢＬの電位）がＬレベルのときには、電流源回路８２６は、出力ハイインピーダンス状態となる。
【１１２５】
図１４７に示す読出ゲートＣＳＧを読出選択信号ＣＳＬにより選択して、対応のグローバル読出データ線を介してＡＤＣ帯の対応のＡＤＣへ電流を供給する。
【１１２６】
図１６１は、図１６０に示すユニット演算子セルＵＯＥおよびダミーセルＤＭＣの選択態様における記憶データとセンスアンプの出力信号の論理値と電流源回路の状態の関係を一覧にして示す図である。
【１１２７】
図１６１に示すように、ＳＯＩトランジスタＮＱ１およびＮＱ２がともにデータ“１”を格納している状態Ｓ（１、１）のときのみ、ユニット演算子セルは、ダミーセルＤＭＣよりも大きな電流を供給するため、センスアンプの出力信号、センス読出ビット線ＲＢＬの電位は、“１”となる。一方、ＳＯＩトランジスタＮＱ１およびＮＱ２の少なくとも一方がデータ“０”を格納している状態Ｓ（０、０）、Ｓ（１、０）およびＳ（０、１）の場合には、センスアンプＳＡの出力信号は、“０”となる。
【１１２８】
このセンスアンプＳＡの出力信号は、ＳＯＩトランジスタＮＱ１およびＮＱ２の記憶ノードＳＮＡおよびＳＮＢの格納データのＡＮＤ演算結果を表わしている。また、電流源回路８２６は、センスアンプＳＡの出力信号が、“１”のときにオン状態となって電流を供給し、センスアンプＳＡの出力信号が“０”の時にはオフ状態となって電流の供給を停止する。従って、ユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢの記憶データのＡＮＤ演算結果に応じて電流が対応のグローバル読出データ線に供給される。
【１１２９】
このようにして、装置外部にデータを読出すことなく、内部でユニット演算子セルの記憶データを読出すだけで、記憶データの論理演算を実行して演算結果を得ることができる。この構成を利用して、本実施の形態１７においては、実施の形態８と異なる態様で、積和演算を実行して乗算を行う。
【１１３０】
図１６２は、この発明の実施の形態１８において実行される乗算の具体的一例を示す図である。図１６２に示すように、一例として、４ビット被乗数Ｘ＜３：０＞および４ビット乗数Ｙ＜３：０＞の乗算を行なう。乗算実行時においては、被乗数Ｘ＜３：０＞の各ビットを、乗数Ｙ＜３：０＞の各ビットと乗算して部分積ＰＰ１およびＰＰ４を生成し、これらの部分積ＰＰ１−ＰＰ４を桁合せして加算することにより、最終積Ｐ＜７：０＞を生成する。この部分積ＰＰ１−ＰＰ４を、図１６１に示すＡＮＤ演算を利用して生成し、電流加算により、部分積ＰＰ１−ＰＰ４の加算を行なって最終積を生成する。グローバル書込データ線ＷＧＬＡおよびＷＧＬＢとデータビットとの対応は、実施の形態１７と同様である。数値データの各ビットの位置に応じて重み付けが行われて、書込データが転送されて対応のユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢに格納される。
【１１３１】
図１６３は、この発明の実施の形態１８に従う半導体信号処理装置のデータパス８１４の構成を概略的に示す図である。図１６３においては、一例として、８ビットＡＤＣが用いられる場合の構成を示す。演算単位ブロックＯＵＢにおいて、書込グローバルデータバスＷＤＢ０−ＷＤＢ６が設けられる。グローバル書込データバスＷＧＢ０は、１つのグローバル書込データ線対ＷＧＬＰを含み、グローバル書込データバスＷＧＢ１は、２本のグローバル書込データ線対ＷＧＬＰを含む。このグローバル書込データ線対ＷＧＬＰは、図１４７に示すように、Ａポートグローバル書込データ線ＷＧＬＡと、Ｂポートグローバル書込データ線ＷＧＬＢとを含む。以下、グローバル書込データバスＷＧＢｉは、２のｉ乗のグローバル書込データ線対ＷＧＬＰを含む。ここで、ｉは、２から６のいずれかの整数である。
【１１３２】
このグローバル書込データ線対ＷＧＬＰそれぞれに対し、グローバル書込ドライバＷＤＲＡ／Ｂが設けられ、グローバル書込データバスＷＧＢ０−ＷＧＢ６に、それぞれ、与えられたデータビットを転送する。このグローバル書込ドライバＷＤＲＡ／Ｂは、Ａポートグローバル書込データ線ＷＧＬＡに対して設けられるグローバル書込ドライバＷＤＲＡと、Ｂポートグローバル書込データ線ＷＧＬＢに対して設けられるグローバル書込ドライバＷＤＲＢとを含む。
【１１３３】
グローバル書込データバスＷＧＢｋに対して設けられるグローバル書込ドライバＷＤＲＡ／Ｂは、入力データの第ｋ桁のデータビットを転送する。ｋは、０から６のいずれかの整数である。従って、入力データビットに対し、対応のビット位置の桁の重みが付された書込データが生成されて対応のグローバル書込データ線を介して書込データが転送される。
【１１３４】
このグローバル書込データバスＷＧＢ０−ＷＧＢ６に対し、スイッチボックス８５２とレジスタ回路８５０ａ−８５０ｄおよび８５１ａ−８５１ｄが設けられる。レジスタ回路８５０ａ−８５０ｄは、それぞれ与えられた入力データビットＤＩＮＡ＜０＞−ＤＩＮＡ＜３＞を保持する。レジスタ回路８５１ａ−８５１ｄは、それぞれ、与えられた入力データビットＤＩＮＢ＜０＞−ＤＩＮＢ＜３＞を保持する。
【１１３５】
スイッチボックス８５２は、レジスタ回路８５０ａ−８５０ｄに対応して配置される入力ノードＥＡ０−ＥＡ３およびＥＡ４−ＥＡ７と、レジスタ回路８５１ａ−８５１ｄに対応して配置される入力ノードＥＢ０−ＥＢ３およびＥＢ４−ＥＢ７と、入力側に配置される接地線８５５と、グローバル書込データバスＷＧＢ０−ＷＧＢ６それぞれに対応して設けられる出力ノードＦＡ０−ＦＡ６およびＦＢ０−ＦＢ６とを有する。図１６３においては、図面を簡略化するために、入力ノードＥＡｉおよびＥＢｉの組を、入力ノードＥｉとして示し、また出力ノードＦＡｉおよびＦＢｉの組を、出力ノードＦｉとして示す。
【１１３６】
スイッチボックス８５２においては、ポートＡおよびポートＢそれぞれに対してデータビットの転送経路が、スイッチ制御信号ＳＷＣＡおよびＳＷＣＢにより設定される。
【１１３７】
データクロック信号ＤＣＬＫに従って、スイッチボックス８５２は、出力ノードＦ０−Ｆ６と入力ノードＥ０−Ｅ７との間の接続経路を切換える。このスイッチボックス８５２の切換動作により、入力データビットＤＩＮＡ＜３：０＞が、順次１ビットずつ上位方向にシフトされてグローバル書込データバスに転送され、また、入力データビットＤＩＮＢ＜３：０＞が、１ビットづつ順次選択されて、また、そのビット位置がシフトされて転送される。
【１１３８】
図１６２に示すように、４ビット被乗数Ｘ＜３：０＞および４ビット乗数Ｙ＜３：０＞の乗算を行なう場合、以下の手順で乗算を実行する。すなわち、乗算実行時においては、被乗数Ｘ＜３：０＞の各ビットを、乗数Ｙ＜３＞−Ｙ＜０＞の各ビットと乗算して部分積ＰＰ１からＰＰ４を生成し、これらの部分積ＰＰ１−ＰＰ４を桁合せして加算することにより、最終積Ｐ＜７：０＞を生成する。この部分積ＰＰ１−ＰＰ４を、図１６１に示すユニット演算子セルの記憶データに対するＡＮＤ演算を利用して生成し、電流加算により、部分積ＰＰ１−ＰＰ４のアナログ加算を行なって最終デジタル積を生成する。以下、図１６４から図１７１を参照して、演算データの書込動作について具体的に説明する。なお、図１６４から図１７１においては、図面を簡略化するために、ポートＡに対するデータの転送経路とポートＢに対するデータの転送経路を、別々の図面を用いて示す。
【１１３９】
図１６４において、レジスタ回路８５０ａ−８５０ｄに、データクロック信号ＤＣＬＫに従って被乗数ビットＸ＜０＞−Ｘ＜３＞がそれぞれ格納される。レジスタ回路８５０ａ−８５０ｄには、次にリセット（図示せず）指示が与えられまで、その格納データは維持される。レジスタ回路８５０ａ−８５０ｄは、スイッチボックス８５２において、それぞれ、入力ノードＥＡ０−ＥＡ３およびＥＡ４−ＥＡ７にそれぞれ結合されている。この状態において、スイッチ制御信号ＳＷＣＡにより、スイッチボックス８５２の出力ノードＦＡ０−ＦＡ３を、それぞれ入力ノードＥＡ０−ＥＡ３に結合する。出力ノードＦＡ４−ＦＡ６は、それぞれ接地線８５５に結合する。この状態で、グローバル書込ドライバＷＤＲＡを活性化し、各グローバル書込データバスＷＧＢ０−ＷＧＢ６上に、スイッチボックス８５２を介して転送されたデータを転送する。したがって、この場合においては、グローバル書込データバスＷＧＢ０−ＷＧＢ３に、それぞれ被乗数ビットＸ＜０＞−Ｘ＜３＞が転送される。グローバル書込データバスＷＧＢ４−ＷＧＢ６には、データ“０”が転送される。
【１１４０】
一方、レジスタ回路８５１ａ−８５１ｄに対しては、図１６５に示すように、データクロック信号ＤＣＬＫに従って乗数ビットＹ＜０＞−Ｙ＜３＞がそれぞれ格納される。レジスタ回路５０ａ−５０ｄと同様、レジスタ回路５１ａ−５１ｄには、次にリセット（図示せず）指示が与えられまで、その格納データは維持される。レジスタ回路８５１ａ−８５１ｄは、スイッチボックス８５２において、それぞれ、入力ノードＥＢ０−ＥＢ３およびＥＢ４−ＥＢ７に結合されている。この状態において、スイッチ制御信号ＳＷＣＢにより、スイッチボックス８５２の出力ノードＦＢ０−ＦＢ３を、それぞれ入力ノードＥＢ０に結合する。出力ノードＦＢ４−ＦＢ６は、それぞれ接地線８５５に結合する。この状態で、グローバル書込ドライバＷＤＲＢを活性化し、各グローバル書込データバスＷＧＢ０−ＷＧＢ６上に、スイッチボックス８５２を介して転送されたデータを転送する。したがって、この場合においては、グローバル書込データバスＷＧＢ０−ＷＧＢ３に、それぞれ乗数ビットＹ＜０＞が転送される。グローバル書込データバスＷＧＢ４−ＷＧＢ６には、データ“０”が転送される。
【１１４１】
これらの被乗数データＸ＜３：０＞および乗数データビットＹ＜０＞が、グローバル書込データバスＷＧＢ０−ＷＧＢ３を介して転送されると、書込対象の最初のサブアレイブロック♯０において書込ワード線を活性化して、ユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢへデータを書込む。
【１１４２】
最初の書込サイクルが完了すると、ポートＡについては、図１６６に示すように、スイッチ制御信号ＳＷＣＡにより、スイッチボックス８５２の接続経路を切換える。この場合、入力ノードＥＡ０−ＥＡ３が、それぞれ出力ノードＦＡ１−ＦＡ４に結合され、出力ノードＦＡ０、ＦＡ５およびＦＡ６が、それぞれ接地線８５５に結合される。レジスタ回路８５０ａ−８５０ｄの格納データビットは、変化しない。したがって、グローバル書込ドライバＷＤＲＡにより、グローバル書込データバスＷＧＢ１−ＷＧＢ４に対し被乗数ビットＸ＜０＞−Ｘ＜３＞が転送され、グローバル書込データバスＷＧＢ０、ＷＧＢ５およびＷＧＢ６にはデータ“０”が転送される。
【１１４３】
一方、ポートＢについては、図１６７に示すように、スイッチボックス８５２の接続経路をスイッチ制御信号ＳＷＣＢにより切換える。この場合、入力ノードＥＢ１が、それぞれ出力ノードＦＢ１およびＦＢ２に結合され、入力ノードＥＢ５が、出力ノードＦＢ３およびＦＢ４に結合される。これらの入力ノードＥＢ１およびＥＢ５は、ともに、乗数データビットＹ＜１＞を格納するレジスタ回路８５１ｂに結合される。出力ノードＦＢ０、ＦＢ５およびＦＢ６が、それぞれ接地線８５５に結合される。レジスタ回路８５１ａ−８５１ｄの格納データビットは、変化しない。したがって、グローバル書込ドライバＷＤＲＢにより、グローバル書込データバスＷＧＢ１−ＷＧＢ４に対し乗数ビットＹ＜１＞が転送され、グローバル書込データバスＷＧＢ０、ＷＧＢ５およびＷＧＢ６にはデータ“０”が転送される。
【１１４４】
これらのデータＸ＜３：０＞およびＹ＜１＞が並行してグローバル書込データバスＷＧＢ１−ＷＧＢ４を介して転送されると、次の書込対象のサブアレイブロック♯１において書込ワード線が選択状態に駆動され、転送データの書込が対応のユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢに対して実行される。これにより、サブアレイブロック♯１においては、サブアレイブロック♯０に対し、１ビット上位方向へシフトされた後の被乗数データＸ＜３：０＞および乗数データビットＹ＜１＞が格納される。
【１１４５】
次に、ポートＡについて、図１６８に示すように、スイッチ制御信号ＳＷＣＡを変化させ、スイッチボックス８５２の接続経路を切換える。この場合、レジスタ回路８５０ａ−８５０ｄがそれぞれ接続される入力ノードＥＡ４−ＥＡ７を、それぞれ出力ノードＦＡ２−ＦＡ５に接続する。出力ノードＦＡ０、ＦＡ１およびＦＡ６は、接地線８５５に接続される。この状態においては、ポートＡグローバル書込データ線ＷＧＬＡについては、グローバル書込データバスＷＧＢ０、ＷＧＢ１およびＷＧＢ６に、データビット“０”が転送され、グローバル書込データバスＷＧＢ２−ＷＧＢ５に、それぞれ、被乗数ビットＸ＜０＞−Ｘ＜３＞が転送される。
【１１４６】
一方、Ｂポートについては、図１６９に示すように、スイッチ制御信号ＳＷＣＢにより、スイッチボックス８５２の接続経路を切換え、レジスタ回路８５１ｃが接続される入力ノードＥＢ２およびＥＢ６を、出力ノードＦＢ２−ＦＢ５に結合する。出力ノードＦＢ０、ＦＢ１およびＦＢ６は、接地線８５５に結合される。従って、Ｂポートグローバル書込データ線ＷＧＬＢについては、グローバル書込データバスＷＧＢ２−ＷＧＢ５に乗数データビットＹ＜２＞が転送され、グローバル書込データバスＷＧＢ０、ＷＧＢ１およびＷＧＢ６にはデータビット“０”が転送される。
【１１４７】
これらの乗数データＸ＜３：０＞および乗数データビットＹ＜２＞が、グローバル書込データバスＷＧＢ２−ＷＧＢ５を介して転送されると、次の書込対象のサブアレイブロック♯２において、書込ワード線が選択状態に駆動され、転送データが、ユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢに格納される。これにより、図１６６およびず図１６７に示す書込サイクルよりも１ビット上位方向にシフトした位置に対しデータの書込が行われる。
【１１４８】
この書込完了後、図１７０に示すように、ポートＡについて、再び、スイッチ制御信号ＳＷＣＡの状態を変化させ、スイッチボックス８５２において、出力ノードＦＡ３−ＦＡ６を、レジスタ回路５０ａ−５０ｄにそれぞれ接続される入力ノードＥＡ４−ＥＡ７に接続し、出力ノードＦＡ０−ＦＡ２を、接地線８５５に結合する。この状態においては、ポートＡグローバル書込データ線ＷＧＬＡについて、グローバル書込データバスＷＧＢ０−ＷＧＢ２には、データビット“０”が転送され、グローバル書込データバスＷＧＢ３−ＷＧＢ６には、それぞれ、被乗数ビットＸ＜０＞−Ｘ＜３＞が転送される。
【１１４９】
一方、ポートＢについては、図１７１に示すように、スイッチボックス５２において、スイッチ制御信号ＳＷＣＢにより、データ転送経路を切換える。すなわち、レジスタ回路８５１ｄが接続される入力ノードＥＢ３およびＥＢ７を、出力ノードＦＢ３−ＦＢ６に結合し、出力ノードＦＢ０−ＦＢ２を接地線８５５に結合する。この状態においては、Ｂポートグローバル書込データ線ＷＧＬＢについて、グローバル書込データバスＷＧＢ０−ＷＧＢ２については、データビット“０”が転送され、グローバル書込データバスＷＧＢ３−ＷＧＢ６に対して乗数データビットＹ＜３＞が転送される。
【１１５０】
グローバル書込データバスＷＧＢ３−ＷＧＢ６を介して被乗数データＸ＜３：０＞および乗数データビットＹ＜３＞が並行して転送される。これらのデータが転送されると、次の書込対象のサブアレイブロック♯３において書込ワード線が選択状態に駆動され、転送データのユニット演算子セルへの書込が行われる。
【１１５１】
被乗数データＸおよび乗数データＹの書込が並行して行われる。従って、これらのデータ書込に、４回の書込アクセスが必要とされる。
【１１５２】
この４回の書込アクセスが完了し、乗算対象のデータの書込が完了すると、実施の形態１７と同様にして、メモリサブアレイブロックからデータの読出を行なう。
【１１５３】
図１７２は、この発明の実施の形態１８に従う半導体信号処理装置のデータ読出部の構成を概略的に示す図である。この図１７２に示す構成において、センスアンプ帯８２２および読出ゲート回路８２４に含まれるセンスアンプ回路ＳＡＫおよび読出ゲートＣＳＧの構成は、実施の形態１７の場合と同じである。サブアレイブロックＢＫ０において代表的に示すように、セルサブアレイ８２０において、ビット線ＢＬには、ユニット演算子セルＵＯＥが接続され、このユニット演算子セルＵＯＥを構成するトランジスタＮＱ１およびＮＱ２がソース線ＳＬとビット線ＢＬとの間に直列に接続される。補のビット線ＺＢＬには、ダミーセルＤＭＣが接続される。
【１１５４】
この図１７２に示す構成においては、１つの演算単位ブロックＯＵＢにおいて、サブアレイブロックＢＫ０−ＢＫｍ（上述の説明の４ビットデータの場合、ｍ＝３：♯０−♯３）それぞれにおいて被乗数データＸ＜３：０＞が、１ビット桁がシフトされて格納される。また、このサブアレイブロックＢＫ０−ＢＫｍ（上述の説明の４ビットデータの場合、♯０−♯３）それぞれにおいて、乗数データビットＹ＜０＞−Ｙ＜３＞が、１ビット桁位置がシフトされて格納される。このビット位置をずらせて演算対象のデータを格納することにより、部分積加算時の桁合せを、容易に実現することができる。
【１１５５】
データ読出時、一般に、乗数データおよび被乗数データが書込まれたサブアレイブロックＢＫ０−ＢＫｍ（４ビットデータの場合、ｍ＝３）に対し読出選択信号ＣＳＬ＜０＞−ＣＳＬ＜ｍ＞が、実施の形態１７と同様、並行して接続状態へ駆動される。このときポート接続回路においては、ポートＢが選択される。センスアンプ回路ＳＡでＫは、対応のユニット演算子セルＵＯＥの記憶データのＡＮＤ演算結果に対応する電流を供給する。１２７本のグローバル読出データ線ＲＧＬ０−ＲＧＬ１２６に対し、並行してメモリサブアレイブロックＢＫ０−ＢＫｍから、センス読出電流Ｉｓ０（０）−Ｉｓ０（１２６）−Ｉｓｍ（０）−Ｉｓｍ（１２６）が供給される。このグローバル読出データ線ＲＧＬ０−ＲＧＬ１２６は、電流合計線ＶＭに共通に結合される。この電流合計線ＶＭ上の合計された電流に対応するアナログ電圧を、ＡＤＣ８３５によりデジタルデータに変換する。
【１１５６】
図１７３は、４ビットデータＸ＜３：０＞およびＹ＜３：０＞に対する乗算実行時のサブアレイブロック♯０−♯３（＝ＢＫ０−ＢＫ３）の記憶データを概略的に示す図である。図１７３を参照して、サブアレイブロック♯０において、グローバル書込データバスＷＧＢ０−ＷＧＢ３に対応して配置されるユニット演算子セルＵＯＥの記憶ノードＳＮＡおよびＳＮＢに対し被乗数データビットＸ＜０＞−Ｘ＜３＞および乗数ビットＹ＜０＞が書込まれる。グローバル書込データバスＷＧＢ４−ＷＧＢ６に対するユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢには、データ“０”が格納される。
【１１５７】
サブアレイブロック♯１においては、グローバル書込データバスＷＧＢ１−ＷＧＢ４に対応する領域のユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢに、それぞれ、被乗数データビットＸ＜０＞−Ｘ＜３＞および乗数データビットＹ＜１＞が格納される。グローバル書込データバスＷＧＢ０、ＷＧＢ５およびＷＧＢ６に対する領域においては、ユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢにデータ“０”が格納される。
【１１５８】
サブアレイブロック♯２においては、グローバル書込データバスＷＧＢ２−ＷＧＢ５に対応する領域のユニット演算子セルの記憶ノードＳＮＡに、被乗数データビットＸ＜０＞−Ｘ＜３＞がそれぞれ格納され、また、記憶ノードＳＮＢに乗数データビットＹ＜１＞が格納される。グローバル書込データバスＷＧＢ０、ＷＧＢ１およびＷＧＢ６に対応する領域のユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢにおいては、データ“０”が格納される。
【１１５９】
サブアレイブロック♯３においては、グローバル書込データバスＷＧＢ０−ＷＧＢ２に対応する領域のユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢに、データ“０”が格納される。グローバル書込データバスＷＧＢ３−ＷＧＢ６に対応する領域のユニット演算子セルの記憶ノードＳＮＡおよびＳＮＢに、それぞれ、被乗数データビットＸ＜０＞−Ｘ＜３＞および乗数データビットＹ＜３＞が格納される。
【１１６０】
サブアレイブロック♯０−♯３各々において、グローバル書込データバスＷＧＢ０−ＷＧＢ６のビット幅に応じた数のユニット演算子セルＵＯＥに対するデータの書込が行なわれる。このユニット演算子セルＵＯＥの記憶ノードＳＮＡおよびＳＮＢの記憶データのＡＮＤ演算結果に応じた電流が、センスアンプ回路ＳＡＫから対応のグローバル読出データ線ＲＧＬ上に伝達される。サブアレイブロック♯０−♯３からは、図１６２に示す部分積ＰＰ１−ＰＰ４に対応する電流が、グローバル読出データバスＲＧＢ０−ＲＧＢ６に供給される。したがって、電流合計線ＶＭ上の合計電流、すなわち電圧は、乗算結果を表わす値となる。ＡＤＣ８３５により、電流合計線ＶＭの電圧に対してＡＤ変換を行なうことにより、部分積ＰＰ１−ＰＰ４の加算結果に対応する８ビット乗算結果Ｐ＜７＞−Ｐ＜０＞を得ることができる。
【１１６１】
図１７４は、この発明の実施の形態１８に従う半導体信号処理装置のＡＤＣ帯８１２の構成を概略的に示す図である。図１７４を参照して、ＡＤＣ帯８１２においては、演算単位ブロックＯＵＢａ−ＯＵＢｋそれぞれに対応して、ＭビットＡＤＣ８３５ａ−８３５ｋが設けられる。これらのＡＤＣ８３５ａ−８３５ｋに対し、電流合計線ＶＭａ−ＶＭｋがそれぞれ設けられ、ＡＤＣ８３５ａ−８３５ｋは、対応の電流合計線ＶＭａ−ＶＭｋ上の各電圧を、ビット毎に、それぞれ変換基準電圧ＶＲＥＦ＿ＡＤＣ♯ａ−ＶＲＥＦ＿ＡＤＣ♯ｋを用いてＭビットデジタルデータに変換する。これらのＡＤＣ８３５ａ−８３５ｋから、ＭビットデータＱａ＜Ｍ−１：０＞−Ｑｋ＜Ｍ−１：０＞がそれぞれ生成される。
【１１６２】
したがって、演算単位ブロックＯＵＢａ、ＯＵＢｂ、…、ＯＵＢｋにおいて、被乗数データＸａ、Ｘｂ、…、Ｘｋと乗数データＹａ、Ｙｂ、…、Ｙｋのアナログ乗算結果Ｘａ・Ｙａ、…、Ｘｋ・Ｙｋを生成し、ＭビットＡＤＣ８３５ａ−８３５ｋにおいて並列にＡＤ変換を行なってＭビットデジタルデータを並行して生成することができる。
【１１６３】
この演算単位ブロックＯＵＢａ−ＯＵＢｋにおいて、同じ行のユニット演算子セルが選択されて、データの書込／読出が行なわれる。したがって、この乗算時、グローバル書込データ線およびグローバル読出データ線に対し、転送するデータビットの重み付けがされるものの、この場合、グローバル書込ドライバを、各ビット位置の重みに対応する数設けるだけでよい。選択サブアレイブロックにおいて１エントリ（１行に整列して配置されるユニット演算子セルで構成される）のユニット演算子セルを並行して選択して、データの書込／読出を行なうだけでよく、書込／読出データビットの位置に応じた数のビット線選択を、サブアレイブロックそれぞれにおいて行なうことは、特に要求されない。
【１１６４】
［変更例］
図１７５は、この発明の実施の形態１８の変更例のデータ書込態様を概略的に示す図である。図１７５において、サブアレイブロックＢＫ０−ＢＫ３が、乗算Ｘ♯１＜３：０＞×Ｙ♯１＜３：０＞を行うために利用され、サブアレイブロックＢＫ４−ＢＫ７が、乗算Ｘ♯２＜３：０＞×Ｙ♯２＜３：０＞を行うために利用される。サブアレイブロックＢＫ♯０−ＢＫ３各々において、ユニット演算子セルの記憶ノードＳＮＡに、各ビットの位置の重み付で被乗数データＸ♯１＜３：０＞が格納される。サブアレイブロックＢＫ０−ＢＫ３のユニット演算子セルの記憶ノードＳＮＢに、それぞれ、乗数データビットＹ♯１＜０＞‐Ｙ♯１＜３＞が、ビット位置の重み付で格納される。
【１１６５】
サブアレイブロックＢＫ♯４−ＢＫ７各々において、ユニット演算子セルの記憶ノードＳＮＡに、各ビットの位置の重み付で被乗数データＸ♯２＜３：０＞が格納される。サブアレイブロックＢＫ４−ＢＫ７のユニット演算子セルの記憶ノードＳＮＢに、それぞれ、乗数データビットＹ♯２＜０＞‐Ｙ♯２＜３＞が、ビット位置の重み付で格納される。
【１１６６】
これらの演算データの組は、図１６４から図１７１に示す手順と同様の手順で格納する。これらのサブアレイブロックＢＫ０−ＢＫ７から並行してデータの読出を行う。この場合、サブアレイブロックＢＫ０−ＢＫ３からは、Ｘ♯１＜３：０＞×Ｙ♯１＜３：０＞の部分積ＰＰＴ１−ＰＰＴ４に対応する電流が、図示しないグローバル読出データ線を介して電流合計線に伝達され、また、サブアレイブロックＢＫ４−ＢＫ７からは、Ｘ♯２＜３：０＞×Ｙ♯２＜３：０＞の部分積に対応する電流が、同様対応のグローバル読出データ線に伝達される。従って、電流合計線においては、これらの乗算Ｘ♯１＜３：０＞×Ｙ♯１＜３：０＞およびＸ♯２＜３：０＞×Ｙ♯２＜３：０＞の加算値に対応する電流が供給され、乗算および加算の演算結果に対応するデジタルデータがＡＤＣにより生成される。従って、高速で多ビット数値データの積和演算を実行することができる。
【１１６７】
図１７６は、この発明の実施の形態１８に従う半導体信号処理装置の制御回路８１８の構成を概略的に示す図である。この発明の実施の形態１８に従う半導体信号処理装置の全体の構成は、実施の形態１７において図１４５を参照して説明した構成と同じである。
【１１６８】
図１７６において、制御回路８１８は、コマンドＣＭＤをデコードするコマンドデコーダ８６０と、乗算操作時、レジスタ回路８５０ａ−８５０ｄおよび８５１ａ−８５１ｄのラッチ動作を制御するデータラッチ制御回路８６２と、スイッチボックス８５２のスイッチ動作を制御するスイッチ制御回路８６４と、書込動作を制御する書込制御回路８６６とを含む。
【１１６９】
コマンドデコーダ８６０は、クロック信号ＣＬＫに同期してコマンドＣＭＤを取込み、このコマンドＣＭＤが指定する演算操作内容を指示する信号を生成する。
【１１７０】
データラッチ制御回路８６２は、このコマンドデコーダ８６０からの動作演算操作指示（ＯＰＬＯＧ）が、乗算操作を示すとき、データクロック信号ＤＣＬＫおよびデータラッチイネーブル信号ＤＥＮを生成する。スイッチ制御回路８６４は、コマンドデコーダ８６０からの演算操作指示が乗算操作を示すとき、クロック信号ＣＬＫに同期して所定のシーケンスで、スイッチ制御信号ＳＷＣＡおよびＳＷＣＢを生成し、スイッチボックス８５２の接続経路を、各書込サイクル毎に１ビット上位方向に書込データ転送経路がシフトするように切換える。
【１１７１】
書込制御回路８６６は、コマンドデコーダ８６０からの演算操作指示が、データ書込を伴う操作を示すとき、所定のタイミングで書込活性化信号ＷＲＥＮおよび書込ワード線活性化信号ＷＷＬＥＮを活性化する。この書込制御回路８６６は、また、コマンドデコーダ８６０の演算操作指示が乗算操作を示すとき、また、ラッチイネーブル信号ＬＡＴＥＮを生成する。
【１１７２】
制御回路８１８は、さらに、読出動作を制御する読出制御回路８６８と、乗算操作時、ワード線アドレスを生成するワード線アドレスレジスタ８７０と、クロック信号ＣＬＫをカウントしてブロックアドレスＢＲＡＤを生成するブロックアドレスカウンタ８７２とを含む。
【１１７３】
読出制御回路８６８は、コマンドデコーダ８６０からの演算操作指示がデータ読出を伴う操作を示すとき、所定のタイミングで、読出活性化信号ＲＥＤＥＮ、読出ワード線活性化信号ＲＷＬＥＮ、センスアンプイネーブル信号ＳＡＥＮ、ＡＤ変換イネーブル信号ＡＤＣＥＮを所定のシーケンスで生成する。ワード線アドレスレジスタ８７０は、コマンドデコーダ８６０からの演算操作指示が乗算操作を示すとき、その記憶値が所定値に設定され、乗算操作時、選択サブアレイブロックにおけるワード線（書込ワード線および読出ワード線）を指定するワード線アドレスＷＬＡＤを保持する。
【１１７４】
ブロックアドレスカウンタ８７２は、コマンドデコーダ８６０からの演算操作指示が、乗算操作を示すとき、クロック信号ＣＬＫをカウントし、そのカウント値をサブアレイブロックを指定するブロックアドレスＢＲＡＤとして生成する。ブロックアドレスカウンタ８７２から、そのカウント値が所定値に到達するとカウントアップ信号ＣＵＰが生成され、読出制御回路８６８および書込制御回路８６６へ与えられる。読出制御回路８６８は、この演算操作指示が乗算操作を示すとき、ブロックアドレスカウンタ８７２から所定回数カウントアップ信号ＣＵＰが生成されると、次の読出動作を開始するために、各制御信号ＳＡＥＮ、ＲＷＬＥＮ、ＲＥＤＥＮおよびＡＤＣＥＮを生成する。このカウントアップ信号ＣＵＰの回数は、演算対象データの組の数に対応する。例えば、被乗数データＸ＜３：０＞と乗数データＹ＜３：０＞の組について乗算を実行する場合には、１回カウントアップ信号ＣＵＰがアサートされると、読出動作に移行する。
【１１７５】
書込制御回路８６６は、このブロックアドレスカウンタ８７２からのカウントアップ信号ＣＵＰが与えられると、ラッチイネーブル信号ＬＡＴＥＮを活性化する。このラッチイネーブル信号ＬＡＴＥＮにより、各サブアレイブロックに対して設けられるローカルセル選択回路においてブロックアドレスのデコード結果がラッチされる。乗算操作時、書込完了後の次の読出動作時、書込対象のサブアレイブロックを並行して選択状態へ駆動することができる。
【１１７６】
図１７７は、図１４５に示すセル選択駆動回路８１６に含まれるローカルセル選択回路８７５の構成を概略的に示す図である。図１７７において、ローカルセル選択回路８７５は、ブロックデコーダラッチ８８０と、書込ワード線を選択状態へ駆動する書込ワード線ドライブ回路８８２とを含む。ブロックデコーダラッチ８８０は、書込活性化信号ＷＥＮおよび読出活性化信号ＲＷＤＥＮの活性化時ブロックアドレス信号ＢＲＡＤをデコードし、対応のサブアレイブロックが指定されたときには、そのデコード信号を選択状態に駆動する。このブロックデコーダラッチ８８０は、また図１７６に示す書込制御回路８６６からのラッチイネーブル信号ＬＡＴＥＮの活性化時、ブロックアドレス信号ＢＲＡＤまたはデコード結果をラッチする。
【１１７７】
書込ワード線ドライブ回路８８２は、ブロックデコーダラッチ８８０の出力信号が選択状態のときイネーブルされ、書込ワード線活性化信号ＷＷＬＥＮおよびワード線アドレスＷＬＡＤに従って、対応の行の書込ワード線ＷＷＬを選択状態へ駆動する。
【１１７８】
ローカルセル選択回路８７５は、さらに、読出ワード線を選択状態へ駆動する読出ワード線ドライブ回路８８４と、センスアンプ回路の動作を制御するセンスアンプ制御回路８８６と、センスアンプ回路の出力信号を読出す読出活性化回路８８８とを含む。読出ワード線ドライブ回路８８４は、ブロックデコーダラッチ８８０の出力するデコード信号が選択状態のときイネーブルされ、読出ワード線活性化信号ＲＷＮＥＮに従ってワード線アドレス信号ＷＬＡＤが指定する行に対応する読出ワード線ＲＷＬＡおよびＲＷＬＢを選択状態へ駆動する。
【１１７９】
センスアンプ制御回路８８６は、ブロックデコーダラッチ８８０の出力信号が選択状態のときイネーブルされ、センスアンプ活性化信号ＳＡＥＮに従ってセンスアンプ活性化信号ＳＥ（ＳＯＮ、／ＳＯＰ）を活性化する。読出活性化回路８８８は、このブロックデコーダラッチ８８０のデコード信号が選択状態のときイネーブルされ、読出活性化信号ＲＥＤＥＮの活性化タイミングで、読出選択信号ＣＳＬを選択状態へ駆動する。
【１１８０】
なお、ダミーセル選択のためのダミーセル選択信号ＤＣＬＡおよびＤＣＬＢを生成する部分は、示していないが、これらは、読出ワード線活性化信号ＲＷＬＥＮに従って読出ワード線ＲＷＬＡおよびＲＷＬＢと同一のタイミングで活性化されれば良い。
【１１８１】
スイッチボックス８５２の構成としては、先の図１６４から図１７１に示す接続経路を実現するようにスイッチングトランジスタが配置されればよい。また、このようなスイッチングトランジスタマトリクス構成に代えて、Ａポートのデータ転送経路に対しては、シフトレジスタが設けられ、このシフトレジスタが、レジスタ回路８５０ａ‐８５０ｄにラッチしたデータを、１ビットずつ上位方向へ論理シフトする構成が用いられてもよい。また、Ｂポートのデータ転送経路においては、レジスタ回路８５１ａ‐８５１ｄの接続と出力ノードＦＢ−ＦＢ６との間の接続が、各クロックサイクルごとに１ビットづつ上位方向にシフトする構成が利用されてもよい。
【１１８２】
以上のように、この発明の実施の形態１８に従えば、各サブアレイブロック毎に、ビット位置の重みを付けたデータをユニット演算子セルに格納し、センスアンプ回路を用いて、このユニット演算子セルにおける記憶データのＡＮＤ演算結果の対応の電流をグローバル読出データ線へ伝達している。これにより、高速で、多ビットデータの乗算および複数の乗算結果の加算操作を行なうことができる。
【１１８３】
なお、上述の乗算の説明においては、８ビットＡＤＣを用いて、４ビットデータの乗算結果を求めている。しかしながら、用いられるデータのビット幅は、これに限定されず、他のビット幅のデータが用いられても良い。
【１１８４】
［実施の形態１９］
図１７８は、この発明の実施の形態１９に従う半導体信号処理装置のセンスアンプ帯および読出ゲート回路の構成の一例を概略的に示す図である。ユニット演算子セルは、実施の形態１７と同様、図１および２に示す構成を有し、本実施の形態１９においてはポートＡが選択され、記憶ノードＳＮＡの記憶データに応じた大きさのビット線電流を駆動する。センスアンプ帯８２２に含まれるセンスアンプ回路ＳＡＫは、センスアンプＳＡと、このセンスアンプＳＡのセンス信号、すなわち、センス読出ビット線ＲＢＬおよびＺＲＢＬの電位に従って電流を供給する電流源回路８２６を含む。
【１１８５】
センスアンプＳＡの構成は、実施の形態１７と同様、図１４８に示す構成を有し、交差結合されたＰチャネルトランジスタおよび交差結合されたＮチャネルトランジスタを含む。本実施の形態１９においても、センスアンプＳＡとしては、カレントミラー型の差動増幅回路が用いられても良い。
【１１８６】
電流源回路８２６は、インバータバッファ８２７ａの出力信号に従って電源ノードから電流を供給するＰチャネルトランジスタＰＴ１０と、インバータバッファ８２７ｂの出力信号に従って、電流を吸込む放電トランジスタＮＴ１０を含む。この放電トランジスタＮＴ１０は、導通時、接地電圧以下のロー側電源ノードＶＮＦの電圧に従って電流の放電を行う。
【１１８７】
読出ゲート回路８２４に含まれる読出ゲートＣＳＧは、実施の形態１７の構成と異なり、対応のグローバル読出データ線ＲＧＬに共通に結合される２つのスイッチングトランジスタＮＴ１１およびＮＴ１２を含む。スイッチングトランジスタＮＴ１１は、加算読出選択信号ＣＳＬＰに従って導通し、導通時、電流源回路８２６の充電用のトランジスタＰＴ１０をグローバル読出データ線ＲＧＬに結合する。スイッチングトランジスタＮＴ１２は、減算読出選択信号ＣＳＬＮに従って選択的に導通し、導通時、放電用トランジスタＮＴ１０をグローバル読出データ線ＲＧＬに結合する。
【１１８８】
従って、この電流源回路８２６は、読出ゲートの構成により、対応のグローバル読出データ線ＲＧＬの充電および放電を行うことが可能である。
【１１８９】
対応のユニット演算子セルが、記憶ノードＳＮＡにデータ“１”を記憶している場合、センス読出ビット線ＲＢＬおよびＺＲＢＬがそれぞれ、ＨレベルおよびＬレベルとなるため、インバータバッファ８２７ａおよび８２７ｂにより、トランジスタＰＴ１０およびＮＴ１０が、並行して導通し、読出選択信号ＣＳＬＰおよびＣＳＬＮに従って、グローバル読出データ線ＲＧＬが充電または放電される。対応のユニット演算子セルが記憶ノードＳＮＡに、データ“０”を記憶している場合には、センス読出ビット線ＲＢＬおよびＺＲＢＬは、それぞれ、ＨレベルおよびＬレベルとなり、トランジスタＰＴ１０およびＮＴ１０がともにオフ状態となり、電流源回路８２６は、出力ハイインピーダンス状態となる。従って、このデータ“０”を記憶している場合には、センスアンプ回路は、グローバル読出データ線ＲＧＬの電流に対しては何ら影響を及ぼさない。
【１１９０】
これらの充電トランジスタＰＴ１０および放電トランジスタＮＴ１０は、それぞれ、定電流源として動作し、グローバル読出データ線ＲＧＬに、一定の大きさの電流を供給する（電流を引抜く動作を、負電流を供給すると考える）。したがって、この読出ゲートＣＳＧにおいて、読出選択信号ＣＳＬＰおよびＣＳＬＮを選択的に活性化することにより、対応のユニット演算子セルが、記憶ノードＳＮＡにデータ“１”を記憶している場合、グローバル読出データ線ＲＧＬへの定電流の供給または定電流の引抜き、すなわち、正および負の電流の供給を行なうことができ、これにより加算または減算を行なうことができる。この電流の加算および減算を、読出選択信号ＣＳＬＰおよびＣＳＬＮにより設定する。
【１１９１】
図１７９は、この発明の実施の形態１９に従うＡＤＣ８３５の構成を概略的に示す図である。この図１７９に示すＡＤＣ８３５は、以下の点で、図１５２に示す実施の形態１７のＡＤＣ８３５とその構成が異なる。すなわち、抵抗網８４１ａ−８４１ｕに対し、変換基準電圧ＶＲＥＦ＿ＡＤＣおよび−ＶＲＥＦ＿ＡＤＣが、それぞれ、電源ノード８４０および９００に与えられる。この図１７９に示すＡＤＣ８３５の他の構成は、図１５２に示すＡＤＣ８３５の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【１１９２】
この変換基準電圧として正および負の基準電圧ＶＲＥＦ＿ＡＤＣおよび−ＶＲＥＦ＿ＡＤＣを利用することにより、加減算結果が負の場合においても、負の電流値を生成することができる。この場合、エンコーダ８４４は、エンコード動作により、正および負を示す符号付き多ビットデータを生成する。
【１１９３】
図１８０は、この発明の実施の形態１９に従う半導体信号処理装置において実行される演算処理の一例を示す図である。図１８０において、４ビット入力データＤＩＮ♯１−ＤＩＮ♯ｍの加算および減算を実行し、この加算および減算結果を、符号付きＭビットとして出力する。図１８０においては、４ビット入力データＤＩＮ♯３（＝００１０）およびＤＩＮ♯ｍ（＝１０１１）について減算が行なわれ、残りの４ビット入力データＤＩＮ♯１（＝１１１０）、ＤＩＮ♯２（＝１０１０）、ＤＩＮ♯４（＝０１１０）等については加算が実行される。
【１１９４】
この４ビット入力データＤＩＮ♯１−ＤＩＮ♯ｍは、符号なしの入力データである。したがって、この４ビット入力データＤＩＮ♯１−♯ｍにおける最上位ビットは、符号は示していない。
【１１９５】
図１８１は、この発明の実施の形態１９に従う半導体信号処理装置のデータ読出時の動作態様を概略的に示す図である。データパスの構成は、実施の形態１７と同様であり、各データビットの桁の重みに応じた数のグローバル書込ワード線が選択されて、対応のユニット演算子セルの記憶ノードＳＮＡに対するデータの書込が実行される。
【１１９６】
図１８１において、メモリサブアレイブロックＢＫ０−ＢＫｊに対し、書込／読出が実行される。メモリサブアレイブロックＢＫ０−ＢＫｊ各々において、ダミーセルＤＭＣを流れる電流を参照電流としてセンスアンプ回路ＳＡＫが対応のメモリセルＭＣを流れる電流のセンス動作を行なう。読出ゲートにおいて、トランジスタＮＴ１１およびＮＴ１２が選択的にオン状態に設定される。図１８１においては、メモリサブアレイブロックＢＫ０およびＢＫ１に対し、読出選択信号ＣＳＬＰ＜０＞、ＣＳＬＰ＜１＞がオン状態（選択状態）に設定され、読出選択信号ＣＳＬＮ＜０＞およびＣＳＬＮ＜１＞がオフ状態（非選択状態）に設定される。したがって、メモリサブアレイブロックＢＫ０およびＢＫ１においては、トランジスタＮＴ１１がオン状態となり、それぞれ対応のグローバル読出データ線ＲＧＬ０−ＲＧＬ３、ＲＧＬｋ、…に対し、メモリセルＭＣの記憶データが“１”のとき、センス電流Ｉｓ０（０）−Ｉｓ０（３）、…、Ｉｓ０（ｋ）およびＩｓ１（０）−Ｉｓ１（３）、…、Ｉｓ１（ｋ）が供給される。
【１１９７】
ＡＤＣ帯８１２においては、演算単位ブロックＯＵＢａ、ＯＵＢｂそれぞれに対応してＡＤＣ（８３５）が設けられており、対応の電流合計線ＶＭに供給される電流に応じた電圧を、変換基準電圧ＶＲＥＦ＿ＡＤＣおよび−ＶＲＥＦ＿ＡＤＣを抵抗分割した電圧を参照してＡ／Ｄ変換する。このＡＤＣ８３５のＡ／Ｄ変換動作は、エンコーダの出力データが、符号付データであることを除けば、実施の形態１７の場合と同様である。
【１１９８】
したがって、減算を行なうデータを記憶するメモリサブアレイブロックＢＫｊからは、データ“１”を記憶するメモリセルに対応するセンスアンプ回路により、グローバル読出データ線から電流が減算され、一方、加算を行なうデータが記憶されたメモリサブアレイブロックからは、データ“１”に対してグローバル読出データ線に対して電流が供給される。この電流の加算および減算により、図１８０に一例として示す加算および減算を並行して実行して、加減算結果を生成することができる。
【１１９９】
図１８２は、この４ビット入力データの加減算のより具体的な一例を示す図である。図１８２において、４ビット入力データＤＩＮ♯１、ＤＩＮ♯２およびＤＩＮ♯４について加算を行ない、４ビット入力データＤＩＮ♯３について減算を実行する。この場合、入力データＤＩＮ♯１、ＤＩＮ♯２、ＤＩＮ♯３、およびＤＩＮ♯４は、それぞれ、（１１１０）、（１０１０）、（００１０）、および（０１１０）である。この加減算結果は、図１８２に示すように、（０１１１００）である。加減算結果の最上位ビットが符号ビットである。
【１２００】
この加減算を実行する場合、図１８３に示すように、サブアレイブロックＢＫ０−ＢＫ３に対し、データの書込および読出を実行する。この場合、サブアレイブロックＢＫ０に対し、４ビット入力データＤＩＮ♯１を書込み、読出選択信号ＣＳＬＰ＜０＞を選択状態（オン状態）にして演算データの読出を実行する。書込および読出は、ユニット演算子セルの記憶ノードＳＮＡに対して実行される。サブアレイブロックＢＫ１に対しては、４ビット入力データＤＩＮ♯２をユニット演算子セルの記憶ノードＳＮＡに書込み、読出選択信号ＣＳＬＰ＜１＞を選択状態に設定して、ユニット演算子セルの記憶ノードＳＮＡの記憶データの読出を実行する。サブアレイブロックＢＫ３については、入力データＤＩＮ♯４を書込み、読出選択信号ＣＳＬＰ＜３＞を選択状態（オン状態）に設定してデータの読出を実行する。したがって、サブアレイブロックＢＫ０、ＢＫ１およびＢＫ３からは、記憶データビットが“１”の場合、対応のグローバル読出データ線に電流が供給され、データビットが“０”の場合には、電流は供給されない。
【１２０１】
一方、サブアレイブロックＢＫ２については、４ビット入力データＤＩＮ♯３を書込み、読出選択信号ＣＳＬＮを選択状態に設定する。この場合、サブアレイブロックＢＫ２において、ユニット演算子セルの記憶データビットが“１”の場合、対応のグローバル読出データ線から電流が引抜かれ、電流減算が行なわれる。
【１２０２】
この加算および減算を実行する場合、複数のサブアレイブロックについて、加算データを記憶するブロックおよび減算データを記憶するサブアレイブロックが、予め固定的に定められていてもよい。ここでは、一例として、サブアレイブロックＢＫ０−ＢＫｍ各々に対し、加算データ記憶ブロックおよび減算データ記憶ブロックを柔軟に割当てるための構成について以下に説明する。
【１２０３】
図１８４は、この発明の実施の形態１９に従う半導体信号処理装置のセル選択駆動回路８１６に含まれるローカルセル選択回路８７５の構成を概略的に示す図である。この図１８４に示すローカルセル選択回路は、図１７７に示すローカルセル選択回路８７５と、以下の点で、その構成が異なる。すなわち、加減算指示フラグＡＳＦをラッチする演算フラグラッチ回路８９２が設けられる。この演算フラグラッチ回路８９２は、書込活性化信号ＷＲＥＮの活性化時、ブロックデコーダラッチ８８０の出力信号が対応のサブアレイブロックを指定するとき、加減算指示フラグＡＳＦをラッチする。
【１２０４】
読出活性化回路８９０は、読出活性化信号ＲＥＤＥＮの活性化時、この演算フラグラッチ回路８９２にラッチされるフラグに従って、読出選択信号ＣＳＬＰおよびＣＳＬＮのいずれかを選択状態へ駆動する。
【１２０５】
この図１８４に示すローカルセル選択回路の他の構成は、図１７７に示す構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【１２０６】
なお、入力データの加算および減算を行なう場合、データ書込時、その加算および減算を示すフラグ（たとえば符号ビット）を、加減算指示フラグＡＳＦとして利用し、対応のサブアレイブロックのデータ書込時、演算フラグラッチ回路８９２に、演算指示内容を並行して格納する。これにより、各サブアレイブロックにおける書込データの加算および減算に応じて、読出選択信号ＣＳＬＰおよびＣＳＬＮを選択的にオン状態（選択状態）へ駆動することができる。
【１２０７】
以上のように、この発明の実施の形態１９に従えば、ユニット演算子セルの記憶ノードＳＮＡの記憶データが“１”のとき、グローバル読出データ線に対する電流の供給および吸込み（正および負電流の供給）を選択的に実行するように構成しており、加算および減算を並行して実行することができる。
【１２０８】
また、加算および減算に応じて、グローバル読出データ線の電流のソース／シンクを行っているだけであり、減算データを、２の補数データに変換して加算する必要がなく、加減算処理が簡略化される。また、実施の形態１７と同様の効果を得ることができる。
【１２０９】
［実施の形態２０］
図１８５は、この発明の実施の形態２０に従う半導体信号処理装置のユニット演算子セルの電気的等価回路の構成を概略的に示す図である。図１８５において、２つのユニット演算子セルＵＯＥＡおよびＵＯＥＢを代表的に示す。これらのユニット演算子セルＵＯＥＡおよびＵＯＥＢには、それぞれ、異なる演算対象のデータが格納される。
【１２１０】
これらのユニット演算子セルＵＯＥＡおよびＵＯＥＢに対応して、列方向に延在するローカル書込ワード線ＷＷＬ０およびＷＷＬ１が、配設される。このローカル書込ワード線ＷＷＬ０およびＷＷＬ１は、ビット線と平行な方向に配置されており、従って、１つのサブアレイブロックにおいては、１列のユニット演算子セルを１本のローカル書込ワード線ＷＷＬにより選択することができる。
【１２１１】
ユニット演算子セルＵＯＥＡは、ＰチャネルＳＯＩトランジスタＰＱＡ１およびＰＱＡ２と、ＮチャネルＳＯＩトランジスタＮＱＡ１およびＮＱＡ２とを含み、ユニット演算子セルＵＯＥＢは、ＰチャネルＳＯＩトランジスタＰＱＢ１およびＰＱＢ２と、ＮチャネルＳＯＩトランジスタＮＱＢ１およびＮＱＢ２を含む。
【１２１２】
ＰチャネルＳＯＩトランジスタＰＱＡ１およびＰＱＢ１は、それぞれ、書込ワード線ＷＷＬ０およびＷＷＬ１上の信号電位に従って選択的に導通し、導通時、それぞれ書込データＤＩＮＡを、ＮチャネルＳＯＩトランジスタＮＱＡ１およびＮＱＢ１のボディ領域（記憶ノード）ＳＮＡに伝達する。ＰチャネルＳＯＩトランジスタＰＱＡ２およびＰＱＢ２は、ローカル書込ワード線ＷＷＬ０およびＳＷＷＬ１上の信号電位に応答して選択的に導通し、導通時、書込データＤＩＮＢを、それぞれＳＯＩトランジスタＮＱＡ２およびＮＱＢ２のボディ領域（記憶ノードＳＮＢ）に伝達する。
【１２１３】
これらのローカル書込ワード線ＷＷＬ０およびＷＷＬ１は、対応の演算子セルサブアレイブロック内に延在して配置される。ローカル書込ワード線の階層配置については、後に説明する。
【１２１４】
ＳＯＩトランジスタＮＱＡ１およびＮＱＢ１は、それぞれソース線ＳＬに、そのソースが結合される。ユニット演算子セルＵＯＥＡおよびＵＯＥＢにおける読出部のＳＯＩトランジスタの接続態様は、図１に示すユニット演算子セルの接続態様と同じである。
【１２１５】
ＳＯＩトランジスタＮＱＡ１およびＮＱＢ１は、読出ワード線ＲＷＬＡ上の信号電位に応答してその記憶データに応じて選択的に導通し、ＳＯＩトランジスタＮＱＡ２およびＮＱＢ２は、読出ワード線ＲＷＬＢ上の信号電位に応答して、その記憶データに応じて選択的に導通する。
【１２１６】
図１８６は、図１８５に示すユニット演算子セルＵＯＥＡおよびＵＯＥＢの平面レイアウトを概略的に示す図である。図１８６において、中央部の破線ブロックで示すＰ型トランジスタ形成領域に関し、一例として、ユニット演算子セルＵＯＥＡおよびＵＯＥＢが対称的に配置される。同一パターンのユニット演算子セルが、Ｘ方向に繰り返し配置されても良い。
【１２１７】
Ｐ型トランジスタ形成領域内において、Ｙ方向に整列して、高濃度Ｐ型領域１２００ａおよび１２００ｂが配置される。これらのＰ型領域１２００ａおよび１２００ｂの間にＮ型領域１２０２ａが配置される。Ｐ型領域１２００ｂに対してＹ方向に整列してかつ隣接してＰ型領域１２０４ａが配置される。
【１２１８】
また、これらのＰ型領域１２００ａ、１２００ｂおよび１２０４ａにＹ方向において整列して、Ｐ型領域１２０４ｂ、および高濃度Ｐ型領域１２００ｃおよび１２００ｄが配置される。Ｐ型領域１２００ｃおよび１２００ｄの間に、Ｎ型領域１２０２ｂが配置される。
【１２１９】
Ｐ型トランジスタ形成領域外部において、Ｐ型領域１２００ｂに隣接してＮ型領域１２０６ａが配置され、このＮ型領域１２０６ａにＹ方向に整列して、高濃度Ｎ型領域１２０６ｂおよび１２０６ｃが配置される。Ｎ型領域１２０６ａおよび１２０６ｂの間に、Ｐ型領域１２０４ａがＸ方向に連続的に延在して配置される。また、Ｐ型領域１２０４ｂが、これらのＮ型領域１２０６ｂおよび１２０６ｃの間の領域にＸ方向に連続的に延在して配置される。
【１２２０】
また、Ｐ型トランジスタ形成領域において、Ｙ方向に整列して、高濃度Ｐ型領域１２００ｅおよび１２００ｆが配置される。これらのＰ型領域１２００ｅおよび１２００ｆの間にＮ型領域１２０２ｃが配置される。Ｐ型領域１２００ｆにＹ方向に沿って整列してかつ隣接してＰ型領域１２０４ｃが配置される。
【１２２１】
これらのＰ型領域１２００ｅ、１２００ｆ、１２０４ｅとＹ方向において整列して、Ｐ型領域１２０４ｄ、および高濃度Ｐ型領域１２００ｇおよび１２００ｈが配置される。高濃度Ｐ型領域１２００ｇおよび１２００ｈの間にＮ型領域１２０２ｄが配置される。
【１２２２】
このＰ型トランジスタ形成領域外部において、Ｐ型領域１２００ｆに隣接して、高濃度Ｎ型領域１２０６ｄが配置され、このＮ型領域１２０６ｄとＹ方向において整列して高濃度Ｎ型領域１２０６ｅおよび１２０６ｆが配置される。Ｎ型領域１２０６ｄおよび１２０６ｅの間には、Ｐ型トランジスタ形成領域からＰ型領域１２０４ｃがＸ方向に連続的に延在して配置される。Ｎ型領域１２０６ｅおよび１２０６ｆの間には、また、Ｐ型トランジスタ形成領域からＰ型領域１２０４ｄがＸ方向に連続的に延在して配置される。
【１２２３】
Ｘ方向に連続的に延在してかつＮ型領域１２０２ａおよび１２０２ｃと重なり合うようにゲート電極配線１２０８ａおよび１２０８ｅがそれぞれ配置される。これらのゲート電極配線１２０８ａおよび１２０８ｅは、互いに分離して配置される。このゲート電極配線１２０８ａおよび１２０８ｅの分離構造により、データ書込時、異なる書込ワード線によりユニット演算子セルＵＯＥＡおよびＵＯＥＢを個々に選択状態に駆動する。
【１２２４】
また、Ｐ型領域１２０４ａおよび１２０４ｃと重なり合うようにＸ方向に連続的に延在してゲート電極配線１２０８ｂが配置される。Ｐ型領域１２０４ｂおよび１２０４ｄと重なり合うようにＸ方向に連続的に延在してゲート電極配線１２０８ｃが配置される。Ｎ型領域１２０２ｂおよび１２０２ｄそれぞれと重なり合うようにゲート電極配線１２０８ｄおよび１２０８ｆが配置される。これらのゲート電極１２０８ｄおよび１２０８ｆは互いに分離して配置され、それぞれ異なる書込ワード線に電気的に接続される。
【１２２５】
Ｙ方向に連続的に延在して、第１金属配線１２１０ａ−１２１０ｇが間を置いて配置される。第１金属配線１２１０ａは、コンタクト／ビアＶＶ１１を介して、Ｎ型領域１２０６ｆに電気的に接続される。第１金属配線１２１０ｂは、コンタクト／ビアＶＶ１０を介してＮ型領域１２０６ｅに電気的に接続される。第１金属配線１２１０ｃは、コンタクト／ビアＶＶ１３およびＶＶ１２をそれぞれ介してゲート電極１２０８ｆおよび１２０８ｅに電気的に接続される。
【１２２６】
第１金属配線１２１０ｅは、コンタクト／ビアＶＶ７およびＶＶ６をそれぞれ介してゲート電極１２０８ｄおよび１２０８ａに電気的に接続される。第１金属配線１２１０ｆは、コンタクト／ビアＶＶ３を介してＮ型領域１２０６ｂに電気的に接続される。第１金属配線１２１０ｇは、コンタクト／ビアＶＶ４を介してＮ型領域１２０６ｃに電気的に接続される。
【１２２７】
第１金属配線１２１０ａおよび１２１０ｂが、ＢポートおよびＡポートのビット線をそれぞれ構成し、第１金属配線１２１０ｃが、ローカル書込ワード線ＷＷＬ０を構成する。第１金属配線１２１０ｅが、ローカル書込ワード線ＷＷＬ１を構成し、第１金属配線１２１０ｆが、読出Ａポートビット線を構成し、データＤＯＵＴＡを伝達する。第１金属配線１２１０ｇは、Ｂポート読出ビット線を構成し、データＤＯＵＴＢを伝達する。
【１２２８】
Ｘ方向に連続的に延在して第２金属配線１２１２ｂ−１２１２ｆがそれぞれ間を置いて配置される。第２金属配線１２１２ｂは、ビア／コンタクトＶＶ１および中間配線を介してＰ型領域１２００ａに電気的に接続される。第２金属配線１２１２ｃは、ビア／コンタクトＶＶ９および中間配線を介してＮ型領域１２０６ｄに電気的に接続され、また、ビア／コンタクトＶＶ２および中間配線を介してＮ型領域１２０６ａに電気的に接続される。第２金属配線１２１２ｄは、Ｘ方向に連続的に延在するゲート電極配線１２０８ｂと並行して配置され、図示しない部分において電気的に接続される。
【１２２９】
第２金属配線１２１２ｅは、ゲート電極配線１２０８ｃと重なり合うように配置され、図示しない部分において電気的にゲート電極配線１２０８ｃと接続される。第２金属配線１２１２ｆは、ビア／コンタクトＶＶ８および中間配線を介してＰ型領域１２００ｈに電気的に接続され、また、ビア／コンタクトＶＶ５を介してＰ型領域１２００ｄに電気的に接続される。
【１２３０】
第２金属配線１２１２ｂおよび１２１２ｆは、それぞれ、入力データＤＩＮＡおよびＤＩＮＢを伝達する。第２金属配線１２１２ｃはソース線ＳＬを構成し、第２金属配線１２１２ｄは、下層のゲート電極配線１２０８ｂとともに読出ワード線ＲＷＬＡを構成する。第２金属配線１２１２ｅは、下層のゲート電極配線１２０８ｃとともに読出ワード線ＲＷＬＢを構成する。
【１２３１】
演算実行時には、入力データＤＩＮＡおよびＤＩＮＢを同一データとすることにより、ポートＢからのデータ読出時においても、ポートＡからのデータ読出と同一の効果を得ることができる。
【１２３２】
図１８７は、この発明の実施の形態２０に従う半導体信号処理装置の全体の構成を概略的に示す図である。図１８７において、演算子セルアレイは、実施の形態１７と同様、複数の演算子セルアレイブロックＢＫ０−ＢＫ３１に分割される。サブアレイブロックＢＫ０−ＢＫ３１各々においては、ユニット演算子セルが行列状に配列され、また、各ユニット演算子セル列に対応してダミーセルが配置される。ユニット演算子セルの行に対応して、読出ワード線ＲＷＬＡ、ＲＷＬＢが配置され、列に対応してローカル書込ワード線ＷＷＬが配設される。図１８７においては、一例として、１つの演算サブアレイブロックにおいてローカル書込ワード線ＷＷＬ０−ＷＷＬｍが配設される。
【１２３３】
また、図１８７においては、明確に示していないものの、ローカル書込ワード線ＷＷＬと並行に読出ビット線ＲＢＬおよびＺＲＢＬが配設される。
【１２３４】
また、センスアンプ帯８２２においては、ユニット演算子セル列に対応してセンスアンプ回路が設けられる。ポート選択用のポート接続スイッチおよび読出ゲートの配置は、これまでの実施の形態と同様であるが、センスアンプ回路の構成が、これまでの実施の形態と異なり、複数のユニット演算子セルから対応の読出ビット線に供給される大きさに対応する電流を対応のグローバル読出データ線に供給する（この出力部の構成については後に説明する）。
【１２３５】
これらのサブアレイブロックＢＫ０−ＢＫ３１に共通に、書込ワード線用デコーダ１２２０が設けられる。書込ワード線用デコーダ１２２０は、グローバル書込データ線ＷＷＬ＜０＞、…、ＷＷＬ＜ｍ＞それぞれに対応して設けられる書込ワード線ドライバ１２２２を含む。書込ワード線アドレスに従って、書込ワード線ドライバ１２２２により、アドレス指定されたグローバル書込ワード線ＷＷＬ＜０＞、ＷＷＬ＜１＞…がそれぞれ駆動される。
【１２３６】
サブアレイブロックＢＫ０−ＢＫ３１それぞれに対応してサブデコーダ帯１２２５が設けられる。このサブデコーダ帯１２２５においては、グローバル書込ワード線ＷＷＬ＜０＞−ＷＬＬ＜ｍ＞それぞれに対応してサブデコーダ１２２３が設けられる。このサブデコーダ１２２３は、実施の形態１５と同様にして、対応のグローバルグローバル書込ワード線ＷＷＬ＜ｉ＞上の信号と行選択駆動回路８１６からのブロック選択信号ＢＳｋとに従って対応のローカル書込ワード線ＷＷＬｉを選択状態に駆動し、１列のユニット演算子セルを選択状態に駆動する。
【１２３７】
サブアレイブロックＢＫ０−ＢＫ３１のうちブロック選択信号ＢＳにより選択された演算子セルサブアレイブロックにおいて、ローカル書込ワード線ＷＷＬを選択状態へ駆動する。書込ワード線をグローバルおよびローカルワード線の階層構造とすることにより、入力データＤＩＮＡおよびＤＩＮＢを選択されたサブアレイブロックにおいて書込むことができる。複数のサブアレイブロックの同一列に演算対象のデータを書込み、グローバル読出データ線のＲＧＬの電流を検知することにより、演算結果を得ることができる。
【１２３８】
ＡＤＣ帯８１２の構成は、先の実施の形態１７から１９において説明した構成のいずれかと同様の構成を有する。データパス８１４においては、グローバル書込データ線が配置されていないため、グローバル書込ドライバは設けられない。ＡＤＣ帯８１２からの（ｍ＋１）ビットデジタルデータが、例えばバッファ処理した後に出力される。書込データＤＩＮＡおよびＤＩＮＢは、ローカル書込ワード線ＷＷＬと直交するように配設されるデータ線（図１８６の第２金属配線１２１２ｂ、１２１２ｆ）を介して行選択駆動回路（セル選択駆動回路）８１６から転送される。
【１２３９】
行選択駆動回路８１６においては、サブアレイブロックＢＫ０−ＢＫ３１それぞれに対応して、行／データ線選択駆動回路ＸＸＤＲ０−ＸＸＤＲ３１が設けられる。これらの行／データ線選択駆動回路ＸＸＤＲ０−ＤＤＸＲ３１には、演算対象のデータＤＩＮＡ＜ｍ：０＞およびＤＩＮＢ＜ｍ：０＞が与えられる。
【１２４０】
これらのデータが並列に選択された演算子セルサブアレイブロックに転送される。制御回路１２５０により、書込アクセスサイクルに応じて、選択状態へ駆動されるブロック選択信号ＢＳが決定され、書込対象のサブアレイブロックが決定される。
【１２４１】
行／データ線選択駆動回路ＸＸＤＲ０−ＸＸＤＲ３１の各々は、与えられた入力デーＤＩＮＡおよびＤＩＮＢの対応のビットＤＩＮＡ＜ｉ＞およびＤＩＮＢ＜ｉ＞に従って内部書込データＤＩＮＡおよびＤＩＮＢを生成するデータ線ドライ部回路１２３４と、図示しないアドレス信号に従って読出ワード線ＲＷＬＡおよびＲＷＬＢを選択状態へ駆動するワード線ドライブ回路１２３０を含む。
【１２４２】
ワード線ドライブ回路１２３０は、対応の演算子セルサブアレイブロックの各ユニット演算子セル行に対応して配置される。演算出力サブアレイブロックＢＫ０−ＢＫ３１において、個々にかつ並行して、読出ワード線ＲＷＬＡおよびＲＷＬＢを選択状態へ駆動することができる。
【１２４３】
この演算子セルサブアレイブロックにおいては、記憶データビットの位置に応じて割当てられる読出ワード線の数が決定される。すなわち、第０ビット＜０＞のデータには、ユニット演算子セルが１個割当てられ、第１ビット＜１＞を格納する読出ワード線にはユニット演算子セルが２個割当てられる。第ｉビット＜ｉ＞のデータは、２のｉ乗のユニット演算子セルにより記憶される。従って、１つのサブアレイブロックからは、記憶数値データの値に応じた大きさの電流が供給される。
【１２４４】
図１８８は、図１８７に示すセンスアンプ帯８２２に含まれるセンスアンプ回路ＳＡＫの構成の一例を示す図である。図１８８において、センスアンプ回路ＳＡＫは、センスアンプＳＡと、電流源回路８２６とを含む。センスアンプＳＡは、センス読出ビット線ＲＢＬを流れる電流を検出するために、ＰチャネルＳＯＩトランジスタＱＰ１と、ＮチャネルＳＯＩトランジスタＱＮ１−ＱＮ２を含む。ＮチャネルＳＯＩトランジスタＱＮ１は、センスアンプ活性化時、センス読出ビット線ＲＢＬからの電流を放電する。ＮチャネルＳＯＩトランジスタＱＮ２は、トランジスタＱＮ１とカレントミラー段を構成し、センス読出ビット線ＲＢＬを流れる電流Ｉｃのミラー電流を生成する。トランジスタＱＰ１は、トランジスタＱＮ２に電流を供給する。
【１２４５】
センスアンプＳＡを活性化するために、ノードＮＤ１１と接地ノードとの間に、ＮチャネルＳＯＩトランジスタＱＮ３が設けられる。このトランジスタＱＮ３は、センスアンプ活性化信号ＳＥの活性化時、内部ノードＮＤ１１を接地ノードに結合する。
【１２４６】
センスアンプＳＡは、さらに、補のセンス読出ビット線ＺＲＢＬを流れる電流を検出するために、ＰチャネルＳＯＩトランジスタＱＰ２、ＱＰ３およびＮチャネルＳＯＩトランジスタＱＮ４−ＱＮ６を含む。トランジスタＱＮ４は、センス動作時、補のセンス読出ビット線ＺＲＢＬからのダミーセル電流Ｉｄを放電する。トランジスタＱＮ５は、トランジスタＱＮ４とカレントミラー段を構成し、補のセンス読出ビット線ＺＲＢＬを流れる電流Ｉｄのミラー電流を生成する。
【１２４７】
トランジスタＱＰ３は、トランジスタＱＮ５に対して電流を供給する。トランジスタＱＰ２は、トランジスタＱＰ３とカレントミラー段を構成し、トランジスタＱＰ３を流れる電流のミラー電流を生成する。トランジスタＱＮ６は、センス動作時、トランジスタＱＰ５から供給される電流を放電する。
【１２４８】
電流源回路８２６は、電源ノードと内部出力ノード８２８との間に直列に接続されるＰチャネルＳＯＩトランジスタＱＰ１０およびＱＰ１１と、内部出力ノード８２８と接地ノードとの間に直列に接続されるＮチャネルＳＯＩトランジスタＱＮ１１およびＱＮ１０を含む。トランジスタＱＰ１０は、ソースが電源ノードに接続され、そのゲートがトランジスタＱＰ２のゲートに接続される。トランジスタＱＰ１１は、ゲートに電流供給活性化信号／ＥＮＡを受ける。トランジスタＱＮ１０は、ソースが接地ノードに接続され、そのゲートがトランジスタＱＮ６のゲートに接続される。トランジスタＱＮ１１は、そのゲートに電流供給活性化信号ＥＮＡを受ける。
【１２４９】
読出ゲートＣＳＧは、内部出力ノード８２８を、グローバル読出データ線ＲＧＬに結合する。この読出ゲートＣＳＧは、図１８８においては、１つのトランスファーゲートで構成されるように示すが、この読出ゲートは、ＣＭＯＳトランスミッションゲート（アナログスイッチ）で構成されてもよい。
【１２５０】
この図１８８に示すセンスアンプ回路ＳＡＫの構成においては、スタンバイ時には、センス読出ビット線ＲＢＬおよびＺＲＢＬが、図示しないプリチャージ回路（図１４８に示す実施の形態１７と同様の構成）により、所定の電圧レベルにプリチャージされかつイコライズされる。
【１２５１】
センス動作前に、読出ワード線が選択状態に駆動され、ユニット演算子セルおよびダミーセルからセンス読出ビット線ＲＢＬおよびＺＲＢＬに電流が供給される。ダミーセルはデータ“０”を記憶する状態に設定される。従って、ダミーセルからは補のセンス読出ビット線ＺＲＢＬに対してデータ“０”に対応する基準電流が供給される。
【１２５２】
センス読出ビット線ＲＢＬに対してはユニット演算子セルの記憶データに応じた電流Ｉｃが供給される。供給電流が安定化されると、センスアンプ活性化信号ＳＥを活性化し、センス動作を行う。このセンス動作時においては、トランジスタＱＮ１およびＱＮ２のカレントミラー動作により、トランジスタＱＰ１には、センス読出ビット線ＲＢＬを流れる電流のミラー電流が流れる。
【１２５３】
同様、トランジスタＱＮ４およびＱＮ５のカレントミラー動作により、トランジスタＱＰ３には補のセンス読出ビット線ＺＲＢＬを流れる電流Ｉｄのミラー電流が流れる。トランジスタＱＰ３およびＱＰ２がカレントミラー段を構成しており、トランジスタＱＰ２にダミーセル電流Ｉｄのミラー電流が流れ、応じて、トランジスタＱＮ６にトランジスタＱＰ２から供給されるダミーセル電流Ｉｄのミラー電流が流れる。
【１２５４】
センス読出ビット線ＲＢＬおよびＺＲＢＬを流れる電流が安定化すると、電流供給活性化信号ＥＮＡおよび／ＥＮＡが活性化され、電流源回路８２６が電流の供給を開始する。活性化時、電流源回路８２６においては、トランジスタＱＰ１０が、トランジスタＱＰ１とカレントミラー段を構成し、センス読出ビット線ＲＢＬを流れる電流Ｉｃのミラー電流を供給する。一方、トランジスタＱＮ１０が、トランジスタＱＮ６とカレントミラー段を構成し、補のセンス読出ビット線ＺＲＢＬを介して流れる電流Ｉｄのミラー電流を供給する。
【１２５５】
所定のタイミングで読出選択信号を活性化すると、読出ゲートＣＳＧにより、グローバル読出データ線ＲＧＬに対して電流Ｉｃ・Ｋ−Ｉｄ・Ｋの電流が流れる。ここで、係数Ｋは、トランジスタＱＰ１０およびＱＮ１０が供給するミラー電流のミラー比を示す。
【１２５６】
ダミーセルは、データ“０”を記憶しており、グローバル読出データ線ＲＧＬには、データ“０”を基準とする電流が流れ、ユニット演算子セルに格納された数値データの大きさに対応する電流をグローバル読出データ線に供給することができる。従って、センス読出ビット線ＲＢＬに複数のユニット演算子セルからの電流が供給される場合においても、正確に数値データの値に応じた大きさの電流を供給することができる。
【１２５７】
図１８９は、図１８７に示す行／データ線選択駆動回路の構成の一例を概略的に示す図である。図１８７において、ワード線ドライブ回路１２３０は、アドレス信号ＡＤとＡポート読出イネーブル信号ＲＥＮＡとを受け、読出ワード線ＲＷＬＡを選択状態へ駆動するＡポート読出ワード線ドライバ１２４２と、アドレス信号ＡＤとＢポート読出イネーブル信号ＲＥＮＢとを受け、Ｂポート読出ワード線ＲＷＬＢを選択状態へ駆動するＢポート読出ワード線ドライバ１２４４とを含む。アドレス信号ＡＤは、サブアレイブロックＢＫ０−ＢＫ３１各々における行を指定する。
【１２５８】
読出ワード線ドライバ１２４２および１２４４は、対応のイネーブル信号の活性化時イネーブルされてアドレス信号ＡＤをデコードし、そのデコード結果に従って、対応のワード線ＷＷＬＢ、ＲＷＬＡおよびＲＷＬＢを選択状態に駆動する。この場合、図１８７に示すブロック選択信号がまた与えられ、ブロック選択信号ＢＳが指定するサブアレイブロックにおいて読出ワード線の選択が行われても良い。
【１２５９】
データ線ドライブ回路１２３４は、Ａポートデータ線ドライバ１２４６と、Ｂポートデータ線ドライバ１２４８とを含む。Ａポートデータ線ドライバ１２４６は、データビットＤＩＮＡ＜ｉ＞と書込イネーブル信号ＷＥＮとアドレス信号ＡＤとを受け、内部書込データビットＤＩＮＡを生成する。Ｂポートデータ線ドライバ２４８は、データビットＤＩＮＢ＜ｉ＞と書込イネーブル信号ＷＥＮとアドレス信号ＡＤとを受け、内部書込データビットＤＩＮＢを生成する。
【１２６０】
書込イネーブル信号ＷＥＮは、図１８７に示す書込ワード線ドライバの活性化時、活性化され、内部書込データＤＩＮＡおよびＤＩＮＢを、与えられたデータビットＤＩＮＡ＜ｉ＞およびＤＩＮＢ＜ｉ＞に従って生成する。
【１２６１】
データ線ドライブ回路１２３４は、割当てられたデータビットの位置＜ｉ＞に応じて同一構成が重複して設けられる。従って、ビット＜ｉ＞に対しては、２のｉ乗個同一構成が設けられる。これにより、ビット位置に応じた数のユニット演算子セルに対して同一データビットを配置することができる。
【１２６２】
ワード線ドライブ回路１２３０については、データ読出時、演算対象のデータのビット数に対応する数の読出ワード線が並行して選択状態に駆動される。例えば、４ビットデータの演算時においては、合計１５本の読出ワード線が選択状態に並行して駆動される。読出ワード線ＲＷＬＡおよびＲＷＬＢの選択態様は、実行される演算対象に応じて決定される。例えば、１つのサブアレイブロックにおいて入力データＤＩＮＡおよびＤＩＮＢの乗算が行われ、この乗算結果を加算する場合には、演算対象のサブアレイブロックにおいてＢポートが選択される。入力データＤＩＮＡの加算が実行される場合には、Ａポートが選択される。
【１２６３】
図１９０は、この発明の実施の形態２０に従う半導体信号処理装置における書込データの配置の一例を示す図である。図１９０においては、４ビットデータについての演算を実行する際のデータの記憶態様を一例として示す。また、図１９０においては、サブアレイブロックＢＫａおよびＢＫｂの構成を代表的に示し、特に、このサブアレイブロックＢＫａの４ビットデータの格納態様を代表的に示す。図１９０において、サブアレイブロックＢＫａのセルサブアレイ８２０は、メモリセルアレイ１２５０とダミーセルアレイ１２５２とを含む。このメモリセルアレイ１２５０に、ユニット演算子セルＵＯＥが行列状に配置され、ダミーセルアレイ１２５２にダミーセルＤＭＣが行列状にユニット演算子セル列に対応して配置される。これまでの実施の形態と同様、ダミーセルＤＭＣが、補のセンス読出ビット線ＺＲＢＬに結合され、ユニット演算子セルＵＯＥがセンス読出ビット線ＲＢＬに結合される。
【１２６４】
最下位ビット（第０桁）＜０＞に対しては、１つの読出ワード線ＲＷＬ（読出ワード線ＲＷＬＡおよびＲＷＬＢ）およびデータ駆動線ＤＩＮ（ＤＩＮＡ、ＤＩＮＢ）が割当てられる。第１ビット＜１＞に対しては、２本の読出ワード線ＲＷＬおよびデータ駆動線ＤＩＮが割当てられる。第２ビット＜２＞に対しては、４本の読出ワード線ＲＷＬおよびデータ駆動線ＤＩＮが対応付けられ、第３ビット＜３＞に対しては、８本の読出ワード線ＲＷＬおよびデータ駆動線ＤＩＮが対応付けられる。したがって、これらのビット＜０＞のデータビットは、１つのユニット演算子セルＵＯＥに書込まれ、ビット＜１＞のデータビットは、２つのユニット演算子セルＵＯＥに格納される。ビット＜２＞のデータビットは、４個のユニット演算子セルＵＯＥに格納され、ビット＜３＞のデータビットは、８本のユニット演算子セルＵＯＥに格納される。
【１２６５】
この読出ワード線ＲＷＬのビット位置に応じた数の活性化は、サブブロックＢＫａおよびＢＫｂにそれぞれ対応して配置される行／データ線選択駆動回路ＸＸＤＲａおよびＸＸＤＲｂにより行われる。これらの行／データ線選択駆動回路ＸＸＤＲａおよびＸＸＤＲｂは、図１８９に示す構成を有し、転送データビットが、予め各ユニット演算子セル行に割当てられる。
【１２６６】
データ書込時、グローバル書込データ線が活性化されると、ブロック選択信号により指定されたサブアレイブロックにおいてローカル書込ワード線ＷＷＬが選択状態へ駆動される。データ線駆動回路２３４が、活性化され、このデータ駆動線ＤＩＮとローカル書込ワード線ＷＷＬとの交差部に対応して配置されるユニット演算子セルに対してデータの書込が行われる。
【１２６７】
データ読出時においては、対応の行／データ線選択駆動回路ＸＸＤＲ（ＸＸＤＲａ、ＸＸＤＲｂ）に含まれる読出ワード線ドライブ回路２３０を用いて、演算対象データが格納された読出ワード線、すなわち４ビットデータの場合、１５本の読出ワード線ＲＷＬを並行して選択状態へ駆動する。読出ワード線ＲＷＬＡおよびＲＷＬＢの選択態様は、実行される演算に応じて決定される。
【１２６８】
このとき、ダミーセルが選択される。ダミーセルＤＭＣは、データ“０”を記憶する状態に設定される。このダミーセルの選択態様において、センス読出ビット線に対してデータ“０”に対する参照電流が供給されれば良く、読出ワード線と同様、１５本のダミーワード線ＤＲＷＬが、並行して選択状態へ駆動されてもよい。補のセンス読出ビット線ＺＲＢＬには、例えば１５個のダミーセルＤＭＣが接続されてデータ“０”に対応するダミーセル電流を供給し、一方、センス読出ビット線ＲＢＬには、１５個のユニット演算子セルの記憶データに応じた電流が供給される。
【１２６９】
センスアンプ帯２２においては、センスアンプ回路ＳＡＫおいては、低しきい値電圧状態のデータ“１”を記憶するユニット演算子セルに流れる電流Ｉｌと高しきい値電圧状態のデータ“０”を記憶するユニット演算子セルを流れる電流Ｉｈ（＜Ｉｌ）の合計電流が供給される。ここで、同時に選択されるユニット演算子セルＵＯＥにおいてａ個のユニット演算子セルＵＯＥがデータ“１”を出力し、ｂ個のユニット演算子セルＵＯＥがデータ“０”を出力する状態を考える。この場合、センス読出ビット線ＲＢＬに流れる電流は、ａ・Ｉｌ＋ｂ・Ｉｈである。一方、補のセンス読出ビット線ＺＲＢＬに流れる電流は、ダミーセルＤＭＣが、ユニット演算子セルと同数個選択される場合においても、（ａ＋ｂ）・Ｉｈである。
【１２７０】
センスアンプ回路ＳＡＫの電流減回路２６においては、センス読出ビット線ＲＢＬを流れる電流と補のセンス読出ビット線ＺＲＢＬを流れる電流の差に応じた電流のミラー電流、電流Ｋ・ｂ・（Ｉｌ−Ｉｈ）を、対応のグローバル読出データ線に供給する。たとえば、データＡ＜３：０＞が（０００１）の場合であり、ユニット演算子セルＵＯＥからデータＡが読出される場合には、ダミーセルがユニット演算子セルと同数個選択される場合には、電流Ｋ・（Ｉｌ−Ｉｈ）が対応のグローバル読出データ線に供給される。一方、データＡ＜３：０＞が（１０１０）の場合、１０・Ｋ・（Ｉｌ−Ｉｈ）の電流が、対応のグローバル読出データ線に供給される。
【１２７１】
この場合、ダミーセルＤＭＣの供給電流は、参照電流として減算されるため、並行して選択されるダミーセルの数は、ユニット演算子セルの並行して選択される数と同数であることは特に要求されない。
【１２７２】
したがって、グローバル読出データ線ＲＧＬには、このサブアレイブロックＢＫｉに格納されるデータをアナログ値に変換した大きさに対応する電流が流れる。すなわち、複数のセルサブアレイ８２０において並行して、読出ワード線およびダミーワード線を選択状態へ駆動することにより、各サブアレイブロックＢＫｉ、ＢＫａ、…に格納されるデータの加算値に対応する電流を、対応のＡＤＣへ供給することができる。
【１２７３】
また、サブアレイブロックＢＫにおいてユニット演算子セルＵＯＥにデータＡおよびＢが、入力データＤＩＮＡおよびＤＩＮＢとして格納されてポートＢが選択される場合には、データＡおよびＢの乗算結果に対応するアナログ電流が対応のグローバル読出データ線に供給される。
【１２７４】
データの書込は、以下のようにして行なわれる。ブロック選択信号ＢＳ♯により演算対象のデータが書込まれるサブアレイブロックを指定する。書込ワード線用デコーダ（２２０）により、最初の列のグローバル書込ワード線ＷＷＬ＜０＞を選択状態に駆動する。指定されたサブアレイブロックにおいてローカル書込ワード線ＷＷＬが選択状態に駆動され、データＤＩＮＡおよびＤＩＮＢの書込が実行される（データＤＩＮＡのみが書込まれてもよい）。
【１２７５】
１回目のデータの書込が完了すると、次のサブアレイブロックをブロック選択信号により指定して、演算対象のデータの組の次のデータを同一のグローバル書込ワード線を選択状態に設定して書込む。１つの演算対象の組のデータが全て書込まれると、次の演算対象の組のデータの書込を行うために、次のグローバル書込ワード線を選択状態に駆動して、またブロック選択信号を初期値に戻して次の演算対象の組のデータの書込を実行する。以降、同様の手順を繰り返し、全ての演算対象の組のデータの書込を行う。
【１２７６】
図１９１は、この発明の実施の形態２０に従う半導体信号処理装置のデータ読出に関連する部分の構成を概略的に示す図である。図１９１において、サブアレイブロックＢＫ０−ＢＫｉが設けられる。センスアンプ回路ＳＡＫに対応して設けられる読出ゲートＣＳＧに対しては、各演算単位ブロックＯＵＢａおよびＰＵＢｂ単位で、異なる読出選択信号ＣＳＬ♯＜０＞−ＣＳＬ♯＜Ｌ＞が供給される。信号の記号♯の後にブロックを指定する番号を付す。さらに、グローバル読出データ線ＲＧＬａ０−ＲＧＬａＬに対応して設けられる読出ゲートＣＳＧに対して、読出列選択信号ＣＳＬ♯ｊ＜０＞−ＣＳＬ♯ｊ＜Ｌ＞がそれぞれ与えられる。ここで、ｊは、０からｉのいずれかの数字である。
【１２７７】
サブアレイブロックＢＫ０−ＢＫｉにおいて、同じグローバル読出データ線に対応する位置に演算対象のデータの組が格納される。演算単位ブロックＯＵＢａおよびＯＵＢｂそれぞれにおいて、各サブアレイブロックにおいては１つのセンスアンプ回路ＳＡＫの出力が選択され、１本のグローバル読出データ線ＲＧＬ（ＲＧＬａ、ＲＧＬｂ）上に転送される。演算単位ブロックＯＵＢａおよびＯＵＢｂそれぞれにおいて、電流合計線ＶＭａおよびＶＭｂが設けられており、したがって、各演算単位ＯＵＢａおよびＯＵＢｂそれぞれにおいて、選択されたサブアレイブロックの記憶データの加算が行なわれ、ＡＤＣ帯８１２に含まれる対応のＡＤＣにより、Ａ／Ｄ変換が実行される。
【１２７８】
また、図１９１において、ＡＤＣ帯８１２に対し、変換基準電圧ＶＲＥＦ＿ＡＤＣおよび−ＶＲＥＦ＿ＡＤＣが与えられる場合を一例として示す。ＡＤＣ帯８１２において、ＡＤＣは、グローバル読出データ線ＲＧＬにデータが読出される毎に順次変換を行って、変換後のデータを出力する。ＡＤＣ帯８１２の変換動作は、実施の形態１７および１８の場合と同様である。
【１２７９】
演算実行時、読出選択信号ＣＳＬ♯＜０＞−ＣＳＬ♯＜Ｌ＞を順次選択して、異なる書込ワード線に対応する演算対象のデータの組を選択して、順次演算結果を生成し、Ａ／Ｄ変換データが生成される。この場合、ＡＤＣ帯８１２において、パイプライン型ＡＤＣが利用されれば、パイプライン的にデジタル変換後の演算結果を生成することができる。なお、パイプライン型ＡＤＣにおいては、１ビットあたり１段の単位変換回路が配置され、これらの単位変換回路が縦続接続される。
【１２８０】
この図１９１に示す構成においては、演算単位ブロック内の１本のグローバル読出データ線に順次演算結果データを読出している。しかしながら、１つのサブアレイブロックにおいて、各演算単位毎に並行してセンスアンプ回路ＳＡＫの出力信号を対応のグローバル読出データ線に読出すことにより、１つのサブアレイブロックの演算単位ブロックＯＵＢ（ＯＵＢａ，ＯＵＢｂ）に格納されるデータ（例えば、ＤＩＮ♯０−ＤＩＮ♯Ｌ）についての加算操作を実行することができる。
【１２８１】
なお、制御回路の構成としては、以下の構成が利用されれば良い。すなわち、書込ワード線アドレスを順次更新して書込用デコーダへ与え、ブロック選択信号としては書込対象のデータの数、例えば６４ビットデータバスを介して１６個の４ビットデータが転送される場合、１６サブアレイブロックを並行して指定するように生成する。読出時には、データの書込が行われたユニット演算子セルが並行して選択されるように、データビット数に応じた数の読出ワード線を並行して選択状態に駆動する構成が利用されれば良く、また読出選択信号ＣＳＬが読出サイクルごとに順次更新されれば良い。読出対象のサブアレイブロックの識別については、データ書込が行われたサブアレイに対してフラグをセットすることにより、識別を行なうことができ、また、並行して選択状態に駆動されるサブアレイの数を示すデータをレジスタ回路に格納し、このレジスタ回路の格納値に応じて、サブアレイブロックを選択状態へ駆動すればよい。
【１２８２】
［変更例］
図１９２は、この発明の実施の形態２０の変更例のセンスアンプ回路の構成を概略的に示す図である。図１９２において、センスアンプＳＡは、以下の点で図１８８に示すセンスアンプＳＡとその構成が異なる。すなわち、トランジスタＱＮ６と直列にＰチャネルＳＯＩトランジスタＱＰ１５が設けられ、このトランジスタＱＰ１５は、ゲートがトランジスタＱＰ１のゲートに接続される。トランジスタＱＮ６とトランジスタＱＰ３とは分離される。この図１９２に示すセンスアンプＳＡの他の構成は、図１８８に示すセンスアンプＳＡの構成と同じであり、対応する部分には同一参照符号を付して、その詳細説明は省略する。
【１２８３】
この図１９２に示すセンスアンプＳＡの構成の場合、トランジスタＱＰ１およびＱＰ１５がカレントミラー段を構成し、同じ大きさの電流を供給する。従って、トランジスタＱＰ１には、センス読出ビット線ＲＢＬを解して供給される電流と同じ大きさの電流が流れ、従って、トランジスタＱＮ６にもセンス読出ビット線ＲＢＬを介して供給される電流と同じ大きさの電流が流れる。
【１２８４】
電流源回路８２６に対しては、フラグレジスタ１２５５が設けられる。このフラグレジスタ１２５５は、加算／減算指示フラグＡＳＦを格納し、ＭＯＳトランジスタＱＰ１１およびＱＮ１１の導通／非導通を、それぞれ、電流加算指示信号／ＰＯＥＮおよび電流減算指示信号ＳＵＥＮに従って制御する。フラグレジスタ２５０に、ビット“０”が格納されている場合には、加算が指示され、所定のタイミングで電流加算指示信号／ＰＯＥＮが活性化され（Ｌレベルとされ）、応じて、トランジスタＱＰ１１が導通する。このとき、電流減算指示信号ＳＵＥＮは、非活性状態のＬレベルに維持され、トランジスタＱＮ１１がオフ状態となる。したがって、この場合には、トランジスタＱＰ１およびＱＰ１０がカレントミラー回路を構成しており、読出ゲートＣＳＧを介してグローバル読出データ線ＲＧＬに、センス読出ビット線電流ＩｃのＫ倍の電流Ｋ・Ｉｃが供給される。
【１２８５】
一方、フラグレジスタ１２５５にデータ“１”が格納されている場合には、減算が指示され、電流加算指示信号／ＰＯＥＮが非活性状態のＨレベル、電流減算指示信号ＳＵＥＮが活性化される（Ｈレベルに設定される）。応じて、トランジスタＰＱ１１が非導通状態、トランジスタＮＱ１１が導通状態となる。トランジスタＱＮ１０が、トランジスタＱＮ６とカレントミラー回路を構成し、センス読出ビット線ＲＢＬを流れる電流ＩｃのＫ倍の電流を流す。したがって、この場合には、グローバル読出線ＲＧＬから、読出ビット線ＲＢＬを流れる電流Ｉｃに応じた電流が引抜かれる。すなわち、負電流が供給される。この場合には、対応のユニット演算子セルに格納されるデータの減算が実行される。
【１２８６】
この図１９２に示すセンスアンプＳＡの構成および読出ゲート３４の他の構成は、図１８８に示すセンスアンプ回路ＳＡＫの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【１２８７】
この図１９２に示すセンスアンプ回路を利用することにより、加算および減算をサブアレイブロック単位で設定して実行することができる。
【１２８８】
なお、フラグレジスタ１２５５に格納されるフラグＡＳＦとしては、入力データが与えられるとき、このデータの最上位ビットが、符号ビットとしてデータに付されて転送され、その最上位ビットが加減算指示フラグＡＳＦとして対応のサブアレイブロックのフラグレジスタに転送されてラッチされればよい。このフラグレジスタの構成は、したがって、先の実施の形態１９において図１８４において示した演算フラグラッチ回路８９２の構成を利用することができる。
【１２８９】
以上のように、この発明の実施の形態２０に従えば、１つのサブアレイブロックの同一列において、演算対象データの各ビットをそのビット位置に応じた数のユニット演算子セルに格納して、格納データの対応のセンス読出ビット線に読出して、センスアンプ回路によりグローバル読出データ線にセンス読出ビット線電流に応じた電流を供給している（減算時には負電流を供給する）。従って、ダミーセル電流を参照電流として正確に記憶データに対応するアナログ電流をグローバル読出データ線に読出して電流加算を行なうことができる。従って、この場合においても、キャリー／ボローを生成する必要がなく、実施の形態１７と同様、低電源電圧下においても高速で加減算を実行することができる。
【１２９０】
［実施の形態２１］
図１９３は、この発明の実施の形態２１に従う半導体信号処理装置の要部の構成を概略的に示す図である。図１９３において、メモリセルアレイ８１０に含まれるサブアレイブロックＢＫ０−ＢＫｓにそれぞれ固定的に、書込データビットのビット位置が割当てられる。図１９３においては、サブアレイブロックＢＫ０、ＢＫ４、…に対し、最下位ビット（第０ビット）＜０＞が割当てられ、サブアレイブロックＢＫ１、ＢＫ５、…に第１ビット＜１＞が割当てられる。サブアレイブロックＢＫ２、ＢＫ６、…に対し第２ビット＜２＞のデータビットが割当てられ、サブアレイブロックＢＫ３、…、ＢＫｓに、第３ビット＜３＞が割当てられる。以下、図示しないサブアレイブロックに対しても、書込データのビット幅に応じて固定的に書込対象のデータビットの位置が定められる。
【１２９１】
サブアレイブロックＢＫ０−ＢＫｓのメモリサブアレイの構成は、図１９２に示す実施の形態２０において用いた構成と類似する。ただし、データビットは、１つのユニット演算子セルに格納され、読出ワード線ドライブ回路およびデータ線ドライブ回路は１つの読出ワード線およびデータ駆動線を駆動する。メモリサブアレイブロックに対して数値データのビット位置の重付けがされているため、さらに、データビットを格納するユニット演算子セルの数に対して重みをつけることは、要求されない。
【１２９２】
ユニット演算子セルは、図１および２に示す構成を有する。ＡＤＣ帯８１２の構成は、図１９１に示す実施の形態２０において利用した構成と同様である。
【１２９３】
サブアレイブロックＢＫ０−ＢＫｓにおいては、ローカル書込ワード線が配置されるため、これらのメモリセルアレイ８１０にサブアレイブロックに共通にグローバル書込データ線を駆動する書込ワード線用デコーダ１２２０が配置される。
【１２９４】
サブブロックＢＫ０−ＢＫｓに含まれるセンスアンプ帯に含まれるセンスアンプ回路の構成としては、実施の形態２０において使用した図１８８または図１９２に示す構成を利用する。ただし、電流の加算または加減算処理が行なえるだけである。
【１２９５】
この図１９３に示す構成の場合、各サブブロックにおいて、１つのユニット演算子セルには、１つの演算対象のデータの対応のビットが格納される。データ読出時、サブアレイブロックのセンスアンプ回路は、そのビット位置に応じた時間、グローバル読出データ線と接続される。すなわち、第０ビット＜０＞のビット位置（以下、ビット位置＜０＞と称す）が割当てられるサブブロックＢＫ０、ＢＫ４、…に対しては、読出ゲートの導通時間は、時間ｔ０である。ビット位置＜１＞が割当てられるサブブロックＢＫ１、ＢＫ５、…に対しては、読出ゲートの導通時間は時間２・ｔ０である。ビット位置＜２＞が割当てられるサブブロックＢＫ２、ＢＫ６、…に対しては、読出ゲートの導通時間は４・ｔ０である。第３ビット＜３＞のビット位置が割当てられるサブブロックＢＫ３、…、ＢＫｓについては、読出ゲートの導通時間は８・ｔ０である。一般に、ビット位置＜ｉ＞が割当てられるサブアレイブロックの読出ゲートの導通時間は、単位時間ｔ０の２のｉ乗倍である。
【１２９６】
すなわち、ビット位置の重みに応じた時間、読出ゲートを導通状態として、センスアンプ回路に含まれる電流源回路からの電流供給の時間を設定する。これにより、ビット位置に応じた重み付けがされた電流が、対応の読出グローバルデータ線に伝達される。
【１２９７】
図１９４は、サブアレイブロックＢＫａおよびＢＫｂのセルサブアレイ８２０の構成を概略的に示す図である。図１９４において、読出ワード線ＲＷＬ（ＲＷＬＡ、ＲＷＬＢ）それぞれに対して異なるデータが伝達される。すなわち、ビット＜０＞が割当てられるサブアレイブロックＢＫａにおいては、読出ワード線ＲＷＬ０−ＲＷＬｍそれぞれに対して接続されるユニット演算子セルＵＯＥに対しては、行／データ線選択駆動回路ＸＸＤＲａに含まれるデータ線ドライブ回路１２３４により、データ駆動線ＤＩＮ０−ＤＩＮｍを介して、データＡ♯０−Ａ♯ｍの最下位ビットＡ♯０＜０＞−Ａ♯ｍ＜０＞およびデータＢ♯０−Ｂ♯ｍの最下位ビットＢ♯０＜０＞−Ｂ♯ｍ＜０＞が伝達される。
【１２９８】
ビット＜１＞が割当てられるサブアレイブロックＢＫｂにおいては、読出ワード線ＲＷＬ０−ＲＷＬｍそれぞれに対して接続されるユニット演算子セルＵＯＥに対しては、データ駆動線ＤＩＮ０−ＤＩＮｍを介して、対応の行／データ線選択駆動回路ＸＸＤＲｂに含まれるデータ線ドライブ回路１２３４により、データＡ♯０−Ａ♯ｍの第１ビットＡ♯０＜１＞−Ａ♯ｍ＜１＞およびデータＢ♯０−Ｂ♯ｍの第１ビットＢ♯０＜１＞−Ｂ♯ｍ＜１＞が伝達される。以下、同様に、他のサブアレイブロックに対しても、演算対象のデータの割当てられたビット位置のデータビットが転送されて格納される。
【１２９９】
サブアレイブロックＢＫａおよびＢＫｂにおいては、ローカル書込ワード線ＷＷＬが実施の形態２０と同様に配設され、このローカル書込ワード線を選択状態に駆動するために、実施の形態２０と同様、各サブアレイブロックにおいて、サブデコーダ帯１２２５が、センスアンプ帯８２２に隣接して配置される。
【１３００】
演算対象のデータのビット幅に応じて図示しないブロック選択信号に従ってローカル書込ワード線が選択状態に駆動され、演算対象のデータが格納される。
【１３０１】
この演算対象のデータの書込シーケンスは、従って、実施の形態２０の場合と同様であり、グローバル書込ワード線を順次選択状態に駆動して、データの書込を行う。
【１３０２】
メモリアレイ８１０の同一列には、演算対象のデータの組が配置され、異なる列には別の演算対象のデータの組が配置される。必要な演算データの書込が完了するまで、ブロック選択信号およびグローバル書込ワード線を順次更新して演算データの書込を実行する。
【１３０３】
データ読出時においては、データ書込が行われたユニット演算子セルが結合される読出ワード線ＲＷＬ（ＲＷＬＡ、ＲＷＬＢ）を、読出ワード線ドライブ回路１２３０により、並行して選択状態に駆動する。対応のセンス読出ビット線ＲＢＬに、ユニット演算子セルＵＯＥに格納されたデータビットの値に応じた電流が流れる。ダミーセルＤＭＣが供給する電流を参照電流として、このセンス読出ビット線ＲＢＬを流れる電流に対応する大きさの電流を、センスアンプ回路ＳＡＫにより生成して、対応のグローバル読出ビット線に伝達する。
【１３０４】
なお、図１９４に示す構成において、ダミーセルＤＭＣが、各サブアレイブロックにおいて１行に配列されるように示す。しかしながら、ダミーセルＤＭＣは、複数行に配列され、対応のサブアレイブロックにおいて並行して選択状態とされるユニット演算子セルと同数のダミーセルが選択状態に駆動されても良い。
【１３０５】
図１９５は、この発明の実施の形態２１に従う半導体信号処理装置のデータ読出部の構成を概略的に示す図である。図１９５においては、サブアレイブロックＢＫ０、ＢＫ１、…、ＢＫｓを代表的に示す。このセルサブアレイ８２０においては、１つのユニット演算子セルＵＯＥに、対応のビットのデータが格納され、センスアンプ回路ＳＡＫにより、選択ユニット演算子セルが流す電流に応じた電流が生成される。
【１３０６】
サブアレイブロックＢＫ０に対しビット位置＜０＞が割当てられ、サブアレイブロックＢＫ１にビット位置＜１＞が割当てられる。サブブロックＢＫｓに対してはビット位置＜ｋ＞が割当てられる。データの書込については、先の実施の形態２０と同様にして、列単位でデータが書込まれる。すなわち、１本のローカル書込ワード線を選択状態へ駆動して、データ線ドライブ回路１２３４により、ブロック選択信号が指定するサブアレイブロックに対するデータの書込が実行される。
【１３０７】
データ読出時においては、単位演算ブロックＯＵＢａ、ＯＵＢｂ、…に対し、まず、読出選択信号ＣＳＬ♯０＜０＞−ＣＳＬ♯ｓ＜０＞がオン状態に設定される。この場合、サブアレイブロックＢＫ０に対する読出選択信号ＣＳＬ♯０＜０＞は、時間ｔ０の間オン状態に設定される。サブアレイブロックＢＫ１に対しては、読出選択信号ＣＳＬ♯１＜０＞は、時間２・ｔ０の間オン状態に設定される。サブアレイブロックＢＫｓに対しては、時間（２＾ｋ）・ｔ０の間読出選択信号ＣＳＬ♯ｓ＜０＞がオン状態に設定される。ここで、記号＾は、べき乗を示す。したがって、各サブアレイブロックに割当てられたビット位置に応じた時間、センスアンプ回路ＳＡＫから対応のグローバル読出データ線ＲＧＬに対し電流が供給される。
【１３０８】
この図１９５に示す他の読出部の構成は、図１９１に示すデータ読出部の構成と同じであり、対応する部分には同一参照符号を付し、その詳細説明は省略する。センスアンプ回路ＳＡＫに含まれる電流源回路から読出ゲートＣＳＧを介して供給される電流が、グローバル読出データ線に流れる時間が、このデータのビット位置に応じた時間に設定されている。各ビットの電流が、さらに対応のグローバル読出データ線ＲＧＬに転送される時間が異なり、応じてビット位置に応じた重み付けが行われている。従って、電流合計線ＶＭ（ＶＭａ，ＶＭｂ）における電圧上昇に関して、そのビット位置に応じた重み付けがされた電圧上昇を生じさせることができる。
【１３０９】
なお、この図１９５に示す読出部に対して読出選択信号ＣＳＬ♯を選択状態に設定する時間としては、以下のように設定する。すなわち、各サブアレイブロックＢＫ０−ＢＫｓに対しビット位置が予め割当てられているため、対応の読出活性化回路における読出選択信号を選択状態に維持する時間が、予め個別的に設定されていればよい。従って、制御回路の構成としては、データ読出時、読出ワード線は、書込が行われたユニット演算子セルが結合する複数の読出ワード線が並行して選択状態に駆動されるため（１つのサブアレイブロックにおいては１つのユニット演算セル行が選択される）、実施の形態２０と同様の構成を利用することができる。但し、ワード線ドライバの構成としては、実施の形態１７から１９のいずれかの構成を利用する。
【１３１０】
なお、図１９５に示す構成においては、１演算単位ブロックＯＵＢ内において１本のグローバル読出データ線に対して１演算結果が生成される。しかしながら、１演算単位ブロック内において複数本のグローバル読出データ線に対して並行してデータ電流を供給する事により、加算演算対象のデータの数を増加させることができる。また、各列単位で加算／減算を指定するフラグをセットして電流源回路の電流供給動作を制御することにより、複数列の演算対象のデータの組の加算および減算を実行することができる。すなわち、例えば第１のグローバル読出データ線には、読出ビット線電流に応じた電流を供給し、第２のグローバル読出データ線には、読出ビット線電流に応じた電流を引き抜くことにより、第１のグローバル読出データ線に得られる演算結果から第２のグローバル読出データ線に得られる演算結果を減算することができる。
【１３１１】
また、同一ビット位置が割当てられるサブアレイブロック、すなわち利用されるサブアレイブロックの数は、演算対象のデータの数および演算内容に応じて適宜定められれば良い。
【１３１２】
以上のように、この発明の実施の形態２１に従えば、各メモリサブブロックに対し、演算データのビット位置を予め割当て、センスアンプ回路からの電流をグローバル読出データ線に流す時間を、各ビット位置の重みに応じた時間に設定している。したがって、この場合においても、高速で、加算を実行することができる。また、各サブアレイブロックにおいては、データ書込時および読出時に１つの書込ワード線および読出ワード線が選択状態へ駆動されるだけであり、消費電流は低減される。
【１３１３】
演算対象データとしては、この上述の説明においては、４ビットデータを一例として示している。しかしながら、この演算対象データのビット幅は任意であり、適用される用途に応じて適宜定められればよい。
【１３１４】
また、上述の説明においては、ユニット演算子セルとしては、ＳＯＩトランジスタが用いられている。しかしながら、記憶データに応じてユニット演算子セルを流れる電流量が異なり、応じてビット線を流れる電流が異なる、例えばＭＲＡＭセルなどのセル構造であれば、本発明は適用可能である。
【１３１５】
例えば、ＭＲＡＭセルを利用する場合、センスアンプＳＡとして図１４０に示すセンスアンプを利用することにより、この実施の形態１７から２１に示す電流加算およびＡ／Ｄ変換処理を実現することができる。メモリセルアレイの配置としては、実施の形態１６において説明した構成を利用することができる。但し、ＭＲＡＭセルを利用する場合、データの書込および読出に対して、共通にビット線ＢＬが利用されるため、書込ポートと読出ポートをメモリセルに対して別々に設ける構成を実現する場合には、例えば以下のような構成が必要とされる。すなわち、可変磁気抵抗素子と物理的に分離される書込ワード線（デジット線）に書込データに応じた方向に書込電流を流し、可変磁気抵抗素子に電気・磁気的に的に接続されるビット線には、書込時、一定の方向に電流を流す。これにより、１列に整列する共通のビット線に結合されるメモリセルに対して並行して異なるデータの書込を行なうことができる。
【産業上の利用可能性】
【１３１６】
この発明に従う半導体信号処理装置は、各信号についての演算処理を行なう回路に適用することにより、低消費電力で高速で演算処理を行なう処理システムを構築することができる。
【１３１７】
なお、上述の実施の形態１から１５および実施の形態１０から２１については、適宜組合せて用いられてもよい。
【図面の簡単な説明】
【１３１８】
【図１】この発明の実施の形態１に従う半導体信号処理装置のユニット演算子セルの電気的等価回路を示す図である。
【図２】図１に示すユニット演算子セルの平面レイアウトを概略的に示す図である。
【図３】図１に示すユニット演算子セルのトランジスタの構造を概略的に示す図である。
【図４】この発明の実施の形態１に従う半導体信号処理装置の全体の構成を概略的に示す図である。
【図５】図４に示す半導体信号処理装置の要部の構成を概略的に示す図である。
【図６】図５に示すユニット演算子セルサブアレイブロックの構成を具体的に示す図である。
【図７】図４に示すデータパスの構成を概略的に示す図である。
【図８】図７に示すデータパスの全体の構成を概略的に示す図である。
【図９】図４に示す組合せ論理演算回路の構成の一例を示す図である。
【図１０】この発明の実施の形態１に従う半導体信号処理装置のユニット演算子セルのデータ読出部の構成を概略的に示す図である。
【図１１】図１０に示す構成のデータ読出時の動作を示す信号波形図である。
【図１２】図１０に示す配置のセンスアンプの出力信号と演算結果を概略的に示す図である。
【図１３】この発明の実施の形態１に従うユニット演算子セルの記憶データの読出時の他の構成を概略的に示す図である。
【図１４】図１３に示すデータ読出時のセンスアンプ出力と演算内容との対応を概略的に示す図である。
【図１５】この発明の実施の形態１に従う半導体信号処理装置のデータ書込／読出の動作を示すタイミング図である。
【図１６】図４に示す制御回路の構成を概略的に示す図である。
【図１７】図４に示す行選択駆動回路の構成を概略的に示す図である。
【図１８】図６に示す読出ポート選択回路の構成の一例を概略的に示す図である。
【図１９】この発明の実施の形態１に従う半導体信号処理装置のＮＯＴ演算実行時のデータの伝搬経路を概略的に示す図である。
【図２０】この発明の実施の形態１に従う半導体信号処理装置におけるＡＮＤ演算実行時のデータ伝搬経路を概略的に示す図である。
【図２１】この発明の実施の形態１に従う半導体信号処理装置のＯＲ演算実行時のデータ伝搬経路を概略的に示す図である。
【図２２】この発明の実施の形態１に従う半導体信号処理装置のＸＯＲ演算実行時のデータ伝搬経路を概略的に示す図である。
【図２３】この発明の実施の形態１に従う半導体信号処理装置のＸＮＯＲ演算実行時のデータ伝搬経路を概略的に示す図である。
【図２４】この発明の実施の形態１に従う半導体信号処理装置の演算処理動作を示すフロー図である。
【図２５】この発明の実施の形態２に従う半導体信号処理装置の加算実行時のデータパス、組合せ論理演算回路および演算子セルサブアレイの構成を概略的に示す図である。
【図２６】図２５に示す配置の入力データと出力サムとの対応関係を一覧にして示す図である。
【図２７】図２５に示すワードゲート回路の構成の一例を概略的に示す図である。
【図２８】この発明の実施の形態２に従う半導体信号処理装置のキャリー生成部の構成を概略的に示す図である。
【図２９】図２８に示すキャリー生成部の入出力データおよび出力キャリーの論理値の対応関係を概略的に示す図である。
【図３０】図２８に示すワードゲート回路の構成の一例を概略的に示す図である。
【図３１】この発明の実施の形態２に従う減算部の入力データと出力減算値の論理値の対応を一覧にして示す図である。
【図３２】この発明の実施の形態２に従う減算値生成部の構成を概略的に示す図である。
【図３３】図３２に示すワードゲート回路の構成の一例を概略的に示す図である。
【図３４】この発明の実施の形態２に従う半導体信号処理装置の入力データと出力ボローの論理値の対応関係を概略的に示す図である。
【図３５】この発明の実施の形態２に従う減算器のボロー生成部の構成を概略的に示す図である。
【図３６】図３５に示すワードゲート回路の構成の一例を概略的に示す図である。
【図３７】この発明の実施の形態２の変更例の構成を概略的に示す図である。
【図３８】この発明の実施の形態２のさらに他の変更例の構成を概略的に示す図である。
【図３９】この発明の実施の形態３に従うユニット演算子セルの電気的等価回路を概略的に示す図である。
【図４０】図３９に示すユニット演算子セルの平面レイアウトを概略的に示す図である。
【図４１】この発明の実施の形態３に従う半導体信号処理装置の要部の構成を概略的に示す図である。
【図４２】この発明の実施の形態３に従う半導体信号処理装置の全体の構成を概略的に示す図である。
【図４３】この発明の実施の形態３に従う半導体信号処理装置の検索動作を示すフロー図である。
【図４４】この発明の実施の形態３に従う半導体信号処理装置の制御回路の構成の一例を概略的に示す図である。
【図４５】この発明の実施の形態３に従う半導体信号処理装置の行選択駆動回路の構成の一例を概略的に示す図である。
【図４６】この発明の実施の形態４に従う半導体信号処理装置の全体の構成を概略的に示す図である。
【図４７】図４６に示す半導体信号処理装置の単位演算ブロックの構成を概略的に示す図である。
【図４８】この発明の実施の形態４に従う半導体信号処理装置のデータパスの構成を概略的に示す図である。
【図４９】この発明の実施の形態４に従う半導体信号処理装置のキャリー生成部の構成を概略的に示す図である。
【図５０】この発明の実施の形態４に従う半導体信号処理装置のサム生成部の構成を概略的に示す図である。
【図５１】この発明の実施の形態４に従う半導体信号処理装置のボロー生成部の構成を概略的に示す図である。
【図５２】この発明の実施の形態４に従う半導体信号処理装置の減算値生成部の構成を概略的に示す図である。
【図５３】この発明の実施の形態４の変更例の構成を概略的に示す図である。
【図５４】この発明の実施の形態５に従う半導体信号処理装置の要部の構成を概略的に示す図である。
【図５５】図５４に示すユニット演算子セルの構成を概略的に示す図である。
【図５６】図５４に示すユニット演算子セルの読出時の他の接続態様を概略的に示す図である。
【図５７】この発明の実施の形態５に従う半導体信号処理装置の制御回路の構成の一例を概略的に示す図である。
【図５８】この発明の実施の形態６に従う半導体信号処理装置のユニット演算子セルの電気的等価回路を概略的に示す図である。
【図５９】図５８に示すユニット演算子セルの平面レイアウトを概略的に示す図である。
【図６０】この発明の実施の形態６に従う半導体信号処理装置のユニット演算子サブアレイブロックの構成を概略的に示す図である。
【図６１】この発明の実施の形態６に従う半導体信号処理装置のデータパスの構成を概略的に示す図である。
【図６２】この発明の実施の形態６に従う半導体信号処理装置のキャリー生成部の構成を概略的に示す図である。
【図６３】この発明の実施の形態６に従う半導体信号処理装置のサム生成部の構成を概略的に示す図である。
【図６４】この発明の実施の形態６に従う半導体信号処理装置の変更例の構成を概略的に示す図である。
【図６５】図６４に示す配置の具体的接続態様を概略的に示す図である。
【図６６】図６４および図６５に示す構成の加算動作を示すフロー図である。
【図６７】この発明の実施の形態７に従う半導体信号処理装置のユニット演算子セルの電源等価回路を示す図である。
【図６８】図６７に示すユニット演算子セルの平面レイアウトを概略的に示す図である。
【図６９】この発明の実施の形態７に従う半導体信号処理装置の要部の構成を概略的に示す図である。
【図７０】この発明の実施の形態７に従う半導体信号処理装置のサーチ動作を示すフロー図である。
【図７１】この発明の実施の形態７において用いられる入力データ（サーチデータ）およびマスクビットの対応を概略的に示す図である。
【図７２】この発明の実施の形態８に従う半導体信号処理装置の全体の構成を概略的に示す図である。
【図７３】この発明の実施の形態８に従う半導体信号処理装置のデータパスの構成を概略的に示す図である。
【図７４】この発明の実施の形態８において異なる上段操作の一例を示す図である。
【図７５】（Ａ）−（Ｃ）はこの発明の実施の形態８に従う半導体信号処理装置の加算時のデータの伝播経路を概略的に示す図である。
【図７６】（Ａ）および（Ｂ）は、この発明の実施の形態８に従う乗算器の乗算時のデータ伝搬経路を概略的に示す図である。
【図７７】（Ａ）および（Ｂ）は、この発明の実施の形態８に従う半導体信号処理装置の乗算実行時のデータの流れを概略的に示す図である。
【図７８】この発明の実施の形態８に従う半導体信号処理装置の上段操作を示すフロー図である。
【図７９】この発明の実施の形態８に従う半導体信号処理装置の入力データ生成部の構成を概略的に示す図である。
【図８０】この発明の実施の形態９に従う半導体信号処理装置のユニット演算子セルの電気的等価回路を示す図である。
【図８１】図８０に示すユニット演算子セルの平面レイアウトを概略的に示す図である。
【図８２】この発明の実施の形態９に従う半導体信号処理装置の全体の構成を概略的に示す図である。
【図８３】図８２に示す行／データ線選択駆動回路の構成の一例を概略的に示す図である。
【図８４】図８２に示すセンスアンプ帯の構成を概略的に示す図である。
【図８５】この発明の実施の形態９に従う半導体信号処理装置の要部の構成をデータの流れとともに概略的に示す図である。
【図８６】この発明の実施の形態９に従う半導体信号処理装置のサーチ動作時の接続態様を概略的に示す図である。
【図８７】この発明の実施の形態９に従う半導体信号処理装置のサーチ動作の一例を概略的に示す図である。
【図８８】この発明の実施の形態９に従う半導体信号処理装置のサーチ動作を示すフロー図である。
【図８９】この発明の実施の形態１０に従う半導体信号処理装置の全体の構成を概略的に示す図である。
【図９０】この発明の実施の形態１０に従う演算子セルサブアレイブロックＯＡＲＩの具体的構成の一例を示す図である。
【図９１】ユニット演算子セルにおける２つのＮチャネルＳＯＩトランジスタが選択された場合のセンスアンプに対するトランジスタの接続態様を概略的に示す図である。
【図９２】図７に示すユニット演算子セルおよびダミーセルの接続態様における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。
【図９３】データ読出時におけるビット線ＲＢＬおよびＺＲＢＬを流れる電流に応じた読出電位の関係を示す図である。
【図９４】ユニット演算子セルにおける１つのＳＯＩトランジスタが選択された場合のセンスアンプに対するトランジスタの接続態様を概略的に示す図である。
【図９５】図９４に示すユニット演算子セルおよびダミーセルの接続態様における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。
【図９６】ユニット演算子セルにおける１つのＳＯＩトランジスタが選択された場合のセンスアンプに対するトランジスタの接続態様を概略的に示す図である。
【図９７】図９６に示すユニット演算子セルおよびダミーセルの接続態様における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。
【図９８】２つのユニット演算子セル選択時のＳＯＩトランジスタとセンスアンプとの接続態様を概略的に示す図である。
【図９９】図９８に示す接続態様における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。
【図１００】データ読出時におけるビット線ＲＢＬおよびＺＲＢＬを流れる電流に応じた読出電位の関係を示す図である。
【図１０１】ユニット演算子セル行＜ｉ＞、＜ｊ＞および＜ｋ＞かつ同一ユニット演算子セル列に属する３つのユニット演算子セルにおける１つのＳＯＩトランジスタがそれぞれ選択された場合における記憶データとセンスアンプの出力信号の論理値との関係を一覧にして示す図である。
【図１０２】データ読出時におけるビット線ＲＢＬおよびＺＲＢＬを流れる電流に応じた読出電位の関係を示す図である。
【図１０３】この発明の実施の形態１０に係る電流検出型センスアンプの構成の一例を示す図である。
【図１０４】この発明の実施の形態１０に係る半導体信号処理装置が行なうＬＵＴ演算の一例を示す図である。
【図１０５】この発明の実施の形態１１に係る半導体信号処理装置の全体の構成を概略的に示す図である。
【図１０６】この発明の実施の形態１１に係る半導体信号処理装置における演算子セルサブアレイブロックの構成を概略的に示す図である。
【図１０７】この発明の実施の形態１１に係る半導体信号処理装置におけるセンスアンプの出力信号およびＡＮＤゲートの出力信号とユニット演算子セルＵＯＥＩおよびＵＯＥＪの記憶状態との対応を一覧にして示す図である。
【図１０８】この発明の実施の形態１１に係る半導体信号処理装置が行なうＬＵＴ演算の一例を示す図である。
【図１０９】この発明の実施の形態１２に係る半導体信号処理装置の構成を概略的に示す図である。
【図１１０】この発明の実施の形態１２に係る半導体信号処理装置が行なうＬＵＴ演算を示す図である。
【図１１１】この発明の実施の形態１２に係る半導体信号処理装置がＰＷＭ波形データを生成する動作原理を示す図である。
【図１１２】この発明の実施の形態１２に係る半導体信号処理装置がＰＷＭ波形データを生成する場合のＬＵＴデータの格納スキームを示す図である。
【図１１３】この発明の実施の形態１３に係る半導体信号処理装置の構成を概略的に示す図である。
【図１１４】実施の形態１３において１つの演算子セルサブアレイブロックＯＡＲ０を選択した状態を示す図である。
【図１１５】実施の形態１３におけるグローバルビット線ＧＢＬに接続されたセンスアンプＳＡの出力信号の組み合わせを一覧にして示す図である。
【図１１６】実施の形態１３におけるデータ読出時におけるグローバルビット線ＧＢＬを流れる電流に応じた読出電位の関係を示す図である。
【図１１７】実施の形態１３において２つの演算子セルサブアレイブロックＯＡＲ０およびＯＡＲ３１を選択した状態を示す図である。
【図１１８】実施の形態１３におけるグローバルビット線ＧＢＬに接続されたセンスアンプＳＡの出力信号の組み合わせを一覧にして示す図である。
【図１１９】実施の形態１３のデータ読出時におけるグローバルビット線ＧＢＬを流れる電流に応じた読出電位の関係を示す図である。
【図１２０】この発明の実施の形態１３に係る半導体信号処理装置が行なうＬＵＴ演算の一例を示す図である。
【図１２１】この発明の実施の形態１４に係る半導体信号処理装置の構成を概略的に示す図である。
【図１２２】この発明の実施の形態１４に係る半導体信号処理装置がカウンタとして動作する際の動作手順を示すフロー図である。
【図１２３】この発明の実施の形態１４に係る半導体信号処理装置が８ビットのカウンタとして動作時の制御フラグおよび格納データの一例を示す図である。
【図１２４】この発明の実施の形態１５に係る半導体信号処理装置において用いられるユニット演算子セルの電気的等価回路を示す図である。
【図１２５】図１２４に示すユニット演算子セルの平面レイアウトを概略的に示す図である。
【図１２６】この発明の実施の形態１５に係る半導体信号処理装置の全体の構成を概略的に示す図である。
【図１２７】図１２６に示す演算子セルサブアレイブロックＯＡＲの構成をより具体的に示す図である。
【図１２８】この発明の実施の形態１５に係る半導体信号処理装置の動作におけるデータの流れを概念的に示す図である。
【図１２９】この発明の実施の形態１６に係る半導体信号処理装置において用いられるメモリセルの断面構造を概略的に示す図である。
【図１３０】図１２９に示すメモリセルＭＣＩ、ＭＣＪおよびＭＣＫの電気的等価回路を示す図である。
【図１３１】可変磁気抵抗素子の自由層および固定層の磁化方向とその抵抗値の関係を概略的に示す図である。
【図１３２】実施の形態１６に係る半導体信号処理装置のメモリセルのアレイ内配置を概略的に示す図である。
【図１３３】メモリセルＭＣＩの記憶データの組み合わせを一覧にして示す図である。
【図１３４】図１３３に示す組合せについてデータ読出時におけるビット線ＢＬおよびＺＢＬを流れる電流に応じた読出電位の関係を示す図である。
【図１３５】実施の形態１６に係る半導体信号処理装置におけるセンスアプの出力信号とメモリセルＭＣＩの記憶状態との対応を一覧にして示す図である。
【図１３６】メモリセルＭＣＩおよびＭＣＪの記憶データの組み合わせを一覧にして示す図である。
【図１３７】データ読出時のビット線および補のビット線への可変磁気抵抗素子の接続態様を示す図である。
【図１３８】図１３７に示す接続態様でのデータ読出時におけるビット線ＢＬおよびＺＢＬを流れる電流に応じた読出電位の関係を示す図である。
【図１３９】図１３８に示すビット線電位におけるセンスアンプの出力信号とメモリセルＭＣＩおよびＭＣＪの記憶状態との対応を一覧にして示す図である。
【図１４０】実施の形態１６において利用される電流検出型センスアンプの構成の一例を示す図である。
【図１４１】メモリセルＭＣＩ、ＭＣＪおよびＭＣＫの記憶データの組み合わせを一覧にして示す図である。
【図１４２】図１４１に示す接続時のデータ読出時におけるビット線ＢＬおよびＺＢＬを流れる電流に応じた読出電位の関係を示す図である。
【図１４３】図１４２に示すビット線電位におけるセンスアンプの出力信号とメモリセルＭＣＩ、ＭＣＪおよびＭＣＫの記憶状態との対応を一覧にして示す図である。
【図１４４】実施の形態１６に係る半導体信号処理装置が行なうＬＵＴ演算の一例を示す図である。
【図１４５】この発明の実施の形態１７に従う半導体信号処理装置の全体の構成を概略的に示す図である。
【図１４６】図１４５に示すサブアレイブロックの構成を概略的に示す図である。
【図１４７】図１４６に示すサブアレイブロックの具体的構成の一例を概略的に示す図である。
【図１４８】図１４７に示すセンスアンプ回路の構成の一例を示す図である。
【図１４９】この発明の実施の形態１７にユニット演算子セルとセンスアンプ回路との接続態様を概略的に示す図である。
【図１５０】図１４９に示す配置のユニット演算子セルの記憶データとセンスアンプ回路の出力電流との対応関係を一覧にして示す図である。
【図１５１】図１４５に示すＡＤＣ帯の構成を概略的に示す図である。
【図１５２】図１５１に示すＡＤＣ帯に含まれるＡＤＣの構成の一例を示す図である。
【図１５３】図１５２に示すＡＤＣのＡ／Ｄ変換動作を説明するための図である。
【図１５４】図１４５に示すデータパスのデータ書込部の構成を概略的に示す図である。
【図１５５】この発明の実施の形態１７において実行される演算の一例を示す図である。
【図１５６】この発明の実施の形態１７に従う半導体信号処理装置のデータ読出部の構成を概略的に示す図である。
【図１５７】この発明の実施の形態１７に従う半導体信号処理装置の加算操作を示すフロー図である。
【図１５８】この発明の実施の形態１７に従う半導体信号処理装置のＡＤＣへ供給される変換基準電圧のチューニング動作を示すフロー図である。
【図１５９】この発明の実施の形態１８におけるユニット演算子セルとセンスアンプ回路との接続態様を概略的に示す図である。
【図１６０】図１５９に示す配置のデータ読出時のセンス読出ビット線電位の経時変化を概略的に示す図である。
【図１６１】図１６０に示すセンスアンプ回路の出力電流とユニット演算子セルの記憶データの対応を一覧にして示す図である。
【図１６２】この発明の実施の形態１８において実行される演算の一例を示す図である。
【図１６３】この発明の実施の形態１８に従う半導体信号処理装置のデータパスの構成を概略的に示す図である。
【図１６４】図１６２に示す演算実行時の第１段階のスイッチボックスのポートＡについての接続態様を概略的に示す図である。
【図１６５】図１６２に示す演算実行時の第１段階のスイッチボックスのポートＢについての接続態様を概略的に示す図である。
【図１６６】図１６２に示す演算実行時の第２番目の部分積生成時のポートＡについてのスイッチボックスの接続態様を概略的に示す図である。
【図１６７】図１６２に示す演算実行時の第２番目の部分積生成時のポートＢについてのスイッチボックスの接続態様を概略的に示す図である。
【図１６８】図１６２に示す第３番目の部分積生成時のポートＡについてのスイッチボックスの接続経路を概略的に示す図である。
【図１６９】図１６２に示す第３番目の部分積生成時のポートＢについてのスイッチボックスの接続経路を概略的に示す図である。
【図１７０】図１６２に示す第４番目の部分積生成時のポートＡについてのスイッチボックスの接続経路を概略的に示す図である。
【図１７１】図１６２に示す第４番目の部分積生成時のポートＢについてのスイッチボックスの接続経路を概略的に示す図である。
【図１７２】この発明の実施の形態１８に従う半導体信号処理装置のデータ読出部の構成を概略的に示す図である。
【図１７３】この発明の実施の形態１８に従う半導体信号処理装置の演算データビットの格納態様の一例を概略的に示す図である。
【図１７４】この発明の実施の形態１８に従う半導体信号処理装置のＡＤＣ帯の構成を概略的に示す図である。
【図１７５】この発明の実施の形態１８に従う半導体信号処理装置の変更例の演算態様を概略的に示す図である。
【図１７６】この発明の実施の形態１８に従う半導体信号処理装置の制御回路の構成の一例を概略的に示す図である。
【図１７７】この発明の実施の形態２に従う半導体信号処理装置のセル選択駆動回路に含まれるローカルセル選択回路の構成を概略的に示す図である。
【図１７８】この発明の実施の形態１９に従うセンスアンプ回路および読出ゲートの構成の一例を概略的に示す図である。
【図１７９】この発明の実施の形態１９に従う半導体信号処理装置のＡＤＣの構成を概略的に示す図である。
【図１８０】この発明の実施の形態１９において実行される演算の一例を概略的に示す図である。
【図１８１】この発明の実施の形態１９に従う半導体信号処理装置のデータ読出に関連する部分の構成を概略的に示す図である。
【図１８２】この発明の実施の形態１９に従う半導体信号処理装置において実行される加減算演算の具体例を示す図である。
【図１８３】図１８２に示す加減算実行時の各サブアレイブロックの書込データおよびデータ読出の態様を示す図である。
【図１８４】この発明の実施の形態１９に従う半導体信号処理装置のローカルセル選択回路の構成の一例を概略的に示す図である。
【図１８５】この発明の実施の形態２０に従う半導体信号処理装置のユニット演算子セルに対する信号配線の配置を概略的に示す図である。
【図１８６】図１８５に示すユニット演算子セルの平面レイアウトを概略的に示す図である。
【図１８７】この発明の実施の形態２０に従う半導体信号処理装置の全体の構成を概略的に示す図である。
【図１８８】この発明の実施の形態２０に従う半導体信号処理装置のセンスアンプ回路および読出ゲートの構成の一例を示す図である。
【図１８９】図１８８に示す行／データ線選択駆動回路の構成を概略的に示す図である。
【図１９０】この発明の実施の形態２０に従う半導体信号処理装置のユニット演算子セルの選択態様を概略的に示す図である。
【図１９１】この発明の実施の形態２０に従う半導体信号処理装置のデータ読出に関連する部分の構成を概略的に示す図である。
【図１９２】この発明の実施の形態２０の変更例のセンスアンプ回路の構成を読出ゲートと共に示す図である。
【図１９３】この発明の実施の形態２１に従う半導体信号処理装置のサブアレイブロックと演算データビットの対応を概略的に示す図である。
【図１９４】この発明の実施の形態２１に従う半導体信号処理装置のデータ書込および読出に関連する部分の構成を概略的に示す図である。
【図１９５】この発明の実施の形態２１に従う半導体信号処理装置のデータ読出に関連する部分の構成を概略的に示す図である。
【符号の説明】
【１３１９】
ＵＯＥ，ＵＯＥＡ，ＵＯＥＢ  ユニット演算子セル、２０  演算子セルアレイ、ＯＡＲ０−ＯＡＲ３１，ＯＡＲ  演算子セルサブアレイブロック、２２  行選択駆動回路、２４  メインアンプ回路、２６  組合せ論理演算回路、２８  データパス、ＸＤＲ  行ドライブ回路、３２  メモリセルアレイ、３４  ダミーセル帯、３６  読出ポート選択回路、３８  センスアンプ帯、ＰＲＳＷ  ポート接続回路、ＣＳＧ，ＣＳＧ０−ＣＳＧ２４−ＣＳＧ３１  読出ゲート、ＤＰＵＢ，ＤＰＵＢ０−ＤＰＵＢ４  データパス単位ブロック、ＵＣＬ，ＵＣＬ４ｋ，ＵＣＬ４ｋ＋１  単位演算ブロック、６０  マルチプレクサ、９０  ブロック選択回路、３００  演算データ入出力／処理回路、３０２ａ，３０２ｂ  演算単位ブロック、３１０  データ列変換回路、３２０  マルチプレクサ、１６４  ４ビット加算／減算処理回路、ＡＯＣＴ０，ＡＯＣＴ１  ＡＮＤ／ＯＲ複合ゲート、３２４  マルチプレクサ、ＰＱ１−ＰＱ３  ＰチャネルＳＯＩトランジスタ、ＮＱ１−ＮＱ３  ＮチャネルＳＯＩトランジスタ、４１２  グローバル書込ドライバ、ＭＬ  マッチ線、ＴＱ１  放電用トランジスタ、４５０  テンポラリーレジスタ、４５２，４５４  マルチプレクサ、ＸＸＤＲ０−ＸＸＤＲ３１  行／データ線選択駆動回路、５２０  Ａポート書込ワード線用デコーダ、５２４，５２６  グローバル書込ドライバ、５２２  Ａポート読出ワード線駆動回路、５３０  ワード線ドライブ回路、５３４  データ線ドライブ回路、５４０  フラグレジスタ、５５０  充電用トランジスタ、５５２  放電用トランジスタ、５６０  センスアンプ回路、ＲＧＬ，ＲＧＬ＜０＞およびＲＧＬ＜１＞  グローバル読出データ線、ＢＳＤＶ  サブアレイブロック選択ドライバ、ＢＵＦ１，ＢＵＦ２  バッファ、ＤＭＣ０，ＤＭＣ１  ダミーセル、ＤＴＡ，ＤＴＢ０，ＤＴＢ１  ダミートランジスタ、Ｇ１，ＧＩ０〜ＧＩ３，ＧＪ０〜ＧＪ３，ＧＫ０〜ＧＫ３  ＡＮＤゲート、Ｇ２  マルチプレクサ、ＧＢＬ  グローバルビット線、ＧＲＡ  比較増幅回路、ＭＬＡ，ＭＬＡＩ，ＭＬＡＫ  サブメモリアレイ、ＭＬＡＳＥＬＤＶ  サブブロック選択ドライバ、ＮＮ１，ＮＮ２，ＮＮ３，ＮＮ４，ＮＮ５，ＮＮ６，ＮＮ７，ＳＡＴ１，ＺＳＡＴ１，ＳＡＴ２，ＺＳＡＴ２，ＴＲ１  トランジスタ、ＯＰＳＥＬＤＶ  演算選択ドライバ、ＰＴ１〜ＰＴ７  トランジスタ、ＳＡ，ＳＡ１，ＳＡ２  センスアンプ、ＳＡＤＶ１，ＳＡＤＶ２  センスアンプ選択ドライバ、ＳＡＬ１，ＳＡＬ２  信号線、ＳＢＬＡ，ＳＢＬＢ，ＳＢＬＣ，ＳＢＬＤ  サブブロック、ＳＬ，ＳＬＥＸ  ソース線、ＤＭＳＷ１，ＳＷ，ＳＷ１，ＳＷ１１，ＳＷ２，ＳＷＯＡＲ，ＰＲＳＷＡ，ＰＲＳＷＢ  スイッチ、ＰＲＳＷＣ０，ＰＲＳＷＣ１  スイッチ回路、ＵＯＥＩ０，ＵＯＥＩ１，ＵＯＥＪ０，ＵＯＥＪ１，ＵＯＥＫ０，ＵＯＥＫ１  ユニット演算子セル、ＶＲＥＦ１〜ＶＲＥＦ４  基準電圧源、ＷＷＡＤＶ，ＷＷＢＤＶ  書込ドライバ、ＷＤＡＴＡＤＶ，ＷＤＡＴＢＤＶ  書込データドライバ、ＷＷＬ  書込ワード線、ＸＤＲ０〜ＸＤＲ３１  行ドライブ回路、ＺＢＬ  ビット線、ＺＳＡＬ１，ＺＳＡＬ２  信号線、６７０  列選択駆動回路、６７５  サブ書込ワード線ドライバ帯、ＭＣＩ，ＭＣＪ，ＭＣＫ  メモリセル、ＷＤＶＡ，ＷＤＶＢ  ビット線書込ドライバ、ＢＫ０−ＢＫｓ  サブアレイブロック、８１０  メモリセルアレイ、８１２  ＡＤＣ帯、８１４  データパス、８１６  セル選択駆動回路、８１８  制御回路、８２０  セルサブアレイ、８２２  センスアンプ帯、８２３  ポート接続回路、８２４  読出ゲート回路、ＳＡＫ０，ＳＡＫ１  センスアンプ回路、８２６，８２６＜０＞，８２６＜１＞  電流源回路、８３５ａ−８３５ｎ，８３５  ＡＤＣ、８４５  チューナブル電圧発生回路、８４７  プリチャージトランジスタ、ＯＵＢａ−ＯＵＢｎ  演算単位ブロック、ＲＧＬ０−ＲＧＬｋ  グローバル読出データ線、ＷＧＢ０−ＷＧＢ３  グローバル書込データバス、ＷＧＬＡ  ポートＡグローバル書込データ線、ＷＧＬＢ  ポートＢグローバル書込データ線、ＷＤＲＡ／Ｂ  グローバル書込ドライバ、ＷＤＲＡ  ポートＡグローバル書込ドライバ、ＷＤＲＢ  ポートＢグローバル書込ドライバ、８５０ａ−８５０ｄ，８５１ａ−８５１ｄ  レジスタ回路、ＵＯＥ００，ＵＯＥ０１，ＵＯＥｍ０，ＵＯＥｍ１  ユニット演算子セル、８５２  スイッチボックス、ＲＧＬ，ＲＧＬ０−ＲＧＬ１２７，ＲＧＬｋ  グローバル読出データ線、ＲＷＬ  読出ワード線、ＷＷＬ  ローカル書込ワード線、ＸＸＤＲａ，ＸＸＤＲｂ  行／データ線選択駆動回路、１２３０  ワード線ドライブ回路、１２３４  データ線ドライブ回路。
【図１】
0005194302.tif 000002
【図２】
0005194302.tif 000003
【図３】
0005194302.tif 000004
【図４】
0005194302.tif 000005
【図５】
0005194302.tif 000006
【図６】
0005194302.tif 000007
【図７】
0005194302.tif 000008
【図８】
0005194302.tif 000009
【図９】
0005194302.tif 000010
【図１０】
0005194302.tif 000011
【図１１】
0005194302.tif 000012
【図１２】
0005194302.tif 000013
【図１３】
0005194302.tif 000014
【図１４】
0005194302.tif 000015
【図１５】
0005194302.tif 000016
【図１６】
0005194302.tif 000017
【図１７】
0005194302.tif 000018
【図１８】
0005194302.tif 000019
【図１９】
0005194302.tif 000020
【図２０】
0005194302.tif 000021
【図２１】
0005194302.tif 000022
【図２２】
0005194302.tif 000023
【図２３】
0005194302.tif 000024
【図２４】
0005194302.tif 000025
【図２５】
0005194302.tif 000026
【図２６】
0005194302.tif 000027
【図２７】
0005194302.tif 000028
【図２８】
0005194302.tif 000029
【図２９】
0005194302.tif 000030
【図３０】
0005194302.tif 000031
【図３１】
0005194302.tif 000032
【図３２】
0005194302.tif 000033
【図３３】
0005194302.tif 000034
【図３４】
0005194302.tif 000035
【図３５】
0005194302.tif 000036
【図３６】
0005194302.tif 000037
【図３７】
0005194302.tif 000038
【図３８】
0005194302.tif 000039
【図３９】
0005194302.tif 000040
【図４０】
0005194302.tif 000041
【図４１】
0005194302.tif 000042
【図４２】
0005194302.tif 000043
【図４３】
0005194302.tif 000044
【図４４】
0005194302.tif 000045
【図４５】
0005194302.tif 000046
【図４６】
0005194302.tif 000047
【図４７】
0005194302.tif 000048
【図４８】
0005194302.tif 000049
【図４９】
0005194302.tif 000050
【図５０】
0005194302.tif 000051
【図５１】
0005194302.tif 000052
【図５２】
0005194302.tif 000053
【図５３】
0005194302.tif 000054
【図５４】
0005194302.tif 000055
【図５５】
0005194302.tif 000056
【図５６】
0005194302.tif 000057
【図５７】
0005194302.tif 000058
【図５８】
0005194302.tif 000059
【図５９】
0005194302.tif 000060
【図６０】
0005194302.tif 000061
【図６１】
0005194302.tif 000062
【図６２】
0005194302.tif 000063
【図６３】
0005194302.tif 000064
【図６４】
0005194302.tif 000065
【図６５】
0005194302.tif 000066
【図６６】
0005194302.tif 000067
【図６７】
0005194302.tif 000068
【図６８】
0005194302.tif 000069
【図６９】
0005194302.tif 000070
【図７０】
0005194302.tif 000071
【図７１】
0005194302.tif 000072
【図７２】
0005194302.tif 000073
【図７３】
0005194302.tif 000074
【図７４】
0005194302.tif 000075
【図７５】
0005194302.tif 000076
【図７６】
0005194302.tif 000077
【図７７】
0005194302.tif 000078
【図７８】
0005194302.tif 000079
【図７９】
0005194302.tif 000080
【図８０】
0005194302.tif 000081
【図８１】
0005194302.tif 000082
【図８２】
0005194302.tif 000083
【図８３】
0005194302.tif 000084
【図８４】
0005194302.tif 000085
【図８５】
0005194302.tif 000086
【図８６】
0005194302.tif 000087
【図８７】
0005194302.tif 000088
【図８８】
0005194302.tif 000089
【図８９】
0005194302.tif 000090
【図９０】
0005194302.tif 000091
【図９１】
0005194302.tif 000092
【図９２】
0005194302.tif 000093
【図９３】
0005194302.tif 000094
【図９４】
0005194302.tif 000095
【図９５】
0005194302.tif 000096
【図９６】
0005194302.tif 000097
【図９７】
0005194302.tif 000098
【図９８】
0005194302.tif 000099
【図９９】
0005194302.tif 000100
【図１００】
0005194302.tif 000101
【図１０１】
0005194302.tif 000102
【図１０２】
0005194302.tif 000103
【図１０３】
0005194302.tif 000104
【図１０４】
0005194302.tif 000105
【図１０５】
0005194302.tif 000106
【図１０６】
0005194302.tif 000107
【図１０７】
0005194302.tif 000108
【図１０８】
0005194302.tif 000109
【図１０９】
0005194302.tif 000110
【図１１０】
0005194302.tif 000111
【図１１１】
0005194302.tif 000112
【図１１２】
0005194302.tif 000113
【図１１３】
0005194302.tif 000114
【図１１４】
0005194302.tif 000115
【図１１５】
0005194302.tif 000116
【図１１６】
0005194302.tif 000117
【図１１７】
0005194302.tif 000118
【図１１８】
0005194302.tif 000119
【図１１９】
0005194302.tif 000120
【図１２０】
0005194302.tif 000121
【図１２１】
0005194302.tif 000122
【図１２２】
0005194302.tif 000123
【図１２３】
0005194302.tif 000124
【図１２４】
0005194302.tif 000125
【図１２５】
0005194302.tif 000126
【図１２６】
0005194302.tif 000127
【図１２７】
0005194302.tif 000128
【図１２８】
0005194302.tif 000129
【図１２９】
0005194302.tif 000130
【図１３０】
0005194302.tif 000131
【図１３１】
0005194302.tif 000132
【図１３２】
0005194302.tif 000133
【図１３３】
0005194302.tif 000134
【図１３４】
0005194302.tif 000135
【図１３５】
0005194302.tif 000136
【図１３６】
0005194302.tif 000137
【図１３７】
0005194302.tif 000138
【図１３８】
0005194302.tif 000139
【図１３９】
0005194302.tif 000140
【図１４０】
0005194302.tif 000141
【図１４１】
0005194302.tif 000142
【図１４２】
0005194302.tif 000143
【図１４３】
0005194302.tif 000144
【図１４４】
0005194302.tif 000145
【図１４５】
0005194302.tif 000146
【図１４６】
0005194302.tif 000147
【図１４７】
0005194302.tif 000148
【図１４８】
0005194302.tif 000149
【図１４９】
0005194302.tif 000150
【図１５０】
0005194302.tif 000151
【図１５１】
0005194302.tif 000152
【図１５２】
0005194302.tif 000153
【図１５３】
0005194302.tif 000154
【図１５４】
0005194302.tif 000155
【図１５５】
0005194302.tif 000156
【図１５６】
0005194302.tif 000157
【図１５７】
0005194302.tif 000158
【図１５８】
0005194302.tif 000159
【図１５９】
0005194302.tif 000160
【図１６０】
0005194302.tif 000161
【図１６１】
0005194302.tif 000162
【図１６２】
0005194302.tif 000163
【図１６３】
0005194302.tif 000164
【図１６４】
0005194302.tif 000165
【図１６５】
0005194302.tif 000166
【図１６６】
0005194302.tif 000167
【図１６７】
0005194302.tif 000168
【図１６８】
0005194302.tif 000169
【図１６９】
0005194302.tif 000170
【図１７０】
0005194302.tif 000171
【図１７１】
0005194302.tif 000172
【図１７２】
0005194302.tif 000173
【図１７３】
0005194302.tif 000174
【図１７４】
0005194302.tif 000175
【図１７５】
0005194302.tif 000176
【図１７６】
0005194302.tif 000177
【図１７７】
0005194302.tif 000178
【図１７８】
0005194302.tif 000179
【図１７９】
0005194302.tif 000180
【図１８０】
0005194302.tif 000181
【図１８１】
0005194302.tif 000182
【図１８２】
0005194302.tif 000183
【図１８３】
0005194302.tif 000184
【図１８４】
0005194302.tif 000185
【図１８５】
0005194302.tif 000186
【図１８６】
0005194302.tif 000187
【図１８７】
0005194302.tif 000188
【図１８８】
0005194302.tif 000189
【図１８９】
0005194302.tif 000190
【図１９０】
0005194302.tif 000191
【図１９１】
0005194302.tif 000192
【図１９２】
0005194302.tif 000193
【図１９３】
0005194302.tif 000194
【図１９４】
0005194302.tif 000195
【図１９５】
0005194302.tif 000196