JP5145581B2 - Orthogonal transformation circuit - Google Patents
Orthogonal transformation circuit Download PDFInfo
- Publication number
- JP5145581B2 JP5145581B2 JP2007317186A JP2007317186A JP5145581B2 JP 5145581 B2 JP5145581 B2 JP 5145581B2 JP 2007317186 A JP2007317186 A JP 2007317186A JP 2007317186 A JP2007317186 A JP 2007317186A JP 5145581 B2 JP5145581 B2 JP 5145581B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- transfer
- circuit
- orthogonal transformation
- 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 - Fee Related
Links
Images
Description
この発明は、データ配列を直交変換する直交変換回路に関し、特に、並列演算処理装置におけるワードシリアル/ビットパラレルデータ列とワードパラレル/ビットシリアルデータ列との間の変換を行なう直交変換回路に関する。 The present invention relates to an orthogonal transform circuit that orthogonally transforms a data array, and more particularly to an orthogonal transform circuit that performs conversion between a word serial / bit parallel data string and a word parallel / bit serial data string in a parallel processing unit.
移動体通信技術の発展に伴って、携帯電話などの携帯端末機器においては、音声および画像のような大量のデータを送受信することが可能となる。このため、音声および画像などの大量のデータを高速に処理するデジタル信号処理の重要性が高くなってきている。このようなデジタル信号処理には、一般に、専用の半導体装置としてDSP(デジタル・シグナル・プロセッサ)が用いられる場合が多い。音声および画像データに対するデジタル信号処理においては、フィルタ処理などのデータ処理が行なわれ、このような処理においては、積和演算を繰返す演算処理が多い。したがって、一般に、DSPの構成においては、乗算回路、加算回路および累算用のレジスタが設けられる。このような専用のDSPを用いると、積和演算を1マシンサイクルで実行することが可能となり、高速演算処理が可能となる。 With the development of mobile communication technology, mobile terminal devices such as mobile phones can transmit and receive large amounts of data such as voice and images. For this reason, the importance of digital signal processing for processing a large amount of data such as sound and images at high speed is increasing. For such digital signal processing, a DSP (digital signal processor) is generally used as a dedicated semiconductor device in many cases. In digital signal processing for audio and image data, data processing such as filter processing is performed, and in such processing, there are many arithmetic processes that repeat product-sum operations. Therefore, in general, in the configuration of the DSP, a multiplication circuit, an addition circuit, and an accumulation register are provided. If such a dedicated DSP is used, the product-sum operation can be executed in one machine cycle, and high-speed operation processing is possible.
しかしながら、このような専用のDSPを用いる場合、演算処理対象のデータのビット幅が固定され、したがって、汎用性に欠けるという問題が生じる。データのビット幅にかかわらず、高速で演算処理を行なう汎用性の高い演算処理装置の一例が、特許文献1(特開2007−140750号公報)に示されている。 However, when such a dedicated DSP is used, there is a problem that the bit width of the data to be processed is fixed, so that the versatility is lacking. An example of a highly versatile arithmetic processing apparatus that performs arithmetic processing at high speed regardless of the bit width of data is disclosed in Japanese Patent Application Laid-Open No. 2007-140750.
この特許文献1に示される構成においては、演算処理装置内に、複数のエントリに分割されるメモリセルマットと、各エントリに対応して配置される演算器とが設けられる。演算対象のデータを各エントリに格納する。複数のエントリにおいて並列にビットシリアル態様で対応の演算器において演算処理を実行し、実行結果を対応のエントリに再書込する。
In the configuration disclosed in
この特許文献1に示される並列演算処理装置の構成では、演算処理は、ビットごとに処理されるというビットシリアル態様で実行されるため、演算対象のデータのビット幅だけ、演算処理を繰返すことにより、対象データの演算処理を実行することができる。従って、演算処理対象のデータのビット幅の制限を受けることなく、同一構成で演算処理を実行することができる。また、演算器の演算処理内容を、プログラム命令により設定することにより、複数種類の演算処理を実行することができる。
In the configuration of the parallel arithmetic processing device shown in
このエントリに格納されるデータは、ビットシリアルに転送される。一方、外部のデータは、ワードシリアルかつビットパラレルに転送される。ここで、ワードシリアルかつビットパラレルは、ワードを構成するデータビットがデータバスを介して並列に各ワードごとに転送される態様を示す。一方、並列演算処理装置内においては、複数のエントリに対して並列に演算処理を実行する。従って、各エントリには、データをビットシリアル態様で転送して格納する必要がある。このため、外部データ(外部のプロセッサなどが処理するデータ)と並列演算処理装置内におけるデータとの間で配列を変換する必要がある。上述の特許文献1においては、2つのポートを有する直交変換メモリを利用してデータ配列の変換を行なう。この直交変換メモリとしては、2ポートSRAMが用いられる。直交変換メモリを2つ準備し、これらの直交変換メモリへインタリーブ態様でアクセスする。一方の直交変換メモリへのデータ書込時に、他方の直交変換メモリからデータの読出を実行する。
Data stored in this entry is transferred in bit serial. On the other hand, external data is transferred in word serial and bit parallel. Here, word serial and bit parallel indicate a mode in which data bits constituting a word are transferred in parallel via the data bus for each word. On the other hand, in the parallel arithmetic processing unit, arithmetic processing is executed in parallel for a plurality of entries. Therefore, it is necessary to transfer and store data in each entry in a bit serial manner. For this reason, it is necessary to convert the array between external data (data processed by an external processor or the like) and data in the parallel processing unit. In the above-mentioned
この特許文献1においては、外部のデータバス(システムバス)を転送されるデータのビット幅が異なる場合、直交変換メモリのデータビット格納領域を調整する。これにより、演算処理対象のデータのビット幅が異なる場合においても、バス構成を変更することなく、効率的にデータ転送を行なうことを図る。
上述の特許文献1においては、2つの直交変換メモリに対しインタリーブ態様でアクセスする。1つの実施の形態において、この特許文献1は、システムバスと直交変換メモリとの間でデータ転送経路を、システムバス上を転送されるデータ(外部データ)のビット幅に応じて切換える。すなわち、外部データが8ビットデータの場合、直交変換メモリの8ビット領域がアクセスされ、残りの領域はアクセスされない。したがって、直交変換メモリの利用効率が低下する。
In
別の実施の形態においては、この特許文献1は、データビット幅に応じてシステムバスと直交変換メモリの入出力回路との接続を切換える。直交変換メモリは、外部データの最小データビット幅を有する複数のメモリブロックに分割する。データビット幅に応じてシステムバスと直交変換メモリとの間のアクセス経路を切換える。たとえば、外部データが8ビットの場合、1つのメモリブロックに対するアクセスが完了した後、バス接続を切換えて、次のメモリブロックとシステムバスとの間でデータ転送を行なう。このため、データ転送時にシステムバスの全ビットを利用してデータを転送することができるものの、直交変換メモリとシステムバスとの間にバス接続の切換を行なう回路が必要となり、直交変換回路のサイズを低減するために、さらに工夫を要する余地がある。
In another embodiment,
それゆえ、この発明の目的は、回路規模の増大およびバスの利用効率の低下を抑制して種々のビット幅のデータについて直交変換を行なって転送することのできる直交変換回路を提供することである。 SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an orthogonal transformation circuit capable of performing orthogonal transformation and transferring data of various bit widths while suppressing an increase in circuit scale and a decrease in bus utilization efficiency. .
この発明に係る直交変換回路は、複数の2ポート直交変換メモリを、互いに直交する第1および第2のデータバスに結合する。第1のデータバスのビット幅は、外部のシステムデータバスのビット幅よりも小さくする。複数の直交変換メモリに対して、転送データビット幅に従って個々にバス接続制御信号、アドレス信号および活性化を制御する転送制御信号を生成して、これらの2ポート直交変換メモリのバス接続および活性化を個々に設定する。この第2のデータバスと複数の直交変換メモリの間に、データ転送の配列調整のためのバッファメモリを設ける。このバッファメモリを用いて第2のデータバスとバッファとの間の転送経路および第2のデータバスとバッファとインタフェースとの間の経路を選択的に設定してデータ転送順序を調整する。この直交変換メモリと第2のデータバスとの間の接続、直交変換メモリの活性化を制御する信号およびアドレス信号データビット幅情報に従って生成して直交変換メモリ個々にバス接続および活性化を制御する。 The orthogonal transformation circuit according to the present invention couples a plurality of 2-port orthogonal transformation memories to first and second data buses orthogonal to each other. The bit width of the first data bus is made smaller than the bit width of the external system data bus. A bus connection control signal, an address signal, and a transfer control signal for controlling activation are individually generated for a plurality of orthogonal transformation memories according to the transfer data bit width, and the bus connection and activation of these two-port orthogonal transformation memories are performed. Set individually. A buffer memory for adjusting the arrangement of data transfer is provided between the second data bus and the plurality of orthogonal transformation memories. Using this buffer memory, the transfer path between the second data bus and the buffer and the path between the second data bus, the buffer and the interface are selectively set to adjust the data transfer order. The connection between the orthogonal transformation memory and the second data bus, the signal for controlling the activation of the orthogonal transformation memory and the address signal data bit width information are generated and the bus connection and the activation are individually controlled for the orthogonal transformation memory. .
複数の2ポート直交変換メモリを、転送データのビット幅に応じてバス接続を調整し、また選択的に活性化してデータの書込を実行する。したがって、バス構成を変更することなく種々のビット幅のデータを直交変換メモリとシステム側との間で全メモリ領域を利用するように転送することができる。また、第2のデータバスと直交変換メモリとの間の接続および直交変換メモリの活性化を転送データのビット幅に応じて設定することにより、種々のビット幅のデータを直交変換メモリと第2のデータバスとの間で正確に転送することができる。 A plurality of 2-port orthogonal transformation memories adjust the bus connection according to the bit width of the transfer data, and selectively activate the data to execute data writing. Therefore, data having various bit widths can be transferred between the orthogonal transformation memory and the system side so as to use the entire memory area without changing the bus configuration. Further, by setting the connection between the second data bus and the orthogonal transformation memory and the activation of the orthogonal transformation memory in accordance with the bit width of the transfer data, data of various bit widths can be transmitted between the orthogonal transformation memory and the second transformation memory. Can be accurately transferred to and from the data bus.
また、バッファメモリを利用して、データ転送順序を転送データのビット幅に応じて調整することにより、種々のビット幅のデータを、第2のデータバスの全ビットを利用してビットシリアル態様で転送することができる。 In addition, by using the buffer memory, the data transfer order is adjusted according to the bit width of the transfer data, so that data of various bit widths can be obtained in a bit serial manner using all the bits of the second data bus. Can be transferred.
[実施の形態1]
図1は、この発明に従う直交変換回路が適用される信号処理システムの全体の構成を概略的に示す図である。図1において、信号処理システム1は、各種処理を実行する演算機能を実現するシステムLSI2と、システムLSI2と外部システムバス3を介して接続される外部メモリとを含む。外部メモリは、大容量メモリ4と、高速メモリ5と、読出専用メモリ(Read Only Memory:ROM)6とを含む。大容量メモリ4は、たとえばクロック同期型ダイナミック・ランダム・アクセス・メモリ(SDRAM)で構成され、以下、単にSDRAMと称す。高速メモリ5は、たとえばスタティック・ランダム・アクセス・メモリ(SRAM)で構成される。読出専用メモリ6は、マスクROMなどの不揮発性メモリで構成され、システム立上げ時の命令などの固定情報を格納する。
[Embodiment 1]
FIG. 1 is a diagram schematically showing an overall configuration of a signal processing system to which an orthogonal transform circuit according to the present invention is applied. In FIG. 1, the
システムLSI2は、内部システムバス7に並列に結合される基本演算ブロックFB1−FBhと、これらの基本演算ブロックFB1−FBhの処理動作を制御するホストCPU8と、信号処理システム1の外部からの入力信号INを内部処理用データに変換する入力ポート9と、内部システムバス7から与えられる出力データを受けてシステム外部へ転送される出力信号/データOUTを生成する出力ポート10とを含む。
The
ホストCPU8、入力ポート9および出力ポート10は、共通に内部システムバス7に結合される。入力ポート9および出力ポート10は、たとえばIPブロック(インテレクチュアル・プロパティ・ブロック:ライブラリとして準備された機能ブロック)で構成され、データ/信号の入出力に必要な機能を実現する。
システムLSI2は、さらに、内部システムバス7に互いに並列に結合される割込コントローラ11、CPU周辺12、DMA(ダイレクト・メモリ・アクセス)コントローラ13、外部バスコントローラ14、および専用ロジック15を含む。割込コントローラ11は、基本演算ブロックFB1−FBhからの割込信号を受け、ホストCPU8に対して割込を通知する。
The
CPU周辺12は、ホストCPU8の各処理に必要な制御動作を実行し、タイマおよびシリアルIO(入出力)などのホストCPU8におけるプログラムおよびデバッグの用途に必要な機能を、また有する。DMAコントローラ13は、基本演算ブロックFB1−FBhからの転送要求を示すDMA要求信号に従って外部メモリに対するデータ転送制御を実行する。外部バスコントローラ14は、ホストCPU8またはDMAコントローラ13からの指示に従って外部システムバス3に接続されるメモリ4−6に対するアクセス制御を実行する。専用ロジック15は、たとえばIPブロックで構成され、既存の機能ブロックを用いて必要な処理機能が実現され、ホストCPU8のデータ処理を補助する。
The CPU peripheral 12 executes control operations necessary for each processing of the
基本演算ブロックFB1−FBhは、それぞれ指定された演算処理を実行する。これらの基本演算ブロックFB1−FBhは、同一構成を有するため、図1においては、基本演算ブロックFB1の構成を代表的に示す。 The basic calculation blocks FB1-FBh execute specified calculation processes, respectively. Since these basic arithmetic blocks FB1-FBh have the same configuration, FIG. 1 representatively shows the configuration of the basic arithmetic block FB1.
基本演算ブロックFB1は、実際のデータの演算処理を実行する主演算回路20と、主演算回路20における演算処理を指定するマイクロ命令を格納するマイクロ命令メモリ21と、このマイクロ命令メモリ21からのマイクロ命令に従って主演算回路20の演算処理を制御するコントローラ22とを含む。主演算回路20は、複数のメモリセルが行列状に配列されかつ複数のエントリに分割されるメモリセルマット30と、メモリセルマット30の各エントリに対応して配置され、指定された演算処理を実行する演算器(ALU)31と、演算器31間のデータ転送経路を設定するALU間相互接続用スイッチ回路32とを含む。基本的に、メモリセルマット30の各行が1エントリを構成し、1エントリに多ビットデータの各ビットが格納される。
The basic arithmetic block FB1 includes a main
演算器(以下、適宜、ALUと称す)31は、対応のエントリからのデータをビットシリアル態様で受けて演算処理を実行し、該処理結果をメモリセルマット30の指定されたエントリ(たとえば対応のエントリ)の所定位置に格納する。 An arithmetic unit (hereinafter referred to as ALU as appropriate) 31 receives data from a corresponding entry in a bit serial manner and executes arithmetic processing, and the processing result is assigned to a specified entry (for example, a corresponding one of the corresponding memory cell mats 30). Entry) at a predetermined position.
ALU間相互接続用スイッチ回路32により、ALU31の接続経路が切換えられ、異なるエントリのデータに対する演算を可能とする。
The connection path of the
コントローラ22は、マイクロ命令メモリ21に格納されるマイクロ命令に従ってマイクロプログラム方式に従った動作を実行する。このマイクロプログラム動作に必要なワークデータは、ワークデータメモリ23に格納される。
The
基本演算ブロック1は、さらに、基本演算ブロックFB1の内部と内部システムバス7との間でデータ/信号の転送を実行するシステムバスインターフェイス(I/F)24と、内部システムバス7と主演算回路20のメモリセルマット30との間でのデータ配列の変換を行なう直交変換回路40と、主演算回路20をシステムバスI/F24および直交変換回路40の一方に選択的に結合するマルチプレクサ(MUX)42を含む。
The
システムバスI/F24により、ホストCPU8またはDMAコントローラ13が、メモリセルマット30、コントローラ22内の専用のレジスタ、マイクロ命令メモリ21、およびワークデータメモリ23へアクセスすることが可能となる。
The system bus I /
直交変換回路40は、本発明に従って構成され、システムバスI/F24を介してビットパラレルかつワードシリアル態様で転送されるデータと主演算回路20からマルチプレクサ42を介して転送されるワードパラレルかつビットシリアルに転送されるデータ配列の変換を行なってデータ転送の整合性を確立する。すなわち、この直交変換回路40は、システムバスI/F24からビットパラレルかつワードシリアル態様で転送されるデータを、ワードパラレルかつビットシリアルな態様で転送し、メモリセルマット30の各エントリに、異なるデータワードの同一位置のビットを並列に書込む。また、逆に、直交変換回路40は、主演算回路20のメモリセルマット30からワードパラレルかつビットシリアル態様で転送されるデータ列を転置し、ビットパラレルかつワードシリアルな態様でシステムバスI/F24へ転送する。
The
ここで、本明細書においては、「ビットシリアル」は、1つのデータワードを構成するビットが順次転送または処理される態様を示し、「ビットパラレル」は、1つのデータワードを構成するビットが並列に転送または処理される態様を示す。また、エントリ(またはワード)パラレルは、複数のエントリ(またはワード)が並列に転送または処理される態様を示し、「エントリ(またはワード)シリアル」は、複数のエントリ(またはワード)が順次転送または処理される態様を示す。ビットシリアルかつワードパラレルなデータ列とビットパラレルかつワードシリアルなデータ列の間の変換を、「直交変換」とここでは規定する。 Here, in this specification, “bit serial” indicates a mode in which the bits constituting one data word are sequentially transferred or processed, and “bit parallel” indicates that the bits constituting one data word are parallel. Shows the mode of transfer or processing. Entry (or word) parallel indicates a mode in which a plurality of entries (or words) are transferred or processed in parallel, and “entry (or word) serial” indicates that a plurality of entries (or words) are sequentially transferred or The aspect processed is shown. Here, conversion between a bit serial and word parallel data sequence and a bit parallel and word serial data sequence is defined as “orthogonal transformation”.
この発明に従う直交変換回路40は、ビット幅が異なるデータに対しても内部システムバス7およびメモリセルマット30に対する内部メモリデータバスの全ビット幅を利用してデータの転送を行うようにデータ配列の直交変換を行う。また、データビット幅が異なる場合においても、内部システムバス7と内部メモリデータバスとの間のデータ転送シーケンスは同一である。直交変換回路40の構成および動作については、後に詳細に説明する。
The
マルチプレクサ42は、コントローラ22からのワークデータを選択して主演算回路20に転送するように構成されてもよい。また、演算対象データ列を直交変換により転置する必要がない場合には、このマルチプレクサ42は、システムバスI/F24を選択して主演算回路20に接続する。
The
図1に示すシステムLSI2においては、直交変換回路40が、基本演算ブロックFB1−FBhそれぞれに設けられるように示す。これは、基本演算ブロックFB1−FBhそれぞれにおいて個々にその演算処理内容が、マイクロ命令メモリ21に設定されるマイクロ命令プログラムにより設定されるためである。しかしながら、これらの基本演算ブロックFB1−FBhに対し、直交変換回路40が共通に設けられてもよい。
In the
この信号処理システム全体の処理動作ならびに主演算回路20の構成および処理動作については、前述の特許文献1においても開示されているものの、以下において、この発明に従う直交変換回路の動作および作用効果を十分に理解するために、以下に、主演算回路20の構成および動作について簡単に説明する。
Although the processing operation of the entire signal processing system and the configuration and processing operation of the main
図2は、図1に示す主演算回路20のメモリセルマット30および演算器(ALU)31の配置を概略的に示す図である。メモリセルマット30においては、メモリセルMCが行列状に配列され、また、行方向(X方向)に沿ってM個のエントリERYに分割される。エントリERYは、Nビットのビット幅を有する。メモリセルマット30においては、M個のエントリERYに共通にワード線WLが配設され、1つのエントリERYに対してビット線対BLPが配置される。ビット線対BLPのビット線BLおよび/BLが、データ転送線として利用される。
FIG. 2 schematically shows an arrangement of
演算器(ALU)31は、エントリERYそれぞれに対応して設けられ、演算処理ユニット35を構成する。演算器31は、加算、論理積、一致検出(EXOR)、および反転(NOT)などの演算を実行することができる。各エントリERYと対応の演算器31との間でデータのロードおよびストアをビット単位で行なって演算処理を実行する。この演算器31の演算内容は、図1に示すコントローラ22により設定される。
An arithmetic unit (ALU) 31 is provided corresponding to each entry ERY and constitutes an
エントリERYには、それぞれ演算処理対象のデータが格納され、演算器31は、ビットシリアル態様で演算処理を実行する。演算器31で構成される演算処理ユニット35においては、したがって、ビットシリアルかつエントリパラレルな態様でデータの演算処理が実行される。
Each entry ERY stores data to be subjected to arithmetic processing, and the
演算処理ユニット35においてビットシリアル態様で演算処理を実行することにより、以下の効果が得られる。演算対象のデータのビット幅が用途に応じて異なる場合においても、単に演算サイクル数がデータワードのビット幅に応じて変更されるだけである。その演算処理内容は変更されず、語構成の異なるデータ処理に対しても容易に対応することができる。
By executing the arithmetic processing in the bit serial manner in the
また、複数のエントリERYのデータを演算処理ユニット35において並行して処理することができる。したがって、エントリ数Mを大きくすることにより、大量のデータを一括して演算処理することができる。一例として、エントリ数Mは、1024であり、1エントリERYのビット幅Nは、512ビットである。
In addition, data of a plurality of entries ERY can be processed in parallel in the
メモリセルMCは、SRAMセルで構成され、高速アクセスを行なってデータの転送を行なうことができる。また、データの定期的なリフレッシュは不要であり、メモリセルマット30のデータに対する演算処理の制御を簡略化することができる。
Memory cell MC is formed of an SRAM cell and can transfer data by performing high-speed access. Further, it is not necessary to periodically refresh the data, and the control of the arithmetic processing for the data in the
主演算回路20において演算を行なう場合には、まず、エントリERYそれぞれに演算対象データが格納される。次いで、すべてのエントリERYについて、格納されたデータのある桁のビットを並列に読出して対応の演算器31へ転送する(ロードする)。すなわち、あるビット位置のワード線WLを選択状態へ駆動することにより、選択ワード線に接続されるメモリセルMCのデータが対応のビット線対BLP上に読出され、この読出されたデータが、各ビット線対を介して対応の演算器31へ転送される。
When the main
なお、メモリセルマット30と演算器31の間には、メモリセルデータの読出を行うセンスアンプおよびメモリセルへのデータの書込を行うライトドライバが設けられるが、図2においては、図面を簡略化するため、示していない。
Note that a sense amplifier that reads memory cell data and a write driver that writes data to the memory cell are provided between the
二項演算を行なう場合には、エントリERYそれぞれにおいて、二項演算の組のデータが格納される。各エントリERYにおいて、1つのデータワードのビットが演算器に転送された後、別のデータワードのビットが、対応の演算器に転送される。この後、演算処理ユニット35において演算器31各々が転送されたデータビットについて二項演算を行ない、その演算処理結果が、演算器31から対応のエントリERY内の所定領域に再書込(ストア)される。
When performing a binary operation, data of a set of binary operations is stored in each entry ERY. In each entry ERY, after the bits of one data word are transferred to the calculator, the bits of another data word are transferred to the corresponding calculator. Thereafter, the
メモリセルマット30に対しては、ビット線BLおよび/BL方向から、演算対象のデータの書込/読出が行われる。この書込/読出データは、直交変換回路40との間で転送される。直交変換回路40が転送するデータは、メモリセルマット30において共通のワード線に接続されるメモリセルに格納される。メモリセルマット30においては、各エントリERYには、異なる外部データが格納される。このため、直交変換回路40において、外部のメモリ(たとえば大容量メモリ(SDRAM4)との間でのデータ転送時、データ配列を直交変換する必要がある。
For
図3は、図1に示す直交変換回路40におけるデータ配列の変換操作を通したデータの流れを概略的に示す図である。図3においては、4ビットデータが外部の大容量メモリ(SDRAM)4から転送され、直交変換回路40から4ビットデータが主演算回路20内のメモリセルマット30へ転送される場合の動作が一例として示される。
FIG. 3 is a diagram schematically showing the flow of data through the data array conversion operation in the
SDRAM4において、4ビットデータA(ビットa0−a3)ないしI(ビットi3−i0)が格納される。このSDRAM4から内部システムバス(7)を介して4ビットデータDTE(データI:ビットi3−i0)の各ビットが並列に転送される。このSDRAM4からのデータDTEは、メモリセルマット30の同一エントリERYに格納されるエントリ単位のデータである。直交変換回路40において、この転送された4ビットデータの各ビットがY方向に整列して格納される。直交変換回路40のメモリ内においてX方向に順次SDRAM4からの転送データが格納される。図3においては、直交変換回路40のメモリ内に、4ビットデータE(ビットe3−e0)、F(ビットf3−f0)、G(ビットg3−g0)、およびH(ビットh3−h0)が格納された状態を一例として示す。
In the
直交変換回路40からメモリセルマット30へのデータ転送時においては、内部のメモリにおいてX方向に整列するビットが並列に読出され、Y方向に沿って順次選択ビット位置を更新してデータ転送が実行される。したがって、ビットe1、f1、g1およびh1で構成されるデータDTAが、メモリセルマット30の4エントリに並行して転送されて格納される。このアドレス単位のデータDTAは、メモリセルマット30において1アドレスの指定時に格納されるデータであり、メモリセルマット30のエントリ位置情報(ビット線アドレス)および書込ビット位置情報(ワード線アドレス)が示す位置に格納される。この操作を順次繰返し、全転送データについて実行することにより、メモリセルマット30において複数のエントリ(たとえば4エントリ単位)に複数のデータビットが並列に書込まれ、アドレス指定されたエントリ(ERY)においては、それぞれ、エントリ単位のデータDTE、たとえばデータA(ビットa0−a3)が格納される。
When data is transferred from the
メモリセルマット30から内部システムバス(7)を介して外部へ転送する場合には、この逆の方向にデータが流れる。すなわち、アドレス単位のデータDTAが直交変換回路40内のメモリに順次Y方向に沿って格納される。次いで、この直交変換回路40のメモリからX方向に整列するエントリ単位のデータDTEが読出され、システムバスI/F(24)を介して転送される。ここで、エントリ単位のデータDTEは、1つのエントリに格納されるデータである。すなわち、メモリセルマット30からシステムバスを介してSDRAM4へデータを転送する場合には、この図3に示すデータの流れが反対となるだけであり、同様の変換操作が直交変換回路40において実行される。
When data is transferred from the
上述のように、基本的に、SDRAM4と直交変換回路40との間では、ビットパラレルかつワードシリアルにデータが転送され、直交変換回路40とメモリセルマット30との間では、ビットシリアルかつワードパラレルにデータが転送される。
As described above, basically, data is transferred between the
SDRAM4が転送するデータは、4ビットの限定されない。用途に応じて、8ビットデータ、16ビットデータ、32ビットデータおよび64ビットデータ等種々のビット幅のデータを転送することが要求される。このような複数種類のビット幅のデータを処理する場合においても、データの転送効率を低下させること無く、データを転送することが要求され、また、直交変換回路のサイズの増大も抑制することが要求される。本発明は、以下に詳細に説明するように、このような要求を満たす直交変換回路を提供する。
Data transferred by the
図4は、この発明の実施の形態1に従う直交変換回路40の構成を概略的に示す図である。図4において、直交変換回路40は、4つの2ポート直交変換メモリTM0−TM3を含む。これらの2ポート直交変換メモリTM0−TM3は、それぞれ第1および第2のポート各々が、32ビット×32ワードの構成を有する。2ポート直交変換メモリTM0−TM3の第1のポートが、32ビットデータバス(第1のデータバス)50に共通に結合され、またこれらの2ポート直交変換メモリTM0−TM3の第2のポートが、共通に64ビットデータバス(第2のデータバス)55に結合される。
FIG. 4 schematically shows a configuration of
直交変換回路40は、さらに、32ビットデータバス50とシステムバスI/F24との間で64ビット幅のデータの転送を行なうとともにその転送制御を行なうシステムバス側制御部60と、64ビットデータバス55と主演算回路I/F66の間でデータの転送を行なうとともにデータの転送を制御する主演算回路側制御部65を含む。主演算回路I/F66は、64ビットの内部メモリデータバスを介して主演算回路20に結合される。
The
この主演算回路側制御部65は、データ転送時にデータビットの配列を調整するための64ビットバッファ68を含む。この64ビットバッファ68は、64ビットのデータを格納して転送することができればよく、64ビットのレジスタで構成されてもよく、64ビットのメモリで構成されてもよい。主演算回路との間で双方向でデータを転送するために、この64ビットバッファ68は、双方向にデータを転送することができればよい。
The main arithmetic circuit
図4においては、図1に示す構成と同様、直交変換回路40が各基本演算ブロックFBi(i=1からh)に設けられる構成を示す。直交変換回路40が基本演算ブロックFB1−FBhに共通に設けられる場合には、主演算回路I/Fに代えて基本演算ブロックI/Fが設けられる。
4 shows a configuration in which an
システムバス側制御部60とシステムバスI/F24の間では、64ビットのデータが転送される。システムバス側制御部60は、この64ビット幅のデータを32ビット幅のデータに変換して内部データバス50に転送し、また、内部データバス50からの32ビット幅のデータを64ビット幅のデータに変換してシステムバスI/F24へ転送する。
64-bit data is transferred between the system
主演算回路側制御部65と主演算回路I/F66との間では64ビット幅のデータが転送される。主演算回路I/F66は、図4においては64ビット幅の内部メモリデータバスを介して主演算回路との間でデータを転送するように示す。しかしながら、この内部メモリデータバスは64ビット幅でなくてもよい。この場合には、主演算回路I/F66がバス幅変換機能により、バス幅調整を行う。
64-bit width data is transferred between the main arithmetic
一例として、4面の2ポート直交変換メモリTM0−TM3を、2つのグループに分け、32ビット単位でデータのアクセスを実行する。システムバス側制御部60において、この64ビット/32ビットのデータ配列の変換およびアドレス生成を実行する。システムバスを介して転送されるデータのビット幅にかかわらず、この直交変換回路40において、2ポート直交変換メモリTM0−TM3のバス接続を切換え、バス構成を変更することなく、全データバス幅を利用しかつ全メモリ領域を利用してデータのアクセスを実行することができる。以下の説明においては、外部データ(SDRAMが転送するデータ)の最小ビット幅が8ビットであり、最大ビット幅が64ビットの場合について説明する。
As an example, four-port 2-port orthogonal transformation memories TM0 to TM3 are divided into two groups, and data access is executed in units of 32 bits. The system bus
図5は、図4に示す2ポート直交変換メモリTM0−TM3の構成を概略的に示す図である。これらの2ポート直交変換メモリTM0−TM3は、同一構成を有するため、図5においては、2ポート直交変換メモリTMを、これらの2ポート直交変換メモリTM0−TM3の代表として示す。 FIG. 5 schematically shows a structure of 2-port orthogonal transformation memories TM0 to TM3 shown in FIG. Since these two-port orthogonal transformation memories TM0 to TM3 have the same configuration, FIG. 5 shows the two-port orthogonal transformation memories TM as representatives of these two-port orthogonal transformation memories TM0 to TM3.
図5において、2ポート直交変換メモリTMは、メモリセルMCが行列状に配列されるメモリセルアレイ70を含む。メモリセルアレイ70において、X方向に整列するメモリセルMCに対応して、ワード線AWLおよびビット線対EBLPが配列され、Y方向に整列するメモリセルに対応してワード線EWLおよびビット線対ABLPが配設される。このワード線AWLに、主演算回路内のメモリセルマットのアドレス単位のデータDTAを記憶するメモリセルが接続され、ワード線EWLに、主演算回路のメモリセルマットのエントリ単位のデータDTEを記憶するメモリセルが接続される。ワード線EWLの選択時、ビット線対EBLPに対応のメモリセルの記憶データが読出される。同様、ワード線AWLの選択時、ビット線対ABLPに対応のメモリセルの記憶データが読出される。
In FIG. 5, the 2-port orthogonal transformation memory TM includes a
2ポート直交変換メモリTMは、さらに、システムバス側書込/読出回路72と、システムバス側セル選択回路74と、主演算回路側書込/読出回路76と、主演算回路側セル選択回路78を含む。システムバス側書込/読出回路72は、X方向に順次アクセスして、Y方向に整列するメモリセルに対するデータアクセスを実行する。システムバス側セル選択回路74は、システムバス側制御部(60)から与えられる選択信号SSEL、データ入出力指示信号SDIOEおよびアドレス信号SADDに従ってメモリセルアレイ70からメモリセルを選択する。
The 2-port orthogonal transformation memory TM further includes a system bus side write /
システムバス側書込/読出回路72に対しては、システムバス側制御部(60)からデータ読出を活性化するリードイネーブル信号SRE、データ書込を活性化するライトイネーブル信号SWEおよびビットライトマスク制御信号SDMが与えられる。ビットライトマスク制御信号SDMにより、システムバス側書込/読出回路72は、16ビット単位でデータのアクセスにマスクがかけられる。
For system bus side write /
主演算回路側書込/読出回路76は、主演算回路側制御部(65)から与えられるリードイネーブル信号MREおよびライトイネーブル信号MWEに従って、メモリセルアレイ70のX方向に整列するメモリセルに対し、並行してアクセスする。主演算回路側セル選択回路78は、主演算回路側制御部(65)から与えられる選択信号MSEL、データ入出力制御信号MDIO、アドレス信号MADDおよびデータマスク信号MDMに従ってメモリセルアレイ70のメモリセルを選択する。データマスク信号MDMは、ビットライトマスク制御信号SDMと同様、データの書込/読出に対してたとえば16ビット単位でマスクをかける。
The main arithmetic circuit side write /
システムバス側制御部60は、システム側からの転送されるアドレス信号および制御信号に従って、アドレス信号および各制御信号を生成し、主演算回路側制御部65は、主演算回路内のコントローラからの転送指示、アドレス信号および制御信号に従ってアドレス信号および各制御信号を生成する。これらのアドレス信号および制御信号の生成態様については後に詳細に説明する。
The system bus
システム側セル選択回路74、システムバス側書込/読出回路72、ワード線EWLおよびビット線対EBLPにより第1のポートが構成され、主演算回路側セル選択回路78、主演算回路側書込/読出回路76、ワード線AWLおよびビット線対ABLPにより第2のポートが構成される。
System side
この2ポート直交変換メモリTMにおいて、システムバス側書込/読出回路72により、データHDQとして、Y方向に整列するエントリ単位のデータDTEが転送され、主演算回路側書込/読出回路76により、データVDQとして、X方向に整列するアドレス単位のデータDTAが転送される。この直交変換回路の構成は、実質的に2ポートSRAMと同様である。
In this 2-port orthogonal transformation memory TM, the system bus side write /
図6は、図5に示すメモリセルMCの構成の一例を示す図である。図6において、メモリセルMCは、交差結合されるPチャネルMOSトランジスタ(絶縁ゲート型電界効果トランジスタ)PQ1およびPQ2と、交差結合されるNチャネルMOSトランジスタNQ1およびNQ2を含む。MOSトランジスタPQ1およびPQ2は、記憶ノードSN1およびSN2のハイ側のノードを電源電圧レベルにプルアップし保持する。MOSトランジスタNQ1およびNQ2は、記憶ノードSN1およびSN2のロー側のノードを接地電圧レベルに駆動しかつ保持する。これらのMOSトランジスタPQ1およびPQ2、NQ1およびNQ2は、インバータラッチを構成する。したがって、記憶ノードSN1およびSN2には、互いに相補なデータが保持される。 FIG. 6 is a diagram showing an example of the configuration of the memory cell MC shown in FIG. 6, memory cell MC includes cross-coupled P-channel MOS transistors (insulated gate field effect transistors) PQ1 and PQ2, and cross-coupled N-channel MOS transistors NQ1 and NQ2. MOS transistors PQ1 and PQ2 pull up and hold the high-side node of storage nodes SN1 and SN2 to the power supply voltage level. MOS transistors NQ1 and NQ2 drive and hold the low-side nodes of storage nodes SN1 and SN2 to the ground voltage level. These MOS transistors PQ1 and PQ2, NQ1 and NQ2 constitute an inverter latch. Therefore, storage nodes SN1 and SN2 hold complementary data.
メモリセルMCは、さらに、エントリ単位のデータアクセス用のポート(第1のポート)を構成するNチャネルMOSトランジスタNQB1およびNQB2と、アドレス単位のデータをアクセスするポート(第2のポート)を構成するNチャネルMOSトランジスタNQA1およびNQA2を含む。MOSトランジスタNQA1およびNQA2は、それぞれ、ワード線AWL上の信号電位に従って、選択的に記憶ノードSN1およびSN2を、それぞれ、ビット線ABLおよび/ABLに電気的に結合する。MOSトランジスタNQB1およびNQB2は、ワード線EWL上の信号電位に従って選択的に記憶ノードSN1およびSN2を、それぞれ、ビット線EBLおよび/EBLに電気的に結合する。ビット線ABLおよび/ABLが、ビット線対ABLPを構成し、ビット線EBLおよび/EBLが、ビット線対EBLPを構成する。 Memory cell MC further configures N channel MOS transistors NQB1 and NQB2 constituting a data access port (first port) in entry units and a port (second port) for accessing data in address units. N channel MOS transistors NQA1 and NQA2 are included. MOS transistors NQA1 and NQA2 selectively electrically couple storage nodes SN1 and SN2 to bit lines ABL and / ABL, respectively, according to the signal potential on word line AWL. MOS transistors NQB1 and NQB2 selectively electrically couple storage nodes SN1 and SN2 to bit lines EBL and / EBL, respectively, according to the signal potential on word line EWL. Bit lines ABL and / ABL constitute a bit line pair ABLP, and bit lines EBL and / EBL constitute a bit line pair EBLP.
この図6に示すように、メモリセルMCは、別々のポートから記憶ノードSNおよび/SNへアクセスすることのできる2ポートメモリセルであり、ビット線対ABLPおよびEBLPが直交している。したがって、このワード線EWL方向に整列するメモリセルが記憶するデータ配列と、ワード線AWL方向に整列して配置されるメモリセルが記憶するデータ配列とは、直交変換の関係にある。 As shown in FIG. 6, memory cell MC is a two-port memory cell that can access storage nodes SN and / SN from different ports, and bit line pairs ABLP and EBLP are orthogonal to each other. Therefore, the data array stored in the memory cells aligned in the word line EWL direction and the data array stored in the memory cells aligned in the word line AWL direction are in an orthogonal transformation relationship.
図7は、図4に示す2ポート直交変換メモリTM0−TM3とシステムバスとの間でのデータ転送時のアドレス配列を概略的に示す図である。図7において、この2ポート直交変換メモリTM0−TM3は、X方向に沿ってアドレス0−31が割当てられる。
FIG. 7 schematically shows an address arrangement at the time of data transfer between 2-port orthogonal transformation memories TM0 to TM3 shown in FIG. 4 and the system bus. In FIG. 7, the 2-port orthogonal transformation memories TM0 to TM3 are assigned
Y方向に沿っては、8ビット単位で4つのメモリブロックBKa−BKdに分割される。2つのメモリブロック、すなわち16ビットデータに対し、書込をマスクするマスク信号が与えられる。すなわち、2ポート直交変換メモリTMi(i=0−3)において、マスク指示DMi0およびDMi1が与えられる。マスク指示DMi0が有効状態であり書込マスクを示すときには、対応のブロックBKaおよびBKbに対するデータ書込が停止される。マスク指示DMi1が有効状態のときには、メモリブロックブロックBKcおよびBKdに対するデータ書込が停止される。 Along the Y direction, the memory block is divided into four memory blocks BKa-BKd in units of 8 bits. A mask signal for masking writing is applied to two memory blocks, that is, 16-bit data. That is, mask instructions DMi0 and DMi1 are given in the 2-port orthogonal transformation memory TMi (i = 0-3). When mask instruction DMi0 is in a valid state and indicates a write mask, data writing to corresponding blocks BKa and BKb is stopped. When mask instruction DMi1 is valid, data writing to memory block blocks BKc and BKd is stopped.
マスク指示信号DMi0およびDMi1両者を有効状態に設定した場合には、対応の2ポート直交変換メモリTMiに対するデータ書込は停止されるが、この場合には、むしろ、対応の直交変換メモリに対するライトイネーブル信号WEが非活性状態に設定される。これらのマスク信号DMij(i=0−3、j=0,1)は、データの直交変換メモリへの書込時のビットライト制御信号SDMに従って生成される。 When both mask instruction signals DMi0 and DMi1 are set to the valid state, data writing to the corresponding 2-port orthogonal transformation memory TMi is stopped. In this case, however, the write enable to the corresponding orthogonal transformation memory is rather performed. Signal WE is set to an inactive state. These mask signals DMij (i = 0-3, j = 0, 1) are generated according to the bit write control signal SDM at the time of writing data to the orthogonal transformation memory.
システムバス側制御部60は、これらの2ポート直交変換メモリTM0−TM3に対して個々に制御信号を生成する。
The system
なお、データ書込/読出に対してマスクをかける構成は、データの書込回路(ライトでドライバ)または読出回路(プリアンプ)をディスエーブル状態または出力ハイインピーダンス状態に設定する構成が利用されればよく、一般に知られたマスク回路を利用することができる。 The configuration for masking data writing / reading is such that a configuration for setting the data write circuit (driver with write) or the read circuit (preamplifier) to the disabled state or the output high impedance state is used. Well-known mask circuits can be used.
図8は、SDRAM4から直交変換回路40へのデータ転送時のデータ転送シーケンスを模式的に示す図である。今、SDRAM4において、8ビットデータが格納されており、64ビットの内部システムバス7を介して8個のデータ単位でデータが転送される場合を考える。この場合、図8において2ポート直交変換メモリTM0−TM3において数字で示す番号順に従ってデータが格納される。2ポート直交変換メモリTM0−TM3は、各々32ワード×32ビットの構成を有し、32ビット幅のデータの書込/読出が可能である。内部のデータバス50は32ビットデータバスである。システムバス側制御部60において、データバス幅変換を行なう。
FIG. 8 is a diagram schematically showing a data transfer sequence at the time of data transfer from the
データを直交変換メモリTM0−TM3に書込む場合に、2ポート直交変換メモリTM0およびTM1に対し、並行して16ビットデータが書込まれ、次いで、2ポート直交変換メモリTM2およびTM3に対して16ビットデータの書込が実行される。したがって、この直交変換メモリTM0およびTM1と直交変換メモリTM2およびTM3とに対し、交互に32ビットデータが書込まれる。直交変換メモリTM0−TM3各々において、全アドレス(0−31)にわたって前半の16ビットデータ領域に対してデータの書込が行われ、ついで、全アドレスにわたって後半の16ビットデータ領域にデータの書込が行われる。 When data is written to the orthogonal transformation memories TM0 to TM3, 16-bit data is written in parallel to the two-port orthogonal transformation memories TM0 and TM1, and then to the two-port orthogonal transformation memories TM2 and TM3. Bit data is written. Therefore, 32-bit data is alternately written into orthogonal transformation memories TM0 and TM1 and orthogonal transformation memories TM2 and TM3. In each of the orthogonal transformation memories TM0 to TM3, data is written into the first 16-bit data area over all addresses (0-31), and then data is written into the latter 16-bit data area over all addresses. Is done.
2ポート直交変換メモリTM0−TM3に対しては、共通に書込制御信号およびアドレス信号が与えられる。直交メモリTM0−TM3の選択が、ライトイネーブル信号WE(SWE)により行われる。選択直交変換メモリにおいて、メモリブロックの選択/非選択が、上述のマスク指示信号DM(ビットライト制御信号SDM)により設定され、直交変換メモリTM0−TM3に各々に対して16ビットのデータの書込が実行される。 A write control signal and an address signal are commonly applied to the 2-port orthogonal transformation memories TM0 to TM3. Selection of the orthogonal memories TM0 to TM3 is performed by a write enable signal WE (SWE). In the selected orthogonal transformation memory, the selection / non-selection of the memory block is set by the above-described mask instruction signal DM (bit write control signal SDM), and writing of 16-bit data to each of the orthogonal transformation memories TM0 to TM3. Is executed.
これらの2ポート直交変換メモリTM0−TM3において、同じアドレスの同じビット位置に、SDRAM4から1回に転送される64ビットデータが分散して格納される。
In these 2-port orthogonal transformation memories TM0 to TM3, 64-bit data transferred from the
図9は、図8に示す2ポート直交変換メモリに対する8ビットデータの書込シーケンスを示すタイミング図である。以下、図9を参照して、この図8に示す2ポート直交変換メモリTM0−TM3に対するデータの書込シーケンスについて説明する。 FIG. 9 is a timing chart showing a write sequence of 8-bit data to the 2-port orthogonal transformation memory shown in FIG. The data write sequence for the 2-port orthogonal transform memories TM0 to TM3 shown in FIG. 8 will be described below with reference to FIG.
SDRAM4は、システムクロック信号SCLKに同期して内部システムバス7を介して64ビットデータを転送する。直交変換回路内においては転送クロック信号TCLKに従ってデータの書込が実行される。
The
SDRAM4から一度にシステムバス7を介して転送されるデータは、8個の8ビットデータを含んでおり、第1回目のデータ転送時、データ0−7が転送され、アドレス0が指定される。このとき、直交変換回路においては、2ポート直交変換メモリTM0およびTM1がライトイネーブル信号によりイネーブルされ、直交変換メモリTM0にデータ0および1が格納され、直交変換メモリTM1に、データ2および3が格納される。このとき、直交変換メモリTM2およびTM3は、ライトイネーブル信号WE(WE2、WE3)に従ってディスエーブル状態であり、データの書込は禁止される。
Data transferred from the
次いで、直交変換回路内の転送クロック信号TCLKの次のサイクルにおいては、直交変換メモリTM0およびTM1がディスエーブルされ、直交変換メモリTM2およびTM3がイネーブルされる。このとき、アドレスは、0である。したがって、直交変換メモリTM2およびTM3のアドレス0の位置に、データ4および5ならびにデータ6および7がそれぞれ格納される。
Next, in the next cycle of the transfer clock signal TCLK in the orthogonal transform circuit, the orthogonal transform memories TM0 and TM1 are disabled, and the orthogonal transform memories TM2 and TM3 are enabled. At this time, the address is 0. Therefore,
次いで、次のサイクルにおいて、システムクロック信号SCLKに同期してデータ8−15がシステムバス7を介してSDRAM4から転送される。このときのアドレスは1である。この場合も、先のサイクルと同様、転送クロック信号TCLKに同期してライトイネーブル信号に従って、直交変換メモリTM0およびTM1がイネーブルされ、データ8および9が直交変換メモリTM0に格納され、データ10および11が、直交変換メモリTM1に格納される。このとき、直交変換メモリTM2およびTM3は、それぞれのライトイネーブル信号に従ってディスエーブル状態である。
Next, in the next cycle, data 8-15 is transferred from
次いで、転送クロック信号TCLKが立上がると、直交変換メモリTM0およびTM1がディスエーブルされて、書込禁止状態に設定される。一方、直交変換メモリTM2およびTM3が書込を許可され、データ12および13が、直交変換メモリTM2に格納され、データ14および15が、直交変換メモリTM3のアドレス1に格納される。
Next, when the transfer clock signal TCLK rises, the orthogonal transformation memories TM0 and TM1 are disabled and set in a write-inhibited state. On the other hand, writing is permitted to orthogonal transformation memories TM2 and TM3,
次のサイクルが始まると、システムクロック信号SCLKに従って次の8個のデータとともにアドレス2が与えられる。転送クロック信号TCLKに従って、直交変換メモリTM0にデータ16および17が格納され、直交変換メモリTM1にデータ18および19が格納される。次いで、次の転送クロック信号TCLKの立上がりに従って、直交変換メモリTM0およびTM1が書込禁止状態に設定され、一方、直交変換メモリTM2およびTM3が書込許可状態に設定される。これらの直交変換メモリTM2およびTM3のアドレスの位置に、データ20、21ならびにデータ22および23がそれぞれ格納される。
When the next cycle starts,
この図9に示すタイミング図において、システムバス7を介して64ビットデータが転送され、システムバス側制御部60においてデータのビット幅を変更して、システムバス7を介して転送される64ビットデータの転送サイクルの2倍の周期で、転送クロック信号TCLKに従ってデータの交互書込を実行している。
In the timing chart shown in FIG. 9, 64-bit data is transferred via the
仮にSDRAM4が×8構成であり、SDRAM4おいてバス幅変換回路が設けられており、バーストモードで転送される8ビットデータが64ビットデータに変換されて内部システムバス7を介して転送される場合、データ転送サイクルは、SDRAM4の8ビットデータ読出サイクルの4倍のサイクル長を有する。したがって、この場合には、SDRAM4の動作サイクル(システムクロック信号SCLKにより規定されるサイクル)の8サイクルに1回データが転送されるだけであり、十分余裕を持って直交変換回路内においてデータ転送サイクルの1/2倍のサイクルで直交変換メモリに対してデータ転送を行なうことができる。
Temporarily, the
また、SDRAM4が、データ転送時には、64ビットデータを入出力する構成とされる場合には、この直交変換回路40内における転送クロック信号TCLKは、システムクロック信号(SDRAM4の転送サイクルを規定するクロック信号)SCLKの1/2倍のサイクルを有する。この場合、SDRAM4は、シングル・データ・レートモード(SDRモード)でデータを転送する。直交変換メモリTM0−TM3は、SRAMで構成されており、SDRAM4よりも高速のメモリである。従って、SDRAMのデータ転送の2倍の速度で十分にデータの書込を行なうことができ、システムバス7と内部データバス50との間の転送クロックサイクルの差は、十分に吸収することができる。
When the
SDRAM4がシステムクロック信号SCLKの立上りおよび立下りに同期してデータを転送するダブル・データ・レートモード(DDRモード)で動作する場合には、直交変換回路40内において直交変換メモリTM0−TM3に対して、同様ダブル・データ・レートモードで転送クロック信号TCLKに同期してデータの書込を実行する。
When the
なお、図9においては、システムクロック信号SCLKの立上りに同期して、シングル・データ・レートモードでデータが転送されている。しかしながら、システムクロック信号SCLKの立下りに同期してデータがシステムバスを介して転送されてもよい。 In FIG. 9, data is transferred in the single data rate mode in synchronization with the rise of system clock signal SCLK. However, data may be transferred via the system bus in synchronization with the fall of the system clock signal SCLK.
図10は、8ビットデータの2ポート直交変換メモリTM0−TM3への書込シーケンスを示す図である。図10においては、システムバスを介して第1サイクルから第32サイクルに転送されるデータ0−255の格納位置を示す。 FIG. 10 shows a write sequence of 8-bit data to 2-port orthogonal transformation memories TM0 to TM3. FIG. 10 shows the storage position of data 0-255 transferred from the first cycle to the 32nd cycle via the system bus.
図10において、2ポート直交変換メモリTM0−TM3において、メモリブロックBKaおよびBKbの領域のアドレス0から31に転送データが格納される。メモリブロックBKcおよびBKdについては、書込マスクがかけられる。この場合、メモリブロックBKcおよびBKdに対して、データの書込が実行されてもよい。メモリブロックBKcおよびBKdに書込まれたデータは、次の第33サイクルから第64サイクルに転送されるデータにより書換えられるため、問題は生じない(この場合、メモリブロックBKaおよびBKbに対しては、マスクがかけられる)。
In FIG. 10, in the 2-port orthogonal transformation memories TM0 to TM3, transfer data is stored at
図11は、直交変換メモリTM0−TM3への第33サイクルから第64サイクルにわたってシステムバスを介して転送されるデータの格納位置を示す図である。この図11に示すように、2ポート直交変換メモリTM0−TM3において、メモリブロックBKcおよびBKdに、アドレス0から31にわたって順次データが格納される。この場合、各2ポート直交変換メモリTM0−TM3は、ライトイネーブル信号SWE(WE0−WE3)に従って書込がイネーブルされるため、メモリブロックBKaおよびBKbに対し、データマスク信号DM(SDM)に従って書込が禁止される。これにより、先の第1サイクルから第32サイクルにわたって転送されたデータは、確実に保持される。
FIG. 11 is a diagram showing a storage position of data transferred to the orthogonal transformation memories TM0 to TM3 through the system bus from the 33rd cycle to the 64th cycle. As shown in FIG. 11, in the 2-port orthogonal transformation memories TM0 to TM3, data are sequentially stored in the memory blocks BKc and BKd from
従って、SDRAM4から64サイクルにわたって転送された64システムアドレスの64ビットデータが、直交変換回路において、各々31アドレスの直交変換メモリTM0−TM3に分散して格納され、等価的に、直交変換メモリTM0−TM3が全体として、、システム側から64ビット幅の64アドレスのメモリとしてアクセスされる。
Accordingly, 64-bit data of 64 system addresses transferred from the
図12は、16ビットデータ転送時の直交変換メモリTM0−TM3へのデータ書込シーケンスを示すタイミング図である。この図12に示すように、16ビットデータを転送する16ビットモード時においては、64ビット幅の内部システムバスを介して1回に4個の16ビットデータが格納される。転送クロック信号TCLKの第1転送サイクルにおいては、直交変換メモリTM0に対してデータ0、1が格納され、次の転送サイクルにおいて直交変換メモリTM1に対してデータ2、3が格納される。このシステムサイクルにおいては、直交変換メモリTM2およびTM3は、ディスエーブル状態である。
FIG. 12 is a timing chart showing a data writing sequence to orthogonal transformation memories TM0 to TM3 at the time of 16-bit data transfer. As shown in FIG. 12, in the 16-bit mode in which 16-bit data is transferred, four 16-bit data are stored at a time via the 64-bit internal system bus. In the first transfer cycle of the transfer clock signal TCLK,
次のシステムのサイクルにおいては、データ4−7がアドレス1とともに転送される。このサイクルにおいては、直交変換メモリTM0およびTM1はディスエーブル状態であり、直交変換メモリTM2およびTM3のアドレス1に対してデータ4、5および6、7が、それぞれ格納される。
In the next system cycle, data 4-7 is transferred along with
次のシステムサイクルにおいて転送されるアドレス2のデータ8−11については、直交変換メモリTM0およびTM1のアドレス2の位置に対して書込が行われる。このサイクルにおいては、直交変換メモリTM2およびTM3はディスエーブル状態である。
Data 8-11 at
すなわち、転送データが16ビットデータの場合、直交変換メモリTM0およびTM1の組および直交変換メモリTM2およびTM3の組をシステムサイクルごとに交互にイネーブルしてデータの書込を行う。 That is, when the transfer data is 16-bit data, the set of orthogonal transform memories TM0 and TM1 and the set of orthogonal transform memories TM2 and TM3 are alternately enabled for each system cycle to write data.
この16ビットモード時のデータ格納状態は、図11において斜線で示す領域を32ビット領域とみなすことにより得られるため、その図は省略する。 Since the data storage state in the 16-bit mode is obtained by regarding the area shown by hatching in FIG. 11 as a 32-bit area, that figure is omitted.
16ビットモードにおいて、直交変換メモリTM0およびTM1と直交変換メモリTM2およびTM3を交互にアクセスすることにより、たとえばパリティを除く12ビットデータが転送される場合でも、データを整列させて各アドレスごとに12ビットデータを格納することができる。 In the 16-bit mode, by alternately accessing the orthogonal transform memories TM0 and TM1 and the orthogonal transform memories TM2 and TM3, for example, even when 12-bit data excluding parity is transferred, the data is aligned and 12 for each address. Bit data can be stored.
図13は、32ビットデータ転送時の直交変換メモリTM0−TM3への格納データの配列を概略的に示す図である。図13において、32ビットデータの格納時においては、データ0−63が、2ポート直交変換メモリTM0およびTM1に交互に格納される。この場合、2ポート直交変換メモリTM2およびTM3は、書込禁止状態に維持される(ライトイネーブル信号が非活性状態)。データ64−127が、2ポート直交変換メモリTM2およびTM3に交互に格納される。 FIG. 13 schematically shows an arrangement of data stored in orthogonal transform memories TM0 to TM3 when transferring 32-bit data. In FIG. 13, when storing 32-bit data, data 0-63 are alternately stored in the 2-port orthogonal transformation memories TM0 and TM1. In this case, the two-port orthogonal transformation memories TM2 and TM3 are maintained in the write prohibited state (the write enable signal is inactive). Data 64-127 are alternately stored in the 2-port orthogonal transformation memories TM2 and TM3.
図14は、32ビットデータ転送時の直交変換メモリTM0−TM3への書込シーケンスを示すタイミング図である。図14において、システム側からアドレス0とともに32ビットデータ0および1が転送される。転送クロック信号TCLKに同期して直交変換メモリTM0およびTM1が順次イネーブルされ、これらのデータ0および1が、直交変換メモリTM0およびTM1のアドレス0に格納される。このとき、直交変換メモリTM2およびTM3はディスエーブル状態である。
FIG. 14 is a timing chart showing a writing sequence to the orthogonal transformation memories TM0 to TM3 when transferring 32-bit data. In FIG. 14, 32-
次のシステムサイクルにおいて、アドレス1とともに32ビットデータ2および3が転送される。直交変換メモリTM0およびTM1が転送クロック信号TCLKに従って順次イネーブルされ、それぞれのアドレス1にデータ2および3が格納される。このシステムサイクルにおいても、直交変換メモリTM2およびTM3は、ディスエーブル状態である。以降この動作が32サイクル繰返され、システムから転送されるアドレスが31となると、直交変換メモリTM0およびTM1のアドレス31にデータ62、および63が格納される。
In the next system cycle, 32-
次のサイクルにおいて、システム側から転送されるアドレスが、32となると、直交変換メモリTM0およびTM1が、以後の32サイクルにおいてディスエーブル状態に維持され、直交変換メモリTM2およびTM3に対して、アドレス0から31の位置に順次転送データ64−127が交互に格納される。
In the next cycle, when the address transferred from the system side becomes 32, the orthogonal transformation memories TM0 and TM1 are maintained in a disabled state in the subsequent 32 cycles, and the
64ビットデータの格納時には、32ビットデータを転送する32ビットモード時の32ビットデータを64ビットデータに拡張してデータの格納が行なわれる。内部データバスが、32ビット幅であり、32ビットデータおよび64ビットデータの書込シーケンスは、同じである。直交変換メモリTM0およびTM2に、64ビットデータの上位32ビットデータが格納され、直交変換メモリTM1およびTM3に64ビットデータの下位32ビットデータが格納される。64ビットデータが転送される64ビットモード時においては、64アドレスの64ビットデータが、直交変換メモリTM0、TM1およびTM2、TM3に順次格納される。 When storing 64-bit data, data is stored by expanding 32-bit data in 32-bit mode for transferring 32-bit data to 64-bit data. The internal data bus is 32 bits wide, and the write sequence of 32-bit data and 64-bit data is the same. The high-order 32-bit data of 64-bit data is stored in the orthogonal transformation memories TM0 and TM2, and the low-order 32-bit data of 64-bit data is stored in the orthogonal transformation memories TM1 and TM3. In the 64-bit mode in which 64-bit data is transferred, 64-bit data at 64 addresses is sequentially stored in the orthogonal transformation memories TM0, TM1, TM2, and TM3.
図15は、図4に示す直交変換回路40に含まれるシステムバス側制御部60の要部の構成を概略的に示す図である。図15において、システムバス側制御部60は、システムバスI/F24からの64ビットデータを格納するデータレジスタ100と、システムバスI/F24からの6ビットアドレスを格納するアドレスレジスタ102と、システムバス転送データのビット幅を示す情報を格納するビット幅設定レジスタ104とを含む。このビット幅情報に従って内部の転送経路が設定される。
FIG. 15 is a diagram schematically showing a configuration of a main part of system bus
データレジスタ100は、それぞれ16ビットのビット幅を有するレジスタREG0−REG3を含み、レジスタREG0からレジスタREG3に向かって最上位ビットMSBから最下位ビットLSBのデータが格納される。アドレスレジスタ102には、最上位ビットMSBがアドレスビットA5であり、最下位ビットLSBがビットA0である6ビットアドレスA5−A0が格納される。この6ビットシステムアドレスにより、64アドレスが指定される。 The data register 100 includes registers REG0 to REG3 each having a bit width of 16 bits. Data from the most significant bit MSB to the least significant bit LSB is stored from the register REG0 toward the register REG3. The address register 102 stores a 6-bit address A5-A0 in which the most significant bit MSB is the address bit A5 and the least significant bit LSB is the bit A0. With this 6-bit system address, 64 addresses are designated.
レジスタREG0−REG3それぞれに対応して、セレクタSL0−SL3が設けられる。セレクタSL0およびSL1は、たとえばトライステートバッファで構成され、切換信号MX0の活性化時、それぞれ、レジスタREG0およびREG1を16ビットデータバス50Uおよび50Lにそれぞれ結合する。ここで、16ビットデータバス50Uおよび50Lは、それぞれ、内部データバス50の上位データバスおよび下位データバスである。セレクタSL2およびSL3は、切換信号MX1の活性化時、レジスタREG2およびREG3を、それぞれ、16ビットデータバス50Uおよび50Lに結合する。
Selectors SL0-SL3 are provided corresponding to registers REG0-REG3, respectively. Selectors SL0 and SL1 are formed of, for example, tristate buffers, and couple registers REG0 and REG1 to 16-
切換信号MX0およびMX1により、これらのセレクタSL0−SL3の導通/非導通状態を切換えることにより、64ビットデータを32ビットデータずつデータバス50に伝達することができる。
By switching the conduction / non-conduction state of these selectors SL0-SL3 by switching signals MX0 and MX1, 64-bit data can be transmitted to
システムバス側制御部60においては、さらに、2ポート直交変換メモリTM0−TM3それぞれに対応してデータ転送経路を設定するためのセレクタSSL0−SS1L3が設けられる。セレクタSSL0は、ビット幅設定レジスタ104からのビット幅情報に従って、16ビットデータバス50Uおよび50Lの一方を対応の直交変換メモリTM0の下位16ビットポートLに結合する。直交変換メモリTM0の上位16ビットポートUは、16ビットデータバス50Uに結合される。
The system
セレクタSSL1は、ビット幅設定レジスタ104からのビット幅情報に従って、16ビットデータバス50Uおよび50Lの一方を対応の2ポート直交変換メモリTM1の上位16ビットポートUに結合する。直交変換メモリTM1の下位16ビットポートLは、16ビットデータバス50Lに結合される。
The selector SSL1 couples one of the 16-
セレクタSSL2は、ビット幅情報に従って、16ビットデータバス50Uおよび50Lの一方を選択して、2ポート直交変換メモリTM2の下位16ビットポートLに結合する。直交変換メモリTM2の上位16ビットポートUは、16ビットデータバス50Uに結合される。セレクタSSL3は、ビット幅情報に従って、16ビットデータバス50Uおよび50Lの一方を2ポート直交変換メモリTM3の上位16ビットポートUに結合する。この直交変換メモリTM3の下位16ビットポートLは、16ビットデータバス50Lに結合される。
Selector SSL2 selects one of 16-
これらのセレクタSSL0−SSL3を用いてデータバスの接続を16ビット単位で切換えることにより、転送データのビット幅に応じて正確に、転送データをこれらの直交変換メモリTM0−TM3の同一アドレスに順次格納することができる。 By switching the data bus connection in units of 16 bits using these selectors SSL0 to SSL3, the transfer data is stored sequentially in the same address of these orthogonal transformation memories TM0 to TM3 accurately according to the bit width of the transfer data. can do.
この転送データのビット幅に応じたアドレス指定のために、アドレスレジスタ102に対してセレクタSL4が設けられる。セレクタSL4は、ビット幅設定レジスタ104からのビット幅情報に従って、上位5ビットアドレスA5−A1と下位5ビットアドレスA4−A0の一方を選択して内部アドレスAD[4:0]を生成する。
A selector SL4 is provided for the
図16は、図15に示すシステムバス側制御部60のセレクタSSL0−SSL3の8ビットモードおよび16ビットモード時のバス接続態様を示す図である。8ビットモードおよび16ビットモードのとき、すなわち、転送データのビット幅が8ビットおよび16ビットの場合には、セレクタSSL0およびSSL2は、それぞれ、16ビットデータバス50Uを選択して対応の直交変換メモリTM0およびTM2の下位16ビットポートLに結合する。一方、セレクタSSL1およびSSL3は、8ビットモードおよび16ビットモード時には、16ビットデータバス50Lを、対応の直交変換メモリTM1およびTM3の上位16ビットポートUに結合する。
FIG. 16 is a diagram illustrating a bus connection mode in the 8-bit mode and the 16-bit mode of the selectors SSL0 to SSL3 of the system bus
従って、直交変換メモリTM0およびTM2に対しては上位16ビットバス50Uのデータが格納され、直交変換メモリTM1およびTM3に対しては、下位16ビットバスのデータが格納される。
Therefore, the upper 16-
セレクタSL4は、内部アドレスAD[4:0]として、8ビットモード時には、システム側から転送される6ビットアドレスの下位5ビットアドレスA4−A0を選択する。従って、8ビットモード時には、内部アドレスAD[4:0]は、0から31へシステム側からのアドレスと同様に更新され、システムアドレスが、32から63の時にアドレス0から31を再度指定する。これにより、図9から図11に示すように、直交変換メモリTM0−TM3において、各アドレスの前半部分にデータを格納した後に、各アドレスの後半部分にデータを格納することができる。
The selector SL4 selects the lower 5-bit address A4-A0 of the 6-bit address transferred from the system side as the internal address AD [4: 0] in the 8-bit mode. Accordingly, in the 8-bit mode, the internal address AD [4: 0] is updated from 0 to 31 similarly to the address from the system side, and when the system address is 32 to 63, the
16ビットモード時には、システム側から転送される6ビットアドレスの上位5ビットアドレスA5−A1を選択する。したがって、内部アドレスAD[4:0]は、2システムサイクルごとにその値が1更新される。これにより、16ビットモードにおいて、図12に示すシーケンスで、16ビットデータを直交変換メモリTM0−TM3に格納することができる。 In the 16-bit mode, the upper 5-bit address A5-A1 of the 6-bit address transferred from the system side is selected. Therefore, the value of the internal address AD [4: 0] is updated by 1 every two system cycles. Thereby, in the 16-bit mode, 16-bit data can be stored in the orthogonal transformation memories TM0 to TM3 in the sequence shown in FIG.
図17は、図15に示すセレクタSSL0−SSL3の32ビットモードおよび64ビットモード時におけるバス接続態様を示す図である。32ビットモードおよび64ビットモードは、転送データのビット幅が、それぞれ、32ビットおよび64ビットである。これらのモードにおいては、セレクタSSL0およびSSL2は、16ビットデータバス50Lを対応の直交変換メモリTM0およびTM2の下位16ビットポートLに結合する。セレクタSSL1およびSSL3は、16ビットデータバス50Uを、それぞれ対応の直交変換メモリTM1およびTM3の上位16ビットポートUに結合する。従って、直交変換メモリTM0−TM3各々に対しては、32ビットデータバス50の32ビットデータが転送される。
FIG. 17 is a diagram showing a bus connection mode in the 32-bit mode and 64-bit mode of selectors SSL0 to SSL3 shown in FIG. In the 32-bit mode and the 64-bit mode, the bit width of the transfer data is 32 bits and 64 bits, respectively. In these modes, selectors SSL0 and SSL2 couple 16-
このとき、セレクタSL4は、アドレスレジスタ102の格納するアドレスビットA5−A0のうち下位5ビットアドレスA4−A0を選択する。これらの32ビットモードおよび64ビットモードにおいては、直交変換メモリTM0およびTM1に順次32ビットデータが格納され、これらの直交変換メモリTM0およびTM1のアドレス領域がすべて指定されてデータが格納された後に、次いで、直交変換メモリTM2およびT3に対しデータアクセスが実行される。これにより、図13および図14に示す32ビットモードまたは64ビットモードでのデータアクセスシーケンスを実現することができる。
At this time, the selector SL4 selects the lower 5-bit address A4-A0 among the address bits A5-A0 stored in the
図18は、システムバス側制御部60におけるレジスタの切換を行う切換信号MX0およびMX1を発生する部分の構成の一例を示す図である。図18において、切換信号発生部は、システムクロック信号SCLKを受けるインバータ112と、システム側からの書込指示を示す書込コマンドWENとシステムクロック信号SCLKとを受けるANDゲート114と、インバータ112の出力信号と書込指示WENとを受けるANDゲート116を含む。この制御部60には、またシステムクロック信号SCLKを分周して転送クロック信号TCLKを生成する分周回路110が設けられる。AND回路114から切換信号MX0が出力され、ANDゲート116から、切換信号MX1が出力される。
FIG. 18 is a diagram illustrating an example of a configuration of a portion that generates switching signals MX0 and MX1 for switching registers in the system bus
図19は、図18に示す切換信号発生部の動作を示すタイミング図である。以下、図19を参照して、この図18に示す切換信号発生部の動作について説明する。 FIG. 19 is a timing chart showing the operation of the switching signal generator shown in FIG. The operation of the switching signal generator shown in FIG. 18 will be described below with reference to FIG.
分周回路110は、システムクロック信号SCLKを分周し、このシステムクロックSCLKの1/2倍の周期を有する転送クロック信号TCLKを生成する。システム側からの書込指示WENがアサートされデータ書込が指示されると、ANDゲート114および116がイネーブルされる。切換信号MX0が、システムクロック信号SCLKに同期して変化し、切換信号MX1が、システムクロック信号SCLKの反転信号に同期して変化する。したがって、データバス50上には、切換信号MX0がHレベルの期間、64ビットデータD(64)のうちの上位32ビットデータUD(32)が伝達され、切換信号MX1がHレベルの期間、データバス50に、この64ビットのデータD(64)のうちの下位32ビットデータLD(32)が伝達される。この切換信号MX0およびMX1を利用することにより、図15に示すセレクタSL0−SL3を選択的に導通状態として、システムクロック信号SCLKの1周期内において、64ビットデータを32ビット単位でデータバス50上に伝達することができる。
The
図20は、システムバス側制御部60における書込制御信号を発生する部分の構成を概略的に示す図である。図20において、システムバス側制御部60は、2ポート直交変換メモリTM0−TM3それぞれに対応して設けられる選択回路120−123を含む。これらの選択回路120−123へは、共通に、システム側からの書込指示WENとビット幅設定レジスタ104からのビット幅情報が共通に与えられる。書込指示WENがアサートされると、これらの選択回路120−123は、ビット幅設定レジスタ104からのビット幅情報に従って選択動作を行なう。このビット幅設定レジスタ104には、システム側からの制御情報に従って、ビット幅情報が設定されてもよく、システム立上げ時に、図1に示すコントローラ22により、ビット幅情報が設定されてもよい。
FIG. 20 is a diagram schematically showing a configuration of a portion for generating a write control signal in system bus
これらの選択回路120−123は、各々、8ビットモード制御端子、16ビットモード制御端子、および32/64ビットモード制御端子およびリセット状態を設定するリセット端子Rを含む。32/64ビットモード制御端子は、32ビットモードおよび64ビットモード時の書込制御信号を受ける端子である。これらの端子に与えられる信号に従って、データ転送時にデータのビット幅に応じて、直交変換メモリTM0−TM3の活性化シーケンスを設定して、ビット幅に応じて正確にデータの書込を行なうことができる。 Each of these selection circuits 120-123 includes an 8-bit mode control terminal, a 16-bit mode control terminal, and a 32 / 64-bit mode control terminal and a reset terminal R for setting a reset state. The 32 / 64-bit mode control terminal is a terminal for receiving a write control signal in the 32-bit mode and the 64-bit mode. According to the signals applied to these terminals, the activation sequence of the orthogonal transformation memories TM0 to TM3 can be set according to the bit width of the data at the time of data transfer, and data can be written accurately according to the bit width. it can.
選択回路120は、8ビットモード制御端子に、補の切換制御信号/MX0を受け、16ビットモード制御端子に、最下位アドレスビットA0と切換制御信号/MX0とを受けるORゲートG0の出力信号を受ける。選択回路120は、さらに、補の切換制御信号/MX0および最上位アドレスビットA5を受けるORゲートG1の出力信号を、32/64ビットモード制御端子に受ける。リセット端子Rに、ディスエーブル状態を示す“1”の信号を受ける。この選択回路120から、直交変換メモリTM0に対するライトイネーブル信号/WE0が与えられる。
The
なお、各信号の前に付される“/”の記号は、“0”のときに活性状態となる負論理の信号であることを示す。このライトイネーブル信号/WENi(i=0−3)は、図5に示すライトイネーブル信号SWEに対応するが、信号の論理を明確にするため、ここでは、記号「/WENi」を用いる。 Note that the symbol “/” added in front of each signal indicates a negative logic signal that is activated when it is “0”. The write enable signal / WENi (i = 0-3) corresponds to the write enable signal SWE shown in FIG. 5, but the symbol “/ WENi” is used here in order to clarify the logic of the signal.
選択回路121は、8ビットモード制御端子に、補の切換制御信号/MX0を受け、16ビットモード制御端子に、最下位アドレスビットA0と補の切換制御信号/MX1を受けるORゲートG2の出力信号を受ける。選択回路121は、さらに、32/64ビットモード制御端子に、補の切換制御信号/MX1と補の最上位アドレスビット/A5を受けるORゲートG3の出力信号を受け、リセット端子Rに、“1”の信号を受ける。
The
選択回路122は、8ビットモード入力端子に、補の切換制御信号/MX1を受け、16ビットモード制御端子に、補の最下位アドレスビット/A0と補の切換制御信号/MX0を受けるORゲートG4の出力信号を受ける。選択回路122は、さらに、32/64ビットモード制御端子に、補の切換制御信号/MX0と補の最上位アドレスビット/A5を受けるORゲートG5の出力信号を受け、リセット入力端子Rに、“1”の信号を受ける。選択回路122から、ライトイネーブル信号/WE2が直交変換メモリTM2へ与えられる。
選択回路123は、8ビットモード制御端子に、補の切換制御信号/MX1を受け、16ビットモード制御端子に、補の最下位アドレスビット/A0と補の切換制御信号/MX1を受けるORゲートG6の出力信号を受ける。選択回路123は、さらに、32/64ビットモード制御端子に、補の切換制御信号/MX1と補の最上位アドレスビット/A5を受けるORゲートG7の出力信号を受け、リセット端子に、“1”の信号を受ける。この選択回路123から、直交変換メモリTM3に対するライトイネーブル信号/WE3が生成される。
システムバス側制御部60は、さらに、アドレスビットA0およびA5をそれぞれ反転するインバータIV1およびIV2と、ビット幅設定レジスタ104からのビット幅情報に従って、アドレスビットA5および/A5との組と“0”および“0”の組の一方を選択して、データマスク信号DM0およびDM1を生成するマスク選択回路130を含む。マスク選択回路130は、アドレスビットA5と“0”の一方を選択して上位16ビットデータに対するデータマスク信号DM0を生成する切換回路MUX0と、補の最上位アドレスビット/A5と“0”の一方を選択して下位16ビットデータに対するデータマスク信号DM1を生成する切換回路MUX1を含む。
Further, system bus
これらのデータマスク信号DM0およびDM1は、直交変換メモリTM0−TM3に共通に与えられる。選択回路130は、8ビットモード指定時には、アドレスビットA5および/A5に従ってデータマスク信号DM0およびDM1を生成し、16ビットモードおよび32/64ビットモード時においては、“0”を選択して、データマスク信号DM0およびDM1を生成する。
These data mask signals DM0 and DM1 are commonly applied to the orthogonal transformation memories TM0 to TM3.
図21から図23は、図20に示すシステムバス側制御部60のデータ書込制御の動作を示すタイミング図である。以下、図21から図23を参照して、図20に示すシステムバス側制御部60の動作について説明する。
FIG. 21 to FIG. 23 are timing charts showing the data write control operation of the system
まず、図21を参照して、8ビットモード時の動作について説明する。この場合、選択回路120および121は、ライトイネーブル信号/WE0および/WE1として、補の切換制御信号/MX0を選択する。選択回路122および123は、ライトイネーブル信号/WE2および/WE3として、補の切換制御信号/MX1を選択する。
First, the operation in the 8-bit mode will be described with reference to FIG. In this case,
したがって、まずデータ書込指示が与えられ、書込指示WENがアサートされると、そのサイクルにおいて、切換制御信号MX0およびMX1が、システムクロック信号SCLKに同期して互いに相補な位相で変化する。サイクル0から31までは、最上位アドレスビットA5は、“0”である。最下位アドレスビットA0は、システムクロック信号SCLKの各サイクルごとに、“0”および“1”に交互に変化する。ライトイネーブル信号/WE0および/WE1が、切換信号MX0がHレベルのときに活性化されてLレベル(“0”)となり、対応の直交変換メモリTM0およびTM1に対する書込が許可される。ライトイネーブル信号ライトイネーブル信号/WE2および/WE3は、切換信号MX1がHレベルのときに活性化されてLレベル(“0”)となり、対応の直交変換メモリTM2およびTM3に対する書込が許可される。
Therefore, when a data write instruction is first given and write instruction WEN is asserted, switching control signals MX0 and MX1 change in complementary phases in synchronization with system clock signal SCLK in that cycle. In
データマスク信号DM0およびDM1は、8ビットモード時、それぞれ、選択回路130により、最上位アドレスビットA5および補の最上位アドレスビット/A5に従って生成される。したがって、サイクル0から31の間、データマスク信号DM0はLレベル(“0”)、データマスク信号DM1はLレベル(“1”)である。すなわち、システムクロック信号SCLKのサイクル0からサイクル31の間、直交変換メモリTM0およびTM1の組および直交変換メモリTM2およびTM3の組は交互に同一サイクル内で活性化され、上位16ビットの領域にデータの書込が実行される。下位16ビットの領域には書込はマスクされる。
Data mask signals DM0 and DM1 are generated by
サイクル32に到達すると、最上アドレスビットA5が“1”(Hレベル)となり、応じて、データマスク信号DM0がHレベル、データマスク信号DM1がLレベルとなる。データマスク信号DM0およびDM1は、Hレベルのときに書込にマスクをかける。したがって、サイクル32からは、直交変換メモリTM0−TM3の下位16ビットの領域にデータの書込が行なわれ、上位16ビットの領域には、データの書込は行なわれない。
When the
このサイクル32から以降のサイクル63まで、サイクル0からサイクル31と同様、直交変換メモリTM0およびTM1の組および直交変換メモリTM2およびTM3の組が、システムクロックSCLKの各サイクルにおいて交互に活性化される。
From
上述のようにして、8ビットモード時、システムクロックSCLKの各サイクルごとに、直交変換メモリTM0−TM3に対し、16ビットずつデータの書込を実行することができる。 As described above, in the 8-bit mode, data can be written into the orthogonal transform memories TM0 to TM3 by 16 bits every cycle of the system clock SCLK.
図22は、図20に示すシステム側制御部60の、16ビットモード時の動作を示すタイミング図である。16ビットモード時においては、選択回路120が、ORゲートG0からの最下位アドレスビットA0と補の切換制御信号/MX0の論理和信号に従ってライトイネーブル信号/WE0を生成し、選択回路121が、最下位アドレスビットA0と補の切換制御信号/MX1の論理和信号に従ってライトイネーブル信号/WE1を生成する。選択回路122は、補の最下位アドレスビット/A0と補の切換制御信号/MX0の論理和信号に従ってライトイネーブル信号/WE2を生成し、選択回路123が、補の最下位アドレスビット/A0と補の切換制御信号/MX1の論理和に従ってライトイネーブル信号/WE3を生成する。
FIG. 22 is a timing chart showing the operation in the 16-bit mode of the system
したがって、書込指示WENがアサートされ、データ書込が開始されると、サイクル0において、ライトイネーブル信号/WE0および/WE1が、それぞれ、切換制御信号MX0およびMX1に従って活性化される。このとき、ライトイネーブル信号/WE2および/WE3は、非活性状態のHレベル(“1”)である。サイクル1においては、最下位アドレスビットA0が“1”となり、ライトイネーブル信号/WE0および/WE1は、“1”に維持される。このサイクル1においては、ライトイネーブル信号/WE2および/WE3が、それぞれ、切換制御信号MX0およびMX1に従って活性化される。以降、偶数アドレス(偶数番号のシステムサイクル)においては、ライトイネーブル信号/WE0および/WE1が、切換制御信号MX0およびMX1に従って順次活性化され、奇数アドレス(奇数番号のシステムサイクル)においては、ライトイネーブル信号/WE2および/WE3が、それぞれ、切換制御信号MX0およびMX1に従って順次活性化される。
Therefore, when write instruction WEN is asserted and data writing is started, in
データマスク信号DM0およびDM1は、16ビットモード時には、“0”に固定される。したがって、直交変換メモリTM0−TM3各々に対しては、32ビットデータの書込が実行される。直交変換メモリTM0およびTM1の組および直交変換メモリTM2およびTM3の組に対して、システムクロック信号CLKのクロックサイクルごとに交互に64ビットデータの書込が実行される。 Data mask signals DM0 and DM1 are fixed to “0” in the 16-bit mode. Therefore, 32-bit data is written to each of orthogonal transform memories TM0 to TM3. For the set of orthogonal transform memories TM0 and TM1 and the set of orthogonal transform memories TM2 and TM3, 64-bit data is alternately written every clock cycle of the system clock signal CLK.
図23は、図20に示すシステムバス側制御部60の32/64ビットモード時の動作を示すタイミング図である。この32/64ビットモードにおいては、データのビット幅は32ビットまたは64ビットである。この32/64ビットモードにおいては、選択回路120が、最上位アドレスビットA5と補の切換制御信号/MX0の論理和に従ってライトイネーブル信号/SE0を生成し、選択回路121は、最上位アドレスビットA5と補の切換制御信号/MX1の論理和に従ってライトイネーブル信号/WE1を生成する。選択回路122が、補の最上位アドレスビット/A5と補の切換制御信号/MX0の論理和に従ってライトイネーブル信号/WE2を生成し、選択回路123が、補の最上位アドレスビット/A5と補の切換制御信号/MX1の論理和に従ってライトイネーブル信号/WE3を生成する。したがって、サイクル0から31の間、最上位アドレスビットA5が“0”であり、ライトイネーブル信号/WE2および/WE3は、“1”に維持され、直交変換メモリTM2およびTM3に対するデータの書込は禁止される。一方、ライトイネーブル信号/WE0および/WE1は、切換制御信号MX0およびMX1に従って各クロックサイクルにおいて活性化され、直交変換メモリTM0およびTM1各々に対して交互に32ビットのデータの書込が実行される。
FIG. 23 is a timing chart showing the operation of the system bus
一方、サイクル32になると、最上位アドレスビットA5が“1”となり、ライトイネーブル信号/WE0および/WE1が、“1”に維持される。一方、ライトイネーブル信号/WE2および/WE3が、切換制御信号MX0およびMX1に従って順次活性化される。したがって、32/64ビットモードにおいては、直交変換メモリTM0およびTM1に対し、データの書込が行なわれ、32個のデータ(32アドレスのデータ)が直交変換メモリTM0およびTM1に格納された後に、直交変換メモリTM2およびTM3に対する以後の32アドレスのデータの書込が実行される。
On the other hand, in
以上のように、直交変換メモリTM0−TM3は、全体として、64ワード×64ビットのメモリとして動作し、データビット幅が、8ビット、16ビット、32ビットおよび64ビットのデータについて、外部からは、内部構成および内部アドレスを考慮することなく64アドレスの64ビットデータの書込を実行することができる。 As described above, the orthogonal transformation memories TM0 to TM3 operate as a memory of 64 words × 64 bits as a whole, and data with a data bit width of 8, 16, 32, and 64 bits is externally applied. It is possible to write 64-bit data at 64 addresses without considering the internal configuration and internal address.
なお、図20において括弧内において示すように、データの読出を、直交変換メモリTM0−TM3から実行する場合には、書込指示WENに代えて、読出指示(REN)が与えられ、この場合、ライトイネーブル信号/WE0−/WE3に代えて、リードイネーブル信号(/RE0−/RE3)が生成される。この場合、以下に示すように、選択回路120−123は、データの書込および読出に共通に用いることが可能である。 As shown in parentheses in FIG. 20, when reading data from the orthogonal transformation memories TM0 to TM3, a read instruction (REN) is given instead of the write instruction WEN. In this case, Instead of the write enable signals / WE0− / WE3, read enable signals (/ RE0− / RE3) are generated. In this case, as will be described below, selection circuits 120-123 can be commonly used for data writing and reading.
図24は、このシステムバス側制御部60における書込/読出を行なう部分の構成の一例を示す図である。図24においては、直交変換メモリTM0に対して設けられる選択回路120についての構成を代表的に示す。図24において、選択回路120に対し、データ転送を要求する選択信号SELとビット幅情報が与えられる。この選択信号SELは、データの書込またはデータの読出の要求する信号であり、図5に示すシステム側からの選択信号SSELに対応する信号である。
FIG. 24 is a diagram showing an example of the configuration of a portion that performs writing / reading in the system bus
選択回路120の出力に、ORゲートG8およびG9が設けられる。ORゲートG8は、書込指示WENの反転信号である補の書込指示/WENと選択回路120の出力信号とを受けてライトイネーブル信号/WE0を生成する。ORゲートG9は、読出指示RENの反転信号である補の読出指示/RENと選択回路120の出力信号とを受けて、リードイネーブル信号/RE0を生成する。書込指示WENおよび読出指示RENは、アサート時、Hレベル(“1”)であり、一方、ライトイネーブル信号/WE0およびリードイネーブル信号/RE0は、活性化時、Lレベル(“0”)である。
OR gates G8 and G9 are provided at the output of the
書込を行なう場合には、補の書込指示/WENがLレベルとなり、選択回路120の出力信号がLレベルのときに、ライトイネーブル信号/WE0が活性化される。このときには、読出指示WENはネゲート状態であり、Lレベルであり、リードイネーブル信号/RE0は、Hレベルに維持される。逆に、データの読出を行なう場合には、読出指示RENがアサートされてHレベルとなり、一方、書込指示WENは、ネゲート状態のLレベルである。したがって、選択回路120の出力信号がLレベルとなると、リードイネーブル信号/RE0がLレベルとなって活性化されてデータの読出が行なわれる。データマスク信号DM0およびDM1は、書込および読出時に共通に用いることができる。
When writing is performed, write enable signal / WE0 is activated when complementary write instruction / WEN is at L level and the output signal of
この図24に示す構成を利用することにより、データ書込およびデータ読出を、データの流れを反対にするだけで、共通の制御回路構成を利用して同一の制御態様で実行することができる。 By using the configuration shown in FIG. 24, data writing and data reading can be executed in the same control mode by using a common control circuit configuration only by reversing the data flow.
図25は、2ポート直交変換メモリTM0−TM3と主演算回路のメモリセルマットとの間のデータ転送を行なう主演算回路側制御部65の構成を概略的に示す図である。図25において、直交変換回路と主演算回路との間のデータ転送を行うための64ビットデータバス55は、16ビットデータバス150a−150dを有する。主演算回路側制御部65において、2ポート直交変換メモリTM0−TM3それぞれに対応して、ビット幅情報M8/16に従ってバスの接続経路を切換えるバスセレクタ140a−140cおよび142a−1142cが設けられる。セレクタ140aは、2ポート直交変換メモリTM0の下位16ビットポートLを16ビットデータバス150aおよび150bの一方に結合する。直交変換メモリTM0の16ビットポートUは、16ビットデータバス150aに結合される。これらの16ビットデータバス150aおよび150bにより、64ビットデータバスの上位32ビットデータバスが形成される。
FIG. 25 schematically shows a configuration of main arithmetic circuit
バスセレクタ140bは、直交変換メモリTM2の上位16ビットポートUを、16ビットデータバス150cおよび150bの一方に結合する。バスセレクタ142cは、直交変換メモリTM2の下位16ビットポートLを、16ビットデータバス150c、150bおよび150dのいずれかに接続する。
バスセレクタ142aは、直交変換メモリTM1の上位16ビットポートUを16ビットデータバス150b、150cおよび150aのいずれかに結合する。バスセレクタ142bは、直交変換メモリTM1の下位16ビットポートLを、16ビットデータバス150a、150dおよび150bのいずれかに結合する。
The
バスセレクタ140cは、直交変換メモリTM3の上位16ビットポートUを、16ビットデータバス150dおよび150cの一方に結合する。この直交変換メモリTM3の下位16ビットポートLは、16ビットデータバス150dに結合される。
これらのバスセレクタ140a−140cおよび142−142cの接続経路は、ビット幅情報BWSに従って設定される。ビット幅情報BWSは、8ビットモード、16ビットモード、32ビットモードおよび64ビットモードのいずれかを指定する。
The connection path of these
図26は、主演算回路側制御部65のデータ転送制御を行う部分の構成を概略的に示す図である。図26において、主演算側制御部65は、転送状態を示すステータス情報を格納するステータスレジスタ162と、直交変換メモリTM0−TM3に対するアドレスMADDを生成する転送アドレス発生回路164と、これらの直交変換メモリTM0−TM3のアクセスを制御する転送制御回路166とを含む。
FIG. 26 is a diagram schematically showing a configuration of a portion that performs data transfer control of the main arithmetic circuit
転送アドレス発生回路164は、転送アドレスカウンタを含み、読出指示MRENのアサート時、ビット幅設定レジスタ160に格納されるビット幅情報に従って設定されるシーケンスで転送アドレスMADDを生成する。この転送アドレス発生回路164からの転送アドレスMADDは、ステータスレジスタ162の状態更新に従って更新される。また、読出指示MRENは、主演算回路から与えられる。
Transfer
転送制御回路166は、読出指示MRENのアサート時、転送アドレス発生回路164の生成する転送アドレスMADDとビット幅設定レジスタ160からのビット幅設定情報に従って、直交変換メモリTM0−TM3に対する転送イネーブル信号MRE0−MRE3と16ビット単位の転送マスク信号MDM0およびMDM1とを選択的に生成する。
When the read instruction MREN is asserted, the
主演算回路側制御部65は、さらに、データ転送クロック信号MTCLKをカウントして、メモリセルマットとの間のデータ転送用のアドレスを生成するマット転送アドレスカウンタ168と、64ビットバッファ68に対する更新データを生成するバッファ更新回路170と、64ビットバッファ68からのデータとデータバス55からのデータとに従って、主演算回路に対する64ビット転送データを生成する転送データ選択回路172を含む。
The main arithmetic circuit
バッファ更新回路170は、マット転送アドレスカウンタ168のカウント値WCNT[0]に従って、64ビットバッファ68の全ビットおよび32ビットの更新を選択的に実行する(交互に実行する)。転送データ選択回路172は、マット転送アドレスカウンタ168からのカウント値WCNT[0]に従って、64データバス55の32ビットデータと64ビットバッファメモリ68からの32ビットデータの組と、64ビットバッファメモリ68からの64ビットの一方を選択して、主演算回路に対する転送データを生成する。
The
図27は、図26に示す転送アドレス発生回路164の構成の一例を示す図である。図27において、転送アドレス発生回路164は、データ転送サイクル数をカウントする6ビットの転送カウンタRCNTと、転送カウンタRCNTのカウントビットRCNT[2]を反転するインバータIV3と、転送カウンタRCNTの最下位ビットRCNT[0]を反転するインバータIV4と、ビット幅設定レジスタ160からビット幅設定情報BWSに従って、各データビット幅に応じてカウントビットの組合せを選択して転送アドレスMADDを生成するアドレス選択回路180を含む。このアドレス選択回路180によりカウントビットの並び替えを行なうことにより、正確に、データビット幅に応じたアドレスを生成することができる。
FIG. 27 is a diagram showing an example of the configuration of transfer
アドレス選択回路180は、8ビットモード入力端子に、転送カウンタRCNTのカウントビットRCNT[!2,!0;5:3]を受ける。記号“!”は、カウントビットの反転値を意味し、8ビットモード時には、転送カウンタのカウントビットRCNT[2]の反転値、RCNT[0]の反転値、およびRCNT[5:3]が順次配列されて転送アドレスを生成する。8ビットモード時には、転送アドレスは、転送サイクルごとに、以下のように変化する:
24,16,24,16,8,0,8,0,25,17,25,17,…。
The
24, 16, 24, 16, 8, 0, 8, 0, 25, 17, 25, 17,.
すなわち、8ビットモード時においては、直交変換メモリの8ビットデータの最下位ビットからデータ0−512について順次読出して、データの転送を行なう。 That is, in the 8-bit mode, data 0-512 are sequentially read from the least significant bit of 8-bit data in the orthogonal transformation memory to transfer the data.
アドレス選択回路180は、16ビットモード入力端子に、転送カウンタRCNTのカウント値RCNT[!0;5:2]を受ける。このカウント値RCNT[!0;5:2]は、カウント値RCNT[0]の反転値およびRCNT[5:2]が順次配列された5ビットカウント値を示し、転送サイクルごとに、転送アドレスは以下のように変化する:
16,0,16,0,17,1,17,1,…。
The
16, 0, 16, 0, 17, 1, 17, 1,.
すなわち、16ビットモードにおいては、16ビットデータの最下位ビットからデータ0−256について順次転送する。 That is, in the 16-bit mode, data 0-256 is sequentially transferred from the least significant bit of 16-bit data.
アドレス選択回路180は、さらに、32ビットおよび64ビットモードを示す32/64ビット入力端子に、転送カウンタRCNTの5ビットカウント値RCNT[4:0]を受ける。この場合、アドレスRCNT[4:0]は、転送サイクルごとに以下のように変化する:
0,1,2,…31,0,1,2…31。
0, 1, 2, ... 31, 0, 1, 2, ... 31.
したがって、32ビットモードおよび64ビットモードにおいては、2つの直交変換メモリの組において、データ0−63の前半データおよび後半データが最下位ビットから転送される。 Therefore, in the 32-bit mode and the 64-bit mode, the first half data and the second half data of data 0-63 are transferred from the least significant bit in a set of two orthogonal transformation memories.
図28は、図26に示す転送制御回路166の構成の一例を概略的に示す図である。図28において、転送制御回路166は、転送カウンタRCNTの最上位カウントビットRCNT[5]を受けるインバータIV5と、直交変換メモリTM0−TM3それぞれに対して設けられる読出活性化回路182a−182dと、直交変換メモリTM0−TM3に共通に設けられる転送マスク発生回路184を含む。
FIG. 28 schematically shows an example of the configuration of
これらの読出活性化回路182a−182dおよび転送マスク発生回路184は、直交変換メモリTM0−TM3から主演算回路のメモリセルマットへのデータ転送指示MRENのアサート時に、ビット幅設定情報BWSに従って対応のビットモードの入力に与えられた信号を選択して読出動作を活性化するリードイネーブル信号を生成する。これにより、データビット幅に応じたシーケンスで直交変換メモリTM0−TM3を活性化し、またデータ転送を活性化することができる。
These read
読出活性化回路182aは、8/16ビットモード入力端子に、“0”の信号を受け、32ビットモード入力端子に、転送カウンタRCNTの最上位カウントビットRCNT[5]を受け、64ビットモード入力端子に、インバータIV5からの反転カウントビット/RCNT[5]を受け、直交変換メモリTM0に対する負論理のリードイネーブル信号/MRE0を生成する。
Read
読出活性化回路182bは、8/16ビットモード入力端子に、“0”の信号を受け、32ビットモード入力端子および64ビット入力端子に、カウント値RCNT[5]を受け、直交変換メモリTM1に対する負論理のリードイネーブル信号/MRE1を生成する。
Read
読出活性化回路182cは、8/16ビットモード入力端子に、“0”の信号を受け、32ビットモード入力端子に、インバータIV5からの反転カウントビット/RCNT[5]を受け、64ビットモード入力端子に、カウント値RCNT[5]を受け、直交変換メモリTM2に対するリードイネーブル信号/MRE2を生成する。
Read
読出活性化回路182dは、8/16ビットモード入力端子に、“0”の信号を受け、32ビットモード入力端子に反転カウントビット/RCNT[5]を受け、64ビットモード入力端子にカウントビットRCNT[5]を受け、直交変換メモリTM3に対するリードイネーブル信号/MRE3を生成する。
Read
転送マスク発生回路184は、8/16ビットモード入力端子に、カウント値RCNT[1]および/RCNT[1]を受け、32/64ビットモード入力端子に、“0”の信号を受け、上位ビット転送マスク信号MDM0および下位ビットマスク制御信号HDM1を生成する。8/16ビットモード時においては、これらの転送マスク信号MDM0およびMDM1が、カウントビットRCNT[1]および/RCNT[1]に従ってそれぞれ生成され、32ビットおよび64ビットモード時には、転送マスク信号MDM0およびMDM1は、“0”に設定され、直交変換メモリTM0−TM3の読出マスクは非活性状態に維持され、マスク動作は停止される。
Transfer
図29は、図26に示すバッファ更新回路170および転送データ選択回路172の構成の一例を概略的に示す図である。図29においては、64ビットのバッファ68は、上位32ビットを格納する上位32ビット領域68Uと、下位32ビットの領域を格納する下位32ビット領域68Lを含む。
FIG. 29 schematically shows an example of the configuration of
バッファ更新回路170は、マット転送アドレスカウンタ168からのカウント値WCNT[0]とビット幅設定レジスタ160からの32ビットおよび64ビットデータ幅を示す32/64ビット幅指示信号BWS32/64とに従ってバスの接続を切換えるバス切換回路190を含む。バス切換回路190は、32/64ビット幅指示信号BWS32/64の活性化時、カウント値WCNT[0]の値に係わらず64ビットバス55からの64ビットデータを通過させる。一方、バス切換回路190は、32/64ビット幅指示信号BWS32/64の非活性化時、すなわち8ビットモードおよび16ビットモードのときには、マット転送アドレスカウンタ168からのカウント値WCNT[0]に従って64ビットデータバス55上の64ビットデータおよび32ビットサブデータバス150SLおよびバッファ68の下位32ビット領域68Lからの32ビットのデータの組の一方を選択して64ビットバッファ68へ伝達する。
The
サブデータバス150SLは、64ビットデータバス55を構成する16ビットデータバス150a−150d各々の下位8ビットのバスで構成される。バス切換回路190は、カウント値WCNT[0]が“1”のときには、下位32ビット領域68Lからの32ビットを上位側に設定し、32ビットデータバス150SLからの32ビットを下位32ビット領域68Lに並べ替えて、64ビットバッファ68へ転送する。これにより、バッファ68におけるデータの更新および並べ替えを実行する。
The sub data bus 150SL is composed of lower 8-bit buses of the 16-
転送データ選択回路172は、転送アドレスカウンタ168からのカウント値WCNT[0]と64ビット幅指示信号BWS64とに従ってバッファ68からの64ビットデータおよびサブデータバス150SU上の32ビットと64ビットバッファ68の上位32ビット領域68Uからの32ビットデータとの組の一方を選択して主演算回路I/Fへ伝達するバス切換回路192を含む。サブデータバス150SUは、16ビットデータバス150a−150d各々の上位8ビットのデータバスで構成される。
The transfer
バス切換回路192は、カウント値WCNT[0]が“1”のときには、バッファ68の上位32ビット領域68Uからの32ビットデータと32ビットサブデータバス150SUのデータとを選択する。バス切換回路192においては、上位32ビット領域68Lからのデータとサブデータバス150SUからのデータが、番号順に連続的に整列するようにそのバス位置が配線により切換えられてもよく、また、データバスのデータを配置を変更することなく転送してもよい。主演算回路内のメモリセルマットにおいてはエントリごとに演算処理が実行されるため、各エントリに演算対象のデータの組が配置されれば、特に、問題は生じない。
When the count value WCNT [0] is “1”, the
32ビットおよび64ビット幅指示信号BWS32/64が活性状態にあり、転送データのビット幅が32ビットまたは64ビットの場合には、バス切換回路192は、64ビットバッファ68からの64ビットデータを選択して主演算回路I/Fへ転送する。
When 32-bit and 64-bit width instruction signal BWS32 / 64 is in the active state and the bit width of the transfer data is 32 bits or 64 bits,
なお、直交変換回路および主演算回路の間では双方向にデータが転送される。従って、このバス切換回路190および192を例えばCMOSトランスミッションゲートなどの双方向のデータ転送回路で構成し、64ビットバッファを双方向のレジスタで構成する。双方向のレジスタのデータ転送方向を直交変換回路と主演算回路の間のデータ転送方向に従って設定する。次に、各転送モードの動作について説明する。
Note that data is transferred bidirectionally between the orthogonal transform circuit and the main arithmetic circuit. Therefore, the
A:8ビットモード
図30は、転送データが8ビット幅の8ビットモード時のバスセレクタ140a−140cおよび142aおよび142bの接続経路を示す図である。これらのバスセレクタ140a−140cおよび142a−142cは、8/16ビット幅指示信号BWS8/16に従ってその接続経路が設定される。このビット幅指示信号BWS8/16は、図26に示すビット幅設定レジスタ160から与えられるビット幅情報に含まれる。
A: 8-bit mode FIG. 30 is a diagram showing a connection path of
バスセレクタ140aは、直交変換メモリTM0の下位16ビットポートLを、16ビットデータバス150aに結合する。この直交変換メモリTM0の上位16ビットポートUは、同様に、16ビットデータバス150aに結合される。バスセレクタ140bおよび1420cは、直交変換メモリTM2の上位16ビットポートUおよび下位16ビットポートLを、それぞれ、16ビットデータバス150cに結合する。バスセレクタ142aおよび142bは、直交変換メモリTM1の上位16ビットポートUおよび下位16ビットポートLを、ともに、16ビットデータバス150bに結合する。バスセレクタ140cは、直交変換メモリTM3の上位16ビットポートUを、16ビットデータバス150dに結合する。直交変換メモリTM3の下位16ビットポートLは、常時、16ビットデータバス150dに結合される。このバスセレクタの接続により、16ビットデータバス150a−150dに、転送データが転送順序に従って配列される。
The
この8ビットモードにおいては、図28に示す読出活性化回路182a−182dは、それぞれ、リードイネーブル信号/MRE0−/MRE3を、読出指示MRENのアサート時に常時活性状態に設定する。したがって、直交変換メモリTM0−TM3に対し共通にデータの読出が行なわれる。しかしながら、転送マスク発生回路184により、データ転送マスク信号MDM0およびMDM1が16ビット単位でデータ転送にマスクをかけるため、直交変換メモリTM0−TM3において、16ビット単位でデータ読出にマスクがかけられる。
In this 8-bit mode, read
図31は、この8ビットモード時における直交変換メモリTM0−TM3の格納データの配列を模式的に示す図である。図31に示すように、8ビットモード時においては、直交変換メモリTM0に、8ビットデータ8k、8k+1が格納され、直交変換メモリTM1に、8ビットデータ8k+2、8k+3が格納される。直交変換メモリTM2に、8ビットデータ8k+4、8k+5が格納され、直交変換メモリTM3には、8ビットデータ8k+6,8k+7が格納される。ここで、kは、0から63である。 FIG. 31 is a diagram schematically showing an arrangement of data stored in the orthogonal transformation memories TM0 to TM3 in the 8-bit mode. As shown in FIG. 31, in the 8-bit mode, 8-bit data 8k and 8k + 1 are stored in the orthogonal transformation memory TM0, and 8-bit data 8k + 2 and 8k + 3 are stored in the orthogonal transformation memory TM1. 8-bit data 8k + 4 and 8k + 5 are stored in the orthogonal transformation memory TM2, and 8-bit data 8k + 6 and 8k + 7 are stored in the orthogonal transformation memory TM3. Here, k is 0 to 63.
図30に示すバスセレクタ140a−140cおよび142a−142cの接続経路により、直交変換メモリTM0が、16ビットバス150aとの間で16ビットデータを転送し、直交変換メモリTM1が、16ビットバス150bとの間で16ビットデータを転送し、直交変換メモリTM2が、16ビットバス150cとの間で16ビットデータを転送し、直交変換メモリTM3が、16ビットバス150dとの間で16ビットデータを転送する。したがって、各直交変換メモリTM0−TM3において16ビットデータの転送を行なうためには、データ転送マスク信号MDM0およびMDM1が直交変換メモリTM0−TM3に共通に与えられ、16ビット単位でデータのアクセスが制御される。
Through the connection path of
図32は、8ビットモード時におけるデータ転送ステータスの遷移を示す図である。ステータスIDLEは、待機状態であり、転送指示(読出指示MREN)が与えられるまで、データアクセスを停止する。ステータスST0は、データ転送指示が与えられると、直交変換メモリTM0−TM3からデータの読出を行なう。この場合、直交変換メモリTM0−TM3から読出されたデータは、64ビットバッファ68に格納される。
FIG. 32 is a diagram showing transition of the data transfer status in the 8-bit mode. Status IDLE is in a standby state, and stops data access until a transfer instruction (read instruction MREN) is given. Status ST0 reads data from orthogonal transformation memories TM0 to TM3 when a data transfer instruction is given. In this case, the data read from the orthogonal transformation memories TM0 to TM3 is stored in the 64-
ステータスST1は、直交変換メモリTM0−TM3および64ビットバッファからのデータ読出および主演算回路ブロックへのデータの転送を行なう。このステータスST1においては、直交変換メモリから読出されたデータの半分が64ビットバッファ68へ格納され、残りの半分の直交変換メモリからの読出データと64ビットバッファ68の格納データが主演算回路へ与えられる。このステータスST0からステータスST1への遷移時に、転送カウンタRCNTのカウント値が1増分される。前述のように、8ビットモード時においては、カウント値RCNT[!2,!0;5:3]がアドレスとして利用される。従って、最初のサイクルにおいては、アドレス24が直交変換メモリTM0−TM3において指定される。
Status ST1 reads data from orthogonal transformation memories TM0 to TM3 and the 64-bit buffer and transfers data to the main arithmetic circuit block. In this status ST1, half of the data read from the orthogonal transformation memory is stored in the 64-
ステータスST2は、64ビットバッファメモリから主演算回路ブロックへのデータ読出であり、このステータスST2においては、64ビットバッファメモリに格納された64ビットデータが主演算回路へ転送される。これにより、1つの64個のデータの1ビットの主演算回路へのデータの転送が完了する。この動作を、データの各ビットごとに繰返し実行する。ステータスST1からステータスST2の間で、マット転送アドレスカウンタ168(図26参照)のカウント値WCNT[0]を更新する。 The status ST2 is data reading from the 64-bit buffer memory to the main arithmetic circuit block. In the status ST2, 64-bit data stored in the 64-bit buffer memory is transferred to the main arithmetic circuit. This completes the transfer of the data of one 64 pieces of data to the 1-bit main arithmetic circuit. This operation is repeated for each bit of data. The count value WCNT [0] of the mat transfer address counter 168 (see FIG. 26) is updated between the status ST1 and the status ST2.
図33は、ステータスST0のデータの流れを模式的に示す図である。このステータスST0においては、データ転送マスク信号MDM0およびMDM1に従って直交変換メモリTM0−TM3の上位または下位の16ビットの転送にマスクがかけられる。図33においては、データ転送マスク信号MDM0が“0”であり、また、データ転送マスク信号MDM1が“1”であり、マスクをかける状態に設定される場合を一例として示す。 FIG. 33 is a diagram schematically showing the flow of data of status ST0. In this status ST0, the transfer of the upper 16 bits or lower 16 bits of the orthogonal transformation memories TM0 to TM3 is masked according to the data transfer mask signals MDM0 and MDM1. FIG. 33 shows an example in which the data transfer mask signal MDM0 is “0” and the data transfer mask signal MDM1 is “1”, and the masking state is set.
この場合、直交変換メモリTM0−TM3において、メモリブロックBKaの上位16ビットのデータがそれぞれ16ビットデータバス150a−150dに読出される。これらのデータバス150a−150dに読出されたデータは、マット転送アドレスカウンタのカウント値WCNT[0]が“0”であるため、図29に示すバス切換回路190により64ビットバッファ68に格納される。このとき、64ビットバッファ68の格納データは、ステータスST2においてバス切換回路192により選択されて主演算回路に転送される。
In this case, in the orthogonal transformation memories TM0 to TM3, the upper 16-bit data of the memory block BKa is read to the 16-
したがって、ステータスST0においては、直交変換メモリTM0−TM3から読出されたデータは、主演算回路ブロックへは転送されず、64ビットバッファへ格納され、直行変換メモリからの読出データ自体は、主演算回路へは転送されない。 Therefore, in the status ST0, the data read from the orthogonal transformation memories TM0 to TM3 is not transferred to the main arithmetic circuit block, but is stored in the 64-bit buffer, and the read data from the direct conversion memory itself is the main arithmetic circuit. Is not forwarded to.
図34は、ステータスST1におけるデータの流れを模式的に示す図である。ステータスST1において、ステータスST0からの遷移時に、転送アドレスカウンタRCNTのカウント値が1更新される。8ビットモード時においては、カウント値RCNT[!2,!0;5:3]がアドレスとして利用され、ステータスST0においてアドレス24が指定されると、このステータスST1においては、アドレス16が指定される。この場合、メモリブロックBKbが、直交変換メモリTM0−TM3それぞれにおいてアドレス指定されて、各直交変換メモリにおいてデータの読出が実行される。この場合においても、カウントビットRCNT[1]は、“0”であり、転送マスク信号MDM0およびMDM1は、それぞれ“0”および“1”であり、直交変換メモリTM0−TM3の上位16ビットの領域、すなわちX方向のアドレス0から15の領域のデータの読出が実行される。
FIG. 34 is a diagram schematically showing the flow of data in status ST1. In the status ST1, at the time of transition from the status ST0, the count value of the transfer address counter RCNT is updated by 1. In 8-bit mode, the count value RCNT [! 2 ,! 0; 5: 3] is used as an address, and when
転送アドレスカウンタ168(図26参照)のカウント値WCNT[0]が更新され1となる。したがって、この場合には、図26に示すバス切換回路190はこのデータバス150a−150dの各々の下位8ビットのデータとバッファ68の下位領域に格納されるデータを選択してバッファ68へ格納する。したがってバッファ68へは、先のサイクルに書込まれた32ビットデータが上位16ビット領域に格納され、この直交変換メモリTM0−TM3のX方向のアドレス8から15の領域のデータがバッファ68の下位32ビット領域に格納される。
The count value WCNT [0] of the transfer address counter 168 (see FIG. 26) is updated to “1”. Therefore, in this case, the
このバッファ68へのデータ格納と並行して、バッファ68の上位32ビットデータと、データバス150UL上のデータ、すなわちデータバス150a−150dそれぞれの上位8ビットのデータ、すなわち直交変換メモリTM0−TM3のX方向のアドレス0から7の上位8ビットのデータが主演算回路へ転送される。
In parallel with the data storage in the
ステータスST2は、バッファ68からの64ビットデータが主演算回路へ転送される状態であり、直交変換メモリが、次いで、ステータスIDLEへ復帰する。
The status ST2 is a state in which 64-bit data from the
次のステータスST0においては、転送アドレスカウンタRCNTのカウントビットRCNT[1]が、“1”となり、図35に示すように、転送マスク指示信号MDM0およびMHDM1がそれぞれ“1”および“0”となる。この場合には、直交変換メモリTM0−TM3のX方向のアドレス0から15の領域にアクセスに対しマスクがかけられ、アドレス16から31の領域のデータの転送が実行される。転送動作は、先の図33および図34に示す動作と同じ動作が繰返される。
In the next status ST0, the count bit RCNT [1] of the transfer address counter RCNT becomes “1”, and as shown in FIG. 35, the transfer mask instruction signals MDM0 and MHDM1 become “1” and “0”, respectively. . In this case, the area of
したがって、直交変換メモリTM0−TM3に格納されるデータを、偶数データ、奇数データの最下位ビットから交互に読出し、データ0からデータ511の最下位ビットをすべて転送した後に、次いで再びデータ0からデータ511の次の上位ビット[1]の転送を実行する。
Therefore, the data stored in the orthogonal transformation memories TM0 to TM3 are alternately read from the least significant bit of the even data and the odd data, and all the least significant bits of the
図36は、8ビットモード時におけるデータの直交変換メモリ、64ビットバッファおよび主演算回路インターフェイス(I/F)へ接続されるインタフェース(I/F)バスへのデータの流れを示す図である。 FIG. 36 is a diagram showing the flow of data to the interface (I / F) bus connected to the orthogonal transform memory of data, the 64-bit buffer, and the main arithmetic circuit interface (I / F) in the 8-bit mode.
図36において、各データ転送サイクルごとに、マット転送アドレスカウンタのカウント値WCNT[0]が“0”および“1”を繰返す。マットアドレスMADDは、24、16、24、16,25,17、…のシーケンスで変化する。8ビットモードにおいては、図36に示すように、転送サイクルのカウント値、すなわち転送アドレスカウンタのカウントビットRCNT[1]の値に従って、転送マスク指示信号MDM0およびMDM1が、2転送サイクルごとに、“0”および“1”を繰返す。 In FIG. 36, the count value WCNT [0] of the mat transfer address counter repeats “0” and “1” for each data transfer cycle. The mat address MADD changes in the sequence of 24, 16, 24, 16, 25, 17,. In the 8-bit mode, as shown in FIG. 36, according to the count value of the transfer cycle, that is, the value of the count bit RCNT [1] of the transfer address counter, the transfer mask instruction signals MDM0 and MDM1 are “ Repeat “0” and “1”.
まず、サイクル1において、直交変換メモリTM0−TM3から、アドレス24に従って、偶数データD0−D126の最下位ビットD0[0]−D126[0]が読出される。このサイクル1は、ステータスST0であり、直交変換メモリTM0−TM3から読みされたデータは、64ビットバッファ68に全て格納される。
First, in
サイクル2において、カウント値WCNT[0]が“1”となり、アドレスMADDが16となる。直交変換メモリTM0−TM3において、奇数データD1−D127の最下位ビットD1[0]−D127[0]が、アドレス16から読出される。バッファ68に対しては、32ビットの奇数データの最下位ビットD65[0]−D127[0]により、偶数データの最下位ビットデータD0[0]−D62[0]が置換される。このとき、64ビットバッファからは、既にデータビットD0[0]−D62[0]が読出されており、インタフェースバスへは、64ビットバッファ68からの偶数データの最下位ビットビットD0[0]−D62[0]および直交変換メモリTM0−TM3から読出された奇数データの最下位ビットD1[0]−D63[0]が、バス切換回路192により出力される。この転送サイクル1は、ステータスST1である。
In
サイクル3において、再びカウント値WCNT[0]が“0”となり、またアドレスMADDが、24となる。この場合、転送アドレスカウントビットRCNT[1]に従ってデータ転送マスク信号MDM0およびMDM1がそれぞれ“1”および“0”となる。したがって、直交変換メモリTM0−TM3からは、下位16ビット領域の偶数データの最下位ビットD128[0]−D256[0]が読出され、64ビットバッファ68に格納される。このとき、64ビットバッファ68の格納する偶数データのビットD64[0]−D126[0]および奇数データのビットD65[0]−D127[0]が、バス切換回路により選択されてインターフェイスバス上に転送される。この転送サイクル3は、ステータスST2である。
In
以降、この動作が繰返し実行される。すなわち、64ビットバッファへの書込については、バッファの全体の更新、バッファの半分の更新を繰返し実行し、一方、64ビットバッファからの読出については、64ビットバッファ全体の読出および64ビットバッファの半分の更新対象のデータの32ビットと直交変換メモリTM0−TM3から読出されたデータの32ビットデータの読出を繰返し実行する。 Thereafter, this operation is repeatedly executed. That is, for writing to the 64-bit buffer, the entire buffer is updated and half of the buffer is updated repeatedly, while for reading from the 64-bit buffer, the entire 64-bit buffer is read and the 64-bit buffer is read. Reading of half of the 32 bits of data to be updated and 32 bits of data read from the orthogonal transformation memories TM0 to TM3 are repeatedly executed.
サイクル64において、直交変換メモリTM0−TM3のアドレス7の奇数データの最上位ビットD385[7]−D511[7]が読出される。このサイクル64においては、ステータスST1であり、64ビットバッファ68の半分の領域の更新が行なわれ、64ビットバッファへ、アドレス7の奇数データD449−D511の最上位ビットD449[7]−D511[7]が格納される。バッファ68においては、非更新データとして、偶数データの最上位ビットD448[7]−D510[7]が再格納される。
In
この64ビットバッファへのデータの格納と並行して、また、偶数データD384−D446の最上位ビットD384[7]−D446[7]および64ビットバッファの更新対象のデータビットD385[7]−D447[7]が、インターフェイスバス上に読出される。 In parallel with the storage of data in the 64-bit buffer, the most significant bits D384 [7] -D446 [7] of the even-numbered data D384-D446 and the data bits D385 [7] -D447 to be updated in the 64-bit buffer. [7] is read on the interface bus.
サイクル65において、64ビットバッファの格納する偶数データの最上位ビットD448[7]−D510[7]および奇数データの最上位ビットD449[7]−D511[7]を読出すことにより、すべてのデータの転送が完了する。
In
したがって、バッファ68に対し先読込を行なうため、1サイクルのレイテンシが生じるものの、64アドレス更新で読出された512個の8ビットデータを、65サイクルですべて転送することができる。
Therefore, since pre-reading is performed with respect to the
B:16ビットモード
16ビットモードにおいては、直交変換メモリTM0−TM3に格納されるデータのビット幅が、8ビットモード時と異なるだけである。したがって、バス接続は、8ビットモード時と同じであり、またリードイネーブル信号/MRE0−/MRE3と、転送マスク信号MDM0およびMDM1は、8ビットモード時と同じ態様で生成される。単に、読出転送アドレスMADDが、カウント値RCNT[!0;5:2]に従って生成されるため、読出アドレスが、16、0、16、0、17、1、…のシーケンスで生成されるだけであり、メモリセルのデータの転送態様は8ビットモードと同じである。また、この16ビットモードにおいても、65サイクルで、256個の16ビットデータをすべて転送することができる。
B: 16-bit mode In the 16-bit mode, the bit width of data stored in the orthogonal transformation memories TM0 to TM3 is only different from that in the 8-bit mode. Therefore, the bus connection is the same as in the 8-bit mode, and read enable signals / MRE0- / MRE3 and transfer mask signals MDM0 and MDM1 are generated in the same manner as in the 8-bit mode. The read transfer address MADD is simply the count value RCNT [! 0; 5: 2], the read address is generated only in the sequence of 16, 0, 16, 0, 17, 1,..., And the data transfer mode of the memory cell is an 8-bit mode. Is the same. Also in this 16-bit mode, all 256 pieces of 16-bit data can be transferred in 65 cycles.
C:32ビットモード
図37は、32ビットモード時の直交変換メモリTM0−TM3と64ビットデータバス55の接続を概略的に示す図である。図37において、バスセレクタ140aは、32ビット幅指定信号BWS3に従って直交変換メモリTM0の下位16ビットポートLを、16ビットデータバス150bに結合する。バスセレクタ140bおよび142cは、それぞれ、直交変換メモリTM2の上位16ビットポートUおよび下位16ビットポートLを、それぞれ16ビットデータバス150aおよび150bに結合する。
C: 32-bit Mode FIG. 37 is a diagram schematically showing the connection between the orthogonal transformation memories TM0 to TM3 and the 64-
バスセレクタ142aおよび142bは、それぞれ、32ビット幅指定信号BWS32に従って、直交変換メモリTM1の上位16ビットポートUおよび下位16ビットポートLを、それぞれ16ビットデータバス150cおよび150dに結合する。セレクタ140cは、32ビット幅指定信号BWS32に従って直交変換メモリTM3の上位16ビットポートUを、16ビットデータバス150cに結合する。
直交変換メモリTM0の上位16ビットポートUは、16ビットデータバス150aに結合され、直交変換メモリTM3の下位16ビットポートLは、16ビットデータバス150dに結合される。
The upper 16-bit port U of the orthogonal transformation memory TM0 is coupled to the 16-
図29に示すように、32ビットモード時においては、バッファ更新回路170内のバス切換回路190は、64ビットデータバス55からの64ビットバッファ68に転送し、転送データ選択回路172内のバス切換回路192も、64ビットバッファ68からの64ビットデータを主演算回路インターフェイス(I/F)へ転送する。したがって、このデータバス55上に伝達された64ビットデータは、バッファ68に一旦格納された後、主演算回路I/Fへ転送される。
As shown in FIG. 29, in the 32-bit mode, the
図38は、32ビットモードにおけるアクセスシーケンスを模式的に示す図である。リードイネーブル信号/MRE0および/MRE1は、それぞれ、転送アドレスカウンタRCNTの最上位ビットRCNT[5]に従って生成され、リードイネーブル信号/MRE2および/MRE3は、このカウント値RCNT[5]の反転値に従って生成される(図28参照)。読出アドレスMADDは、下位のカウントビットRCNT[4:0]に従って生成される(図27参照)。 また、転送マスク信号MDM0およびMDM1は、32ビットモード時においては、ともに非活性状態の“0”に設定される。 FIG. 38 schematically shows an access sequence in the 32-bit mode. The read enable signals / MRE0 and / MRE1 are generated according to the most significant bit RCNT [5] of the transfer address counter RCNT, and the read enable signals / MRE2 and / MRE3 are generated according to the inverted value of the count value RCNT [5]. (See FIG. 28). The read address MADD is generated according to the lower count bits RCNT [4: 0] (see FIG. 27). Transfer mask signals MDM0 and MDM1 are both set to “0” in an inactive state in the 32-bit mode.
したがって、最初の32サイクルにおいては、直交変換メモリTM0およびTM1が、各々活性化され、読出アドレスMADDが、アドレス0から31を示す間、これらの直交変換メモリTM0およびTM1とデータバス150a−150dとの間でデータ転送を実行する。バッファ68を通して、データ読出から1サイクル遅れて、32連続アドレスの64ビットデータが、主演算回路インターフェイス(I/F)へ順次転送される。
Therefore, in the first 32 cycles, orthogonal transformation memories TM0 and TM1 are activated, respectively, and while read address MADD indicates
この間、直交変換メモリTM2およびTM3は、非活性状態であり、このデータ転送動作に対しては影響は及ぼさない。 During this time, the orthogonal transformation memories TM2 and TM3 are inactive and have no effect on the data transfer operation.
図39は、32ビットモードにおける後半のデータの読出時のデータの流れを模式的に示す図である。最初の32サイクルにより、前半の連続データD0−D63の転送が完了すると、転送アドレスカウンタRCNTの最上位カウントビットRCNT[5]が“1”となる。したがって、次のサイクルからは、直交変換メモリTM0およびTM1に対するリードイネーブル信号/MRE0および/NRE1は、ともに“1”となり、直交変換メモリTM0およびTM1へのアクセスは停止される。一方、直交変換メモリTM2およびTM3に対するリードイネーブル信号/MRE2および/MRE3がともに“0”となり、これらの直交変換メモリTM2およびTM3へのアクセスが許可される。 FIG. 39 is a diagram schematically showing a data flow when reading the latter half of data in the 32-bit mode. When the transfer of the first half continuous data D0 to D63 is completed in the first 32 cycles, the most significant count bit RCNT [5] of the transfer address counter RCNT becomes “1”. Therefore, from the next cycle, the read enable signals / MRE0 and / NRE1 for the orthogonal transformation memories TM0 and TM1 are both “1”, and access to the orthogonal transformation memories TM0 and TM1 is stopped. On the other hand, the read enable signals / MRE2 and / MRE3 for the orthogonal transformation memories TM2 and TM3 are both "0", and access to these orthogonal transformation memories TM2 and TM3 is permitted.
この場合、転送アドレスカウンタRCNTのカウント値RCNT[4:0]に従って、アドレス0からアドレス31が順次指定されて、データバス150a−150d上に、後半の連続データD64−D127が、ビットシリアル態様で転送される。
In this case, addresses 0 to 31 are sequentially designated according to the count value RCNT [4: 0] of the transfer address counter RCNT, and the second half of the continuous data D64 to D127 is transmitted in a bit serial manner on the
この32ビットモードにおいては、8ビットモードと同様のステータス制御が実行される。バス切換回路190および192におけるバス切換が固定的に設定され、バッファの半分の更新が行なわれずバッファの全更新が行なわれるため、ステータスST1が、省略されるように見えるが、転送アドレスカウンタおよびマット転送アドレスカウンタの更新動作は、8ビットモードと同様であり、8ビットモード時と同様の転送制御により、確実に、アドレスを更新して、32ビットデータの転送を行なうことができる。
In this 32-bit mode, status control similar to that in the 8-bit mode is executed. Since the bus switching in the
D:64ビットモード
図40は、64ビットモード時のバスセレクタ140a−140cおよび142a−142cの接続態様を概略的に示す図である。この64ビットモードにおいては、図のX方向に整列する直交変換メモリが並行してイネーブルされる。したがって、バスセレクタ140aは、直交変換メモリTM0の下位16ビットポートLを、16ビットデータバス150bに結合する。バスセレクタ140bおよび142cは、直交変換メモリTM2の上位16ビットポートUおよび下位16ビットポートLを、それぞれ、16ビットデータバス150cおよび150dに結合する。バスセレクタ142aおよび142bは、直交変換メモリTM1の上位16ビットポートUおよび下位16ビットポートLを、それぞれ、16ビットデータバス150aおよび150bに結合する。バスセレクタ142cは、直交変換メモリTM3の上位16ビットポートUを16ビットデータバス150cに結合する。
D: 64-bit mode FIG. 40 schematically shows a connection mode of
これらのバスセレクタ140a−140cおよび142a−142cの接続経路は、64ビット幅指示信号BWS64に従って設定される。64ビットモードにおいては、図28に示すように、リードイネーブル信号/MRE0および/MRE2は、転送アドレスカウンタRCNTのカウント値RCNT[5]の反転値に従って生成され、リードイネーブル信号/MRE1および/MRE3は、転送アドレスカウンタRCNTのカウント値RCNT[5]に従って生成される。従って、最初の32サイクルは、直交変換メモリTM1およびTM3に対してデータの読出が実行され、後半の32サイクルにおいては、直交変換メモリTM0およびTM2に対してデータの読出が実行される。
Connection paths of these
図41は、64ビットモードの最初のサイクル0からサイクル31におけるアクセス態様を概略的に示す図である。直交変換メモリTM1およびTM3に対するリードイネーブル信号/MRE0および/MRE3は、上述のように、これらのサイクル0−31の間活性状態である。したがって、サイクル0から31においては、直交変換メモリTM1およびTM3においてアドレス0から31まで順次メモリセルが選択され、それぞれデータバス150a−150d上に、連続する64個のデータD0−D63が、ビットシリアル態様で転送される。
FIG. 41 schematically shows an access mode in the
直交変換メモリTM1およびTM3の64ビットデータの下位31ビットの転送が完了すると、転送アドレスカウンタRCNTの最上位ビットRCNT[5]が“1”となる。この場合、図42に示すように、直交変換メモリTM1およびTM3に対するリードイネーブル信号/MRE1および/MRE3が“1”となり、直交変換メモリTM1およびTM3はディスエーブル状態に設定される。一方、直交変換メモリTM0およびTM2に対するリードイネーブル信号/MRE0および/MRE2が、“0”となり、直交変換メモリTM0−TM2に対するデータアクセスが実行される。残りのカウント値RCNT[4:0]に従ってアドレス0から31の64ビットデータの上位32ビットのデータが、それぞれデータバス150a−150dに、ビットシリアル態様で転送される。
When the transfer of the lower 31 bits of the 64-bit data of the orthogonal transformation memories TM1 and TM3 is completed, the most significant bit RCNT [5] of the transfer address counter RCNT becomes “1”. In this case, as shown in FIG. 42, the read enable signals / MRE1 and / MRE3 for the orthogonal transformation memories TM1 and TM3 are set to “1”, and the orthogonal transformation memories TM1 and TM3 are set to a disabled state. On the other hand, the read enable signals / MRE0 and / MRE2 for the orthogonal transformation memories TM0 and TM2 become “0”, and data access to the orthogonal transformation memories TM0 to TM2 is executed. According to the remaining count value RCNT [4: 0], the upper 32 bits of the 64-bit data at
64ビットモードにおいては、バス切換回路190および192は、ビット幅指定信号BWS32/64に従って、その接続経路が、64ビットバッファと64ビットデータを転送するように固定される。従って、直交変換メモリTM1およびTM3の組から読出された64ビットデータおよび直交変換メモリTM0およびTM2から読出された64ビットデータは、32ビットモード時と同様、データバス55から64ビットバッファ68に一旦格納された後、主演算回路I/Fへ転送される。従って、この64ビットモードにおいても、64アドレスの64ビットデータを65サイクルで転送することができる。
In the 64-bit mode,
この場合、先の8ビットモード、16ビットモードおよび32ビットモードと異なり、データバス55上には、64ワードのデータが順次そのデータ番号順に配列され、偶数データおよび奇数データのグループには分離されない。しかしながら、説明するように、データ配列が64ビットモード時において他のモード時と異なっていても特に問題は、生じない。
In this case, unlike the previous 8-bit mode, 16-bit mode, and 32-bit mode, 64-word data is sequentially arranged in the order of the data numbers on the
すなわち、図43に示すように、主演算回路内のメモリセルマットにおいては、エントリパラレルかつビットシリアル態様で演算処理が実行される。メモリセルマット30に対しては、内部データバス200を介して主演算回路ブロックI/Fから64ビットデータがビットシリアル態様で順次転送されて格納される。エントリERY0−ERY(M−1)に、演算対象のデータが格納され、それぞれ対応の演算器(ALU)31との間でビットシリアル態様で演算処理が実行される。したがって、エントリERY0、ERY1、…ERY(M−2)、およびERY(M−1)において演算データの組、たとえば2項演算の場合のデータの組(Da,Db)、(Dc,Dd)、…、(De,Df)、および(Dg,Dh)がそれぞれ格納されれば、エントリパラレルかつビットシリアル態様で演算処理を実行することができる。このメモリセルマット30において、エントリERY0からERY(M−1)に従って、データ番号順に順次データを配列することは特に要求されない。
That is, as shown in FIG. 43, in the memory cell mat in the main arithmetic circuit, arithmetic processing is executed in an entry parallel and bit serial manner. For
メモリセルマット30から直交変換回路へのデータ転送時には、直交変換回路40からメモリセルマット30へ転送されたデータ配列順序と同じデータ配列順序で転送される。この後、直交変換回路における直交変換メモリTM0−TM3に従って、直交変換が行なわれて、内部システムバスへ転送される。
When data is transferred from the
メモリセルマット30から、すなわち主演算回路20から直交変換回路の直交変換メモリTM0−TM3へのデータ転送は、図37から図42において示すデータ転送方向が逆になるだけである。すなわち、主演算回路に含まれるコントローラ(22)からの転送指示に従って、リードイネーブル信号に代えてライトイネーブル信号(/MWE0−/MWE3)がデータ読出時と同様シーケンスで活性化される。データの書込がデータ読出に代えてこれらの直交変換メモリTM0−TM3において行なわれればよい。
Data transfer from the
この主演算回路内のメモリセルマットから直交変換回路へのデータ転送時におけるバッファ68へのデータ格納および読出ならびにバス切換回路170および172およびバスセレクタ140a−140c、142a−142cの接続態様は、直交変換回路から主演算回路へのデータ転送時と同じである。したがって、図26に示す構成において、主演算回路のメモリコントローラの読出指示MRENに代えて書込指示MWENが、転送アドレス発生回路160および転送制御回路166へ与えられて、ステータスレジスタの初期設定が行なわれればよい。
The data storage and reading to the
また、直交変換回路と主演算回路との間のデータ転送時には、上述の説明においては、偶数データが先にアクセスされ、次いで奇数データがアクセスされている。しかしながら、この順序は逆であってもよい。連続するデータ群において偶数データの組および奇数データの組が交互にアクセスされればよい。 Further, at the time of data transfer between the orthogonal transform circuit and the main arithmetic circuit, in the above description, even data is accessed first, and then odd data is accessed. However, this order may be reversed. It suffices that even-numbered data sets and odd-numbered data sets are accessed alternately in a continuous data group.
なお、64ビットモードにおいても、ステータスレジスタに格納されるステータス情報は、図32に示すステータス情報と同じであり、同様の制御を行ない、バス接続経路を切換え、発生するアドレスの範囲を変更するだけである(転送アドレスカウンタRCNTのカウントアップ動作は同じである)。 Even in the 64-bit mode, the status information stored in the status register is the same as the status information shown in FIG. 32. The same control is performed, the bus connection path is switched, and the range of generated addresses is changed. (The count-up operation of the transfer address counter RCNT is the same).
上述の説明においては、最小データビット幅が、8ビットを想定している。最小データビット幅が4ビットの場合には、以下のように構成する。システムバスとの間の転送時には、直交変換メモリTM0−TM3を、各々、32アドレス16ビットのメモリに分割する。各分割メモリとの間で8ビット単位でデータの転送を行う。4個の分割メモリとの間のデータ転送の態様は、2個の直交変換メモリとの間の8ビットデータ転送と同じである。主演算回路との間のデータ転送時には、8ビットモード時と同様のバス接続を行い、全分割メモリに対して8ビット単位で偶数アドレスおよび奇数アドレスを交互に切換えてデータの転送を行う。64ビットバッファへのアクセス態様は、8ビットモード時と同様である。この場合においても、各分割メモリにおいて、偶数データおよび奇数データの組が2つあり、アドレス領域が4分割されるため、合計64サイクルで分割メモリに対してデータの転送を行うことができる。すなわち、16ビット単位のマスクに代えて8ビット単位のマスクをかける構成が利用されればよい。 In the above description, the minimum data bit width is assumed to be 8 bits. When the minimum data bit width is 4 bits, the configuration is as follows. At the time of transfer to and from the system bus, the orthogonal transform memories TM0 to TM3 are each divided into memories of 32 addresses and 16 bits. Data is transferred to / from each divided memory in units of 8 bits. The mode of data transfer between the four divided memories is the same as that of 8-bit data transfer between the two orthogonal transformation memories. When transferring data to and from the main arithmetic circuit, the same bus connection as in the 8-bit mode is performed, and data transfer is performed by alternately switching even addresses and odd addresses in units of 8 bits to all the divided memories. The access mode to the 64-bit buffer is the same as in the 8-bit mode. Even in this case, each divided memory has two sets of even data and odd data, and the address area is divided into four, so that data can be transferred to the divided memory in a total of 64 cycles. That is, a configuration in which an 8-bit mask is used instead of a 16-bit mask may be used.
従って、転送されるデータのビット幅は、8、16、32および62ビットの組に限定されない。システムバスのビット幅の1/2のビット幅のデータバスを用いて、システムバスと直交変換回路の間でデータの転送を行い、主演算回路との間でシステムバスと同一のビット幅のデータバスを用いて転送することができればよい。 Therefore, the bit width of the transferred data is not limited to a set of 8, 16, 32, and 62 bits. Data is transferred between the system bus and the orthogonal transformation circuit using a data bus having a bit width that is ½ of the system bus bit width, and data having the same bit width as that of the system bus is transferred to the main arithmetic circuit. What is necessary is just to be able to transfer using a bus | bath.
なお、この発明に従う直交変換回路の構成を一般化すると、以下のようにその構成を表わすことができる。 When the configuration of the orthogonal transform circuit according to the present invention is generalized, the configuration can be expressed as follows.
[条件]
システムの転送データの最小ビット幅:M、
システムデータバスのビット幅: K、
直交変換回路内のシステム側のデータバス(50)のビット幅:L、
直交変換回路内の主演算側データバス(55)のビット幅 :K、
主演算回路側バッファメモリのビット幅: K。
[conditions]
Minimum bit width of system transfer data: M,
System data bus bit width: K,
Bit width of the data bus (50) on the system side in the orthogonal transformation circuit: L,
Bit width of main operation side data bus (55) in orthogonal transformation circuit: K,
Bit width of main arithmetic circuit side buffer memory: K.
[直交変換メモリの構成]
数N=L・M/K、
システムバス側アドレス:L、
主演算回路側アドレス: M・N。
[Orthogonal transformation memory configuration]
Number N = L · M / K,
System bus side address: L,
Main arithmetic circuit side address: MN.
[主演算回路側アクセスシーケンス]
転送データビット幅:J、
1転送サイクルで活性化される直交変換メモリの数:
INT{(L/J)}、関数INT{}は、(L/J)より小さくない最も近い整数を示す;
1システムサイクルにおいて活性化される直交変換メモリの数:
MIN{(L/J)、(K/L)}、関数MIN{}は、(L/J)および(K/L)の小さいほうを示す。
[Main arithmetic circuit side access sequence]
Transfer data bit width: J,
Number of orthogonal transform memories activated in one transfer cycle:
INT {(L / J)}, function INT {} indicates the nearest integer not less than (L / J);
Number of orthogonal transform memories activated in one system cycle:
MIN {(L / J), (K / L)} and function MIN {} indicate the smaller of (L / J) and (K / L).
直交変換メモリへのアクセスビット幅:MIN(2・J,M・N)。
[主演算回路側]
1転送サイクルで活性化される直交変換メモリの数:
MIN{(J/L),(K/L)}、
直交変換メモリへのアクセス幅:
MIN{2・J,M・N}、
(i)メモリアクセス幅が2・Jのとき:
Kビットバッファへの半分更新および全部更新を繰返して転送、
(ii)メモリアクセス幅がM・Nのとき:
全転送サイクル、Kビットバッファを通して転送。
Access bit width to the orthogonal transformation memory: MIN (2 · J, MN).
[Main arithmetic circuit side]
Number of orthogonal transform memories activated in one transfer cycle:
MIN {(J / L), (K / L)},
Access width to orthogonal transformation memory:
MIN {2 · J, MN},
(I) When the memory access width is 2 · J:
Transfer half-update and full update to K-bit buffer repeatedly,
(Ii) When the memory access width is MN:
All transfer cycles, transfer through K-bit buffer.
以上のように、この発明に従えば、バスの接続を切換えるとともに、アドレスをデータビット幅に応じて設定して、直交変換メモリとシステムバスとの間でデータを転送し、直交変換回路と主演算回路の間では、バッファを通してデータを転送している。したがって、バス幅を変更することなく、直交変換回路内の直交変換メモリの全メモリ領域を利用して、複数種類のビット幅のデータをデータバスの全ビット幅を利用して転送することができ、効率的にデータを転送することができる。 As described above, according to the present invention, the bus connection is switched, the address is set according to the data bit width, the data is transferred between the orthogonal transformation memory and the system bus, and the orthogonal transformation circuit and the main bus are transferred. Data is transferred between the arithmetic circuits through a buffer. Therefore, data of multiple types of bit widths can be transferred using all bit widths of the data bus using the entire memory area of the orthogonal transformation memory in the orthogonal transformation circuit without changing the bus width. Can transfer data efficiently.
また、この直交変換回路は、並列演算処理装置におけるシステム側と主演算回路内におけるメモリセルマットとの間でのデータ配列の直交変換を行なっている。しかしながら、直交変換操作は、一般に、行列演算処理において必要とされる。したがって、この発明に従う直交変換回路を、そのような行列演算処理を実行するシステム内に設けることにより、効率的にデータを転送して複数種類のビット幅のデータの行列演算処理を実行することができる。 In addition, this orthogonal transform circuit performs orthogonal transform of the data array between the system side in the parallel arithmetic processing unit and the memory cell mat in the main arithmetic circuit. However, the orthogonal transform operation is generally required in matrix calculation processing. Therefore, by providing the orthogonal transformation circuit according to the present invention in a system that executes such matrix calculation processing, it is possible to efficiently transfer data and execute matrix calculation processing of a plurality of types of bit width data. it can.
この発明に従う直交変換回路は、演算用メモリセルマットのエントリそれぞれに演算器が設けられる並列演算処理装置に対して適用することにより、データ転送を効率的に行なうことができ、より処理性能を改善することができる。 By applying the orthogonal transform circuit according to the present invention to a parallel arithmetic processing device in which an arithmetic unit is provided for each entry of the arithmetic memory cell mat, data transfer can be efficiently performed and processing performance is further improved. can do.
また、行列の乗算を行なう回路装置に対して行列の転置を行なう回路部分にこの発明に従う直交変換回路を適用することにより、高速でデータを転送し、種々のビット幅のデータに対して転置行列を生成して行列の乗算を行なうことができる。 Further, by applying the orthogonal transform circuit according to the present invention to a circuit portion that performs matrix transposition for a circuit device that performs matrix multiplication, data is transferred at high speed, and transpose matrix for data of various bit widths. Can be generated to perform matrix multiplication.
また、このような行列の乗算に限定されず、行列の転置操作が必要な回路部分に対して本発明に従う直交変換回路を適用することにおいて、効率的な直交変換を行なうことができ、ベクトル乗算処理などの処理を、種々のデータビット幅のデータに対して効率的に実行することができる。 Further, the present invention is not limited to such matrix multiplication, and by applying the orthogonal transformation circuit according to the present invention to a circuit portion that requires matrix transposition operation, efficient orthogonal transformation can be performed, and vector multiplication Processing such as processing can be efficiently performed on data of various data bit widths.
1 信号処理システム、2 システムLSI、20 主演算回路、24 システムバスI/F、30 メモリセルマット、31 演算器(ALU)、40 直交変換回路、7 内部システムバス、FB1−FBh 基本演算ブロック、TM0−TM3 2ポート直交変換メモリ、50,55 内部データバス、60 システムバス側制御部、65 主演算回路側制御部、68 64ビットバッファ、70 メモリセルアレイ、72 システムバス側書込/読出回路、74 システムバス側セル選択回路、76 主演算回路側書込/読出回路、78 主演算回路側セル選択回路、MC メモリセル、100 64ビットレジスタ、SL0−SL3,SSL0−SSL3 セレクタ、104 ビット幅設定レジスタ、102 アドレスレジスタ、120−123 書込/読出制御信号発生回路、130 書込マスク指示信号発生回路、140a−140c,142a−142c バスセレクタ、160 ビット幅設定レジスタ、162 ステータスレジスタ、164 転送アドレス発生回路、166 転送制御回路、168 マット転送アドレスカウンタ、170 バッファ更新回路、172 転送データ選択回路、RCLT 転送アドレスカウンタ、180 アドレス発生回路、182a−182d 読出活性化回路、184 転送マスク発生回路、190,192 バス切換回路。 1 signal processing system, 2 system LSI, 20 main arithmetic circuit, 24 system bus I / F, 30 memory cell mat, 31 arithmetic unit (ALU), 40 orthogonal transform circuit, 7 internal system bus, FB1-FBh basic arithmetic block, TM0-TM3 2-port orthogonal transformation memory, 50, 55 internal data bus, 60 system bus side control unit, 65 main arithmetic circuit side control unit, 68 64-bit buffer, 70 memory cell array, 72 system bus side write / read circuit, 74 System bus side cell selection circuit, 76 Main arithmetic circuit side write / read circuit, 78 Main arithmetic circuit side cell selection circuit, MC memory cell, 100 64-bit register, SL0-SL3, SSL0-SSL3 selector, 104 bit width setting Register, 102 address register, 120-123 Read / write control signal generation circuit, 130 write mask instruction signal generation circuit, 140a-140c, 142a-142c bus selector, 160-bit width setting register, 162 status register, 164 transfer address generation circuit, 166 transfer control circuit, 168 mat Transfer address counter, 170 Buffer update circuit, 172 Transfer data selection circuit, RCLT Transfer address counter, 180 address generation circuit, 182a-182d Read activation circuit, 184 Transfer mask generation circuit, 190, 192 Bus switching circuit
Claims (10)
前記複数の直交変換メモリの第1のポートに共通に結合され、各前記直交変換メモリの第1のポートを介して入出力可能なデータビット幅に等しくかつ外部のデータバスのビット幅よりも小さなビット幅を有する第1のデータバス、
前記複数の直交変換メモリの第2のポートに共通に結合され、各前記直交変換メモリの第2のポートを介して入出力可能なデータのビット幅よりも大きなビット幅を有する第2のデータバス、
前記第1のデータバスを介してのデータ転送時、転送データのビット幅を有するビット幅情報に従って、前記複数の直交変換メモリに対するアドレスおよび転送制御信号を前記複数の直交変換メモリ個々に生成するとともに、前記直交変換メモリの第1のポートと前記第1のデータバスとの接続経路を設定するシステム側制御回路、および
前記第2のデータバスを介してのデータ転送時、前記第2のデータバス上のデータを選択的に格納して転送するバッファを含み、前記第2のデータバスを介してのデータ転送時、前記ビット幅情報に従って、前記複数の直交変換メモリに対するバス接続経路の設定を行なうとともにアドレスおよび転送制御信号を各前記直交変換メモリ個々に生成し、さらに、前記バッファに対するデータの書込および読出を選択的に行なって、前記第2のポートからのデータと前記バッファからのデータとから最終の転送データを生成する主演算回路側制御回路を備える、直交変換回路。 A plurality of orthogonal transformation memories each having a first port and a second port, and an array of data transferred via the first and second ports being orthogonal to each other; and A first port coupled in common to the first port and having a bit width equal to a data bit width that can be input / output via the first port of each of the orthogonal transformation memories and smaller than a bit width of an external data bus; Data bus,
A second data bus coupled in common to the second ports of the plurality of orthogonal transformation memories and having a bit width larger than the bit width of the data that can be input / output via the second ports of the orthogonal transformation memories; ,
At the time of data transfer via the first data bus, addresses and transfer control signals for the plurality of orthogonal transform memories are individually generated in accordance with the bit width information having the bit width of the transfer data. A system-side control circuit for setting a connection path between the first port of the orthogonal transformation memory and the first data bus, and the second data bus during data transfer via the second data bus Including a buffer for selectively storing and transferring the above data, and setting a bus connection path for the plurality of orthogonal transformation memories according to the bit width information at the time of data transfer via the second data bus In addition, an address and a transfer control signal are generated individually for each of the orthogonal transformation memories, and further, data is written to and read from the buffer. An orthogonal transform circuit comprising a main arithmetic circuit side control circuit that selectively outputs data and generates final transfer data from data from the second port and data from the buffer.
前記複数の直交変換メモリ個々に対して所定数のビット単位でデータ転送にマスクをかけるマスク信号を生成する手段を備える、請求項1記載の直交変換回路。 The system side control circuit is:
2. The orthogonal transform circuit according to claim 1, further comprising means for generating a mask signal for masking data transfer in units of a predetermined number of bits for each of the plurality of orthogonal transform memories.
転送サイクル数をカウントする多ビット転送アドレスカウンタと、
前記ビット幅情報に従って、前記転送アドレスカウンタのカウントビットを並び換えて前記複数の直交変換メモリに対するアドレスを生成するアドレス選択回路を備える、請求項1記載の直交変換回路。 The main arithmetic circuit side control circuit is:
A multi-bit transfer address counter that counts the number of transfer cycles;
The orthogonal transformation circuit according to claim 1, further comprising an address selection circuit that rearranges count bits of the transfer address counter according to the bit width information to generate addresses for the plurality of orthogonal transformation memories.
前記ビット幅情報に従って前記複数の直交変換メモリの上位データビット領域および下位データビット領域へのアクセスを選択的にマスクする回路を備える、請求項1記載の直交変換回路。 The main arithmetic circuit side control circuit is:
2. The orthogonal transform circuit according to claim 1, further comprising a circuit that selectively masks access to the upper data bit region and the lower data bit region of the plurality of orthogonal transform memories according to the bit width information.
前記ビット幅情報とデータ転送サイクル数情報とに従って、前記複数の直交変換メモリの前記第2のポートに対するアクセスを活性化する活性化信号を前記複数の直交変換メモリ個々に発生する転送制御回路を備える、請求項1記載の直交変換回路。 The main arithmetic circuit side control circuit is:
A transfer control circuit for generating an activation signal for activating access to the second port of the plurality of orthogonal transform memories in accordance with the bit width information and the data transfer cycle number information; The orthogonal transform circuit according to claim 1.
前記主演算側制御回路は、
前記第2のデータバスを介してのデータ転送サイクル数をカウントするマット転送カウンタと、
前記マット転送カウンタのカウント値と前記ビット幅情報とに従って、前記第2のデータバスと前記バッファとの間のデータ転送経路を設定するバッファ更新回路と、
前記マット転送カウンタのカウント値と前記ビット幅情報とに従って、前記第2のデータバスおよび前記バッファと前記インタフェースとの間の接続経路を設定する転送データ選択回路を備える、請求項1記載の直交変換回路。 The second port of the orthogonal transform memory finally transfers data to and from the interface;
The main arithmetic control circuit is
A mat transfer counter for counting the number of data transfer cycles via the second data bus;
A buffer update circuit for setting a data transfer path between the second data bus and the buffer according to the count value of the mat transfer counter and the bit width information;
2. The orthogonal transform according to claim 1, further comprising: a transfer data selection circuit that sets a connection path between the second data bus and the buffer and the interface according to the count value of the mat transfer counter and the bit width information. circuit.
前記転送データ選択回路は、前記ビット幅情報が前記第1のビット幅を示すとき、前記第2のデータバスの残りの半分のデータビットおよび前記バッファの残りの半分のビットの転送と前記バッファの全ビットの転送とを繰返すように前記接続経路を設定する、請求項9記載の直交変換回路。 The buffer update circuit performs transfer between all the data bits of the second data bus and the buffer and the second data bus every transfer cycle when the bit width information specifies the first bit width. The data transfer path to repeat the transfer of half of the data bits and half of the data bits of the buffer to the buffer,
When the bit width information indicates the first bit width, the transfer data selection circuit transfers the remaining half of the data bits of the second data bus and the remaining half of the buffer, and The orthogonal transform circuit according to claim 9, wherein the connection path is set so as to repeat transfer of all bits.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007317186A JP5145581B2 (en) | 2007-12-07 | 2007-12-07 | Orthogonal transformation circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007317186A JP5145581B2 (en) | 2007-12-07 | 2007-12-07 | Orthogonal transformation circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009140323A JP2009140323A (en) | 2009-06-25 |
JP5145581B2 true JP5145581B2 (en) | 2013-02-20 |
Family
ID=40870850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007317186A Expired - Fee Related JP5145581B2 (en) | 2007-12-07 | 2007-12-07 | Orthogonal transformation circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5145581B2 (en) |
-
2007
- 2007-12-07 JP JP2007317186A patent/JP5145581B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009140323A (en) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6029923B2 (en) | Method and apparatus for reading NAND flash memory | |
JP4989900B2 (en) | Parallel processing unit | |
US7562198B2 (en) | Semiconductor device and semiconductor signal processing apparatus | |
JP3853736B2 (en) | User configurable on-chip memory system | |
US7840762B2 (en) | Multi-path accessible semiconductor memory device having mailbox areas and mailbox access control method thereof | |
JP5261803B2 (en) | High-speed fanout system architecture and input / output circuit for non-volatile memory | |
JP4978473B2 (en) | SRAM circuit and buffer circuit using the same | |
KR100642436B1 (en) | Pipe latch circuits of multi-bit pre-fetch type semiconductor memory device with improved structure | |
JP2008090419A (en) | Integrated circuit device | |
JP2001273774A5 (en) | ||
US8862836B2 (en) | Multi-port register file with an input pipelined architecture with asynchronous reads and localized feedback | |
TWI497495B (en) | Method and apparatus for reading nand flash memory | |
JP4854277B2 (en) | Orthogonal transformation circuit | |
JP4708723B2 (en) | Semiconductor memory device | |
JP5145581B2 (en) | Orthogonal transformation circuit | |
KR20190028127A (en) | Data control circuit, semiconductor memory apparatus and semiconductor system including the same | |
US7386650B2 (en) | Memory test circuit with data expander | |
JP2005182538A (en) | Data transfer device | |
JPH10177790A (en) | Pre-fetch method of memory element and memory structure adapting this method | |
JPH0844560A (en) | Memory control circuit and integrated circuit element incorporating this circuit | |
JP6493044B2 (en) | Multiprocessor system | |
Donchev et al. | External memory controller for Virtex II Pro | |
JP4557179B2 (en) | Microcomputer device | |
JPH07226079A (en) | Semiconductor memory | |
JPH1145207A (en) | Data bus conversion system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100602 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100826 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121106 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |