[go: up one dir, main page]

JP6687837B2 - Data recording device and data recording method - Google Patents

Data recording device and data recording method Download PDF

Info

Publication number
JP6687837B2
JP6687837B2 JP2016048501A JP2016048501A JP6687837B2 JP 6687837 B2 JP6687837 B2 JP 6687837B2 JP 2016048501 A JP2016048501 A JP 2016048501A JP 2016048501 A JP2016048501 A JP 2016048501A JP 6687837 B2 JP6687837 B2 JP 6687837B2
Authority
JP
Japan
Prior art keywords
bit
event
data
width
cycle
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
JP2016048501A
Other languages
Japanese (ja)
Other versions
JP2017162376A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016048501A priority Critical patent/JP6687837B2/en
Publication of JP2017162376A publication Critical patent/JP2017162376A/en
Application granted granted Critical
Publication of JP6687837B2 publication Critical patent/JP6687837B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、データ記録装置及びデータ記録方法に関する。   The present invention relates to a data recording device and a data recording method.

データ記録装置は、測定対象のデータを所定のイベントのタイミングで採取し、採取したデータをメモリなどの記憶媒体に書き込む。そして、所定のタイミングでメモリ内のデータを出力し、出力されたイベントデータに対して、所定の解析が行われ、測定対象の状態判定等に利用される。   The data recording device collects data to be measured at the timing of a predetermined event and writes the collected data in a storage medium such as a memory. Then, the data in the memory is output at a predetermined timing, a predetermined analysis is performed on the output event data, and the event data is used for determining the state of the measurement target.

例えば、集積回路装置内の特定の回路が出力するデータをトレースして解析するロジックアナライザや、IoT分野におけるセンサのデータを記録し続けるデータロガーなどが、データ記録装置の例である。   Examples of the data recording device include a logic analyzer that traces and analyzes data output by a specific circuit in the integrated circuit device, and a data logger that continuously records sensor data in the IoT field.

データ記録装置については、以下の特許文献に記載されている。   The data recording device is described in the following patent documents.

特開平09−185531号公報Japanese Patent Laid-Open No. 09-185531 特開平10−40140号公報JP, 10-40140, A 特開2007−141072号公報JP, 2007-141072, A

データ記録装置は、小容量のメモリに大量のデータをできるだけ取りこぼすことなく記憶することが望ましい。しかしながら、メモリの容量は限られているので記憶できるデータの数には限界がある。データを圧縮して記憶することが考えられるが、測定対象のデータが高速に変化する場合は、データ圧縮に時間をかけると全てのデータを記憶できなくなる。   It is desirable for the data recording device to store a large amount of data in a small-capacity memory as little as possible. However, since the memory capacity is limited, the number of data that can be stored is limited. Although it is conceivable to compress and store the data, if the data to be measured changes at high speed, it will not be possible to store all the data if it takes time to compress the data.

また、複数回に分けて測定データを収集することも考えられるが、観測しているイベントがまれにしか発生しない場合、何回もデータを収集することは難しい。さらに、採取したデータ量が増えるに伴い、メモリ領域の確保や開放などのメモリ管理を動的に実行することが考えられるが、メモリ管理の処理が観測しているイベントの発生に間に合わない場合は、採用できない。   It is also possible to collect the measurement data in multiple times, but it is difficult to collect the data many times if the observed event rarely occurs. Furthermore, as the amount of collected data increases, it may be possible to dynamically execute memory management such as securing and freeing a memory area. However, if the event of memory management processing is not in time, , Can not be adopted.

そこで、実施の形態の第1の側面の目的は、限られた容量のメモリにイベントデータをできるだけ多く且つできるだけ多くのビットで記録するデータ記録装置及びデータ記録方法を提供することにある。   Therefore, an object of the first aspect of the embodiment is to provide a data recording device and a data recording method for recording event data in a memory having a limited capacity with as many bits as possible and as many as possible.

本開示の第1の側面は、
データを記憶するメモリと、
イベントデータの所定のビットを最上位ビット側または最下位ビット側のうち第1ビット側に並べ替えする符号化を行いイベント符号を生成する符号化部と、
第1のサイクルにおいて、前記イベント符号のうち前記第1ビット側の第1ビット幅のビット列を有する複数の第1のデータを前記メモリに順次書き込み、前記第1のサイクル後の第2のサイクルにおいて、前記イベント符号のうち前記第1ビット側のビット列を有し、前記第1ビット幅より小さいビット幅の複数の第2のデータを、前記メモリ内に書込み済みの前記複数の第1のデータの前記第1ビット側とは逆の第2ビット側の記憶領域に、順次上書きするメモリコントローラとを有する、データ記録装置である。
The first aspect of the present disclosure is
A memory for storing data,
An encoding unit that performs encoding to rearrange predetermined bits of event data to the first bit side of the most significant bit side or the least significant bit side to generate an event code,
In the first cycle, a plurality of first data having a bit string of a first bit width of the first bit side of the event code is sequentially written in the memory, and in a second cycle after the first cycle. , A plurality of second data having a bit string on the side of the first bit of the event code and having a bit width smaller than the first bit width of the plurality of first data already written in the memory. The data recording device has a memory controller that sequentially overwrites a storage area on the second bit side opposite to the first bit side.

第1の側面によれば、限られた容量のメモリにイベントデータをできるだけ多く且つできるだけ多くのビットで記録することができる。   According to the first aspect, it is possible to record event data in a memory having a limited capacity with as many bits as possible.

本実施の形態のデータ記録装置を有する半導体装置の構成を示す図である。It is a figure which shows the structure of the semiconductor device which has the data recording device of this Embodiment. 測定対象回路の一例を示す図である。It is a figure which shows an example of a measurement object circuit. 本実施におけるデータ記録装置によるデータ記録の例を示す図である。It is a figure which shows the example of data recording by the data recording device in this implementation. 本実施の形態におけるデータ記録装置の構成を示す図である。It is a figure which shows the structure of the data recording device in this Embodiment. イベント符号化部14の符号化の一例を示す図である。It is a figure which shows an example of the encoding of the event encoding part 14. バッファメモリの構成を示す図である。It is a figure which shows the structure of a buffer memory. カウンタユニット16の動作を示すフローチャート図であるIt is a flowchart figure which shows operation | movement of the counter unit 16. カウンタユニットの構成例を示す図である。It is a figure which shows the structural example of a counter unit. 図7,8のアドレス巻き戻し回路の例を示す図である。It is a figure which shows the example of the address rewinding circuit of FIGS. 図7,8のアドレス巻き戻し回路の例を示す図である。It is a figure which shows the example of the address rewinding circuit of FIGS. 第1の実施の形態におけるメモリコントローラによる書き込み処理を示すフローチャート図である。FIG. 6 is a flowchart showing a writing process by the memory controller according to the first embodiment. 第1の実施の形態におけるサイクル0,1,2の書き込み処理を示す図である。FIG. 6 is a diagram showing a write process of cycles 0, 1, 2 in the first embodiment. 第1の実施の形態におけるサイクル3の書き込み処理を示す図である。FIG. 7 is a diagram showing a write process of cycle 3 in the first embodiment. 第1の実施の形態におけるサイクル4の書き込み処理を示す図である。FIG. 11 is a diagram showing a write process of cycle 4 in the first embodiment. 第1の実施の形態におけるサイクル4の書き込み処理を示す図である。FIG. 11 is a diagram showing a write process of cycle 4 in the first embodiment. 第2の実施の形態におけるメモリコントローラによるイベント符号の書き込み処理のフローチャート図である。It is a flowchart figure of the writing process of the event code | cord by the memory controller in 2nd Embodiment. 第2の実施の形態おけるサイクル0,1,2での書き込み処理を示す図である。It is a figure which shows the write-in process in the cycles 0, 1, 2 in 2nd Embodiment. 第2の実施の形態におけるサイクル3での書き込み処理を示す図である。It is a figure which shows the write-in process in the cycle 3 in 2nd Embodiment. 第3の実施の形態におけるメモリコントローラによるイベント符号の書き込み処理のフローチャート図である。It is a flowchart figure of the writing process of the event code | cord by the memory controller in 3rd Embodiment. 第3の実施の形態おけるサイクル0,1,2での書き込み処理を示す図である。It is a figure which shows the write-in process in the cycles 0, 1, 2 in 3rd Embodiment. 第3の実施の形態におけるサイクル3での書き込み処理を示す図である。It is a figure which shows the write-in process in the cycle 3 in 3rd Embodiment. 第1、第2、第3の実施の形態のバッファメモリ内に記憶されるイベント符号のビット幅とそのデータ数を示す図である。It is a figure which shows the bit width of the event code memorize | stored in the buffer memory of 1st, 2nd, and 3rd embodiment, and the data number. 第3の実施の形態のバッファメモリ内に記憶されるイベント符号のビット幅とそのデータ数を示す図である。It is a figure which shows the bit width of the event code memorize | stored in the buffer memory of 3rd Embodiment, and its data number. バッファメモリのマップを生成するプログラムのフローチャート図である。It is a flowchart figure of the program which produces | generates the map of a buffer memory. バッファメモリのマップを生成するプログラムのフローチャート図である。It is a flowchart figure of the program which produces | generates the map of a buffer memory. マップのデータ構造を示す図である。It is a figure which shows the data structure of a map.

図1は、本実施の形態のデータ記録装置を有する半導体装置の構成を示す図である。半導体装置1は、測定対象回路2と、測定対象回路から順次発生するイベントデータを記録するデータ記録装置10とを有する。データ記録装置10は、測定対象回路から順次発生するイベントデータを取得するデータ取得部11と、取得したイベントデータを記憶するデータバッファユニット12と、記憶されているイベントデータを半導体装置の外部に出力するデータ出力部13を有する。   FIG. 1 is a diagram showing a configuration of a semiconductor device having the data recording device of the present embodiment. The semiconductor device 1 includes a measurement target circuit 2 and a data recording device 10 that records event data sequentially generated from the measurement target circuit. The data recording device 10 includes a data acquisition unit 11 that acquires event data sequentially generated from a measurement target circuit, a data buffer unit 12 that stores the acquired event data, and outputs the stored event data to the outside of the semiconductor device. It has a data output unit 13 for performing.

データ出力部13は、有線または無線の通信路5を介して受信装置4にイベントデータを出力する。そして、イベントデータが解析される。データ出力部13は、例えばシリアル通信でイベントデータを出力する。   The data output unit 13 outputs the event data to the receiving device 4 via the wired or wireless communication path 5. Then, the event data is analyzed. The data output unit 13 outputs event data by serial communication, for example.

図2は、測定対象回路の一例を示す図である。この例は、マイクロプロセッサの例である。マイクロプロセッサは、プロセッサ(CPU)6と、バス7と、周辺モジュール8と、メモリ9などを有する。プロセッサ6は、プログラムカウンタPCを有し、プログラムカウンタPCのアドレスに対応する命令をメモリ9からフェッチし、フェッチした命令を図示しないデコーダでデコードし、図示しない演算回路が命令を実行する。または、演算回路が周辺モジュール8に所定の処理を実行させる。   FIG. 2 is a diagram illustrating an example of the measurement target circuit. This example is an example of a microprocessor. The microprocessor has a processor (CPU) 6, a bus 7, a peripheral module 8, a memory 9 and the like. The processor 6 has a program counter PC, fetches an instruction corresponding to the address of the program counter PC from the memory 9, decodes the fetched instruction with a decoder (not shown), and an arithmetic circuit (not shown) executes the instruction. Alternatively, the arithmetic circuit causes the peripheral module 8 to execute a predetermined process.

このようなマイクロプロセッサにおいて、データ記録装置10が、プログラムカウンタのカウンタ値(アドレス)や、バスに流れるデータをイベントデータとして採取しバッファメモリに記憶し、受信装置4が記憶されたイベントデータをデータ記録装置10から抽出して動作の解析に利用することが行われる。   In such a microprocessor, the data recording device 10 collects the counter value (address) of the program counter and the data flowing on the bus as event data and stores it in the buffer memory, and the receiving device 4 stores the stored event data as data. It is extracted from the recording device 10 and used for analysis of operation.

図1、2の例おいて、測定対象回路2から取得するデータ量が、通信路5の通信帯域より十分に大きい場合、データ記録装置10が測定対象回路のイベントデータを記録しながら、受信装置4にイベントデータを出力することは困難である。その結果、データバッファユニット12内のデータバッファメモリの容量が限られていと、データバッファメモリが全てのイベントデータを記憶できず、データが溢れてしまうことが予想される。   In the example of FIGS. 1 and 2, when the amount of data acquired from the measurement target circuit 2 is sufficiently larger than the communication band of the communication path 5, the data recording device 10 records the event data of the measurement target circuit and the reception device. It is difficult to output the event data to 4. As a result, if the capacity of the data buffer memory in the data buffer unit 12 is limited, it is expected that the data buffer memory will not be able to store all the event data and data will overflow.

図3は、本実施におけるデータ記録装置によるデータ記録の例を示す図である。図3の例は、データ記録装置10は、IoT分野のデータ採取装置である。データ記録装置10は、観測対象のデータを取得し記録する気象観測装置や道路交通量調査装置などである。データ記録装置10は、図1と同様の構成を有し、観測対象から出力されるイベントデータを取得するデータ取得部11と、イベントデータを記憶するデータバッファユニット12と、そのイベントデータを出力するデータ出力部13を有する。データ取得部11は、観測対象のイベントデータを検出するセンサを有し、さまざまなイベントデータがセンサを介して取得される。受信装置4と、通信媒体5も、図1と同様である。   FIG. 3 is a diagram showing an example of data recording by the data recording device in the present embodiment. In the example of FIG. 3, the data recording device 10 is a data collection device in the IoT field. The data recording device 10 is, for example, a meteorological observation device or a road traffic survey device that acquires and records the observation target data. The data recording device 10 has a configuration similar to that of FIG. 1, and a data acquisition unit 11 that acquires event data output from an observation target, a data buffer unit 12 that stores event data, and outputs the event data. It has a data output unit 13. The data acquisition unit 11 has a sensor that detects event data of an observation target, and various event data is acquired via the sensor. The receiving device 4 and the communication medium 5 are the same as those in FIG.

図3の例において、データ記録装置10は、監視対象3のデータを取得し記憶し続ける。しかし、データバッファユニット12内のデータバッファメモリの容量に限りがあると、通信路5の帯域や動作間隔に限界がある場合、やがてデータバッファメモリが全てのイベントデータを記憶できず、データが溢れてしまう。   In the example of FIG. 3, the data recording device 10 continues to acquire and store the data of the monitoring target 3. However, if the capacity of the data buffer memory in the data buffer unit 12 is limited, if the bandwidth of the communication path 5 or the operation interval is limited, the data buffer memory cannot store all the event data and the data overflows. Will end up.

上記の例から理解できるとおり、データ記録装置10は、データバッファメモリにできるだけ全てのまたは多くのイベントデータを記憶すると共に、できるだけ各イベントデータの重要なデータを漏らさず記憶することが求められる。   As can be understood from the above example, the data recording device 10 is required to store all or as much event data as possible in the data buffer memory, and to store important data of each event data as much as possible.

