JP2008523762A - プログラム可能な信号及び処理回路及びデパンクチャリング方法 - Google Patents

プログラム可能な信号及び処理回路及びデパンクチャリング方法 Download PDF

Info

Publication number
JP2008523762A
JP2008523762A JP2007546276A JP2007546276A JP2008523762A JP 2008523762 A JP2008523762 A JP 2008523762A JP 2007546276 A JP2007546276 A JP 2007546276A JP 2007546276 A JP2007546276 A JP 2007546276A JP 2008523762 A JP2008523762 A JP 2008523762A
Authority
JP
Japan
Prior art keywords
operand
depuncture
bit
instruction
result
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.)
Granted
Application number
JP2007546276A
Other languages
English (en)
Other versions
JP4949268B2 (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2008523762A publication Critical patent/JP2008523762A/ja
Application granted granted Critical
Publication of JP4949268B2 publication Critical patent/JP4949268B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)
  • Executing Machine-Instructions (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

プログラム可能な信号処理回路は、デパンクチャ命令を有する命令セットを備えた命令処理回路(23、24、26)有する。命令処理回路(23、24、26)は、ビットメトリックオペランドからビットメトリックをコピーし、及び1つ以上の所定のビットメトリック値をデパンクチャ結果内のビットメトリックオペランドからのビットメトリック間に挿入することにより、デパンクチャ結果を形成する。命令処理回路(23、24、26)は、デパンクチャ結果内のコピーされたビットメトリックの相互に対する相対位置を、ビットメトリックオペランド内のコピーされたビットメトリックの相互に対する相対位置と比べ、1つ又は複数の挿入された所定のビットメトリックを収容するために必要な程度まで変化する。

Description

本発明は、プログラム可能な信号処理回路、及び誤り訂正符号のデパンクチャリング方法に関する。
DVB(デジタルビデオ放送)規格は、符号化テレビジョン信号の伝送を規定する。当該信号を復号化するため、先ず送信された信号の「デパンクチャリング」、そして誤り訂正復号化を含む多数の段階が実行されなければならない。デパンクチャリングは、誤り訂正符号(ECC)への符号化後且つ送信前に実行されるパンクチャリングの対をなすものである。パンクチャリングは、選択された位置からのビットの削除を有し、送信されなければならないビット数を低減する。これは、ECCを伴う復号化中に、符号化データの回復が依然として可能な範囲まで行われる。DVB規格は、このようなパンクチャされたビットが除去されなければならない位置を規定する。
復号化中、データがECCに従い復号化される前に、つまり標準的にビタビ復号化がデータに適用される前に、所定のビット値はこれらの位置に再挿入される。この種のデパンクチャリングの知られている実施は、通常、入力ビットストリームを受信し、並びに当該入力ストリームのビットを出力すると同時に、当該入力ストリームがパンクチャ位置に到達した時を検出し、及び当該位置に出力ストリームに新しいビットを挿入する、専用ハードウェア回路を用いる。デパンクチャされたストリームは次に、ビタビ復号化を実行する専用ハードウェアへ渡される。或いは、デパンクチャされたストリームは、チャンクに細断されて良く、各チャンクはプログラム可能なプロセッサーのレジスタに一緒に格納され得る所定のビット数を備え、及びプロセッサーはこれらオペランドを用いビタビ復号化を実行するために用いられ得る。
代案の実施は、同様にデパンクチャリングを実行するプログラム可能な信号処理回路の使用を有する。しかしながら、デパンクチャリングのビット処理特性により、当該実施は、標準的に相当数の命令の実行を有する。これは、多くの命令が実行されなければならないので、回路速度を一層要求し及び電力消費を増大する。これは、VLIW(超長命令語)が比較的大量の電力消費を消費するので、超長命令語実施に特有の問題である。
特に、本発明の目的は、プログラム可能な信号処理回路でデパンクチャリングを実行するために必要な命令実行サイクル数を減少することである。
特に、本発明の目的は、所定の複数ビットを有するレジスタオペランドを有するプログラム可能な命令がデパンクチャリングを実行するために使用され得るデパンクチャリング方法を提供することである。
特に、本発明の目的は、オペランドレジスタからデパンクチャ結果レジスタへコピーされるパンクチャされたストリームからのビット数の変化が、標準幅のレジスタを用いるプログラム可能なプロセッサーで少しのオーバーヘッドで取り扱われ得る、デパンクチャリング方法を提供することである。
特に、本発明の目的は、DVB伝送システム内のプログラム可能な信号処理回路でデパンクチャリングを実行するために必要な命令実行サイクル数を減少することである。
特に、本発明の目的は、デパンクチャリングを実行するために必要な命令実行サイクル数を減少可能にするプログラム可能な信号処理回路を提供することである。
特に、本発明の目的は、データストリームにデパンクチャリングを適用するためにプログラム可能な信号処理回路のプログラムループでロードされなければならない命令数を最小化することである。
特に、本発明の目的は、プログラム可能な信号処理回路を用いるデパンクチャリングの効率的な方法を提供することである。
本発明は、請求項1記載のプログラム可能な信号処理回路を提供する。当該プログラム可能な信号処理回路は、デパンクチャ命令を有する命令セットを有する。デパンクチャ命令に応じ、命令処理回路は、ビットメトリックをビットメトリックオペランドからコピーし、及び所定のビットメトリック値をデパンクチャ結果内のビットメトリックオペランドからのビットメトリック間に挿入し、デパンクチャ結果内のコピーされたビットメトリックの相互に対する相対位置を、ビットメトリックオペランド内のコピーされたビットメトリックの相互に対する相対位置と比べて変化し、1つ又は複数の挿入された所定のビットメトリック値を収容することにより、デパンクチャ結果を形成する。用語「ビットメトリック」は、単一送信ビットに関する受信情報を表す1つ以上のビットのグループに対し用いられる。
所定のビットメトリック値がパンクチャ位置に収容され得る結果を形成する特別命令を設けることにより、デパンクチャリングはプログラム可能なプロセッサーを用い高速で実行され得る。実施例では、デパンクチャ命令は、所定のビットメトリック値が挿入される位置を制御する更なるオペランドを有する。或いは、異なるデパンクチャ命令が設けられ異なる挿入位置を定めて良い。
所定のビットパターン値を挿入する種々の実施例が可能である。第1の実施例では、命令処理回路は、当該目的で少なくとも1つのビットメトリック多重回路を有する。多重回路は、パターンオペランドがビットメトリックはビットメトリックオペランドからデパンクチャ結果の一部へコピーされるべきであると示すか、及び前記パターンオペランドが示す複数のビットメトリックは前記デパンクチャ結果の一部に先行するデパンクチャ結果の更なる部分にコピーされるべきであるかに依存して、所定のビットメトリック値を前記デパンクチャ結果内のビットメトリックフィールド又はビットメトリックオペランドからのビットメトリックの1つに供給することを選択する。この実施例は、最小量の待ち時間しか必要としない。標準的に、複数のこのような多重回路が用いられる。各多重回路はデパンクチャ結果内の個々のビットメトリック位置のためである。代案として、制御可能なシフト回路が用いられ、デパンクチャ結果のフィールドへ渡されるビットメトリックを選択して良い。この場合、所定のビットメトリック値は、シフトの後、代入回路により代入されて良い。又は所定のビットメトリック値は、所望のパンクチャパターンの制御下で適切なシフト値を用いることにより選択されるシフトデータの一部であって良い。
更なる実施例では、デパンクチャ命令又は更なる命令が設けられ、後続のデパンクチャ命令の実行のためのビットメトリックオペランドとして、使用結果になるレジスタ内にキューを形成する。当該キュー結果は、デパンクチャ結果を形成するために未だ使用されていないビットメトリックを有する。キュー結果は、可変の、パンクチャパターンに依存する数の、ビットメトリックオペランドからのビットメトリックがデパンクチャ結果へコピーされないという事実に適合するために用いられて良い。これら残りのビットメトリックは、ビットメトリックオペランドとしての後の使用のためにキュー結果へ選択的にコピーされて良い。キュー結果はまた、ビットメトリックオペランドが単独で又は更なるビットメトリックオペランドと組み合わせてデパンクチャ結果を形成するのに十分なビットメトリックを有するまで、ビットメトリックをビットメトリックオペランド内に蓄積するために用いられて良い。望ましくは、プログラム可能なプロセッサーの命令セットは、デパンクチャ命令を提供する。デパンクチャ命令に応じ、信号プロセッサーはキュー結果及びデパンクチャ結果の両方を形成する。これはレジスタファイルへのアクセスを最小化し、及び命令セット内の他の命令のためにより多くの空間を残す。或いは、命令を形成する特別キュー結果が設けられ、パターンオペランド及びビットメトリックオペランドを用いキュー結果を形成して良い。
更なる実施例では、デパンクチャ命令又は更なる命令は、所定数のビットメトリックを備えたビットメトリックのストリームからのチャンクを有する更なるビットメトリックオペランドを受信する。キュー長コードオペランドは、ビットメトリックオペランド内のビットメトリック数を指定するために用いられる。及びキュー結果は、パターンオペランドに従い、デパンクチャ命令に応じデパンクチャ結果にコピーされないビットメトリックを有することにより形成される。従って、パターンオペランドに依存する数のビットメトリックは、キュー結果内で更なるビットメトリックオペランドからのビットメトリックと結合される。
望ましくは、デパンクチャ命令又は更なる命令は、デパンクチャ命令の将来の実行による使用のため、キュー結果内のビットメトリック数を示すキュー長結果を生成する。望ましくは、デパンクチャ命令で用いられていないビットメトリックオペランドからのビットメトリックに加え、全てのビットメトリックを更なるビットメトリックオペランドからキュー結果へコピーするためにキュー結果内に十分な空間がある場合のみ、キュー長はインクリメントされ、更なるビットメトリックオペランドからのビットメトリックを組み込む。十分な空間がない場合、デパンクチャ命令又は更なる命令の実行は、同一の更なるビットメトリックオペランドで繰り返される。これは、入力及び出力ストリームの間のレート差に適合することを容易にする。
別の実施例では、長さ値は、デパンクチャパターンに加え、パターンオペランド内に供給される。当該長さ値は、デパンクチャ命令又は更なる命令に応じて用いられ、更なるビットメトリックオペランドからキュー結果へコピーされるビットメトリック値の数を制御して良い。これはキューの間の待ち時間を減少する。
別の実施例では、デパンクチャ命令又は更なる命令は、所定数のビットメトリックを備えたビットメトリックのストリームからのチャンクを有する更なるビットメトリックオペランドを必要とする。デパンクチャ結果は、ビットメトリックオペランド内のパターンオペランドに依存する数のビットメトリックがデパンクチャ結果での使用のために十分なコピーを供給するのに十分な場合、ビットメトリックオペランドからの前記数のビットメトリックを、デパンクチャ結果へ配置することにより形成される。これは、所定数のビットメトリックを備えた有効なパンクチャ結果を高いレートで生成することを可能にする。ビットメトリック数が不十分な場合、フラグ結果が生成され、デパンクチャ結果の使用を防ぐことが望ましい。この場合、ビットメトリックオペランドからの全てのビットメトリック及び更なるビットメトリックオペランドからの実行可能な限り多くのビットメトリックは、望ましくはキュー結果へコピーされる。従って有効なデパンクチャ結果を追って生成することが可能である。
本発明のこれら及び他の目的及び有利な態様は、本発明の非限定的な例を示す以下の図の記載から説明される。
図1は、DVB(デジタルビデオ放送)受信機装置のような信号受信機装置を示す。装置は、縦列接続されたフロントエンド10、デジタル信号処理回路12及びバックエンド14を有する。フロントエンド10は、ビデオ放送信号を受信する入力を有する。動作中、フロントエンド10は、ビデオ放送信号を受信し、及びデジタル情報を当該信号から読み出す。デジタル信号処理回路12は、デジタル情報を受信し、及びデジタル情報を処理しビデオデータ信号を形成する。デジタル信号処理回路は、ビデオデータ信号をバックエンド14へ供給する。バックエンド14は、例えば、接続されたビデオディスプレイ画面(示されない)のための表示データ又は接続されたビデオ記録装置(示されない)のための格納データを生成して良い。バックエンド14は、これらの目的のためにビデオディスプレイ画面及び/又は記録装置自体を有して良い。
デジタル信号処理回路12は、復調(デジタル信号サンプルを用い、当該サンプル信号を変調するために用いられたデータアイテムを再構成する)及び復調データアイテムを誤り訂正符号(ECC)に従い復号化するような演算を実行するプログラムでプログラムされたプログラム可能な信号処理回路を有する。
本発明は、デジタル信号処理回路12内のデータのデパンクチャリングに関する。復号化の前に、デジタル信号処理回路12はデータをデパンクチャする。デパンクチャリングは、送信機側で実行されるパンクチャリングの逆である。ECC符号化データの選択されたビットは、送信されず、送信データのデータレートを減少する。受信側では、ECCによる誤り訂正に受信信号を用いる前に、既定値は非送信ビットと置き換えられる。
図2は、デジタル信号処理回路12からのプログラム可能な信号処理回路を示す。プログラム可能な信号処理回路は、命令発行ユニット20、レジスタファイル22、複数の機能ユニット23、24、26及びデータメモリー28を有する。命令発行ユニット20は、デジタル信号処理回路のためのプログラムを格納し、及びプログラムの実行中にプログラムフローにより決定された命令を読み出すよう配置される。命令発行ユニット20は、機能ユニット24、26と結合された演算制御出力を有する。演算制御出力は、機能ユニット23、24、26により実行されなければならない演算を識別する命令の演算コードにより決定される制御信号を供給する。命令発行ユニット20は、レジスタファイル22のポートと結合されたレジスタ選択出力を有する。レジスタ選択出力は、命令のオペランドを有するレジスタ及び命令の結果が格納されなければならないレジスタを示す選択信号を供給する。命令は、選択信号を制御するフィールドを有する。レジスタファイル22の出力ポートは、機能ユニット23、24、26と結合され、選択されたレジスタからオペランドを供給する。またレジスタファイル22の入力ポートは、機能ユニット23、24、26と結合され、命令の実行の結果を受信する。
単一の線が制御符号、レジスタ選択コード、オペランド及び結果を供給する通信接続を示すために示されるが、実際にはこのような接続を実施する際に多くの導体が並列に用いられることが理解されるだろう。単一の線は、複数のレジスタ選択コードを供給するため、又は複数のオペランドを供給するため若しくは複数の結果を返すための接続を表して良い。更に、3個の機能ユニット23、24、26が示され、各機能ユニットは命令発行ユニット20及びレジスタファイル22とそれぞれの接続を有するが、実際にはより多くの、又は異なる機能ユニットの機能がレジスタファイル22への共通の接続を共有する機能ユニットにグループ化された場合にはより少ない機能ユニットが存在して良いことが理解されるだろう。
機能ユニットは、プロセッサーにより実行され得る全種類の命令を有する「命令セット」を定める。本願明細書で用いられるように、「命令」は個々の機能ユニットにより実行される演算を選択するプログラムの基本単位である。命令は、命令として機能し得る単位に更に分離し得ないプログラムの「最小単位」である。標準的に、各命令は、命令を識別する単一のオペコード(演算コード)を有する。良く知られているように、プログラム可能なプロセッサーの設計は、標準的に命令セットの特定から開始する。命令セットの特定は、少なくともプロセッサーの基本的実施を選択するための十分な情報を当業者に供給する。
第1の機能ユニット23は、データメモリー28と結合されたメモリーアクセス機能ユニットである。このメモリーアクセス機能ユニット23は、「LOAD」及び「STORE」命令を実行するよう設計され、データメモリー28内の位置のアドレスを指定するオペランドを備える。データメモリー28はまた、信号データを受信し及びビデオデータを伝送する、フロントエンド10(示されない)及び/又はバックエンド14(示されない)と結合されて良い。第2の機能ユニット24(実際には機能ユニットのグループを有して良い)は、ADD、SHIFT等のようなALU命令のような従来の命令を実行するよう設計される。示されないが、更なる機能ユニットが存在して良く、従って例えば複数の命令が並行して実行され得るか、又は異なる命令が実行され得る(例えばフロントエンド10(示されない)からの信号データの入力及び/又はバックエンド14(示されない)へのビデオデータの出力)。
受信データの処理中、機能ユニットのオペランドは、標準的に、受信ビット毎に複数のオペランドビット(例えば4オペランドビット)を用い受信信号からの各ビットを表し、受信ビット値に関する確実性を示す。このような複数のオペランドビットは、「ビットメトリック」として参照される。しかしながら、本発明から逸脱することなく、受信ビットを表すために単一のオペランドビットが用いられて良い。この場合、「ビットメトリック」は当該単一ビットを参照する。
プログラム可能な命令プロセッサーのプログラムは、信号データのデパンクチャリングを提供する。専用の第3の機能ユニット26は、デパンクチャリングの目的で設けられた命令を実行するために設けられる。ある実施例では、デパンクチャリング機能ユニット26により実行される種類の命令は、次のように示される。
DEPUNCTURE Rl,R2,R3,R4,R5,R6
この表記では、R1、R2等は、オペランドを提供するため及び命令の結果を書き込むために用いられるレジスタファイル22内のレジスタを識別するレジスタ選択コードを示す。しかしながら、命令は、本願明細書ではR1等はレジスタ「である」と言うことにより口語表現を用いて記載される。これは、R1等がレジスタファイル22内のレジスタを識別する選択コードを示すことを意味すると理解されるべきである。更に口語的には、R1等は「オペランドである」、と言われる。これはまた、R1等がオペランドを有するレジスタファイル22内のレジスタを識別する選択コードを示すことを意味すると理解されるべきである。
この表記では、DEPUNCTUREは命令を識別するオペコードを示し、R1、R2は受信ビットのビットメトリックを有するオペランドレジスタである。R3は長さコードを有するオペランドレジスタである。R4はパターンコードを有するオペランドレジスタである。R5は、レジスタR1及び任意的にR2からのビットメトリックと挿入された既定ビットメトリックとの和が書き込まれる結果レジスタである。R6は、レジスタR1及びR2からの更なるビットメトリックが書き込まれる結果レジスタである。
命令が実行されると、レジスタR1及び任意的にR2からのビットメトリックは、レジスタR5へ、追加の挿入された既定ビットメトリックと共にコピーされる。オペランドに依存して、レジスタR1、R2からの残りのビットメトリックの一部は、レジスタR6へ出力される。レジスタR6の目的は、命令の実行がオペランドレジスタR1として機能するレジスタR6で繰り返され得ることである。
図3は、デパンクチャ機能ユニット26の実施例を示す。デパンクチャ機能ユニットは、オペランド結合回路30、デパンクチャリング回路32及びオペランド更新回路34を有する。デパンクチャ機能ユニットは、オペランドデータをレジスタR1、R2、R3、R4から受信する4個のオペランド入力36a−d、及び結果をレジスタR5、R6へ出力する結果出力38、39を有する。
オペランド結合回路30は、N個の連続するビットメトリックを有する出力信号を形成するよう配置される。N個の連続するビットメトリックの内、L個のビットメトリックは入力36aでオペランドR1から、N−L個は入力36bにおいてオペランドR2から生じる。Lはオペランド入力36cからの長さコードにより制御される。
図4は、オペランド結合回路30の実施例の例を示す。この実施例では、シフト回路40及びOR回路42が用いられる。第1のオペランド入力36aは、OR回路42の第1の入力と結合される。第2のオペランド入力36bは、シフト回路40の入力と結合される。シフト回路40は、OR回路42の第2の入力と結合される出力を有する。第3のオペランド入力36cは、シフト回路40の制御入力と結合される。OR回路42の出力及びシフト回路40の出力の一部は、オペランド結合回路の出力を形成する。
シフト回路40は、例えば知られているバレルシフト回路として実施される。バレルシフト回路は並列入力を有する。並列入力の最上位入力は、MビットのオペランドのM個のビットを第2のオペランド入力36bから並行して受信する(例えばM=32)。及び並列入力のM個の下位入力は例えば論理ゼロ値を受信する。シフト回路40は2×M個の並列出力を有する。並列出力は、L個のビットメトリック位置に渡り下位位置へシフトされた(つまりビットメトリックが4個のビットにより表される場合、4×L個のビットに渡るシフトが用いられる)入力信号のコピーを出力する。シフト量は、第3のオペランド入力36cにより制御される。最上位のL個のビットメトリック位置において、シフト回路40は論理ゼロを出力する。OR回路42は、第1のオペランド入力36a及びシフト回路40の最上位M個の出力ビットからビット毎にM個の入力ビットの論理ORを生成する。シフト回路40の下位M個の出力ビットは、オペランド結合回路30の出力へ直接供給される。
理解されるべき点は、同一の機能を実現する多くの代案の実施が可能であることである。簡単な例として、回路が第1のオペランドR1内の未使用位置において論理「1」の値を有するよう配置される場合、OR回路42の代わりにビット毎のAND回路が用いられて良い。反転された信号が用いられて良い、等である。
デパンクチャリング回路32は、オペランド結合回路30からのビットメトリックのコピーをデパンクチャリング回路32の出力へ、これらビットメトリックがオペランド結合回路30から出力されるシーケンスで出力するよう配置される。出力シーケンス内のビットメトリックの間で、デパンクチャリング回路32は既定ビットメトリックを選択位置に挿入する。選択位置は第4のオペランド入力36dからのオペランドにより制御される。
図5は、デパンクチャリング回路32の実施例を示す。この実施例は、複数の多重回路50、及び一連の加算回路52を有する。加算回路52はチェーンを形成する。最初の加算回路52を除き、各加算回路52は、前の加算回路52の出力と結合された第1の入力を有する。加算回路の第2の入力は第4のオペランド入力36dからの個々のビットと結合される。多重回路50のそれぞれは、既定ビットメトリック源と結合された第1の入力54、及びオペランド結合回路30の個々のビットメトリック出力と結合された1つ以上の第2のビットメトリック入力を有する(単一の線が示されるが、各線は複数のデータ導線、例えばビットメトリックの対応するビットを供給する4本のデータ導線を表し得ることが理解されるべきである)。多重回路50のそれぞれは、第4のオペランド入力36dからの対応するビットと結合された制御入力を有する。加算回路52の出力は、多重回路50の個々の更なる制御入力と結合される。
動作中、第4のオペランド入力36dからのオペランドの個々のビットは、デパンクチャリング回路32の出力においてビットメトリックを出力する1つ以上のビットの個々のグループに対応する。第4のオペランド入力36dからのオペランドのそれぞれの個々のビットは、対応するグループが既定ビットメトリック又はオペランド結合回路30からのビットメトリックを有するべきかを示す。多重回路50は、第4のオペランド入力36dからのこれらのビットを用い、既定ビットメトリック又は出力結合回路30からのビットメトリックが通過されるかを制御する。更に、加算回路52からの出力は、オペランド結合回路30からのどのビットメトリックが通過されるかを制御する。各多重回路50は、より上位の出力ビットと接続される多重回路50の他のどれによっても通過されない最上位位置からのビットメトリックを結果出力39において通過する。多重回路50は、i=0、1、2、...と番号付けられて良い。ここで数「i」は、多重回路50が接続される出力が下位であるほど増大する。同様に、第4のオペランド入力36dからのビットBjは、番号jにより番号付けられて良い。及びオペランド結合回路30からのビットメトリックMkは、番号kにより番号付けられて良い。この表記に従い、加算回路52は、番号iを備えた多重回路50を制御し、j<iとしてビットBjの和と等しい番号kを有するビットメトリックBkを通過する。
理解されるべき点は、図5が単にデパンクチャ回路の1つの可能な実施例を示すことである。代案の例として、制御可能なシフト回路のチェーンが用いられて良く、各シフト回路はパターンからの個々のビットにより制御される。この代案では、オペランド結合回路30からのデータは、チェーンの始めに適用される。デパンクチャ出力39の各部分は(最初の部分を除き)、既定ビットメトリック値又はチェーン内の個々のシフトレジスタからの値を制御され受信する。このような解決法は、待ち時間が問題ではない場合に実現可能である。しかし理解されるように、多重の実施は利点を有する、つまり一般に少ない待ち時間を有する。多重回路は如何なる知られている方法で、例えば多重機能(データを選択された入力から出力へコピーする)又はスイッチ回路等に対応する論理機能を備えた論理回路として実施されて良い。
オペランド更新回路34は、第1のオペランド入力36aにおいて後続のオペランドとして用いられるための結果を形成する。ある実施例では、オペランド更新回路34はシフト回路であり、オペランド結合回路30の出力信号をより上位の位置へシフトすることにより結果を形成する。シフト量は、デパンクチャリング回路32により出力されるオペランド結合回路30からのビットメトリック数により制御される。つまりシフト量は第4のオペランド入力36dからのオペランドの内容に対応する。従って、第1の結果は、命令に応じてデパンクチャリング回路32から出力されていない最上位ビットメトリックで開始する。望ましくは、第4のオペランド入力36dからのオペランドは、既定ビットメトリックが挿入されなければならない場所を示すビットに加え、入力結合回路30からのパンクチャリング回路32が用いるビットメトリック数を表す数を有する。これは、最小可能命令サイクル長を更に減少する。或いは、この数は、既定ビットメトリックが挿入されなければならない場所を示すビットから、例えば加算回路52を用いて計算されて良い。
デパンクチャリングをビットメトリックストリームへ適用するプログラムは、望ましくは、ループ内にDPUNCTURE命令を有し、図3のデパンクチャ機能ユニットにDEPUNCTURE演算を繰り返し実行させる。当該ループ内の命令の例は以下に示される。
repeat
DEPUNCTURE Rl,R2,R3,R4,R5,R1
...次のR3値を計算する命令
...及び新しい入力をロードするための保護値R7
STORE A1++,R5
LOAD A2++,R4
IF R7 LOAD A3++,R2
当該ループでは、結果出力38からの結果は、レジスタR1へ格納される。レジスタR1は、オペランドレジスタR1として用いられ、オペランドを第1のオペランド入力36aに供給する。レジスタR5内のデパンクチャされた出力は、アドレスレジスタA1からのアドレスにおいてメモリー内に格納される。命令は、ループ内に含まれ、連続するパンクチャパターンをレジスタR4内にアドレスレジスタA2により決定されたアドレスからロードする。更なる命令が含まれ、新しい第2のオペランドをレジスタR2内へロードする。保護されたロード命令は、この目的のために用いられる。つまり当該命令は、保護レジスタR7内のフラグが設定されている場合のみ、完全に実行される。
更に、命令が含まれ、R3内の長さ値を更新し、及びレジスタR7内の保護値を計算する。ある実施例では、新しい長さ値L’は次式を用いて計算される。
L’=L+I−M
ここでLは第1のオペランド入力36aからのオペランド内に存在したビットメトリックの数を示す前の長さ値である(第3のオペランド入力36cからのオペランドにより示されるように)。Iは第2のオペランド入力36bからのオペランドからのビットメトリックの数Iである。MはレジスタR4内のパターンに依存する。Mは、デパンクチャリング回路32からの結果を形成するために用いられていた入力結合回路30の出力からのビットメトリックの数Mである。L’がレジスタR1内に格納され得るビットメトリックの最大数より大きい場合、命令は代わりに次式に従いR3を設定する。
L’=L−M
この場合、R7内のフラグは、第2のオペランドとしての使用のための新しい値のレジスタR2へのロードが同様に抑制されるよう、設定される。
長さ値を計算し及び入力オペランドを更新するこの方法は、ビットデパンクチャ結果が結果レジスタR5へ書き込まれる出力レートが、新しいレジスタ値がロードされる入力レートと異なって良いという効果を有する。
更なる実施例では、デパンクチャ機能ユニットは、新しい長さ値の及び/又はレジスタR7のフラグの計算も、DEPUNCTURE命令に応じて実行するよう配置される。この計算に必要な全ての情報はデパンクチャ機能ユニットのオペランド入力において既に利用可能であり、従って如何なる追加オペランドも必要ないので、これは小さいオペランドオーバーヘッドしか必要としない。この目的のためのデパンクチャ機能ユニットの使用は、如何なる追加命令もロードされる必要がないという利点を有する。さもなければ他の機能ユニットはこの計算のために占有される必要がある。
これらの計算は、例えばL+I−Mを結果に適合するビットメトリックの最大数と比較する比較回路、及び計算回路を追加することにより対応され得る。比較回路は、レジスタR7のフラグを出力する。及び計算回路はフラグ値に依存してL+I−M又はL−Mを計算し及び出力する。このような変更されたデパンクチャ機能ユニット及び対応して変更されたDEPUNCTURE命令では、プログラムループの例は次の通りである。
repeat
DEPUNCTURE Rl,R2,R3,R4,R5,R1,R7,R3
STORE A1++,R5
LOAD A2++,R4
IF R7 LOAD A3++,R2
この例では、DEPUNCTURE命令は、レジスタR7、R3にそれぞれ書き込まれる2つの追加結果を生成する。R7はフラグを受信する。及びR3は更新された長さを受信する。
理解されるべき点は、代案として、複数の異なる命令は、DEPUNCTURE命令の個々の部分を実行するために定められて良いことである。例えば、デパンクチャ結果R5を形成するだけの最低限のDEPUNCTURE命令が定められて良い。更新されたオペランドR1を形成するOPERAND_UPDATE命令が定められて良い。及び追加結果を形成する補助命令AUXが定められて良い。この例では、プログラムループは、次の通り実施されて良い。
repeat
DEPUNCTURE Rl,R2,R3,R4,R5
UPDATE_OPERAND Rl,R2,R3,R4,R1
AUX R3,R4,R3,R7
STORE A1++,R5
LOAD A2++,R4
IF R7 LOAD A3++,R2
これら3個の新しい命令の対が単一の命令に結合されて良い他の代案が可能である。単一の機能ユニットが設けられ、これら3個又は2個のこれら命令のそれぞれを実行して良い。或いは、3個の異なる機能ユニットが設けられ、これらの命令の個々の命令を実行して良い。VLIW又はスーパースカラープロセッサーが用いられる場合、これは、命令の実行が並行して実行され得るという利点を有する。従ってループに必要とされる命令サイクル数は減少され得る。
本発明によるプログラム可能な処理回路の用途のある例は、DVB復号化である。DVB復号化中、異なるパンクチャパターンが用いられて良い。例えば、1/2、2/3、3/4、5/6、又は7/8のレートを備えたパンクチャパターンは、ECC符号化により2倍になったストリームに用いられて良い。以下の表は、符号化中に用いられて良いパンクチャパターンを示す。
Figure 2008523762
選択されたレートのパンクチャパターンは、ビットのストリームに適用される。パターン内の連続するシンボルは、ビットのストリーム内の連続するビットに対応する。パンクチャパターンでは、「1」は、対応するビットがストリーム内に残ることを示す。及び0は、対応するビットが削除されるべきであることを示す。ビットのストリームがパターン長さより長い場合、パターンは繰り返される。
結果として生じるストリームの送信後、送信されたビットに対応するビットメトリックが計算される。本発明によるプログラムは、DEPUNCTURE命令を用い、既定ビットメトリックをビットが削除された位置に挿入し、及びそれぞれ所定数の(受信又は挿入された)ビットメトリックを有する結果を生成する。
例として、各結果が8ビットメトリックを有する例が議論される。以下の表は、ストリームをデパンクチャするためにプログラムのレジスタR4で用いられて良いパターンを示す。
Figure 2008523762
連続する列は、DEPUNCTURE命令の連続する呼び出し中に用いられる連続するパターンを示す。分かるように、同一パターンが、レート1/2及びレート2/3復号化で繰り返し用いられる。何故なら結果内のビットメトリック数Nは(この例ではN=8)、基本パンクチャリングパターンの整数倍に等しいからである。これは他のレートと異なる。及び従って、異なるパターンは、これらのレートの連続する命令呼び出しに用いられる。各パターンは、対応する基本パターンの反復のNビットチャンクを有する。レート3/4符号化の場合では、パターンは3回の命令呼び出しの後、繰り返す。レート5/6の場合では、パターンは5回の命令呼び出しの後、繰り返す。レート7/8の場合では、パターンは7回の命令呼び出しの後、繰り返す(パターンのサイクルの一部は表中に示されない)。望ましくは、モジュロアドレス計算が用いられ(例えばメモリーアクセスユニット内で)、特定のレートに適したアドレス反復サイクルを備えたパターンをロードするため、アドレスを計算する。
更なる実施例では、レジスタR7の予測フラグ値が計算され、L+I−Mがループの次の実行のMAX(結果に適合するビットメトリックの最大数)より小さいか又は等しいかを決定する。この例では、レジスタR2内のオペランドのロード命令の実行は、このオペランドが実際に使用されるまで延期され得る。更に、DEPUNCTURE命令の定義及び当該命令を実行するデパンクチャ機能ユニットは、このフラグ値が命令の更なるオペランドとして適用されるよう更に変更されて良い。この例では、デパンクチャ機能ユニットは、フラグが如何なる新しいオペランドもロードされていないと示す場合、レジスタR2からのオペランドの代わりに既定値(例えば論理ゼロ)を用いるよう適合されて良い。これは、レジスタR2の値が問題でないという利点を有し、従って当該レジスタ内の未定義値は、LOAD命令が完全に実行されない場合、容認され得る。つまり、命令の起動は次の形式を取って良い。
DEPUNCTURE Rl,R2,R3,R4,R7,R5,R1
ここで、フラグレジスタR7は、既定値がR2の内容の代わりに用いられるべきかを制御する入力として機能する。
予測フラグ値は、ループ内の追加命令により計算され得る。しかし望ましくは、デパンクチャ機能ユニットは、予測フラグ値を計算するために適応される。この例では、DEPUNCTURE命令は次の形式を取る。
DEPUNCTURE Rl,R2,R3,R4,R7,R5,R1,R7,R3
予測フラグ値の計算では、レジスタR4内の将来のパターン値に従い入力オペランドR1から用いられるビットメトリック数に関する情報が必要である。望ましくは、当該情報は、レジスタR4内の現在のパターン値と共に含まれる。しかし代案として、更なるオペランドがこの目的のために用いられて良い。
変調信号の復号化中、R5へ書き込まれる結果に含まれ得るビットメトリックの最大数より小さい数のビットメトリックがオペランドR2内で用いられることが望ましい。結果として、十分なビットメトリックがR5内の結果を形成するために利用可能である前に、複数のオペランドをロードする必要があって良い。ある実施例では、これはデパンクチャ機能ユニットにより支援される。従ってオペランドは、レジスタR2を介しDEPUNCTURE命令の繰り返し実行により供給され得る。この目的のために、デパンクチャ機能ユニットは、デパンクチャ結果が有効かどうかを示す更なる結果出力と共に供給される。当該デパンクチャ機能ユニットにより実行されるDEPUNCTURE命令を使用するプログラムループの例は、以下の形式を取って良い。
repeat
DEPUNCTURE Rl,R2,R3,R4,R5,R1,R8
R3及びR7の新しい値を計算する命令
IF R8 STORE A1++,R5
IF R8 LOAD A2++,R4
IF R7 LOAD A3++,R2
このループでは、R5に対するSTORE命令の実行は、レジスタR8からのフラグにより保護される。従ってSTORE命令は、フラグが適切な値を有する場合のみ、完全に実行される。同様に、R4にパターンをロードするLOAD命令の実行は、レジスタR8からのフラグにより保護される。従って当該LOAD命令は、フラグが適切な値を有する場合のみ、完全に実行される。フラグは、DEPUNCTURE命令の実行により設定される。
図6は、この種のDEPUNCTURE命令を実行するために用いられ得るデパンクチャ機能ユニットの実施例を示す。ここで、デパンクチャ機能ユニットの結果出力62と結合された出力を備えた計算/比較回路60が追加されている。計算/比較回路60は、プログラムの例の中でR8に書き込まれるフラグを計算するよう配置される。計算/比較回路60は、次式であるかどうかを決定する。
L+I<M
つまり、第1のオペランド入力36aのビットメトリック数Lと第2のオペランド入力36のビットメトリック数Iとの和は、結果出力39において出力されなければならないビットメトリックの数Mより小さいかどうかである。小さい場合、結果出力62における出力フラグは、R5に対するSTORE命令が完了するのを防ぐ値に設定される。これは、プログラムループの複数の反復では、DEPUNCTURE命令の実行は、レジスタR5内の有効な結果を生成するために十分な数のビットメトリックが利用可能になるまで、単にレジスタR1内のビットメトリック数を拡張するよう機能するという効果を有する。
勿論、DEPUNCTURE命令に応じてR8内に出力結果を供給するようデパンクチャ機能ユニットを適応することは、DEPUNCTURE命令に応じてデパンクチャ機能ユニット内でR3及び/又はR7を計算するよう適応することと組み合わせられて良い。この例では、より多くのオペランドを有する異なる版のDEPUNCTURE命令が用いられて良い。この例では、これらの値を計算する別個の命令は、ループから省略されて良い。プログラムループは、以下の形式を有して良い。
repeat
DEPUNCTURE Rl,R2,R3,R4,R5,R1,R3,R7,R8
IF R8 STORE A1++,R5
IF R8 LOAD A2++,R4
IF R7 LOAD A3++,R2
DVB復号化動作では例えば、4個のビットメトリックをレート3/4デパンクチャリングに対し供給することが望ましい。この例では、N=8ビットメトリックを有する結果が用いられる場合、有効なデパンクチャリング結果が生成され得る前に、2個の第2のオペランドがロードされる必要がある。以下の表は、種々のオペランドにより想定される数及びこの例での命令呼び出し結果の例を示す。
Figure 2008523762
他の実施例では、デパンクチャ機能ユニットは、オペランドレジスタR2内のビットメトリックのプログラム可能な数Iを扱うよう適応される。DVB復号化では例えば、復調動作は、異なる変調方式に対し異なる数のビットメトリックを生成する。従って、ビットメトリック数を適応することが望ましい。例えば、BPSK変調された信号の復調ではI=2ビットメトリック毎第2のオペランドが用いられて良い。16QAM変調された信号の復調ではI=4ビットメトリック毎オペランドが用いられて良い。64QAM変調された信号の復調ではI=6ビットメトリック毎オペランドが用いられて良い。及び256QAM変調された信号の復調ではI=8ビットメトリック毎オペランドが用いられて良い。以下の表は、I=6ビットメトリックが第2のオペランドのそれぞれにレート=5/6のデパンクチャリング動作で用いられる例を示す。
Figure 2008523762
第1の実施例では、数IはDEPUNCTURE命令の演算コードにより示されて良い。この第1の実施例では、デパンクチャ機能ユニットは、異なる演算コード値を備えた複数種類からの命令、例えばDEPUNCTURE2、DEPUNCTURE4、DEPUNCTURE6、DEPUNCTURE8として記号表記され得る命令を実行するよう配置される。この第1の実施例では、デパンクチャ機能ユニットは、以上に議論された機能を有する値Iを、演算コードに依存して選択するよう設計される。プログラムでは、これら命令の選択された命令は、オペランドR2内に生成されたビットメトリックの数に依存して用いられる。
第2の実施例では、第2のオペランドR2内のビットメトリックの数Iは、DEPUNCTURE命令の追加オペランド内のデータにより示されて良い。この第2の実施例では、デパンクチャ機能ユニットは、以上に議論された機能を有する値Iを、当該追加オペランドを受信する入力から読み出すよう設計される。プログラムでは、選択されたオペランド値は、オペランドR2内に生成されたビットメトリックの数に依存して適用される。この第2の実施例では、単一のループがオペランドを扱うよう配置され得る。ビットメトリック数Iは、例えば送信ブロック内の対応するデータの位置に依存して、ループ中に変化する。
第3の実施例では、第2のオペランドR2内のビットメトリックの数Iは、例えば一連の利用可能なビットメトリック値の終わりを示す特定のビットメトリック値を用い、オペランドR2自体の中に符号化されて良い。この第3の実施例では、デパンクチャ機能ユニットは、以上に議論された機能を有する値Iを、第2のオペランドR2の内容から決定するよう設計される。
図7は、デパンクチャ機能ユニットの実施例を示す。当該実施例は、オペランドR2内のビットメトリックの数を指定するために追加オペランドの使用を適応することを、R3、R7及びR8の計算の適応と結合する。この実施例のデパンクチャ機能ユニットでは、補助結果計算回路70と共に、追加結果出力72、74、及び追加オペランド入力76、78が追加されている。第1の追加オペランド入力76は、第2のオペランド入力36bにおけるビットメトリックの数Iを指定するオペランドR9を供給するために用いられる。第2の追加オペランド入力78は、第2のオペランド入力36bにおけるオペランドが有効か否かを示すオペランドR7を供給するために用いられる。第1の追加結果出力72は、第3のオペランド入力36cにおける入力としての長さコードの将来の使用のため、結果出力38における結果内のビットメトリックの数を示す長さコードR3を供給するために用いられる。第2の追加結果出力74は、新しい第2のオペランドR2が必要であるか否かを示すフラグR7を供給するために用いられる。
図8は、補助結果計算回路70の実施例を示す。この実施例では、補助結果計算回路70は、加算回路80、減算回路82、比較回路84、多重回路86、ゼロ代入回路88及び更なる比較回路89を有する。
加算回路80は、第3のオペランド入力36c(第1のオペランド入力36aにおけるオペランド内のビットメトリックの数Lを示す)からオペランドを、第1の追加オペランド入力76(第2のオペランド入力36bにおけるビットメトリックの数Iを示す)からオペランドを受信する。後者は、第2の追加オペランド入力78により制御されるゼロ代入回路88を介する。第1の加算回路80は、第3のオペランド入力36cからのオペランドLと第1の追加オペランド入力76からのオペランドIとの和L+Iを、第2の追加オペランド入力78が第2のオペランドが無効であると示す限り、出力する。この場合、第1の加算回路80は、第3のオペランド入力36cからオペランドLを出力する。
減算回路82は、加算回路80から結果を、及び第4のオペランド入力36dからオペランドを受信する。減算回路82は、加算回路80からの出力の差(I+L又はL)及び第4のオペランド入力36dからのパターンに従い結果内に組み込まれるべきビットメトリックの数Mを形成する。(望ましくは、当該第4のオペランドは当該数を別個に有し、従って当該数は直ちに用いられ得る。しかし或いは当該数は、追加加算回路を用いパターンから計算されて良い。)
比較器84は、減算回路82からの差が負であるか否かを決定する。この比較の結果は、フラグ出力62において出力され、結果出力39からの出力が使用され得るか否かを示す。
多重回路86は、加算回路80からの出力及び減算回路からの出力(L+I−M及びL+I又はL−M及びL)を入力として、及び比較器84からの出力を制御入力として受信し、そして当該出力が負数を表わさない場合、減算回路82からの出力信号を通過する。その他の場合、加算回路80からの出力を通過する。多重回路86の出力は、追加結果出力72へ供給され、結果出力38におけるビットメトリックの数L’を示す。
更なる比較回路89は、入力L’を多重回路86の出力から、Iを第4のオペランド入力36dから、及び第1の追加オペランド入力76を受信する(後者は第2のオペランド入力36bにおけるオペランド内のビットメトリックの数を示す)。ここで、第4のオペランド入力36dからのオペランドは、第4のオペランド入力36dにおける次の将来の値からのオペランドに従い、結果に組み込まれるべきビットメトリックの数M’を示すとする。同様に、第1の追加オペランド入力76における次の将来のオペランド値に従うビットメトリックの数I’は、現在の値Iと等しいとする。
更なる比較回路89は、次の将来のDEPUNCTURE命令の実行中の第2のオペランド入力36bにおける第2のオペランド内のI’ビットメトリックを、結果出力39における結果に組み込むために十分な空間があるか否か、つまりL’+I’−M’が結果出力38における結果に含まれ得るビットメトリックの最大数MAX(例えばMAX=8ビットメトリック)を超えないか否かを検出するよう機能する。この比較の結果は、第2のオペランドの新しい値のロードを制御するために用いられる。
更に、出力62へ出力されるフラグ値はまた、オペランド更新回路34へ供給される。オペランド更新回路34は、シフト演算を実行し、結合された第1及び第2のオペランドからMビットメトリックをシフトする。しかしこのシフトは、フラグ値がL+I−M(又はL−M)は正でないと示す場合、抑制される。更に、第2の追加オペランド入力78からの信号は、オペランド結合回路30へ供給される。オペランド結合回路30は、第2の追加オペランド入力78からの信号が第2のオペランドは有効でないと示す場合、第1のオペランドからのビットメトリックが第2のオペランドにより影響されないことを保証するよう配置される。
勿論、理解されるべき点は、本発明が図8に示された実施例に限定されないことである。例えば、等価な結果は、多くの代案の回路で計算され得る。また、如何なる予測フラグも用いられない場合、第2の追加オペランド入力78及びゼロ代入回路88は省略されて良い。この場合、更なる比較回路89は、L+I−Mがビットメトリックの最大数MAXを超えないか否かを検出するために適応されて良い。及び多重回路86はL+I−M、L+I又はL−Mの何れかを出力するよう適応されて良い。この場合、L+Iが少なくともMに等しく且つL+I−Mが最大数MAXより大きくない場合、L+I−Mが出力される。L+IがM未満であり且つL+IがMAXより大きくない場合、L+Iが出力される。L+I−MがMAXより大きい場合、及びLが少なくともMと等しい場合、L−Mが出力される。
別個のオペランド入力が異なるオペランドを供給するよう機能する多数の実施例が記載されたが、理解されるべき点は、複数のオペランドが共有オペランド入力において組み合わせて供給されて良いこと、及び/又は複数の結果が共有結果出力へ組み合わせて供給されて良いことである。オペランド入力の数の低減は、所要の回路を減少するので、有利である。例えば、ある実施例では、第3のオペランド入力36cへ供給される長さコードは、第1のオペランド入力36aにおける第1のオペランドと一緒に供給されて良い。この場合、これらのオペランドを供給する結果出力38及び62はまた、望ましくは結合される。これは、第1のオペランド内に含まれ得るビットメトリックの最大数を減少し得るが、特定の用途では当該最大数は必要ない。
別の例として、第1の追加オペランド入力76からの長さコードは、第2のオペランド入力36bにおける第2のオペランドと共に供給される。再びこれは、第2のオペランド内に含まれ得るビットメトリックの最大数を減少し得るが、これはいくつかの用途では、例えば最大値が必要ない場合、不利点になり得ない。同様にフラグ値は、他の結果の使用に影響しない場合、他の結果と結合されて良い。例えば、デパンクチャ出力が有効か否かを示す結果フラグは、結果が保護として使用される場合、及びデパンクチャ機能ユニットが長さコードがオペランド内に存在している場所から長さコードを適切に抽出するよう配置される場合、保護された実行が残りのビットメトリックの長さコードの存在に依存しないならば、当該長さコードと組み合わされて良い。
別の例として、示されたデパンクチャ機能ユニットの実施例の何れも、複数の機能ユニットに分割されて良い。各機能ユニットは、示されたようにDEPUNCTURE命令の演算の個々の部分を実行するために使用される別個の命令を実行する。例えば、命令を実行し、それぞれ補助結果計算回路70及び図7の残りのデパンクチャ機能ユニットの演算を実行する命令を実行する別個の機能ユニットが設けられて良い。別の例として、命令を実行し、(出力39における)デパンクチャ結果を計算し、及び(出力38における)次の第1のオペランドを計算する別個の機能ユニットが設けられ得る。VLIWアーキテクチャでは、このような機能ユニットは、命令を並行して実行するよう作られ得る。これは、結果として単一命令が用いられ全ての演算を開始する場合と同一の演算速度をもたらすが、しかしながらループ内の他の命令をスケジュールするためのより大きい柔軟性を生じる。
更に、既定ビットメトリック値がパンクチャされたビットの位置に挿入される例が示されたが、理解されるべき点は、DEPUNCTURE命令が、例えば全ての命令で使用されるべきDEPUNCTURE命令のオペランド内の単一代入値の形式で、又は個々のパンクチャ位置に使用されるべき複数代入値の形式で、挿入されるビットメトリック値の決定を提供することである。追加オペランド入力は、デパンクチャ機能ユニットに提供され、1つ又は複数の代入値を供給して良い。又はデパンクチャ機能ユニットは、当該1つ又は複数の代入値を例えばパターンオペランドR4内の1つ以上の記載されたオペランドから抽出するよう配置されて良い。当該代入ビットメトリックは、プログラムのみに依存しレジスタR1、R2に供給される受信データに依存しないので、「所定の」ビットメトリックと称される。
更に、本発明はそれぞれ単一ビットを表すビットメトリックのストリームのデパンクチャリングのために記載されたが、理解されるべき点は、本発明がまた各ビットメトリックが複数ビットコードシンボル、例えば2ビットシンボルを表すデパンクチャリングにも適用されることである。
機能ユニットへ十分なオペランドを供給可能であるため、及び十分な結果を書き込み可能であるため、専用発行スロットが標準的に設けられ、DEPUNCTURE命令を命令発行回路から機能ユニットへ供給し、及び十分な数の読み出し及び書き込みポートは望ましくは当該発行スロットに対応する。ある実施例では、更なる機能ユニットは、如何なる命令もデパンクチャ機能ユニットへ発行されない場合、当該機能ユニットへ命令を発行する当該発行スロットと結合されて良い。複数の当該更なる機能ユニットは、発行スロットと並列に結合され、読み出し及び書き込みポートの対応するグループと結合され如何なる命令もデパンクチャ機能ユニットへ発行されない場合、当該ポートをより効率的に使用しても良い。
VLIWアーキテクチャが用いられる場合、DEPUNCTURE命令と並行して複数の命令を発行することが可能である。従って、プログラムループの1回に必要な命令サイクル数は、減少され得る。DEPUNCTURE命令は、相互データ依存を有する命令の数を減少する。これは、ループ内のより多くの命令を同一のVLIW命令に結合することを可能にし、従ってループに必要な命令サイクル数が小さく保たれ得る。これは、ループの命令をバッファすることをより容易にし、また実行速度を上げる。
信号受信機装置を示す。 プログラム可能な信号処理回路を示す。 デパンクチャ機能ユニットを示す。 オペランド更新回路を示す。 デパンクチャ回路を示す。 更なるデパンクチャ機能ユニットを示す。 更なるデパンクチャ機能ユニットを示す。 補助結果計算回路を示す。

Claims (24)

  1. プログラム可能な信号処理回路であって、
    −オペランド記憶回路;
    −オペランド位置及び結果位置を前記オペランド記憶回路内でアドレス指定する命令処理回路、を有し、前記命令処理回路の命令セットはデパンクチャ命令を有し、前記命令処理回路は、ビットメトリックオペランドを前記デパンクチャ命令により示されたビットメトリックオペランド位置から受信するオペランド入力と、デパンクチャ結果を前記デパンクチャ命令により示された結果位置へ書き込む結果出力と、を有し、前記命令処理回路はビットメトリックを前記ビットメトリックオペランドからコピーし及び1つ以上の所定のビットメトリック値を前記デパンクチャ結果内の前記ビットメトリックオペランドからのビットメトリック間に挿入し、前記デパンクチャ結果内の前記コピーされたビットメトリックの相互に対する相対位置を前記ビットメトリックオペランド内の前記コピーされたビットメトリックの相互に対する相対位置に比べ、1つ又は複数の前記挿入された所定のビットメトリック値を収容するために必要な程度まで変化することにより、前記デパンクチャ結果を形成するよう配置される、プログラム可能な信号処理回路。
  2. 少なくとも1つのビットメトリック多重回路を有し、前記ビットメトリック多重回路は、前記オペランド入力と結合され前記ビットメトリックオペランド内の個々の位置から複数の個々のビットメトリックを受信する入力と、前記結果出力と結合され前記デパンクチャ結果の一部を供給する出力と、所定のビットパターン値が挿入されなければならない場所を制御する前記デパンクチャ命令により指定された情報から引き出された制御信号を受信するために結合された制御入力と、を備え、前記デパンクチャ命令により指定された前記情報が、ビットメトリックは前記ビットメトリックオペランドから前記デパンクチャ結果の前記部分にコピーされるべきであると示すかどうか、及びパターンオペランドが示す複数の所定のビットメトリック値は前記パンクチャ結果の前記部分に論理的に先行するデパンクチャ結果の更なる部分に挿入されるべきかに依存して、所定のビットメトリック値又は前記ビットメトリックオペランドからのビットメトリックの1つを出力するよう選択する、請求項1記載のプログラム可能な信号処理回路。
  3. 前記オペランド入力と前記結果出力との間に結合され前記デパンクチャ結果の一部を供給する制御可能なシフト回路、を有し、前記制御可能なシフト回路は、所定のビットパターン値が挿入されなければならない場所を制御する前記デパンクチャ命令により指定された情報から引き出された制御信号を受信するために結合された制御入力を有し、前記デパンクチャ命令により指定された前記情報が示す前記デパンクチャ結果の前記部分に先行する前記デパンクチャ結果の更なる部分に挿入されるべき所定のビットメトリック値の数に依存して、前記制御可能なシフト回路のシフト量を制御する、請求項1記載のプログラム可能な信号処理回路。
  4. 前記命令処理回路は、前記デパンクチャ命令のパターンオペランドを受信する更なるオペランド入力を有し、前記パターンオペランドはプログラム可能なデパンクチャリングパターンを指定し、前記命令処理回路は、前記パターンオペランド内の指定された前記プログラムされたデパンクチャリングパターンに依存して、前記命令処理回路が前記所定のビットメトリック値を前記パンクチャ結果内に、前記ビットメトリックオペランドからのビットメトリックの間に挿入する位置を制御するよう配置される、請求項1記載のプログラム可能な信号処理回路。
  5. 前記命令セットは複数のデパンクチャ命令を有し、各デパンクチャ命令は、前記所定のビットメトリック値が挿入されなければならない、デパンクチャ結果内の前記ビットメトリックオペランドからのビットメトリックの間の個々の異なる位置又は位置の組み合わせを定める、請求項1記載のプログラム可能な信号処理回路。
  6. 前記デパンクチャ命令は更なるビットメトリックオペランドを有し、前記命令処理回路は、ビットメトリックオペランド内のビットメトリック数が前記デパンクチャ結果を形成するために十分でない場合、前記ビットメトリックオペランドの入力及び前記更なるビットメトリックオペランドの両方から前記デパンクチャ結果へ、前記ビットメトリックをコピーするよう配置される、請求項1記載のプログラム可能な信号処理回路。
  7. 前記命令処理回路は、前記デパンクチャ命令又はキュー命令に応じ、前記デパンクチャ結果に含まれていないビットメトリックを、前記複数のオペランドからキュー結果へコピーすることにより、及び前記キュー結果内のビットメトリックを前記デパンクチャ命令の将来の実行中に前記ビットメトリックオペランドとして使用するために配置することにより、キュー結果を形成する、請求項6記載のプログラム可能な信号処理回路。
  8. 前記デパンクチャ命令は、前記ビットメトリックオペランド内に存在するビットメトリックの数を示す長さオペランドを有し、前記命令処理回路は、前記長さオペランドに依存した前記ビットメトリックオペランドから前記デパンクチャ結果へコピーされるビットメトリックの最大数を制御するよう配置される、請求項6記載のプログラム可能な信号処理回路。
  9. 前記命令処理回路は、デパンクチャ結果を形成するために必要な最小数のビットメトリックがビットメトリックオペランド及び更なるビットメトリックオペランド内で利用可能であるかどうかに依存して、出力有効結果を形成するよう配置され、前記命令処理回路は、前記出力有効結果を前記オペランド記憶回路へ書き込む、請求項6記載のプログラム可能な信号処理回路。
  10. 前記命令処理回路は、前記デパンクチャ命令又はキュー命令に応じ、前記デパンクチャ命令の将来の実行中に前記ビットメトリックオペランドとして使用するために、前記デパンクチャ結果にコピーされていないビットメトリックを、前記ビットメトリックオペランド及び前記更なるビットメトリックオペランドからキュー結果へコピーすることにより、キュー結果を形成し、前記命令処理回路は前記キュー結果を前記オペランド記憶回路へ書き込む、請求項6記載のプログラム可能な信号処理回路。
  11. 前記命令処理回路は、前記デパンクチャ結果を形成するために必要なビットメトリック数が前記ビットメトリックオペランド及び前記更なるビットメトリックオペランド内で利用可能であるビットメトリックの総数を超えるかどうかの表示を生成するよう配置され、前記命令処理回路は、前記表示を前記オペランド記憶回路へ書き込む、請求項10記載のプログラム可能な信号処理回路。
  12. 前記命令処理回路は、前記デパンクチャ結果を形成するために必要なビットメトリック数がビットメトリックオペランド内で利用可能であるかどうかの表示を生成するよう配置され、前記命令処理回路は、前記表示を前記オペランド記憶回路へ書き込む、請求項1記載のプログラム可能な信号処理回路。
  13. 前記命令処理回路は更なるビットメトリックオペランドを有し、前記命令処理回路は、前記デパンクチャ命令に応じ、前記デパンクチャ命令の将来の実行中のビットメトリックオペランドとしての使用のため、ビットメトリックを前記ビットメトリックオペランド及び前記更なるビットメトリックオペランドからの少なくとも1つの更なるビットメトリックからキュー結果へコピーすることにより、キュー結果を形成し、前記命令処理回路は前記キュー結果を前記オペランド記憶回路へ書き込む、請求項1記載のプログラム可能な信号処理回路。
  14. 前記デパンクチャ命令は、前記更なるビットメトリックオペランド内のビットメトリックのビットメトリック数を示し、前記命令処理回路は、前記デパンクチャ命令に応じ、前記更なるビットメトリックオペランドからの全てのビットメトリックが前記キュー結果にコピーされているか否かを、結果内に示すよう配置される、請求項13記載のプログラム可能な信号処理回路。
  15. 入力メトリックのストリームのデパンクチャリングを実行するプログラムでプログラムされ、前記プログラムは、
    −前記ストリームの連続するチャンクをオペランド記憶位置にロードする1つ以上の命令;
    −前記オペランド記憶位置を選択するビットメトリックオペランドを有するデパンクチャ命令、を有する、請求項1記載のプログラム可能な信号処理回路。
  16. パンクチャされたデータストリームの補正方法であって、前記方法は、
    −前記データストリームを表す信号を受信する段階;
    −前記データストリームからビットメトリックのストリームを引き出す段階;
    −プログラム可能な命令プロセッサーにデパンクチャ命令を繰り返し実行させる段階;
    −前記デパンクチャ命令の実行のために、それぞれビットメトリックのストリームからの個々の複数のビットメトリックを有するビットメトリックオペランドを提供する段階;
    −前記デパンクチャ命令の実行に応じ、所定のビットメトリック値を、前記デパンクチャ結果の少なくとも一部に前記ビットメトリックオペランドからのビットメトリックの選択された対の間に挿入し、前記デパンクチャ結果内の前記コピーされたビットメトリックの相互に対する相対位置を、前記ビットメトリックオペランド内の前記コピーされたビットメトリックの相互に対する相対位置と比べて、1つ又は複数の前記挿入された所定のビットメトリック値を収容するために必要な程度まで変化することにより、デパンクチャ結果を形成する段階;
    −前記プログラム可能な命令プロセッサーにより復号化された命令を用い、前記デパンクチャ結果からの誤り訂正されたデータを復号化する段階、を有する方法。
  17. 前記方法は、
    −前記デパンクチャ命令の異なるパターンオペランドを、前記プログラム可能な命令実行ユニットへ、前記デパンクチャ命令の個々の実行のために連続的に供給する段階、及び
    −前記デパンクチャ命令の前記パターンオペランド制御下で、各デパンクチャ命令の実行中、前記所定のビットメトリック値の挿入のため、前記ビットメトリックの間の位置を選択する段階、を有する請求項15記載の方法。
  18. 前記方法は、
    −前記デパンクチャ命令又は更なるビットメトリックオペランドを受信する更なる命令に応じキュー結果を形成する段階であって、前記更なるビットメトリックオペランドは、前記ビットメトリックオペランド、前記パターンオペランド及びキュー長コードに加え、所定数のビットメトリックを備えたビットメトリックのストリームからのチャンクを有し、前記キュー長コードは前記ビットメトリックオペランド内のビットメトリック数を指定し、前記キュー結果は、前記デパンクチャ命令又は前記更なる命令に応じ、パターンオペランドに依存する数のビットメトリックを、前記パターンオペランドに従い、前記デパンクチャ結果内へコピーされていない前記キュー結果内に、前記ビットメトリックオペランド内の前記ビットメトリック数から、前記デパンクチャ命令の実行中に配置することにより、形成され、パターンオペランドに依存する数のビットメトリックは、前記キュー結果内で前記更なるビットメトリックオペランドからのビットメトリックと結合される、段階;
    −前記デパンクチャ命令の続いて生じる実行のため、前記キュー結果をビットメトリックオペランドとして用いる段階、を有する請求項17記載の方法。
  19. −前記デパンクチャ結果内で用いられていないビットメトリックオペランドからのビットメトリックに加え、前記更なるビットメトリックオペランドからの全てのビットメトリックを前記キュー結果へコピーする十分な空間が前記キュー結果内にある場合、前記キュー結果内のビットメトリック数を示すキュー長結果を計算し、及び前記キュー結果内のビットメトリック数を、前記ビットメトリックオペランド内のビットメトリック数から、前記ビットメトリックオペランドから前記デパンクチャ結果へコピーされたビットメトリック数を差し引いたものに設定する段階;
    −前記更なるビットメトリックオペランドからの全てのビットメトリックを前記キュー結果へコピーする十分な空間が前記キュー結果内にあるまで、前記デパンクチャ命令又は同一の更なるビットメトリックオペランドと個々の異なるパターン値と連続するキュー結果を備えた更なる命令の実行を繰り返す段階、を有する請求項18記載の方法。
  20. 前記パターンオペランド内のデパンクチャパターンに加え、長さ値を供給する段階、及び前記デパンクチャ命令又は前記更なる命令に応じ前記長さ値を用い、前記更なるビットメトリックオペランドから前記キュー結果へコピーされるビットメトリック値の数を制御する段階、を有する請求項18記載の方法。
  21. 更なるビットメトリックオペランドを供給する段階、を有し、前記更なるビットメトリックオペランドは、前記ビットメトリックオペランドと前記パターンオペランドとキュー長コードに加え、前記デパンクチャ命令の実行のためのオペランドとして所定数のビットメトリックを備えたビットメトリックのストリームからのチャンクを有し、前記キュー長コードは前記ビットメトリックオペランド内のビットメトリック数を指定し、前記デパンクチャ結果は、ビットメトリックオペランド内のビットメトリック数が前記デパンクチャ結果内で用いるための十分なコピーを供給するために十分である場合、前記ビットメトリックオペランドからのパターンオペランドに依存する数のビットメトリックを前記デパンクチャ結果内に配置することにより、形成さる、請求項17記載の方法。
  22. 前記方法は、
    −前記デパンクチャ命令又は更なる命令に応じキュー結果を形成する段階であって、前記更なる命令は、前記ビットメトリックオペランドと、前記パターンオペランドとキュー長コードとに加え、前記更なるビットメトリックオペランドを受信し、前記キュー結果は、パターンオペランドに依存する数のビットメトリックを、前記パターンオペランドに従い、前記デパンクチャ命令により使用されていない前記キュー結果内に、前記ビットメトリックオペランド又は前記更なるビットメトリックオペランド内の前記ビットメトリック数から配置することにより、形成され、前記ビットメトリックオペランドからの前記パターンオペランドに依存する数のビットメトリック及び前記更なるビットメトリックオペランドからのビットメトリックは、前記キュー結果内で結合される、段階;
    −前記デパンクチャ命令の続いて生じる実行のため、前記キュー結果をビットメトリックオペランドとして用いる段階、を有する請求項21記載の方法。
  23. 前記デパンクチャ命令又は更なる命令の実行は、同一のパターンオペランドを有し、及び連続する更なるビットメトリックオペランドを有し、前記ビットメトリックオペランド及び前記更なるビットメトリックオペランドが共に、前記デパンクチャ命令の実行中に前記同一のパターンオペランドに対し前記デパンクチャ結果を形成するために十分なビットメトリックを有するまで、繰り返される、請求項22記載の方法。
  24. 個々に異なる所定数のビットメトリックのチャンクを用い、前記デパンクチャ命令を実行する段階、を有する請求項22記載の方法。
JP2007546276A 2004-12-14 2005-12-13 プログラム可能な信号及び処理回路及びデパンクチャリング方法 Expired - Fee Related JP4949268B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04106559.0 2004-12-14
EP04106559 2004-12-14
PCT/IB2005/054204 WO2006064463A2 (en) 2004-12-14 2005-12-13 Programmable signal and processing circuit and method of depuncturing

Publications (2)

Publication Number Publication Date
JP2008523762A true JP2008523762A (ja) 2008-07-03
JP4949268B2 JP4949268B2 (ja) 2012-06-06

Family

ID=36090861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007546276A Expired - Fee Related JP4949268B2 (ja) 2004-12-14 2005-12-13 プログラム可能な信号及び処理回路及びデパンクチャリング方法

Country Status (8)

Country Link
US (1) US7853860B2 (ja)
EP (1) EP1839127B1 (ja)
JP (1) JP4949268B2 (ja)
KR (1) KR101167225B1 (ja)
CN (1) CN101076777A (ja)
AT (1) ATE395661T1 (ja)
DE (1) DE602005006854D1 (ja)
WO (1) WO2006064463A2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1839127B1 (en) * 2004-12-14 2008-05-14 Koninklijke Philips Electronics N.V. Programmable signal and processing circuit and method of depuncturing
CN104283572B (zh) * 2013-07-03 2017-04-26 展讯通信(上海)有限公司 卷积码译码器输入信息的控制方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09261081A (ja) * 1996-03-22 1997-10-03 Kenwood Corp デパンクチャード回路
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
JP2002217744A (ja) * 2001-01-23 2002-08-02 Nec Corp データ復号装置
EP1839127B1 (en) * 2004-12-14 2008-05-14 Koninklijke Philips Electronics N.V. Programmable signal and processing circuit and method of depuncturing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151904A (en) * 1990-09-27 1992-09-29 The Titan Corporation Reconfigurable, multi-user viterbi decoder
US6005897A (en) * 1997-12-16 1999-12-21 Mccallister; Ronald D. Data communication system and method therefor
JP2000004215A (ja) * 1998-06-16 2000-01-07 Matsushita Electric Ind Co Ltd 送受信システム
DE19935785A1 (de) * 1999-07-29 2001-02-08 Siemens Ag Verfahren und Einrichtung zur Erzeugung eines ratenkompatiblen Codes
US6684366B1 (en) * 2000-09-29 2004-01-27 Arraycomm, Inc. Multi-rate codec with puncture control
JP3629241B2 (ja) * 2002-01-30 2005-03-16 松下電器産業株式会社 レートマッチング装置及びレートマッチング方法
US7284185B2 (en) * 2004-10-08 2007-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Puncturing/depuncturing using compressed differential puncturing pattern

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09261081A (ja) * 1996-03-22 1997-10-03 Kenwood Corp デパンクチャード回路
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
JP2002217744A (ja) * 2001-01-23 2002-08-02 Nec Corp データ復号装置
EP1839127B1 (en) * 2004-12-14 2008-05-14 Koninklijke Philips Electronics N.V. Programmable signal and processing circuit and method of depuncturing

Also Published As

Publication number Publication date
KR20070095891A (ko) 2007-10-01
KR101167225B1 (ko) 2012-07-24
DE602005006854D1 (de) 2008-06-26
US7853860B2 (en) 2010-12-14
EP1839127B1 (en) 2008-05-14
CN101076777A (zh) 2007-11-21
WO2006064463A2 (en) 2006-06-22
US20090287911A1 (en) 2009-11-19
WO2006064463A3 (en) 2006-12-21
JP4949268B2 (ja) 2012-06-06
EP1839127A2 (en) 2007-10-03
ATE395661T1 (de) 2008-05-15

Similar Documents

Publication Publication Date Title
US5881260A (en) Method and apparatus for sequencing and decoding variable length instructions with an instruction boundary marker within each instruction
KR100455011B1 (ko) 정값화처리및포화연산처리로이루어진라운딩처리를적합하게행할수있는프로세서
US8732548B2 (en) Instruction-set architecture for programmable cyclic redundancy check (CRC) computations
US7529918B2 (en) System and method for efficiently performing bit-field extraction and bit-field combination operations in a processor
KR20010075320A (ko) 구성 가능한 하드웨어 블록을 구성하기 위한 방법
KR20070026434A (ko) 듀얼 경로 프로세서에서 제어 프로세싱용 장치 및 방법
US20230325189A1 (en) Forming Constant Extensions in the Same Execute Packet in a VLIW Processor
US8433881B2 (en) Programmable signal processing circuit and method of interleaving
EP1065591A2 (en) Program conversion apparatus, processor and record medium
JP4949268B2 (ja) プログラム可能な信号及び処理回路及びデパンクチャリング方法
US20040158694A1 (en) Method and apparatus for hazard detection and management in a pipelined digital processor
US20100329450A1 (en) Instructions for performing data encryption standard (des) computations using general-purpose registers
US7143270B1 (en) System and method for adding an instruction to an instruction set architecture
KR100414152B1 (ko) 프로그래머블 프로세서에서의 비터비 디코딩 연산방법 및그 연산방법을 실행하기 위한 연산회로
WO2005036384A2 (en) Instruction encoding for vliw processors
US20130290686A1 (en) Integrated circuit device and method for calculating a predicate value
JP2008027341A (ja) 命令セットおよび情報処理装置
JP2005134987A (ja) パイプライン演算処理装置
KR20070022239A (ko) 비대칭 듀얼 경로 프로세싱용 장치 및 방법
Wei et al. A brief description of the NMP ISA and benchmarks
WO2009077340A1 (en) Viterbi decoder
JP2004302655A (ja) パイプライン演算処理装置
JP2014059665A (ja) マイクロコンピュータ及びマイクロコンピュータにおける命令処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081202

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110805

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111107

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111114

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120307

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4949268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees