JP6927863B2 - Register optimizer and register optimization method - Google Patents

Register optimizer and register optimization method Download PDF

Info

Publication number
JP6927863B2
JP6927863B2 JP2017224516A JP2017224516A JP6927863B2 JP 6927863 B2 JP6927863 B2 JP 6927863B2 JP 2017224516 A JP2017224516 A JP 2017224516A JP 2017224516 A JP2017224516 A JP 2017224516A JP 6927863 B2 JP6927863 B2 JP 6927863B2
Authority
JP
Japan
Prior art keywords
register
unit
bit
factor
orthogonal array
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.)
Active
Application number
JP2017224516A
Other languages
Japanese (ja)
Other versions
JP2019096029A (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.)
Nippon Systemware Co Ltd
Original Assignee
Nippon Systemware Co 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 Nippon Systemware Co Ltd filed Critical Nippon Systemware Co Ltd
Priority to JP2017224516A priority Critical patent/JP6927863B2/en
Publication of JP2019096029A publication Critical patent/JP2019096029A/en
Application granted granted Critical
Publication of JP6927863B2 publication Critical patent/JP6927863B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、マイクロプロセッサ内部のレジスタの設定値を最適化するレジスタ最適化装置及びレジスタ最適化方法に関する。 The present invention relates to a register optimization device and a register optimization method for optimizing a set value of a register inside a microprocessor.

近年のシステム(組込みシステム)の開発プロセスにおいて、設計のモジュール化やモデルベース開発が進んでいる。従って、システムの開発の難易度が上がっている一方、比較的容易に設計が行えるようになってきている。しかしながら、システムの機能が増大し、ハードウェア・ソフトウェアで制御可能なレジスタは増大の一途をたどっている。その結果、設計や評価でレジスタの最適値を見つけるために多大なコストが必要となってきている。 In the system (embedded system) development process in recent years, design modularization and model-based development are progressing. Therefore, while the difficulty of system development is increasing, it is becoming relatively easy to design. However, as the functionality of the system increases, the number of registers that can be controlled by hardware and software continues to increase. As a result, a great deal of cost is required to find the optimum value of the register in design and evaluation.

一般に、ハードウェア・ソフトウェアのテストパターンの作成方法としては、オールペア法と直交表を用いる方法の2つの方法がある。オールペア法は、すべてのパラメータの組み合わせのテストパターンを作成し、そのテストパターンに基づいてテストを行う手法である。この場合、すべてのパラメータの組み合わせを網羅しようとするとテストパターンが膨大となってしまい、テスト時間も膨大な時間がかかってしまう。一方、直交表とは、任意の2因子について、その水準のすべての組み合わせが同数回ずつ現れるという特徴を持つ割り付け表である。この直交表を用いた方法では、パラメータの組み合わせ数を大幅に削減することができる。 In general, there are two methods for creating a hardware / software test pattern: an all-pair method and a method using an orthogonal array. The all-pair method is a method in which a test pattern for a combination of all parameters is created and a test is performed based on the test pattern. In this case, if an attempt is made to cover all combinations of parameters, the test pattern becomes enormous, and the test time also takes an enormous amount of time. On the other hand, the orthogonal array is an allocation table characterized in that all combinations of the levels appear the same number of times for any two factors. In the method using this orthogonal array, the number of parameter combinations can be significantly reduced.

例えば特許文献1には、試験対象(例えば、試験対象はデジタル回路のようなハードウェアでもよく、ソフトウェアでもよい)の因子間で取り得る値の組み合わせの網羅率が所定値となるように、テストパターンを生成し、テストパターンを試験対象に供給して試験を実行する試験装置、試験方法等が記載されている。網羅率が所定値となるような値の組み合わせを求める方法としては、直交表を用いたアルゴリズムが用いられる。 For example, in Patent Document 1, a test is performed so that the coverage rate of a combination of values that can be taken between factors of a test object (for example, the test object may be hardware such as a digital circuit or software) becomes a predetermined value. A test device, a test method, etc. that generate a pattern, supply the test pattern to the test object, and execute the test are described. An algorithm using an orthogonal array is used as a method of obtaining a combination of values such that the coverage rate becomes a predetermined value.

特開2015−121994公報JP 2015-121994

上述したように、特許文献1に記載された装置等は、直交表を用いて組み合わせのテストパターンの数を削減している。しかしながら、レジスタの設定値をテストする場合、テスト数(実験数)を削減したいという要望と、レジスタの数とレジスタのビット数はより多くテストしたいという要望があり、直交表を用いてテスト数を削減するだけでは不十分であり、改善の余地がある。 As described above, the apparatus and the like described in Patent Document 1 reduce the number of combination test patterns by using an orthogonal array. However, when testing register settings, there is a desire to reduce the number of tests (number of experiments) and a desire to test the number of registers and the number of bits of registers more, so the number of tests is calculated using an orthogonal array. Reduction alone is not enough and there is room for improvement.

本発明は、前述した事情に鑑みてなされたものであり、テスト数を削減することができるとともに、より多くのレジスタ及びレジスタのビット数をテストすることができるレジスタ最適化装置及びレジスタ最適化方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, and is a register optimization device and a register optimization method capable of reducing the number of tests and testing a larger number of registers and the number of bits of the registers. The purpose is to provide.

上記目的を達成するために、本発明では、システムのマイクロプロセッサ内部のレジスタの設定値を最適化するレジスタ最適化装置であって、システムの機能に関連しているレジスタを抽出するレジスタ抽出部と、レジスタ抽出部で抽出されたレジスタにおける所定ビット数を1つの単位とする所定単位ビットのうちの少なくとも1つのビットを抽出し、ビットを1因子に割り当てて、任意の2因子間の全水準の組み合わせが現れる直交表を作成する第1直交表作成部と、直交表の組み合わせに対してテストを実行する第1テスト実行部と、第1テスト実行部のテスト結果に基づき、システムの動作に影響している因子を特定する第1因子特定部と、第1因子特定部で特定した因子を含む所定単位ビット内のビットを1因子に割り当てて直交表を作成する第2直交表作成部と、直交表の組み合わせに対して再度テストを実行する第2テスト実行部と、第2テスト実行部のテスト結果に基づき、システムの動作に影響している要因のビットを特定する第2因子特定部と、第2因子特定部で特定されたビットの設定値を変更する設定部と、設定部で設定されたビットの設定値が規格値の範囲に入っているか否か判定する判定部と、を備え、判定部がビットの設定値が規格値の範囲に入っていないと判定した場合、第1直交表作成部、第1テスト実行部、第1因子特定部、第2直交表作成部、第2テスト実行部、第2因子特定部、及び設定部は、それぞれ、処理を実行することを特徴とするレジスタ最適化装置を提供する。 In order to achieve the above object, the present invention is a register optimization device that optimizes the set value of a register inside the microprocessor of the system, and a register extraction unit that extracts registers related to the function of the system. , At least one of the predetermined unit bits having a predetermined number of bits in the register extracted by the register extraction unit as one unit is extracted, and the bits are assigned to one factor to determine the level of all levels between any two factors. The system operation is affected based on the test results of the first orthogonal table creation unit that creates the orthogonal table in which the combination appears, the first test execution unit that executes the test for the combination of the orthogonal tables, and the first test execution unit. A first factor specifying unit that specifies the factors that are specified, a second orthogonal table creating unit that creates an orthogonal table by allocating bits in a predetermined unit bit including the factor specified by the first factor specifying unit to one factor, and The second test execution unit that executes the test again for the combination of the orthogonal tables, and the second factor identification unit that identifies the bits of the factors affecting the operation of the system based on the test results of the second test execution unit. , A setting unit for changing the set value of the bit specified by the second factor specifying unit, and a determining unit for determining whether or not the set value of the bit set in the setting unit is within the standard value range are provided. , When the determination unit determines that the bit setting value is not within the standard value range, the first orthogonal table creation unit, the first test execution unit, the first factor identification unit, the second orthogonal table creation unit, and the second The test execution unit, the second factor identification unit, and the setting unit each provide a register optimization device characterized by executing processing.

また、第1直交表作成部は、範囲指定のないレジスタについては該レジスタの該当ビットを1因子に割り当て、範囲指定のあるレジスタについては該レジスタの所定単位ビットのうちのビットを1因子に割り当てて直交表を作成する構成でもよい。 In addition, the first orthogonal array creation unit allocates the corresponding bit of the register to one factor for a register without a range specification, and allocates a bit of the predetermined unit bits of the register to one factor for a register with a range specification. It may be configured to create an orthogonal array.

また、所定単位ビットは、4ビット、1バイト、又は1ワードであってもよい。 Further, the predetermined unit bit may be 4 bits, 1 byte, or 1 word.

また、システムの仕様書に基づき、開発中のシステムの機能を抽出する機能抽出部を備え、レジスタ抽出部は、機能抽出部で抽出されたシステムの機能に関連しているレジスタを抽出する構成でもよい。 In addition, it is equipped with a function extraction unit that extracts the functions of the system under development based on the system specifications, and the register extraction unit is also configured to extract the registers related to the system functions extracted by the function extraction unit. good.

また、本発明では、システムのマイクロプロセッサ内部のレジスタの設定値を最適化するレジスタ最適化方法であって、システムの機能に関連しているレジスタを抽出するレジスタ抽出ステップと、レジスタ抽出ステップで抽出されたレジスタにおける所定ビット数を1つの単位とする所定単位ビットのうちの少なくとも1つのビットを抽出し、ビットを1因子に割り当てて、任意の2因子間の全水準の組み合わせが現れる直交表を作成する第1直交表作成ステップと、直交表の組み合わせに対してテストを実行する第1テスト実行ステップと、第1テスト実行ステップのテスト結果に基づき、システムの動作に影響している因子を特定する第1因子特定ステップと、第1因子特定ステップで特定した因子を含む所定単位ビット内のビットを1因子に割り当てて直交表を作成する第2直交表作成ステップと、直交表の組み合わせに対して再度テストを実行する第2テスト実行ステップと、第2テスト実行ステップのテスト結果に基づき、システムの動作に影響している要因のビットを特定する第2因子特定ステップと、第2因子特定ステップで特定されたビットの設定値を変更する設定ステップと、設定ステップで設定されたビットの設定値が規格値の範囲に入っているか否か判定する判定ステップと、を備え、判定ステップでビットの設定値が規格値の範囲に入っていないと判定した場合、第1直交表作成ステップ、第1テスト実行ステップ、第1因子特定ステップ、第2直交表作成ステップ、第2テスト実行ステップ、第2因子特定ステップ、及び設定ステップの処理を実行することを特徴とするレジスタ最適化方法を提供する。 Further, the present invention is a register optimization method for optimizing the set value of a register inside a system microprocessor, which is extracted by a register extraction step for extracting registers related to a system function and a register extraction step. Extract at least one bit of a predetermined unit bit having a predetermined number of bits in a register as one unit, assign the bit to one factor, and create an orthogonal table in which all level combinations between any two factors appear. Identify the factors that influence the operation of the system based on the test results of the first orthogonal table creation step to be created, the first test execution step that executes the test for the combination of the orthogonal tables, and the first test execution step. For the combination of the first factor identification step, the second orthogonal table creation step of allocating the bits in the predetermined unit bit including the factor specified in the first factor identification step to one factor to create an orthogonal table, and the orthogonal table. Based on the test results of the second test execution step and the second test execution step , the second factor identification step and the second factor identification step of identifying the bits of the factors affecting the operation of the system are performed. A setting step for changing the bit setting value specified in step 1 and a determination step for determining whether or not the bit setting value set in the setting step is within the standard value range are provided, and the bit setting value is determined in the determination step. When it is determined that the set value is not within the standard value range, the first orthogonal table creation step, the first test execution step, the first factor identification step, the second orthogonal table creation step, the second test execution step, and the second Provided is a register optimization method characterized by executing the processing of a factor identification step and a setting step.

また、第1直交表作成ステップにおいて、範囲指定のないレジスタについては該レジスタの該当ビットを1因子に割り当て、範囲指定のあるレジスタについては該レジスタの所定単位ビットのうちのビットを1因子に割り当てて直交表を作成する構成でもよい。 Further, in the first orthogonal array creation step, for a register without a range specification, the corresponding bit of the register is assigned to one factor, and for a register with a range specification, a bit out of a predetermined unit bit of the register is assigned to one factor. It may be configured to create an orthogonal array.

また、所定単位ビットは、4ビット、1バイト、又は1ワードであってもよい。 Further, the predetermined unit bit may be 4 bits, 1 byte, or 1 word.

また、システムの仕様書に基づき、開発中のシステムの機能を抽出する機能抽出ステップを備え、レジスタ抽出ステップにおいて、機能抽出ステップで抽出されたシステムの機能に関連しているレジスタを抽出する構成でもよい。 In addition, a function extraction step for extracting the functions of the system under development is provided based on the system specifications, and in the register extraction step, the registers related to the system functions extracted in the function extraction step are extracted. good.

本発明によれば、テスト数を削減することができるとともに、より多くのレジスタ及びレジスタのビット数をテストすることができる。 According to the present invention, the number of tests can be reduced, and more registers and the number of bits of the registers can be tested.

本発明の実施形態に係るレジスタ最適化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the register optimization apparatus which concerns on embodiment of this invention. テスト対象のシステムの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the system to be tested. 本発明の実施形態に係るレジスタ最適化方法の処理を示すフローチャートである。It is a flowchart which shows the process of the register optimization method which concerns on embodiment of this invention. 図3に示すレジスタ最適化方法の第1直交表作成処理を示すフローチャートである。It is a flowchart which shows the 1st orthogonal array creation process of the register optimization method shown in FIG. 図3に示すレジスタ最適化方法の第2直交表作成処理を示すフローチャートである。It is a flowchart which shows the 2nd orthogonal array creation process of the register optimization method shown in FIG. 直交表における因子と水準の割付を示す図である。It is a figure which shows the allocation of a factor and a level in an orthogonal array. 直交表に割り付けるレジスタのビット位置を示す図である。It is a figure which shows the bit position of the register assigned to the orthogonal array. 直交表の例を示す図である。It is a figure which shows the example of the orthogonal array. 直交表に割り当てるレジスタA,B,Cの例を示す図である。It is a figure which shows the example of the register A, B, C assigned to an orthogonal array. 第1直交表とレジスタ展開の具体例を示す図である。It is a figure which shows the 1st orthogonal array and the concrete example of a register expansion. 第2直交表の具体例を示す図である。It is a figure which shows the specific example of the 2nd orthogonal array. レジスタ最適化結果の具体例を示す図である。It is a figure which shows the specific example of a register optimization result.

以下、本発明の実施形態について図面を参照して説明する。ただし、本発明はこれに限定されるものではない。また、図面においては、実施形態を説明するため、一部分を大きくまたは強調して記載するなど適宜縮尺を変更して表現することがある。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to this. Further, in the drawings, in order to explain the embodiment, the scale may be changed as appropriate, such as drawing a part in a large or emphasized manner.

図1は、本発明の実施形態に係るレジスタ最適化装置1の構成を示すブロック図である。図1に示すレジスタ最適化装置1は、システム(例えば組込みシステム)のマイクロプロセッサ内部のレジスタの値(パラメータ)を最適化する装置である。ここで、テスト対象のシステムとしては、例えば、様々なデバイスを組み合わせて構成されたシステムを想定している。最適化とは、システムとして各デバイスなどが正常に動作するようにレジスタの値を適切な値に設定することをいう。 FIG. 1 is a block diagram showing a configuration of a register optimization device 1 according to an embodiment of the present invention. The register optimization device 1 shown in FIG. 1 is a device that optimizes the value (parameter) of a register inside a microprocessor of a system (for example, an embedded system). Here, as the system to be tested, for example, a system configured by combining various devices is assumed. Optimization means setting the register value to an appropriate value so that each device or the like operates normally as a system.

ハードウェアであるマイクロプロセッサを制御するシステムの場合、例えば、レジスタの値が所定の範囲になったときに指令を出す、というようなレジスタの範囲の設定などを行う必要がある。この場合、膨大な数のレジスタの組み合わせがあり、各々のレジスタの最適値を見つけるためには膨大な時間がかかってしまう。そこで、本実施形態では、直交表を用いて不具合のあるレジスタ(設定値として適切な値が設定されていないレジスタ)を効率よく発見する方法を提案する。 In the case of a system that controls a microprocessor that is hardware, it is necessary to set the register range, for example, to issue a command when the register value reaches a predetermined range. In this case, there are a huge number of register combinations, and it takes a huge amount of time to find the optimum value of each register. Therefore, in the present embodiment, we propose a method for efficiently finding a defective register (a register in which an appropriate value is not set as a set value) using an orthogonal array.

図2は、テスト対象(試験対象)のシステム100の構成例を示すブロック図である。図2に示すシステム100は、デバイス等の動作に必要な機能のすべてを1つの半導体チップに実装するSoC(System On a Chip)化されたシステムである。レジスタ最適化装置1は、例えば図2に示すようなシステム100のレジスタの値を最適化する装置である。なお、システム100は一例であって、レジスタ最適化装置1によるレジスタの最適化の対象となるシステムは図2に示したものに限定されない。例えば、組み込みボードにおけるデバイス間のレジスタ設定も対象となる。 FIG. 2 is a block diagram showing a configuration example of the system 100 to be tested (test target). The system 100 shown in FIG. 2 is a SoC (System On a Chip) system in which all the functions necessary for the operation of a device or the like are mounted on one semiconductor chip. The register optimization device 1 is a device that optimizes the register value of the system 100 as shown in FIG. 2, for example. The system 100 is an example, and the system to be optimized for the register by the register optimization device 1 is not limited to the system shown in FIG. For example, register setting between devices in an embedded board is also targeted.

図1の説明に戻り、レジスタ最適化装置1は、例えば、CPU(Central Processing Unit)を有するコンピュータ(例えばパーソナルコンピュータ)などで実現される。このレジスタ最適化装置1は、図1に示すように、機能特定部11、レジスタ抽出部12、直交表作成部13(第1直交表作成部、第2直交表作成部)、テスト実行部14(第1テスト実行部、第2テスト実行部)、因子特定部15(第1因子特定部、第2因子特定部)、設定部16、及び記憶部20を有している。なお、レジスタ最適化装置1における機能特定部11、レジスタ抽出部12、直交表作成部13、テスト実行部14、因子特定部15、及び設定部16は、CPUがプログラムに基づいて実行する制御・処理に相当する。 Returning to the description of FIG. 1, the register optimization device 1 is realized by, for example, a computer having a CPU (Central Processing Unit) (for example, a personal computer). As shown in FIG. 1, the register optimization device 1 includes a function identification unit 11, a register extraction unit 12, an orthogonal array creation unit 13 (first orthogonal array creation unit, second orthogonal array creation unit), and a test execution unit 14. It has (first test execution unit, second test execution unit), factor identification unit 15 (first factor identification unit, second factor identification unit), setting unit 16, and storage unit 20. The function specifying unit 11, the register extraction unit 12, the orthogonal array creation unit 13, the test execution unit 14, the factor identification unit 15, and the setting unit 16 in the register optimization device 1 are controlled by the CPU based on a program. Corresponds to processing.

機能特定部11は、システムの仕様書に基づいて開発中のシステムの機能を抽出する処理部である。レジスタ抽出部12は、機能特定部11が抽出した機能に関連しているレジスタを抽出する処理部である。直交表作成部13は、レジスタ抽出部12が抽出したレジスタの所定ビットを1因子とし、水準を2とした直交表を作成する処理部である。具体的には、直交表作成部13は、レジスタ抽出部12で抽出されたレジスタにおける所定ビット数を1つの単位とする所定単位ビット(例えば、4ビット、1バイト(8ビット)、1ワード(32ビット))のうちの少なくとも1つのビットを抽出し、抽出したビットを1因子に割り当て、水準を2とした直交表(第1直交表)を作成する。このような処理を行う直交表作成部13を第1直交表作成部という。また、直交表作成部13は、後述する因子特定部15で特定した因子を含む所定単位ビット内の各ビットを1因子に割り当て、水準を2とした直交表(第2直交表)を作成する。このような処理を行う直交表作成部13を第2直交表作成部という。 The function specifying unit 11 is a processing unit that extracts the functions of the system under development based on the system specifications. The register extraction unit 12 is a processing unit that extracts registers related to the function extracted by the function specifying unit 11. The orthogonal array creation unit 13 is a processing unit that creates an orthogonal array with a predetermined bit of the register extracted by the register extraction unit 12 as one factor and a level of 2. Specifically, the orthogonal table creation unit 13 has a predetermined unit bit (for example, 4 bits, 1 byte (8 bits)) and 1 word (for example, 4 bits, 1 byte (8 bits)) having a predetermined number of bits in the register extracted by the register extraction unit 12 as one unit. At least one bit out of 32 bits)) is extracted, the extracted bits are assigned to one factor, and an orthogonal table (first orthogonal table) having a level of 2 is created. The orthogonal array creation unit 13 that performs such processing is referred to as a first orthogonal array creation unit. Further, the orthogonal array creation unit 13 allocates each bit in a predetermined unit bit including the factor specified by the factor identification unit 15 described later to one factor, and creates an orthogonal array (second orthogonal array) having a level of 2. .. The orthogonal array creation unit 13 that performs such processing is referred to as a second orthogonal array creation unit.

テスト実行部14は、直交表作成部13が作成した直交表の組み合わせ(テストパターン)に対してテストを実行する処理部である。第1直交表作成部が作成した第1直交表の組み合わせに対してテストを実行するテスト実行部14を第1テスト実行部といい、第2直交表作成部が作成した第2直交表の組み合わせに対してテストを実行するテスト実行部14を第2テスト実行部という。 The test execution unit 14 is a processing unit that executes a test on a combination (test pattern) of orthogonal arrays created by the orthogonal array creation unit 13. The test execution unit 14 that executes a test on the combination of the first orthogonal array created by the first orthogonal array creation unit is called the first test execution unit, and the combination of the second orthogonal array created by the second orthogonal array creation unit. The test execution unit 14 that executes a test on the subject is referred to as a second test execution unit.

因子特定部15は、テスト実行部14のテスト結果に基づき、システムの動作に影響している因子を特定する処理部である。第1テスト実行部のテスト結果に基づき、システムの動作に影響している因子を特定する因子特定部15を第1因子特定部といい、第2テスト実行部のテスト結果に基づき、システムの動作に影響している因子を特定する因子特定部15を第2因子特定部という。設定部16は、レジスタの値を設定し、また因子特定部15で特定されたレジスタの値を変更する処理部である。判定部17は、設定部16で設定されたレジスタの値が規定値の範囲に入っているか否か判定する処理部である。 The factor identification unit 15 is a processing unit that identifies factors affecting the operation of the system based on the test results of the test execution unit 14. The factor identification unit 15 that identifies the factors affecting the operation of the system based on the test results of the first test execution unit is called the first factor identification unit, and the system operation is based on the test results of the second test execution unit. The factor identification unit 15 that identifies the factors that influence the factors is called the second factor identification unit. The setting unit 16 is a processing unit that sets the value of the register and changes the value of the register specified by the factor specifying unit 15. The determination unit 17 is a processing unit that determines whether or not the register value set by the setting unit 16 is within the range of the specified value.

記憶部20は、各種情報を記憶するメモリなどの装置である。記憶部20に記憶される情報としては、システムの仕様書の情報(開発中の機能、機能に関連しているレジスタの情報などを含む)、レジスタ最適化装置1を制御するためのプログラムなどを含む。また、記憶部20に記憶される情報としては、機能特定部11が抽出した機能、レジスタ抽出部12が抽出したレジスタ、直交表作成部13が作成した直交表、テスト実行部14によるテストの実行結果、因子特定部15が特定した因子の情報なども含む。 The storage unit 20 is a device such as a memory that stores various types of information. The information stored in the storage unit 20 includes information in the system specifications (including information on the function under development and registers related to the function), a program for controlling the register optimization device 1, and the like. include. The information stored in the storage unit 20 includes a function extracted by the function specifying unit 11, a register extracted by the register extraction unit 12, an orthogonal array created by the orthogonal array creation unit 13, and a test execution by the test execution unit 14. As a result, the information of the factor specified by the factor specifying unit 15 is also included.

レジスタ最適化装置1は、通常のシステムの開発業務で発生するデバイス間やデバイス内におけるレジスタの設定値を決定する工程で利用される。すなわち、システムの開発では、システムの方向性、システム化計画、要件定義、システム要件定義、ソフトウェア要件定義、プログラミング、ソフトウェア適格性確認テスト、システム適格性確認テスト、要求テスト、評価などの順で行われる。レジスタ最適化装置1は、例えばソフトウェア要件定義(設計の段階)及びソフトウェア適格性確認テスト(テストの段階)の工程で利用される。 The register optimization device 1 is used in a process of determining a register setting value between devices or within a device, which occurs in a normal system development work. In other words, in system development, system direction, systemization plan, requirements definition, system requirements definition, software requirements definition, programming, software qualification test, system qualification test, requirements test, evaluation, etc. are performed in this order. It is said. The register optimization device 1 is used, for example, in the steps of software requirement definition (design stage) and software qualification test (test stage).

次に、図3〜図12を参照して、レジスタ最適化装置1の動作(レジスタ最適化方法)について説明する。 Next, the operation of the register optimization device 1 (register optimization method) will be described with reference to FIGS. 3 to 12.

図3は、本発明の実施形態に係るレジスタ最適化方法の処理を示すフローチャートである。図4は、図3に示すレジスタ最適化方法の第1直交表作成処理(ステップS3)を示すフローチャートである。図5は、図3に示すレジスタ最適化方法の第2直交表作成処理(ステップS6)を示すフローチャートである。 FIG. 3 is a flowchart showing the processing of the register optimization method according to the embodiment of the present invention. FIG. 4 is a flowchart showing the first orthogonal array creation process (step S3) of the register optimization method shown in FIG. FIG. 5 is a flowchart showing a second orthogonal array creation process (step S6) of the register optimization method shown in FIG.

図3に示す処理において、レジスタ最適化装置1の機能特定部11は、システムの仕様書に基づいて開発中のシステムの機能・条件を自動的に抽出する(ステップS1)。機能特定部11により抽出される機能・条件は、システムの環境(温度など)、動作モード、ハードウェア構成などにより決定される。なお、本実施形態では、機能特定部11がシステムの仕様書に基づいて開発中のシステムの機能・条件を自動的に抽出する構成としていたが、開発者がシステムの仕様書に基づいて手動で開発中のシステムの機能・条件を抽出してもよい。 In the process shown in FIG. 3, the function specifying unit 11 of the register optimization device 1 automatically extracts the functions and conditions of the system under development based on the system specifications (step S1). The functions / conditions extracted by the function specifying unit 11 are determined by the system environment (temperature, etc.), operation mode, hardware configuration, and the like. In the present embodiment, the function specifying unit 11 is configured to automatically extract the functions / conditions of the system under development based on the system specifications, but the developer manually extracts the functions / conditions based on the system specifications. The functions and conditions of the system under development may be extracted.

次に、レジスタ抽出部12は、システムの仕様書に基づいて、機能特定部11が抽出した機能に関連しているレジスタや、機能特定部11が抽出した機能のうちの所定の条件に関連するレジスタを抽出する(ステップS2)。そして、直交表作成部13は、レジスタ抽出部12で抽出されたレジスタの所定単位ビットのうちの所定ビットを抽出し、所定ビットを1因子に割り当てて直交表(第1直交表)を作成する(ステップS3)。 Next, the register extraction unit 12 is related to a predetermined condition among the registers related to the functions extracted by the function specifying unit 11 and the functions extracted by the function specifying unit 11 based on the system specifications. Extract the register (step S2). Then, the orthogonal array creation unit 13 extracts a predetermined bit from the predetermined unit bits of the register extracted by the register extraction unit 12, allocates the predetermined bit to one factor, and creates an orthogonal array (first orthogonal array). (Step S3).

図6は、直交表における因子と水準の割付を示す図である。直交表とは、任意の2因子(列)について、その水準のすべての組み合わせが同回数ずつ現れる性質を持つテスト(実験)のための割付表である。一般に、多元配置のテストでは、少なくとも因子の水準数の積だけテスト数が必要となり、因子数が多くなるとテスト数は膨大な数になってしまう。求める相互作用が少なければ、直交表を用いることによって、多くの因子に関するテストを比較的少ない回数で行うことができる。 FIG. 6 is a diagram showing the allocation of factors and levels in an orthogonal array. The orthogonal array is an allocation table for a test (experiment) in which all combinations of the levels appear the same number of times for any two factors (columns). In general, in a multi-dimensional test, the number of tests is required at least by the product of the number of levels of factors, and the number of tests becomes enormous as the number of factors increases. If the required interaction is small, the orthogonal array can be used to test many factors in a relatively small number of times.

図6に示すように、直交表における因子(パラメータ)として、レジスタ抽出部12で抽出された、システムやデバイスに実装される機能・条件(図6に示す例では機能A)に関連するレジスタ(図6に示す例ではレジスタA,B,C・・・)に含まれるビット(Bit)が割り付け(割り当て)られる。また、直交表における水準(パラメータへの設定値)は0又は1の「2」である。直交表の行は、テストNo.(テスト回数、組み合わせ数)である。直交表は直交表作成部13により機能・条件ごとに作成される。例えば、機能Aに関連するレジスタがレジスタA,B,Cである場合、それらレジスタA,B,Cに含まれるビットが因子として割り付けられ、機能Bに関連するレジスタがレジスタC,D,Eの場合、それらレジスタC,D,Eに含まれるビットが因子として割り付けられる。 As shown in FIG. 6, as a factor (parameter) in the orthogonal array, a register (function A in the example shown in FIG. 6) extracted by the register extraction unit 12 and related to a function / condition implemented in a system or device (function A in the example shown in FIG. 6). In the example shown in FIG. 6, the bits (Bits) included in the registers A, B, C ...) Are allocated (allocated). The level (set value for the parameter) in the orthogonal array is 0 or 1 of "2". The rows of the orthogonal array are the test numbers. (Number of tests, number of combinations). The orthogonal array is created by the orthogonal array creation unit 13 for each function / condition. For example, when the registers related to function A are registers A, B, C, the bits contained in those registers A, B, C are allocated as factors, and the registers related to function B are registers C, D, E. In this case, the bits contained in those registers C, D, and E are allocated as factors.

直交表の大きさ(サイズ)は、テストしたい項目(因子)の数と種類、テスト時間、費用などの関係から決定される。また、直交表の大きさ=Σ(因子の水準+1)+1の式からも算出することが可能である。直交表は大きくなるほど、テストに要する工数が増えるだけでなく、最適値を導くまでの時間が長くなるが、テストの精度は向上する。これらの工数と精度を考慮した上で直交表の大きさが決定される。 The size of the orthogonal array is determined from the relationship between the number and type of items (factors) to be tested, test time, cost, and so on. It can also be calculated from the formula of orthogonal array size = Σ (factor level + 1) + 1. The larger the orthogonal array, the longer the man-hours required for the test, and the longer it takes to derive the optimum value, but the accuracy of the test improves. The size of the orthogonal array is determined in consideration of these man-hours and accuracy.

図7は、直交表に割り付けるレジスタのビット位置を示す図である。図7に示すレジスタは24ビット(0ビット目、1ビット目、2ビット目、・・・、23ビット目)のレジスタである。直交表に割り付けるレジスタのビットは漸化式の差分数列型の算術数列A.P(Arithmetic Progression)を用いて行う。すなわち、直交表作成部13は算出数列an=a+(n−1)d によってレジスタのビットの位置を指定する。図7に示す例では、aは0,1,2,3、nは1,2,3,4,5、dは4である。この場合、レジスタの24ビットは、4ビットごとの単位に分けられる。すなわち、24ビットは、「0,1,2,3」「4,5,6,7」「8,9,10,11」「12,13,14,15」「16,17,18,19」「20,21,22,23」に分けられる。4ビットの単位が所定単位ビットである。所定単位ビットは、dの値に応じて変更される。例えば、dが8の場合は、レジスタの24ビットは、8ビットごとの単位、すなわち、「0,1,2,3,4,5,6,7」「8,9,10,11,12,13,14,15」「16,17,18,19,20,21,22,23」に分けられる。 FIG. 7 is a diagram showing bit positions of registers assigned to the orthogonal array. The register shown in FIG. 7 is a 24-bit register (0th bit, 1st bit, 2nd bit, ..., 23rd bit). The bits of the register assigned to the orthogonal array are the recurrence formula difference sequence type arithmetic progression A. It is performed using P (Arithmetic Progression). That is, the orthogonal array creation unit 13 specifies the position of the register bit by the calculated sequence an = a + (n-1) d. In the example shown in FIG. 7, a is 0,1,2,3, n is 1,2,3,4,5, and d is 4. In this case, the 24 bits of the register are divided into units of 4 bits. That is, the 24 bits are "0,1,2,3", "4,5,6,7", "8,9,10,11", "12,13,14,15", "16,17,18,19". It is divided into "20,21,22,23". The unit of 4 bits is a predetermined unit bit. The predetermined unit bit is changed according to the value of d. For example, when d is 8, the 24-bit register is a unit of 8 bits, that is, "0,1,2,3,4,5,6,7", "8,9,10,11,12". , 13, 14, 15 ”and“ 16, 17, 18, 19, 20, 21, 22, 23 ”.

図8は、直交表の例を示す図である。図8(a)は2水準L8の直交表であり、図8(b)は2水準L16の直交表である。このように直交表の大きさによって、各因子(各パラメータ)に割り当てられる値(水準)及びテストの実行回数は予め定められる。 FIG. 8 is a diagram showing an example of an orthogonal array. FIG. 8A is an orthogonal array of two levels L8, and FIG. 8B is an orthogonal array of two levels L16. In this way, the value (level) assigned to each factor (each parameter) and the number of test executions are predetermined according to the size of the orthogonal array.

次に、図4を参照して図3のステップS3の処理(第1直交表作成処理)の内容について説明する。図4に示すように、第1直交表作成処理(ステップS3)において、直交表作成部13は、レジスタ抽出部12で抽出されたレジスタ(機能・条件に関連するレジスタ)が範囲指定のあるレジスタか否か判定する(ステップS3A)。ここで、指定範囲のないレジスタとは、イネーブルビットやアクティベートビットなどが設定されるレジスタである。イネーブルビットは、イネーブルのレジスタに固まっており、範囲指定はなく、このビットがたったら機能が動き出すというビットである。指定範囲のあるレジスタは、レジスタの各ビット(16ビット、24ビット、32ビット、64ビットのレジスタの各ビット)のうち、指定範囲のビットに値が設定されるレジスタである。直交表作成部13は、範囲指定のあるレジスタでないと判定した場合(つまり、範囲指定のないレジスタであると判定した場合)(ステップS3AのNO)、レジスタの該当ビット(イネーブルビットなど)を1因子に割り当てる(ステップS3B)。一方、直交表作成部13は、範囲指定のあるレジスタであると判定した場合(ステップS3AのYES)、レジスタの指定範囲内の所定単位ビットのうちの所定ビットを1因子に割り当てる(ステップS3C)。 Next, the contents of the process (first orthogonal array creation process) of step S3 of FIG. 3 will be described with reference to FIG. As shown in FIG. 4, in the first orthogonal array creation process (step S3), the orthogonal array creation unit 13 is a register in which the register (register related to the function / condition) extracted by the register extraction unit 12 has a range designation. Whether or not it is determined (step S3A). Here, the register having no specified range is a register in which the enable bit, the activate bit, and the like are set. The enable bit is a bit that is fixed in the enable register, there is no range specification, and the function starts when this bit is reached. A register having a specified range is a register in which a value is set in each bit of the specified range among each bit of the register (each bit of a 16-bit, 24-bit, 32-bit, or 64-bit register). When the orthogonal array creation unit 13 determines that the register does not have a range specification (that is, determines that the register does not have a range specification) (NO in step S3A), the corresponding bit (enable bit, etc.) of the register is set to 1. Assign to a factor (step S3B). On the other hand, when the orthogonal array creation unit 13 determines that the register has a range designation (YES in step S3A), the orthogonal array creation unit 13 allocates a predetermined bit among the predetermined unit bits within the designated range of the register to one factor (step S3C). ..

図9は、直交表に割り当てるレジスタA,B,Cの例を示す図である。図9に示すレジスタA、レジスタB及びレジスタCは、システムの機能・条件Aに関連しているレジスタであるものとする。レジスタAはイネーブルビットが設定されたレジスタ、すなわち指定範囲のないレジスタである。レジスタAの「EN」がイネーブルビット(Enable bit)を示している。レジスタB及びレジスタCは、指定範囲(0ビット目〜7ビット目)のあるレジスタである。レジスタB及びレジスタCは、所定単位ビットを4ビットとしている。すなわち、レジスタB及びレジスタCは、0ビット目から3ビット目の4ビットを所定単位ビットとし、4ビット目から7ビット目の4ビットを所定単位ビットとしている。レジスタB及びレジスタCは、初期値として、All0(すべてのビットの値が0)、All1(すべてのビットの値が1)、所定単位ビットの値が16進数の5h(4ビットの値が2進数「0101」)、又は所定単位ビットの値が16進数のAh(4ビットの値が2進数の「1010」)となっている。 FIG. 9 is a diagram showing an example of registers A, B, and C assigned to the orthogonal array. It is assumed that the registers A, B and C shown in FIG. 9 are registers related to the function / condition A of the system. Register A is a register in which the enable bit is set, that is, a register having no specified range. “EN” in register A indicates an enable bit. Register B and register C are registers having a specified range (0th to 7th bits). The register B and the register C have a predetermined unit bit of 4 bits. That is, in the register B and the register C, the 4 bits from the 0th bit to the 3rd bit are set as predetermined unit bits, and the 4 bits from the 4th bit to the 7th bit are set as predetermined unit bits. The initial values of register B and register C are All0 (all bit values are 0), All1 (all bit values are 1), and the predetermined unit bit value is hexadecimal 5h (4-bit value is 2). The base number "0101") or the value of the predetermined unit bit is the hexadecimal number Ah (the 4-bit value is the binary number "1010").

図9において、〇が付されているビットが直交表に割り付けられるビットである。また、×が付されているビットが直交表に割り付けられないビットである。レジスタAの場合、0ビット目(イネーブルビット)が直交表に割り付けられる。レジスタBの場合、3ビット目と7ビット目(所定単位ビットの所定ビット)が直交表に割り付けられる。レジスタCの場合も、3ビット目と7ビット目(所定単位ビットの所定ビット)が直交表に割り付けられる。レジスタB,Cにおいて割り付けられるビットは、図7で説明した算術数列によって指定されたビットである。 In FIG. 9, the bits marked with ◯ are the bits assigned to the orthogonal array. In addition, the bits marked with x are bits that cannot be assigned to the orthogonal array. In the case of register A, the 0th bit (enable bit) is assigned to the orthogonal array. In the case of register B, the 3rd bit and the 7th bit (predetermined bit of the predetermined unit bit) are assigned to the orthogonal array. In the case of register C as well, the 3rd bit and the 7th bit (predetermined bit of the predetermined unit bit) are assigned to the orthogonal array. The bits assigned in the registers B and C are the bits specified by the arithmetic progression described in FIG. 7.

図10は、第1直交表とレジスタ展開の具体例を示す図である。図10の左上図に示す直交表(第1直交表)は、条件Aに関連するレジスタA,B,Cのビットが割り当てられた直交表である。直交表作成部13は、レジスタAの0ビット目(イネーブルビット)、レジスタBの3ビット目(図10のB0)と7ビット目(図10のB1)、及びレジスタCの3ビット目(図10のC0)と7ビット目(図10のC1)を直交表に割り当て、水準を2とした第1直交表を作成する。この第1直交表は、2水準L8の直交表であり、テストがNo.0〜No.7まで実行される。 FIG. 10 is a diagram showing a first orthogonal array and a specific example of register expansion. The orthogonal array (first orthogonal array) shown in the upper left figure of FIG. 10 is an orthogonal array to which the bits of the registers A, B, and C related to the condition A are assigned. The orthogonal array creation unit 13 includes the 0th bit (enable bit) of the register A, the 3rd bit (B0 in FIG. 10) and the 7th bit (B1 in FIG. 10) of the register B, and the 3rd bit of the register C (FIG. 10). 10 C0) and the 7th bit (C1 in FIG. 10) are assigned to the orthogonal array to create a first orthogonal array with a level of 2. This first orthogonal array is a two-level L8 orthogonal array, and the test is No. 0-No. It is executed up to 7.

図3の説明に戻り、テスト実行部14は、直交表作成部13が作成した第1直交表の組み合わせ(図10の第1直交表のNo.0〜No.7)に対してテストを実行する(ステップS4)。そのテストの結果が特性値として出力される。パラメータ設計においては機能品質を合理的に表現する特性値が必要である。特性値出力判定は、図10の右上図に示すように、二重丸が100%の特性値であり、丸(〇)が90%の特性値であり、三角(△)が80%の特性値であり、四角(□)が50%の特性値であり、四角(◇)が30%の特性値であり、バツ(×)が0%の特性値である。上記の例では、特性値が大きいほど良い特性である。 Returning to the explanation of FIG. 3, the test execution unit 14 executes the test on the combination of the first orthogonal array created by the orthogonal array creation unit 13 (No. 0 to No. 7 of the first orthogonal array in FIG. 10). (Step S4). The result of the test is output as a characteristic value. In parameter design, characteristic values that reasonably express functional quality are required. In the characteristic value output determination, as shown in the upper right figure of FIG. 10, the double circle is the characteristic value of 100%, the circle (◯) is the characteristic value of 90%, and the triangle (Δ) is the characteristic of 80%. It is a value, a square (□) is a characteristic value of 50%, a square (◇) is a characteristic value of 30%, and a cross (x) is a characteristic value of 0%. In the above example, the larger the characteristic value, the better the characteristic.

次に、因子特定部15は、テスト実行部14のテスト結果(特性値出力判定)に基づいて、システムの動作に影響している因子を特定する(ステップS5)。図10に示す例では、因子特定部15は、No.5の特性値出力判定がシステムに影響している要因であると判定する。そして、因子特定部15は、直交表のNo.5におけるレジスタBのレジスタ分割名B1(レジスタBの7ビット目)の「1」を、図10の下図におけるBit区切り位置「3」に対応する直交表上の値(bin)に割り付け、図10の下図におけるBit区切り位置「2」「1」「0」に対応する直交表上の値(bin)に「0」を割り付ける。レジスタ分割名B1の直交表上の値(Hex)は「8」となる。因子特定部15は、直交表のNo.5におけるレジスタBのレジスタ分割名B0(レジスタBの3ビット目)の「0」を、図10の下図におけるBit区切り位置「3」に対応する直交表上の値(bin)に割り付け、図10の下図におけるBit区切り位置「2」「1」「0」に対応する直交表上の値(bin)に「0」を割り付ける。レジスタ分割名B0の直交表上の値(Hex)は「0」となる。因子特定部15は、直交表のNo.5におけるレジスタCのレジスタ分割名C1(レジスタCの7ビット目)の「1」を、図10の下図におけるBit区切り位置「3」に対応する直交表上の値(bin)に割り付け、図10の下図におけるBit区切り位置「2」「1」「0」に対応する直交表上の値(bin)に「0」を割り付ける。レジスタ分割名C1の直交表上の値(Hex)は「8」となる。因子特定部15は、直交表のNo.5におけるレジスタCのレジスタ分割名C0(レジスタCの3ビット目)の「0」を、図10の下図におけるBit区切り位置「3」に対応する直交表上の値(bin)に割り付け、図10の下図におけるBit区切り位置「2」「1」「0」に対応する直交表上の値(bin)に「0」を割り付ける。レジスタ分割名C0の直交表上の値(Hex)は「0」となる。 Next, the factor specifying unit 15 identifies the factors affecting the operation of the system based on the test result (characteristic value output determination) of the test execution unit 14 (step S5). In the example shown in FIG. 10, the factor specifying unit 15 is No. It is determined that the characteristic value output determination of 5 is a factor affecting the system. Then, the factor identification unit 15 is set to No. 1 in the orthogonal array. The "1" of the register division name B1 (7th bit of the register B) of the register B in 5 is assigned to the value (bin) on the orthogonal array corresponding to the Bit delimiter position "3" in the lower figure of FIG. "0" is assigned to the value (bin) on the orthogonal array corresponding to the Bit delimiter positions "2", "1", and "0" in the figure below. The value (Hex) on the orthogonal array of the register partition name B1 is "8". The factor identification unit 15 is No. 1 in the orthogonal array. The "0" of the register division name B0 (third bit of the register B) of the register B in 5 is assigned to the value (bin) on the orthogonal array corresponding to the Bit delimiter position "3" in the lower figure of FIG. "0" is assigned to the value (bin) on the orthogonal array corresponding to the Bit delimiter positions "2", "1", and "0" in the figure below. The value (Hex) on the orthogonal array of the register partition name B0 is "0". The factor identification unit 15 is No. 1 in the orthogonal array. The "1" of the register division name C1 (7th bit of the register C) of the register C in 5 is assigned to the value (bin) on the orthogonal array corresponding to the Bit delimiter position "3" in the lower figure of FIG. "0" is assigned to the value (bin) on the orthogonal array corresponding to the Bit delimiter positions "2", "1", and "0" in the figure below. The value (Hex) on the orthogonal array of the register partition name C1 is "8". The factor identification unit 15 is No. 1 in the orthogonal array. The "0" of the register division name C0 (third bit of the register C) of the register C in 5 is assigned to the value (bin) on the orthogonal array corresponding to the Bit delimiter position "3" in the lower figure of FIG. "0" is assigned to the value (bin) on the orthogonal array corresponding to the Bit delimiter positions "2", "1", and "0" in the figure below. The value (Hex) on the orthogonal array of the register partition name C0 is "0".

次に、直交表作成部13は、因子特定部15で特定された因子を含む所定単位ビット内のビットを1因子に割り当て、水準を2とした直交表(第2直交表)を作成する(ステップS6)。図5を参照して図3のステップS6の処理(第2直交表作成処理)の内容について説明する。 Next, the orthogonal array creation unit 13 allocates bits in a predetermined unit bit including the factor specified by the factor identification unit 15 to one factor, and creates an orthogonal array (second orthogonal array) having a level of 2. Step S6). The contents of the process (second orthogonal array creation process) of step S6 of FIG. 3 will be described with reference to FIG.

図5に示すように、第2直交表作成処理(ステップS6)において、直交表作成部13は、因子特定部15で特定された因子を含むレジスタが範囲指定のあるレジスタか否か判定する(ステップS6A)。直交表作成部13は、範囲指定のあるレジスタでないと判定した場合(つまり、範囲指定のないレジスタであると判定した場合)(ステップS6AのNO)、レジスタの該当ビット(イネーブルビットなど)を1因子に割り当てる(ステップS6B)。一方、直交表作成部13は、範囲指定のあるレジスタであると判定した場合(ステップS6AのYES)、レジスタにおける影響している因子に含まれる所定単位ビット内のビットを1因子に割り当てる(ステップS6C)。 As shown in FIG. 5, in the second orthogonal array creation process (step S6), the orthogonal array creation unit 13 determines whether or not the register containing the factor specified by the factor identification unit 15 is a register having a range designation (step S6). Step S6A). When the orthogonal array creation unit 13 determines that the register does not have a range specification (that is, determines that the register does not have a range specification) (NO in step S6A), the corresponding bit (enable bit, etc.) of the register is set to 1. Assign to a factor (step S6B). On the other hand, when the orthogonal array creation unit 13 determines that the register has a range designation (YES in step S6A), the orthogonal array creation unit 13 allocates a bit in a predetermined unit bit included in the influencing factor in the register to one factor (step). S6C).

図11は、第2直交表の具体例を示す図である。直交表作成部13は、図10の下図におけるレジスタ分割名B1のBit区切り位置「2」「1」「0」のビット(レジスタBの6ビット目、5ビット目、4ビット目)を直交表に割り当て、図10の下図におけるレジスタ分割名B0のBit区切り位置「2」「1」「0」のビット(レジスタBの2ビット目、1ビット目、0ビット目)を直交表に割り当て、図10の下図におけるレジスタ分割名C1のBit区切り位置「2」「1」「0」のビット(レジスタCの6ビット目、5ビット目、4ビット目)を直交表に割り当て、図10の下図におけるレジスタ分割名C0のBit区切り位置「2」「1」「0」のビット(レジスタCの2ビット目、1ビット目、0ビット目)を直交表に割り当て、水準を2とした第2直交表を作成する。この第2直交表は、2水準L16の直交表であり、テストがNo.0〜No.15まで実行される。なお、図10の下図におけるレジスタ分割名B1のBit区切り位置「3」のビット(レジスタBの7ビット目)の値は「1」に固定し、図10の下図におけるレジスタ分割名B0のBit区切り位置「3」のビット(レジスタBの3ビット目)の値は「0」に固定し、図10の下図におけるレジスタ分割名C1のBit区切り位置「3」のビット(レジスタCの7ビット目)の値は「1」に固定し、図10の下図におけるレジスタ分割名C0のBit区切り位置「3」のビット(レジスタCの3ビット目)の値は「0」に固定し、さらにレジスタAの値を固定した条件で、テストを実行する。 FIG. 11 is a diagram showing a specific example of the second orthogonal array. The orthogonal table creation unit 13 converts the bits (6th bit, 5th bit, and 4th bit of the register B) of the bit delimiter positions “2”, “1”, and “0” of the register division name B1 in the lower figure of FIG. 10 into an orthogonal table. The bits of the bit delimiter positions "2", "1", and "0" of the register division name B0 in the lower figure of FIG. 10 (the second bit, the first bit, and the 0th bit of the register B) are assigned to the orthogonal table. Bits of the bit delimiter positions "2", "1", and "0" of the register division name C1 in the lower figure of FIG. 10 (6th bit, 5th bit, and 4th bit of the register C) are assigned to the orthogonal table, and in the lower figure of FIG. A second orthogonal table in which the bits (2nd bit, 1st bit, and 0th bit of register C) of the bit delimiter positions "2", "1", and "0" of the register division name C0 are assigned to the orthogonal table and the level is 2. To create. This second orthogonal array is a two-level L16 orthogonal array, and the test is No. 0-No. It is executed up to 15. The value of the bit (7th bit of register B) of the bit delimiter position "3" of the register division name B1 in the lower figure of FIG. 10 is fixed to "1", and the bit delimiter of the register division name B0 in the lower figure of FIG. The value of the bit at position "3" (third bit of register B) is fixed to "0", and the bit at the bit delimiter position "3" of the register division name C1 in the lower figure of FIG. 10 (seventh bit of register C). The value of is fixed to "1", the value of the bit (third bit of register C) of the bit delimiter position "3" of the register division name C0 in the lower figure of FIG. 10 is fixed to "0", and further, the value of register A is fixed. Run the test under the condition that the value is fixed.

テスト実行部14は、直交表作成部13が作成した第2直交表の組み合わせ(図11の第2直交表のNo.0〜No.15)に対して再度テストを実行する(ステップS7)。そのテストの結果が特性値として出力される。 The test execution unit 14 executes the test again for the combination of the second orthogonal array created by the orthogonal array creation unit 13 (Nos. 0 to No. 15 of the second orthogonal array in FIG. 11) (step S7). The result of the test is output as a characteristic value.

次に、因子特定部15は、テスト実行部14のテスト結果(特性値出力判定)に基づいて、システムの動作に影響している要因のビット(影響要因ビット)を特定する(ステップS8)。図11に示す例では、因子特定部15は、No.14の特性値出力判定がシステムに影響している要因のビットであると判定する。 Next, the factor specifying unit 15 identifies bits (influence factor bits) of factors affecting the operation of the system based on the test result (characteristic value output determination) of the test execution unit 14 (step S8). In the example shown in FIG. 11, the factor specifying unit 15 is No. It is determined that the characteristic value output determination of 14 is a bit of a factor affecting the system.

図12は、レジスタ最適化結果の具体例を示す図である。因子特定部15は、直交表のNo.14におけるレジスタBのレジスタ分割名B1のBit区切り位置「3」に対応する直交表上の値(bin)に「1」を割り付け、レジスタ分割名B1のBit区切り位置「2」に対応する直交表上の値(bin)に「1」を割り付け、レジスタ分割名B1のBit区切り位置「1」に対応する直交表上の値(bin)に「0」を割り付け、レジスタ分割名B1のBit区切り位置「0」に対応する直交表上の値(bin)に「0」を割り付ける。レジスタ分割名B1の直交表上の値(Hex)は「C」となる。この値が最適値となる。 FIG. 12 is a diagram showing a specific example of the register optimization result. The factor identification unit 15 is No. 1 in the orthogonal array. "1" is assigned to the value (bin) on the orthogonal table corresponding to the bit delimiter position "3" of the register division name B1 of the register B in 14 and the orthogonal table corresponding to the bit delimiter position "2" of the register division name B1. Allocate "1" to the above value (bin), assign "0" to the value (bin) on the orthogonal table corresponding to the Bit delimiter position "1" of the register division name B1, and assign the Bit delimiter position of the register division name B1. "0" is assigned to the value (bin) on the orthogonal table corresponding to "0". The value (Hex) on the orthogonal array of the register partition name B1 is "C". This value is the optimum value.

因子特定部15は、直交表のNo.14におけるレジスタBのレジスタ分割名B0のBit区切り位置「3」に対応する直交表上の値(bin)に「0」を割り付け、レジスタ分割名B0のBit区切り位置「2」に対応する直交表上の値(bin)に「1」を割り付け、レジスタ分割名B0のBit区切り位置「1」に対応する直交表上の値(bin)に「0」を割り付け、レジスタ分割名B0のBit区切り位置「0」に対応する直交表上の値(bin)に「1」を割り付ける。レジスタ分割名B0の直交表上の値(Hex)は「5」となる。この値が最適値となる。 The factor identification unit 15 is No. 1 in the orthogonal array. "0" is assigned to the value (bin) on the orthogonal table corresponding to the bit delimiter position "3" of the register division name B0 of the register B in 14, and the orthogonal table corresponding to the bit delimiter position "2" of the register division name B0. Allocate "1" to the above value (bin), assign "0" to the value (bin) on the orthogonal table corresponding to the Bit delimiter position "1" of the register division name B0, and assign the Bit delimiter position of the register division name B0. "1" is assigned to the value (bin) on the orthogonal table corresponding to "0". The value (Hex) on the orthogonal array of the register division name B0 is "5". This value is the optimum value.

因子特定部15は、直交表のNo.14におけるレジスタCのレジスタ分割名C1のBit区切り位置「3」に対応する直交表上の値(bin)に「1」を割り付け、レジスタ分割名C1のBit区切り位置「2」に対応する直交表上の値(bin)に「1」を割り付け、レジスタ分割名C1のBit区切り位置「1」に対応する直交表上の値(bin)に「0」を割り付け、レジスタ分割名C1のBit区切り位置「0」に対応する直交表上の値(bin)に「1」を割り付ける。レジスタ分割名C1の直交表上の値(Hex)は「D」となる。この値が最適値となる。 The factor identification unit 15 is No. 1 in the orthogonal array. "1" is assigned to the value (bin) on the orthogonal table corresponding to the bit delimiter position "3" of the register division name C1 of the register C in 14, and the orthogonal table corresponding to the bit delimiter position "2" of the register division name C1 is assigned. Allocate "1" to the above value (bin), assign "0" to the value (bin) on the orthogonal table corresponding to the Bit delimiter position "1" of the register division name C1, and assign the Bit delimiter position of the register division name C1. "1" is assigned to the value (bin) on the orthogonal table corresponding to "0". The value (Hex) on the orthogonal array of the register partition name C1 is "D". This value is the optimum value.

因子特定部15は、直交表のNo.14におけるレジスタCのレジスタ分割名C0のBit区切り位置「3」に対応する直交表上の値(bin)に「0」を割り付け、レジスタ分割名C0のBit区切り位置「2」に対応する直交表上の値(bin)に「0」を割り付け、レジスタ分割名C0のBit区切り位置「1」に対応する直交表上の値(bin)に「0」を割り付け、レジスタ分割名C0のBit区切り位置「0」に対応する直交表上の値(bin)に「1」を割り付ける。レジスタ分割名C0の直交表上の値(Hex)は「1」となる。この値が最適値となる。 The factor identification unit 15 is No. 1 in the orthogonal array. "0" is assigned to the value (bin) on the orthogonal table corresponding to the bit delimiter position "3" of the register division name C0 of the register C in 14, and the orthogonal table corresponding to the bit delimiter position "2" of the register division name C0. "0" is assigned to the upper value (bin), "0" is assigned to the value (bin) on the orthogonal table corresponding to the bit delimiter position "1" of the register division name C0, and the bit delimiter position of the register division name C0. "1" is assigned to the value (bin) on the orthogonal table corresponding to "0". The value (Hex) on the orthogonal array of the register division name C0 is "1". This value is the optimum value.

図3の説明に戻り、設定部16は、図12に示したレジスタの最適値を設定(変更)する(ステップS9)。次に、判定部17は、ステップS9で設定した最適値(設定値)が仕様書における規格値(規定値)の範囲内に入っているか否か判定する(ステップS10)。判定部17が設定値が規格値に入っていないと判定した場合は(ステップS10のNO)、ステップS3の処理に戻り、ステップS3〜S10の処理を繰り返し実行する。一方、判定部17が規格値が規格値に入っていると判定した場合は(ステップS10のYES)、所定の機能に関連したレジスタの最適化は終了したと判断して、その機能についての処理を終了する。なお、他の機能について最適化する場合は、ステップS1から実行する。 Returning to the description of FIG. 3, the setting unit 16 sets (changes) the optimum value of the register shown in FIG. 12 (step S9). Next, the determination unit 17 determines whether or not the optimum value (set value) set in step S9 is within the range of the standard value (specified value) in the specification (step S10). If the determination unit 17 determines that the set value is not within the standard value (NO in step S10), the process returns to the process of step S3, and the processes of steps S3 to S10 are repeatedly executed. On the other hand, when the determination unit 17 determines that the standard value is within the standard value (YES in step S10), it determines that the optimization of the register related to the predetermined function has been completed, and processes the function. To finish. When optimizing other functions, it is executed from step S1.

以上に説明したように、本実施形態では、テスト数を削減することができるとともに、より多くのレジスタ及びレジスタのビット数をテストすることができる。 As described above, in the present embodiment, the number of tests can be reduced, and more registers and the number of bits of the registers can be tested.

以上、本発明の実施形態を説明したが、本発明の技術的範囲は、上記の実施形態に記載の範囲には限定されない。本発明の趣旨を逸脱しない範囲で、上記の実施形態に、多様な変更または改良を加えることが可能である。また、上記の実施形態で説明した要件の1つ以上は、省略されることがある。そのような変更または改良、省略した形態も本発明の技術的範囲に含まれる。また、上記した実施形態や変形例の構成を適宜組み合わせて適用することも可能である。 Although the embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the scope described in the above embodiments. Various changes or improvements can be made to the above embodiments without departing from the spirit of the present invention. In addition, one or more of the requirements described in the above embodiments may be omitted. Such modifications, improvements, or omitted forms are also included in the technical scope of the present invention. Further, it is also possible to appropriately combine and apply the configurations of the above-described embodiments and modifications.

例えば、図11に示した第2直交表では、B1の「2」「1」「0」、B0の「2」「1」「0」、C1の「2」「1」「0」、C0の「2」「1」「0」を割り当てていたが、B1の「3」「2」「1」「0」、B0の「3」「2」「1」「0」、C1の「3」「2」「1」「0」、C0の「3」「2」「1」「0」を割り当ててもよい。また、第2直交表には、レジスタAのビットを割り当ててもよい。 For example, in the second orthogonal array shown in FIG. 11, B1 “2” “1” “0”, B0 “2” “1” “0”, C1 “2” “1” “0”, C0 "2" "1" "0" was assigned, but B1 "3" "2" "1" "0", B0 "3" "2" "1" "0", C1 "3" "2" "1" "0", C0 "3" "2" "1" "0" may be assigned. Further, a bit of register A may be assigned to the second orthogonal array.

また、最適化の対象となるレジスタの例として、16ビット、24ビット、32ビット、64ビットのレジスタとしていたが、これらのビットのレジスタに限定されず、例えば128ビット、256ビットなどのレジスタであってもよい。 Further, as an example of the register to be optimized, 16-bit, 24-bit, 32-bit, and 64-bit registers are used, but the register is not limited to these-bit registers, and for example, 128-bit, 256-bit registers and the like. There may be.

1 レジスタ最適化装置
11 機能特定部
12 レジスタ抽出部
13 直交表作成部(第1直交表作成部、第2直交表作成部)
14 テスト実行部(第1テスト実行部、第2テスト実行部)
15 因子特定部(第1因子特定部、第2因子特定部)
16 設定部
17 判定部
100 システム
1 Register optimizer 11 Function specification unit 12 Register extraction unit 13 Orthogonal array creation unit (1st orthogonal array creation unit, 2nd orthogonal array creation unit)
14 Test execution unit (1st test execution unit, 2nd test execution unit)
15 Factor identification part (1st factor identification part, 2nd factor identification part)
16 Setting unit 17 Judgment unit 100 System

Claims (8)

システムのマイクロプロセッサ内部のレジスタの設定値を最適化するレジスタ最適化装置であって、
前記システムの機能に関連しているレジスタを抽出するレジスタ抽出部と、
前記レジスタ抽出部で抽出された前記レジスタにおける任意のビット数を1つの単位とする所定単位ビットのうちの少なくとも1つのビットを抽出し、前記ビットを1因子に割り当てて、任意の2因子間の全水準の組み合わせが現れる直交表を作成する第1直交表作成部と、
前記直交表の組み合わせに対してテストを実行する第1テスト実行部と、
前記第1テスト実行部のテスト結果に基づき、前記システムの動作に影響している因子を特定する第1因子特定部と、
前記第1因子特定部で特定した前記因子を含む前記所定単位ビット内のビットを1因子に割り当てて直交表を作成する第2直交表作成部と、
前記直交表の組み合わせに対して再度テストを実行する第2テスト実行部と、
前記第2テスト実行部のテスト結果に基づき、前記システムの動作に影響している要因のビットを特定する第2因子特定部と、
前記第2因子特定部で特定された前記ビットの設定値を変更する設定部と、
前記設定部で設定された前記ビットの設定値が規格値の範囲に入っているか否か判定する判定部と、を備え、
前記判定部が前記ビットの設定値が前記規格値の範囲に入っていないと判定した場合、前記第1直交表作成部、前記第1テスト実行部、前記第1因子特定部、前記第2直交表作成部、前記第2テスト実行部、前記第2因子特定部、及び前記設定部は、それぞれ、前記処理を実行することを特徴とするレジスタ最適化装置。
A register optimizer that optimizes register settings inside the system's microprocessor.
A register extractor that extracts registers related to the function of the system,
At least one bit of a predetermined unit bit having an arbitrary number of bits in the register as one unit extracted by the register extraction unit is extracted, the bit is assigned to one factor, and between any two factors. The first orthogonal array creation unit that creates an orthogonal array in which all levels of combinations appear,
A first test execution unit that executes a test on the combination of the orthogonal arrays,
Based on the test results of the first test execution unit, the first factor identification unit that identifies the factors affecting the operation of the system, and the first factor identification unit.
A second orthogonal array creation unit that creates an orthogonal array by allocating bits in the predetermined unit bit including the factor specified by the first factor identification unit to one factor.
A second test execution unit that executes the test again for the combination of the orthogonal arrays,
Based on the test results of the second test execution unit, the second factor identification unit that specifies the bits of the factors affecting the operation of the system, and the second factor identification unit.
A setting unit that changes the setting value of the bit specified by the second factor identification unit, and a setting unit that changes the setting value of the bit.
A determination unit for determining whether or not the set value of the bit set by the setting unit is within the standard value range is provided.
When the determination unit determines that the set value of the bit is not within the standard value range, the first orthogonal array creation unit, the first test execution unit, the first factor identification unit, and the second orthogonal array unit. The table creation unit, the second test execution unit, the second factor identification unit, and the setting unit are register optimization devices, each of which executes the processing.
前記第1直交表作成部は、範囲指定のないレジスタについては該レジスタの該当ビットを1因子に割り当て、範囲指定のあるレジスタについては該レジスタの前記所定単位ビットのうちの前記ビットを1因子に割り当てて直交表を作成する請求項1記載のレジスタ最適化装置。 The first orthogonal array creation unit assigns the corresponding bit of the register to one factor for a register without a range designation, and assigns the bit of the predetermined unit bits of the register to one factor for a register with a range designation. The register optimizer according to claim 1, which allocates and creates an orthogonal array. 前記所定単位ビットは、4ビット、1バイト、又は1ワードである請求項1または請求項2記載のレジスタ最適化装置。 The register optimization device according to claim 1 or 2, wherein the predetermined unit bit is 4 bits, 1 byte, or 1 word. 前記システムの仕様書に基づき、開発中の前記システムの機能を抽出する機能抽出部を備え、
前記レジスタ抽出部は、前記機能抽出部で抽出された前記システムの機能に関連しているレジスタを抽出する請求項1から請求項3のいずれか1項に記載のレジスタ最適化装置。
It is equipped with a function extraction unit that extracts the functions of the system under development based on the specifications of the system.
The register optimization device according to any one of claims 1 to 3, wherein the register extraction unit extracts registers related to the function of the system extracted by the function extraction unit.
システムのマイクロプロセッサ内部のレジスタの設定値を最適化するレジスタ最適化方法であって、
前記システムの機能に関連しているレジスタを抽出するレジスタ抽出ステップと、
前記レジスタ抽出ステップで抽出された前記レジスタにおける任意のビット数を1つの単位とする所定単位ビットのうちの少なくとも1つのビットを抽出し、前記ビットを1因子に割り当てて、任意の2因子間の全水準の組み合わせが現れる直交表を作成する第1直交表作成ステップと、
前記直交表の組み合わせに対してテストを実行する第1テスト実行ステップと、
前記第1テスト実行ステップのテスト結果に基づき、前記システムの動作に影響している因子を特定する第1因子特定ステップと、
前記第1因子特定ステップで特定した前記因子を含む前記所定単位ビット内のビットを1因子に割り当てて直交表を作成する第2直交表作成ステップと、
前記直交表の組み合わせに対して再度テストを実行する第2テスト実行ステップと、
前記第2テスト実行ステップのテスト結果に基づき、前記システムの動作に影響している要因のビットを特定する第2因子特定ステップと、
前記第2因子特定ステップで特定された前記ビットの設定値を変更する設定ステップと、
前記設定ステップで設定された前記ビットの設定値が規格値の範囲に入っているか否か判定する判定ステップと、を備え、
前記判定ステップで前記ビットの設定値が前記規格値の範囲に入っていないと判定した場合、前記第1直交表作成ステップ、前記第1テスト実行ステップ、前記第1因子特定ステップ、前記第2直交表作成ステップ、前記第2テスト実行ステップ、前記第2因子特定ステップ、及び前記設定ステップの処理を実行することを特徴とするレジスタ最適化方法。
A register optimization method that optimizes register settings inside the system's microprocessor.
A register extraction step that extracts registers related to the function of the system, and
At least one bit of a predetermined unit bit having an arbitrary number of bits in the register as one unit extracted in the register extraction step is extracted, the bit is assigned to one factor, and between any two factors. The first orthogonal array creation step to create an orthogonal array in which all levels of combinations appear,
A first test execution step of executing a test on the combination of orthogonal arrays, and
Based on the test results of the first test execution step, the first factor identification step for identifying the factors influencing the operation of the system, and the first factor identification step.
A second orthogonal array creation step in which bits in the predetermined unit bit including the factor specified in the first factor identification step are assigned to one factor to create an orthogonal array, and a second orthogonal array creation step.
A second test execution step in which the test is executed again for the combination of the orthogonal arrays, and
Based on the test result of the second test execution step , the second factor specifying step for specifying the bits of the factors affecting the operation of the system, and the second factor specifying step.
A setting step for changing the set value of the bit specified in the second factor specifying step, and a setting step for changing the set value of the bit.
A determination step for determining whether or not the set value of the bit set in the setting step is within the standard value range is provided.
When it is determined in the determination step that the set value of the bit is not within the range of the standard value, the first orthogonal array creation step, the first test execution step, the first factor identification step, and the second orthogonal array are performed. A register optimization method comprising executing the processing of the table creation step, the second test execution step, the second factor identification step, and the setting step.
前記第1直交表作成ステップにおいて、範囲指定のないレジスタについては該レジスタの該当ビットを1因子に割り当て、範囲指定のあるレジスタについては該レジスタの前記所定単位ビットのうちの前記ビットを1因子に割り当てて直交表を作成する請求項5記載のレジスタ最適化方法。 In the first orthogonal array creation step, for a register without a range designation, the corresponding bit of the register is assigned to one factor, and for a register with a range designation, the bit of the predetermined unit bits of the register is assigned to one factor. The register optimization method according to claim 5, wherein an orthogonal array is created by allocating. 前記所定単位ビットは、4ビット、1バイト、又は1ワードである請求項5または請求項6記載のレジスタ最適化方法。 The register optimization method according to claim 5 or 6, wherein the predetermined unit bit is 4 bits, 1 byte, or 1 word. 前記システムの仕様書に基づき、開発中の前記システムの機能を抽出する機能抽出ステップを備え、
前記レジスタ抽出ステップにおいて、前記機能抽出ステップで抽出された前記システムの機能に関連しているレジスタを抽出する請求項5から請求項7のいずれか1項に記載のレジスタ最適化方法。
A function extraction step for extracting the functions of the system under development based on the specifications of the system is provided.
The register optimization method according to any one of claims 5 to 7, wherein in the register extraction step, the registers related to the functions of the system extracted in the function extraction step are extracted.
JP2017224516A 2017-11-22 2017-11-22 Register optimizer and register optimization method Active JP6927863B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017224516A JP6927863B2 (en) 2017-11-22 2017-11-22 Register optimizer and register optimization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017224516A JP6927863B2 (en) 2017-11-22 2017-11-22 Register optimizer and register optimization method

Publications (2)

Publication Number Publication Date
JP2019096029A JP2019096029A (en) 2019-06-20
JP6927863B2 true JP6927863B2 (en) 2021-09-01

Family

ID=66971664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017224516A Active JP6927863B2 (en) 2017-11-22 2017-11-22 Register optimizer and register optimization method

Country Status (1)

Country Link
JP (1) JP6927863B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024142820A1 (en) * 2022-12-27 2024-07-04 コニカミノルタ株式会社 Characteristic value estimation model generating method, analysis device, analysis system, and program

Also Published As

Publication number Publication date
JP2019096029A (en) 2019-06-20

Similar Documents

Publication Publication Date Title
US10303143B2 (en) Numerical controller
RU2017104121A (en) SYSTEM AND METHOD FOR CREATING SELECTIVE INSTANT IMAGES OF A DATABASE
JP6927863B2 (en) Register optimizer and register optimization method
US7913204B2 (en) High-level synthesis apparatus, high-level synthesis system and high-level synthesis method
JP2021083912A5 (en)
US10528691B1 (en) Method and system for automated selection of a subset of plurality of validation tests
TW201331775A (en) Global clock handler object for HDL environment
EP3729269B1 (en) Pseudo-random logical to physical core assignment at boot for age averaging
US20130305198A1 (en) Circuit design support device, circuit design support method and program
US20170286072A1 (en) Custom class library generation method and apparatus
CN105808318B (en) Information processing method and electronic equipment
US20170052799A1 (en) Integrated Circuit Device With Selectable Processor Core
JP6664562B1 (en) Debug support device, debug support method, and debug support program
JP7288329B2 (en) Semiconductor device and test method for semiconductor device
Ali et al. Parallel path delay fault simulation for multi/many-core processors with SIMD units
US9916281B2 (en) Processing system with a secure set of executable instructions and/or addressing scheme
CN104820574A (en) Method for accessing indirect addressing register and electronic equipment
US9262572B2 (en) Fast and accurate capacitance checker
US9378326B2 (en) Critical region identification
JP2012033091A (en) Semiconductor circuit and test method for the same
JP6525267B2 (en) Out-of-range reference detection device, method and program
US20160343343A1 (en) Two-phase hybrid vertex classification
US20160216705A1 (en) Control apparatus
JP6266183B2 (en) Circuit design support device and circuit design support program
JP3917079B2 (en) How to determine the best access strategy

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210805

R150 Certificate of patent or registration of utility model

Ref document number: 6927863

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250