図4は、本実施の形態におけるデータ記録装置の構成を示す図である。本実施の形態のデータ記録装置は、バッファメモリの容量に余裕がある場合は各イベントデータの多くのビットをメモリに記憶し、イベントデータの累積数が増大するにつれて各イベントデータのビットを所定の規則に従って間引いて短いビット幅でメモリに記憶する。これにより、データ記録装置は、データ出力部がデータバッファメモリからイベントデータを出力するタイミングが到来するまでのイベントデータの数が少なければ、各イベントデータのより多くのビットを記憶し、イベントデータの数が多ければ、各イベントデータのビット数を減らして記憶する。これにより、イベントデータの数に見合ったベストエフォートなビット幅のイベントデータを記録できる。   FIG. 4 is a diagram showing the configuration of the data recording device according to the present embodiment. The data recording apparatus of the present embodiment stores many bits of each event data in the memory when the buffer memory has a sufficient capacity, and sets the bits of each event data to a predetermined value as the cumulative number of event data increases. It is thinned according to the rule and stored in the memory with a short bit width. As a result, the data recording device stores more bits of each event data if the number of event data until the timing when the data output unit outputs the event data from the data buffer memory is small, and the data recording device stores the event data. If the number is large, the bit number of each event data is reduced and stored. As a result, it is possible to record the event data having the best effort bit width corresponding to the number of the event data.

図4には、測定対象3と、データ記録装置10と、受信装置4と、通信路5が示される。測定対象3は、前述の通り、測定対象回路や、気象状況、交通状況などである。   FIG. 4 shows the measurement target 3, the data recording device 10, the receiving device 4, and the communication path 5. As described above, the measurement target 3 is a measurement target circuit, weather conditions, traffic conditions, and the like.

データ記録装置10は、測定対象3の各種の状態を採取するサンプリングユニット11を有する。サンプリングユニット11は、図1、3のデータ取得部11に対応する。サンプリングユニット11は、採取したデジタルデータをイベントデータIV0-IV7として、イベントの発生を知らせるイベント信号EVENTと共に出力する。イベントデータIV0-IV7は一例として8ビットのデータである。サンプリングユニット11は、サンプリング設定値SPに基づいて、たとえば、特定の信号値が出たときだけサンプリングする、または、サンプリングする時間帯や時間間隔といった、サンプリングするタイミングの条件を設定される。タイミング設定値SPは例えば外部から入力される。   The data recording device 10 has a sampling unit 11 that collects various states of the measurement target 3. The sampling unit 11 corresponds to the data acquisition unit 11 of FIGS. The sampling unit 11 outputs the collected digital data as event data IV0-IV7 together with an event signal EVENT that notifies the occurrence of the event. The event data IV0 to IV7 are 8-bit data as an example. The sampling unit 11 is set with sampling timing conditions, such as sampling only when a specific signal value appears, or a sampling time zone or time interval, based on the sampling set value SP. The timing set value SP is externally input, for example.

データ記録装置10は、イベント信号に同期して入力されるイベントデータIV0-IV7を符号化し、符号化されたイベント符号C0-C7を出力するイベント符号化部14を有する。イベント符号部14は、符号化設定値CDに基づいてイベントデータIV0-IV7を符号化し、イベント符号C0-C7に変換する。符号化とは、nビットの入力データを受け取り、ビット単位でデータの並べ替えを行った後、nビットの出力データを出力することである。符号化設定値CDは、並べ替えの規則を指示する情報である。符号化設定値CDは例えば外部から設定される。符号化設定値CDは、データ採取動作の開始以前に設定されるとし、データ採取動作中に変更されることはない。   The data recording device 10 includes an event encoding unit 14 that encodes the event data IV0-IV7 input in synchronization with the event signal and outputs the encoded event code C0-C7. The event encoding unit 14 encodes the event data IV0-IV7 based on the encoding setting value CD and converts it into event codes C0-C7. Encoding means receiving n-bit input data, rearranging the data in bit units, and then outputting n-bit output data. The coding setting value CD is information that indicates a sorting rule. The coding setting value CD is set from the outside, for example. The encoding set value CD is set before the start of the data collection operation and is not changed during the data collection operation.

図5は、イベント符号化部14の符号化の一例を示す図である。イベント符号化部14は、8ビットのイベントデータIV0-IV7を入力し、符号化設定値CDの並べ替え規則に基づいて、イベントデータの下位ビットIV3-IV0をイベント符号の上位ビットC7-C4に、イベントデータの上位ビットIV7-IV4をイベント符号の下位ビットC3-C0にそれぞれ配置替えする。また、イベント符号化部14は、イベント信号EVENTを出力する。   FIG. 5 is a diagram showing an example of encoding of the event encoding unit 14. The event encoding unit 14 inputs the 8-bit event data IV0-IV7, and converts the lower bits IV3-IV0 of the event data into the upper bits C7-C4 of the event code based on the rearrangement rule of the encoding set value CD. , The upper bits IV7-IV4 of the event data are rearranged to the lower bits C3-C0 of the event code. Further, the event encoding unit 14 outputs an event signal EVENT.

図5のイベント符号化部14は、イベントデータIV0-IV7のうち、バッファメモリ17への記憶優先度が高いビットほど最上位ビット(MSB:Most significant bit)側に配置替えする。このような配置側規則に対応して、メモリコントローラ15は、後述する通り、イベント符号S0-S7のMSB側のビットを優先してバッファメモリ17に書き込む。つまり、メモリコントローラ15は、イベント符号S0-S7のMSB側のビット列を有し、イベントの回数が多いほどそれに対応して少ないビット幅のデータを、バッファメモリ17に書き込む。したがって、イベントの回数が増大するにしたがい、バッファメモリに書き込まれるイベント符号のビット幅は小さくなるものの、イベントの記録を継続できる。   The event encoding unit 14 of FIG. 5 rearranges the bits of the event data IV0-IV7 having higher storage priority in the buffer memory 17 to the most significant bit (MSB) side. In response to such arrangement side rules, the memory controller 15 preferentially writes the MSB side bits of the event codes S0 to S7 in the buffer memory 17, as described later. That is, the memory controller 15 has a bit string on the MSB side of the event codes S0 to S7, and writes data of a smaller bit width in the buffer memory 17 correspondingly as the number of events increases. Therefore, as the number of events increases, the bit width of the event code written in the buffer memory becomes smaller, but the event recording can be continued.

イベント符号化部14は、イベントデータのうち、記憶優先度が高いビットほど最下位ビット(LSB:Least significant bit)側に配置替えするようにしても良い。その場合は、メモリコントローラ15は、イベント符号S0-S7のLSB側のビットを優先してバッファメモリ17に書き込む。イベント符号化部14の意図は、優先度に応じてビットを並べ替えることにあり、その並び順は、昇順でも降順でもその他の順序規則でも構わず、どれかに限定はされない。   The event encoding unit 14 may rearrange bits of the event data having higher storage priority to the least significant bit (LSB) side. In that case, the memory controller 15 preferentially writes the LSB side bits of the event codes S0 to S7 into the buffer memory 17. The intention of the event encoding unit 14 is to rearrange bits according to priority, and the arrangement order may be ascending order, descending order, or another order rule, and is not limited to any one.

以下の実施の形態では、イベント符号化部14がイベントデータの記憶優先度が高いビットほどMSB側に配置替えする例について説明する。従って、本実施の形態例では、符号化設定値CDはイベントデータのどのビットが記憶優先度が高いかを示す設定値であり、イベント符号化部14は、符号化設定値CDが指定したビットをMSB側に配置替えする。   In the following embodiment, an example will be described in which the event encoding unit 14 rearranges the bits of the event data having higher storage priority to the MSB side. Therefore, in the present embodiment, the coding setting value CD is a setting value indicating which bit of event data has a high storage priority, and the event coding unit 14 sets the bit specified by the coding setting value CD. To the MSB side.

データ記録装置10は、イベント符号の全ビットまたは一部のビットを記憶するバッファメモリ17と、バッファメモリ17への書き込みと読み出しを制御するメモリコントローラ15とを有する。   The data recording device 10 includes a buffer memory 17 that stores all bits or some bits of the event code, and a memory controller 15 that controls writing and reading to and from the buffer memory 17.

さらに、データ記録装置10は、メモリコントローラにイベント符号のどのビットを、バッファメモリ17内のどのビット位置に書き込むかを示す各種制御情報を生成するカウンタユニット16を有する。カウンタユニット16は、イベント信号EVENTに応答して、バッファメモリ17のどのアドレスのどのビット位置に、イベント符号のどのビット幅のビット列を書き込むかの制御情報を生成し、メモリコントローラ15に出力する。メモリコントローラは、カウンタユニットから入力される制御情報に基づいて、イベント符号をバッファメモリ17に書き込む。   Further, the data recording device 10 has a counter unit 16 for generating various control information indicating which bit of the event code is to be written in which bit position in the buffer memory 17 in the memory controller. In response to the event signal EVENT, the counter unit 16 generates control information as to which bit position of which address of the buffer memory 17 is to write a bit string of which bit width of the event code, and outputs the control information to the memory controller 15. The memory controller writes the event code in the buffer memory 17 based on the control information input from the counter unit.

そして、データ記録装置10は、バッファメモリ17に書き込まれたイベント符号をメモリコントローラ15を介して読み出し、外部の受信装置4に出力する、データ出力部13を有する。   Then, the data recording device 10 has a data output unit 13 that reads out the event code written in the buffer memory 17 via the memory controller 15 and outputs the event code to the external receiving device 4.

次に、バッファメモリ17の構成を説明した上で、カウンタユニット16の動作と構成と、メモリコントローラ15によるイベント符号のバッファメモリへの書き込み動作の例を説明する。   Next, the structure of the buffer memory 17 will be described, and then the operation and structure of the counter unit 16 and an example of the operation of writing the event code into the buffer memory by the memory controller 15 will be described.

以下の説明では、イベントデータは1024ビット幅(IV0-IV1023)を有する。イベントデータのうち記憶優先度が高いビットはMSB側に配置替えされ、イベント符号のMSB側の所定ビット幅のビット列がバッファメモリに書き込まれる。したがって、イベントデータのビット幅が1024の場合は、メモリコントローラは、最初はイベント符号の全ての1024ビットをバッファメモリに書き込み、イベントIDの数値が増大するにしたがい、イベント符号の上位1/2、1/4のビット幅のビット列をバッファメモリに書き込む。   In the following description, the event data has a 1024 bit width (IV0-IV1023). Bits having a high storage priority in the event data are rearranged to the MSB side, and a bit string having a predetermined bit width on the MSB side of the event code is written in the buffer memory. Therefore, when the bit width of event data is 1024, the memory controller first writes all 1024 bits of the event code to the buffer memory, and as the value of the event ID increases, the upper half of the event code, A bit string with a bit width of 1/4 is written in the buffer memory.

イベントデータのビット幅は、データ採取動作中は一定である。また、どのデータをサンプリングしているかも、動作中は一定である。もしも動作中に増減させたい場合は、採取したいすべてのデータを含めた最大長をビット幅として設定しておけばよい。もしも動作中に減少する場合は、定数0や1などあらかじめ定めたダミーデータで補填すればよい。   The bit width of the event data is constant during the data collection operation. Also, which data is being sampled is constant during operation. If you want to increase or decrease during operation, set the maximum length including all data you want to collect as the bit width. If it decreases during operation, it can be compensated with preset dummy data such as constants 0 and 1.

図6は、バッファメモリの構成を示す図である。説明をわかりやすくするために、バッファメモリのワード幅を、イベント符号のビット数と同じ(1024)にしているが、それに限定されるものではない。現実のメモリ(RAM: Random Access Memory)のワード幅が、イベント符号のビット数より少ない場合は、複数回にわけてRAMアクセスを行えばよい。バッファメモリは、アドレス0-63それぞれに1024ビット幅のデータを記憶する。図6中、横方向に1024ビットを16分割したビット位置が示され、縦方向に64のアドレス0-63が示される。メモリコントローラは、アドレスと、書き込まれるイベント符号のビット幅と、書き込まれる開始ビット位置に基づいて、イベント符号のMSB側のあるビット幅のビット列データを、バッファメモリに書き込む。   FIG. 6 is a diagram showing the configuration of the buffer memory. Although the word width of the buffer memory is set to be the same as the number of bits of the event code (1024) for the sake of clarity, the present invention is not limited to this. When the word width of the actual memory (RAM: Random Access Memory) is smaller than the number of bits of the event code, RAM access may be performed in multiple times. The buffer memory stores 1024-bit wide data at addresses 0 to 63, respectively. In FIG. 6, bit positions obtained by dividing 1024 bits into 16 are shown in the horizontal direction, and 64 addresses 0 to 63 are shown in the vertical direction. The memory controller writes bit string data of a certain bit width on the MSB side of the event code into the buffer memory based on the address, the bit width of the event code to be written, and the start bit position to be written.

図7は、カウンタユニット16の動作を示すフローチャート図である。あらかじめ以下の定数が設定されている。
バッファメモリのビット幅:RAM_WIDTH = 1024
アドレス数(ワード数):RAM_WORD = 64
FIG. 7 is a flowchart showing the operation of the counter unit 16. The following constants are preset.
Bit width of buffer memory: RAM_WIDTH = 1024
Number of addresses (number of words): RAM_WORD = 64

さらに、カウンタユニット内のカウンタやレジスタの初期値は以下の値である。
分割数(またはサイクル数):ndiv = 0
イベント数:nevent = 0
ラウンド数(周回数):nround = 0
アドレス:addr = 0
開始ビット位置:sbit = 0
ビット幅:width = RAM_WIDTH = 1024
Furthermore, the initial values of the counters and registers in the counter unit are the following values.
Number of divisions (or number of cycles): ndiv = 0
Number of events: nevent = 0
Number of rounds (number of laps): nround = 0
Address: addr = 0
Start bit position: sbit = 0
Bit width: width = RAM_WIDTH = 1024

図7において、初めに、カウンタユニットが初期化される(S10)。すなわち、カウンタユニット内の分割数ndiv、イベント数nevent、ラウンド数nround、アドレスaddr、開始ビット位置sbit、ビット幅widthが上記の初期値に初期化される。そして、停止判定条件が満たされなければ(S11のNO)、それ以下の処理S12-S21が行われる。停止判定条件が満たされれば(S11のYES)、停止する。   In FIG. 7, first, the counter unit is initialized (S10). That is, the division number ndiv, the event number nevent, the round number nround, the address addr, the start bit position sbit, and the bit width width in the counter unit are initialized to the above initial values. Then, if the stop determination condition is not satisfied (NO in S11), the processes S12-S21 subsequent thereto are performed. If the stop determination condition is satisfied (YES in S11), the process is stopped.

次に、メモリコントローラがイベント符号化部からイベント符号を受信するとき(S12のYES)、カウンタユニット16は、カウンタユニット内の制御値をメモリコントローラに出力する(S13)。制御値は、上記のアドレスaddr、開始ビット位置sbit、ビット幅widthなどである。これにより、メモリコントローラ15は、カウンタユニットからの制御値に基づいて、受信したイベント符号をバッファメモリ内に書き込む。また、カウンタユニットはイベント数neventを+1増加する(S14)。   Next, when the memory controller receives the event code from the event encoding unit (YES in S12), the counter unit 16 outputs the control value in the counter unit to the memory controller (S13). The control value is the above-mentioned address addr, the start bit position sbit, the bit width width and the like. As a result, the memory controller 15 writes the received event code in the buffer memory based on the control value from the counter unit. The counter unit also increments the event number nevent by +1 (S14).

そして、カウンタユニットは、アドレスaddrを+1増加したaddr+1が、メモリのワード数RAM_WORDに達したか否か判定し(S15)、達していなければ(S15のNO)、アドレスaddrを+1インクリメントする(S16)。以上が、1つのイベント符号が入力されるイベント発生時に行われる処理であり、addr+1がメモリのワード数RAM_WORDに達するまで繰り返される。イベントの発生のたびに、メモリコントローラ15は、受信したイベント符号のMSB側のビット幅widthのビット列を、メモリバッファ17内のアドレスaddrの記憶領域の開始ビット位置sbitに書き込む。   Then, the counter unit determines whether or not addr + 1 obtained by incrementing the address addr by +1 has reached the word number RAM_WORD of the memory (S15), and if not (NO in S15), increments the address addr by +1. (S16). The above is the processing performed when an event occurs in which one event code is input, and is repeated until addr + 1 reaches the word number RAM_WORD of the memory. Each time an event occurs, the memory controller 15 writes the MSB-side bit width width bit string of the received event code into the start bit position sbit of the storage area of the address addr in the memory buffer 17.

工程S15のaddr+1がワード数RAM_WORD(=64)に達したか否かの判定は、アドレスaddrを0-63までイベント符号を書き込んだか否かの判定、すなわちラウンド数nroundを更新するか否かの判定である。したがって、addr+1がワード数RAM_WORDに達した場合(S15のYES)、カウンタユニットは、ラウンド数nroundを+1インクリメントする(S17)。   Whether or not addr + 1 in step S15 has reached the word number RAM_WORD (= 64) is determined by whether or not an event code is written in the address addr from 0 to 63, that is, whether or not the round number nround is updated. It is a decision. Therefore, when addr + 1 reaches the word number RAM_WORD (YES in S15), the counter unit increments the round number nround by +1 (S17).

そして、カウンタユニットは、ラウンド数が更新されるたびに、開始ビット位置sbitにビット幅widthを加えたsbit+widthがバッファメモリのビット幅RAM_WIDTH(=1024)に達したか否かを判定する(S18)。この判定は、メモリバッファメモリへの書き込みサイクル(分割数ndiv)が更新されるか否かの判定である。   Then, each time the round number is updated, the counter unit determines whether or not sbit + width obtained by adding the bit width width to the start bit position sbit has reached the bit width RAM_WIDTH (= 1024) of the buffer memory ( S18). This determination is whether or not the write cycle (division number ndiv) to the memory buffer memory is updated.

工程S18にて、sbit+widthがバッファメモリのビット幅RAM_WIDTH(=1024)に達してない間は(S18のNO)、カウンタユニットは、開始ビット位置sbitにビット幅の2倍width*2を加算して、前述のアドレスaddr=0-63のワード領域への書き込みを行うラウンド(周回)を実行する。   In step S18, while sbit + width does not reach the bit width RAM_WIDTH (= 1024) of the buffer memory (NO in S18), the counter unit adds double the width * 2 to the start bit position sbit. Then, the round (round) of writing to the word area of the address addr = 0-63 is executed.

工程S18にて、sbit+widthがバッファメモリのビット幅RAM_WIDTH(=1024)に達した場合(S18のYES)、カウンタユニットは、サイクル(分割数ndiv)を更新し(ndiv=ndiv+1)、ビット幅を1/2にし(width=width/2)、開始ビット位置をビット幅に設定(sbit=width)する(S20)。   In step S18, when sbit + width reaches the bit width RAM_WIDTH (= 1024) of the buffer memory (YES in S18), the counter unit updates the cycle (division number ndiv) (ndiv = ndiv + 1), Set the bit width to 1/2 (width = width / 2) and set the start bit position to the bit width (sbit = width) (S20).

そして、工程S18がいずれの判定であっても、カウンタユニットは、アドレスaddrを巻き戻し(S21)、停止判定S11に戻る。アドレスaddrの巻き戻しとは、例えば、アドレスaddrを初期値0に戻す処理である。または、後述する実施の形態2,3では、イベント数に基づいてアドレスaddrを各ラウンドの初期値、例えば0,1,2等、に戻す処理である。   Then, regardless of which determination is made in step S18, the counter unit rewinds the address addr (S21) and returns to the stop determination S11. The rewinding of the address addr is, for example, a process of returning the address addr to the initial value 0. Alternatively, in the second and third embodiments described later, it is a process of returning the address addr to the initial value of each round, for example, 0, 1, 2 or the like, based on the number of events.

図8は、カウンタユニットの構成例を示す図である。カウンタユニットは、例えば、プログラム可能な再構成可能デバイス(FPGA(Field Programable Gate Array)や、専用ハードウェア回路、例えば特定用途向け半導体(ASIC: Application Specific Integrated Circuit)や、SoC(System on Chip)などにより実現される。その場合、図7のフローチャートに対応するハードウェア記述言語に基づいて、ハードウェア回路として図8に示す構成のカウンタユニットを実現する。図8中、Cはカウンタを、Rはレジスタを意味する。カウンタは入力信号に応答してカウントアップし、レジスタは入力信号を記憶するものとする。図4のデータ記録装置もFPGA等で実現されるのが好ましい。   FIG. 8 is a diagram showing a configuration example of the counter unit. The counter unit is, for example, a programmable reconfigurable device (FPGA (Field Programmable Gate Array), dedicated hardware circuit, for example, an application-specific integrated circuit (ASIC), SoC (System on Chip), or the like. In that case, the counter unit having the configuration shown in Fig. 8 is realized as a hardware circuit based on the hardware description language corresponding to the flowchart of Fig. 7. In Fig. 8, C is a counter and R is a counter. A register means a counter that counts up in response to an input signal, and a register stores the input signal .. It is preferable that the data recording device of FIG.

図8のカウンタユニット16は、図7の工程S11の停止判定を実行する停止判定回路25を有する。この例では、停止判定回路25は、ビット幅widthが最少ビット幅width_ninに達した場合に、動作を停止し、停止信号STOPをメモリコントローラに出力する。なお停止判定で用いる条件判定は、これに限らない。記憶するデータ数が増加するとビット幅が短くなるが、あまりにも短くなると、記憶データがもはや意味をなさなくなるため、ビット幅を採用することには合理性がある。他の実施例として、記録できるイベント数の最大個数を制限する方法や、あらかじめ定めた信号が測定対象3内にて観測された時点で停止する方法も考えられる。   The counter unit 16 of FIG. 8 has a stop determination circuit 25 that executes the stop determination of step S11 of FIG. In this example, the stop determination circuit 25 stops the operation and outputs a stop signal STOP to the memory controller when the bit width width reaches the minimum bit width width_nin. The condition determination used in the stop determination is not limited to this. The bit width is shortened as the number of data to be stored is increased, but if it is too short, the stored data is no longer meaningful, so it is reasonable to adopt the bit width. As another embodiment, a method of limiting the maximum number of events that can be recorded or a method of stopping when a predetermined signal is observed in the measurement target 3 can be considered.

次に、図7のイベント符号が発生する工程S12については、カウンタユニットは、例えばイベント信号EVENTの受信により検出する。イベント信号EVENTに応答して、カウンタユニットは、アドレスのカウンタC_addrと、開始ビット位置のレジスタR_sbitと、ビット幅のレジスタR_witdhのそれぞれの値を制御値としてメモリコントローラに出力する。この出力動作S13に対応する出力配線等ついては、図8には省略されている。   Next, regarding the step S12 in which the event code of FIG. 7 is generated, the counter unit detects it by receiving the event signal EVENT, for example. In response to the event signal EVENT, the counter unit outputs the respective values of the address counter C_addr, the start bit position register R_sbit, and the bit width register R_witdh as control values to the memory controller. The output wiring and the like corresponding to the output operation S13 are omitted in FIG.

そして、イベント信号EVENTに応答して、イベント数カウンタC_neventが+1カウントアップする。この動作は工程S14に対応する。   Then, in response to the event signal EVENT, the event number counter C_nevent counts up by +1. This operation corresponds to step S14.

第1の比較器CMP_1は、工程S15のラウンドの更新(または終了)を判定する回路である。第1の比較器CMP_1は、イベント信号EVENTに応答して動作し、アドレスのカウンタC_addrのアドレスaddrに+1加算したaddr+1がバッファメモリのワード数RAM_WORD以上か否か(addr+1 ≧ RAM_WORD)を判定する。第1の比較器CMP_1は、判定結果が否定の場合(addr < RAM_WORD)、否定信号C1nを1にし、アドレスのカウンタC_addrがアドレスaddrをカウントアップする。これは工程S16に対応する。   The first comparator CMP_1 is a circuit that determines update (or end) of the round of step S15. The first comparator CMP_1 operates in response to the event signal EVENT, and whether addr + 1 obtained by adding +1 to the address addr of the address counter C_addr is equal to or more than the word number RAM_WORD of the buffer memory (addr + 1 ≧ RAM_WORD) To judge. When the determination result is negative (addr <RAM_WORD), the first comparator CMP_1 sets the negative signal C1n to 1, and the address counter C_addr counts up the address addr. This corresponds to step S16.

第1の比較器CMP_1は、判定結果が肯定の場合(addr+1 = RAM_WORD)、肯定信号C1pを1にし、ラウンド数のカウンタC_nroundをカウントアップし、第2の比較器CMP_2を動作状態に制御する。この動作は工程S18に対応する。   When the determination result is positive (addr + 1 = RAM_WORD), the first comparator CMP_1 sets the positive signal C1p to 1, increments the round number counter C_nround, and controls the second comparator CMP_2 to the operating state. To do. This operation corresponds to step S18.

第2の比較器CMP_2は、工程S18のサイクルの更新(または終了)を判定回路である。第2の比較器CMP_2は、加算器21の出力であるsbit+widthがメモリビット幅RAM_WIDTH以上か否か(sbit_width ≧ RAM_WIDTH)を判定する。第2の比較器は、判定結果が否定の場合、否定信号C2nを1にし、2倍回路22を動作させ、加算器23の出力sbit+width*2が、開始ビットレジスタR_sbitに記憶される。この場合、肯定信号C2pは0であり、セレクタSELは加算器23の出力を選択する。また、開始ビットレジスタR_sbitは否定信号C2nを遅延させた信号に応答して記憶動作を行うようにしてもよい。以上は工程S19に対応する。   The second comparator CMP_2 is a determination circuit for updating (or terminating) the cycle of step S18. The second comparator CMP_2 determines whether sbit + width, which is the output of the adder 21, is equal to or larger than the memory bit width RAM_WIDTH (sbit_width ≧ RAM_WIDTH). When the determination result is negative, the second comparator sets the negation signal C2n to 1 and operates the doubling circuit 22, and the output sbit + width * 2 of the adder 23 is stored in the start bit register R_sbit. In this case, the positive signal C2p is 0, and the selector SEL selects the output of the adder 23. Further, the start bit register R_sbit may perform the storage operation in response to a signal obtained by delaying the negative signal C2n. The above corresponds to step S19.

一方、第2の比較器CMP_2は、判定結果が肯定の場合(sbit+width = RAM_WIDTH)、肯定信号C2pを1にし、分割数のカウンタC_ndivをカウントアップし、ビット幅のレジスタR_widthにビット幅widthを1/2倍にして記憶させ、開始ビット位置のレジスタR_sbitに更新されたビット幅widthを記憶させる。開始ビット位置のレジスタR_sbitは、例えば肯定信号C2pを遅延した信号で記憶動作するようにされる。   On the other hand, when the determination result is affirmative (sbit + width = RAM_WIDTH), the second comparator CMP_2 sets the affirmative signal C2p to 1, increments the division number counter C_ndiv, and sets the bit width register R_width to the bit width width. Is halved and stored, and the updated bit width width is stored in the register R_sbit at the start bit position. The register R_sbit at the start bit position is made to perform a storage operation with a signal obtained by delaying the positive signal C2p, for example.

最後に、カウンタユニット内のアドレス巻き戻し回路20は、第1の比較器CMP_1の肯定信号C1pに応答してアドレスaddrの巻き戻し動作を行い、アドレスのカウンタC_addrに巻き戻したアドレスaddrがリセット値として設定される。   Finally, the address rewinding circuit 20 in the counter unit performs the rewinding operation of the address addr in response to the positive signal C1p of the first comparator CMP_1, and the address addr rewound to the address counter C_addr is reset to the reset value. Is set as.

図9、図10は、図7,8のアドレス巻き戻し回路の例を示す図である。図9に示すとおり、第1の実施の形態では、アドレス巻き戻し回路は、アドレスaddrを初期値0に巻き戻す(addr=0)。第2、第3の実施の形態については後述する。   9 and 10 are diagrams showing an example of the address rewinding circuit of FIGS. As shown in FIG. 9, in the first embodiment, the address rewinding circuit rewinds the address addr to the initial value 0 (addr = 0). The second and third embodiments will be described later.

[第1の実施の形態]
図11は、第1の実施の形態におけるメモリコントローラによる書き込み処理を示すフローチャート図である。図11には、書き込み処理のサイクル数CYC0-CYC_Kそれぞれの処理が示される。
[First Embodiment]
FIG. 11 is a flowchart showing the write processing by the memory controller according to the first embodiment. FIG. 11 shows the number of cycles of write processing, CYC0 to CYC_K.

図12は、第1の実施の形態におけるサイクル0,1,2の書き込み処理を示す図である。図13は、第1の実施の形態におけるサイクル3の書き込み処理を示す図である。図14、図15は、第1の実施の形態におけるサイクル4の書き込み処理を示す図である。図12〜15において、灰色で示された位置にイベント符号が書き込まれることが示される。記載されている0,63,64,127,128等の数値は、イベント符号ごとに割り当てられる通し番号のうち、境界部分のみを図示したものである。サンプリングされイベント符号が出力されるときに、イベント符号には0,1,2,…の通し番号(以下、イベントID(Identification))が、識別用に割りふられているものとしている。以下、図11乃至14を参照して、第1の実施の形態でのメモリコントローラによるイベント符号のバッファメモリ17への書き込み処理を説明する。   FIG. 12 is a diagram showing the write processing of cycles 0, 1 and 2 in the first embodiment. FIG. 13 is a diagram showing a write process of cycle 3 in the first embodiment. 14 and 15 are diagrams showing the write processing of cycle 4 in the first embodiment. 12 to 15 show that the event code is written in the position shown in gray. Numerical values such as 0, 63, 64, 127, 128 and the like described only show the boundary portion of the serial numbers assigned to each event code. When the event code is sampled and output, serial numbers of 0, 1, 2, ... (Hereinafter, event ID (Identification)) are assigned to the event code for identification. Hereinafter, with reference to FIGS. 11 to 14, a process of writing the event code into the buffer memory 17 by the memory controller according to the first embodiment will be described.

[サイクル0]
図12において、まず、メモリコントローラは、サイクル0(CYC0)で、ラウンド(周回)0の書き込みを行う。ラウンド(周回)0では、メモリコントローラは、バッファメモリ17内のアドレスaddr=0-63に、開始ビット位置sbit=0から、イベントID0-63のビット幅width=1024のイベント符号を順次書き込む。このサイクル0では、イベント符号は分割比1/1で分割される(つまり1024ビットのイベント符号は分割されずに全てのビットが書き込まれる)。図12のサイクル0の行に、アドレス0から63まで、開始ビット位置0から、1024ビット幅のイベント符号が書き込まれているのが示される。
[Cycle 0]
In FIG. 12, first, the memory controller performs writing of round (circulation) 0 in cycle 0 (CYC0). In the round (circulation) 0, the memory controller sequentially writes the event code having the bit width width = 1024 of the event ID 0-63 from the start bit position sbit = 0 at the address addr = 0-63 in the buffer memory 17. In this cycle 0, the event code is divided with a division ratio of 1/1 (that is, the 1024-bit event code is not divided and all bits are written). It is shown that the row of cycle 0 in FIG. 12 is written with an event code having a width of 1024 bits from address 0 to 63 from the start bit position 0.

[サイクル1]
次に、メモリコントローラは、サイクル1(CYC1)で、ラウンド(周回)1の書き込みを行う。ラウンド1では、メモリコントローラは、バッファメモリ17内のアドレスaddr=0-63に、開始ビット位置sbit=512から、イベントID64-127のイベント符号のMSB側のビット幅width=512のビット列を順次書き込む。このサイクル1では、イベント符号は分割比1/2で分割される。図12のサイクル1の行に示されるとおり、アドレス0から63まで、開始ビット位置512から、512ビット幅のイベント符号が書き込まれる。
[Cycle 1]
Next, the memory controller performs the writing of the round 1 in the cycle 1 (CYC1). In round 1, the memory controller sequentially writes the bit string of the MSB side bit width width = 512 of the event code of the event ID 64-127 from the start bit position sbit = 512 to the address addr = 0-63 in the buffer memory 17. . In this cycle 1, the event code is divided with a division ratio of 1/2. As shown in the row of cycle 1 in FIG. 12, the event code having a width of 512 bits is written from the start bit position 512 from the address 0 to 63.

その結果、サイクル0、ラウンド0で書き込み済みのイベント符号の下位ビット側に、新たなイベント符号のMSB側512ビットのビット列が上書きされ、バッファメモリは、サイクル0、ラウンド0のイベント符号のMSB側512ビットだけをMSB側のビット0−511の位置に残し、LSB側のビット512−1023は、新たなイベント符号のMSB側512ビットに置き換えられる。つまり、サイクル1、ラウンド1が終了した時点で、バッファメモリに記憶されているイベント符号は、全てイベント符号のMSB側のビット幅width=RAM_WIDTH/2=512のビット列だけになる。   As a result, the low-order bit side of the event code written in cycle 0 and round 0 is overwritten with the MSB side 512-bit bit string of the new event code, and the buffer memory stores the MSB side of the cycle 0 and round 0 event code. Only 512 bits are left in the positions of bits 0-511 on the MSB side, and bits 512-1023 on the LSB side are replaced with 512 bits on the MSB side of the new event code. That is, at the end of cycle 1 and round 1, all the event codes stored in the buffer memory are only bit strings of the MSB side bit width width = RAM_WIDTH / 2 = 512 of the event code.

[サイクル2]
次に、メモリコントローラは、サイクル2(CYC2)で、ラウンド(周回)2,3の書き込みを行う。ラウンド2では、メモリコントローラは、バッファメモリ17内のアドレスaddr=0-63に、開始ビット位置sbit=256から、イベントID128-191のイベント符号のMSB側のビット幅width=256のビット列を順次書き込む。
[Cycle 2]
Next, the memory controller performs writing in rounds (circulation) 2 and 3 in cycle 2 (CYC2). In round 2, the memory controller sequentially writes the bit string of the bit width width = 256 on the MSB side of the event code of the event ID 128-191 from the start bit position sbit = 256 to the address addr = 0-63 in the buffer memory 17. .

さらに、ラウンド3では、メモリコントローラは、バッファメモリ17内のアドレスaddr=0-63に、開始ビット位置sbit=768から、イベント数192-255のイベント符号のMSB側のビット幅width=256のビット列を順次書き込む。このサイクル2では、イベント符号は分割比1/4で分割される。   Further, in the round 3, the memory controller starts from the start bit position sbit = 768 at the address addr = 0-63 in the buffer memory 17, and the bit string width = 256 on the MSB side of the event code of the event number 192-255. Are sequentially written. In this cycle 2, the event code is divided with a division ratio of 1/4.

その結果、従前に書き込まれたイベント符号の下位ビット側に、新たなイベント符号のMSB側256ビットのビット列が上書きされる。サイクル2、ラウンド2,3が終了した時点で、バッファメモリに記憶されているイベント符号は、全てイベント符号のMSB側のビット幅width=RAM_WIDTH/4=256のビット列だけになる。   As a result, the MSB side 256-bit bit string of the new event code is overwritten on the lower bit side of the previously written event code. At the end of cycle 2, rounds 2 and 3, all the event codes stored in the buffer memory are only bit strings of the MSB side bit width width = RAM_WIDTH / 4 = 256 of the event code.

[サイクル3]
図13において、メモリコントローラは、サイクル3(CYC3)で、ラウンド(周回)4−7の書き込みを行う。ラウンド4では、メモリコントローラは、バッファメモリ17内のアドレスaddr=0-63に、開始ビット位置sbit=128から、イベントID256-319のイベント符号のMSB側のビット幅width=128のビット列を順次書き込む。さらに、ラウンド5では、メモリコントローラは、バッファメモリ17内のアドレスaddr=0-63に、開始ビット位置sbit=384から、イベントID320-383のイベント符号のMSB側のビット幅width=128のビット列を順次書き込む。ラウンド6,7も同様に、開始ビット位置sbit=640, 869からイベントID384-447, 448-511のイベント符号のMSB側128ビット幅のビット列を順次書き込む。このサイクル3では、イベント符号は分割比1/8で分割される。
[Cycle 3]
In FIG. 13, the memory controller performs round 4-7 writing in cycle 3 (CYC3). In the round 4, the memory controller sequentially writes the bit string of the bit width width = 128 on the MSB side of the event code of the event ID 256-319 from the start bit position sbit = 128 to the address addr = 0-63 in the buffer memory 17. . Further, in round 5, the memory controller, at the address addr = 0-63 in the buffer memory 17, from the start bit position sbit = 384, the bit string width = 128 on the MSB side of the event code of the event ID 320-383. Write sequentially. In rounds 6 and 7, similarly, a bit string of 128-bit width on the MSB side of event codes of event IDs 384-447 and 448-511 is sequentially written from the start bit positions sbit = 640 and 869. In this cycle 3, the event code is divided with a division ratio of 1/8.

その結果、従前に書き込まれたイベント符号の下位ビット側に、新たなイベント符号のMSB側128ビットのビット列が上書きされる。サイクル3、ラウンド4−7が終了した時点で、バッファメモリに記憶されているイベント符号は、全てイベント符号のMSB側のビット幅width=RAM_WIDTH/8=128のビット列だけになる。イベント数は64×8−1=511である。   As a result, the MSB side 128-bit bit string of the new event code is overwritten on the lower bit side of the previously written event code. At the end of cycle 3 and rounds 4-7, the event codes stored in the buffer memory are all bit strings of the MSB side bit width of the event code width = RAM_WIDTH / 8 = 128. The number of events is 64 × 8-1 = 511.

[サイクル4]
図14、図15において、メモリコントローラは、サイクル4(CYC4)で、ラウンド(周回)8−15の書き込みを行う。ラウンド8では、メモリコントローラは、バッファメモリ17内のアドレスaddr=0-63に、開始ビット位置sbit=64から、イベントID512-575のイベント符号のMSB側のビット幅width=64のビット列を順次書き込む。ラウンド9−15も同様である。
[Cycle 4]
In FIG. 14 and FIG. 15, the memory controller performs the writing of the round (circulation) 8-15 in the cycle 4 (CYC4). In the round 8, the memory controller sequentially writes the bit string of the bit width width = 64 on the MSB side of the event code of the event ID 512-575 at the address addr = 0-63 in the buffer memory 17 from the start bit position sbit = 64. . The same applies to Rounds 9-15.

その結果、従前に書き込まれたイベント符号の下位ビット側に、新たなイベント符号のMSB側64ビットのビット列が上書きされる。サイクル4、ラウンド8−15が終了した時点で、バッファメモリに記憶されているイベント符号は、全てイベント符号のMSB側のビット幅width=RAM_WIDTH/16=64のビット列だけになる。   As a result, the MSB side 64-bit bit string of the new event code is overwritten on the lower bit side of the previously written event code. At the end of cycle 4 and rounds 8-15, all the event codes stored in the buffer memory have only the bit string width = RAM_WIDTH / 16 = 64 on the MSB side of the event code.

[サイクル5]
図11には、サイクル5、ラウンド(周回)16-31の書き込み処理(CYC5)、サイクル6、ラウンド(周回)25-(26-1)の書き込み処理(CYC6)が示される。さらに、一般化して、サイクルK、ラウンド(周回) 2(K-1)-(2K-1)の書き込み処理(CYCK)が示される。サイクルKは前述の分割数ndivに対応する。そして、サイクルKが、K=K+1しながら停止条件を満たすまで繰り返される。
[Cycle 5]
FIG. 11 shows write processing (CYC5) of cycle 5, round (circulation) 16-31, and write processing (CYC6) of cycle 6, round (circulation) 2 5- (2 6 -1). Further, as a generalization, the write processing (CYCK) of cycle K and round (circulation) 2 (K-1) -(2 K -1) is shown. The cycle K corresponds to the above-mentioned division number ndiv. Then, the cycle K is repeated while K = K + 1 until the stop condition is satisfied.

[サイクルK]
一般化すると、サイクルK(=ndiv)において、メモリコントローラは、アドレス0-63に、開始ビット位置210-K, 210-K+2*width, 210-K+4*width, 210-K+6*width, ...210-widthそれぞれから、イベント符号のMSB側210-Kビット幅のビット列を順次書き込む。
[Cycle K]
Generalizing, at cycle K (= ndiv), the memory controller, the address 0-63, start bit position 2 10-K, 2 10- K + 2 * width, 2 10-K + 4 * width, 2 10 -K + 6 * width, ... 2 10 -width From each, write MSB side 2 10 -K bit width bit sequence of event code.

第1の実施の形態によれば、メモリコントローラは、イベントデータの記憶優先度が高いビットをMSB側に配置替えしたイベント符号のMSB側のビット列を、イベント番号が増加するにしたがいそのビット幅widthを狭くしながら、従前にメモリに書き込まれたイベント符号のLSB側の記憶領域に上書きする。これにより、記憶済みイベント数が少ない間は、記憶されているイベント符号には記憶優先度が高いビットを含めてより多くのビットが含まれる。一方、記憶済みイベント数が増加すると、記憶されるイベント符号には、少なくとも記憶優先度が高いビットをすべてまたはできる限り多くを残している。全てのイベント符号の優先度の高い側の部分ビットデータが必ず含まれており、イベント符号の全ビットデータが失われることは無い。   According to the first embodiment, the memory controller causes the bit width on the MSB side of the event code obtained by rearranging the bits having a high storage priority of the event data on the MSB side as the event number increases in accordance with its bit width width. While narrowing, overwrites the storage area on the LSB side of the event code previously written in the memory. As a result, while the number of stored events is small, the stored event code includes more bits including bits with a high storage priority. On the other hand, when the number of stored events increases, the stored event code retains at least all bits having a high storage priority or as many bits as possible. Partial bit data on the high priority side of all event codes is always included, and all bit data of the event code is not lost.

したがって、LSIのロジックアナライザや、IoTにおけるデータロガーとして有利な特徴を有する。特に、イベントデータを記録している場合にバッファメモリ17から記憶済みイベント符号を読み出すタイミングが早ければ、より多くのビットを有するイベント符号を読み出すことができ、タイミングが遅ければ、遅いタイミングに見合ったベストエフォートなビット幅を有するイベント符号を読み出すことができる。また、イベント発生頻度が低かったり、発生頻度が変動する場合にも、ベストエフォートな効果を提供できる。   Therefore, it has advantageous characteristics as a logic analyzer for LSI and a data logger for IoT. In particular, when recording the event data, if the timing of reading the stored event code from the buffer memory 17 is early, the event code having more bits can be read, and if the timing is late, it is suitable for the late timing. The event code having the best effort bit width can be read. Further, even when the event occurrence frequency is low or the event occurrence frequency varies, the best-effort effect can be provided.

[第2の実施の形態]
第1の実施の形態では、全てのイベント符号のビット幅widthがサイクルが更新されるたびに1/2される。この場合、バッファメモリに記憶されているイベント符号を読み出して、解析する工程において、読み出されたイベント符号は、LSB側のビットが失われた状態になっている。イベント符号のMSB側のビット列は残されているので、重要なビットを読み出したイベント符号から抽出することができる。しかし、読み出したイベント符号のLSB側の消失したビットを復元することはできない。
[Second Embodiment]
In the first embodiment, the bit widths of all event codes are halved each time the cycle is updated. In this case, in the process of reading and analyzing the event code stored in the buffer memory, the read event code is in a state in which the bits on the LSB side are lost. Since the MSB side bit string of the event code remains, important bits can be extracted from the read event code. However, the lost bits on the LSB side of the read event code cannot be restored.

そこで、第2の実施の形態では、メモリコントローラは、メモリに書込み済みのイベント符号の一部には、新たなイベント符号を上書きしないように書き込みを制御する。それにより、バッファメモリに残される一部のイベント符号のLSB側のビット列に基づいて、他のイベントのイベント符号のLSB側の消失されたビット列を推測して補完しながら復元することができる。   Therefore, in the second embodiment, the memory controller controls the writing so that a part of the event code already written in the memory is not overwritten with a new event code. As a result, based on the bit string on the LSB side of some event codes remaining in the buffer memory, the lost bit string on the LSB side of the event code of another event can be estimated and restored while being complemented.

たとえば、ビット値の遷移確率が高いビットを記憶優先度が高いビットとしてMSB側に配置替えしておけば、LSB側の消失されたビット列は、遷移確率が低いので、上記一部のイベントのイベント符号のLSB側のビット列と同じであると推測して、そのLSB側のビット列をそのまま復元ビットに採用する、補助的な手段を実現できる。   For example, if a bit with a high transition probability in the bit value is rearranged on the MSB side as a bit with a high storage priority, the lost bit string on the LSB side has a low transition probability. It is possible to realize an auxiliary means by assuming that it is the same as the bit string on the LSB side of the code and directly adopting the bit string on the LSB side as the restored bits.

図16は、第2の実施の形態におけるメモリコントローラによるイベント符号の書き込み処理のフローチャート図である。図16には、サイクル0(CYC0)、1(CYC1)、2(CYC2)、3(CYC3)における書き込み処理が示される。   FIG. 16 is a flowchart of the event code writing process performed by the memory controller according to the second embodiment. FIG. 16 shows write processing in cycles 0 (CYC0), 1 (CYC1), 2 (CYC2), 3 (CYC3).

また、図17は、第2の実施の形態おけるサイクル0,1,2での書き込み処理を示す図である。そして、図18は、第2の実施の形態におけるサイクル3での書き込み処理を示す図である。   In addition, FIG. 17 is a diagram showing a write process in cycles 0, 1, and 2 in the second embodiment. Then, FIG. 18 is a diagram showing a writing process in the cycle 3 in the second embodiment.

第2の実施の形態では、メモリコントローラは、以前のサイクルでバッファメモリ17内の最も下位側(つまり最後)に書き込まれた複数のイベント符号のうち、先頭アドレスのイベント符号のLSB側には、新たなイベント符号を上書きしない。これにより、当該以前のサイクルで最も下位側に書き込まれた先頭アドレスのイベント符号は、その後の書き込み処理で下位ビット側が消失されることはない。その結果、図17のイベントIDが0,64のイベント符号と、図18のイベントIDが190のイベント符号は、書きこまれた全てのビットがバッファメモリ内に残される。なお、イベントID、64、190等は、当初から1024より少ないビット数を書き込み記録していて、第2、第3の実施形態においても、1024ビットすべてのイベント符号が残されるわけではないことを、補足しておく。   In the second embodiment, the memory controller, on the LSB side of the event code of the head address, among the plurality of event codes written in the lowest order side (that is, last) in the buffer memory 17 in the previous cycle, Do not overwrite the new event code. As a result, the event code of the leading address written in the lowermost side in the previous cycle is not lost in the lower bit side in the subsequent writing process. As a result, in the event codes with event IDs 0 and 64 in FIG. 17 and the event code with event ID 190 in FIG. 18, all the written bits are left in the buffer memory. Note that the event IDs, 64, 190, etc. are written and recorded with a bit number less than 1024 from the beginning, and even in the second and third embodiments, not all 1024-bit event codes are left. , Supplement.

これにより、バッファメモリから読み出されて受信装置4に出力されたイベント符号の、上書きにより消失した下位側のビットの値を、上記のバッファメモリ内にそのまま残されていたイベント符号の下位側のビットを抽出して充当することで、推測データとして復元することができる。   As a result, the value of the lower-order bit of the event code read from the buffer memory and output to the reception device 4 disappears due to overwriting, and the value of the lower-order bit of the event code left in the buffer memory is left unchanged. By extracting and applying the bits, the data can be restored as estimated data.

図16、図17、図18を参照して、第2の実施の形態のメモリコントローラによるイベント符号のバッファメモリへの書き込み動作を説明する。   The operation of writing the event code into the buffer memory by the memory controller according to the second embodiment will be described with reference to FIGS.

[サイクル0]
まず、サイクル0(CYC0)、ラウンド(周回)0では、メモリコントローラは、バッファメモリ17内のアドレスaddr=0-63に、開始ビット位置sbit=0から、イベントID0-63のビット幅width=1024のイベント符号を順次書き込む。
[Cycle 0]
First, in cycle 0 (CYC0) and round (circulation) 0, the memory controller starts from the start bit position sbit = 0 at the address addr = 0-63 in the buffer memory 17, and sets the bit width width = 1024 of the event ID 0-63. Event codes of are sequentially written.

[サイクル1]
次に、サイクル1(CYC1)、ラウンド(周回)1では、メモリコントローラは、バッファメモリ17内のアドレスaddr=1-63に、開始ビット位置sbit=512から、イベントID64-126のビット幅width=512のイベント符号を順次書き込む。その結果、全サイクル0の最後のラウンド(周回)0で書き込まれたイベント符号のうち、先頭アドレスaddr=0のイベントIDが0の1024ビット幅のイベント符号は、書き込み時のままバッファメモリ内に残される。
[Cycle 1]
Next, in cycle 1 (CYC1) and round (circulation) 1, the memory controller starts from the start bit position sbit = 512 at the address addr = 1-63 in the buffer memory 17, and sets the bit width of the event ID 64-126 width = 512 event codes are written in sequence. As a result, of the event codes written in the last round (circulation) 0 of all cycles 0, the event code of 1024 bit width with the event ID 0 at the start address addr = 0 is stored in the buffer memory as it was when it was written. Left behind.

[サイクル2]
次に、サイクル2、ラウンド(周回)2では(CYC2_R2)、メモリコントローラは、バッファメモリ17内のアドレスaddr=1-63に、開始ビット位置sbit=256から、イベントID127-189のビット幅width=256のイベント符号を順次書き込む。さらに、サイクル2、ラウンド(周回)3では(CYC2_R3)、メモリコントローラは、バッファメモリ17内のアドレスaddr=2-63に、開始ビット位置sbit=768から、イベントID190-251のビット幅width=256のイベント符号を順次書き込む。その結果、前サイクル1の最後のラウンド(周回)1(CYC1)で書き込まれたイベント符号のうち、先頭アドレスaddr=1のイベントIDが64の512ビット幅のイベント符号は、書き込み時のままバッファメモリ内に残される。
[Cycle 2]
Next, in cycle 2 and round 2 (CYC2_R2), the memory controller starts from the start bit position sbit = 256 at the address addr = 1-63 in the buffer memory 17, and determines the bit width width = event = 127-189. Write 256 event codes sequentially. Further, in cycle 2 and round 3 (CYC2_R3), the memory controller starts from the start bit position sbit = 768 at the address addr = 2-63 in the buffer memory 17, and sets the bit width width = 256 of the event ID 190-251. Event codes of are sequentially written. As a result, among the event codes written in the last round (circulation) 1 (CYC1) of the previous cycle 1, the 512-bit wide event code with the event ID of 64 at the start address addr = 1 is stored in the buffer at the time of writing. It is left in memory.

[サイクル3]
図18に示されるとおり、サイクル3、ラウンド(周回)4では(CYC3_R4)では、メモリコントローラは、バッファメモリ17内のアドレスaddr=1-63に、開始ビット位置sbit=128から、イベントID252-314のビット幅width=128のイベント符号を順次書き込む。さらに、サイクル3、ラウンド(周回)5(CYC3_R5)も同様に、メモリコントローラは、バッファメモリ17内のアドレスaddr=1-63に、開始ビット位置sbit=384から、イベントID315-377のビット幅width=128のイベント符号を順次書き込む。このラウンド4,5では、アドレスaddr=1-63に新たなイベント符号が上書きされるので、ラウンド0の1024ビット幅のイベントIDが0のイベント符号はバッファメモリから消失しないで書き込まれたまま残される。
[Cycle 3]
As shown in FIG. 18, in cycle 3 and round (circulation) 4, in (CYC3_R4), the memory controller starts from the start bit position sbit = 128 at the address addr = 1-63 in the buffer memory 17, and outputs the event ID 252-314. Event codes with bit width of width = 128 are sequentially written. Similarly, in cycle 3 and round 5 (CYC3_R5), the memory controller starts from the start bit position sbit = 384 at the address addr = 1-63 in the buffer memory 17, and sets the bit width width of the event ID 315-377. Write event code of = 128 sequentially. In rounds 4 and 5, a new event code is overwritten at address addr = 1-63, so the event code with a 1024-bit width event ID of 0 in round 0 remains written in the buffer memory without being lost. Be done.

さらに、サイクル3、ラウンド(周回)6では(CYC3_R6)では、メモリコントローラは、バッファメモリ17内のアドレスaddr=2-63に、開始ビット位置sbit=640から、イベントID378-439のビット幅width=128のイベント符号を順次書き込む。このラウンド6によれば、アドレスaddr=1には新たなイベント符号を上書きしない。したがって、サイクル1の最後のラウンド1で書き込んだイベントIDが64のイベント符号は、バッファメモリから消失しないで書き込まれたときのデータのまま残される。   Further, in cycle 3 and round 6 (CYC3_R6), in the memory controller, the memory controller starts from the start bit position sbit = 640 at the address addr = 2-63 in the buffer memory 17, and sets the bit width of the event ID 378-439 width = Write 128 event codes sequentially. According to this round 6, a new event code is not overwritten at the address addr = 1. Therefore, the event code with the event ID of 64 written in the last round 1 of cycle 1 remains as the data when written without being lost from the buffer memory.

そして、サイクル3、ラウンド(周回)7では(CYC3_R7)では、メモリコントローラは、バッファメモリ17内のアドレスaddr=3-63に、開始ビット位置sbit=896から、イベントID440-500のビット幅width=128のイベント符号を順次書き込む。このラウンド7によれば、アドレスaddr=2には新たなイベント符号を上書きしない。したがって、直前のサイクル2の最後のラウンド3で書き込んだイベントIDが190のイベント符号は、バッファメモリから消失しないで書き込まれたときのデータのまま残される。   In cycle 3 and round 7 (CYC3_R7), the memory controller starts from the start bit position sbit = 896 at the address addr = 3-63 in the buffer memory 17, and sets the bit width width = event = 440-500. Write 128 event codes sequentially. According to this round 7, the address addr = 2 is not overwritten with a new event code. Therefore, the event code having the event ID 190 written in the last round 3 of the immediately preceding cycle 2 remains as the data when written without being erased from the buffer memory.

[サイクルK]
上記のとおり、第2の実施の形態では、カウンタユニットから供給される制御値のうち、ビット幅width、開始ビット位置sbitは、第1の実施の形態と同じである。但し、制御値のアドレスaddrがループ処理内で再設定されるときの値、つまりアドレスの巻き戻し処理によりリセットされるアドレスaddrが、第1の実施の形態とは異なる。
[Cycle K]
As described above, in the second embodiment, of the control values supplied from the counter unit, the bit width width and the start bit position sbit are the same as those in the first embodiment. However, the value when the address addr of the control value is reset in the loop processing, that is, the address addr reset by the address rewinding processing is different from that in the first embodiment.

図9には、第2の実施の形態でのアドレスの巻き戻しの演算例が示される。巻き戻されるアドレスは、addr = F(sbit)で求められる。ここで、sbit=X、addr = F(X)とされ、開始ビット位置sbit=Xが大きくなるにしたがい、リセットされるアドレスaddr = F(X)が徐々に増加する。前述のサイクル3のラウンド7の例では、開始ビット位置sbit=896であったので、図9の演算例によれば、addr=F(X)=F(896)=3となり、前述の説明と一致している。   FIG. 9 shows an operation example of address rewinding according to the second embodiment. The address to be rewound is calculated by addr = F (sbit). Here, sbit = X and addr = F (X) are set, and as the start bit position sbit = X becomes larger, the reset address addr = F (X) gradually increases. In the example of round 7 of cycle 3 described above, the start bit position sbit = 896, so according to the operation example of FIG. 9, addr = F (X) = F (896) = 3, which is the same as the above description. Match.

図10には、第2の実施の形態でのアドレスの巻き戻しの別の演算例が示される。図10の例では、アドレス巻き戻し処理の演算例が一般化されて示される。これによれば、開始ビット位置sbit=Xが0を超えW/2以下では、巻き戻されたアドレスaddrは、F(X)=1である。これにより、サイクル0、ラウンド0で、アドレス0に書き込まれたイベントIDが0の1024ビット幅のイベント符号は、全てバッファメモリ内に残される。   FIG. 10 shows another operation example of address rewinding in the second embodiment. In the example of FIG. 10, the calculation example of the address rewinding process is generalized and shown. According to this, when the start bit position sbit = X exceeds 0 and is W / 2 or less, the rewound address addr is F (X) = 1. As a result, in cycle 0, round 0, all event codes of 1024 bit width with event ID 0 written in address 0 are left in the buffer memory.

同様に、開始ビットsbit=XがW/2を超えW/22以下では、巻き戻されたアドレスaddrは、F(X)=2である。これにより、サイクル1、ラウンド1でアドレス1に書き込まれたイベントIDが64の512ビット幅のイベント符号は、全てバッファメモリ内に残される。 Similarly, when the start bit sbit = X exceeds W / 2 and W / 2 2 or less, the rewound address addr has F (X) = 2. As a result, all 512-bit wide event codes with the event ID of 64 written in address 1 in cycle 1 and round 1 are left in the buffer memory.

したがって、第2の実施の形態では、第1の実施の形態と同様に、サイクルK(=ndiv)において、メモリコントローラが、アドレス0-63に、開始ビット位置210-K, 210-K+2*width, 210-K+4*width, 210-K+6*width, ...210-widthそれぞれから、イベント符号のMSB側210-Kビット幅のビット列を順次書き込む。但し、上記の開始ビット位置に応じて、巻き戻されるアドレスaddrは、図10の各条件に対応するアドレスF(X)にリセットされる。 Thus, in the second embodiment, like the first embodiment, in the cycle K (= ndiv), the memory controller, the address 0-63, start bit position 2 10-K, 2 10- K + 2 * width, 2 10-K + 4 * width, 2 10-K + 6 * width, ... 2 10 -width The bit sequence of 2 10-K bit width of the MSB side of the event code is sequentially written from each. However, the address addr to be rewound is reset to the address F (X) corresponding to each condition of FIG. 10 according to the start bit position.

第2の実施の形態では、バッファメモリからイベント符号を読み出して、受信装置4で失われた下位ビットを復元する際、図17に示したイベント1-63のイベント符号に、イベント0のイベント符号の下位側のビット列を付加してもよい。これにより、推測値で補った上での1024ビット幅のイベント符号を復元できる。同様に、イベントIDが65-189のイベント符号に、イベントIDが0の下位側のビット列と、イベントIDが64の下位側のビット列を付加してもよい。同様に、読み出したイベント符号の消失した下位側のビットを、以前に書き込まれ消失していないイベント符号の下位側のビット列を付加して、推測値で補った上で復元することができる。   In the second embodiment, when the event code is read from the buffer memory and the lower bits lost in the receiving device 4 are restored, the event code of event 1-63 shown in FIG. The bit string on the lower side of may be added. As a result, it is possible to restore the 1024-bit wide event code after supplementing it with the estimated value. Similarly, the lower-order bit string of the event ID 0 and the lower-order bit string of the event ID 64 may be added to the event codes of the event IDs 65 to 189. Similarly, the erased lower bits of the read event code can be restored after being supplemented with an estimated value by adding a lower bit string of the previously written and not erased event code.

[第3の実施の形態]
第2の実施の形態と同様に、第3の実施の形態では、メモリコントローラは、メモリに書込み済みの一部のイベントのイベント符号のLSB側には、新たなイベント符号を上書きしないように書き込みを制御する。それにより、バッファメモリに残されていた一部のイベントのイベント符号のLSB側のビット列を推測値として補うことで、他のイベントのイベント符号のLSB側の消失されたビット列を推測しつつ復元することができる。
[Third Embodiment]
Similar to the second embodiment, in the third embodiment, the memory controller writes a new event code on the LSB side of the event code of some events already written in the memory so as not to overwrite it. To control. As a result, by supplementing the bit string on the LSB side of the event code of some events left in the buffer memory as an estimated value, the lost bit string on the LSB side of the event code of another event is estimated and restored. be able to.

図19は、第3の実施の形態におけるメモリコントローラによるイベント符号の書き込み処理のフローチャート図である。図19には、サイクル0(CYC0)、1(CYC1)、2(CYC2)、3(CYC3)における書き込み処理が示される。   FIG. 19 is a flowchart of the event code writing process by the memory controller according to the third embodiment. FIG. 19 shows the write processing in cycle 0 (CYC0), 1 (CYC1), 2 (CYC2), 3 (CYC3).

また、図20は、第3の実施の形態おけるサイクル0,1,2での書き込み処理を示す図である。そして、図21は、第3の実施の形態におけるサイクル3での書き込み処理を示す図である。   Further, FIG. 20 is a diagram showing a write process in cycles 0, 1, and 2 in the third embodiment. Then, FIG. 21 is a diagram showing a writing process in the cycle 3 in the third embodiment.

第3の実施の形態では、メモリコントローラは、以前のサイクルの各ラウンド(周回)でバッファメモリ17内に書き込まれた複数のイベント符号のうち、先頭アドレスのイベント符号のLSB側には、新たなイベント符号を上書きしない。したがって、以前のサイクルの各ラウンド書き込まれた先頭アドレスのイベント符号は、その後の書き込み処理で下位ビット側が消失されることはない。その結果、図20のイベント0,1,64のイベント符号と、図21のイベント2,65,127,189のイベント符号は、書きこまれた全てのビットがバッファメモリ内に残される。   In the third embodiment, the memory controller creates a new event code on the LSB side of the event code of the head address among the plurality of event codes written in the buffer memory 17 in each round (circulation) of the previous cycle. Do not overwrite the event code. Therefore, in the event code of the leading address written in each round of the previous cycle, the lower bit side is not lost in the subsequent writing process. As a result, all the written bits of the event codes of events 0, 1, 64 in FIG. 20 and the event codes of events 2, 65, 127, 189 in FIG. 21 are left in the buffer memory.

したがって、図9に示されるとおり、第3の実施の形態では、アドレスの巻き戻し処理が、アドレスaddrをサイクルK(=ndiv)のアドレス値にリセットする。すなわち、addr=ndivにリセットする。   Therefore, as shown in FIG. 9, in the third embodiment, the address rewinding process resets the address addr to the address value of the cycle K (= ndiv). That is, reset to addr = ndiv.

図19、図20、図21を参照して、第3の実施の形態のメモリコントローラによるイベント符号のバッファメモリへの書き込み動作を説明する。   The operation of writing the event code into the buffer memory by the memory controller according to the third embodiment will be described with reference to FIGS.

図19に示したサイクル0、ラウンド(周回)0では(CYC0)、メモリコントローラは、アドレスaddr=0-63に、開始ビット位置sbit=0に、イベントIDが0-63のイベント符号のビット幅1024のビット列を書き込む。この書き込みは、第1、第2の実施の形態と同じである。   In cycle 0 and round (circulation) 0 shown in FIG. 19 (CYC0), the memory controller sets the address addr = 0-63, the start bit position sbit = 0, and the event code bit width of the event code 0-63. Write a 1024 bit string. This writing is the same as in the first and second embodiments.

[サイクル1]
次に、サイクル1、ラウンド1では(CYC1)、開始アドレスaddrがaddr=ndiv=1にリセットされるので、メモリコントローラは、アドレスaddr=1-63に、開始ビット位置sbit=512に、イベントIDが64-128のイベント符号のMSB側ビット幅512のビット列を書き込む。これにより、イベントIDが0のイベント符号には上書きされず、書き込まれた全てのビットが残される。
[Cycle 1]
Next, in cycle 1 and round 1 (CYC1), since the start address addr is reset to addr = ndiv = 1, the memory controller sets the address addr = 1-63, the start bit position sbit = 512, and the event ID. Write a bit string with a bit width of 512 on the MSB side of the event code of 64-128. As a result, the event code whose event ID is 0 is not overwritten, and all the written bits are left.

[サイクル2]
サイクル2、ラウンド2,3では(CYC2_R2, CYC2_R3)、開始アドレスaddrがaddr=ndiv=2にリセットされる。そして、メモリコントローラは、アドレスaddr=2-63に、開始ビット位置sbit=256, 768それぞれに、イベントIDが127-188、189-250のイベント符号のMSB側ビット幅256のビット列をそれぞれ書き込む。これにより、イベントIDが1,64のイベント符号には上書きされず、書き込まれた全てのビットが残される。
[Cycle 2]
In cycle 2, rounds 2 and 3 (CYC2_R2, CYC2_R3), the start address addr is reset to addr = ndiv = 2. Then, the memory controller writes the bit string of the MSB side bit width 256 of the event code having the event ID of 127-188 and 189-250 at the address addr = 2-63 at the start bit position sbit = 256, 768, respectively. As a result, the event code with the event ID of 1,64 is not overwritten, and all the written bits are left.

[サイクル3]
サイクル3、ラウンド4−7では(CYC3_R4, CYC3_R5, CYC3_R6, CYC3_R7)、開始アドレスaddrがaddr=ndiv=3にリセットされる。そして、メモリコントローラは、アドレスaddr=3-63に、開始ビット位置sbit=128, 384, 640, 860それぞれに、イベントIDが251-311、312-372、373-433、434-494のイベント符号のMSB側ビット幅128のビット列をそれぞれ書き込む。これにより、イベントIDが2,65,127,189のイベント符号には上書きされず、書き込まれた全てのビットが残される。
[Cycle 3]
In cycle 3, round 4-7 (CYC3_R4, CYC3_R5, CYC3_R6, CYC3_R7), the start address addr is reset to addr = ndiv = 3. Then, the memory controller, at the address addr = 3-63, at the start bit position sbit = 128, 384, 640, 860 respectively, the event code of the event ID 251-131, 312-372, 373-433, 434-494 Write a bit string with a bit width of 128 on the MSB side. As a result, the event codes having the event IDs of 2,65, 127, and 189 are not overwritten, and all the written bits are left.

[サイクルK]
サイクルKでは、メモリコントローラは、アドレスaddr=K-63に、開始ビット位置210-K, 210-K+2*width, 210-K+4*width, 210-K+6*width, ...210-widthそれぞれから、イベント符号のMSB側210-Kビット幅のビット列を順次書き込む。
[Cycle K]
In cycle K, the memory controller starts at address addr = K-63, starting bit position 2 10-K , 2 10-K + 2 * width, 2 10-K + 4 * width, 2 10-K + 6 * width. , ... 2 10 -width, the MSB side of the event code is sequentially written with a bit string of 210 -K bit width.

第3の実施の形態では、アドレスの巻き戻し処理が、addr=ndiv(=K)となっていて、第2の実施形態のときよりもシンプルである。そして、以前の各サイクルの先頭アドレスのイベント符号は、新たなイベント符号で上書きされず、書き込み時の全てのビットがメモリ内に残される。これにより、バッファメモリから読み出されたイベント符号の消失している下位側のビットは、時間的に近い以前のラウンドの先頭アドレスのイベント符号のビットを補完することで、推測データを加えた上で復元してもよい。   In the third embodiment, the address rewinding process is addr = ndiv (= K), which is simpler than that in the second embodiment. Then, the event code of the head address of each previous cycle is not overwritten with the new event code, and all bits at the time of writing are left in the memory. As a result, the low-order bits of the event code that have been read from the buffer memory and that have disappeared are supplemented with the bits of the event code of the start address of the previous round that is close in time, and then the estimated data is added. You can restore it with.

[実施の形態の比較]
図22は、第1、第2、第3の実施の形態のバッファメモリ内に記憶されるイベント符号のビット幅とそのデータ数を示す図である。縦軸は、バッファメモリ内のイベント符号のビット幅を、横軸は、イベントIDの番号をそれぞれ示す。縦軸は対数であり、グラフ中に書き加えた数値は、そのプロット点における縦軸の値である。プロット点が近いために横向きの棒グラフのように見えてしまうが、実際には散布図である。図22の3つのグラフは、いずれも、約8000個のイベント符号を記憶したときの様子を示している。
[Comparison of Embodiments]
FIG. 22 is a diagram showing the bit width of the event code stored in the buffer memories of the first, second, and third embodiments and the number of data items thereof. The vertical axis represents the bit width of the event code in the buffer memory, and the horizontal axis represents the event ID number. The vertical axis is logarithmic, and the numerical value added in the graph is the value on the vertical axis at the plot point. It looks like a horizontal bar graph because the plot points are close, but it is actually a scatter plot. Each of the three graphs in FIG. 22 shows a state when about 8000 event codes are stored.

記憶済みイベント数が約8000個となった時点で、第1の実施の形態では、全てのイベント符号は、MSB側の8ビットのみが残されている。それに対して、第2の実施の形態では、イベントID番号によって、バッファメモリ内に記憶されるビット数が異なる。、メモリ内に記憶されているイベント符号は、ビット幅8の数が最も多いものの、それより長いビット幅16,32,64,256,512,1024のイベント符号もそれぞれ1個ずつ残されている。   At the time when the number of stored events reaches about 8000, in the first embodiment, only 8 bits on the MSB side remain in all event codes. On the other hand, in the second embodiment, the number of bits stored in the buffer memory differs depending on the event ID number. Although the event code stored in the memory has the largest number of bit widths of 8, the event codes having bit widths of 16, 32, 64, 256, 512, 1024 longer than that are also left one by one. .

そして、第3の実施の形態では、メモリ内に記憶されているイベント符号は、8ビット幅よりも長く残されているものが増加する。この例では、ビット幅1024は1個、ビット幅512は2個、ビット幅256は4個(以下省略)が残される。失われたビットデータを補う目的において、ビット数が多いデータを多数残せるほうが、推測が的中する可能性が高くなることが期待できるため、その点で、第2の実施形態よりも第3の実施形態はより効果的である。しかし同じ個数のデータを記憶させる場合では、第2と第3を比較すると、第2の実施形態のほうが、最短のビット幅を長めに残すことができる。   Then, in the third embodiment, the number of event codes stored in the memory that are left longer than the 8-bit width increases. In this example, one bit width 1024, two bit widths 512, and four bit widths 256 (hereinafter omitted) are left. For the purpose of compensating for the lost bit data, it can be expected that it is more likely that the guess will hit if more data having a large number of bits can be left. Therefore, in that respect, the third embodiment is better than the second embodiment. The embodiment is more effective. However, when storing the same number of data, comparing the second and third data, the second embodiment can leave the shortest bit width longer.

図23は、第3の実施の形態のバッファメモリ内に記憶されるイベント符号のビット幅とそのデータ数を示す図である。縦軸と横軸は、図22と同じである。図23の3つのグラフはそれぞれ、記憶済みイベント数(データ数)が2034個、1033個、554個のときを示している。   FIG. 23 is a diagram showing the bit width of the event code stored in the buffer memory according to the third embodiment and the number of data items thereof. The vertical axis and the horizontal axis are the same as in FIG. The three graphs in FIG. 23 show the cases where the number of stored events (the number of data) is 2034, 1033, and 554, respectively.

記録済みイベント数が2034個と多いとき、データ数が最も多いイベント符号のビット幅は32ビットになり、イベント符号が1024ビットあったことを考慮すると、かなりのデータが失われていることがわかる。イベント数が1033個の時点では64ビット幅のデータ数が多く残っており、2034個のときよりも失われるデータが少ない。イベント数が554個の時点では128ビットのデータが多く残っている。つまり、記録するイベント数が少なければ、より長いビット幅のイベント符号をメモリ内に記憶できて、イベント数が多くなると、メモリ内のイベント符号はより短いビット幅になることを、図23で示している。バッファメモリ内に記録するイベント数は、いつバッファメモリの内容を転送するか(これはデータ転送能力と関連する)、イベントの発生頻度、といった外的要因によって決まるが、その外的要因に対してベストエフォートで適合的なデータ記録手段を提供できることが、図23からわかる。   When the number of recorded events is as large as 2034, the bit width of the event code having the largest number of data is 32 bits. Considering that the event code was 1024 bits, it can be seen that considerable data is lost. . When the number of events is 1033, a large amount of 64-bit width data remains, and less data is lost than when 2034. When the number of events is 554, much 128-bit data remains. That is, FIG. 23 shows that if the number of events to be recorded is small, an event code having a longer bit width can be stored in the memory, and if the number of events increases, the event code in the memory has a shorter bit width. ing. The number of events recorded in the buffer memory depends on external factors such as when the contents of the buffer memory are transferred (this is related to the data transfer capability) and the frequency of occurrence of events. It can be seen from FIG. 23 that the best-effort adaptive data recording means can be provided.

[イベント符号の復号処理]
実施の形態では、バッファメモリ17内には、前述した書き込み方法により書き込まれまたは上書きされたイベント符号があり、それに加えて、カウンタユニット16内には、現在書き込み済みのイベント数neventが記憶される。
[Decoding process of event code]
In the embodiment, the buffer memory 17 has the event code written or overwritten by the above-described writing method, and in addition, the counter unit 16 stores the number of events nevent currently written. .

そして、受信装置4(または受信装置4からイベント符号を取得した解析装置)は、バッファメモリ17から読み出したイベント符号と、カウンタユニットから抽出したイベント数neventを受け取る。次に、受け取ったデータを用いて、バッファメモリ内のデータフォーマットを決定する。その後、データフォーマットに従って、バッファメモリのデータ(イベント符号のMSB側部分データ)を読み出し、必要に応じて補間をしつつ、イベント符号を復元する。最後に、イベント符号に対して復号処理(符号化時と逆のビットの並べ替え)を行い、元の(イベント発生時の)イベントデータに近いデータを出力して、処理を終了する。上書き失われたビットがあるときは、元通りのイベントデータには戻せないが、残っていたビットについては正確なデータとして利用できる。   Then, the reception device 4 (or the analysis device that has acquired the event code from the reception device 4) receives the event code read from the buffer memory 17 and the event number nevent extracted from the counter unit. Next, the received data is used to determine the data format in the buffer memory. After that, the data in the buffer memory (the MSB side partial data of the event code) is read out in accordance with the data format, and the event code is restored while performing interpolation as necessary. Finally, the event code is subjected to decoding processing (bit rearrangement opposite to that at the time of encoding), data close to the original event data (at the time of event occurrence) is output, and the processing ends. When there is a bit overwritten and lost, it cannot be restored to the original event data, but the remaining bit can be used as accurate data.

本実施の形態では、受信装置または解析装置は、イベント数neventに基づいて、バッファメモリ内の各ビットと、イベントIDとの対応表である、マップを生成する。このマップは、バッファメモリ内のデータフォーマットを示す。そして、受信装置または解析装置は、そのマップを参照して、バッファメモリから読み出されたビット列から各イベントIDのイベント符号を抽出する。   In the present embodiment, the receiving device or the analyzing device generates a map, which is a correspondence table between each bit in the buffer memory and the event ID, based on the number of events nevent. This map shows the data format in the buffer memory. Then, the receiving device or the analyzing device refers to the map and extracts the event code of each event ID from the bit string read from the buffer memory.

図24、図25は、バッファメモリのマップを生成する手続きのフローチャート図である。図24のフローチャートは、図7のカウンタユニットのフローチャートと類似する。図24には、図7のカウンタを初期化する工程S10の代わりに、パラメータを初期化する工程S10Aを有し、図7のイベント符号受信工程S12がなく、図7のカウンタの値を出力する工程S13の代わりに、マップ更新工程S13Aを有する。図25は、マップ更新工程S13Aの詳細を示す。   24 and 25 are flowcharts of a procedure for generating a buffer memory map. The flowchart of FIG. 24 is similar to the flowchart of the counter unit of FIG. 24 has a step S10A of initializing parameters instead of the step S10 of initializing the counter of FIG. 7, and does not have the event code receiving step S12 of FIG. 7, and outputs the value of the counter of FIG. A map updating step S13A is provided instead of the step S13. FIG. 25 shows details of the map updating step S13A.

そして、図24の停止判定工程S11の停止条件は、イベント数neventがバッファメモリから読み出したまたはカウンタユニットから抽出したイベント番号neventと一致するときである。この工程も、図7とは異なる。   The stop condition of the stop determination step S11 in FIG. 24 is when the event number nevent matches the event number nevent read from the buffer memory or extracted from the counter unit. This step is also different from FIG. 7.

図24、25の手続きは、高速動作を必要としないため、ソフトウェアで実装することが可能であるが、ハードウェア回路として実現しても構わない。実施例の1つとしては、受信装置または解析装置は、図24,25の手続きに相当するプログラムを実行するプロセッサを有し、そのプロセッサがプログラムを実行する前に、以下の定数を設定する。
バッファメモリのビット幅:RAM_WIDTH = 1024
アドレス数(ワード数):RAM_WORD = 64
Since the procedures of FIGS. 24 and 25 do not require high-speed operation, they can be implemented by software, but may be implemented as a hardware circuit. In one embodiment, the receiving device or the analyzing device has a processor that executes a program corresponding to the procedure of FIGS. 24 and 25, and the following constants are set before the processor executes the program.
Bit width of buffer memory: RAM_WIDTH = 1024
Number of addresses (number of words): RAM_WORD = 64

そして、プロセッサは、プログラムを実行開始し、最初に以下のパラメータを初期値に初期化する(S10)。
分割数(またはサイクル数):ndiv = 0
イベント数:nevent = 0
ラウンド数(周回数):nround = 0
アドレス:addr = 0
開始ビット位置:sbit = 0
ビット幅:width = RAM_WIDTH = 1024
Then, the processor starts executing the program and first initializes the following parameters to initial values (S10).
Number of divisions (or number of cycles): ndiv = 0
Number of events: nevent = 0
Number of rounds (number of laps): nround = 0
Address: addr = 0
Start bit position: sbit = 0
Bit width: width = RAM_WIDTH = 1024

そして、プロセッサがフローチャートのプログラムを実行すると、イベント数neventがカウンタユニットから抽出したイベント数neventに達するまで、工程S13-S21を繰り返し実行する。そして、イベント数neventが更新されるたびに(S14)、マップMAPを更新する(S13)。   When the processor executes the program of the flowchart, steps S13-S21 are repeatedly executed until the event number nevent reaches the event number nevent extracted from the counter unit. Then, every time the event number nevent is updated (S14), the map MAP is updated (S13).

それ以外の工程S14乃至S21は、図7の各工程と同じである。つまり、イベント数がインクリメントされるたびに、イベント符号が書き込まれるアドレスaddrと、開始ビット位置sbitと、ビット幅widthとが生成される。   The other steps S14 to S21 are the same as the steps in FIG. That is, every time the number of events is incremented, the address addr to which the event code is written, the start bit position sbit, and the bit width width are generated.

すなわち、前述のカウンタユニットの制御信号に基づく書き込み方法によれば、バッファメモリ内のデータフォーマットは、イベント数neventがインクリメントされる毎に更新される。マップ更新処理S13Aでは、マップ内のアドレスaddrの開始ビット位置sbitからビット幅widthまでそのイベント番号neventを書き込むことで、データフォーマットを更新している。   That is, according to the writing method based on the control signal of the counter unit, the data format in the buffer memory is updated every time the event number nevent is incremented. In the map update process S13A, the data format is updated by writing the event number nevent from the start bit position sbit of the address addr in the map to the bit width width.

図25のマップ更新処理S13Aによれば、プロセッサは、まず、パラメータのアドレスaddrと、開始ビット位置sbitと、ビット幅widthと、現在のイベント数(イベントIDの番号に等しい)neventを取得し(S131)、変数iを0に初期化し(S132)、変数iがビット幅widthに達しない間(S131のYES)、バッファメモリのビット位置sbit+i, アドレスaddrに対応するアドレスのMAPメモリに、イベント番号neventを書き込む(S134)。そして、変数iをインクリメントしながら、工程S133,S134を繰り返す。実施例の1つとしては、MAPメモリは、S134のプログラミング言語風表記MAP[x,y]のように、2次元配列変数として実現可能であり、2次元配列変数の横方向(x)サイズはRAM_WIDTH、縦方向(y)サイズはRAM_WORDとなる。2次元配列変数の1要素には、neventの最大値(非負の整数)を格納するのに十分なビット幅を必要とする。   According to the map update process S13A in FIG. 25, the processor first obtains the parameter address addr, the start bit position sbit, the bit width width, and the current event number (equal to the event ID number) nevent ( S131), the variable i is initialized to 0 (S132), and while the variable i does not reach the bit width width (YES in S131), in the MAP memory of the address corresponding to the bit position sbit + i of the buffer memory and the address addr, The event number nevent is written (S134). Then, steps S133 and S134 are repeated while incrementing the variable i. In one embodiment, the MAP memory can be realized as a two-dimensional array variable like the programming language notation MAP [x, y] of S134, and the horizontal (x) size of the two-dimensional array variable is RAM_WIDTH, vertical (y) size is RAM_WORD. One element of the two-dimensional array variable needs a bit width sufficient to store the maximum value (non-negative integer) of nevent.

図26は、マップ(2次元配列変数MAP[x,y])のデータ構造を示す図である。マップの縦方向yのインデックス値(バッファメモリ17のアドレスに対応)と、横方向xのインデックス値(バッファメモリ17のビット位置に対応)は、図6、図12等と対応している。図26においてxrは、同一行yにおいて、同じ値が連続するときのもっとも右位置のインデックス値を示している。(xr+1)列からは別の値が右方向に連続して格納されている。つまり、…=MAP[xr-2,y]=MAP[xr-1,y]=MAP[xr,y]、MAP[xr,y]≠MAP[xr+1,y]、MAP[xr+1,y]=MAP[xr+2,y]=…、である。このような性質をもつxrは、同一行y中には複数存在しうるが、図26では図示を省略した。   FIG. 26 is a diagram showing a data structure of a map (two-dimensional array variable MAP [x, y]). The vertical y value of the map (corresponding to the address of the buffer memory 17) and the horizontal x index value (corresponding to the bit position of the buffer memory 17) correspond to those of FIGS. In FIG. 26, xr represents the index value at the rightmost position when the same value continues in the same row y. From the (xr + 1) column, another value is continuously stored in the right direction. That is, ... = MAP [xr-2, y] = MAP [xr-1, y] = MAP [xr, y], MAP [xr, y] ≠ MAP [xr + 1, y], MAP [xr + 1 , y] = MAP [xr + 2, y] = ... A plurality of xr having such a property may exist in the same row y, but the illustration is omitted in FIG.

図26の例では、バッファメモリの、アドレス3の、ビット位置0からビット位置xrに、イベントID番号が3のイベント符号が書き込まれている、ことを示している。このように、マップは、図12等に示されたバッファメモリ17のワードとビットが、イベント符号のどのイベントIDに対応しているかを示し、従って、バッファメモリのデータフォーマット(データ構造)を示す。   In the example of FIG. 26, it is shown that the event code having the event ID number 3 is written from the bit position 0 to the bit position xr of the address 3 in the buffer memory. In this way, the map indicates which event ID of the event code the words and bits of the buffer memory 17 shown in FIG. 12 correspond to, and thus the data format (data structure) of the buffer memory. .

受信装置または解析装置は、上記のようにして生成されたマップを参照して、バッファメモリから読み出されたイベント符号を、イベントID毎に抽出する。そして必要に応じて、各イベント符号のビット幅に基づいて、消失された下位側のビットを、他のイベント符号の下位側のビットを参考にして補間する(補完しないときは、失われたビット位置を不定値xとして別扱いする)。さらに、受信装置または解析装置は、イベント符号化部に設定した符号化設定値(配置替え対象ビット)に基づいて、復元されたイベント符号を復号し、つまり元の配置に戻し、イベントデータを生成する。失われたビットがあるとき、生成されたイベントデータは、図4サンプリングユニット11が出力したデータIVxとは必ずしも一致しないが、優先順位が高く設定されたデータは正しく生成できる。   The reception device or the analysis device refers to the map generated as described above and extracts the event code read from the buffer memory for each event ID. Then, if necessary, based on the bit width of each event code, the lost lower-order bits are interpolated by referring to the lower-order bits of other event codes. Treat the position as an indeterminate value x). Furthermore, the receiving device or the analysis device decodes the restored event code based on the encoding setting value (relocation target bit) set in the event encoding unit, that is, restores the original configuration, and generates event data. To do. When there is a lost bit, the generated event data does not always match the data IVx output by the sampling unit 11 of FIG. 4, but the data set with a high priority can be correctly generated.

[実施の形態の変形例]
上記の実施の形態では、イベント符号化でイベントデータの重要度の高いビットをMSB側に並べ替えし、そして、メモリコントローラは、イベント符号のビット幅を短くする際にMSB側のビット列を選択してメモリバッファに書き込む。
[Modification of Embodiment]
In the above-described embodiment, the event encoding rearranges the significant bits of the event data to the MSB side, and the memory controller selects the MSB side bit string when shortening the bit width of the event code. Write to the memory buffer.

但し、MSB側ではなく、イベント符号化で重要度の高いビットをLSB側に並べ替えし、LSB側のビット列を選択してメモリバッファに書き込んでも良い。その場合、既に書き込まれたイベント符号の上位ビット側に、新たなイベント符号が上書きされる。   However, instead of the MSB side, it is also possible to rearrange the bits of high importance in event encoding to the LSB side, select the LSB side bit string, and write it to the memory buffer. In that case, a new event code is overwritten on the upper bit side of the already written event code.

さらに、より一般化すれば、ビット位置を読み替える変換規則を新たに導入することで、MSB側、LSB側に限定されない、別のビット位置に並べ替えしてメモリに記憶してそのビット位置には上書きされないようにしてもよい。   Furthermore, if it is more generalized, by introducing a new conversion rule for rereading the bit position, it is not limited to the MSB side and the LSB side, it is rearranged to another bit position and stored in the memory, and that bit position is stored. It may not be overwritten.

上記の第2の実施の形態では、メモリコントローラは、前のサイクルの最後のラウンドの先頭アドレスに書き込まれたイベント符号の領域には、次のサイクルで新たなイベント符号を上書きせず、書き込まれたイベント符号の全ビットをメモリ内に残した。しかし、前のサイクルの任意のランドの任意のアドレスに書き込まれたイベント符号の領域には、次のサイクルで新たなイベント符号を上書きしないようにしてもよい。   In the second embodiment described above, the memory controller writes a new event code in the area of the event code written in the start address of the last round of the previous cycle without overwriting with a new event code in the next cycle. All the bits of the event code are left in memory. However, a new event code may not be overwritten in the next cycle in the area of the event code written in any address of any land in the previous cycle.

以上の通り、本実施の形態によれば、監視対象または測定対象から取得したイベントデータを、ビット単位で重要度の高い順序で並べ替えする符号化を行い、符号化されたイベント符号をバッファメモリに書き込む。また、イベントデータのイベントIDの番号が増加するにしたがい、バッファメモリに書き込むイベント符号のビット列を短くしつつ、すでに記録済みのデータの重要度が低い側のビット位置へ、上書きをしていく。これにより、できるだけ多くのイベント符号をバッファメモリに書き込む。その結果、バッファメモリからイベント符号を読み出すタイミングが早ければ、読み出されたイベント符号はより多くのビットを含み、タイミングが遅くなったときでも重要度の高いビットは含まれるので、できるだけ多くのイベントデータをベストエフォートなビット幅で記録することができる。重要度とは、できるだけ最後まで残しておきたいビットデータ、の意味だと解釈してよい。   As described above, according to the present embodiment, the event data acquired from the monitoring target or the measurement target is encoded so as to be rearranged in the order of high importance in bit units, and the encoded event code is stored in the buffer memory. Write in. Further, as the number of the event ID of the event data increases, the bit string of the event code written in the buffer memory is shortened, and overwriting is performed on the bit position of the less important side of the already recorded data. As a result, as many event codes as possible are written in the buffer memory. As a result, if the timing to read the event code from the buffer memory is early, the read event code contains more bits, and even if the timing is late, the bits with high importance are included. Data can be recorded with the best effort bit width. The degree of importance may be interpreted as the meaning of bit data that should be retained until the end as much as possible.

以上の実施の形態をまとめると、次の付記のとおりである。   The above embodiments are summarized as the following supplementary notes.

(付記1)
データを記憶するメモリと、
イベントデータの所定のビットを最上位ビット側または最下位ビット側のうち第1ビット側に並べ替えする符号化を行いイベント符号を生成する符号化部と、
第1のサイクルにおいて、前記イベント符号のうち前記第1ビット側の第1ビット幅のビット列を有する複数の第1のデータを前記メモリに順次書き込み、前記第1のサイクル後の第2のサイクルにおいて、前記イベント符号のうち前記第1ビット側のビット列を有し、前記第1ビット幅より小さいビット幅の複数の第2のデータを、前記メモリ内に書込み済みの前記複数の第1のデータの前記第1ビット側とは逆の第2ビット側の記憶領域に、順次上書きするメモリコントローラとを有する、データ記録装置。
(Appendix 1)
A memory for storing data,
An encoding unit that performs encoding to rearrange predetermined bits of event data to the first bit side of the most significant bit side or the least significant bit side to generate an event code,
In the first cycle, a plurality of first data having a bit string of a first bit width on the first bit side of the event code is sequentially written in the memory, and in a second cycle after the first cycle. , A plurality of second data having a bit string on the side of the first bit of the event code and having a bit width smaller than the first bit width of the plurality of first data already written in the memory. A data recording device, comprising: a memory controller that sequentially overwrites a storage area on the second bit side opposite to the first bit side.

(付記2)
前記メモリコントローラは、最初のサイクルにおいて、複数の前記イベント符号を前記メモリに順次書き込み、前記最初のサイクルの次のサイクルにおいて、前記イベント符号のうち前記第1ビット側のビット列を有し、前記イベント符号より小さいビット幅の複数の第3のデータを、前記メモリ内に書込み済みの前記複数のイベント符号の前記第1ビット側とは逆の第2ビット側の記憶領域に、順次上書きする、付記1に記載のデータ記録装置。
(Appendix 2)
In the first cycle, the memory controller sequentially writes a plurality of the event codes to the memory, and in a cycle subsequent to the first cycle, has a bit string on the first bit side of the event code, Note that a plurality of third data having a bit width smaller than the code is sequentially overwritten in a storage area on the second bit side opposite to the first bit side of the plurality of event codes already written in the memory. 1. The data recording device according to 1.

(付記3)
前記メモリは、M個のアドレスそれぞれに、Nビット幅の記憶領域を有し、
前記各サイクルは、1乃至Mのアドレスに前記複数のデータであって前記Nビット幅より小さいビット幅のデータを順次上書きするラウンドを複数回有し、
前記各サイクルは、前サイクルのラウンド数の2倍の回数のラウンドを有する、付記1に記載のデータ記録装置。
(Appendix 3)
The memory has a storage area having an N-bit width at each of M addresses,
Each cycle has a plurality of rounds of sequentially overwriting the data having a bit width smaller than the N bit width at the addresses 1 to M a plurality of times.
The data recording device according to attachment 1, wherein each of the cycles has twice as many rounds as the previous cycle.

(付記4)
前記メモリコントローラは、
前記第2のサイクルで、前記第2のサイクルより前のサイクルで前記メモリに書き込まれた複数のデータのうち一部のデータを除く複数のデータの前記第2ビット側の記憶領域に、前記第2のデータを上書きする、付記1に記載のデータ記録装置。
(Appendix 4)
The memory controller is
In the second cycle, in the storage area on the second bit side of the plurality of data excluding a part of the plurality of data written in the memory in the cycle before the second cycle, 2. The data recording device according to attachment 1, which overwrites the data of 2.

(付記5)
前記メモリは、M個のアドレスそれぞれに、Nビット幅の記憶領域を有し、
前記メモリコントローラは、
前記第1のサイクルにおいて、前記イベント符号のうち前記第1ビット側のビット列を有し、前サイクルで前記メモリに上書きしたデータの1/2のビット幅を有する複数の前記第1のデータを、前記メモリ内の複数のアドレスにおいて書込み済みの前記複数のデータの前記第2ビット側の記憶領域に、順次上書きし、
前記第2のサイクルにおいて、前記イベント符号のうち前記第1ビット側のビット列を有し、第1のサイクルで前記メモリに上書きした第1のデータの1/2のビット幅を有する複数の前記第2のデータを、前記メモリ内の複数のアドレスにおいて書込み済みの前記複数のデータの前記第2ビット側の記憶領域に、順次上書きする、付記1に記載のデータ記録装置。
(Appendix 5)
The memory has a storage area having an N-bit width at each of M addresses,
The memory controller is
In the first cycle, a plurality of the first data having a bit string on the first bit side of the event code and having a bit width of ½ of the data overwritten in the memory in the previous cycle, Sequentially overwriting the storage area on the second bit side of the plurality of data written at the plurality of addresses in the memory,
In the second cycle, a plurality of the plurality of the first codes having a bit string on the side of the first bit of the event code and having a bit width of ½ of the first data overwritten in the memory in the first cycle are provided. 2. The data recording device according to attachment 1, wherein the data of No. 2 is sequentially overwritten in the storage area on the second bit side of the plurality of data already written at the plurality of addresses in the memory.

(付記6)
前記メモリコントローラは、
前記第2のサイクルで、前記第2のサイクルより前のサイクルで書き込まれたデータの一部を除くデータの前記第2ビット側の記憶領域に、前記第2のデータを上書きする、付記5に記載のデータ記録装置。
(Appendix 6)
The memory controller is
In the second cycle, the storage area on the second bit side of the data excluding a part of the data written in the cycle before the second cycle is overwritten with the second data. The described data recording device.

(付記7)
前記第2のサイクルは、1乃至Mのアドレスに前記複数の第2のデータを順次上書きするラウンドを、前記第1のデータが前記Nビット幅方向に書き込まれた数の2倍の回数有し、
前記メモリコントローラは、前記第2のサイクルで、前記第2のサイクルより前のサイクルの一部のラウンドで書き込まれたデータの一部を除くデータの前記第2のビット側の記憶領域に、前記第2のデータを上書きする、付記5に記載のデータ記録装置。
(Appendix 7)
The second cycle has a round in which 1 to M addresses are sequentially overwritten with the plurality of pieces of second data, which is twice the number in which the first data is written in the N-bit width direction. ,
The memory controller, in the second cycle, in the storage area on the second bit side of data excluding a part of the data written in a part of the rounds of the cycle before the second cycle, 6. The data recording device according to attachment 5, which overwrites the second data.

(付記8)
前記メモリコントローラは、前記第2のサイクルにおける前記上書きを、所定の条件が満たされるまで繰り返す、付記1に記載のデータ記録装置。
(Appendix 8)
The data recording device according to appendix 1, wherein the memory controller repeats the overwrite in the second cycle until a predetermined condition is satisfied.

(付記9)
前記メモリコントローラは、前記第2のサイクルにおける前記上書きを、前記第2のデータのビット幅が基準値に達するまで繰り返す、付記1に記載のデータ記録装置。
(Appendix 9)
2. The data recording device according to attachment 1, wherein the memory controller repeats the overwrite in the second cycle until the bit width of the second data reaches a reference value.

(付記10)
前記メモリコントローラは、前記第2のサイクルにおける前記上書きを、前記イベントデータのイベント数が基準回数に達するまで繰り返す、付記1に記載のデータ記録装置。
(Appendix 10)
The data recording device according to appendix 1, wherein the memory controller repeats the overwrite in the second cycle until the number of events of the event data reaches a reference number.

(付記11)
さらに、
測定対象から順次発生するイベントデータを取得するデータ取得部と、
前記メモリに記憶されたイベント符号を出力する出力部とを有する、付記1に記載のデータ記録装置。
(Appendix 11)
further,
A data acquisition unit that acquires event data that sequentially occurs from the measurement target,
The data recording device according to appendix 1, further comprising: an output unit that outputs the event code stored in the memory.

(付記12)
測定対象から順次発生するイベントデータの所定のビットを最上位ビット側または最下位ビット側のうち第1ビット側に並べ替えする符号化を行いイベント符号を生成し、
第1のサイクルにおいて、前記イベント符号のうち前記第1ビット側の第1ビット幅のビット列を有する複数の第1のデータをメモリに順次書き込み、
前記第1のサイクル後の第2のサイクルにおいて、前記イベント符号のうち前記第1ビット側のビット列を有し、前記第1ビット幅より小さいビット幅の複数の第2のデータを、前記メモリ内に書込み済みの前記複数の第1のデータの前記第1ビット側とは逆の第2ビット側の記憶領域に、順次上書きする、データ記録方法。
(Appendix 12)
Encoding is performed by rearranging predetermined bits of event data sequentially generated from the measurement target to the first bit side of the most significant bit side or the least significant bit side to generate an event code,
In the first cycle, sequentially writing a plurality of first data having a bit string of a first bit width on the first bit side of the event code to a memory,
In a second cycle after the first cycle, a plurality of second data having a bit string on the side of the first bit of the event code and having a bit width smaller than the first bit width is stored in the memory. A data recording method of sequentially overwriting a storage area on the second bit side opposite to the first bit side of the plurality of first data that have been written to.

(付記13)
さらに、
最初のサイクルにおいて、複数の前記イベント符号を前記メモリに順次書き込み、前記最初のサイクルの次のサイクルにおいて、前記イベント符号のうち前記第1ビット側のビット列を有し、前記イベント符号より小さいビット幅の複数の第3のデータを、前記メモリ内に書込み済みの前記複数のイベント符号の前記第1ビット側とは逆の第2ビット側の記憶領域に、順次上書きする、付記12に記載のデータ記録方法。
(Appendix 13)
further,
In the first cycle, a plurality of the event codes are sequentially written in the memory, and in the next cycle of the first cycle, the event code has a bit string on the first bit side and has a bit width smaller than the event code. 13. The data according to appendix 12, wherein the plurality of third data items of No. 3 are sequentially overwritten in the storage area on the second bit side opposite to the first bit side of the plurality of event codes already written in the memory. Recording method.

1:半導体装置
2:測定対象回路
3:観測対象
4:受信装置
5:通信路
10:データ記録装置
11:データ取得部
12:データバッファユニット
13:データ出力部
14:イベント符号化部
IV0-IV7:イベントデータ
S0-S7:イベント符号
15:メモリコントローラ
16:カウンタユニット
17:バッファメモリ
SP:サンプリング設定値
CD:符号化設定値
RAM_WIDTH:バッファメモリのビット幅
RAM_WORD:アドレス数(ワード数)
ndiv:分割数(またはサイクル数)
nevent:イベント数
nround:ラウンド数(周回数)
addr:イベント符号が書き込まれるメモリ内のアドレス
sbit:イベント符号が書き込まれるメモリ内の開始ビット位置
width:メモリに書き込まれるイベント符号のビット幅
1: semiconductor device 2: measurement target circuit 3: observation target 4: receiving device 5: communication path 10: data recording device 11: data acquisition unit 12: data buffer unit 13: data output unit 14: event encoding unit
IV0-IV7: Event data
S0-S7: Event code 15: Memory controller 16: Counter unit 17: Buffer memory SP: Sampling set value CD: Encoding set value
RAM_WIDTH: Bit width of buffer memory
RAM_WORD: Number of addresses (number of words)
ndiv: Number of divisions (or number of cycles)
nevent: Number of events
nround: Number of rounds (number of laps)
addr: address in memory where the event code is written
sbit: Starting bit position in memory where the event code is written
width: Bit width of the event code written in memory

Claims (5)

M個のアドレスそれぞれにNビット幅の記憶領域を有し、データを記憶するメモリと、
イベントデータの前記メモリへの記憶優先度が高いビットほど最上位ビット側または最下位ビット側のうち第1ビット側に並べ替えする符号化を行い前記Nビット幅のイベント符号を生成する符号化部と、
最初の第0のサイクルにおいて、順に生成される前記Nビット幅の前記イベント符号を前記メモリの前記M個のアドレスの前記Nビット幅の記憶領域に順次書き込み、
第Kのサイクル(Kは、1以上の整数)において、引き続き順に生成される前記Nビット幅の前記イベント符号のうちの前記第1ビット側のN/2 ビット幅の部分データを、各アドレスにおける前記Nビット幅の前記記憶領域を2 個に分割したN/2 ビット幅の部分領域のうちの前記第1ビット側の第1番目の部分領域から数えて第2J番目(Jは、1以上2 K-1 以下の整数)の部分領域に順次上書きしていき、当該上書きのラウンドを、Jを1から2 K-1 まで増加しながら実行し、
前記Kを1から順に増加しながら、前記第Kのサイクルの上書き処理を繰り返すメモリコントローラとを有する、データ記録装置。
A memory having a storage area having an N-bit width at each of the M addresses and storing data;
A coding unit that performs coding for rearranging the bit of event data having a higher storage priority in the memory to the first bit side of the most significant bit side or the least significant bit side to generate the event code having the N-bit width. When,
In the first 0th cycle, the N-bit wide event codes that are sequentially generated are sequentially written into the N-bit wide storage area of the M addresses of the memory,
In the K-th cycle (K is an integer of 1 or more), the partial data of N / 2 K- bit width on the side of the first bit of the event code of N-bit width that is successively generated is given to each address. Of the N bit width of the storage area divided into 2 K pieces of the N / 2 K bit width of the first partial area on the side of the first bit from the second partial area (J is Overwrites partial areas of 1 or more and 2 K-1 or less) sequentially, and executes the overwrite round while increasing J from 1 to 2 K-1 ,
A data recording device, comprising: a memory controller that repeats the overwrite processing in the Kth cycle while increasing the K sequentially from 1 .
前記メモリコントローラは、
前記第のサイクルで、前記上書きのラウンドの少なくとも一部の上書きのラウンドにおいて、前記M個のアドレスのうち一部のアドレスを除く各アドレスにおける前記第2J番目の部分領域に順次上書きする、請求項1に記載のデータ記録装置。
The memory controller is
In the Kth cycle, in at least a part of the overwrite rounds of the overwrite round, the second Jth partial area at each address except some of the M addresses is sequentially overwritten. Item 1. The data recording device according to item 1.
前記メモリコントローラは、前記第のサイクルにおける前記上書きを、所定の条件が満たされるまで繰り返す、請求項1に記載のデータ記録装置。 The memory controller, the overwriting of cycles of the first K, repeated until a predetermined condition is satisfied, the data recording apparatus according to claim 1. 前記メモリコントローラは、前記第のサイクルにおける前記上書きを、前記N/2 ビット幅が基準値に達するまで繰り返す、請求項1に記載のデータ記録装置。 The memory controller, the overwriting of cycles of the first K, repeated until the N / 2 K-bit width reaches the reference value, the data recording apparatus according to claim 1. M個のアドレスそれぞれにNビット幅の記憶領域を有するメモリへのデータ記録方法であって、
測定対象から順次発生するイベントデータの前記メモリへの記憶優先度が高いビットほど最上位ビット側または最下位ビット側のうち第1ビット側に並べ替えする符号化を行い前記Nビット幅のイベント符号を生成し、
最初の第0のサイクルにおいて、順に生成される前記Nビット幅の前記イベント符号を前記メモリの前記M個のアドレスの前記Nビット幅の記憶領域に順次書き込み、
第Kのサイクル(Kは、1以上の整数)において、引き続き順に生成される前記Nビット幅の前記イベント符号のうちの前記第1ビット側のN/2 ビット幅の部分データを、各アドレスにおける前記Nビット幅の前記記憶領域を2 個に分割したN/2 ビット幅の部分領域のうちの前記第1ビット側の第1番目の部分領域から数えて第2J番目(Jは、1以上2 K-1 以下の整数)の部分領域に順次上書きしていき、当該上書きのラウンドを、Jを1から2 K-1 まで増加しながら実行し、
前記Kを1から順に増加しながら、前記第Kのサイクルの上書き処理を繰り返す、データ記録方法。
A method of recording data in a memory having an N-bit width storage area at each of M addresses,
The event code having the N-bit width is coded by rearranging the bit having the higher storage priority of the event data sequentially generated from the measurement object in the memory into the most significant bit side or the least significant bit side to the first bit side. Produces
In the first 0th cycle, the N-bit wide event codes generated in sequence are sequentially written into the N-bit wide storage area of the M addresses of the memory,
In the K-th cycle (K is an integer of 1 or more), the partial data of the N / 2 K- bit width on the first bit side of the event code of the N-bit width, which is successively generated, is assigned to each address. the 2J-th (J counted from the first partial region of the first bit side of the partial area of the storage area 2 K number the divided N / 2 K-bit width of the N-bit width in the The integers of 1 to 2 K-1 inclusive) are sequentially overwritten, and the overwriting round is executed while increasing J from 1 to 2 K-1 ,
A data recording method , wherein the Kth cycle is repeatedly incremented from 1 while repeating the Kth cycle overwrite process .
JP2016048501A 2016-03-11 2016-03-11 Data recording device and data recording method Expired - Fee Related JP6687837B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016048501A JP6687837B2 (en) 2016-03-11 2016-03-11 Data recording device and data recording method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016048501A JP6687837B2 (en) 2016-03-11 2016-03-11 Data recording device and data recording method

Publications (2)

Publication Number Publication Date
JP2017162376A JP2017162376A (en) 2017-09-14
JP6687837B2 true JP6687837B2 (en) 2020-04-28

Family

ID=59857946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016048501A Expired - Fee Related JP6687837B2 (en) 2016-03-11 2016-03-11 Data recording device and data recording method

Country Status (1)

Country Link
JP (1) JP6687837B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04359326A (en) * 1991-06-05 1992-12-11 Fujitsu Ltd History information recording system
US7886271B2 (en) * 2005-05-16 2011-02-08 Texas Instruments Incorporated Embedding event information in the timing stream
US7739668B2 (en) * 2005-05-16 2010-06-15 Texas Instruments Incorporated Method and system of profiling applications that use virtual memory
US8527958B2 (en) * 2005-05-16 2013-09-03 Texas Instruments Incorporated Profiling operating context and tracing program on a target processor
JP2008287423A (en) * 2007-05-16 2008-11-27 Sharp Corp History recording apparatus and electrical equipment
JP2011158966A (en) * 2010-01-29 2011-08-18 Fujitsu Frontech Ltd Apparatus, method and program for processing information
JP5977778B2 (en) * 2014-03-27 2016-08-24 京セラドキュメントソリューションズ株式会社 Information processing apparatus and memory management method

Also Published As

Publication number Publication date
JP2017162376A (en) 2017-09-14

Similar Documents

Publication Publication Date Title
US9111615B1 (en) RAM-based ternary content addressable memory
KR100187964B1 (en) Viterbi decoding method and Viterbi decoding device
EP0634839A1 (en) Data search device
CN113098525A (en) Hardware-friendly data compression method, system and device
CN109067405B (en) Data compression method, device, terminal and computer readable storage medium
KR20030009313A (en) Hardware implementation of a compression algorithm
KR102409615B1 (en) Method for min-max computation in associative memory
US20170168947A1 (en) Method of predicting a datum to be preloaded into a cache memory
US8332697B1 (en) Method and apparatus for triggering and capturing digital circuit signals
JP6687837B2 (en) Data recording device and data recording method
CN108062289B (en) Fast Fourier Transform (FFT) address order changing method, signal processing method and device
US20140317345A1 (en) Method and apparatus for an efficient hardware implementation of dictionary based lossless compression
US11381250B2 (en) Decode device
MXPA02009796A (en) Method and apparatus for efficiently reading and storing state metrics in memory for high speed acs viterbi decoder implementations.
US9858170B2 (en) Function-calling-information collection method and computer-readable recording medium
US20210082082A1 (en) Data processing method and processing circuit
WO2024066561A1 (en) Apparatus and method for searching for free memory and chip
JP3533339B2 (en) Decoding device, decoding method, and program recording medium
JP2005165502A (en) LUT encoding method, LUT encoding apparatus, and LUT cascade logic circuit
CN116894017B (en) A lossless data compression and decompression method
JPWO2005117272A1 (en) Viterbi decoding apparatus and Viterbi decoding method
US20070244889A1 (en) Byte string searching apparatus and searching method
Smrithi et al. A fast architecture for maximum/minimum data finder with address from a set of data
KR102800759B1 (en) Decompression apparatus and control method thereof
CN102025380B (en) Apparatus and method for generating address of second-order rearranged polynomial interleaver

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200316

R150 Certificate of patent or registration of utility model

Ref document number: 6687837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees