JP3514587B2 - Fifoを内蔵する通信制御装置 - Google Patents

Fifoを内蔵する通信制御装置

Info

Publication number
JP3514587B2
JP3514587B2 JP20342196A JP20342196A JP3514587B2 JP 3514587 B2 JP3514587 B2 JP 3514587B2 JP 20342196 A JP20342196 A JP 20342196A JP 20342196 A JP20342196 A JP 20342196A JP 3514587 B2 JP3514587 B2 JP 3514587B2
Authority
JP
Japan
Prior art keywords
data
byte
input
bus
memory cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP20342196A
Other languages
English (en)
Other versions
JPH1049483A (ja
Inventor
泰夫 渡邊
啓司 市毛
健司 古橋
功 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP20342196A priority Critical patent/JP3514587B2/ja
Publication of JPH1049483A publication Critical patent/JPH1049483A/ja
Application granted granted Critical
Publication of JP3514587B2 publication Critical patent/JP3514587B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はFIFOを内蔵する
通信制御装置に係り、特に小型で高速動作が可能なFI
FOを内蔵する通信制御装置に関する。
【0002】
【従来の技術】FIFOは通信制御用の半導体装置など
に内蔵され、データの処理速度や転送速度が相違する複
数の装置や機能間でデータの受け渡しを行う場合、その
ような能力や速度の相違を吸収するため、バッファメモ
リとして利用される。
【0003】FIFOは、例えば複数個のメモリセルを
マトリクス配置したメモリセルアレイ,メモリセルアレ
イに含まれるメモリセルをアドレシングするためのアド
レスデコーダ,アドレシングされたメモリセルに対して
書き込み/読み出しを行う書き込み読み出し制御回路,
アクセスアドレスを内部で生成するためのリードアドレ
スカウンタ及びライトアドレスカウンタ、さらに入力デ
ータバス幅と出力データバス幅が異なる場合データバス
幅を合わせるためのバイトデータを選択する回路とを備
える。そして、メモリセルは入力データバス幅の任意の
バイト位置からメモリセルアレイの任意のアドレスに書
き込みが可能なように入力データバス幅のバイト数に相
当するデータ入力数を有し、メモリセルアレイの任意の
アドレスから出力データバス幅の任意のバイト位置に読
み出しが可能なように出力データバス幅のバイト数に相
当するデータ出力数を有する。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
FIFOを内蔵する通信制御装置では、入力データバス
幅すなわちそのバイト数或いは出力データバス幅すなわ
ちそのバイト数が大きくなった場合、メモリセルのデー
タ入力数或いはデータ出力数が増加してメモリセルの面
積が増大し、FIFOの面積が増大する。また、メモリ
セルアレイのデータ数が増加した場合、メモリセルのデ
ータ入力端子に接続される端子数が増加し、メモリセル
のデータ入力端子に付加される容量が増大し、書き込み
速度が遅くなる。さらに、メモリセルのデータ出力端子
に接続される端子数が増加し、メモリセルのデータ出力
端子に付加される容量が増大し、読み出し速度が遅くな
る。本発明の目的は、入出力データバス幅が大きくなっ
ても、面積の増大を抑えることができ、より高速なアク
セスを可能とするFIFOを内蔵する通信制御装置を提
供することにある。
【0005】
【課題を解決するための手段】本発明の特徴は、FIF
Oを内蔵する通信制御装置において、FIFOのメモリ
セルアレイの入力データバスを入力データバス幅すなわ
ちそのバイト数に応じて分割し、或いは、出力データバ
スを出力データバス幅すなわちそのバイト数に応じて分
割し、さらに分割したバス間でのデータの交換を可能と
するバイトスイッチ回路を設けたことにある。
【0006】本発明によれば、入力データバス幅の任意
のバイト位置からメモリセルアレイの任意のアドレスに
書き込みが可能であり、或いは任意のアドレスから出力
データバス幅の任意のバイト位置に読み出しが可能であ
るという特徴を失わずに、メモリセルアレイの入力デー
タバスが分割されることによりメモリセルのデータ入力
数を小さくすることになり、或いはメモリセルアレイの
出力データバスが分割されることによりメモリセルのデ
ータ出力数を小さくすることになり、これによって、メ
モリセルの面積を小さくすることが可能となり、FIF
O全体の面積を小さくすることが可能となる。さらに、
メモリセルアレイの入力データバスが分割されることに
よりメモリセルのデータ入力端子に接続される端子数を
減らし、メモリセルのデータ入力端子に付加される容量
を減らし、書き込み速度を速くすることが可能となり、
或いは、メモリセルアレイの出力データバスが分割され
ることによりメモリセルのデータ出力端子に接続される
端子数を減らし、メモリセルのデータ出力端子に付加さ
れる容量を減らし、読み出し速度を速くすることが可能
となる。
【0007】
【発明の実施の形態】図3は本発明におけるFIFOを
使用した通信制御システムの一実施例の構成を示す。こ
の通信制御システムは、通信インタフェース部400と
セントラルプロセッシングユニット(以下CPU)50
0とメモリ600から構成されており、各々のデータバ
スは例えば4バイト幅のシステムバス700により結合
され、システムバス700を介してデータの転送が行わ
れる。通信インタフェース部400は、データ送信時に
緩衝用のバッファメモリとして使用される送信FIFO410
と、パラレルデータをシリアルデータに変換して出力す
る送信シフトレジスタ411と、データ受信時に緩衝用
のバッファメモリとして使用される受信FIFO420 と、シ
リアルデータをパラレルデータに変換して入力する受信
シフトレジスタ421と、データ送信及びデータ受信全
体を制御する送受信制御回路430から構成される。
【0008】この通信制御システム例における送信動作
及び受信動作のデータの流れを簡単に説明すると次の通
りである。
【0009】送信時、メモリ600はCPU500からのメモ
リ制御信号501により4バイトの送信データをシステ
ムバス700上に出力し、通信インタフェース部400
はCPU500からの通信インタフェース部制御信号502に
よりシステムバス700上の4バイトの送信データを取
り込み、送信FIFO410 において1バイト幅のデータに変
換して蓄積する。蓄積された送信FIFO410 内の送信デー
タは、送受信制御回路430からの送信FIFO制御信
号431により送信開始の指示を受け、送信データを1
バイトずつ送信シフトレジスタ411に転送し、送信シ
フトレジスタ411は1ビットずつシフトしながら送信
端子412より送信データを出力する。一方、受信時
は、受信端子422より入力された受信データが1ビッ
トずつシフトしながら受信シフトレジスタ421に詰め
込まれ、8ビットすなわち1バイト分詰め込まれる毎に
受信シフトレジスタ421から受信FIFO420 に受信デー
タが転送され蓄積される。受信FIFO420 は受信FIFO
蓄積信号432により受信FIFO420 内に受信データが蓄
積されていることを送受信制御回路430に通知し、送
受信制御回路430は通信インタフェース部通知信号5
03によりCPU500に対して受信データの読み出しを要求
する。CPU500は通信インタフェース部制御信号502に
より通信インタフェース部400に対して受信データの
出力を指示し、通信インタフェース部400は受信FIFO
420 において1バイトデータを4バイトデータに変換し
た後システムバス700上に4バイトの受信データを出
力し、メモリ600はCPU500からのメモリ制御信号50
1により4バイトの受信データをシステムバス700上
から取り込み記憶保持する。
【0010】図1は本発明の通信制御システムにおける
FIFOの一実施例を示す。
【0011】本実施例におけるFIFOは、メモリセル
アレイ1とアドレスデコーダ2とバイトスイッチ回路3
とリードアドレスインクリメンタ4とライトアドレスイ
ンクリメンタ5から構成され、4バイトのバス幅の入力
データバス6に対して1バイト幅のメモリセル101〜
164、及び1バイトのバス幅の出力データバス7を有
している。
【0012】メモリセルアレイ1は、64個の1バイト
幅のメモリセル101〜164と4本の入力データバス
170〜173と1本の出力データバス18から構成さ
れる。各メモリセル101〜164は同様の構造を有
し、例えばメモリセル164を例にとって説明すれば、
読み出し時にデータを出力するデータ出力164aは出
力データバス18に接続され、書き込み時にデータを入
力するデータ入力164bは入力データバス170〜173
の内の一本の入力データバス173に接続され、読み出
し或いは書き込みを行う対象メモリセルを選択する制御
信号のメモリセル選択信号164cはメモリセル164
を示すアドレスのアドレスデコード結果のアドレス選択
信号264に接続され、読み出しを行う制御信号のメモ
リセルリード信号164dはFIFO外部から読み出し
タイミングを示すリードストローブ8に接続され、書き
込みを行う制御信号のメモリセルライト信号164eは
FIFO外部から書き込みタイミングを示すライトストロー
ブ9に接続される。メモリセル101〜163について
も同様に接続されるが、データ入力101b〜163bは、
101bが入力データバス170に接続され102bが
入力データバス171に接続され103bが入力データ
バス172に接続され104bが入力データバス173
に接続され105bが再び入力データバス170に接続
され以降これを繰り返す。すなわち4個置きのメモリセ
ルは、4本の入力データバス170〜173の内の同じ
入力データバスに接続されることになり、入力データバ
ス170〜173の内の1本の入力データバスには16個
のメモリセルのデータ入力端子が接続される。
【0013】アドレスデコーダ2は、読み出し動作を示
すリードストローブ8或いは書き込み動作を示すライト
ストローブ9と書き込みデータのバイト数を示すバイト
スイッチ制御信号34を入力し、さらに読み出しを行う
メモリセルのアドレスを順番にインクリメントするリー
ドアドレスインクリメンタ4からのリードアドレス41
或いは書き込みを行うメモリセルのアドレスを順番にイ
ンクリメントするライトアドレスインクリメンタ5から
のライトアドレス51を入力してデコードし、そのデコ
ード結果である対象メモリセルを選択するアドレス選択
信号201〜264をメモリセルアレイ1に出力する。
【0014】バイトスイッチ回路3は、1バイトの各入
力データバス60〜63から成る4バイトの入力データ
バス6から書き込みデータを入力し、書き込みデータの
バイト位置をどのように入れ替えるかを指示するバイト
スイッチ制御信号34と、次に書き込むべきメモリセル
がメモリセルアレイ1内の4本の入力データバス170〜
173の内のどの入力データバスに接続されているかを
示すライトアドレス位置信号52に基づき書き込みデー
タのバイト位置を入れ替えバイトスイッチ出力バス30
〜33の何れかに割り当てる。本実施例では4バイトの
バイトスイッチの例を示したが、バイトスイッチのバイ
ト数は特にこれに限られるものではない。
【0015】リードアドレスインクリメンタ4は、リー
ドストローブ8を入力し読み出しが行われる毎に読み出
したバイト数に応じてアドレス値を更新して次に読み出
すべきアドレス値をリードアドレス41としてアドレス
デコーダ2に出力する。
【0016】ライトアドレスインクリメンタ5は、ライ
トストローブ9とライトアドレス位置信号52を入力し
書き込みが行われる毎に書き込んだバイト数に応じてア
ドレス値を更新して次に書き込むべきアドレス値をライ
トアドレス51としてアドレスデコーダ2に出力する。
【0017】次に本実施例の動作を説明する。
【0018】先ず、4バイトのデータを上位バイトと下
位バイトの入れ替え(以下バイトスワップ)を行わずに
メモリセル101から書き込みその後読み出す場合につ
いて説明する。データをメモリセル101から書き込む
場合、ライトアドレスインクリメンタ5のライトアドレ
ス51は次に書き込むべきアドレス値01を示し、アド
レスデコーダ2はライトストローブ9の入力によって書
き込み動作に入ることを検知しライトアドレス51が示
すアドレス値01を入力し、バイトスイッチ制御信号3
4によりバイト位置を知ることにより次の書き込みデー
タが4バイトであることを検知しアドレスデコードした
結果、アドレス選択信号201,202,203,20
4を有効にする。一方、4バイトの書き込みデータDC
BAは入力データバス6に入力され、各々下位バイトか
ら順番にバイトデータAがバイト入力データバス60に
割り当てられバイトデータBがバイト入力データバス6
1に割り当てられバイトデータCがバイト入力データバ
ス62に割り当てられバイトデータDがバイト入力デー
タバス63に割り当てられ、バイトスイッチ回路3に入
力される。バイトスイッチ回路3ではバイトスイッチ制
御信号34とライトアドレス位置信号52より入れ替え
るバイト位置を計算しバイト位置の入れ替えを行い書き
込みデータをバイトスイッチ出力バス30〜33に割り
当てる。本動作例では、バイト入力データバス60から
入力されたバイトデータAはバイトスイッチ出力バス3
0から出力されバイト入力データバス61から入力され
たバイトデータBはバイトスイッチ出力バス31から出
力されバイト入力データバス62から入力されたバイト
データCはバイトスイッチ出力バス32から出力されバ
イト入力データバス63から入力されたバイトデータD
はバイトスイッチ出力バス33から出力される。メモリ
セルアレイ1に入力されたバイトスイッチ出力バス30
上のバイトデータAは入力データバス170を介してメ
モリセル101のデータ入力101bに達し、この時、
アドレス選択信号201が有効であることとライトスト
ローブ9によりメモリセル101のデータ入力101b
からバイトデータAがメモリセル101内部に取り込ま
れ書き込まれる。同様にメモリセル102にはバイトデ
ータBが書き込まれメモリセル103にはバイトデータ
Cが書き込まれメモリセル104にはバイトデータDが
書き込まれ、つまり下位バイトから順番にメモリセル1
01〜104に書き込まれたことになる。
【0019】メモリセル101〜104に書き込まれた
バイトデータA,B,C,Dを読み出す場合、リードア
ドレスインクリメンタ4のリードアドレス41はアドレ
ス値01を示し、アドレスデコーダ2はリードストロー
ブ8の入力によって読み出し動作に入ることを検知しリ
ードアドレス41が示すアドレス値01を入力しアドレ
スデコードした結果、アドレス選択信号201を有効に
する。メモリセルアレイ1では、アドレス選択信号20
1が有効であることとリードストローブ8によりメモリ
セル101のデータ出力101aからバイトデータAが
出力データバス18に出力されさらに出力データバス7
に出力されて読み出される。その後、リードアドレスイ
ンクリメンタ4はアドレスをインクリメントしてリード
アドレス41はアドレス値02を示す。ここで再びリー
ドストローブ8が入力された場合、リードアドレス41
が示すアドレス値02を入力しアドレスデコードした結
果、アドレス選択信号202を有効にし、メモリセルア
レイ1では、アドレス選択信号202が有効であること
とリードストローブ8によりメモリセル102のデータ
出力102aからバイトデータBが出力データバス18
に出力されさらに出力データバス7に出力されて読み出
される。以下同様にリードストローブ8が入力される毎
にバイトデータC,バイトデータDが読み出される。
【0020】次に、4バイトのデータをバイトスワップ
してメモリセル103から書き込む場合について説明す
る。この場合、ライトアドレスインクリメンタ5のライ
トアドレス51は次に書き込むべきアドレス値03を示
し、アドレスデコーダ2はライトストローブ9の入力に
よって書き込み動作に入ることを検知しライトアドレス
51が示すアドレス値03を入力し、バイトスイッチ制
御信号34によりバイト位置を知ることにより次の書き
込みデータが4バイトであることを検知しアドレスデコ
ードした結果、アドレス選択信号203,204,20
5,206を有効にする。一方、4バイトの書き込みデ
ータDCBAは入力データバス6に入力され、各々下位
バイトから順番にバイトデータAがバイト入力データバ
ス60に割り当てられバイトデータBがバイト入力デー
タバス61に割り当てられバイトデータCがバイト入力
データバス62に割り当てられバイトデータDがバイト
入力データバス63に割り当てられ、バイトスイッチ回
路3に入力される。バイトスイッチ回路3ではバイトス
イッチ制御信号34とライトアドレス位置信号52より
入れ替えるバイト位置を計算しバイト位置の入れ替えを
行い書き込みデータをバイトスイッチ出力バス30〜3
3に割り当てる。本動作例では、バイト入力データバス
60から入力されたバイトデータAはバイトスイッチ出
力バス31から出力されバイト入力データバス61から
入力されたバイトデータBはバイトスイッチ出力バス3
0から出力されバイト入力データバス62から入力され
たバイトデータCはバイトスイッチ出力バス33から出
力されバイト入力データバス63から入力されたバイト
データDはバイトスイッチ出力バス32から出力され
る。メモリセルアレイ1に入力されたバイトスイッチ出
力バス32上のバイトデータDは入力データバス172
を介してメモリセル103のデータ入力103bに達
し、この時、アドレス選択信号203が有効であること
とライトストローブ9によりメモリセル103のデータ
入力103bからバイトデータDがメモリセル103内
部に取り込まれ書き込まれる。同様にメモリセル104
にはバイトデータCが書き込まれメモリセル105には
バイトデータBが書き込まれメモリセル106にはバイ
トデータAが書き込まれ、つまり上位バイトから順番に
メモリセル103〜106に書き込まれたことになる。
【0021】次に、3バイトのデータをバイトスワップ
を行わずにメモリセル163から書き込む場合について
説明する。この場合、ライトアドレスインクリメンタ5
のライトアドレス51は次に書き込むべきアドレス値6
3を示し、アドレスデコーダ2はライトストローブ9の
入力によって書き込み動作に入ることを検知しライトア
ドレス51が示すアドレス値63を入力し、バイトスイ
ッチ制御信号34によりバイト位置を知ることにより次
の書き込みデータが3バイトであることを検知しアドレ
スデコードした結果、アドレス選択信号263,26
4,201を有効にする。一方、3バイトの書き込みデ
ータCBAは入力データバス6に入力され、各々下位バ
イトから順番にバイトデータAがバイト入力データバス
60に割り当てられバイトデータBがバイト入力データ
バス61に割り当てられバイトデータCがバイト入力デ
ータバス62に割り当てられ、バイトスイッチ回路3に
入力される。バイトスイッチ回路3ではバイトスイッチ
制御信号34とライトアドレス位置信号52より入れ替
えるバイト位置を計算しバイト位置の入れ替えを行い書
き込みデータをバイトスイッチ出力バス30〜33に割
り当てる。本動作例では、バイト入力データバス60か
ら入力されたバイトデータAはバイトスイッチ出力バス
32から出力されバイト入力データバス61から入力さ
れたバイトデータBはバイトスイッチ出力バス33から
出力されバイト入力データバス62から入力されたバイ
トデータCはバイトスイッチ出力バス30から出力され
る。メモリセルアレイ1に入力されたバイトスイッチ出
力バス32上のバイトデータAは入力データバス172
を介してメモリセル163のデータ入力163bに達
し、この時、アドレス選択信号263が有効であること
とライトストローブ9によりメモリセル163のデータ
入力163bからバイトデータAがメモリセル163内
部に取り込まれ書き込まれる。同様にメモリセル164
にはバイトデータBが書き込まれメモリセル101には
バイトデータCが書き込まれ、つまり下位バイトから順
番にメモリセル163,164、そして一周してメモリ
セル101に書き込まれたことになる。
【0022】図1に示す本発明の実施例について動作の
一例を説明したが、このように、メモリセルのデータ入
力数とデータ出力数が各々1本ずつでありながら、入力
データバス6の任意のバイト位置からバイトデータを順
番にメモリセルアレイ1に書き込み可能となる。
【0023】次に、図2に本発明におけるFIFOの他
の実施例を示す。
【0024】本実施例におけるFIFOは、メモリセル
アレイ1とアドレスデコーダ2とバイトスイッチ回路3
とリードアドレスインクリメンタ4とライトアドレスイ
ンクリメンタ5から構成されており、1バイトのバス幅
の入力データバス6に対して1バイト幅のメモリセル1
01〜104を有し、4バイトのバス幅の出力データバ
ス7を有している。
【0025】メモリセルアレイ1は、64個の1バイト
幅のメモリセル101〜164と1本の入力データバス
17と4本の出力データバス180〜183から構成さ
れる。各メモリセル101〜164は同様の構造を有
し、例えばメモリセル164を例にとって説明すれば、
読み出し時にデータを出力するデータ出力164aは出
力データバス180〜183の内の一本の出力データバ
ス183に接続され、書き込み時にデータを入力するデ
ータ入力164bは入力データバス17に接続され、読
み出し或いは書き込みを行う対象メモリセルを選択する
制御信号のメモリセル選択信号164cはメモリセル1
64を示すアドレスのアドレスデコード結果のアドレス
選択信号264に接続され、読み出しを行う制御信号の
メモリセルリード信号164dはFIFO外部から読み
出しタイミングを示すリードストローブ8に接続され、
書き込みを行う制御信号のメモリセルライト信号164
eはFIFO外部から書き込みタイミングを示すライト
ストローブ9に接続される。メモリセル101〜163
についても同様に接続されるが、データ出力101a〜
163aは、101aが出力データバス180に接続さ
れ102aが出力データバス181に接続され103a
が出力データバス182に接続され104aが出力デー
タバス183に接続され105aが再び出力データバス
180に接続され以降これを繰り返す。すなわち4個置
きのメモリセルは、4本の出力データバス180〜18
3の内の同じ出力データバスに接続されることになり、
出力データバス180〜183の内の1本の出力データ
バスには16個のメモリセルのデータ出力端子が接続さ
れる。
【0026】アドレスデコーダ2は、読み出し動作を示
すリードストローブ8或いは書き込み動作を示すライト
ストローブ9と読み出しデータのバイト数を示すバイト
スイッチ制御信号34を入力し、さらに読み出しを行う
メモリセルのアドレスを順番にインクリメントするリー
ドアドレスインクリメンタ4からのリードアドレス41
或いは書き込みを行うメモリセルのアドレスを順番にイ
ンクリメントするライトアドレスインクリメンタ5から
のライトアドレス51を入力してデコードし、そのデコ
ード結果である対象メモリセルを選択するアドレス選択
信号201〜264をメモリセルアレイ1に出力する。
【0027】バイトスイッチ回路3は、バイトスイッチ
入力バス35〜38から4バイトの読み出しデータを入
力し、読み出しデータのバイト位置をどのように入れ替
えるかを指示するバイトスイッチ制御信号34と、次に
読み出すべきメモリセルがメモリセルアレイ1内の4本
の出力データバス180〜183の内のどの出力データ
バスに接続されているかを示すリードアドレス位置信号
42に基づき読み出しデータのバイト位置を入れ替え1
バイトの各出力データバス70〜73の何れかに割り当
てる。本実施例では4バイトのバイトスイッチの例を示
すが、特にバイトスイッチのバイト数を制限するもので
はない。
【0028】リードアドレスインクリメンタ4は、リー
ドストローブ8とリードアドレス位置信号42を入力し
読み出しが行われる毎に読み出したバイト数に応じてア
ドレス値を更新して次に読み出すべきアドレス値をリー
ドアドレス41としてアドレスデコーダ2に出力する。
【0029】ライトアドレスインクリメンタ5は、ライ
トストローブ9を入力し書き込みが行われる毎に書き込
んだバイト数に応じてアドレス値を更新して次に書き込
むべきアドレス値をライトアドレス51としてアドレス
デコーダ2に出力する。
【0030】次に本実施例の動作を説明する。
【0031】先ず、4バイトのデータをメモリセル10
1から順番に1バイトずつ書き込み、その後バイトスワ
ップを行わずに読み出す場合について説明する。データ
をメモリセル101から書き込む場合、ライトアドレス
インクリメンタ5のライトアドレス51は次に書き込む
べきアドレス値01を示し、アドレスデコーダ2はライ
トストローブ9の入力によって書き込み動作に入ること
を検知しライトアドレス51が示すアドレス値01を入
力しアドレスデコードした結果、アドレス選択信号20
1を有効にする。一方、1バイトの書き込みデータであ
るバイトデータAは入力データバス6に入力され、メモ
リセルアレイ1に入力される。メモリセルアレイ1に入
力されたバイトデータAは入力データバス17を介して
メモリセル101のデータ入力101bに達し、この
時、アドレス選択信号201が有効であることとライト
ストローブ9によりメモリセル101のデータ入力10
1bからバイトデータAがメモリセル101内部に取り
込まれ書き込まれる。その後、ライトアドレスインクリ
メンタ5はアドレスをインクリメントしてライトアドレ
ス51はアドレス値02を示す。ここで再びライトスト
ローブ9が入力された場合、ライトアドレス51が示す
アドレス値02を入力しアドレスデコードした結果、ア
ドレス選択信号202を有効にし、メモリセルアレイ1
では、次のバイトデータBが入力データバス6から入力
され、入力データバス17を介してメモリセル102の
データ入力102bに達し、この時、アドレス選択信号
202が有効であることとライトストローブ9によりメ
モリセル102のデータ入力102bからバイトデータBが
メモリセル102内部に取り込まれ書き込まれる。以下
同様にライトストローブ9が入力される毎にバイトデー
タC,バイトデータDが書き込まれる。
【0032】メモリセル101〜104に書き込まれた
バイトデータA,B,C,Dを読み出す場合、リードア
ドレスインクリメンタ4のリードアドレス41はアドレ
ス値01を示し、アドレスデコーダ2はリードストロー
ブ8の入力によって読み出し動作に入ることを検知しリ
ードアドレス41が示すアドレス値01を入力し、バイ
トスイッチ制御信号34によりバイト位置を知ることに
より次の読み出しデータが4バイトであることを検知し
アドレスデコードした結果、アドレス選択信号201,
202,203,204を有効にする。メモリセルアレ
イ1では、アドレス選択信号201,202,203,
204が有効であることとリードストローブ8によりメ
モリセル101のデータ出力101aからバイトデータ
Aが出力データバス180に出力されメモリセル102
のデータ出力102aからバイトデータBが出力データ
バス181に出力されメモリセル103のデータ出力10
3aからバイトデータCが出力データバス182に出力さ
れメモリセル104のデータ出力104aからバイトデ
ータDが出力データバス183に出力される。バイトス
イッチ回路3では、メモリセルアレイ1の出力データバ
ス180〜183から出力された各バイトデータA,
B,C,Dが各々バイトスイッチ入力バス35,36,
37,38から入力され、バイトスイッチ制御信号34
とリードアドレス位置信号42より入れ替えるバイト位
置を計算しバイト位置の入れ替えを行い読み出しデータ
をバイト出力データバス70〜73に割り当てる。本動
作例では、バイトスイッチ入力バス35から入力された
バイトデータAはバイト出力データバス70から出力さ
れバイトスイッチ入力バス36から入力されたバイトデ
ータBはバイト出力データバス71から出力されバイト
スイッチ入力バス37から入力されたバイトデータCは
バイト出力データバス72から出力されバイトスイッチ
入力バス38から入力されたバイトデータDはバイト出
力データバス73から出力され、バイト出力データバス
70〜73は束ねられて4バイトの出力データバス7か
ら4バイトの読み出しデータDCBAが読み出され、つ
まりメモリセル101〜104のデータを順番に下位バ
イトから並べた4バイトデータが読み出されたことにな
る。
【0033】次に、既にメモリセル103にバイトデー
タAが書き込まれメモリセル104にバイトデータBが
書き込まれメモリセル105にバイトデータCが書き込
まれメモリセル106にバイトデータDが書き込まれて
いる4バイトのデータをバイトスワップしてメモリセル
103から読み出す場合について説明する。この場合、
リードアドレスインクリメンタ4のリードアドレス41
は次に読み出すべきアドレス値03を示し、アドレスデ
コーダ2はリードストローブ8の入力によって読み出し
動作に入ることを検知しリードアドレス41が示すアド
レス値03を入力し、バイトスイッチ制御信号34によ
りバイト位置を知ることにより次の読み出しデータが4
バイトであることを検知しアドレスデコードした結果、
アドレス選択信号203,204,205,206を有
効にする。メモリセルアレイ1では、アドレス選択信号
203,204,205,206が有効であることとリ
ードストローブ8によりメモリセル103のデータ出力
103aからバイトデータAが出力データバス182に
出力されメモリセル104のデータ出力104aからバ
イトデータBが出力データバス183に出力されメモリ
セル105のデータ出力105aからバイトデータCが
出力データバス180に出力されメモリセル106のデ
ータ出力106aからバイトデータDが出力データバス
181に出力される。バイトスイッチ回路3では、メモ
リセルアレイ1の出力データバス182,183,180,
181から出力された各バイトデータA,B,C,Dが
各々バイトスイッチ入力バス37,38,35,36か
ら入力され、バイトスイッチ制御信号34とリードアド
レス位置信号42より入れ替えるバイト位置を計算しバ
イト位置の入れ替えを行い読み出しデータをバイト出力
データバス70〜73に割り当てる。本動作例では、バ
イトスイッチ入力バス37から入力されたバイトデータ
Aはバイト出力データバス73から出力されバイトスイ
ッチ入力バス38から入力されたバイトデータBはバイ
ト出力データバス72から出力されバイトスイッチ入力
バス35から入力されたバイトデータCはバイト出力デ
ータバス71から出力されバイトスイッチ入力バス36
から入力されたバイトデータDはバイト出力データバス
70から出力され、バイト出力データバス70〜73は
束ねられて4バイトの出力データバス7から4バイトの
読み出しデータABCDが読み出され、つまりメモリセ
ル103〜106のデータを順番に上位バイトから並べ
た4バイトデータが読み出されたことになる。
【0034】次に、既にメモリセル163にバイトデー
タAが書き込まれメモリセル164にバイトデータBが
書き込まれメモリセル101にバイトデータCが書き込
まれている3バイトのデータをバイトスワップを行わず
にメモリセル163から読み出す場合について説明す
る。この場合、リードアドレスインクリメンタ4のリー
ドアドレス41は次に読み出すべきアドレス値63を示
し、アドレスデコーダ2はリードストローブ8の入力に
よって読み出し動作に入ることを検知しリードアドレス
41が示すアドレス値63を入力し、バイトスイッチ制
御信号34によりバイト位置を知ることにより次の読み
出しデータが3バイトであることを検知しアドレスデコ
ードした結果、アドレス選択信号263,264,20
1を有効にする。メモリセルアレイ1では、アドレス選
択信号263,264,201が有効であることとリー
ドストローブ8によりメモリセル163のデータ出力16
3aからバイトデータAが出力データバス182に出力さ
れメモリセル164のデータ出力164aからバイトデ
ータBが出力データバス183に出力されメモリセル1
01のデータ出力101aからバイトデータCが出力デ
ータバス180に出力される。バイトスイッチ回路3で
は、メモリセルアレイ1の出力データバス182,183,
180から出力された各バイトデータA,B,Cが各々
バイトスイッチ入力バス37,38,35から入力さ
れ、バイトスイッチ制御信号34とリードアドレス位置
信号42より入れ替えるバイト位置を計算しバイト位置
の入れ替えを行い読み出しデータをバイト出力データバ
ス70〜72に割り当てる。本動作例では、バイトスイ
ッチ入力バス37から入力されたバイトデータAはバイ
ト出力データバス70から出力されバイトスイッチ入力
バス38から入力されたバイトデータBはバイト出力デ
ータバス71から出力されバイトスイッチ入力バス35
から入力されたバイトデータCはバイト出力データバス
72から出力され、バイト出力データバス70〜72は
束ねられて4バイトの出力データバス7から3バイトの
読み出しデータCBAが読み出され、つまりメモリセル
163,164、そして一周してメモリセル101のデー
タを順番に下位バイトから並べた3バイトデータが読み
出されたことになる。
【0035】図2に示す本発明の実施例について動作の
一例を説明したが、このように、メモリセルのデータ入
力数とデータ出力数が各々1本ずつでありながら、メモ
リセルアレイ1に書き込まれたバイトデータを順番に出
力データバス7の任意のバイト位置からリード可能とな
る。
【0036】次に、図4に、図1及び図2におけるメモ
リセルの一実施例を示す。本メモリセルは1ビットメモ
リセル100を8ビット分併せて構成しており、1ビッ
トメモリセル100は3個のクロックドインバータ10
02,1004,1005と2個のインバータ100
1,1003より構成される。メモリセル164を例に
とって本メモリセルの動作を説明すると以下の通りであ
る。書き込み時、メモリセル選択信号164cとメモリ
セルライト信号164eが1となりクロックドインバー
タ書き込みゲートバー信号100wbが0となりクロッ
クドインバータ書き込みゲートツルー信号100wtが
1となり、クロックドインバータ1002がONとなり
クロックドインバータ1004がOFFとなる。一方、
8ビットのデータ入力164bの内の1ビットのデータ
は、1ビットメモリセル100に入力しインバータ10
01とクロックドインバータ1002を通ってノード10
0aに達しその反転値がインバータ1003を通ってノー
ド100bに達する。ここで、メモリセルライト信号1
64eが0になることにより信号100wbが1となり
信号100wtが0となりクロックドインバータ100
2がOFFとなりクロックドインバータ1004がON
となる。これによって、インバータ1003とクロック
ドインバータ1004の間のノード100aとノード1
00bによって書き込みデータが保持される。読み出し
時、メモリセル選択信号164cとメモリセルリード信
号164dが1となりクロックドインバータ読み出しゲ
ートバー信号100rbが0となりクロックドインバー
タ読み出しゲートツルー信号100rtが1となり、ク
ロックドインバータ1005がONとなる。これによっ
て、ノード100bに保持されていた書き込みデータの
反転値がクロックドインバータ1005を通って再度反
転され、8ビットのデータ出力164aの内の1ビット
として読み出される。
【0037】次に、図5に、図1及び図2におけるバイ
トスイッチ回路の一実施例を示す。本バイトスイッチ回
路は、8ビット分つまり8個のスイッチアレイ300を
有しスイッチアレイ300は1ビット単位のスイッチを
行うものであり、そのスイッチアレイ300のON/O
FFを制御するバイトスイッチ制御部350より構成さ
れる。スイッチアレイ300は主に16個のクロックド
インバータより構成され、4本の入力信号637,62
7,617,607が4本の出力信号337,327,
317,307の何れにも接続されるように結線されて
いる。例えば、入力信号637が出力信号337に接続
され入力信号627が出力信号327に接続され入力信
号617が出力信号317に接続され入力信号607が
出力信号307に接続される場合の動作は以下の通りで
ある。先ずバイトスイッチ制御部350でバイトスイッ
チ制御信号34とライトアドレス位置信号52又はリー
ドアドレス位置信号42よりONすべきクロックドイン
バータを判定しスイッチアレイ300にON信号を出力
するが、本動作例ではON信号350a,350b,3
50c,350dを1にする。ON信号350aが1と
なりクロックドインバータ300aがONとなり入力信
号637が出力信号337に接続され、ON信号350
bが1となりクロックドインバータ300bがONとな
り入力信号627が出力信号327に接続され、ON信
号350cが1となりクロックドインバータ300cが
ONとなり入力信号617が出力信号317に接続さ
れ、ON信号350dが1となりクロックドインバータ
300dがONとなり入力信号607が出力信号307
に接続される。
【0038】
【発明の効果】本発明によれば、入力データバス幅の任
意のバイト位置からメモリセルアレイの任意のアドレス
に書き込みが可能であり、或いは任意のアドレスから出
力データバス幅の任意のバイト位置に読み出しが可能で
あると同時に、FIFO全体の面積を小さくすることが
でき、さらに書き込み速度または読み出し速度を速くす
ることができる。これにより、小型で高速動作が可能な
通信制御装置を提供することができる。
【図面の簡単な説明】
【図1】本発明に係る通信制御装置におけるFIFOの
一実施例のブロック図。
【図2】本発明に係る通信制御装置におけるFIFOの
他の実施例のブロック図。
【図3】本発明におけるFIFOを使用した通信制御装
置の構成。
【図4】図1及び図2におけるメモリセルの一実施例の
構成。
【図5】図1及び図2におけるバイトスイッチ回路の一
実施例の構成。
【符号の説明】 1…メモリセルアレイ、2…アドレスデコーダ、3…バ
イトスイッチ回路、4…リードアドレスインクリメン
タ、5…ライトアドレスインクリメンタ、6…入力デー
タバス、7…出力データバス、8…リードストローブ、
9…ライトストローブ。
フロントページの続き (72)発明者 市毛 啓司 茨城県日立市幸町三丁目1番1号 株式 会社 日立製作所 日立工場内 (72)発明者 古橋 健司 茨城県日立市幸町三丁目1番1号 株式 会社 日立製作所 日立工場内 (72)発明者 斉藤 功 茨城県日立市弁天町三丁目10番2号 日 立原町電子工業株式会社内 (56)参考文献 特開 昭62−34267(JP,A) 特開 平5−265943(JP,A) 特開 平1−205324(JP,A) 特開 昭64−32368(JP,A) 特開 平4−64988(JP,A) 特開 平2−168318(JP,A) 特開 平7−253872(JP,A)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】通信インタフェース、セントラルプロセッ
    シングユニット、メモリ、及びこれらの間の信号または
    デ−タの転送を行うシステムバスを有し、 前記通信インタフェースは、データ送信時の緩衝用のバ
    ッファメモリである送信FIFO、パラレルデータをシ
    リアルデータに変換して出力する送信シフトレジスタ、
    データ受信時の緩衝用のバッファメモリである受信FI
    FO、シリアルデータをパラレルデータに変換して入力
    する受信シフトレジスタ、及びデータ送信及びデータ受
    信全体を制御する送受信制御回路とを備え、 前記送信FIFOのメモリセルアレイの入力データバス
    のバス幅をMバイト、複数のメモリセルの夫々のバイト
    幅をN(N=M/2以上の整数)バイトとしたとき、前
    記入力データバスが(M/N)分割されて前記メモリセ
    ルアレイに接続される構成を具備してなり、前記複数の
    メモリセルの夫々は、データ入力数を 1 本とされ、(M
    /N)個毎に前記分割された入力データバス(M/N)
    本の内の同じ一つに接続され、(M/N)個のメモリセ
    ルの夫々は、異なる前記分割された入力データバスに接
    続される構成を具備してなり、前記分割されていない入
    力データバスと前記分割された入力データバスとの間で
    データのバイト位置変換を可能ならしめるバイトスイッ
    チ回路を具備してなることを特徴とする通信制御装置。
  2. 【請求項2】請求項1において、前記入力データバスは
    2バイト以上のバス幅を有することを特徴とする通信制
    御装置。
  3. 【請求項3】通信インタフェース、セントラルプロセッ
    シングユニット、メモリ、及びこれらの間の信号または
    デ−タの転送を行うシステムバスを有し、 前記通信インタフェースは、データ送信時の緩衝用のバ
    ッファメモリである送信FIFO、パラレルデータをシ
    リアルデータに変換して出力する送信シフトレジスタ、
    データ受信時の緩衝用のバッファメモリである受信FI
    FO、シリアルデータをパラレルデータに変換して入力
    する受信シフトレジスタ、及びデータ送信及びデータ受
    信全体を制御する送受信制御回路とを備え、 前記受信FIFOのメモリセルアレイの出力データバス
    のバス幅をMバイト、複数のメモリセルの夫々のバイト
    幅をN(N=M/2以上の整数)バイトとしたとき、前
    記出力データバスが(M/N)分割されて前記メモリセ
    ルアレイに接続される構成を具備してなり、前記複数の
    メモリセルの夫々は、データ入力数を 1 本とされ、(M
    /N)個毎に前記分割された出力データバス(M/N)
    本の内の同じ一つに接続され、(M/N)個のメモリセ
    ルの夫々は、異なる前記分割された出力データバスに接
    続される構成を具備してなり、前記分割された出力デー
    タバスと前記分割されていない出力データバスとの間で
    データのバイト位置変換を可能ならしめるバイトスイッ
    チ回路を具備してなることを特徴とする通信制御装置。
  4. 【請求項4】請求項3において、前記出力データバスは
    2バイト以上のバス幅を有することを特徴とする通信制
    御装置。
  5. 【請求項5】Mバイト(M≧2)のバス幅を有する入力
    データバスを有し、前記入力データバスの任意のバイト
    位置からバイトデータを順番に書き込み可能であり
    、夫々がN(N=M/2以上の整数)バイト幅の複数
    メモリセルを含んでなるFIFOであって、 前記入力データバスが(M/N)分割されて前記メモリ
    セルアレイに接続される構成を具備してなり、前記複数
    のメモリセルの夫々は、データ入力数を 1 本とされ、
    (M/N)個毎に前記分割された入力データバス(M/
    N)本の内の同じ一つに接続され、(M/N)個のメモ
    リセルの夫々は、異なる前記分割された入力データバス
    に接続される構成を具備してなり、前記分割されていな
    い入力データバスと前記分割された入力データバスとの
    間でデータのバイト位置変換を可能ならしめるバイトス
    イッチ回路を具備してなることを特徴とするFIFO。
  6. 【請求項6】Mバイト(M≧2)のバス幅を有する出力
    データバスを有し、FIFOからバイトデータを順番に
    取り出し前記出力データバスの任意のバイト位置から読
    み出し可能であり且つ、夫々がN(N=M/2以上の
    整数)バイト幅の複数のメモリセルを含んでなるFIF
    Oであって、 前記出力データバスが(M/N)分割されて前記メモリ
    セルアレイに接続される構成を具備してなり、前記複数
    のメモリセルの夫々は、データ入力数を 1 本とされ、
    (M/N)個毎に前記分割された出力データバス(M/
    N)本の内の同じ一つに接続され、(M/N)個のメモ
    リセルの夫々は、異なる前記分割された出力データバス
    に接続される構成を具備してなり、前記分割された出力
    データバスと前記分割されていない出力データバスとの
    間でデータのバイト位置変換を可能ならしめるバイトス
    イッチ回路を具備してなることを特徴とするFIFO。
JP20342196A 1996-08-01 1996-08-01 Fifoを内蔵する通信制御装置 Expired - Lifetime JP3514587B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20342196A JP3514587B2 (ja) 1996-08-01 1996-08-01 Fifoを内蔵する通信制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20342196A JP3514587B2 (ja) 1996-08-01 1996-08-01 Fifoを内蔵する通信制御装置

Publications (2)

Publication Number Publication Date
JPH1049483A JPH1049483A (ja) 1998-02-20
JP3514587B2 true JP3514587B2 (ja) 2004-03-31

Family

ID=16473806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20342196A Expired - Lifetime JP3514587B2 (ja) 1996-08-01 1996-08-01 Fifoを内蔵する通信制御装置

Country Status (1)

Country Link
JP (1) JP3514587B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385510A (zh) * 2018-12-27 2020-07-07 新唐科技股份有限公司 可切换的i2s接口

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385510A (zh) * 2018-12-27 2020-07-07 新唐科技股份有限公司 可切换的i2s接口

Also Published As

Publication number Publication date
JPH1049483A (ja) 1998-02-20

Similar Documents

Publication Publication Date Title
AU682211B2 (en) Multiple-port shared memory interface and associated method
US6212597B1 (en) Apparatus for and method of architecturally enhancing the performance of a multi-port internally cached (AMPIC) DRAM array and like
AU721764B2 (en) High performance universal multi-port internally cached dynamic random access memory system, architecture and method
US6507581B1 (en) Dynamic port mode selection for crosspoint switch
JPH03105789A (ja) 半導体記憶装置
US6112268A (en) System for indicating status of a buffer based on a write address of the buffer and generating an abort signal before buffer overflows
EP0910014B1 (en) Program loading method and apparatus
JP3514587B2 (ja) Fifoを内蔵する通信制御装置
EP0369022B1 (en) Parallel signal processing system
JPH10302054A (ja) フレームバッファメモリ
KR100188016B1 (ko) 반도체 메모리장치
JP4060270B2 (ja) 送信装置と受信装置の間においてビデオのライン・データを遅延させる装置および方法
JPH10214220A (ja) 集積回路
JP3416246B2 (ja) 画像処理装置
JPH11134863A (ja) 半導体メモリ装置とデータの書き込み方法
KR20000035167A (ko) 메모리, 메모리 어드레스 전송 방법 및 메모리 인터페이스
JPH0520176A (ja) 半導体記憶装置
JPH07134643A (ja) Fifoメモリ
JPH04160460A (ja) シリアルデータ送受信装置
JPH0831269B2 (ja) デ−タ選択回路
JPS6312057A (ja) バス制御方式
JP2000174723A (ja) 通信制御方法及びその装置
JPH01213691A (ja) 半導体記憶装置
JPH0652039A (ja) データ転送方式
JP2002351812A (ja) メモリアクセス回路

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080123

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100123

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140123

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term