JP5785881B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP5785881B2
JP5785881B2 JP2012020046A JP2012020046A JP5785881B2 JP 5785881 B2 JP5785881 B2 JP 5785881B2 JP 2012020046 A JP2012020046 A JP 2012020046A JP 2012020046 A JP2012020046 A JP 2012020046A JP 5785881 B2 JP5785881 B2 JP 5785881B2
Authority
JP
Japan
Prior art keywords
address
semiconductor device
data
read
memory
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
Application number
JP2012020046A
Other languages
English (en)
Other versions
JP2013161125A (ja
Inventor
博行 中島
博行 中島
繁幸 上野
繁幸 上野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012020046A priority Critical patent/JP5785881B2/ja
Priority to US13/739,562 priority patent/US8880846B2/en
Publication of JP2013161125A publication Critical patent/JP2013161125A/ja
Application granted granted Critical
Publication of JP5785881B2 publication Critical patent/JP5785881B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2933Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code
    • H03M13/2936Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code comprising an outer Reed-Solomon code and an inner convolutional code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Error Detection And Correction (AREA)
  • Memory System (AREA)

Description

本発明は、半導体装置に関し、特に、メモリの不規則なアドレスに対して連続的にアクセスを行う半導体装置に関する。
テレビ放送等の無線通信では、国毎に異なる放送方式が採用されている。しかし、複数の無線方式に対応する受信機(例えば、テレビ、或いは、録画機)を開発する場合、放送方式毎に開発を行っていたのでは開発コスト及び製造コストが増大する問題がある。そのため、このような無線通信を行う受信機において無線処理を行う半導体装置に対しては、複数の放送方式に対応するマルチスタンダード化の要求が高まっている。また、このような受信機では、複数の放送チャンネルを同時に受信し、複数の番組を同時に視聴或いは録画するマルチチャンネル化の要求がある。そのため、半導体装置に対して、複数の番組を同時に処理するマルチチャンネル化の要求が高まっている。
しかし、マルチスタンダード及びマルチチャンネルに対応した機能を全てハードウェアで実現した場合、個々の放送方式及び複数のチャネルを同時に処理するために、放送方式数と同時処理チャネル数とに応じて回路規模が増大する問題がある。そこで、マルチスタンダード及びマルチチャネルに対応した機能をDSP(Digital Signal Processor)上で動作するソフトウェアで実現するソフトウェア無線が提案されている。
このソフトウェア無線では無線信号のデモジュレーション処理を行う。このデモジュレーション処理では、デインターリーブ処理に代表される、複雑かつ時間軸上広範囲に亘るデータの並び替えを行うような復号処理を行う必要がある。より具体的には、デインターリーブ処理では、不規則なメモリアクセスを連続したストリーム処理に合わせて行う必要がある。なお、デインターリーブ処理は、送信機器側で行われるインターリーブ処理の逆の処理を行うものであり、デインターリーブ処理によるデータ並び替えの方式は、送信機器側のインターリーブ処理に依存して決定される。
しかし、一般的なDSPでは、このような不規則かつ連続したメモリアクセスを行う事は処理能力の制限により難しい。そこで、不規則かつ連続したメモリアクセスを効率的に行う技術が特許文献1、2に開示されている。
特許文献1では、第1の記憶領域から第2の記憶領域にデータを転送するデータ転送装置が開示されている。このデータ転送装置は、中央演算装置、第1の記憶装置、第2の記憶装置、記憶手段、アドレス発生供給手段、アドレス読み出し手段と、を有する。
第1の記憶装置には転送対象のデータが格納される。第2の記憶装置は、転送対象のデータを格納する。記憶手段には、第1の記憶装置のアドレスと第2の記憶装置のアドレスとの転送単位データ毎の対応表が格納される。アドレス発生供給手段は、中央演算装置から第1の記憶装置のデータの読み出し開始アドレスが供給されたことに応じて、転送単位データ毎に第1の記憶装置に読み出しアドレスを供給する。アドレス読み出し供給手段は、第1の記憶装置のデータの読み出し開始アドレスが供給されたことに応じて、記憶手段から第1の記憶装置の読み出しアドレスに対応する第2の記憶装置のアドレスを読み出し、当該アドレスを第2の記憶装置に書き込みアドレスとして供給する。
つまり、特許文献1に記載のデータ転送装置では、対応表を用いて、第1の記憶装置の読み出しアドレスから第2の記憶装置の書き込みアドレスへの変換を行う。これにより、特許文献1に記載のデータ転送装置では、第1の記憶装置の読み出しアドレスとは異なる第2の記憶装置のアドレスへのデータの書き込みを効率良く行うことができる。
特許文献2は、複数の記憶装置の間のデータ転送を、中央演算装置とDMA(Direct Memory Access)コントローラとを用いて行うDMA転送方式について開示するものである。特許文献2では、DMAコントローラから供給される連続した転送先のアドレスを複数の記憶装置にアクセスする不連続なアドレスに変換する変換テーブルと、転送元のアドレスを不連続なアドレスに変換する変換テーブルと、それぞれの変換テーブルを用いてDMAコントローラから出力されるアドレスを実アドレスに変換するアドレス変換部を有する。
つまり、特許文献2では、変換テーブルとアドレス変換部により、DMAコントローラから出力されるアドレスを、転送元アドレスと転送先アドレスとで異なるアドレスに変換する。これにより、特許文献2では、転送元のアドレスとは異なるアドレスの転送先へのデータ転送の効率化を実現している。
特開昭59−114655号公報 特開平03−260750号公報
特許文献1、2では、変換テーブルを用いて、読み出しアドレスから書き込みアドレスへの変換を行っている。そのため、複数の通信方式に対応するためには、対応すべき通信方式で利用される変換テーブルを全て準備しなければならず変換テーブル大きくなる。また、特許文献1、2では、アドレスの変換パターンの全てを変換テーブルとして準備しなければならず1つの変換パターンだけを考えても変換テーブルが大きくなる。このように変換テーブルが大きくなると、この変換テーブルを格納するメモリの大きさが大きくなり回路規模が大きくなる問題がある。
本発明にかかる半導体装置の一態様は、第1のレジスタ群を備え、前記第1のレジスタ群に格納された値を用いて循環的に繰り返される第1のパターンでテーブルアドレスを生成する第1のアドレス生成部と、第2のレジスタ群を備え、前記第2のレジスタ群に格納された値を用いて循環的に繰り返される第2のパターンで仮アドレスを生成し、前記仮アドレスと前記テーブルアドレスにより決定されるパラメータ情報とに基づきアクセスアドレスを生成する第2のアドレス生成部と、前記第1のレジスタ群及び前記第2のレジスタ群に与える設定情報を出力する制御部と、を有し、前記アクセスアドレスを用いてデータメモリからのデータのリード処理とライト処理との少なくとも一方を行う。
本発明にかかる半導体装置の別の態様は、プログラムに沿った演算を行う演算器と、前記演算器が出力する命令に応じて動作を開始するメモリコントローラと、前記メモリコントローラから出力されるアクセスアドレスに基づきデータの入出力を行うデータメモリと、を有し、前記メモリコントローラは、前記命令に応じて前記データメモリへのアクセスルールを決定し、決定した前記アクセスルールに応じた設定情報を出力する制御部と、前記設定情報を用いて循環的に繰り返される第1のパターンでテーブルアドレスを生成する第1のアドレス生成部と、前記設定情報を用いて循環的に繰り返される第2のパターンで仮アドレスを生成し、前記仮アドレスと前記テーブルアドレスにより決定されるパラメータ情報とに基づきアクセスアドレスを生成する第2のアドレス生成部と、を有する。
本発明にかかる半導体装置では、第1のアドレス生成部において生成されるテーブルアドレスに基づきテーブル情報からアクセスアドレス生成に用いられるパラメータ情報を生成する。また、本発明にかかる半導体装置では、第2のアドレス生成部がパラメータ情報を用いてアクセスアドレスを生成する。このとき、第1のアドレス生成部と第2のアドレス生成部は、それぞれ循環的に繰り返されるパターンでアドレスを生成する。これにより、本発明にかかる半導体装置では、テーブル情報の大きさに比べて遙かに長い周期で繰り返される不連続なアクセスアドレスを生成することができる。
本発明にかかる半導体装置によれば、小さなテーブル情報から不連続かつ長い周期で繰り返されるアクセスアドレスを生成することができる。
本発明のデインターリーブ処理が適用される受信装置の受信処理のフローを示すブロック図である。 実施の形態1にかかる半導体装置のブロック図である。 実施の形態2にかかる半導体装置で生成されるアクセスアドレスの生成パターンを表現したプログラムの例である。 実施の形態2にかかる半導体装置のブロック図である。 実施の形態3にかかる半導体装置のブロック図である。 実施の形態4にかかる半導体装置のブロック図である。 実施の形態5にかかる半導体装置のブロック図である。 実施の形態6にかかる半導体装置のブロック図である。 実施の形態7にかかる半導体装置のブロック図である。
実施の形態1
以下、本発明の実施の形態について図面を参照して説明する。まず、本発明にかかる半導体装置は、DSP(Digital Signal Processor)等の演算器を用いて受信信号の復号処理を行うことで受信データを生成するものである。そこで、本発明にかかる半導体装置による復号処理が適用される受信機の復号処理のフローを示すブロック図を図1に示す。この図1に示すブロック図は、ARIBの規格において定義された処理を示すものであり、復号処理の一例を示すものである。
図1に示すように、受信機は、まずアンテナ100によりRF(Radio Frequency)信号を受信する。RF信号は、ミキサ101に入力される。ミキサ101では、発振器102により生成されたローカル信号によりRF信号を変調する。そして、ミキサ101から出力された信号は、IF回路103に入力される。IF回路103では、ミキサ101で変調された信号からIF信号を抽出する。そして、IF信号は、ミキサ104において発振器105で生成されたローカル信号によりさら変調されベースバンド信号となる。ベースバンド信号は、その後、アナログデジタル変換処理106によりデジタルデータに変換される。アナログデジタル変換処理106までの処理は、アナログ信号に対する処理であるため、個別の半導体装置で行われる処理である。一方、アナログデジタル変換処理106以降の処理は、デジタル信号に対する処理であるため、例えばDSP等を用いたソフトウェアによる処理が可能である。
アナログデジタル変換処理106において生成されたデジタルデータに対して直交復調処理107を施すことにより選択したチャンネルのデータが抽出される。その後、チャンネル選択されたデジタルデータに対してFFT(Fast Fourier Transform)処理108が施される。FFT処理108では、OFDM(Orthogonal Frequency Division Multiplexing)シンボルのうち、有効シンボルに相当する期間についてFFT処理を実施する。その際、受信信号のマルチパスの状況を考慮し、適切な期間でFFT処理が実施される。
続いて、FFT処理がなされたデジタルデータからフレーム抽出処理109が行われる。フレーム抽出処理109では、FFT処理されたデジタルデータに含まれるTMCC(Transmission and Multiplexing Configuration Control)信号からフレーム同期信号を抽出する。フレーム同期信号には、モード及びガードインターバル長に関する情報が含まれる。ここで、モード及びガードインターバル長は、送信機器側で付加される情報であり、パル値パスの影響を低減するために利用されるものである。そして、同期再生処理110では、モード及びガードインターバル長に応じてOFDMシンボル同期及びFFTサンプル周波数を再生する。
また、フレーム抽出処理109では、TMCC信号をTMCC復号処理111に渡す。TMCC復号処理111では、TMCC信号からTMCC情報を抽出し、各種制御を実施する。
AC復号処理112では、FFT処理108の出力のセグメントNo.0のAC信号のうち構成識別が地震動警報情報の伝送であることを示すとき(「001」、「110」)、地震動警報情報を抽出する。構成識別がそれ以外である場合には、AC信号を復号しない。なお、地震動警報情報とは、ARIB STD−B31「地上デジタルテレビジョン放送の伝送方式標準規格」の定義に基づくものである。
また、FFT処理108で生成されたデジタルデータに対してキャリア復調処理113を行う。キャリア復調処理113では、TMCC情報に応じ、DQPSK(Differential Quadrature Phase Shift Keying)用に差動復調や、QPSK(Quadrature Phase Shift Keying)、16QAM(16 Quadrature Amplitude Modulation)、64QAM(64 Quadrature Amplitude Modulation)用にスキャッタードパイロット(SP)を用いた同期復調を行い、振幅、及び位相情報を検出する。
続いて、周波数デインターリーブ処理114及び時間デインターリーブ処理115を行う。周波数デインターリーブ処理114では、FFT処理108で生成されたデータを周波数軸上で並び替える。時間デインターリーブ処理115では、周波数デインターリーブ処理されたデータを、さらに、時間軸上で並び替える。このデインターリーブ処理における並べ替えアルゴリズムは、送信機器側で行われる周波数インターリーブ処理及び時間インターリーブ処理の並べ替えアルゴリズムの逆のアルゴリズムである。
続いて、デマッピング処理116を行う。デマッピング処理116では、キャリア復調された情報からQPSK、16QAM、64QAMのデマッピングを実施し、ビット情報を抽出する。
続いて、階層分割処理117を行う。階層分割処理117では、TMCC情報に基づき伝送特性の異なる複数の階層を同時に伝送する階層伝送により無線信号を受信していることが判明した場合にデマッピング処理されたデータを各階層に分割する。なお、分割は、TSパケットの同期バイト(47H)の次のバイトから、次のTSパケットの同期バイトまでの204バイトを単位とする。
続いて、ビットデインターリーブ処理118〜120を行う。ビットデインターリーブ処理118〜120では、分割された階層ごとにビットデインターリーブ処理を行う。
続いて、デパンクチャ処理121〜123を行う。デパンクチャ処理121〜123では、分割された階層ごとに、TMCC情報により指定された畳み込み符号化率に応じ、畳み込み符号のビット補間を行う。
続いて、階層合成処理124を行う。階層合成処理124では、階層分割されたデータを合成して1つのデータを生成する。そして、ビタビ復号処理125において階層合成されたデータに対してビタビ復号処理を施す。図1に示す方式では、ビタビ復号処理125において、デパンクチャ処理されたデータから符号化率1/2のビタビ復号を実施する。ビタビ復号では性能向上のため軟判定処理を行う。また、畳み込み符号による誤り伝播を避けるため、TSパケットの同期バイト(47H)が既知であることを利用し終端処理を行う。
続いて、階層分割処理126を再度行う。この階層分割処理126は、階層分割処理117と同じ処理である。その後、バイトインタリーブ処理127〜129を行う。バイトデインターリーブ処理127〜129では、分割された階層ごとにデインターリーブ処理を行う。また、バイトデインターリーブ処理では、バイト単位でデインターリーブ処理を行う。
続いて、エネルギー拡散処理130〜132を行う。エネルギー拡散処理130〜132は、分割された階層ごとにエネルギー拡散処理を行う。エネルギー拡散処理130〜132では、15次のM系列PN信号と、TSパケットの同期バイトを除くビット単位で排他的論理和により逆拡散を行う。なお、同期バイト期間もシフトレジスタは動作し、OFDM伝送フレームごとに初期化する。
続いて、TS再生処理133を行う。TS再生処理133では、トランスポートストリーム再生のための処理を行う。この際、TSパケットの順番及びPCRの時間的位置が送信側と同じに保たれなければならない。その後、RS復号処理134を行うことで再生可能なTSストリームデータが生成される。RS復号処理134では、短縮化リードソロモン符号RSの復号を行う。その際、訂正後の誤りが検出された場合には、トランスポートストリームの先頭から9ビット目(2バイト目のMSB)のtransport_error_indicator を「1」にセットする。
このように、受信機を用いた通信システムでは、送信信号を生成する際にインターリーブ処理を施し、受信時にデインターリーブ処理を施すことで、送信時に発生するエラーが復号後のデータの1つに偏在してしまうことを防止する。インターリーブ処理及びデインターリーブ処理によりエラーを複数のデータに分散させることで、通信システムにおけるエラー訂正能力を向上させることができる。
ここで、上記のような通信システムでは、受信データがストリームデータとして与えられる。そのため、デインターリーブ処理は、連続的に行う必要がある。しかし、DSPを用いたソフトウェア処理により復号処理を行う場合、連続的なデインターリーブ処理は、DSPの処理能力の多くを占有するため、DSPにおいて行わなければならない他の処理を十分に行うことができない問題が発生する。そこで、実施の形態1にかかる半導体装置1では、デインターリーブ処理を連続的に行うメモリコントローラ10を備える。そして、実施の形態1にかかる半導体装置では、DSPにおけるデインターリーブ処理に関する負担を軽減することで、性能の向上を実現する。そこで、実施の形態1にかかる半導体装置1のブロック図を図2に示す。
図2に示すように、実施の形態1にかかる半導体装置1は、DSP、メモリコントローラ10、データメモリDM1、DM2を有する。なお、DSP、メモリコントローラ10、データメモリDM1、DM2は、それぞれ個別の半導体装置として実装されていてもよい。また、DSP及びメモリコントローラ10を1つの半導体装置とし、データメモリDM1、DM2をそれぞれ個別の半導体装置として構成しても良い。つまり、DSP、メモリコントローラ10、データメモリDM1、DM2をどのような構成とするかは、システムの使用に応じて適宜変更可能である。
また、実施の形態1にかかる半導体装置1では、データメモリDM1に、デインターリーブ処理の前処理を行う処理部からデインターリーブ処理の対象のデータが与えられるものとする。また、データメモリDM2には、デインターリーブ処理が行われた後のデータが格納される。例えば、半導体装置1が、周波数デインターリーブ処理を行う場合、キャリア復調処理113の処理結果がデータメモリDM1に格納される。また、周波数でインターリーブ処理の処理結果がデータメモリDM2に格納される。
DSPは、プログラムに沿った演算を行う演算器である。例えば、実施の形態1にかかる半導体装置1が図1に示した復号処理を行う場合、DSPは、直交復調処理107以降のデインターリーブ処理以外の処理を行う。また、DSPは、起動時、又は、デインターリーブ処理の実行前にメモリコントローラ10に対して復号の方式を指定する復号方法指定命令を発行する。メモリコントローラ10は、この復号方法指定命令に応じて、自身の動作に必要な動作条件指定情報を図示しないメモリから読み出して、自身が動作するための設定を行う。なお、メモリコントローラ10への動作条件指定情報は、DSPが与えても良い。また、実施の形態1にかかる半導体装置1では、1つのメモリコントローラ10により、図1の3つのデインターリーブ処理を行うため、メモリコントローラ10は各デインターリーブ処理前にその後に実行するデインターリーブ処理に対応した動作条件設定情報を読み込む。
メモリコントローラ10は、DSPからの命令に応じて動作を開始し、自己が生成するアクセスアドレスによってデータメモリからデータの入出力を行う。図2に示すメモリコントローラ10は、アクセスアドレスとしてリードアドレスRAとライトアドレスWAを生成する。なお、図2に示す例では、メモリコントローラ10がいずれも同じ回路ブロックを用いてアドレスが異なるリードアドレスRAとライトアドレスWAとを生成することとしたが、メモリコントローラ10は、リードアドレスRAとライトアドレスWAのいずれか一方を生成する構成とすることもできる。
図2に示すように、メモリコントローラ10は、マイクロCPU11、テーブルアドレス生成回路12、15、テーブルメモリ13、16、ループアドレス生成回路14、17、FIFO(First In First Out)メモリ18を有する。
マイクロCPU11は、メモリコントローラ10の動作を制御する制御部である。マイクロCPU11は、外部から与えられる動作条件指定情報に基づきメモリコントローラ10がアクセスアドレスの生成処理を行うための設定情報を生成する。この設定情報は、動作条件指定情報と同じものでもよく、また、マイクロCPU11が動作条件設定情報に対して演算処理を施すことにより生成されるものであっても良い。図2に示すれいでは、マイクロCPU11は、設定情報として、レジスタ設定値RS1、RS2及びテーブル情報ST1、ST2を生成する。
レジスタ設定値RS1は、テーブルアドレス生成回路12及びループアドレス生成回路14内のレジスタに格納される値を含む。レジスタ設定値RS2は、テーブルアドレス生成回路15及びループアドレス生成回路17内のレジスタに格納される値を含む。実施の形態1にかかる半導体装置1では、異なるアドレスを示すリードアドレスRAとライトアドレスWAとを生成するため、レジスタ設定値RS1とレジスタ設定値RS2とは異なる値を有する。
テーブル情報TS1は、テーブルメモリ13に格納されるテーブル情報である。また、テーブル情報TS2は、テーブルメモリ16に格納されるテーブル情報である。これらテーブル情報は、テーブルアドレスとパラメータ情報とを関連付けるテーブル情報である。
メモリコントローラ10では、テーブルアドレス生成回路12と、テーブルメモリ13と、ループアドレス生成回路14によりリードアドレス生成部を構成する。また、テーブルアドレス生成回路15と、テーブルメモリ16と、ループアドレス生成回路17によりライトアドレス生成部を構成する。メモリコントローラ10では、リードアドレス生成部とライトアドレス生成部とは、互いに異なる値の設定情報を与えることで異なる値のアクセスアドレスを生成する。しかし、リードアドレス生成部を構成する回路ブロックと、ライトアドレス生成部を構成する回路ブロックは、それぞれ同じ機能を有する。
テーブルアドレス生成回路12及びテーブルアドレス生成回路15は、第1のアドレス生成部として機能する。テーブルアドレス生成回路12及びテーブルアドレス生成回路15は、第1のレジスタ群を備え、第1のレジスタ群に格納された値を用いて循環的に繰り返される第1のパターンでテーブルアドレスを生成する。なお、テーブルアドレス生成回路12が出力するテーブルアドレスにはTA1の符号を付し、テーブルアドレス生成回路15が出力するテーブルアドレスにはTA2の符号を付した。また、第1のレジスタ群に格納される値は、レジスタ設定値RS1、RS2により決まる。
テーブルメモリ13は、パラメータ情報とテーブルアドレスTA1とを関係づけたテーブル情報を有し、テーブルアドレスTA1のアドレス値に対応したパラメータ情報PA1を出力する。テーブルメモリ16は、パラメータ情報とテーブルアドレスTA2とを関係づけたテーブル情報を有し、テーブルアドレスTA2のアドレス値に対応したパラメータ情報PA2を出力する。
ループアドレス生成回路14及びループアドレス生成回路17は、第2のアドレス生成部として機能する。ループアドレス生成回路14及びループアドレス生成回路17は、第2のレジスタ群を備え、第2のレジスタ群に格納された値とテーブルメモリから出力されるパラメータ情報とを用いて循環的に繰り返される第2のパターンでアクセスアドレスを生成する。なお、ループアドレス生成回路14が出力するアクセスアドレスは、リードアドレスRAであり、ループアドレス生成回路17が出力するアクセスアドレスは、ライトアドレスWAである。また、第2のレジスタ群に格納される値は、レジスタ設定値RS1、RS2により決まる。
FIFOメモリ18は、リードアドレスRAによりデータメモリから読み出されたリードデータRDを読み出された順に記憶し、記憶した順番で記憶したデータを出力する。FIFOメモリ18が出力したデータはデータメモリDM2に対するライトデータWDとなる。
メモリコントローラ10では、テーブルアドレス生成回路12が、レジスタ設定値RS1により決まる設定情報に基づき循環的に繰り返される第1のパターンでテーブルアドレスTA1を生成する。このテーブルアドレスTA1は、アドレス生成サイクル毎に異なる。そのため、このテーブルアドレスTA1に基づきテーブル情報から参照されるパラメータ情報PA1は、アドレス生成サイクル毎に変化する。そして、ループアドレス生成回路14が、パラメータ情報PA1及びレジスタ設定値RS1により決まる設定情報に基づき循環的に繰り返される第2のパターンでリードアドレスRAを生成する。このように、テーブルアドレス生成回路12、テーブルメモリ13及びループアドレス生成回路14を用いてリードアドレスRAを生成することで、周期性を有し、且つ、不連続なリードアドレスRAをDSPの処理能力を使うことなく生成することができる。
また、メモリコントローラ10では、リードアドレスRAと同様の処理によりライトアドレスWAを生成するため、ライトアドレスWAについても、DSPの処理能力を使うことなく、周期性を有し、且つ、不連続なアドレス値とすることができる。
上記説明より、実施の形態1にかかる半導体装置1では、メモリコントローラ10を利用することで、DSPの処理能力を使うことなく、周期性を有し、且つ、不連続なアクセスアドレスを生成することができる。このとき、半導体装置1では、設定情報を用いて循環的に繰り返される第1のパターンでテーブルアドレスを生成し、アドレス生成サイクル毎に当該テーブルアドレスを元にテーブル情報からパラメータ情報を選択する。また、このパラメータ情報と設定情報とに基づき循環的に繰り返される第2のパターンでアクセスアドレスを生成する。つまり、半導体装置1では、不連続なアドレス値のパターンの全てをテーブル情報として有することなくテーブル情報の大きさに比べて長い周期で変化する不連続なアクセスアドレスを生成することができる。このようなことから、実施の形態1にかかる半導体装置1では、テーブルメモリ13の大きさを小さくすることができる。
また、特許文献1、2に記載の技術では、当初想定した復号方式以外の復号方式に対応するためにはハードウェアの変更が必要になり、再設計を行うことなく復号方式の変更に対応することができない問題がある。
しかし、実施の形態1にかかる半導体装置1では、レジスタ設定値RS1、RS2と、テーブル情報ST1、ST2との少なくとも一方を変更することでアクセスアドレスの生成パターンを変更することができる。このように、半導体装置1では、マイクロCPU11が、データ処理を行うDSPからの指示に基づきデータのデータフォーマットに対応した設定情報を出力する設定情報を変更することでアクセスアドレスの生成パターンを変更することができる。つまり、半導体装置1では、アクセスアドレスの生成パターンをプログラマブルに変更することができる。このように、プログラマブルにアクセスアドレスの生成パターンを変更可能とすることで、受信機が当初想定したとは異なる復号方式に対応する場合にも復号方式の変更に柔軟に対応することができる。
実施の形態2
実施の形態2では、テーブルアドレス生成回路12、15とループアドレス生成回路14、17の構成の一例について説明する。なお、実施の形態2で説明する構成例は、アクセスアドレスの生成パターンを示す一例であり、テーブルアドレス生成回路12、15及びループアドレス生成回路14、17の構成としては、種々の構成が考えられる。なお、実施の形態2にかかる半導体装置2の説明において実施の形態1にかかる半導体装置1の構成要素と同じものについては説明を省略する。
まず、実施の形態2にかかる半導体装置2におけるアクセスアドレスの生成アルゴリズムを図3に示す。図3に示すアルゴリズムは、リードアドレスRAの生成アルゴリズムをC言語で表したものである。
図3に示すように、実施の形態2にかかる半導体装置2におけるリードアドレスRAの生成アルゴリズムでは、リードアドレスRAを仮アドレス値ptr1にパラメータ情報として与えられる値PA1[TA1]を加算して生成する。この仮アドレス値ptr1は、前のアドレス生成サイクルで算出された仮アドレス値ptr1とステップ幅step1との和に対して繰り返し周期値len1を用いた剰余演算を行うことにより算出される。
また、テーブルアドレスTA1は、前のアドレス生成サイクルで算出されたアドレス値tptr1とステップ幅tstep1との和に対して繰り返し周期値tlen1を用いた剰余演算を行うことにより算出される。
そして、図3に示すアルゴリズムでは、アドレス処理サイクル数がループ回数上限値max1に達するまで処理サイクル毎にリードアドレスRAを上記アルゴリズムに従って生成する。また、アドレス生成サイクル数がループ回数上限値max1に達するまでの期間においてアドレス生成サイクル数がループ回数上限値tmax1に達する毎にテーブルアドレスTA1を初期値にリセットしてテーブルアドレスTA1の生成処理を繰り返す。
続いて、図3に示したアドレス生成アルゴリズムを実現するための構成を有するテーブルアドレス生成回路及びループアドレス生成回路について説明する。テーブルアドレス生成回路12、15とループアドレス生成回路14、17の構成の一例を示すテーブルアドレス生成回路12a、15aとループアドレス生成回路14a、17aを含む実施の形態2にかかる半導体装置2のブロック図を図4に示す。なお、図4に示す例では、テーブルアドレス生成回路12a、15aとループアドレス生成回路14a、17aを有するメモリコントローラ10aのみを示した。つまり、実施の形態2にかかる半導体装置2も、実施の形態1と同様にDSPを有する。また、メモリコントローラ10aは、データメモリDM1、DM2に対してアクセスを行う。
テーブルアドレス生成回路12aは、第1のレジスタ21〜24、加算器25、剰余演算器26、セレクタSEL0を有する。第1のレジスタ21には、更新ステップ幅TSTEP1が格納される。第1のレジスタ22には、繰り返し周期値TLEN1が格納される。第1のレジスタ23には、ループ回数上限値TMAX1が格納される。第1のレジスタ24には、アドレス値TPTR1が格納される。このアドレス値TPTR1は、テーブルアドレスTA1となるものである。加算器25は、算出済みのアドレス値TPTR1と更新ステップ幅TSTEP1とを加算した結果を出力する。剰余演算器26は、加算器25が出力した結果値に対して繰り返し周期値TLEN1を用いた剰余演算を行い、その演算結果を出力する。そして、剰余演算器26が出力する演算結果によって第1のレジスタ24に格納されているアドレス値TPTR1が更新される。また、テーブルアドレス生成回路12aは、剰余演算器26と第1のレジスタ24との間にセレクタSEL0が設けられる。このセレクタSEL0は、アドレス生成サイクル数がループ回数上限値TMAX1に達するまでの期間は剰余演算器26の出力値を出力し、アドレス生成サイクル数がループ回数上限値TMAX1に達したことに応じて0を出力する。そして、テーブルアドレス生成回路12aでは、セレクタSEL0が0を出力したことに応じて、アドレス値TPTR1を初期値(例えば、0)にリセットする。これにより、テーブルアドレス生成回路12aでは、テーブルアドレスTA1の生成動作を初期状態から再開する。
ループアドレス生成回路14aは、第2のレジスタ27〜30、加算器31、33、剰余演算器32、セレクタSEL1を有する。第2のレジスタ27には、更新ステップ幅STEP1が格納される。第2のレジスタ28には、繰り返し周期値LEN1が格納される。第2のレジスタ29には、ループ回数上限値MAX1が格納される。第2のレジスタ30には、仮アドレス値PTR1が格納される。この仮アドレス値PTR1にパラメータ情報PA1を加えた値がリードアドレスRAとなる。加算器31は、算出済みの仮アドレス値PTR1と更新ステップ幅TSTEP1とを加算した結果を出力する。剰余演算器32は、加算器31が出力した結果値に対して繰り返し周期値LEN1を用いた剰余演算を行い、その演算結果を出力する。そして、剰余演算器32が出力する演算結果によって第2のレジスタ30に格納されている仮アドレス値PTR1が更新される。加算器33は、仮アドレス値PTR1とパラメータ情報PA1により与えられる値とを加算してリードアドレスRAを出力する。また、ループアドレス生成回路14aは、剰余演算器32と第2のレジスタ30との間にセレクタSEL1が設けられる。このセレクタSEL1は、アドレス生成サイクル数がループ回数上限値MAX1に達するまでの期間は剰余演算器32の出力値を出力し、アドレス生成サイクル数がループ回数上限値MAX1に達したことに応じて0を出力する。そして、ループアドレス生成回路14aでは、セレクタSEL1が0を出力したことに応じて、仮アドレス値PTR1を初期値(例えば、0)にリセットする。これにより、ループアドレス生成回路14aでは、リードアドレスRAの生成動作を初期状態から再開する。
テーブルアドレス生成回路15aは、テーブルアドレス生成回路12aと同じ回路構成であるが、レジスタに格納される値が異なるものである。テーブルアドレス生成回路15aは、第1のレジスタ41〜44、加算器45、剰余演算器46を有する。第1のレジスタ41〜44、加算器45、剰余演算器46、セレクタSEL2は、それぞれ、第1のレジスタ21〜24、加算器25、剰余演算器26、セレクタSEL0に対応するものである。そして、テーブルアドレス生成回路15aでは、第1のレジスタ41に更新ステップ幅TSTEP2が格納され、第1のレジスタ42に繰り返し周期値TLEN2が格納され、第1のレジスタ43にループ回数上限値TMAX2が格納される。また、第1のレジスタ44には、アドレス値TPTR2が格納される。このアドレス値TPTR2は、テーブルアドレスTA2となるものである。
ループアドレス生成回路17aは、ループアドレス生成回路14aと同じ回路構成であるが、レジスタに格納される値が異なるものである。ループアドレス生成回路17aは、第2のレジスタ47〜50、加算器51、53、剰余演算器52、セレクタSEL3を有する第2のレジスタ47〜50、加算器51、53、剰余演算器52は、それぞれ、第2のレジスタ27〜30、加算器31、33、剰余演算器32、セレクタSEL1に対応するものである。そして、ループアドレス生成回路17aでは、第2のレジスタ47に更新ステップ幅STEP2が格納され、第2のレジスタ48に繰り返し周期値LEN2が格納され、第2のレジスタ49にループ回数上限値MAX2が格納される。第2のレジスタ50には、仮アドレス値PTR2が格納される。この仮アドレス値PTR2にパラメータ情報PA2を加えた値がライトアドレスWAとなる。
実施の形態2では、テーブルアドレス生成回路とループアドレス生成回路の構成例について説明した。この説明から明らかなように、テーブルアドレス生成回路とループアドレス生成回路は、レジスタと少数の演算器による簡易な構成で実現することが可能である。つまり、実施の形態2にかかる半導体装置2では、このような簡易な回路においてループ制御を行うことで周期的に変化する複雑なアドレスパターンを生成することができる。また、簡易な回路でテーブルアドレス生成回路とループアドレス生成回路を構成することで、メモリコントローラ10aは、回路面積を抑制することができる。
実施の形態3
実施の形態3にかかる半導体装置3のブロック図を図5に示す。図5に示すように、実施の形態3にかかる半導体装置3は、メモリコントローラ10の別の形態を示すメモリコントローラ60を有する。メモリコントローラ60は、実施の形態1にかかるメモリコントローラ10のFIFOメモリ18をデータ処理部63に置き換え、マイクロCPU11をマイクロCPU61に置き換えたものである。また、メモリコントローラ60では、データ処理部63に対応してFIFOメモリ61、62を追加した。
FIFOメモリ61は、リードデータRDを一時的に格納するバッファである。また、FIFOメモリ62は、ライトデータWDを一時的に格納するバッファである。そして、データ処理部63は、FIFOメモリ61から読み出したデータに対して信号処理を施してFIFOメモリ62に出力する。
データ処理部63には、レジスタ設定値RS3が与えられる。データ処理部63は、レジスタ設定値RS3に対応した信号処理を行う。例えば、データ処理部63は、ビタビ復号処理及びビタビ復号処理時の軟判定処理を行うことができる。また、マイクロCPU61は、マイクロCPU11にレジスタ設定値RS3を出力する機能を追加したものである。
このように、実施の形態3にかかる半導体装置3では、リードデータRDをデータメモリDM2に伝送する経路上にデータ処理部63を設けることで、データメモリDM2に格納されるデータに何らかの信号処理を施すことができる。このように、データ処理部63において信号処理を行うことで、DSPの処理負担を軽減することができる。
実施の形態4
実施の形態4にかかる半導体装置4のブロック図を図6に示す。図6に示すように、実施の形態4にかかる半導体装置4は、メモリコントローラ60の別の形態を示すメモリコントローラ70を有する。メモリコントローラ70は、実施の形態3にかかるメモリコントローラ60のデータ処理部63をデータ処理部76に置き換え、マイクロCPU61をマイクロCPU71に置き換えたものである。
また、メモリコントローラ70では、2つめのリードアドレスRAを生成するために、テーブルアドレス生成回路72、テーブルメモリ73、ループアドレス生成回路74を追加した。テーブルアドレス生成回路72はテーブルアドレス生成回路12と同じ機能を有する回路ブロックであり、テーブルメモリ73はテーブルメモリ13と同じ機能を有する回路ブロックであり、ループアドレス生成回路74はループアドレス生成回路14と同じ機能を有するものである。
また、マイクロCPU71は、マイクロCPU61にレジスタ設定値RS4及びテーブル情報ST3を出力する機能を追加するものである。レジスタ設定値RS4は、レジスタ設定値RS1、RS2とは独立した値を有する。また、テーブル情報ST3は、テーブル情報ST1、ST2とは独立したテーブル情報である。そして、レジスタ設定値SR4は、テーブルアドレス生成回路72及びループアドレス生成回路74のレジスタに設定値を与える。また、テーブル情報ST3は、テーブルメモリ73に格納される。
また、メモリコントローラ70は、FIFOメモリ75を備える。メモリコントローラ70は、データメモリDM1、DM3のそれぞれに対してリードアドレスRAを出力し、データメモリDM1、DM3のそれぞれからリードデータRDを読み出す。FIFOメモリ75は、データメモリDM3から出力されるリードデータを一時的に格納するバッファとして機能する。
このように、メモリコントローラ70は、テーブルアドレス生成回路、テーブルメモリ、ループアドレス、FIFOメモリの組を複数設けることで2つ以上のリードアドレスRAを生成することができる。そして、2つ以上のリードアドレスRAにより2つ以上のデータメモリから同時にリードデータを読み出すことができる。
データ処理部76は、複数のデータメモリから読み出された複数のリードデータRDに対してマルチプレックス処理を施して1つのライトデータWDを生成する。このようなマルチプレックス処理を行うことで、複数のチャネルデータを多重化したバースト転送を実現することができる。また、図6に示す例では、ライトデータWDを1つとしたが、データ処理部76は、1つのリードデータRDに対してデマルチプレックス処理を施すことで複数のライトデータWDを生成することもできる。複数のライトデータWDがある場合、ライトアドレスWAを生成するテーブルアドレス生成回路、テーブルメモリ、ループアドレス、FIFOメモリの組を複数設ける必要がある。このようなデマルチプレックス処理を行うことで、リードデータRDとして複数のチャネルデータを多重化したデータをバースト転送により読み出すことができる。このようなバースト転送を行うことで、データ転送の効率を向上させることができる。
また、データ処理部76は、マルチプレックス処理のみならず、ビタビ復号中の軟判定処理を行うこともできる。データ処理部76がどのような処理を行うかは、レジスタ設定値RS3により切り替えることができる。
上記説明より、実施の形態4では、リードデータRDの転送チャネルの数と、ライトデータWDの転送チャネルの数を1以上とした半導体装置の構成例について説明した。実施の形態4にかかる半導体装置4では、実施の形態1にかかる半導体装置1と同様に、演算処理とテーブル情報とに基づきテーブル情報の大きさに比べて長い周期で複雑に変化するアドレス値を生成することができる。そのため、実施の形態4にかかる半導体装置4のように、複数の転送チャネルにおいて異なるアクセスアドレスを用いたとしても、回路規模の増大を抑制することができる。また、実施の形態4においても、設定情報の切り替えによりアクセスアドレスの生成アルゴリズムを変更することができるため、システムが対応する復号方式の変更に柔軟に対応することが可能である。
なお、図6では、データメモリDM1〜DM3をそれぞれ異なる回路ブロックとして表した。しかし、これらメモリは、1つの回路ブロックを論理的に分割した領域として実装されていても良い。
実施の形態5
実施の形態5にかかる半導体装置5のブロック図を図7に示す。図7に示すように、実施の形態5にかかる半導体装置5は、メモリコントローラ10の別の形態を示すメモリコントローラ80を有する。メモリコントローラ80は、メモリコントローラ10に固定テーブル81、82を追加したものである。
メモリコントローラ80において、テーブルメモリ13、16は、第1のテーブルメモリとして機能し、固定テーブル81、82は、第2のテーブルメモリとして機能する。テーブルメモリ13、16は、実施の形態1にかかるメモリコントローラ10と同様にマイクロCPU11から与えられた第1のテーブル情報ST1、ST2を格納する。一方、固定テーブル81、82は、予め決められたテーブル情報を第2のテーブル情報として格納する。この固定テーブル81、82は、例えば、ROM(Read Only Memory)或いは、テーブルアドレスTA1、TA2を元にパラメータ情報を算出する演算回路(例えば、パラメータ情報演算回路)により実現できる。
半導体装置5では、テーブルアドレス生成回路12から出力されるテーブルアドレスTA1が、テーブルメモリ13と固定テーブル81の両方に与えられる。そして、テーブルアドレスTA1がテーブルメモリ13のアドレスを示す場合には、パラメータ情報PA1がテーブルメモリ13からループアドレス生成回路14に与えられる。また、テーブルアドレスTA1が固定テーブル81のアドレスを示す場合には、パラメータ情報PA1fが固定テーブル81からループアドレス生成回路14に与えられる。ループアドレス生成回路14は、パラメータ情報PA1とパラメータ情報PA1fのいずれか一方を用いてリードアドレスRA生成する。
また、半導体装置5では、テーブルアドレス生成回路15から出力されるテーブルアドレスTA2が、テーブルメモリ16と固定テーブル82の両方に与えられる。そして、テーブルアドレスTA2がテーブルメモリ16のアドレスを示す場合には、パラメータ情報PA2がテーブルメモリ16からループアドレス生成回路17に与えられる。また、テーブルアドレスTA2が固定テーブル82のアドレスを示す場合には、パラメータ情報PA2fが固定テーブル82からループアドレス生成回路17に与えられる。ループアドレス生成回路17は、パラメータ情報PA2とパラメータ情報PA2fのいずれか一方を用いてライトアドレスWA生成する。
異なる通信方式において共通に利用される動作パターンについては、共通に利用することができる。そのため、共通に利用される動作パターンをROM或いは演算回路として実装することでテーブルメモリ13、16の回路規模を小さくすることができる。また、ROMは、一般的に、書き込み回路、読み出し回路、記憶素子等を簡略化することができるためRAMに比べて回路規模、消費電力、動作効率が高い。そのため、共通に利用できる動作パターンをROMとして実装することで半導体装置の回路規模、消費電力、動作効率を向上させることができる。また、演算回路を用いた場合は、出力すべきテーブル情報を個別に備える必要がないため、回路規模を小さくするすることができる。
実施の形態6
実施の形態6にかかる半導体装置6のブロック図を図8に示す。図8に示すように、実施の形態6にかかる半導体装置6は、メモリコントローラ10の別の形態を示すメモリコントローラ90を有する。また、半導体装置6では、テーブルメモリとしてデータメモリと同様に外部のメモリ(例えば、SDRAM)を利用する。図8では、リードアドレスRAの生成に利用されるテーブルメモリTM1を示し、ライトアドレスWAの生成に利用されるテーブルメモリTM2を示した。
メモリコントローラ90は、メモリコントローラ10からテーブルメモリ13、16を削除し、FIFOメモリ92、93を追加したものである。また、メモリコントローラ90は、マイクロCPU11からテーブル情報TS1、TS2の生成機能を削除したマイクロCPU91を有する。実施の形態6にかかる半導体装置6では、テーブルメモリTM1、TM1にテーブル情報ST1、ST2が格納される。半導体装置6では、例えば、このテーブル情報ST1、ST2をDSPが図示しないバスを介して入力する。また、テーブル情報ST1、ST2は、マイクロCPU91がテーブルメモリTM1、TM2に書き込んでも良い。
実施の形態6にかかる半導体装置6では、テーブルアドレス生成回路12が出力するテーブルアドレスTA1をリードアドレスとしてテーブルメモリTM1からパラメータ情報PA1を読み出す。そして、パラメータ情報PA1をFIFOメモリ92で一時的に保持する。そして。FIFOメモリ92から出力されるパラメータ情報PA1を用いてループアドレス生成回路14がリードアドレスRAを生成する。
また、実施の形態6にかかる半導体装置6では、テーブルアドレス生成回路15が出力するテーブルアドレスTA2をリードアドレスとしてテーブルメモリTM2からパラメータ情報PA2を読み出す。そして、パラメータ情報PA2をFIFOメモリ93で一時的に保持する。そして。FIFOメモリ93から出力されるパラメータ情報PA2を用いてループアドレス生成回路17がライトアドレスWAを生成する。
このように、テーブルメモリTM1、TM2は、外部のメモリを利用することで実現することもできる。このように、テーブルメモリTM1、TM2として外部のメモリを利用することで半導体装置6の回路面積を削減することができる。また、テーブルメモリTM1、TM2は、データメモリDM1、DM2を構成するメモリモジュールにおいて論理的に分離された領域に定義することもできる。このように、メモリモジュールにおいて論理的に分離された領域にテーブルメモリTM1、TM2を設けることで、メモリモジュールを追加する必要がなく、システムの回路規模を削減することができる。また、一般的に、外部メモリは、半導体装置6に実装されるメモリよりも大きな容量を有する。そのため、テーブルメモリTM1、TM2を外部メモリに実装することでテーブル情報が大きくなった場合にも柔軟な対応が可能になる。
実施の形態7
実施の形態7にかかる半導体装置7のブロック図を図9に示す。図9に示すように、実施の形態7にかかる半導体装置7は、実施の形態6にかかる半導体装置6のテーブルメモリTM1、TM2に代えてパラメータ情報演算回路94、95を有する。
パラメータ情報演算回路94は、テーブルアドレス生成回路12で生成されたテーブル情報TA1に基づきパラメータ情報PA1を演算により生成する。パラメータ情報演算回路95は、テーブルアドレス生成回路15で生成されたテーブル情報TA2に基づきパラメータ情報PA2を演算により生成する。
このように、テーブルメモリTM1、TM2をパラメータ情報演算回路94、95に置き換えても、実施の形態7にかかる半導体装置7の動作は、実施の形態6にかかる半導体装置6と同じになる。また、パラメータ情報演算回路94、95はパラメータ情報をテーブルデータとして備える必要がないため、メモリを用いた場合に比べ回路規模を小さくすることができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、同じ演算結果を得るためのアルゴリズムは、1つに限られないため、同じ演算結果を得ることができるアドレス生成アルゴリズムは複数考えることができる。
1〜7 半導体装置
10、10a、60、70、80、90 メモリコントローラ
11、61、71、91 マイクロCPU
12、12a、72 テーブルアドレス生成回路
13、16、73 テーブルメモリ
14、14a、74 ループアドレス生成回路
15、15a テーブルアドレス生成回路
17、17a ループアドレス生成回路
18、61、62、75、92、93 FIFOメモリ
21〜24、27〜30 レジスタ
25 加算器
26 剰余演算器
31、33 加算器
32 剰余演算器
41〜44、47〜50 レジスタ
45 加算器
46 剰余演算器
51、53 加算器
52 剰余演算器
63 データ処理部
76 データ処理部
81、82 固定テーブル
94、95 パラメータ情報演算回路
100 アンテナ
101 ミキサ
102 発振器
103 回路
104 ミキサ
105 発振器
106 アナログデジタル変換処理
107 直交復調処理
108 FFT処理
109 フレーム抽出処理
110 同期再生処理
111 TMCC復号処理
112 AC復号処理
113 キャリア復調処理
114 周波数デインターリーブ処理
115 時間デインターリーブ処理
116 デマッピング処理
117 階層分割処理
118〜120 ビットデインターリーブ処理
121〜123 デパンクチャ処理
124 階層合成処理
125 ビタビ復号処理
126 階層分割処理
127〜129 バイトインタリーブ処理
130〜132 エネルギー拡散処理
133 TS再生処理
134 RS復号処理
DM1〜DM3 データメモリ
TM1、TM2 テーブルメモリ

Claims (17)

  1. 第1のレジスタ群を備え、前記第1のレジスタ群に格納された値を用いて循環的に繰り返される第1のパターンでテーブルアドレスを生成する第1のアドレス生成部と、
    第2のレジスタ群を備え、前記第2のレジスタ群に格納された値と前記テーブルアドレスにより決定されるパラメータ情報とを用いて循環的に繰り返される第2のパターンでアクセスアドレスを生成する第2のアドレス生成部と、
    前記第1のレジスタ群及び前記第2のレジスタ群に与える設定情報を出力する制御部と、を有し、
    前記アクセスアドレスを用いてデータメモリからのデータのリード処理とライト処理との少なくとも一方を行う半導体装置。
  2. 前記パラメータ情報と前記テーブルアドレスとを関係づけたテーブル情報を有するテーブルメモリを有し、
    前記制御部は、前記テーブルメモリに前記テーブル情報を格納する請求項1に記載の半導体装置。
  3. 前記テーブルメモリは、第1のテーブルメモリと、第2のテーブルメモリと、を有し、
    前記第1のテーブルメモリは、前記制御部から与えられた第1のテーブル情報を格納し、
    前記第2のテーブルメモリは、予め決められたテーブル情報を第2のテーブル情報として格納する請求項2に記載の半導体装置。
  4. 前記テーブルメモリは、前記半導体装置とは別の半導体装置上に設けられる請求項2又は3に記載の半導体装置。
  5. 前記テーブルアドレスに基づき前記パラメータ情報を算出するパラメータ情報演算回路有する請求項1に記載の半導体装置。
  6. 前記アクセスアドレスは、前記リード処理で用いられるリードアドレスと、前記ライト処理で用いられるライトアドレスと、を含み、
    前記半導体装置は、前記リードアドレスを生成するリードアドレス生成部と、前記ライトアドレスを生成するライトアドレス生成部と、を有し、
    前記リードアドレス生成部と前記ライトアドレス生成部は、それぞれ、前記第1のアドレス生成部及び前記第2のアドレス生成部を有し、
    前記制御部は、前記リードアドレス生成部と前記ライトアドレス生成部とに独立した前記設定情報を与える請求項1乃至のいずれか1項に記載の半導体装置。
  7. 前記リード処理によって読み出された読み出しデータに対して所定の演算処理を加えて、前記ライト処理で処理対象となる書き込みデータを生成するデータ処理部を有する請求項1乃至のいずれか1項に記載の半導体装置。
  8. 前記データ処理部は、1以上のチャネルから前記読み出しデータを読み出し、前記読み出しデータに対してマルチプレックス処理又はデマルチプレックス処理を施して、1以上の前記書き込みデータを生成する請求項に記載の半導体装置。
  9. 前記制御部は、前記データを用いたデータ処理を行う演算器からの指示に基づき前記データのデータフォーマットに対応した前記設定情報を出力する請求項1乃至のいずれか1項に記載の半導体装置。
  10. プログラムに沿った演算を行う演算器と、
    前記演算器が出力する命令に応じて動作を開始し、自己が生成するアクセスアドレスによってデータメモリからデータの入出力を行うメモリコントローラと、を有し、
    前記メモリコントローラは、
    前記命令に応じて前記データメモリへのアクセスルールを決定し、決定した前記アクセスルールに応じた設定情報を出力する制御部と、
    前記設定情報を用いて循環的に繰り返される第1のパターンでテーブルアドレスを生成する第1のアドレス生成部と、
    前記設定情報と前記テーブルアドレスにより決定されるパラメータ情報とを用いて循環的に繰り返される第2のパターンで前記アクセスアドレスを生成する第2のアドレス生成部と、
    を有する半導体装置。
  11. 前記パラメータ情報と前記テーブルアドレスとを関係づけたテーブル情報を有するテーブルメモリを有し、
    前記制御部は、前記テーブルメモリに前記テーブル情報を格納する請求項10に記載の半導体装置。
  12. 前記テーブルメモリは、第1のテーブルメモリと、第2のテーブルメモリと、を有し、
    前記第1のテーブルメモリは、前記制御部から与えられた第1のテーブル情報を格納し、
    前記第2のテーブルメモリは、予め決められたテーブル情報を第2のテーブル情報として格納する請求項11に記載の半導体装置。
  13. 前記テーブルメモリは、前記半導体装置とは別の半導体装置上に設けられる請求項11又は12に記載の半導体装置。
  14. 前記テーブルアドレスに基づき前記パラメータ情報を算出するパラメータ情報演算回路有する請求項10に記載の半導体装置。
  15. 前記アクセスアドレスは、リード処理で用いられるリードアドレスと、ライト処理で用いられるライトアドレスと、を含み、
    前記メモリコントローラは、前記リードアドレスを生成するリードアドレス生成部と、前記ライトアドレスを生成するライトアドレス生成部と、を有し、
    前記リードアドレス生成部と前記ライトアドレス生成部は、それぞれ、前記第1のアドレス生成部及び前記第2のアドレス生成部を有し、
    前記制御部は、前記リードアドレス生成部と前記ライトアドレス生成部とに独立した前記設定情報を与える請求項10乃至14のいずれか1項に記載の半導体装置。
  16. リード処理によって読み出された読み出しデータに対して所定の演算処理を加えて、ライト処理で処理対象となる書き込みデータを生成するデータ処理部を有する請求項10乃至15のいずれか1項に記載の半導体装置。
  17. 前記データ処理部は、1以上のチャネルから前記読み出しデータを読み出し、前記読み出しデータに対してマルチプレックス処理又はデマルチプレックス処理を施して、1以上の前記書き込みデータを生成する請求項16に記載の半導体装置。
JP2012020046A 2012-02-01 2012-02-01 半導体装置 Expired - Fee Related JP5785881B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012020046A JP5785881B2 (ja) 2012-02-01 2012-02-01 半導体装置
US13/739,562 US8880846B2 (en) 2012-02-01 2013-01-11 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012020046A JP5785881B2 (ja) 2012-02-01 2012-02-01 半導体装置

Publications (2)

Publication Number Publication Date
JP2013161125A JP2013161125A (ja) 2013-08-19
JP5785881B2 true JP5785881B2 (ja) 2015-09-30

Family

ID=48871351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012020046A Expired - Fee Related JP5785881B2 (ja) 2012-02-01 2012-02-01 半導体装置

Country Status (2)

Country Link
US (1) US8880846B2 (ja)
JP (1) JP5785881B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160012985A (ko) * 2013-04-15 2016-02-03 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법 및 방송 신호 수신 방법
MX361014B (es) 2015-01-05 2018-11-26 Lg Electronics Inc Aparato de transmisión de señales de difusión, aparato de recepción de señales de difusión, método de transmisión de señales de difusión, y método de recepción de señales de difusión.
US20220413721A1 (en) * 2021-06-28 2022-12-29 Google Llc Control of machine-learning systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3593648B2 (ja) * 1999-04-02 2004-11-24 富士通株式会社 チャネルコード・デコード装置及び基地局
US6845482B2 (en) * 2001-02-28 2005-01-18 Qualcomm Incorporated Interleaver for turbo decoder
JP2004234209A (ja) * 2003-01-29 2004-08-19 Matsushita Electric Ind Co Ltd データ処理装置及びデータ処理方法

Also Published As

Publication number Publication date
US20130198486A1 (en) 2013-08-01
US8880846B2 (en) 2014-11-04
JP2013161125A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
US9301297B2 (en) Communication processor and communication processing method
JP2018101862A (ja) 送信装置、送信方法、受信装置、及び受信方法
JP5785881B2 (ja) 半導体装置
JP2958308B1 (ja) インターリーブ解除装置
JP7521657B2 (ja) 送信装置、送信方法、受信装置、及び受信方法
KR102121851B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
JP2016122934A (ja) 送信装置、受信装置、デジタル放送システム及びチップ
JP7344094B2 (ja) 送信装置および受信装置
JP5063476B2 (ja) Mimo受信装置
JP2008148230A (ja) 放送受信装置と放送受信方法
JP2011029833A (ja) 復調装置、復調装置の制御方法、復調装置の制御プログラム、および復調装置の制御プログラムを記録した記録媒体
JP4326549B2 (ja) Ofdm信号受信装置、デジタル放送受信装置及びofdm信号受信方法
JP2005318374A (ja) デジタル放送受信装置、およびデジタル放送受信方法
JP2009278186A (ja) レート変換装置
JP5364737B2 (ja) 誤り訂正復号装置及び受信システム
JP7267378B2 (ja) 送信装置、及び受信装置
JP2004165720A (ja) 直交周波数分割多重伝送方法及びそれを用いた送信装置及び受信装置
JP2023083457A (ja) 送信装置、受信装置、及びプログラム
JP6313949B2 (ja) 送信装置、受信装置、及びチップ
Joseph et al. FPGA based realization of OFDM transceiver system for Software Defined Radio
WO2009055586A2 (en) Channel virtualization for mobile video
JP2016027700A (ja) 送信装置及び伝送システム
JP2008263470A (ja) デジタル放送復調装置
JP5706954B2 (ja) 直交周波数分割多重通信における送受信装置
JP2014120050A (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150618

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150727

R150 Certificate of patent or registration of utility model

Ref document number: 5785881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees