WO2023166609A1 - Device for assisting with digital circuit design, method for assisting with digital circuit design, and program for assisting with digital circuit design - Google Patents

Device for assisting with digital circuit design, method for assisting with digital circuit design, and program for assisting with digital circuit design Download PDF

Info

Publication number
WO2023166609A1
WO2023166609A1 PCT/JP2022/008868 JP2022008868W WO2023166609A1 WO 2023166609 A1 WO2023166609 A1 WO 2023166609A1 JP 2022008868 W JP2022008868 W JP 2022008868W WO 2023166609 A1 WO2023166609 A1 WO 2023166609A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
description
register
port
memory map
Prior art date
Application number
PCT/JP2022/008868
Other languages
French (fr)
Japanese (ja)
Inventor
哲人 深井
悠太 石山
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2024504086A priority Critical patent/JPWO2023166609A1/ja
Priority to PCT/JP2022/008868 priority patent/WO2023166609A1/en
Publication of WO2023166609A1 publication Critical patent/WO2023166609A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Provided is a device (100) for assisting with digital circuit design. The device (100) comprises: a memory map generation unit that generates a memory map; and a hardware description generation unit that generates a hardware description. The hardware description generation unit generates a description of a port to be used by an external circuit (130) to communicate with a memory map circuit (120). The port description describes a circuit which is separate from a writing circuit and a reading circuit which go through a bus of a register included in the memory map.

Description

デジタル回路設計を支援する装置、デジタル回路設計を支援する方法、および、デジタル回路設計を支援するプログラムApparatus for supporting digital circuit design, method for supporting digital circuit design, and program for supporting digital circuit design
 本開示は、デジタル回路設計を支援する技術に関し、より特定的には、各種ハードウェア記述を自動生成する技術に関する。 The present disclosure relates to technology for supporting digital circuit design, and more specifically to technology for automatically generating various hardware descriptions.
 デジタル回路等のハードウェア設計の分野において、メモリマップまたはレジスタマップと呼ばれる、アドレスと記憶領域(レジスタ)の対をなした概念が存在する。メモリマップに含まれる各レジスタは、W(書込可:ライトオンリー)、R(読込可:リードオンリー)、RW(読書可)等の属性の他に、それ以外の様々な機能を有する場合がある。  In the field of hardware design such as digital circuits, there is a concept of pairs of addresses and storage areas (registers) called memory maps or register maps. Each register included in the memory map may have attributes such as W (writable: write only), R (readable: read only), RW (readable), and various other functions. be.
 ハードウェアの設計過程では、一般的に、まずメモリマップが作成され、メモリマップ内で定義された各レジスタの属性および機能定義を元にハードウェア記述が作成される。さらに、ハードウェア記述に基づいて、ハードウェアが製造される。ハードウェア記述言語によっては、メモリマップで定義された各レジスタの属性情報等に基づいて、ハードウェア記述を自動生成する技術が存在する。 In the hardware design process, a memory map is generally created first, and a hardware description is created based on the attributes and function definitions of each register defined in the memory map. Further, hardware is manufactured based on the hardware description. Depending on the hardware description language, there is a technique for automatically generating the hardware description based on the attribute information of each register defined in the memory map.
 従来のハードウェア記述の自動生成技術は、レジスタの主たる属性であるW(書込可)、R(読込可)、RW(読書可)の記述の生成にしか対応していなかった。そのため、書き込みを行う対象のレジスタと読み込みを行う対象のレジスタが異なる回路、または、通常の読込回路または書込回路とは異なる回路からのアクセスによるレジスタの書き換えが発生する回路といった特殊機能を有する回路のハードウェア記述を自動生成することはできなかった。その結果、これらの特殊機能を実現するには、ユーザが自動生成されたハードウェア記述に特殊機能の記述を加筆修正する必要があった。 Conventional hardware description automatic generation technology only supports the generation of descriptions for the main attributes of registers, W (writable), R (readable), and RW (readable). Therefore, a circuit with a special function such as a circuit in which a register to be written and a register to be read are different, or a circuit in which a register is rewritten by access from a circuit different from the normal read circuit or write circuit. It was not possible to automatically generate a hardware description of As a result, in order to realize these special functions, it was necessary for the user to add and correct the description of the special functions in the automatically generated hardware description.
 ハードウェア記述に手動での加筆修正を行う場合、特殊機能も実現可能になるが、一方で、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ、および、特殊機能の記述の反映作業による工数の増大が発生し得る。そのため、ハードウェア設計をより効率的に支援する技術が必要とされている。 If the hardware description is manually modified, special functions can also be realized. An increase in the number of man-hours may occur due to the omission of reflecting the description and the task of reflecting the description of the special function. Therefore, there is a need for a technology that more efficiently supports hardware design.
 デジタル回路設計を支援する技術に関し、例えば、特開2005-309584号公報(特許文献1)は、「ハードウェア記述言語によって予め定義され、かつレジスタと組み合わせ回路との組み合わせからなるデジタル回路の内部における布線と、デジタル回路と外部との間の布線との双方もしくは何れか一方を示す未定の語を含んで構成されたテンプレートが予め登録されたデータベースと、内部における布線と、デジタル回路と外部との間の布線とがレジスタに対する情報の引き渡しとして予め定義されたデジタル回路の設計仕様が格納された記憶手段と、未定の語に設計仕様として定義されたレジスタに対する情報の引き渡しを示す語を代入することによって、デジタル回路をハードウェア記述言語で示すステートメントの列を生成する仕様反映手段とを備えて構成される」デジタル回路設計支援装置を開示している([要約]参照)。 Regarding the technology for supporting digital circuit design, for example, Japanese Patent Application Laid-Open No. 2005-309584 (Patent Document 1) describes, "Inside a digital circuit that is predefined by a hardware description language and consists of a combination of a register and a combinational circuit, A database in which templates containing undefined words indicating both or one of wiring and wiring between a digital circuit and the outside are registered in advance, internal wiring, and a digital circuit Storage means storing the design specifications of a digital circuit in which wiring to the outside is defined in advance as the transfer of information to a register, and a word indicating the transfer of information to the register defined as the design specifications in an undetermined word and specification reflection means for generating a string of statements representing the digital circuit in a hardware description language by substituting .
特開2005-309584号公報JP 2005-309584 A
 特許文献1に開示された技術によると、読込回路または書込回路以外の特殊機能の回路についてのハードウェア記述を自動生成することができない。したがって、読込回路または書込回路以外の特殊機能の回路についてのハードウェア記述を自動生成するための技術が必要とされている。 According to the technology disclosed in Patent Document 1, it is not possible to automatically generate hardware descriptions for circuits with special functions other than read circuits or write circuits. Therefore, there is a need for techniques for automatically generating hardware descriptions for special function circuits other than read or write circuits.
 本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、読込回路または書込回路以外の特殊機能の回路についてのハードウェア記述を自動生成するための技術を提供することにある。 The present disclosure has been made in view of the background as described above, and an object in one aspect is to provide a technique for automatically generating a hardware description for a circuit with special functions other than a read circuit or a write circuit. to provide.
 ある実施の形態に従うと、デジタル回路設計を支援する装置が提供される。装置は、メモリマップを生成するメモリマップ生成部と、メモリマップに基づいて、ハードウェア記述を生成するハードウェア記述生成部とを備える。ハードウェア記述生成部は、外部回路がメモリマップの回路と通信するためのポートの記述を生成する。ポートの記述は、メモリマップに含まれるレジスタのバスを経由する書込回路および読込回路とは別の回路の記述である。 According to one embodiment, an apparatus is provided for supporting digital circuit design. The apparatus comprises a memory map generator for generating a memory map and a hardware description generator for generating a hardware description based on the memory map. A hardware description generator generates descriptions of ports for external circuits to communicate with circuits in the memory map. A port description is a description of a circuit separate from the write and read circuits via a bus of registers contained in the memory map.
 ある実施の形態に従うと、読込回路または書込回路以外の特殊機能の回路についてのハードウェア記述を自動生成することが可能である。 According to an embodiment, it is possible to automatically generate hardware descriptions for special function circuits other than read or write circuits.
 この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本開示に関する次の詳細な説明から明らかとなるであろう。 The above and other objects, features, aspects and advantages of this disclosure will become apparent from the following detailed description of the disclosure taken in conjunction with the accompanying drawings.
ある実施の形態に従うハードウェア設計支援のための装置100の機能の概要の一例を示す図である。1 is a diagram showing an example of an overview of functions of an apparatus 100 for hardware design support according to an embodiment; FIG. 装置100のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of device 100; FIG. ソフトウェア300の機能ブロックの一例を示す図である。3 is a diagram showing an example of functional blocks of software 300. FIG. UI(User Interface)304の第1の例を示す図である。3 is a diagram showing a first example of a UI (User Interface) 304; FIG. UI304の第2の例を示す図である。FIG. 11 is a diagram showing a second example of UI 304; レジスタ設定項目530に入力可能な設定値の一例を示す図である。FIG. 10 is a diagram showing an example of setting values that can be input to register setting items 530. FIG. ハードウェア記述における最上位階層の記述の一例を示す図である。FIG. 3 is a diagram showing an example of the description of the highest hierarchy in the hardware description; ハードウェア記述におけるバスプロトコル制御の記述の一例を示す図である。FIG. 3 is a diagram showing an example of description of bus protocol control in hardware description; RW属性のレジスタ121のハードウェア記述の一例を示す図である。FIG. 10 is a diagram showing an example of a hardware description of a register 121 with RW attributes; ハードウェア記述900に対応する回路の一例を示す模式図である。9 is a schematic diagram showing an example of a circuit corresponding to the hardware description 900; FIG. W属性のレジスタ121のハードウェア記述の一例を示す図である。FIG. 10 is a diagram showing an example of a hardware description of a W-attribute register 121. FIG. ハードウェア記述1100に対応する回路の一例を示す模式図である。11 is a schematic diagram showing an example of a circuit corresponding to the hardware description 1100; FIG. R属性の回路の一例を示す模式図である。FIG. 4 is a schematic diagram showing an example of an R-attribute circuit; オプション設定項目533の値が「sp」であるときのレジスタ121のハードウェア記述の第1の例を示す図である。FIG. 12 is a diagram showing a first example of hardware description of the register 121 when the value of the option setting item 533 is "sp"; ハードウェア記述1400に対応する回路の一例を示す模式図である。14 is a schematic diagram showing an example of a circuit corresponding to the hardware description 1400; FIG. オプション設定項目533の値が「sp」であるときのレジスタ121のハードウェア記述の第2の例を示す図である。FIG. 13 is a diagram showing a second example of hardware description of the register 121 when the value of the option setting item 533 is "sp"; ハードウェア記述1600に対応する回路の一例を示す模式図である。16 is a schematic diagram showing an example of a circuit corresponding to the hardware description 1600; FIG. オプション設定項目533の値が「sn」であるときのレジスタ121のハードウェア記述の一例を示す図である。FIG. 13 is a diagram showing an example of hardware description of the register 121 when the value of the option setting item 533 is “sn”; ハードウェア記述1800に対応する回路の一例を示す模式図である。18 is a schematic diagram showing an example of a circuit corresponding to the hardware description 1800; FIG. 装置100によるハードウェア記述の生成手順の一例を示す図である。FIG. 3 is a diagram showing an example of a hardware description generation procedure by the apparatus 100;
 以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 Hereinafter, embodiments of the technical idea according to the present disclosure will be described with reference to the drawings. In the following description, the same parts are given the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.
 <A.デジタル回路設計を支援する装置の機能の概要>
 図1は、本実施の形態に従うハードウェア設計支援のための装置100の機能の概要の一例を示す図である。装置100は、ハードウェア設計支援用のソフトウェア300を実行することで、読込回路または書込回路以外の特殊機能の回路についての記述を含むハードウェア記述を生成する。
<A. Overview of Functions of Devices Supporting Digital Circuit Design>
FIG. 1 is a diagram showing an example of an outline of functions of a device 100 for hardware design support according to the present embodiment. The device 100 executes the hardware design support software 300 to generate a hardware description including a description of special function circuits other than the read circuit or the write circuit.
 なお、本明細書において、「装置」との用語は、1または複数の装置からなる構成、サーバ、クラウド環境に構築された仮想マシンもしくはコンテナ、または、これらの少なくとも一部から構成されるシステムを包含する。また、装置は、パーソナルコンピュータ、ワークステーション、サーバ装置、タブレット、スマートフォン等の情報処理装置を含んでいてもよく、また、これらの組合せであってもよい。ある局面において、装置100は、ディスプレイおよびキーボード等の入出力機器と接続されて、ユーザに使用されてもよい。他の局面において、装置100は、ネットワークを介して、クラウドサービスまたはウェブアプリケーションとして、ユーザに各種機能を提供してもよい。この場合、ユーザは、自身の端末にインストールされたブラウザまたはクライアントソフトウェアを介して、装置100の機能を使用し得る。 In this specification, the term "device" refers to a configuration consisting of one or more devices, a server, a virtual machine or container built in a cloud environment, or a system composed of at least a part of these. contain. Also, the device may include an information processing device such as a personal computer, workstation, server device, tablet, smart phone, or a combination thereof. In one aspect, device 100 may be used by a user by being connected to input/output devices such as a display and keyboard. In other aspects, device 100 may provide various functions to the user as a cloud service or web application via a network. In this case, the user may use the functionality of device 100 via a browser or client software installed on his terminal.
 また、本明細書において、「ハードウェア記述」または「記述」との用語は、ハードウェア記述言語(HDL: Hardware Description Language)によって記述された、回路全体の記述、回路の一部分もしくは一機能の記述、または、これらの記述を含むファイル(ハードウェア記述ファイル)を意味する。 In this specification, the term "hardware description" or "description" refers to a description of the entire circuit, a description of a part of the circuit or a function written in Hardware Description Language (HDL). , or a file containing these descriptions (hardware description file).
 装置100(ソフトウェア300)は、主に3つの機能を提供する。第1の機能は、メモリマップに含まれる各レジスタに対して、読込回路または書込回路以外の特殊機能の回路を定義、および、レジスタの有無を定義するための第1の機能である。第2の機能は、読込回路または書込回路以外の特殊機能の回路を定義、および、レジスタの有無の情報を含むメモリマップを表すファイルを生成する機能である。第3の機能は、メモリマップを表すファイルから、読込回路または書込回路以外の特殊機能の回路、および/または、レジスタを内包しない回路を含むハードウェア記述を自動生成する機能である。ここでの「特殊機能の回路」とは、読込回路または書込回路と異なり、バスプロトコル制御回路およびバスを介さずに、レジスタと通信するポート(図9~図19に示される各ポート)等である。 The device 100 (software 300) mainly provides three functions. The first function is to define a special function circuit other than the read circuit or write circuit for each register included in the memory map, and to define the presence or absence of the register. The second function is to define circuits with special functions other than read circuits or write circuits, and to generate a file representing a memory map containing information on the presence or absence of registers. The third function is to automatically generate a hardware description including circuits with special functions other than read circuits or write circuits and/or circuits that do not contain registers from a file representing a memory map. Here, unlike the read circuit or the write circuit, the "special function circuit" means a port (each port shown in FIGS. 9 to 19) that communicates with the register without going through the bus protocol control circuit and the bus. is.
 まず、第1の機能(メモリマップに含まれる各レジスタに対して、読込回路または書込回路以外の特殊機能の回路を定義、および、レジスタの有無を定義するための機能)について説明する。 First, the first function (function for defining a special function circuit other than the read circuit or write circuit for each register included in the memory map and for defining the presence or absence of the register) will be described.
 回路110は、ユーザが設計する予定の回路であり、主な構成として回路120およびユーザ回路130を含む。回路120は、装置100により生成されるメモリマップに基づいて設計される回路である。ユーザ回路130は、ユーザ定義の回路であり、必要に応じて回路120と通信し得る。 A circuit 110 is a circuit to be designed by a user, and includes a circuit 120 and a user circuit 130 as main components. Circuit 120 is a circuit designed based on the memory map generated by device 100 . User circuit 130 is a user-defined circuit that may communicate with circuit 120 as desired.
 回路120は、1つ以上のレジスタ121と、バスプロトコル制御回路122とを含む。ある局面において、レジスタ121は、1つ以上のフリップフロップ回路を含むレジスタであってもよい。この場合、1つのレジスタ121は、あるまとまった機能等を示す「レジスタの単位」として扱われ得る。他の局面において、レジスタ121は、1つのフリップフロップ回路を示していてもよい。この場合、複数のレジスタ121をまとめたものが、あるまとまった機能等を示す「レジスタの単位」として扱われ得る。バスプロトコル制御回路122は、レジスタ121に通信機能を提供する回路である。レジスタ121が、R属性(読込可)、W属性(書込可)またはRW属性(読書可)のいずれかの属性を備える場合、他の回路は、バスプロトコル制御回路122およびバスを介して、レジスタ121からのデータの読み込み、レジスタ121へのデータの書き込みを実行し得る。 Circuit 120 includes one or more registers 121 and a bus protocol control circuit 122 . In one aspect, register 121 may be a register that includes one or more flip-flop circuits. In this case, one register 121 can be treated as a "unit of register" indicating a set of functions. In other aspects, register 121 may represent a single flip-flop circuit. In this case, a group of a plurality of registers 121 can be treated as a "register unit" indicating a group of functions. A bus protocol control circuit 122 is a circuit that provides a communication function to the register 121 . If the register 121 has any of the attributes R attribute (readable), W attribute (writable), or RW attribute (readable), other circuits, via the bus protocol control circuit 122 and the bus, Reading data from register 121 and writing data to register 121 may be performed.
 レジスタ121に対するR属性およびW属性の処理は、全てバスプロトコル制御回路122を介して実行される。しかしながら、回路110が備えるべき機能によっては、ユーザ回路130は、バスプロトコルを使用せずに(バスプロトコル制御回路122およびバスを経由せずに)レジスタ121と通信する必要がある。そこで、装置100は、ユーザに対して、メモリマップに含まれる各レジスタ121の各々について、R属性、W属性、RW属性に加えて、特殊機能を設定するための手段を提供する。ユーザは、UI304(図3参照)を介して、R属性、W属性、RW属性に加えて、レジスタ121の各々に特殊機能を設定することができる。これにより、装置100は、R属性、W属性、RW属性の回路(回路140)に加えて、従来のハードウェア記述の自動生成技術では自動生成することができなかった回路145を生成することができる。装置100は、一例として、レジスタ121またはレジスタ121に含まれるビットごとのオプションを受け付けることで、特殊機能の回路の生成の有無を決定してもよい。 All processing of the R attribute and W attribute for the register 121 is executed via the bus protocol control circuit 122. However, depending on the functionality to be provided by circuit 110, user circuit 130 may need to communicate with register 121 without using the bus protocol (via bus protocol control circuit 122 and the bus). Therefore, the device 100 provides the user with means for setting special functions in addition to the R attribute, W attribute, and RW attribute for each register 121 included in the memory map. The user can set special functions for each of the registers 121 in addition to the R attribute, W attribute, and RW attribute via the UI 304 (see FIG. 3). As a result, the device 100 can generate the circuit 145, which could not be automatically generated by the conventional hardware description automatic generation technology, in addition to the R-attribute, W-attribute, and RW-attribute circuits (circuit 140). can. As an example, the device 100 may determine whether or not to generate a special function circuit by receiving a register 121 or a bitwise option contained in the register 121 .
 さらに、装置100は、各レジスタ121に対するオプションを受け付けることで、レジスタ121を内包しない回路を生成し得る。レジスタ121を内包しない回路とは、記憶領域(フリップフロップ回路)を有さない回路である。ただし、レジスタ121を内包しない回路は、記憶領域以外のバスプロトコル制御回路、読込回路、書込回路、その他の特殊機能の回路を備えていてもよい。 Furthermore, the device 100 can generate a circuit that does not include the registers 121 by accepting options for each register 121 . A circuit that does not include the register 121 is a circuit that does not have a storage area (flip-flop circuit). However, a circuit that does not include the register 121 may include a bus protocol control circuit, a read circuit, a write circuit, and other special function circuits other than the storage area.
 次に、第2の機能(読込回路または書込回路以外の特殊機能の回路を定義、および、レジスタの有無の情報を含むメモリマップを表すファイルを生成するための機能)について説明する。 Next, the second function (function for defining circuits with special functions other than read circuits or write circuits and for generating files representing memory maps containing information on the presence or absence of registers) will be described.
 装置100は、第1の機能により定義されたメモリマップを表すファイルを生成する。ここでの「メモリマップを表すファイル」とは、例えば、IP-XACTファイル(xml(Extensible Markup Language)ファイル)である。IP-XACTファイルは、IEEE-1685規格(IP-XACT)によって定められた規格に従うファイルである。装置100は、R属性、W属性、RW属性以外の特殊機能を含む、および/または、一部または全てのレジスタ121を内包しないメモリマップを表すIP-XACTファイルを生成する。こうすることで、装置100は、メモリマップに含まれる特殊機能の記述についても、ハードウェア構成に依存せずに、再利用性を高めることができる。 The device 100 generates a file representing the memory map defined by the first function. The “file representing the memory map” here is, for example, an IP-XACT file (xml (Extensible Markup Language) file). An IP-XACT file is a file that conforms to the standards defined by the IEEE-1685 standard (IP-XACT). The device 100 generates an IP-XACT file representing a memory map that includes special features other than the R, W, RW attributes and/or does not contain some or all of the registers 121 . By doing so, the device 100 can improve the reusability of the description of the special function included in the memory map without depending on the hardware configuration.
 最後に、第3の機能(メモリマップを表すファイルから、読込回路または書込回路以外の特殊機能の回路、および/または、レジスタを内包しない回路を含むハードウェア記述を自動生成するための機能)について説明する。 Finally, a third function (a function for automatically generating a hardware description including a circuit with special functions other than a read circuit or a write circuit and/or a circuit that does not include registers from a file representing a memory map). will be explained.
 装置100は、特殊機能の記述を含むメモリマップを表すファイルを解釈し、ハードウェア記述を生成する。当該ハードウェア記述は、R属性、W属性、RW属性以外の特殊機能、および/または、レジスタ121の内包の有無等の従来自動生成できなかった記述も含む。 The device 100 interprets a file representing a memory map containing descriptions of special functions and generates a hardware description. The hardware description includes descriptions such as special functions other than the R attribute, W attribute, and RW attribute, and/or whether the register 121 is included or not, which could not be automatically generated conventionally.
 装置100は、上記の3つの機能を備えることで、ユーザがメモリマップの記述を変更した場合でも、特殊機能、および/または、レジスタ121の内包の有無等を表す記述を自動生成し得る。これにより、装置100は、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ、および、反映作業による工数の増大を抑制し得る。 By providing the above three functions, the device 100 can automatically generate a description that indicates whether or not the special function and/or the register 121 is included, even if the user changes the description of the memory map. As a result, the device 100 can suppress the omission of reflecting the description of the special function to the document or circuit (hardware description), etc., and the increase in man-hours due to the reflecting work when the hardware is modified.
 <B.装置のハードウェアおよびソフトウェアの構成>
 図2は、装置100のハードウェア構成の一例を示す図である。図2を参照して、装置100のハードウェア構成について説明する。装置100は、主たる構成として、プロセッサ201と、メモリ202と、ストレージ203と、出力IF(Interface)204と、入力IF205と、通信IF206と、外部機器IF207と、内部バス208とを備える。ある局面において、装置100は、図2に示されるハードウェアの組み合わせによりサーバ、クラスタ、クラウド環境として実現されてもよい。
<B. Device Hardware and Software Configuration>
FIG. 2 is a diagram showing an example of the hardware configuration of the device 100. As shown in FIG. The hardware configuration of the device 100 will be described with reference to FIG. The device 100 includes a processor 201, a memory 202, a storage 203, an output IF (Interface) 204, an input IF 205, a communication IF 206, an external device IF 207, and an internal bus 208 as main components. In one aspect, device 100 may be implemented as a server, cluster, or cloud environment by combining the hardware shown in FIG.
 プロセッサ201は、装置100の各種機能を実現するためのソフトウェア300を実行し得る。プロセッサ201は、例えば、少なくとも1つの集積回路によって構成される。集積回路は、例えば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのFPGA(Field Programmable Gate Array)、少なくとも1つのASIC(Application Specific Integrated Circuit)またはこれらの組み合わせによって構成されてもよい。 The processor 201 can execute software 300 for implementing various functions of the device 100 . Processor 201 is configured by, for example, at least one integrated circuit. Integrated circuits include, for example, at least one CPU (Central Processing Unit), at least one GPU (Graphics Processing Unit), at least one FPGA (Field Programmable Gate Array), at least one ASIC (Application Specific Integrated Circuit), or these It may be configured by a combination.
 メモリ202は、プロセッサ201によって実行されるソフトウェア300と、プロセッサ201によって参照されるデータとを格納する。ある局面において、メモリ202は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)等によって実現されてもよい。 The memory 202 stores software 300 executed by the processor 201 and data referenced by the processor 201 . In one aspect, the memory 202 may be realized by DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), or the like.
 ストレージ203は、不揮発性メモリであり、プロセッサ201によって実行されるソフトウェア300およびプロセッサ201によって参照されるデータを格納してもよい。その場合、プロセッサ201は、ストレージ203からメモリ202に読み出されたソフトウェア300を実行し、ストレージ203からメモリ202に読み出されたデータを参照する。ある局面において、ストレージ203は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)またはフラッシュメモリ等によって実現されてもよい。 The storage 203 is a non-volatile memory and may store software 300 executed by the processor 201 and data referenced by the processor 201 . In that case, the processor 201 executes the software 300 read from the storage 203 to the memory 202 and refers to the data read from the storage 203 to the memory 202 . In one aspect, the storage 203 may be realized by a HDD (Hard Disk Drive), SSD (Solid State Drive), EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), flash memory, or the like. .
 出力IF204は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等の任意の出力装置に接続され得る。ある局面において、出力IF204は、USB(Universal Serial Bus)端子、D-sub端子、DVI(Digital Visual Interface)端子およびHDMI(登録商標)(High-Definition Multimedia Interface)端子等によって実現されてもよい。 The output IF 204 can be connected to any output device such as a CRT display, a liquid crystal display, or an organic EL (Electro-Luminescence) display. In one aspect, the output IF 204 may be realized by a USB (Universal Serial Bus) terminal, a D-sub terminal, a DVI (Digital Visual Interface) terminal and an HDMI (registered trademark) (High-Definition Multimedia Interface) terminal.
 入力IF205は、キーボード、マウス、タッチパッドまたはゲームパッド等の任意の入力装置に接続され得る。ある局面において、入力IF205は、USB端子、PS/2端子およびBluetooth(登録商標)モジュール等によって実現されてもよい。 The input IF 205 can be connected to any input device such as a keyboard, mouse, touchpad or gamepad. In one aspect, the input IF 205 may be realized by a USB terminal, a PS/2 terminal, a Bluetooth (registered trademark) module, and the like.
 通信IF206は、有線または無線のネットワーク機器と接続される。ある局面において、通信IF206は、有線LAN(Local Area Network)ポートおよびWi-Fi(登録商標)(Wireless Fidelity)モジュール等によって実現されてもよい。他の局面において、通信IF206は、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)等の通信プロトコルを用いてデータを送受信してもよい。 The communication IF 206 is connected to wired or wireless network equipment. In one aspect, the communication IF 206 may be implemented by a wired LAN (Local Area Network) port, a Wi-Fi (registered trademark) (Wireless Fidelity) module, or the like. In another aspect, the communication IF 206 may transmit and receive data using communication protocols such as TCP/IP (Transmission Control Protocol/Internet Protocol) and UDP (User Datagram Protocol).
 外部機器IF207は、プリンタ、スキャナおよび外付けHDD等の任意の外部機器に接続され得る。ある局面において、外部機器IF207は、USB端子等によって実現されてもよい。 The external device IF 207 can be connected to arbitrary external devices such as printers, scanners and external HDDs. In one aspect, the external device IF 207 may be realized by a USB terminal or the like.
 内部バス208は、プロセッサ201、メモリ202、ストレージ203、出力IF204、入力IF205と、通信IF206および外部機器IF207の一部または全てを、直接的にまたは間接的に相互に通信可能に接続する。 The internal bus 208 directly or indirectly connects the processor 201, the memory 202, the storage 203, the output IF 204, the input IF 205, and part or all of the communication IF 206 and the external device IF 207 so that they can communicate with each other.
 図3は、ソフトウェア300の機能ブロックの一例を示す図である。図3を参照して、ソフトウェア300が備える機能ブロックについて説明する。ある局面において、図3に示される各機能ブロックの一部または全ては、プログラムモジュール、ライブラリ、独立して相互に通信可能なサービスとして実現されてもよい。 FIG. 3 is a diagram showing an example of functional blocks of the software 300. FIG. Functional blocks included in the software 300 will be described with reference to FIG. In one aspect, some or all of the functional blocks shown in FIG. 3 may be implemented as program modules, libraries, or services that can independently communicate with each other.
 ソフトウェア300は、主たる構成として、メモリマップ生成部301と、IP-XACT生成部302と、ハードウェア記述生成部303と、UI304とを備える。 The software 300 includes a memory map generation unit 301, an IP-XACT generation unit 302, a hardware description generation unit 303, and a UI 304 as main components.
 メモリマップ生成部301は、UI304を介して入力された各種設定から、メモリマップを生成する。生成されるメモリマップは、1つ以上のレジスタ121を含み得る。また、各レジスタ121には、初期値、属性(R属性、W属性、RW属性)、オプション(特殊機能の有無、レジスタ121(記憶領域)の有無)が設定される。メモリマップ生成部301は、生成したメモリマップをIP-XACT生成部302に出力する。 The memory map generation unit 301 generates a memory map from various settings input via the UI 304. The generated memory map may contain one or more registers 121 . An initial value, attributes (R attribute, W attribute, RW attribute), and options (presence/absence of special function, presence/absence of register 121 (storage area)) are set in each register 121 . Memory map generator 301 outputs the generated memory map to IP-XACT generator 302 .
 IP-XACT生成部302(中間ファイル生成部とも呼べる)は、メモリマップ生成部301が出力したメモリマップをIP-XACTファイル(xmlファイル)に変換する。IP-XACT生成部302は、生成したIP-XACTファイルをハードウェア記述生成部303に出力する。生成されるIP-XACTファイルは、レジスタ121の初期値、属性、オプションの情報を含む。ある局面において、IP-XACT生成部302は、メモリマップからIP-XACT(xml)ファイル以外の任意のフォーマットのファイルを生成してもよい。この場合、装置100は、生成されたIP-XACT(xml)ファイル以外のフォーマットのファイルから、ハードウェア記述を生成する。 The IP-XACT generation unit 302 (also called an intermediate file generation unit) converts the memory map output by the memory map generation unit 301 into an IP-XACT file (xml file). IP-XACT generator 302 outputs the generated IP-XACT file to hardware description generator 303 . The generated IP-XACT file contains information on the initial values of registers 121, attributes, and options. In one aspect, the IP-XACT generator 302 may generate a file of any format other than the IP-XACT(xml) file from the memory map. In this case, the device 100 generates the hardware description from a file in a format other than the generated IP-XACT(xml) file.
 ハードウェア記述生成部303は、IP-XACTファイル(xmlファイル)からハードウェア記述を生成する。生成されるハードウェア記述は、各レジスタ121の属性(R属性、W属性、RW属性)に加えて、オプションで指定された機能を実現するための記述を含む。ある局面において、ハードウェア記述生成部303は、メモリマップからハードウェア記述を直接生成してもよい。 A hardware description generation unit 303 generates a hardware description from an IP-XACT file (xml file). The generated hardware description includes, in addition to the attributes (R attribute, W attribute, RW attribute) of each register 121, a description for realizing optionally specified functions. In one aspect, hardware description generator 303 may generate the hardware description directly from the memory map.
 UI304は、メモリマップの各種設定を受付可能に構成される。ソフトウェア300がウェブアプリケーションである場合、装置100は、UI304をユーザの端末に配信する。端末は、ブラウザまたはクライアントソフトウェアを用いてUI304をディスプレイに表示し得る。また、UI304は、生成されたIP-XACTファイルおよびハードウェア記述の両方または片方を出力する。UI304は、ユーザからの操作に基づいて、生成されたIP-XACTファイルおよびハードウェア記述の両方を出力するか、いずれか片方を出力するかを決定してもよい。また、UI304は、ハードウェア記述を1つまたは複数のファイル(ハードウェア記述ファイル)として出力してもよい。 The UI 304 is configured to accept various settings of the memory map. If the software 300 is a web application, the device 100 delivers the UI 304 to the user's terminal. The terminal may use a browser or client software to display the UI 304 on the display. UI 304 also outputs the generated IP-XACT file and/or the hardware description. The UI 304 may determine whether to output both the generated IP-XACT file and the hardware description, or to output either one, based on the user's operation. UI 304 may also output the hardware description as one or more files (hardware description files).
 <C.UI304の一例>
 次に図4~図6を参照して、装置100(ソフトウェア300)が提供するUI304の一例について説明する。ユーザは、UI304を介して、初期値、属性(R属性、W属性、RW属性)に加えて、オプション(特殊機能の有無、レジスタ121の有無)を入力し得る。
<C. Example of UI 304>
Next, an example of UI 304 provided by device 100 (software 300) will be described with reference to FIGS. 4 to 6. FIG. Via the UI 304, the user can input options (presence/absence of special functions, presence/absence of register 121) in addition to initial values and attributes (R attribute, W attribute, and RW attribute).
 図4は、UI304の第1の例を示す図である。画面400は、UI304の一部である。画面400は、レジスタマップの最上位階層およびバスプロトコル情報等の設定画面である。画面400は、インターフェイス設定項目401と、モジュール名設定項目402と、データ幅設定項目403と、レジスタマップ設定項目404と、ポート設定項目405とを含む。各設定項目は、選択式の設定項目であってもよいし、入力式の設定項目であってもよい。 FIG. 4 is a diagram showing a first example of the UI 304. FIG. Screen 400 is part of UI 304 . A screen 400 is a screen for setting the highest layer of the register map, bus protocol information, and the like. Screen 400 includes interface setting item 401 , module name setting item 402 , data width setting item 403 , register map setting item 404 , and port setting item 405 . Each setting item may be a selection type setting item or an input type setting item.
 インターフェイス設定項目401は、レジスタ121にアクセスするためのバスプロトコル情報を設定するための項目である。バスプロトコル情報は、一例として、AXI4-LiteおよびAvalon等を含み得る。ハードウェア記述生成部303は、インターフェイス設定項目401に設定されたバスプロトコル情報に基づいて、バスプロトコルに必要な信号群の記述を生成する。 The interface setting item 401 is an item for setting bus protocol information for accessing the register 121 . Bus protocol information may include AXI4-Lite and Avalon, etc., as examples. Based on the bus protocol information set in the interface setting item 401, the hardware description generation unit 303 generates a description of signal groups necessary for the bus protocol.
 モジュール名設定項目402は、レジスタマップの最上位のモジュール名を設定するための項目である。 The module name setting item 402 is an item for setting the highest module name of the register map.
 データ幅設定項目403は、レジスタ121のデータ幅を設定するための項目である。
 レジスタマップ設定項目404は、レジスタ121の初期値、属性、オプションを設定するための項目である。レジスタマップ設定項目404は、メモリマップごとに複数のレジスタ121の設定を受付可能であってもよいし、メモリマップごとに1つのレジスタ121の設定を受付可能であってもよい。ある局面において、レジスタマップ設定項目404が選択されたことに基づいて、ソフトウェア300は、画面500をダイアログまたはウィンドウとして装置100のディスプレイに表示してもよい。また、他の局面において、レジスタマップ設定項目404が選択されたことに基づいて、ソフトウェア300は、画面400を画面500に遷移させてもよい。
A data width setting item 403 is an item for setting the data width of the register 121 .
A register map setting item 404 is an item for setting the initial value, attribute, and option of the register 121 . The register map setting item 404 may be able to receive settings for a plurality of registers 121 for each memory map, or may be able to receive settings for one register 121 for each memory map. In one aspect, software 300 may display screen 500 as a dialog or window on the display of device 100 based on selection of register map setting 404 . In another aspect, software 300 may cause screen 400 to transition to screen 500 based on selection of register map setting item 404 .
 ポート設定項目405は、ユーザ回路130に接続されるポートの種類である。ポート設定項目405で設定されるポートは、標準的な読込回路および書込回路以外の特殊機能の回路として使用され得る。 The port setting item 405 is the type of port connected to the user circuit 130 . The ports set in port setting item 405 can be used as special function circuits other than standard read and write circuits.
 図5は、UI304の第2の例を示す図である。画面500は、UI304の一部である。画面500は、各レジスタ121の設定画面である。装置100は、画面400,500を同時にディスプレイに表示してもよい。また、装置100は、ユーザの操作に基づいて、画面400および画面500を切り替えてディスプレイに表示してもよい。 FIG. 5 is a diagram showing a second example of the UI 304. FIG. Screen 500 is part of UI 304 . A screen 500 is a setting screen for each register 121 . Device 100 may display screens 400 and 500 simultaneously on the display. Further, the device 100 may switch between the screen 400 and the screen 500 and display them on the display based on the user's operation.
 画面500は、アドレス設定項目510と、レジスタ名設定項目520と、レジスタ設定項目530とを含む。アドレス設定項目510は、絶対アドレス設定項目511と、オフセットアドレス設定項目512とを含む。また、レジスタ設定項目530は、属性設定項目531と、初期値設定項目532と、オプション設定項目533とを含む。 The screen 500 includes an address setting item 510, a register name setting item 520, and a register setting item 530. The address setting item 510 includes an absolute address setting item 511 and an offset address setting item 512 . The register setting items 530 also include attribute setting items 531 , initial value setting items 532 , and option setting items 533 .
 アドレス設定項目510は、レジスタ121の先頭アドレスを設定するための項目である。ユーザは、絶対アドレスをレジスタ121の先頭アドレスとして絶対アドレス設定項目511に入力し得る。また、ユーザは、基準となるアドレスからのオフセットアドレスをレジスタ121の先頭アドレスとしてオフセットアドレス設定項目512に入力し得る。なお、ユーザは、絶対アドレス設定項目511およびオフセットアドレス設定項目512の片方のみにレジスタ121のアドレスを入力してもよいし、両方にレジスタ121のアドレスを入力してもよい。 The address setting item 510 is an item for setting the start address of the register 121 . The user can input an absolute address to the absolute address setting item 511 as the top address of the register 121 . Also, the user can input an offset address from the reference address to the offset address setting item 512 as the top address of the register 121 . Note that the user may enter the address of the register 121 in either one of the absolute address setting item 511 and the offset address setting item 512, or may enter the address of the register 121 in both.
 レジスタ名設定項目520は、レジスタ121の名称を設定するための項目である。レジスタ名設定項目520に設定されたレジスタ名は、IP-XACTファイルおよびハードウェア記述の生成に使用される。ある局面において、ソフトウェア300は、メモリマップからハードウェア記述を直接生成してもよい。 A register name setting item 520 is an item for setting the name of the register 121 . The register name set in the register name setting item 520 is used for generating the IP-XACT file and hardware description. In some aspects, software 300 may generate the hardware description directly from the memory map.
 レジスタ設定項目530は、レジスタ121の各種情報を設定するための項目である。属性設定項目531は、レジスタ121にR属性、W属性、RW属性のいずれかを設定するための項目である。初期値設定項目532は、レジスタ121の初期値(レジスタ121がリセットされたときにレジスタ121に入力される値)を設定するための項目である。初期値設定項目532は、レジスタ121の各ビットに初期値を設定可能に構成される。オプション設定項目533は、レジスタ121に特殊機能の回路を生成するか否か、メモリマップがレジスタ121を内包するか否か等を設定するための項目である。 The register setting item 530 is an item for setting various information of the register 121 . The attribute setting item 531 is an item for setting any of the R attribute, W attribute, and RW attribute in the register 121 . The initial value setting item 532 is an item for setting the initial value of the register 121 (the value input to the register 121 when the register 121 is reset). The initial value setting item 532 is configured so that an initial value can be set for each bit of the register 121 . The option setting item 533 is an item for setting whether or not to generate a special function circuit in the register 121, whether or not the memory map includes the register 121, and the like.
 図6は、レジスタ設定項目530に入力可能な設定値の一例を示す図である。属性設定項目531は、「RW(読書可)」、「R(読込可)」、「W(書込可)」のいずれか1つを設定可能に構成される。初期値設定項目532は、各ビットに「0」または「1」を設定可能に構成される。オプション設定項目533は、一例として、「オプションなし」、「rc」、「rs」、「sp」、「sn」を設定可能に構成される。なお、図6に示されるオプション設定項目533の選択項目は一例であり、オプション設定項目533の選択項目はこれに限られる訳ではない。ある局面において、オプション設定項目533は、特殊機能の回路、レジスタ121の有無の組み合わせに基づいて、図6に例示されるオプション以外の任意のオプションを設定可能に構成されてもよい。また、オプションの種類は、「オプションなし」、「rc」、「rs」、「sp」、「sn」以外の英数字等の組み合わせで表現されてもよい。 FIG. 6 is a diagram showing an example of setting values that can be input to the register setting items 530. FIG. The attribute setting item 531 is configured such that any one of “RW (readable)”, “R (readable)”, and “W (writable)” can be set. The initial value setting item 532 is configured so that each bit can be set to “0” or “1”. As an example, the option setting item 533 is configured so that "no option", "rc", "rs", "sp", and "sn" can be set. Note that the selection items of the option setting items 533 shown in FIG. 6 are only examples, and the selection items of the option setting items 533 are not limited to these. In one aspect, the option setting item 533 may be configured to be able to set arbitrary options other than the options illustrated in FIG. Also, the option type may be expressed by a combination of alphanumeric characters other than "no option", "rc", "rs", "sp", and "sn".
 「sp」は、図15または図17に記載されるポートを有する回路を生成するためのオプションである。「sn」は、「sp」の構造からレジスタ121を排除した内部構造を有する回路を生成するためのオプションである。レジスタ121を排除した内部構造を有する回路とは、フリップフロップ回路による記憶領域を有さない回路であり、書込回路および読込回路は有していてもよい。「rs」は、「sp」と同じ回路を生成し、さらに、上位階層で読込時にレジスタ値を0にクリアする補助コードを自動生成するオプションである。「rs」は、「sp」と同じ回路を生成し、さらに、上位階層で読込時にレジスタ値を1にセットする補助コードを自動生成するオプションである。 "sp" is an option for creating a circuit with ports as described in FIG. 15 or FIG. "sn" is an option for generating a circuit with an internal structure that excludes register 121 from the structure of "sp". A circuit having an internal structure excluding the register 121 is a circuit that does not have a storage area due to a flip-flop circuit, and may have a write circuit and a read circuit. "rs" is an option that generates the same circuit as "sp" and automatically generates an auxiliary code that clears the register value to 0 when reading in the upper layer. "rs" is an option that generates the same circuit as "sp" and automatically generates auxiliary code that sets the register value to 1 at the time of reading in the upper hierarchy.
 <D.生成されるハードウェア記述および回路の一例>
 次に、図7~図19を参照して、装置100(ソフトウェア300)により生成されるハードウェア記述および当該ハードウェア記述に対応する回路について説明する。図7および図8に示されるハードウェア記述700,800は、主に画面400の設定内容に基づいて生成される(属性情報等は画面500の設定内容を含み得る)。図9~19に示されるハードウェア記述および回路は、主に画面500の設定内容に基づいて生成される。
<D. Example of Generated Hardware Description and Circuit>
Next, the hardware description generated by device 100 (software 300) and a circuit corresponding to the hardware description will be described with reference to FIGS. 7 to 19. FIG. The hardware descriptions 700 and 800 shown in FIGS. 7 and 8 are generated mainly based on the setting contents of the screen 400 (attribute information and the like may include the setting contents of the screen 500). The hardware descriptions and circuits shown in FIGS. 9-19 are generated primarily based on the settings on screen 500. FIG.
 図7は、ハードウェア記述における最上位階層の記述の一例を示す図である。ハードウェア記述生成部303は、画面400,500の設定内容に基づいて、図7に示されるようなメモリマップの最上位階層のハードウェア記述700を生成する。 FIG. 7 is a diagram showing an example of the description of the highest hierarchy in the hardware description. The hardware description generation unit 303 generates a hardware description 700 of the highest layer of the memory map as shown in FIG.
 図8は、ハードウェア記述におけるバスプロトコル制御の記述の一例を示す図である。ハードウェア記述生成部303は、インターフェイス設定項目401の設定内容に基づいて、図8に示されるようなバスプロトコル制御のハードウェア記述800を生成する。バスプロトコル制御の記述は、メモリマップのサブ階層のハードウェア記述として生成される。 FIG. 8 is a diagram showing an example of description of bus protocol control in hardware description. The hardware description generation unit 303 generates a bus protocol control hardware description 800 as shown in FIG. A bus protocol control description is generated as a hardware description of a sub-hierarchy of the memory map.
 装置100(ソフトウェア300)は、さらに、メモリマップのサブ階層のハードウェア記述の1つとして、レジスタ121のハードウェア記述を生成する。当該レジスタ121のハードウェア記述は、レジスタ121の属性、初期値、オプションの設定内容を含む。以下、レジスタ設定項目530の設定内容ごとに、レジスタ121のハードウェア記述および当該レジスタ121のハードウェア記述に対応する回路について説明する。 The device 100 (software 300) further generates a hardware description of the register 121 as one of the hardware descriptions of the subhierarchies of the memory map. The hardware description of the register 121 includes the setting contents of attributes, initial values, and options of the register 121 . A hardware description of the register 121 and a circuit corresponding to the hardware description of the register 121 will be described below for each setting content of the register setting item 530 .
  (a.RW属性の回路例)
 図9および図10を参照して、属性設定項目531の値が「RW(読書可)」であるときの、レジスタ121のハードウェア記述および当該レジスタ121のハードウェア記述に対応する回路の一例について説明する。なお、オプション設定項目533の値は、「オプションなし」であるとする。
(a. Circuit example with RW attribute)
9 and 10, an example of a hardware description of register 121 and a circuit corresponding to the hardware description of register 121 when attribute setting item 531 has a value of "RW (readable)". explain. It is assumed that the value of the option setting item 533 is "no option".
 図9は、RW属性のレジスタ121のハードウェア記述の一例を示す図である。ハードウェア記述900は、属性設定項目531の値が「RW(読書可)」であり、オプション設定項目533の値が「オプションなし」である場合に自動生成されるハードウェア記述の一例である。ハードウェア記述900は、通常のハードウェア記述(RW属性のレジスタ121の記述)に加えて、ユーザ回路130が、バスプロトコル制御回路122を使用せずにレジスタ121の現在値を読み出すためのポート1006(図10参照)の記述910を含む。 FIG. 9 is a diagram showing an example of the hardware description of the RW attribute register 121. FIG. A hardware description 900 is an example of a hardware description that is automatically generated when the value of the attribute setting item 531 is "RW (readable)" and the value of the option setting item 533 is "no option". The hardware description 900 includes a normal hardware description (description of the register 121 with RW attribute) and a port 1006 for the user circuit 130 to read the current value of the register 121 without using the bus protocol control circuit 122 . (see FIG. 10).
 装置100は、メモリマップに基づいて、通常のRW属性以外の特殊機能の回路(レジスタ121の現在値をユーザ回路130に出力するポート)に関する記述910を生成する。当該記述910により、ユーザ回路130は、バスプロトコル制御回路122を介することなく、レジスタ121の現在値を利用可能になる。また、ハードウェアの設計変更が発生した場合でも、装置100は、画面400,500を介して入力された設定に基づいて、記述910を自動生成する。そのため、装置100は、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ等を防止し得る。 Based on the memory map, the device 100 generates a description 910 related to a special function circuit (a port that outputs the current value of the register 121 to the user circuit 130) other than the normal RW attribute. The description 910 makes the current value of the register 121 available to the user circuit 130 without going through the bus protocol control circuit 122 . Moreover, even if a hardware design change occurs, the device 100 automatically generates the description 910 based on the settings input via the screens 400 and 500 . Therefore, the apparatus 100 can prevent the omission of reflecting the description of the special function to the document or circuit (hardware description) when the hardware is modified.
 図10は、ハードウェア記述900に対応する回路の一例を示す模式図である。回路1000は、RW属性のレジスタ121の回路である。より具体的には、回路1000は、レジスタ121におけるデータを保存するフリップフロップ回路1005およびその周辺回路からなる。また、回路1000は、回路120(メモリマップの回路)の一部(1つのレジスタ121に対応する回路)である。 FIG. 10 is a schematic diagram showing an example of a circuit corresponding to the hardware description 900. FIG. The circuit 1000 is the circuit of the RW attribute register 121 . More specifically, circuit 1000 consists of a flip-flop circuit 1005 that stores data in register 121 and its peripheral circuits. In addition, the circuit 1000 is part of the circuit 120 (memory map circuit) (circuit corresponding to one register 121).
 回路1000は、主な構成として、バス回路1001と、読込回路1002と、書込回路1003と、セレクタ1004と、フリップフロップ回路1005と、ポート1006とを備える。図9の例では、図の簡略化のためにフリップフロップ回路1005を1つしか記載していないが、レジスタ121は、データ幅設定項目403で設定されたデータ幅に対応する記憶領域(フリップフロップ回路1005)を有する。 The circuit 1000 includes a bus circuit 1001, a read circuit 1002, a write circuit 1003, a selector 1004, a flip-flop circuit 1005, and a port 1006 as main components. In the example of FIG. 9, only one flip-flop circuit 1005 is shown for simplification of the drawing, but the register 121 is a storage area (flip-flop circuit) corresponding to the data width set in the data width setting item 403. circuit 1005).
 バス回路1001は、インターフェイス設定項目401に設定されたプロトコルで通信するための回路である。バス回路1001は、バスプロトコル制御回路122の一部、または、レジスタ121ごとに生成されるバスプロトコル制御回路122である。外部の回路は、通常、バス回路1001を介して、レジスタ121に読込処理および書込処理を実行する。 The bus circuit 1001 is a circuit for communicating with the protocol set in the interface setting item 401. The bus circuit 1001 is a part of the bus protocol control circuit 122 or the bus protocol control circuit 122 generated for each register 121 . External circuitry typically performs read and write operations to register 121 via bus circuit 1001 .
 読込回路1002は、レジスタ121に格納されたデータ(フリップフロップ回路1005に保存された値)を読み出す処理(リードアクセス)のための回路である。読込回路1002は、バス回路1001(バスプロトコル制御回路122)を介して、レジスタ121(フリップフロップ回路1005)に格納されるデータを外部の回路に出力する。 The read circuit 1002 is a circuit for processing (read access) to read the data stored in the register 121 (the value stored in the flip-flop circuit 1005). Read circuit 1002 outputs data stored in register 121 (flip-flop circuit 1005) to an external circuit via bus circuit 1001 (bus protocol control circuit 122).
 書込回路1003は、レジスタ121(フリップフロップ回路1005)にデータを書き込む処理(ライトアクセス)のための回路である。書込回路1003は、バス回路1001(バスプロトコル制御回路122)を介して、外部の回路から取得したデータをレジスタ121(フリップフロップ回路1005)に書き込む。 The write circuit 1003 is a circuit for writing data (write access) to the register 121 (flip-flop circuit 1005). The write circuit 1003 writes data acquired from an external circuit to the register 121 (flip-flop circuit 1005) via the bus circuit 1001 (bus protocol control circuit 122).
 セレクタ1004は、フリップフロップ回路1005へのデータの書き込みタイミングを制御する。例えば、セレクタ1004は、書込回路1003からライトアクセス通知を入力されたタイミングでフリップフロップ回路1005へのデータの書き込みを実行してもよい。 A selector 1004 controls the timing of writing data to the flip-flop circuit 1005 . For example, the selector 1004 may write data to the flip-flop circuit 1005 at the timing of receiving the write access notification from the write circuit 1003 .
 フリップフロップ回路1005は、1ビットの情報を保存する。レジスタ121は、1つ以上のフリップフロップ回路1005を記憶領域として備える。 The flip-flop circuit 1005 stores 1-bit information. The register 121 has one or more flip-flop circuits 1005 as storage areas.
 ポート1006は、ユーザ回路130がレジスタ121(フリップフロップ回路1005)の現在値を取得するためのポート(通信回路)である。ポート1006は、読込回路1002および書込回路1003と異なり、バス回路1001を経由せずに、ユーザ回路130に接続される。ポート1006は、記述910に対応する。ある局面において、ポート1006は、レジスタ121単位でデータを読み出す回路であってもよい。この場合、レジスタ121のデータ幅が16ビットであるとき、ポート1006は、16ビット単位でデータを読み出す。他の局面において、ポート1006は、レジスタ121の各ビット単位でデータを読み出す回路であってもよい。 A port 1006 is a port (communication circuit) for the user circuit 130 to acquire the current value of the register 121 (flip-flop circuit 1005). Port 1006 is connected to user circuit 130 without going through bus circuit 1001 unlike read circuit 1002 and write circuit 1003 . Port 1006 corresponds to description 910 . In one aspect, port 1006 may be a circuit that reads data on a register 121 basis. In this case, when the data width of the register 121 is 16 bits, the port 1006 reads data in units of 16 bits. In other aspects, port 1006 may be a circuit that reads data bit by bit from register 121 .
  (b.W属性の回路例)
 図11および図12を参照して、属性設定項目531の値が「W(書込可)」であるときの、レジスタ121のハードウェア記述および当該レジスタ121のハードウェア記述に対応する回路の一例について説明する。なお、オプション設定項目533の値は、「オプションなし」であるとする。
(b. W attribute circuit example)
11 and 12, an example of a hardware description of register 121 and a circuit corresponding to the hardware description of register 121 when attribute setting item 531 has a value of "W (writable)". will be explained. It is assumed that the value of the option setting item 533 is "no option".
 図11は、W属性のレジスタ121のハードウェア記述の一例を示す図である。ハードウェア記述1100は、属性設定項目531の値が「W(書込可)」であり、オプション設定項目533の値が「オプションなし」である場合に自動生成されるハードウェア記述の一例である。ハードウェア記述1100は、通常のハードウェア記述(W属性(ライトオンリー)のレジスタ121の記述)に加えて、ユーザ回路130が、バスプロトコル制御回路122を使用せずにレジスタ121の現在値を読み出すためのポート1006の記述1110を含む。 FIG. 11 is a diagram showing an example of the hardware description of the W-attribute register 121. FIG. A hardware description 1100 is an example of a hardware description automatically generated when the value of the attribute setting item 531 is "W (writable)" and the value of the option setting item 533 is "no option". . The hardware description 1100 is a normal hardware description (description of the W attribute (write-only) register 121), and the user circuit 130 reads the current value of the register 121 without using the bus protocol control circuit 122. contains a description 1110 of the port 1006 for
 装置100は、メモリマップに基づいて、通常のW属性以外の特殊機能の回路(レジスタ121の現在値をユーザ回路130に出力するポート)に関する記述1110を生成する。当該記述1110により、ユーザ回路130は、バスプロトコル制御回路122を介することなく、レジスタ121の現在値を利用可能になる。また、ハードウェアの設計変更が発生した場合でも、装置100は、画面400,500を介して入力された設定に基づいて、記述1110を自動生成する。そのため、装置100は、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ等を防止し得る。 Based on the memory map, the device 100 generates a description 1110 regarding a special function circuit (a port that outputs the current value of the register 121 to the user circuit 130) other than the normal W attribute. The description 1110 makes the current value of the register 121 available to the user circuit 130 without going through the bus protocol control circuit 122 . Moreover, even if a hardware design change occurs, the device 100 automatically generates the description 1110 based on the settings input through the screens 400 and 500 . Therefore, the apparatus 100 can prevent the omission of reflecting the description of the special function to the document or circuit (hardware description) when the hardware is modified.
 図12は、ハードウェア記述1100に対応する回路の一例を示す模式図である。回路1200は、W属性のレジスタ121の回路である。回路1200は、回路1000に対して、読込回路1002の接続が異なる。読込回路1002は、フリップフロップ回路1005に接続されておらず、常に初期値(または読込不可を示す値)を読み出すように構成される。 FIG. 12 is a schematic diagram showing an example of a circuit corresponding to the hardware description 1100. FIG. Circuit 1200 is the circuit of W attribute register 121 . Circuit 1200 differs from circuit 1000 in the connection of read circuit 1002 . The read circuit 1002 is not connected to the flip-flop circuit 1005, and is configured to always read an initial value (or a value indicating unreadable).
 なお、図9~図12の例において、装置100(ソフトウェア300)は、オプション設定項目533の値が「オプションなし」の場合でも、レジスタ121(フリップフロップ回路1005)の現在値を取得するためのポート(通信回路)の記述を生成している。しかしながら、装置100は、オプション設定項目533の値が「オプションなし」の場合、必ずしもレジスタ121の現在値を取得するためのポート(通信回路)の記述を生成しなくてもよい。ある局面において、オプション設定項目533は、レジスタ121(フリップフロップ回路1005)の現在値を取得するためのポート(通信回路)の記述を生成するか否かを選択可能に構成されてもよい。 In the examples of FIGS. 9 to 12, the device 100 (software 300) is configured to acquire the current value of the register 121 (flip-flop circuit 1005) even when the value of the option setting item 533 is "no option". A description of the port (communication circuit) is generated. However, if the value of option setting item 533 is "no option", device 100 does not necessarily need to generate the description of the port (communication circuit) for obtaining the current value of register 121 . In one aspect, option setting item 533 may be configured to select whether to generate a description of a port (communication circuit) for obtaining the current value of register 121 (flip-flop circuit 1005).
  (c.R属性の回路例)
 図13は、R属性の回路の一例を示す模式図である。回路1300は、属性設定項目531の値が「R(読込可)」であり、オプション設定項目533の値が「オプションなし」である場合に自動生成されるハードウェア記述に対応する回路である。回路1300は、回路1000,1200と異なり、バス回路1001、読込回路1002、ポート1310を備え、書込回路1003およびフリップフロップ回路1005等を備えない。
(c. Example of circuit with R attribute)
FIG. 13 is a schematic diagram showing an example of an R-attribute circuit. A circuit 1300 corresponds to a hardware description automatically generated when the value of the attribute setting item 531 is "R (readable)" and the value of the option setting item 533 is "no option". Unlike circuits 1000 and 1200, circuit 1300 includes bus circuit 1001, read circuit 1002 and port 1310, but does not include write circuit 1003, flip-flop circuit 1005 and the like.
 装置100は、属性設定項目531の値が「R(読込可)」であるとき、R属性の記述に加えて、特殊機能の回路(ユーザ回路から入力された値を、読込回路1002に出力するためのポート1310)の記述を生成する。多くのベンダーは、R属性(リードオンリー)の回路に、他の回路と接続するためのポートを設ける。その際、他の回路と接続するためのポートのハードウェア記述は手動で追加される。これに対して、装置100は、IP-XACTファイルを介して、ポート1310の記述を含むハードウェア記述を生成することで、ハードウェアに依存せずに、他の回路と接続するためのポート1310の記述を自動生成し得る。ある局面において、ポート1310は、レジスタ121単位でデータをレジスタ121に入力する回路であってもよい。この場合、レジスタ121のデータ幅が16ビットであるとき、ポート1310は、16ビット単位でデータをレジスタ121に入力する。他の局面において、ポート1310は、レジスタ121の各ビット単位でデータをレジスタ121に入力する回路であってもよい。 When the value of the attribute setting item 531 is "R (readable)", the device 100 outputs the value input from the special function circuit (user circuit) to the reading circuit 1002 in addition to the description of the R attribute. generate a description of the port 1310) for Many vendors provide R-attribute (read-only) circuits with ports for connecting to other circuits. At that time, hardware descriptions of ports for connecting with other circuits are added manually. On the other hand, the device 100 generates the hardware description including the description of the port 1310 through the IP-XACT file, so that the port 1310 for connecting with other circuits is independent of the hardware. description can be automatically generated. In one aspect, port 1310 may be a circuit that inputs data to registers 121 on a register-by-register basis. In this case, when the data width of the register 121 is 16 bits, the port 1310 inputs data to the register 121 in units of 16 bits. In another aspect, port 1310 may be a circuit that inputs data to register 121 for each bit of register 121 .
 ポート1310のハードウェア記述により、ユーザ回路130は、リードアクセス発生時に読込回路1002にユーザ回路130から入力された値を出力することが可能となる。また、装置100は、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ等を防止し得る。 The hardware description of the port 1310 enables the user circuit 130 to output the value input from the user circuit 130 to the read circuit 1002 when read access occurs. In addition, the device 100 can prevent the omission of reflecting the description of the special function to the document or the circuit (hardware description) when the hardware is modified.
  (d.「sp」オプションの第1の回路例)
 図14よび図15を参照して、オプション設定項目533の値が「sp」であるときの、レジスタ121のハードウェア記述および当該レジスタ121のハードウェア記述に対応する回路の第1の例について説明する。
(d. First circuit example of "sp" option)
A first example of a hardware description of the register 121 and a circuit corresponding to the hardware description of the register 121 when the value of the option setting item 533 is "sp" will be described with reference to FIGS. 14 and 15. do.
 図14は、オプション設定項目533の値が「sp」であるときのレジスタ121のハードウェア記述の第1の例を示す図である。ハードウェア記述1400は、オプション設定項目533の値が「sp」である場合に自動生成されるハードウェア記述の一例である。 FIG. 14 is a diagram showing a first example of hardware description of the register 121 when the value of the option setting item 533 is "sp". A hardware description 1400 is an example of a hardware description automatically generated when the value of the option setting item 533 is "sp".
 ハードウェア記述1400は、通常のハードウェア記述(RW属性等)に加えて、特殊機能の回路であるポート1501,1502,1503,1504,1505(図15参照)のハードウェア記述を含む。各ポートの機能については図15を参照して後述する。ある局面において、オプション設定項目533の値が「sp」である場合、装置100は、特殊機能の回路であるポート1501,1502,1503,1504,1505の記述を全て生成してもよい。他の局面において、オプション設定項目533は、ポート1501,1502,1503,1504,1505の有無を個別に設定可能に構成されてもよい。この場合、装置100は、ポート1501,1502,1503,1504,1505のうち、オプション設定項目533で有効にされたポートの記述のみを生成する。また、他の局面において、各ポートは、レジスタ121に対してレジスタ121単位でデータを入力または出力する回路であってもよい。この場合、レジスタ121のデータ幅が16ビットであるとき、各ポートは、レジスタ121に対して16ビット単位でデータを入力または出力する。他の局面において、各ポートは、レジスタ121に対してビット単位でデータを入力または出力する回路であってもよい。 The hardware description 1400 includes hardware descriptions of ports 1501, 1502, 1503, 1504, and 1505 (see FIG. 15), which are special function circuits, in addition to normal hardware descriptions (RW attributes, etc.). The function of each port will be described later with reference to FIG. In one aspect, if the value of option setting 533 is "sp", device 100 may generate descriptions for all ports 1501, 1502, 1503, 1504, 1505 that are special function circuits. In another aspect, the option setting item 533 may be configured so that the presence or absence of the ports 1501, 1502, 1503, 1504, and 1505 can be individually set. In this case, the device 100 generates only the description of the port enabled by the option setting item 533 among the ports 1501 , 1502 , 1503 , 1504 and 1505 . In another aspect, each port may be a circuit that inputs or outputs data to or from registers 121 in units of registers 121 . In this case, when the data width of the register 121 is 16 bits, each port inputs or outputs data to the register 121 in units of 16 bits. In another aspect, each port may be a circuit that inputs or outputs data to register 121 on a bit-by-bit basis.
 装置100は、メモリマップに基づいて、通常のR,W,RW属性以外の特殊機能の回路(ポート1501,1502,1503,1504,1505の少なくとも一部)に関する記述を生成する。また、ハードウェアの設計変更が発生した場合でも、装置100は、画面400,500を介して入力された設定に基づいて、特殊機能の回路に関する記述を自動生成する。そのため、装置100は、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ等を防止し得る。 Based on the memory map, the device 100 generates descriptions of special function circuits (at least part of the ports 1501, 1502, 1503, 1504, and 1505) other than the normal R, W, and RW attributes. Moreover, even if a hardware design change occurs, the device 100 automatically generates a description of the special function circuit based on the settings input via the screens 400 and 500 . Therefore, the apparatus 100 can prevent the omission of reflecting the description of the special function to the document or circuit (hardware description) when the hardware is modified.
 図15は、ハードウェア記述1400に対応する回路の一例を示す模式図である。回路1500は、オプション設定項目533の値が「sp」の場合のレジスタ121の回路である。回路1500は、バス回路1001と、読込回路1002と、書込回路1003と、フリップフロップ回路1005と、ポート1501,1502,1503,1504,1505とを備える。 FIG. 15 is a schematic diagram showing an example of a circuit corresponding to the hardware description 1400. FIG. A circuit 1500 is a circuit of the register 121 when the value of the option setting item 533 is "sp". Circuit 1500 comprises bus circuit 1001 , read circuit 1002 , write circuit 1003 , flip-flop circuit 1005 , and ports 1501 , 1502 , 1503 , 1504 and 1505 .
 ポート1501は、ユーザ回路130から読込回路1002に値を出力するためのポートである。外部の回路からバス回路1001を介するリードアクセスが発生した場合、回路1500は、読込回路1002およびバス回路1001を介して、ポート1501から入力された値を外部の回路に出力する。 A port 1501 is a port for outputting a value from the user circuit 130 to the read circuit 1002 . When a read access via bus circuit 1001 occurs from an external circuit, circuit 1500 outputs the value input from port 1501 to the external circuit via read circuit 1002 and bus circuit 1001 .
 ポート1502は、ユーザ回路130がレジスタ121(フリップフロップ回路1005)の現在値を取得するためのポートである。ポート1502は、バス回路1001を経由せずに、ユーザ回路130に接続される。ユーザ回路130は、ポート1502を使用することで、バスプロトコル制御回路122を介することなく、レジスタ121の現在値を取得し得る。 A port 1502 is a port for the user circuit 130 to acquire the current value of the register 121 (flip-flop circuit 1005). Port 1502 is connected to user circuit 130 without going through bus circuit 1001 . User circuit 130 can obtain the current value of register 121 without going through bus protocol control circuit 122 by using port 1502 .
 ポート1503は、ユーザ回路130がレジスタ121(フリップフロップ回路1005)に更新値を入力するためのポートである。フリップフロップ回路1005の値は、書込回路1003から入力される信号ではなく、ポート1503から入力される信号によって書き換えられる。ユーザ回路130は、ポート1502を使用することで、バスプロトコル制御回路122を介することなく、レジスタ121の値を更新し得る。 A port 1503 is a port for the user circuit 130 to input an update value to the register 121 (flip-flop circuit 1005). The value of flip-flop circuit 1005 is rewritten by a signal input from port 1503 instead of a signal input from write circuit 1003 . User circuit 130 can update the value of register 121 without going through bus protocol control circuit 122 by using port 1502 .
 ポート1504は、書込回路1003によるライトアクセスが発生したことをユーザ回路130に通知するためのポートである。ユーザ回路130は、ポート1504から取得するライトアクセスが発生したことを示す信号に基づいて、ライトアクセス発生時に任意の処理(フリップフロップ回路1005の値を更新する処理等)を実行し得る。 A port 1504 is a port for notifying the user circuit 130 that write access by the write circuit 1003 has occurred. The user circuit 130 can execute arbitrary processing (such as updating the value of the flip-flop circuit 1005) when a write access occurs based on a signal obtained from the port 1504 and indicating that the write access has occurred.
 ポート1505は、書込回路1003によって入力された値をユーザ回路130に出力するためのポートである。ユーザ回路130は、ポート1505から取得した値に基づいて、任意の処理(ポート1503に出力する値を変更する処理等)を実行し得る。 A port 1505 is a port for outputting the value input by the write circuit 1003 to the user circuit 130 . User circuit 130 can execute arbitrary processing (such as processing to change the value output to port 1503 ) based on the value obtained from port 1505 .
  (e.「sp」オプションの第2の回路例)
 図16よび図17を参照して、オプション設定項目533の値が「sp」であるときの、レジスタ121のハードウェア記述および当該レジスタ121のハードウェア記述に対応する回路の第2の例について説明する。
(e. Second circuit example of "sp" option)
A second example of the hardware description of the register 121 and the circuit corresponding to the hardware description of the register 121 when the value of the option setting item 533 is "sp" will be described with reference to FIGS. 16 and 17. do.
 図16は、オプション設定項目533の値が「sp」であるときのレジスタ121のハードウェア記述の第2の例を示す図である。ハードウェア記述の第2の例は、ハードウェア記述1400にさらにハードウェア記述1600を加えた記述である。ハードウェア記述1600は、ポート1706(図17参照)に関する記述である。ポート1706の機能については図17を参照して後述する。 FIG. 16 is a diagram showing a second example of the hardware description of the register 121 when the value of the option setting item 533 is "sp". A second example of the hardware description is a description obtained by adding hardware description 1600 to hardware description 1400 . The hardware description 1600 is a description regarding the port 1706 (see FIG. 17). The function of port 1706 is described below with reference to FIG.
 ある局面において、オプション設定項目533の値が「sp」である場合、装置100は、特殊機能の回路であるポート1501,1502,1503,1504,1505,1706のハードウェア記述を全て生成してもよい。他の局面において、オプション設定項目533は、ポート1501,1502,1503,1504,1505,1706の有無を個別に設定可能に構成されてもよい。この場合、装置100は、ポート1501,1502,1503,1504,1505,1706のうち、オプション設定項目533で有効にされたポートのハードウェア記述のみを生成する。また、他の局面において、各ポートは、レジスタ121に対してレジスタ121単位でデータを入力または出力する回路であってもよい。この場合、レジスタ121のデータ幅が16ビットであるとき、各ポートは、レジスタ121に対して16ビット単位でデータを入力または出力する。他の局面において、各ポートは、レジスタ121に対してビット単位でデータを入力または出力する回路であってもよい。 In one aspect, if the value of option setting item 533 is “sp”, device 100 may generate hardware descriptions for all ports 1501, 1502, 1503, 1504, 1505, and 1706, which are special function circuits. good. In another aspect, the option setting item 533 may be configured so that the presence or absence of ports 1501, 1502, 1503, 1504, 1505, and 1706 can be individually set. In this case, the device 100 generates only the hardware description of the port enabled by the option setting item 533 among the ports 1501, 1502, 1503, 1504, 1505, and 1706. FIG. In another aspect, each port may be a circuit that inputs or outputs data to or from registers 121 in units of registers 121 . In this case, when the data width of the register 121 is 16 bits, each port inputs or outputs data to the register 121 in units of 16 bits. In another aspect, each port may be a circuit that inputs or outputs data to register 121 on a bit-by-bit basis.
 装置100は、メモリマップに基づいて、通常のR,W,RW属性以外の特殊機能の回路(ポート1501,1502,1503,1504,1505,1706の少なくとも一部)に関する記述を生成する。また、ハードウェアの設計変更が発生した場合でも、装置100は、画面400,500を介して入力された設定に基づいて、特殊機能の回路に関する記述を自動生成する。そのため、装置100は、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ等を防止し得る。 Based on the memory map, the device 100 generates a description of special function circuits (at least some of the ports 1501, 1502, 1503, 1504, 1505, and 1706) other than the normal R, W, and RW attributes. Moreover, even if a hardware design change occurs, the device 100 automatically generates a description of the special function circuit based on the settings input via the screens 400 and 500 . Therefore, the apparatus 100 can prevent the omission of reflecting the description of the special function to the document or circuit (hardware description) when the hardware is modified.
 図17は、ハードウェア記述1600に対応する回路の一例を示す模式図である。回路1700は、オプション設定項目533の値が「sp」の場合のレジスタ121の回路である。回路1700は、回路1500の構成に加えてポート1706を備える。 FIG. 17 is a schematic diagram showing an example of a circuit corresponding to the hardware description 1600. FIG. A circuit 1700 is a circuit of the register 121 when the value of the option setting item 533 is "sp". Circuit 1700 has a port 1706 in addition to the components of circuit 1500 .
 ポート1706は、読込回路1002によるリードアクセスが発生したことをユーザ回路130に通知するためのポートである。ユーザ回路130は、ポート1706から取得するリードアクセスが発生したことを示す信号に基づいて、リードアクセス発生時に任意の処理(リードアクセス発生時にフリップフロップ回路1005の値をクリアする処理等)を実行し得る。 A port 1706 is a port for notifying the user circuit 130 that a read access by the read circuit 1002 has occurred. The user circuit 130 executes arbitrary processing (such as processing to clear the value of the flip-flop circuit 1005 when a read access occurs) based on a signal indicating that a read access has occurred and is acquired from the port 1706 . obtain.
  (f.「sn」オプションの回路例)
 図18よび図19を参照して、オプション設定項目533の値が「sn」であるときの、レジスタ121のハードウェア記述および当該レジスタ121のハードウェア記述に対応する回路の一例について説明する。
(f. "sn" option circuit example)
An example of a hardware description of the register 121 and a circuit corresponding to the hardware description of the register 121 when the value of the option setting item 533 is "sn" will be described with reference to FIGS. 18 and 19. FIG.
 図18は、オプション設定項目533の値が「sn」であるときのレジスタ121のハードウェア記述の一例を示す図である。ハードウェア記述1800は、オプション設定項目533の値が「sn」である場合に自動生成されるハードウェア記述の一例である。「sn」オプションは、メモリマップの回路(回路120)にレジスタ121を内包させないためのオプションである。「sn」オプションが有効である場合、装置100は、レジスタ121(1つ以上のフリップフロップ回路1005)のハードウェア記述を生成せずに、レジスタ121の周辺回路のハードウェア記述を生成する。また、「sn」オプションが有効である場合、装置100は、「sp」オプションが有効である場合と同様に、特殊機能の回路(ポート1501,1502,1503,1504,1505、1706等)のハードウェア記述を生成する。 FIG. 18 is a diagram showing an example of hardware description of the register 121 when the value of the option setting item 533 is "sn". A hardware description 1800 is an example of a hardware description automatically generated when the value of the option setting item 533 is "sn". The “sn” option is an option for not including the register 121 in the memory-mapped circuit (circuit 120). If the "sn" option is enabled, device 100 generates a hardware description of the peripheral circuitry of register 121 without generating a hardware description of register 121 (one or more flip-flop circuits 1005). In addition, when the "sn" option is enabled, the device 100 hard-wires special function circuits ( ports 1501, 1502, 1503, 1504, 1505, 1706, etc.) in the same way as when the "sp" option is enabled. Generate a hardware description.
 ある局面において、オプション設定項目533の値が「sn」である場合、装置100は、特殊機能の回路であるポート1501,1502,1503,1504,1505,1706のハードウェア記述を全て生成してもよい。他の局面において、オプション設定項目533は、ポート1501,1502,1503,1504,1505,1706の有無を個別に設定可能に構成されてもよい。この場合、装置100は、ポート1501,1502,1503,1504,1505,1706のうち、オプション設定項目533で有効にされたポートのハードウェア記述のみを生成する。また、他の局面において、各ポートは、レジスタ121に対してレジスタ121単位でデータを入力または出力する回路であってもよい。この場合、レジスタ121のデータ幅が16ビットであるとき、各ポートは、レジスタ121に対して16ビット単位でデータを入力または出力する。他の局面において、各ポートは、レジスタ121に対してビット単位でデータを入力または出力する回路であってもよい。 In one aspect, if the value of option setting item 533 is “sn”, device 100 may generate hardware descriptions of ports 1501, 1502, 1503, 1504, 1505, and 1706 that are special function circuits. good. In another aspect, the option setting item 533 may be configured so that the presence or absence of ports 1501, 1502, 1503, 1504, 1505, and 1706 can be individually set. In this case, the device 100 generates only the hardware description of the port enabled by the option setting item 533 among the ports 1501, 1502, 1503, 1504, 1505, and 1706. FIG. In another aspect, each port may be a circuit that inputs or outputs data to or from registers 121 in units of registers 121 . In this case, when the data width of the register 121 is 16 bits, each port inputs or outputs data to the register 121 in units of 16 bits. In another aspect, each port may be a circuit that inputs or outputs data to register 121 on a bit-by-bit basis.
 装置100は、メモリマップに基づいて、通常のR,W,RW属性以外の特殊機能の回路に関するハードウェア記述を生成する。また、ハードウェアの設計変更が発生した場合でも、装置100は、画面400,500を介して入力された設定に基づいて、特殊機能の回路に関する記述を自動生成する。そのため、装置100は、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ等を防止し得る。 Based on the memory map, the device 100 generates a hardware description regarding circuits with special functions other than the normal R, W, RW attributes. Moreover, even if a hardware design change occurs, the device 100 automatically generates a description of the special function circuit based on the settings input via the screens 400 and 500 . Therefore, the apparatus 100 can prevent the omission of reflecting the description of the special function to the document or circuit (hardware description) when the hardware is modified.
 図19は、ハードウェア記述1800に対応する回路の一例を示す模式図である。回路1700は、オプション設定項目533の値が「sn」の場合のレジスタ121の回路である。回路1900は、回路1700と同様にポート1501,1502,1503,1504,1505、1706を備える。ただし、回路1900は、フリップフロップ回路1005を備えない。また、ポート1503は、フリップフロップ回路1005の代わりに、ポート1502に接続される。 FIG. 19 is a schematic diagram showing an example of a circuit corresponding to the hardware description 1800. FIG. A circuit 1700 is the circuit of the register 121 when the value of the option setting item 533 is "sn". Circuit 1900 has ports 1501 , 1502 , 1503 , 1504 , 1505 , 1706 similar to circuit 1700 . However, circuit 1900 does not include flip-flop circuit 1005 . Also, port 1503 is connected to port 1502 instead of flip-flop circuit 1005 .
 回路120(メモリマップの回路)がレジスタ121を内包する場合において、レジスタ121が使用されないとき、ポート1503の入力信号には何らかの処置が施される必要がある。なぜならば、ポート1503の入力電圧が、不定、または、ハイインピーダンス等による中間電位になると、CMOS回路の特性上、貫通電流が発生する可能性があるためである。そこで、装置100は、回路120(メモリマップの回路)がレジスタ121を含む場合に発生し得る問題を解消するために、回路120(メモリマップの回路)にレジスタ121を内包させない「sn」オプションを提供する。ある局面において、「sn」オプションが有効にされた場合、装置100は、ポート1503のハードウェア記述自体を生成しなくてもよい。 In the case where the circuit 120 (memory-mapped circuit) includes the register 121 and the register 121 is not used, the input signal of the port 1503 needs to be treated in some way. This is because if the input voltage of the port 1503 becomes unstable or becomes an intermediate potential due to high impedance or the like, a through current may occur due to the characteristics of the CMOS circuit. Therefore, the device 100 provides an “sn” option that does not include the register 121 in the circuit 120 (memory-mapped circuit) in order to solve the problem that may occur when the circuit 120 (memory-mapped circuit) includes the register 121. provide. In one aspect, device 100 may not generate the hardware description of port 1503 itself if the "sn" option is enabled.
 <E.フローチャート>
 図20は、装置100によるハードウェア記述の生成手順の一例を示す図である。ある局面において、プロセッサ201は、図20の処理を行うためのプログラムをストレージ203からメモリ202に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
<E. Flowchart >
FIG. 20 is a diagram showing an example of a procedure for generating a hardware description by device 100. As shown in FIG. In one aspect, processor 201 may load a program for performing the processing of FIG. 20 from storage 203 into memory 202 and execute the program. In other aspects, part or all of the process may also be implemented as a combination of circuit elements configured to perform the process.
 ステップS2010において、装置100は、メモリマップの設定入力を受け付ける。より具体的には、装置100は、画面400,500を介して、メモリマップおよび当該メモリマップに含まれるレジスタ121の設定の入力を受け付ける。レジスタ121の設定は、レジスタ121の属性、初期値、特殊機能の回路の生成等のためのオプションを含む。 In step S2010, the device 100 accepts a memory map setting input. More specifically, device 100 accepts input of memory maps and settings of registers 121 included in the memory maps via screens 400 and 500 . Register 121 settings include options for register 121 attributes, initial values, generation of special function circuits, and the like.
 ステップS2020において、装置100は、オプションを含むメモリマップを生成する。装置100は、画面400,500を介して受け付けた設定に基づいて、任意のフォーマットでメモリマップを生成する。 In step S2020, the device 100 creates a memory map including options. Device 100 generates a memory map in an arbitrary format based on settings received through screens 400 and 500 .
 ステップS2030において、装置100は、レジスタ121の属性を取得する。より具体的には、装置100は、画面500において、属性設定項目531に入力された内容(R属性、W属性、RW属性のいずれか)を取得する。 In step S2030, the device 100 acquires the attribute of the register 121. More specifically, device 100 acquires the content (one of R attribute, W attribute, and RW attribute) input to attribute setting item 531 on screen 500 .
 ステップS2040において、装置100は、レジスタ121の初期値を取得する。より具体的には、装置100は、画面500において、初期値設定項目532に入力された内容(レジスタ121のビット毎に「0」または「1」のいずれかがセットされる)を取得する。 In step S2040, the device 100 acquires the initial value of the register 121. More specifically, the device 100 acquires the content input to the initial value setting item 532 (either "0" or "1" is set for each bit of the register 121) on the screen 500. FIG.
 ステップS2050において、装置100は、レジスタ121のオプションを取得する。より具体的には、装置100は、画面500において、オプション設定項目533に入力された内容(「オプションなし」、「rc」、「rs」、「sp」、「sn」またはその他の任意のオプション)を取得する。 In step S2050, the device 100 acquires the option of the register 121. More specifically, on screen 500 , device 100 displays the content (“no option”, “rc”, “rs”, “sp”, “sn”, or any other option) entered in option setting item 533 . ).
 ステップS2060において、装置100は、メモリマップからIP-XACT(xml)ファイルを生成する。IP-XACTファイルは、IP-XACTフォーマットで表されるレジスタ121のオプション(特殊機能)を含む。ある局面において、装置100は、メモリマップからIP-XACT(xml)ファイル以外の任意のフォーマットのファイルを生成してもよい。この場合、装置100は、生成されたIP-XACT(xml)ファイル以外のフォーマットのファイルから、ハードウェア記述を生成する。 At step S2060, the device 100 generates an IP-XACT (xml) file from the memory map. The IP-XACT file contains register 121 options (special features) expressed in IP-XACT format. In one aspect, device 100 may generate files of any format other than IP-XACT (xml) files from the memory map. In this case, the device 100 generates the hardware description from a file in a format other than the generated IP-XACT(xml) file.
 ステップS2070において、装置100は、IP-XACTファイルからハードウェア記述を生成する。ハードウェア記述は、レジスタ121のオプション(特殊機能)の記述を含む。ある局面において、装置100は、メモリマップからハードウェア記述を直接生成してもよい。この場合、装置100は、IP-XACTファイルを生成しなくてもよい。 At step S2070, the device 100 generates a hardware description from the IP-XACT file. The hardware description includes a description of the options (special functions) of registers 121 . In some aspects, device 100 may generate the hardware description directly from the memory map. In this case, the device 100 may not generate IP-XACT files.
 ステップS2080において、装置100は、生成したハードウェア記述を出力する。ある局面において、装置100は、ハードウェア記述のみを出力してもよいし、IP-XACTファイルのみを出力してもよいし、ハードウェア記述およびIP-XACTファイルの両方を出力してもよい。他の局面において、装置100は、装置100に接続されたディスプレイに生成したハードウェア記述を出力してもよいし、他の装置にハードウェア記述に関する情報を送信してもよい。 In step S2080, the device 100 outputs the generated hardware description. In some aspects, device 100 may output only the hardware description, only the IP-XACT file, or both the hardware description and the IP-XACT file. In other aspects, device 100 may output the generated hardware description to a display connected to device 100, or may send information about the hardware description to another device.
 以上説明した通り、本実施の形態に従う装置100(ソフトウェア300)は、レジスタ121のR属性,W属性およびRW属性に関する記述以外の特殊機能の回路の記述を含むハードウェア記述を自動生成する。ユーザは、装置100を使用することで、バスプロトコル制御回路122を使用しない特殊機能を有するレジスタ121を備える回路を容易に設計し得る。さらに、装置100は、メモリマップのオプションに基づいて、バスプロトコル制御回路122を使用しない特殊機能の記述を含むハードウェア記述を自動生成するため、ハードウェアの修正等が発生した場合に、ドキュメントまたは回路(ハードウェア記述)等への特殊機能の記述の反映漏れ等を防止し得る。 As described above, device 100 (software 300) according to the present embodiment automatically generates hardware descriptions including descriptions of special function circuits other than descriptions relating to the R, W, and RW attributes of register 121 . By using the device 100, a user can easily design a circuit with a register 121 having a special function without using the bus protocol control circuit 122. FIG. Furthermore, since the device 100 automatically generates a hardware description including descriptions of special functions that do not use the bus protocol control circuit 122 based on the memory map options, when hardware modifications occur, the document or It is possible to prevent the omission of reflecting the description of the special function to the circuit (hardware description) or the like.
 今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。 It should be considered that the embodiments disclosed this time are illustrative in all respects and not restrictive. The scope of the present disclosure is indicated by the scope of claims rather than the above description, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims. In addition, it is intended that the disclosure content described in the embodiment and each modification can be implemented singly or in combination as much as possible.
 100 装置、110,120,140,145,1000,1200,1300,1500,1700,1900 回路、121 レジスタ、122 バスプロトコル制御回路、130 ユーザ回路、201 プロセッサ、202 メモリ、203 ストレージ、204 出力IF、205 入力IF、206 通信IF、207 外部機器IF、208 内部バス、300 ソフトウェア、301 メモリマップ生成部、302 IP-XACT生成部、303 ハードウェア記述生成部、400,500 画面、401 インターフェイス設定項目、402 モジュール名設定項目、403 データ幅設定項目、404 レジスタマップ設定項目、405 ポート設定項目、510 アドレス設定項目、511 絶対アドレス設定項目、512 オフセットアドレス設定項目、520 レジスタ名設定項目、530 レジスタ設定項目、531 属性設定項目、532 初期値設定項目、533 オプション設定項目、700,800,900,1100,1400,1600,1800 ハードウェア記述、910,1110 記述、1001 バス回路、1002 読込回路、1003 書込回路、1004 セレクタ、1005 フリップフロップ回路、1006,1310,1501,1502,1503,1504,1505,1706 ポート。 100 device, 110, 120, 140, 145, 1000, 1200, 1300, 1500, 1700, 1900 circuit, 121 register, 122 bus protocol control circuit, 130 user circuit, 201 processor, 202 memory, 203 storage, 204 output IF, 205 input IF, 206 communication IF, 207 external device IF, 208 internal bus, 300 software, 301 memory map generator, 302 IP-XACT generator, 303 hardware description generator, 400, 500 screens, 401 interface setting items, 402 Module name setting items, 403 Data width setting items, 404 Register map setting items, 405 Port setting items, 510 Address setting items, 511 Absolute address setting items, 512 Offset address setting items, 520 Register name setting items, 530 Register setting items , 531 attribute setting items, 532 initial value setting items, 533 option setting items, 700, 800, 900, 1100, 1400, 1600, 1800 hardware description, 910, 1110 description, 1001 bus circuit, 1002 read circuit, 1003 write Circuit, 1004 selector, 1005 flip-flop circuit, 1006, 1310, 1501, 1502, 1503, 1504, 1505, 1706 port.

Claims (11)

  1.  デジタル回路設計を支援する装置であって、
     メモリマップを生成するメモリマップ生成部と、
     前記メモリマップに基づいて、ハードウェア記述を生成するハードウェア記述生成部とを備え、
     前記ハードウェア記述生成部は、外部回路が前記メモリマップの回路と通信するためのポートの記述を生成し、
     前記ポートの記述は、前記メモリマップに含まれるレジスタのバスを経由する書込回路および読込回路とは別の回路の記述である、装置。
    A device for supporting digital circuit design,
    a memory map generator that generates a memory map;
    a hardware description generator that generates a hardware description based on the memory map;
    the hardware description generation unit generates a description of a port for an external circuit to communicate with the circuit of the memory map;
    The apparatus of claim 1, wherein the port description is a description of circuitry separate from write circuitry and read circuitry via a bus of registers included in the memory map.
  2.  前記ポートの記述は、前記レジスタの現在値を、前記レジスタ単位で読み出すためのポートの記述を含む、請求項1に記載の装置。 The device according to claim 1, wherein the port description includes a port description for reading the current value of the register in units of the register.
  3.  前記ポートの記述は、前記レジスタに対して前記読込回路を介した読込処理が発生したときに、前記読込回路に出力する値を入力するためのポートの記述を含む、請求項1または2に記載の装置。 3. The port description according to claim 1, wherein said port description includes a description of a port for inputting a value to be output to said read circuit when read processing via said read circuit occurs for said register. device.
  4.  前記ポートの記述は、前記レジスタに更新値を入力するためのポートの記述を含む、請求項1~3のいずれか1項に記載の装置。 The device according to any one of claims 1 to 3, wherein the port description includes a port description for inputting an update value to the register.
  5.  前記ポートの記述は、前記レジスタに対して前記書込回路を介した書込処理が発生したときに、前記書込処理の発生を示す信号を前記外部回路に出力するためのポートの記述を含む、請求項1~4のいずれか1項に記載の装置。 The description of the port includes description of a port for outputting a signal indicating the occurrence of the write process to the external circuit when a write process occurs to the register via the write circuit. A device according to any one of claims 1 to 4.
  6.  前記ポートの記述は、前記書込回路から入力された値を前記外部回路に出力するためのポートの記述を含む、請求項1~5のいずれか1項に記載の装置。 The device according to any one of claims 1 to 5, wherein the port description includes a port description for outputting a value input from the write circuit to the external circuit.
  7.  前記ポートの記述は、前記レジスタに対して前記読込回路を介した読込処理が発生したときに、前記読込処理の発生を示す信号を前記外部回路に出力するためのポートの記述を含む、請求項1~6のいずれか1項に記載の装置。 2. The description of said port includes a description of a port for outputting a signal indicating occurrence of said read processing to said external circuit when read processing via said read circuit occurs for said register. The device according to any one of 1-6.
  8.  前記レジスタのオプションの入力を受け付けるインターフェイスをさらに備え、
     前記メモリマップは、前記オプションを含み、
     前記ハードウェア記述生成部は、前記オプションに基づいて、前記ポートの記述を生成する、請求項1~7のいずれか1項に記載の装置。
    further comprising an interface that accepts optional inputs for the registers;
    the memory map includes the options;
    The device according to any one of claims 1 to 7, wherein said hardware description generator generates a description of said port based on said option.
  9.  前記オプションは、前記メモリマップに前記レジスタを生成しないためのオプションを含む、請求項8に記載の装置。 9. The apparatus of claim 8, wherein said options include an option to not generate said register in said memory map.
  10.  コンピュータによって実行されるデジタル回路設計を支援する方法であって、
     メモリマップを生成するステップと、
     前記メモリマップに基づいて、ハードウェア記述を生成するステップとを含み、
     前記ハードウェア記述を生成するステップは、外部回路が前記メモリマップの回路と通信するためのポートの記述を生成するステップを含み、
     前記ポートの記述は、前記メモリマップに含まれるレジスタのバスを経由する書込回路および読込回路とは別の回路の記述である、方法。
    A computer-implemented method of aiding digital circuit design, comprising the steps of:
    generating a memory map;
    generating a hardware description based on the memory map;
    generating the hardware description includes generating a description of ports for external circuits to communicate with circuits of the memory map;
    The method, wherein the description of the port is a description of circuitry separate from write circuitry and read circuitry via a bus of registers included in the memory map.
  11.  デジタル回路設計を支援するプログラムであって、
     メモリマップを生成するステップと、
     前記メモリマップに基づいて、ハードウェア記述を生成するステップとをコンピュータに実行させ、
     前記ハードウェア記述を生成するステップは、外部回路が前記メモリマップの回路と通信するためのポートの記述を生成するステップを含み、
     前記ポートの記述は、前記メモリマップに含まれるレジスタのバスを経由する書込回路および読込回路とは別の回路の記述である、プログラム。
    A program for supporting digital circuit design,
    generating a memory map;
    generating a hardware description based on the memory map;
    generating the hardware description includes generating a description of ports for external circuits to communicate with circuits of the memory map;
    The program according to claim 1, wherein the description of the port is a description of a circuit separate from a write circuit and a read circuit via a bus of registers included in the memory map.
PCT/JP2022/008868 2022-03-02 2022-03-02 Device for assisting with digital circuit design, method for assisting with digital circuit design, and program for assisting with digital circuit design WO2023166609A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2024504086A JPWO2023166609A1 (en) 2022-03-02 2022-03-02
PCT/JP2022/008868 WO2023166609A1 (en) 2022-03-02 2022-03-02 Device for assisting with digital circuit design, method for assisting with digital circuit design, and program for assisting with digital circuit design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/008868 WO2023166609A1 (en) 2022-03-02 2022-03-02 Device for assisting with digital circuit design, method for assisting with digital circuit design, and program for assisting with digital circuit design

Publications (1)

Publication Number Publication Date
WO2023166609A1 true WO2023166609A1 (en) 2023-09-07

Family

ID=87883241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/008868 WO2023166609A1 (en) 2022-03-02 2022-03-02 Device for assisting with digital circuit design, method for assisting with digital circuit design, and program for assisting with digital circuit design

Country Status (2)

Country Link
JP (1) JPWO2023166609A1 (en)
WO (1) WO2023166609A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344298A (en) * 2000-06-01 2001-12-14 Toshiba Corp Method and device for system design, and computer- readable recording medium with system design program stored therein
JP2010262412A (en) * 2009-04-30 2010-11-18 Fujitsu Ltd Logic circuit design device
WO2021131572A1 (en) * 2019-12-27 2021-07-01 株式会社パルテック Information processing system, information processing device, method for using information processing device, user terminal, and program for same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344298A (en) * 2000-06-01 2001-12-14 Toshiba Corp Method and device for system design, and computer- readable recording medium with system design program stored therein
JP2010262412A (en) * 2009-04-30 2010-11-18 Fujitsu Ltd Logic circuit design device
WO2021131572A1 (en) * 2019-12-27 2021-07-01 株式会社パルテック Information processing system, information processing device, method for using information processing device, user terminal, and program for same

Also Published As

Publication number Publication date
JPWO2023166609A1 (en) 2023-09-07

Similar Documents

Publication Publication Date Title
US7746351B2 (en) Systems and methods for updating a frame buffer based on arbitrary graphics calls
US6380957B1 (en) Method of controlling view of large expansion tree
US7895376B2 (en) Hardware configuration information system, method, and computer program product
US20060212623A1 (en) Data control apparatus
WO2023166609A1 (en) Device for assisting with digital circuit design, method for assisting with digital circuit design, and program for assisting with digital circuit design
US8359452B2 (en) Image forming apparatus and method of overwriting for storage unit in image forming apparatus
TW200424934A (en) Device information management system of application device and method thereof
US20090210589A1 (en) Dynamic Vital Product Data Update Based on an Installed Feature Card
US8140962B2 (en) Dynamically selecting properties to display in a table based user interface
US6636925B1 (en) Bus interface circuit preparation apparatus and recording medium
US20140092435A1 (en) Applying individual preferences to printed documents
JP6799700B1 (en) Information processing device, PDF file generation method, and PDF file generation program
JP2014032676A (en) Methods, computer readable media, and apparatuses for validating non-system fonts
JP4721012B2 (en) Character string storage system, character string storage device, character string storage method, and program
US7953900B2 (en) System and method for discovering I/O bus capabilities on a computer system via ACPI
US20070103488A1 (en) Substituting pattern fills
US6972770B1 (en) Method and apparatus for performing raster operations in a data processing system
JPS60130795A (en) Data display
WO2021152803A1 (en) Input assistance device, input assistance method, and input assistance program
JP7473767B1 (en) Printing and Information Processing Systems
JP4288281B2 (en) Apparatus and method for dynamically programming window ID based on application environment
KR102605522B1 (en) Customer cooperative development system using function board and server included in it
WO2000070466A1 (en) Method of accessing i/o device and memory using virtual address and recorded medium having program for performing method of accessing i/o device and memory using virtual address
US20230214093A1 (en) Paging content for user interface display
WO2020170973A1 (en) Automation method, automation system, and automation program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22929755

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024504086

Country of ref document: JP