JP2007305115A - Design support system, design support method, and design support program - Google Patents

Design support system, design support method, and design support program Download PDF

Info

Publication number
JP2007305115A
JP2007305115A JP2007102043A JP2007102043A JP2007305115A JP 2007305115 A JP2007305115 A JP 2007305115A JP 2007102043 A JP2007102043 A JP 2007102043A JP 2007102043 A JP2007102043 A JP 2007102043A JP 2007305115 A JP2007305115 A JP 2007305115A
Authority
JP
Japan
Prior art keywords
module
target system
semantic space
hardware
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007102043A
Other languages
Japanese (ja)
Other versions
JP4901561B2 (en
Inventor
Masahiko Saito
雅彦 齊藤
Kenji Ejima
賢司 江島
Akira Yokoyama
亮 横山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007102043A priority Critical patent/JP4901561B2/en
Publication of JP2007305115A publication Critical patent/JP2007305115A/en
Application granted granted Critical
Publication of JP4901561B2 publication Critical patent/JP4901561B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To design an optimum target system in conformity with a combination of software modules and hardware modules without distinguishing them. <P>SOLUTION: An external storage 110 stores the software modules including semantic space identifiers indicating that they are software modules, and the hardware modules including semantic space identifiers indicating that they are hardware modules. A module selecting part 12 specifies processing of the target system to be constructed, and it selects software modules and hardware modules to carry out the specified processing. A semantic space processing part 14 acquires the semantic space identifiers of the software modules and the semantic space identifiers of the hardware modules. A module mapping processing part 15 composes any one of the software modules or the hardware modules into the target system on the basis of the semantic space identifiers. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、少なくとも1つのソフトウェアモジュールと、少なくとも1つのハードウェアモジュールとを組み合わせて構築されるターゲットシステムの設計を支援する設計支援システム、設計支援方法及び設計支援プログラムに関するものである。   The present invention relates to a design support system, a design support method, and a design support program that support the design of a target system constructed by combining at least one software module and at least one hardware module.

ハードウェアモジュールを組み合わせてシステムを構築する統合設計環境に関連する技術として、例えば特許文献1がある。本特許文献1では、電子回路モデルが高級記述言語で記述された記述ファイルを構文解析して制御データ・フロー・グラフを生成する。そして、当該制御データ・フロー・グラフが、複数の連結されたノードの集合よりなるスレッドに分割され、分割されたスレッドが面積制約および時間制約に合致するように最適化され、電子回路モデルに関する論理セル(ハードウェアモジュール)の数、機能、配置および配線の指定情報が得られる。   As a technology related to an integrated design environment in which a system is constructed by combining hardware modules, for example, there is Patent Literature 1. In Patent Document 1, a control data flow graph is generated by parsing a description file in which an electronic circuit model is described in a high-level description language. Then, the control data flow graph is divided into threads composed of a set of a plurality of connected nodes, and the divided threads are optimized so as to meet the area constraint and the time constraint. Information specifying the number of cells (hardware modules), functions, arrangement, and wiring can be obtained.

また、ソフトウェアモジュールを管理するシステムに関連する技術として、例えば特許文献2がある。本特許文献2における情報処理装置は、複数のオブジェクトと、当該オブジェクトを管理するオブジェクト生成手段を有している。そして、各オブジェクトは、属性名と属性値とを対応づけて属性情報を管理する属性情報管理手段と、属性情報の設定および取得の要求を受け付ける共通のインタフェースとを有し、オブジェクト生成手段は、生成したオブジェクトの型に対応した属性情報を該オブジェクトに設定する。   As a technique related to a system for managing software modules, for example, there is Patent Document 2. The information processing apparatus in Patent Document 2 includes a plurality of objects and an object generation unit that manages the objects. Each object includes an attribute information management unit that manages attribute information by associating an attribute name with an attribute value, and a common interface that receives a request for setting and acquiring attribute information. Attribute information corresponding to the type of the generated object is set in the object.

また、ソフトウェアモジュールとハードウェアモジュールとを組み合わせてシステムを構築する技術として、例えば非特許文献1がある。本非特許文献1では、設計対象の記述ファイルを読み込み、その記述をハードウェア化する部分と、ソフトウェア化する部分と、その間のインタフェースとの三つの部分に分類し、当該インタフェースを自動生成している。
特開2002−123563号公報 特開2005−301985号公報 本田晋也著、「ソフトウェア・ハードウェア間インタフェース生成ツールの開発−ソフトウェア・ハードウェアコデザイン−」、独立行政法人情報処理推進機構2003年度成果報告集(未踏ソフトウェア部門)
As a technique for constructing a system by combining software modules and hardware modules, for example, Non-Patent Document 1 is available. In this non-patent document 1, a design target description file is read, and the description is classified into three parts: a hardware part, a software part, and an interface between them, and the interface is automatically generated. Yes.
JP 2002-123563 A JP 2005-301985 A Author Tatsuya Honda, “Development of Software / Hardware Interface Generation Tool-Software / Hardware Co-Design-”, Information Processing Promotion Organization 2003 Report (Unexplored Software Division)

近年、複雑化、多様化が加速しつつある情報家電機器や携帯電話などの組込み計算機分野において、回路面積、時間制約、性能及び消費電力などの制約条件を満たしつつ短期間でシステムを構築することが重要である。回路面積、性能及び消費電力など、相反する制約条件を満たすためには、複数のハードウェアモジュール及び複数のソフトウェアモジュールから、制約条件を満足するためのモジュールを選択して組み合わせる技術が必要である。例えば、コストを重視する際には、ソフトウェアモジュールを選択し、性能を重視する際には、ハードウェアモジュールを選択し、選択した各モジュールを組み合わせる必要がある。すなわち、複数のハードウェアモジュール及び複数のソフトウェアモジュールから構成される設計支援システムにおいて、制約条件を満足するモジュールを適切に選択して自由に組み合わせることができるようにしなければならない。   In recent years, in the field of embedded computers such as information home appliances and mobile phones, which are becoming increasingly complex and diversified, a system can be constructed in a short period of time while satisfying constraints such as circuit area, time constraints, performance and power consumption. is important. In order to satisfy conflicting constraints such as circuit area, performance, and power consumption, a technique for selecting and combining modules for satisfying the constraints from a plurality of hardware modules and a plurality of software modules is required. For example, when cost is important, it is necessary to select a software module, and when importance is placed on performance, it is necessary to select a hardware module and combine the selected modules. That is, in a design support system composed of a plurality of hardware modules and a plurality of software modules, it is necessary to appropriately select modules that satisfy the constraint conditions and freely combine them.

上記の特許文献1の構成は、複数のハードウェアモジュールのみを組み合わせてシステムを構築するものであり、ソフトウェアモジュールとの組合せを行うものではない。逆に、上記の特許文献2の構成は、ソフトウェアモジュールのみを組み合わせる技術に関連する。すなわち、特許文献1,2の構成は、いずれも、ハードウェアモジュール同士、ソフトウェアモジュール同士を組み合わせてシステムを構築する技術に関連するが、ソフトウェアモジュールとハードウェアモジュールとの自由な組合せを意図した組込み計算機システムの構築に適用することはできない。特に、ハードウェアモジュールのインタフェース、及びソフトウェアモジュールのインタフェースは、通常、相互に異なっているため、ハードウェアモジュール同士、及びソフトウェアモジュール同士の組合せが実現できても、ソフトウェアモジュールとハードウェアモジュールとの自由な組合せを実現できることには繋がらない。   The configuration of the above-mentioned Patent Document 1 is to construct a system by combining only a plurality of hardware modules, and does not combine with software modules. On the contrary, the configuration of Patent Document 2 described above relates to a technique that combines only software modules. In other words, the configurations of Patent Documents 1 and 2 are all related to a technology for constructing a system by combining hardware modules and software modules, but are intended to be freely combined with software modules and hardware modules. It cannot be applied to the construction of a computer system. In particular, the interface of the hardware module and the interface of the software module are usually different from each other. Therefore, even if a combination of the hardware modules and the software modules can be realized, the software module and the hardware module are free. It does not lead to the realization of such a combination.

上記の非特許文献1の構成は、一つのシステム記述を、ソフトウェアモジュールとハードウェアモジュールとに分割し、それらのインタフェースを割込みおよび同期機構として生成するものであり、前述した組込み計算機分野への適用に最も近い。しかしながら、非特許文献1の構成は、あくまでも、ソフトウェアモジュールとハードウェアモジュールとの組合せを目的としたものであり、前者のソフトウェアモジュールが性能上の制約によりハードウェアモジュールに変更された場合、あるいは、後者のハードウェアモジュールがコスト上の制約によりソフトウェアモジュールに変更された場合、当該インタフェースは意味を成さなくなる。   The configuration of Non-Patent Document 1 described above divides one system description into a software module and a hardware module and generates their interfaces as an interrupt and synchronization mechanism, and is applied to the aforementioned embedded computer field. Closest to. However, the configuration of Non-Patent Document 1 is only for the purpose of combining a software module and a hardware module, and when the former software module is changed to a hardware module due to performance restrictions, or If the latter hardware module is changed to a software module due to cost constraints, the interface becomes meaningless.

すなわち、特許文献1,2及び非特許文献1では、ソフトウェアモジュール同士のインタフェース、ハードウェアモジュール同士のインタフェース、あるいは、ソフトウェアモジュールとハードウェアモジュールとの間のインタフェースを固定的に設ける技術が開示されており、これらのインタフェースを制約条件にしたがって変更することは想定していない。例えば、ソフトウェアモジュールをハードウェアモジュールに入れ替えた場合、当該モジュールとのインタフェースの変更、すなわち、システム設計自体を再度実施しなければならなくなる。   That is, Patent Documents 1 and 2 and Non-Patent Document 1 disclose a technique in which an interface between software modules, an interface between hardware modules, or an interface between software modules and hardware modules is fixedly provided. It is not assumed that these interfaces will be changed according to the constraints. For example, when a software module is replaced with a hardware module, the interface with the module must be changed, that is, the system design itself must be performed again.

本発明は、上記の課題を解決するためになされたもので、ソフトウェアモジュールとハードウェアモジュールとを区別することなく、これらを組み合わせて最適なターゲットシステムを設計することができる設計支援システム、設計支援方法及び設計支援プログラムを提供することを目的とするものである。   The present invention has been made to solve the above-described problems, and a design support system and a design support capable of designing an optimal target system by combining software modules and hardware modules without distinguishing them from each other. The object is to provide a method and a design support program.

本発明の一局面に係る設計支援システムは、少なくとも1つのソフトウェアモジュールと、少なくとも1つのハードウェアモジュールとを組み合わせて構築されるターゲットシステムの設計を支援する設計支援システムであって、ソフトウェアモジュールであることを表す意味空間識別子を含むソフトウェアモジュールと、ハードウェアモジュールであることを表す意味空間識別子を含むハードウェアモジュールとを記憶するモジュール記憶部と、構築すべきターゲットシステムの処理を特定し、特定した処理を実行するソフトウェアモジュール及びハードウェアモジュールを前記モジュール記憶部から選択するモジュール選択部と、前記モジュール選択部によって選択された前記ソフトウェアモジュールの前記意味空間識別子と前記ハードウェアモジュールの前記意味空間識別子とを取得する意味空間識別子取得部と、前記意味空間識別子取得部によって取得された前記意味空間識別子に基づいて前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成する合成部とを備える。   A design support system according to an aspect of the present invention is a design support system that supports design of a target system constructed by combining at least one software module and at least one hardware module, and is a software module. A module storage unit that stores a software module that includes a semantic space identifier that represents a hardware module, and a hardware module that includes a semantic space identifier that represents a hardware module, and a process of a target system to be constructed is identified and identified A module selection unit for selecting a software module and a hardware module to execute processing from the module storage unit; the semantic space identifier of the software module selected by the module selection unit; and the hardware A semantic space identifier acquisition unit that acquires the semantic space identifier of the air module; and, based on the semantic space identifier acquired by the semantic space identifier acquisition unit, any one of the software module and the hardware module as the target And a synthesizing unit that synthesizes the system.

本発明の他の局面に係る設計支援方法は、少なくとも1つのソフトウェアモジュールと、少なくとも1つのハードウェアモジュールとを組み合わせて構築されるターゲットシステムの設計を支援するための設計支援方法であって、ソフトウェアモジュールであることを表す意味空間識別子を含むソフトウェアモジュールと、ハードウェアモジュールであることを表す意味空間識別子を含むハードウェアモジュールとがモジュール記憶部に記憶されており、構築すべきターゲットシステムの処理を特定し、特定した処理を実行するソフトウェアモジュール及びハードウェアモジュールを前記モジュール記憶部から選択するモジュール選択ステップと、前記モジュール選択ステップにおいて選択された前記ソフトウェアモジュールの前記意味空間識別子と前記ハードウェアモジュールの前記意味空間識別子とを取得する意味空間識別子取得ステップと、前記意味空間識別子取得ステップにおいて取得された前記意味空間識別子に基づいて前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成する合成ステップとを含む。   A design support method according to another aspect of the present invention is a design support method for supporting design of a target system constructed by combining at least one software module and at least one hardware module. A software module including a semantic space identifier representing a module and a hardware module including a semantic space identifier representing a hardware module are stored in the module storage unit, and the processing of the target system to be constructed is performed. A module selection step of selecting from the module storage unit a software module and a hardware module for specifying and executing the specified processing, and the semantic space of the software module selected in the module selection step A semantic space identifier acquisition step for acquiring a bespoke and the semantic space identifier of the hardware module, and any one of the software module and the hardware module based on the semantic space identifier acquired in the semantic space identifier acquisition step Synthesizing the target system with the target system.

本発明の他の局面に係る設計支援プログラムは、少なくとも1つのソフトウェアモジュールと、少なくとも1つのハードウェアモジュールとを組み合わせて構築されるターゲットシステムの設計を支援するための設計支援プログラムであって、構築すべきターゲットシステムの処理を特定し、特定した処理を実行するソフトウェアモジュール及びハードウェアモジュールを、ソフトウェアモジュールであることを表す意味空間識別子を含むソフトウェアモジュールと、ハードウェアモジュールであることを表す意味空間識別子を含むハードウェアモジュールとを記憶するモジュール記憶部を参照することにより選択するモジュール選択手段と、前記モジュール選択手段によって選択された前記ソフトウェアモジュールの意味空間識別子と前記ハードウェアモジュールの意味空間識別子とを取得する意味空間識別子取得手段と、前記意味空間識別子取得手段によって取得された前記意味空間識別子に基づいて前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成する合成手段としてコンピュータを機能させる。   A design support program according to another aspect of the present invention is a design support program for supporting the design of a target system constructed by combining at least one software module and at least one hardware module. A software module and a hardware module that specify the processing of the target system to be executed, and a software module and hardware module that execute the specified processing include a software module that includes a semantic space identifier that represents the software module, and a semantic space that represents the hardware module Module selecting means for selecting by referring to a module storage unit that stores a hardware module including an identifier, the semantic space identifier of the software module selected by the module selecting means, and the Semantic space identifier acquisition means for acquiring a semantic space identifier of a hardware module; and either one of the software module and the hardware module based on the semantic space identifier acquired by the semantic space identifier acquisition means as the target system The computer is caused to function as a synthesis means for synthesizing.

これらの構成によれば、モジュール記憶部には、ソフトウェアモジュールであることを表す意味空間識別子を含むソフトウェアモジュールと、ハードウェアモジュールであることを表す意味空間識別子を含むハードウェアモジュールとが記憶されている。そして、構築すべきターゲットシステムの処理が特定され、特定された処理を実行するソフトウェアモジュール及びハードウェアモジュールがモジュール記憶部から選択される。続いて、選択されたソフトウェアモジュールの意味空間識別子とハードウェアモジュールの意味空間識別子とが取得される。その後、取得された意味空間識別子に基づいてソフトウェアモジュール及びハードウェアモジュールのいずれかがターゲットシステムに合成される。   According to these configurations, the module storage unit stores a software module including a semantic space identifier representing a software module and a hardware module including a semantic space identifier representing a hardware module. Yes. Then, a process of the target system to be constructed is specified, and a software module and a hardware module that execute the specified process are selected from the module storage unit. Subsequently, the semantic space identifier of the selected software module and the semantic space identifier of the hardware module are acquired. Thereafter, either the software module or the hardware module is synthesized with the target system based on the acquired semantic space identifier.

したがって、ソフトウェアモジュール及びハードウェアモジュールが含む意味空間識別子に基づいて、ソフトウェアモジュール及びハードウェアモジュールのいずれかがターゲットシステムに合成されるので、ソフトウェアモジュールとハードウェアモジュールとを区別することなく、これらを組み合わせて最適なターゲットシステムを設計することができる。   Therefore, since either the software module or the hardware module is synthesized into the target system based on the semantic space identifier included in the software module and the hardware module, the software module and the hardware module are not distinguished from each other. The optimal target system can be designed in combination.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールのインタフェースに関する記述が共通化されていることが好ましい。この構成によれば、ソフトウェアモジュール及びハードウェアモジュールのインタフェースに関する記述が共通化されているので、ソフトウェアモジュールであっても、ハードウェアモジュールであっても、統一的に管理することができ、インタフェースの違いを考慮することなく、必要なモジュールを適切に選択することができる。   In the above design support system, it is preferable that descriptions related to the interface of the software module and the hardware module are made common. According to this configuration, since the description about the interface of the software module and the hardware module is shared, it can be managed in a unified manner regardless of whether it is a software module or a hardware module. The necessary modules can be selected appropriately without considering the difference.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の属性を表す属性情報を含み、前記合成部は、前記意味空間識別子に基づいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成する際のマッピング形式を決定し、決定したマッピング形式が複数存在する場合、さらに前記属性情報に基づいてマッピング形式を決定し、決定したマッピング形式に従って前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成することが好ましい。   Further, in the design support system, each of the software module and the hardware module includes attribute information indicating an attribute of the software module, and the synthesis unit is configured to execute the software module and the hardware module based on the semantic space identifier. When a plurality of determined mapping formats exist, a mapping format is further determined based on the attribute information, and the software is determined according to the determined mapping format. It is preferable to synthesize either the module or the hardware module into the target system.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールの各々には、自身の属性を表す属性情報が含まれる。そして、意味空間識別子に基づいて、ソフトウェアモジュール及びハードウェアモジュールのいずれかをターゲットシステムに合成する際のマッピング形式が決定される。ここで、決定されたマッピング形式が複数存在する場合、さらに属性情報に基づいてマッピング形式が決定され、決定したマッピング形式に従ってソフトウェアモジュール及びハードウェアモジュールのいずれかがターゲットシステムに合成されるので、適切なマッピング形式に従ってモジュールをターゲットシステムに合成することができる。   According to this configuration, each of the software module and the hardware module includes attribute information representing its own attribute. Then, based on the semantic space identifier, a mapping format for synthesizing either the software module or the hardware module into the target system is determined. Here, when there are a plurality of determined mapping formats, the mapping format is further determined based on the attribute information, and either the software module or the hardware module is synthesized with the target system according to the determined mapping format. Modules can be synthesized into the target system according to various mapping formats.

また、上記の設計支援システムにおいて、前記属性情報は、モジュールの処理性能を表す情報、モジュールの消費する消費電力を表す情報、及びインタフェース属性が公開及び非公開のどちらであるかを表す情報のうちの少なくとも1つを含むことが好ましい。   In the design support system, the attribute information includes information representing module processing performance, information representing power consumption consumed by the module, and information representing whether the interface attribute is public or private. It is preferable that at least one of these is included.

この構成によれば、属性情報には、モジュールの処理性能を表す情報、モジュールの消費する消費電力を表す情報、及びインタフェース属性が公開及び非公開のどちらであるかを表す情報のうちの少なくとも1つが含まれるので、これらの情報に基づいてマッピング形式をさらに詳細に決定することができる。   According to this configuration, the attribute information includes at least one of information representing the processing performance of the module, information representing the power consumption consumed by the module, and information representing whether the interface attribute is public or private. Therefore, the mapping format can be determined in more detail based on these pieces of information.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、前記合成部は、前記意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がハードウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記ターゲットシステム内のレジスタに前記入力値を格納する第1の処理と、前記第2のモジュールを起動する第2の処理と、割込待ち状態に移行する第3の処理と、前記第2のモジュールの処理完了後、割込みを受理して前記出力値を取得する第4の処理とを実行する割込待ちシーケンスを前記ターゲットシステムにマッピングすることが好ましい。   In the design support system described above, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. The synthesizing unit refers to the first system in which the semantic space identifier indicates a software module, and when the second module in which the semantic space identifier indicates a hardware module is mapped to the target system, A first process for storing the input value in a register, a second process for activating the second module, a third process for shifting to an interrupt wait state, and a process for the second module After completion, an interrupt waiting sequence for executing the fourth process of receiving the interrupt and acquiring the output value Preferably it is mapped to the target system.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールの各々には、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とがさらに含まれている。意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、意味空間識別子がハードウェアモジュールを示す第2のモジュールがターゲットシステムにマッピングされる場合、ターゲットシステム内のレジスタに入力値を格納する第1の処理と、第2のモジュールを起動する第2の処理と、割込待ち状態に移行する第3の処理と、第2のモジュールの処理完了後、割込みを受理して出力値を取得する第4の処理とを実行する割込待ちシーケンスがターゲットシステムにマッピングされる。   According to this configuration, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. When a semantic module identifier is referenced from a first module indicating a software module and a second module whose semantic space identifier indicates a hardware module is mapped to the target system, the input value is stored in a register in the target system. The first process, the second process that starts the second module, the third process that shifts to an interrupt wait state, and after completing the process of the second module, accepts an interrupt and obtains an output value. The interrupt waiting sequence for executing the fourth process is mapped to the target system.

したがって、モジュールを選択する際には、ソフトウェアモジュールとハードウェアモジュールとを同一モジュールとして扱い、モジュールをターゲットシステムに合成する際に、モジュールのインタフェースの実装形態を特定することができる。また、ソフトウェアモジュールからハードウェアモジュールが参照され、ハードウェアモジュールがターゲットシステムにマッピングされる場合に、割込待ちシーケンスをターゲットシステムにマッピングすることができる。   Therefore, when selecting a module, the software module and the hardware module are handled as the same module, and when the module is synthesized into the target system, the implementation form of the module interface can be specified. Further, when a hardware module is referred to from a software module and the hardware module is mapped to the target system, the interrupt waiting sequence can be mapped to the target system.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、前記合成部は、前記意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がハードウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記ターゲットシステム内のレジスタに前記入力値を格納する第1の処理と、前記第2のモジュールを起動する第2の処理と、前記第2のモジュールの処理完了まで前記レジスタをポーリングする第3の処理と、前記レジスタから前記出力値を取得する第4の処理とを実行するポーリングシーケンスを前記ターゲットシステムにマッピングすることが好ましい。   In the design support system described above, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. The synthesizing unit refers to the first system in which the semantic space identifier indicates a software module, and when the second module in which the semantic space identifier indicates a hardware module is mapped to the target system, A first process for storing the input value in a register in the second process, a second process for starting the second module, and a third process for polling the register until the process of the second module is completed, Polling for executing a fourth process for obtaining the output value from the register It is preferable to map the Sequence to the target system.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールの各々には、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とがさらに含まれている。意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、意味空間識別子がハードウェアモジュールを示す第2のモジュールがターゲットシステムにマッピングされる場合、ターゲットシステム内のレジスタに入力値を格納する第1の処理と、第2のモジュールを起動する第2の処理と、第2のモジュールの処理完了までレジスタをポーリングする第3の処理と、レジスタから出力値を取得する第4の処理とを実行するポーリングシーケンスがターゲットシステムにマッピングされる。   According to this configuration, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. When a semantic module identifier is referenced from a first module indicating a software module and a second module whose semantic space identifier indicates a hardware module is mapped to the target system, the input value is stored in a register in the target system. A first process, a second process for activating the second module, a third process for polling the register until the completion of the process of the second module, and a fourth process for obtaining an output value from the register. The polling sequence to execute is mapped to the target system.

したがって、モジュールを選択する際には、ソフトウェアモジュールとハードウェアモジュールとを同一モジュールとして扱い、モジュールをターゲットシステムに合成する際に、モジュールのインタフェースの実装形態を特定することができる。また、ソフトウェアモジュールからハードウェアモジュールが参照され、ハードウェアモジュールがターゲットシステムにマッピングされる場合に、ポーリングシーケンスをターゲットシステムにマッピングすることができる。   Therefore, when selecting a module, the software module and the hardware module are handled as the same module, and when the module is synthesized into the target system, the implementation form of the module interface can be specified. In addition, when a hardware module is referenced from a software module and the hardware module is mapped to the target system, the polling sequence can be mapped to the target system.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、前記合成部は、前記意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がソフトウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記入力値を引数として前記ターゲットシステム内のスタックに格納する第1の処理と、前記第2のモジュールを呼び出す第2の処理と、前記出力値をリターン値として取得する第3の処理とを実行する関数呼出しシーケンスを前記ターゲットシステムにマッピングすることが好ましい。   In the design support system described above, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. The synthesizing unit refers to the first module in which the semantic space identifier indicates a software module, and when the second module in which the semantic space identifier indicates a software module is mapped to the target system, A function call sequence for executing a first process that is stored as an argument in the stack in the target system, a second process that calls the second module, and a third process that acquires the output value as a return value Is preferably mapped to the target system.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールの各々には、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とがさらに含まれている。意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、意味空間識別子がソフトウェアモジュールを示す第2のモジュールがターゲットシステムにマッピングされる場合、入力値を引数としてターゲットシステム内のスタックに格納する第1の処理と、第2のモジュールを呼び出す第2の処理と、出力値をリターン値として取得する第3の処理とを実行する関数呼出しシーケンスがターゲットシステムにマッピングされる。   According to this configuration, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. When a semantic module identifier is referenced from a first module indicating a software module, and a second module whose semantic space identifier indicates a software module is mapped to the target system, the input value is stored as an argument in a stack in the target system. The function call sequence for executing the first process to be executed, the second process for calling the second module, and the third process for acquiring the output value as a return value is mapped to the target system.

したがって、モジュールを選択する際には、ソフトウェアモジュールとハードウェアモジュールとを同一モジュールとして扱い、モジュールをターゲットシステムに合成する際に、モジュールのインタフェースの実装形態を特定することができる。また、ソフトウェアモジュールからソフトウェアモジュールが参照され、ソフトウェアモジュールがターゲットシステムにマッピングされる場合に、関数呼出しシーケンスをターゲットシステムにマッピングすることができる。   Therefore, when selecting a module, the software module and the hardware module are handled as the same module, and when the module is synthesized into the target system, the implementation form of the module interface can be specified. Further, when a software module is referenced from the software module and the software module is mapped to the target system, the function call sequence can be mapped to the target system.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、前記合成部は、前記意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がソフトウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記入力値をメッセージとして送信する第1の処理と、メッセージ受信待ち状態に移行する第2の処理と、受信したメッセージから前記出力値を取得する第3の処理とを実行するメッセージ送信シーケンスを前記ターゲットシステムにマッピングすることが好ましい。   In the design support system described above, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. The synthesizing unit refers to the first module in which the semantic space identifier indicates a software module, and when the second module in which the semantic space identifier indicates a software module is mapped to the target system, A message transmission sequence for executing a first process for transmitting as a message, a second process for shifting to a message reception waiting state, and a third process for acquiring the output value from the received message is mapped to the target system. It is preferable to do.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールの各々には、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とがさらに含まれている。意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、意味空間識別子がソフトウェアモジュールを示す第2のモジュールがターゲットシステムにマッピングされる場合、入力値をメッセージとして送信する第1の処理と、メッセージ受信待ち状態に移行する第2の処理と、受信したメッセージから出力値を取得する第3の処理とを実行するメッセージ送信シーケンスがターゲットシステムにマッピングされる。   According to this configuration, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. A first process in which a semantic space identifier is referenced from a first module indicating a software module, and a second module whose semantic space identifier indicates a software module is mapped to a target system; The message transmission sequence for executing the second process for shifting to the message reception waiting state and the third process for obtaining the output value from the received message is mapped to the target system.

したがって、モジュールを選択する際には、ソフトウェアモジュールとハードウェアモジュールとを同一モジュールとして扱い、モジュールをターゲットシステムに合成する際に、モジュールのインタフェースの実装形態を特定することができる。また、ソフトウェアモジュールからソフトウェアモジュールが参照され、ソフトウェアモジュールがターゲットシステムにマッピングされる場合に、メッセージ送信シーケンスをターゲットシステムにマッピングすることができる。   Therefore, when selecting a module, the software module and the hardware module are handled as the same module, and when the module is synthesized into the target system, the implementation form of the module interface can be specified. In addition, when the software module is referred to from the software module and the software module is mapped to the target system, the message transmission sequence can be mapped to the target system.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、前記合成部は、前記意味空間識別子がハードウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がソフトウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記ターゲットシステム内のレジスタに前記入力値を格納する第1の処理と、割込みを発生させて前記第2のモジュールを起動する第2の処理と、前記第2のモジュールの処理完了後、前記レジスタから前記出力値を取得する第3の処理とを実行する割込みシーケンスを前記ターゲットシステムにマッピングすることが好ましい。   In the design support system described above, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. The synthesizing unit refers to the target system when mapping the second module in which the semantic space identifier indicates a software module to which the semantic space identifier is referenced from the first module indicating the hardware module; A first process for storing the input value in a register within the register, a second process for generating an interrupt to activate the second module, and the output from the register after completion of the process of the second module. An interrupt sequence for executing a third process for acquiring a value is set as the target sequence. It is preferable that the mapping to Temu.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールの各々には、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とがさらに含まれている。意味空間識別子がハードウェアモジュールを示す第1のモジュールから参照される、意味空間識別子がソフトウェアモジュールを示す第2のモジュールがターゲットシステムにマッピングされる場合、ターゲットシステム内のレジスタに入力値を格納する第1の処理と、割込みを発生させて第2のモジュールを起動する第2の処理と、第2のモジュールの処理完了後、レジスタから出力値を取得する第3の処理とを実行する割込みシーケンスがターゲットシステムにマッピングされる。   According to this configuration, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. When a semantic module identifier is referenced from a first module indicating a hardware module and a second module whose semantic space identifier indicates a software module is mapped to the target system, the input value is stored in a register in the target system. An interrupt sequence for executing a first process, a second process for generating an interrupt to activate the second module, and a third process for obtaining an output value from a register after completion of the process of the second module Are mapped to the target system.

したがって、モジュールを選択する際には、ソフトウェアモジュールとハードウェアモジュールとを同一モジュールとして扱い、モジュールをターゲットシステムに合成する際に、モジュールのインタフェースの実装形態を特定することができる。また、ハードウェアモジュールからソフトウェアモジュールが参照され、ソフトウェアモジュールがターゲットシステムにマッピングされる場合に、割込みシーケンスをターゲットシステムにマッピングすることができる。   Therefore, when selecting a module, the software module and the hardware module are handled as the same module, and when the module is synthesized into the target system, the implementation form of the module interface can be specified. Also, when a software module is referenced from a hardware module and the software module is mapped to the target system, the interrupt sequence can be mapped to the target system.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、前記合成部は、前記意味空間識別子がハードウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がハードウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記ターゲットシステム内のバッファに前記入力値を格納して前記第2のモジュールを起動する第1の処理と、前記第2のモジュールの処理完了後、前記バッファから前記出力値を取得する第2の処理とを実行するバッファリングシーケンスを前記ターゲットシステムにマッピングすることが好ましい。   In the design support system described above, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. The synthesizing unit refers to the target module when the semantic space identifier is referenced from a first module indicating a hardware module, and the second module whose semantic space identifier indicates a hardware module is mapped to the target system. A first process for storing the input value in a buffer in the system and starting the second module; and a second process for obtaining the output value from the buffer after completion of the process of the second module; Mapping a buffering sequence to execute the target to the target system It is preferred.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールの各々には、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とがさらに含まれている。意味空間識別子がハードウェアモジュールを示す第1のモジュールから参照される、意味空間識別子がハードウェアモジュールを示す第2のモジュールがターゲットシステムにマッピングされる場合、ターゲットシステム内のバッファに入力値を格納して第2のモジュールを起動する第1の処理と、第2のモジュールの処理完了後、バッファから出力値を取得する第2の処理とを実行するバッファリングシーケンスがターゲットシステムにマッピングされる。   According to this configuration, each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module. When the semantic module identifier is referenced from the first module indicating the hardware module, and the second module indicating the hardware module is mapped to the target system, the input value is stored in a buffer in the target system. Then, the buffering sequence for executing the first process for starting the second module and the second process for obtaining the output value from the buffer after the completion of the process of the second module is mapped to the target system.

したがって、モジュールを選択する際には、ソフトウェアモジュールとハードウェアモジュールとを同一モジュールとして扱い、モジュールをターゲットシステムに合成する際に、モジュールのインタフェースの実装形態を特定することができる。また、ハードウェアモジュールからハードウェアモジュールが参照され、ハードウェアモジュールがターゲットシステムにマッピングされる場合に、バッファリングシーケンスをターゲットシステムにマッピングすることができる。   Therefore, when selecting a module, the software module and the hardware module are handled as the same module, and when the module is synthesized into the target system, the implementation form of the module interface can be specified. In addition, when a hardware module is referenced from the hardware module and the hardware module is mapped to the target system, the buffering sequence can be mapped to the target system.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールは、モジュールが消費する消費電力、モジュールの回路面積及びモジュールの処理時間のうちの少なくとも1つを含み、前記ターゲットシステムに与えられた制約条件として、消費電力、回路面積及び処理時間のうちの少なくとも1つを予め記憶する制約条件記憶部と、前記合成部によって前記ターゲットシステムに合成されたモジュールに含まれる消費電力、回路面積及び処理時間のうちの少なくとも1つに基づいて、前記ターゲットシステム全体の消費電力、回路面積及び処理時間のうちの少なくとも1つを仕様値として計算する計算部と、前記計算部によって計算された前記仕様値が前記制約条件記憶部に記憶されている前記制約条件を満たすか否かを判断する判断部と、前記判断部によって前記仕様値が前記制約条件を満たすと判断された場合、前記ターゲットシステムをユーザに提示する提示部とをさらに備えることが好ましい。   In the design support system, the software module and the hardware module include at least one of power consumption consumed by the module, a circuit area of the module, and a processing time of the module, and are provided to the target system. As a constraint condition, a constraint condition storage unit that stores in advance at least one of power consumption, circuit area, and processing time, and power consumption, circuit area, and the like included in the module synthesized in the target system by the synthesis unit Based on at least one of the processing times, a calculation unit that calculates at least one of power consumption, circuit area, and processing time of the entire target system as a specification value, and the specification calculated by the calculation unit The constraint whose value is stored in the constraint storage unit A determination section configured to determine whether they meet the matter, if the specification value by the determination unit is determining that the constraint condition is satisfied, it is preferable to further comprising a presentation unit for presenting the target system to the user.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールには、モジュールが消費する消費電力、モジュールの回路面積及びモジュールの処理時間のうちの少なくとも1つが含まれる。そして、ターゲットシステムに与えられた制約条件として、消費電力、回路面積及び処理時間のうちの少なくとも1つが制約条件記憶部に予め記憶されている。ターゲットシステムに合成されたモジュールに含まれる消費電力、回路面積及び処理時間のうちの少なくとも1つに基づいて、ターゲットシステム全体の消費電力、回路面積及び処理時間のうちの少なくとも1つが仕様値として計算される。計算された仕様値が、制約条件記憶部に記憶されている制約条件を満たすか否かが判断され、仕様値が制約条件を満たすと判断された場合、ターゲットシステムがユーザに提示される。   According to this configuration, the software module and the hardware module include at least one of the power consumption consumed by the module, the circuit area of the module, and the processing time of the module. As a constraint condition given to the target system, at least one of power consumption, circuit area, and processing time is stored in advance in the constraint condition storage unit. Based on at least one of power consumption, circuit area, and processing time included in the module synthesized in the target system, at least one of power consumption, circuit area, and processing time of the entire target system is calculated as a specification value. Is done. It is determined whether or not the calculated specification value satisfies the constraint condition stored in the constraint condition storage unit. When it is determined that the specification value satisfies the constraint condition, the target system is presented to the user.

したがって、ターゲットシステムを設計する際の制約条件を満たしつつ、自由にターゲットシステムを設計することができる。また、予め記憶されている制約条件を満たすターゲットシステムを自動的に設計することができる。   Therefore, it is possible to freely design the target system while satisfying the constraints when designing the target system. In addition, a target system that satisfies previously stored constraint conditions can be automatically designed.

また、上記の設計支援システムにおいて、前記モジュール選択部は、前記判断部によって前記仕様値が前記制約条件を満たさないと判断された場合、前記ターゲットシステムに合成されたモジュールのうち、入れ替え可能なモジュールを選択し、選択した前記入れ替え可能なモジュールを他のモジュールと交換し、前記合成部は、交換した前記他のモジュールを前記ターゲットシステムに合成することが好ましい。   In the design support system, the module selection unit may replace a module among the modules synthesized in the target system when the determination unit determines that the specification value does not satisfy the constraint condition. It is preferable that the selected interchangeable module is replaced with another module, and the combining unit combines the replaced other module with the target system.

この構成によれば、仕様値が制約条件を満たさないと判断された場合、ターゲットシステムに合成されたモジュールのうち、入れ替え可能なモジュールが選択され、選択された入れ替え可能なモジュールが他のモジュールと交換され、交換された他のモジュールがターゲットシステムに合成される。   According to this configuration, when it is determined that the specification value does not satisfy the constraint condition, a replaceable module is selected from the modules synthesized in the target system, and the selected replaceable module is replaced with another module. The exchanged other modules are synthesized into the target system.

したがって、仕様値が制約条件を満たさない場合であっても、仕様値が制約条件を満たす他のモジュールが再度選択され、ターゲットシステムに合成されるので、制約条件を満たすターゲットシステムを自動的に設計することができる。   Therefore, even if the specification value does not satisfy the constraint condition, other modules that satisfy the constraint condition are selected again and synthesized into the target system, so the target system that satisfies the constraint condition is automatically designed. can do.

また、上記の設計支援システムにおいて、前記制約条件が複数存在する場合、前記制約条件の優先度を設定する優先度設定部をさらに備えることが好ましい。この構成によれば、制約条件が複数存在する場合、制約条件の優先度が設定されるので、優先度に応じて最適なモジュールをターゲットシステムに合成することができる。   In the above design support system, it is preferable that the design support system further includes a priority setting unit that sets the priority of the constraint condition when there are a plurality of the constraint conditions. According to this configuration, when there are a plurality of constraint conditions, the priority of the constraint conditions is set, so that an optimal module can be synthesized in the target system according to the priority.

また、上記の設計支援システムにおいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールは、モジュールが消費する消費電力、モジュールの回路面積及びモジュールの処理時間のうちの少なくとも1つを含み、前記ターゲットシステムに与えられた制約条件として、消費電力、回路面積及び処理時間のうちの少なくとも1つを予め記憶する制約条件記憶部と、前記合成部によって前記ターゲットシステムに合成されたモジュールに含まれる消費電力、回路面積及び処理時間のうちの少なくとも1つに基づいて、前記ターゲットシステム全体の消費電力、回路面積及び処理時間のうちの少なくとも1つを仕様値として計算する計算部と、前記計算部によって計算された前記仕様値が前記制約条件記憶部に記憶されている前記制約条件を満たすか否かを判断する判断部と、前記判断部によって前記仕様値が前記制約条件を満たすと判断された場合、前記ターゲットシステムに合成されたモジュールのうち、入れ替え可能なモジュールがなくなるまで、前記ターゲットシステムを記憶するターゲットシステム記憶部と、前記ターゲットシステム記憶部に記憶されている全ての前記ターゲットシステムをユーザに提示する提示部とを備えることが好ましい。   In the design support system, the software module and the hardware module include at least one of power consumption consumed by the module, a circuit area of the module, and a processing time of the module, and are provided to the target system. As a constraint condition, a constraint condition storage unit that stores in advance at least one of power consumption, circuit area, and processing time, and power consumption, circuit area, and the like included in the module synthesized in the target system by the synthesis unit Based on at least one of the processing times, a calculation unit that calculates at least one of power consumption, circuit area, and processing time of the entire target system as a specification value, and the specification calculated by the calculation unit The constraint whose value is stored in the constraint storage unit A determination unit that determines whether or not the condition is satisfied; and when the determination unit determines that the specification value satisfies the constraint condition, until there is no replaceable module among the modules synthesized in the target system It is preferable to include a target system storage unit that stores the target system, and a presentation unit that presents all the target systems stored in the target system storage unit to the user.

この構成によれば、ソフトウェアモジュール及びハードウェアモジュールには、モジュールが消費する消費電力、モジュールの回路面積及びモジュールの処理時間のうちの少なくとも1つが含まれる。そして、ターゲットシステムに与えられた制約条件として、消費電力、回路面積及び処理時間のうちの少なくとも1つが制約条件記憶部に予め記憶されている。ターゲットシステムに合成されたモジュールに含まれる消費電力、回路面積及び処理時間のうちの少なくとも1つに基づいて、ターゲットシステム全体の消費電力、回路面積及び処理時間のうちの少なくとも1つが仕様値として計算される。計算された仕様値が、制約条件記憶部に記憶されている制約条件を満たすか否かが判断され、仕様値が制約条件を満たすと判断された場合、ターゲットシステムに合成されたモジュールのうち、入れ替え可能なモジュールがなくなるまで、ターゲットシステムがターゲットシステム記憶部に記憶される。そして、ターゲットシステム記憶部に記憶されている全てのターゲットシステムがユーザに提示される。   According to this configuration, the software module and the hardware module include at least one of the power consumption consumed by the module, the circuit area of the module, and the processing time of the module. As a constraint condition given to the target system, at least one of power consumption, circuit area, and processing time is stored in advance in the constraint condition storage unit. Based on at least one of power consumption, circuit area, and processing time included in the module synthesized in the target system, at least one of power consumption, circuit area, and processing time of the entire target system is calculated as a specification value. Is done. When it is determined whether the calculated specification value satisfies the constraint condition stored in the constraint condition storage unit, and the specification value is determined to satisfy the constraint condition, among the modules synthesized in the target system, The target system is stored in the target system storage unit until there is no replaceable module. Then, all target systems stored in the target system storage unit are presented to the user.

したがって、仕様値が制約条件を満たす全てのターゲットシステムが提示されるので、ユーザは、最適なターゲットシステムを確認することができる。   Therefore, since all target systems whose specification values satisfy the constraint conditions are presented, the user can confirm the optimum target system.

また、上記の設計支援システムにおいて、前記提示部は、前記制約条件を満たす順番で前記ターゲットシステム記憶部に記憶されている前記ターゲットシステムをユーザに提示することが好ましい。   In the design support system, it is preferable that the presenting unit presents the target system stored in the target system storage unit to the user in an order satisfying the constraint conditions.

この構成によれば、制約条件を満たす順番でターゲットシステム記憶部に記憶されているターゲットシステムがユーザに提示されるので、ユーザは、最適なターゲットシステムを容易に確認することができる。   According to this configuration, since the target systems stored in the target system storage unit are presented to the user in the order satisfying the constraint conditions, the user can easily confirm the optimal target system.

本発明によれば、ソフトウェアモジュール及びハードウェアモジュールが含む意味空間識別子に基づいて、ソフトウェアモジュール及びハードウェアモジュールのいずれかがターゲットシステムに合成されるので、ソフトウェアモジュールとハードウェアモジュールとを区別することなく、これらを組み合わせて最適なターゲットシステムを設計することができる。   According to the present invention, since either the software module or the hardware module is synthesized with the target system based on the semantic space identifier included in the software module and the hardware module, the software module and the hardware module are distinguished from each other. These can be combined to design an optimal target system.

以下添付図面を参照しながら、本発明の実施の形態について説明する。尚、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。   Embodiments of the present invention will be described below with reference to the accompanying drawings. In addition, the following embodiment is an example which actualized this invention, Comprising: It is not the thing of the character which limits the technical scope of this invention.

図1は、本実施の形態における設計支援システムの構成例を示した図である。設計支援システム100は、組込み計算機システム分野におけるハードウェアモジュール、ソフトウェアモジュールを管理する設計支援システム全体を示す。設計支援システム100は、ネットワーク111に接続された外部記憶装置110及びデータベース処理装置112から構成される。外部記憶装置110は、ハードディスク、光ディスクなどを利用した大容量記憶装置である。図中では、データベース処理装置112を一つしか示していないが、大規模データを扱う場合には、複数個のデータベース処理装置112を並列に処理させて高速化させる方法を採用することも可能である。   FIG. 1 is a diagram showing a configuration example of a design support system according to the present embodiment. The design support system 100 represents the entire design support system that manages hardware modules and software modules in the field of embedded computer systems. The design support system 100 includes an external storage device 110 and a database processing device 112 connected to a network 111. The external storage device 110 is a mass storage device using a hard disk, an optical disk, or the like. Although only one database processing device 112 is shown in the figure, when handling large-scale data, it is possible to employ a method of speeding up processing by processing a plurality of database processing devices 112 in parallel. is there.

データベース処理装置112は、一般的な情報処理装置であり、CPU(中央演算処理装置)114、内部メモリ115及び外部入出力装置116を備える。CPU114、内部メモリ115及び外部入出力装置116は、それぞれ内部バス113に接続されている。外部入出力装置116は、ネットワーク接続装置であり、ネットワーク111を介して外部記憶装置110の記憶内容を参照する。内部メモリ115には、モジュール管理ソフトウェア117が記憶されている。CPU114は、モジュール管理ソフトウェア117の命令を逐次読み出して実行する。モジュール管理ソフトウェア117は、設計支援システム100全体を管理するソフトウェアであり、外部記憶装置110に格納されているハードウェアモジュール120乃至122、ソフトウェアモジュール130乃至132を管理し、選択し、マッピングする機能を有する。当該モジュール管理ソフトウェア117の処理内容については、図4以降において後述する。   The database processing device 112 is a general information processing device, and includes a CPU (Central Processing Unit) 114, an internal memory 115, and an external input / output device 116. The CPU 114, the internal memory 115, and the external input / output device 116 are each connected to the internal bus 113. The external input / output device 116 is a network connection device, and refers to the storage contents of the external storage device 110 via the network 111. Module management software 117 is stored in the internal memory 115. The CPU 114 sequentially reads and executes the instructions of the module management software 117. The module management software 117 is software for managing the entire design support system 100, and has a function of managing, selecting, and mapping the hardware modules 120 to 122 and the software modules 130 to 132 stored in the external storage device 110. Have. The processing contents of the module management software 117 will be described later in FIG.

ハードウェアモジュール120乃至122、および、ソフトウェアモジュール130乃至132は、それぞれ、各種ハードウェアモジュールの回路図、ソフトウェアモジュールのソースコード又はオブジェクトファイルの内容を含んでいる。ハードウェアモジュール及びソフトウェアモジュールの詳細は図2及び図3を用いて説明する。図1では、ハードウェアモジュール120とソフトウェアモジュール130とは、同一の処理を行うハードウェア回路とソフトウェアモジュールとを表している。この場合、当該ハードウェアモジュールのインタフェース部140と、ソフトウェアモジュールのインタフェース部141とは、全く同一の記述となる。通常、ハードウェアモジュールのインタフェースは、上記の第3の文献に示されるように、割込みやレジスタアクセスで行われ、ソフトウェアモジュールのインタフェースは、上記の第2の文献に示されるように、関数呼出しやメッセージ通信で行われるが、本実施の形態では、これらのインタフェースを共通化させている。これにより、モジュール管理ソフトウェア117は、ソフトウェアモジュールであっても、ハードウェアモジュールであっても、統一的に管理し、必要なモジュールを適切に選択することができる。図1において、ハードウェアモジュールとソフトウェアモジュールとの区別を行う識別子は意味空間識別子142、143である。意味空間識別子142はハードウェア空間のモジュールであることを示し、意味空間識別子143はソフトウェア空間のモジュールであることを示す。   The hardware modules 120 to 122 and the software modules 130 to 132 include circuit diagrams of various hardware modules, software module source code, or object file contents, respectively. Details of the hardware module and the software module will be described with reference to FIGS. In FIG. 1, a hardware module 120 and a software module 130 represent a hardware circuit and a software module that perform the same processing. In this case, the interface section 140 of the hardware module and the interface section 141 of the software module have exactly the same description. Usually, the interface of the hardware module is performed by an interrupt or a register access as shown in the third document, and the interface of the software module is a function call or a function as shown in the second document. Although it is performed by message communication, in the present embodiment, these interfaces are shared. As a result, the module management software 117 can manage all the software modules and hardware modules in a unified manner and appropriately select the necessary modules. In FIG. 1, identifiers for distinguishing between hardware modules and software modules are semantic space identifiers 142 and 143. The semantic space identifier 142 indicates a hardware space module, and the semantic space identifier 143 indicates a software space module.

図2は、ハードウェアモジュール120の内部構成を詳細に説明するための図である。本実施の形態において、ハードウェアモジュール120はXML(eXtensible Markup Language)などの共通言語で記載されているものとしているが、別のタグ言語を利用してもよい。しかしながら、図4において後述するように、XMLスキーマ及び意味空間処理によって、特定のタグで指定されたデータの意味を変更することになるため、タグに対して処理すべき内容を意味空間定義によって変更することが容易なXMLでの記載が望ましい。   FIG. 2 is a diagram for explaining the internal configuration of the hardware module 120 in detail. In the present embodiment, the hardware module 120 is described in a common language such as XML (extensible Markup Language), but another tag language may be used. However, as will be described later with reference to FIG. 4, the meaning of data specified by a specific tag is changed by the XML schema and semantic space processing, so the content to be processed for the tag is changed by the semantic space definition. It is desirable to describe in XML that is easy to do.

ハードウェアモジュール120は、意味空間識別子142、インタフェース部140、消費電力情報201、処理速度情報202及び回路構成記述部200で構成される。意味空間識別子142は、開始タグ220aと、終了タグ220bと、開始タグ220a及び終了タグ220bで囲まれた意味空間記号210とで構成される。以下、いずれの項目に関しても同様に、XMLで記載する場合、XML文法に従い、開始タグ、データ及び終了タグの組合せで記述される。インタフェース部140は、一般に、入力インタフェース140a及び出力インタフェース140bから構成される。モジュールによっては、入力インタフェース140a及び出力インタフェース140bのうちのいずれかのみというインタフェースとなることもある。   The hardware module 120 includes a semantic space identifier 142, an interface unit 140, power consumption information 201, processing speed information 202, and a circuit configuration description unit 200. The semantic space identifier 142 includes a start tag 220a, an end tag 220b, and a semantic space symbol 210 surrounded by the start tag 220a and the end tag 220b. Hereinafter, in the same manner, in any item, when described in XML, it is described by a combination of a start tag, data, and an end tag according to the XML grammar. The interface unit 140 generally includes an input interface 140a and an output interface 140b. Depending on the module, the interface may be only one of the input interface 140a and the output interface 140b.

入力インタフェース140aは、さらに、開始タグ221aと、終了タグ221bと、開始タグ221a及び終了タグ221bで囲まれた引数群211とで構成される。同様に、出力インタフェース140bは、開始タグ222aと、終了タグ222bと、開始タグ222a及び終了タグ222bで囲まれたリターン値群212とで構成される。なお、引数群211は複数個の引数で構成され、リターン値群212は複数個のリターン値で構成される場合がある。本実施の形態では、引数が二つ存在し、リターン値が一つしか存在しない条件で記載している。引数群211が複数個の引数から構成される場合、第一引数及び第二引数といった個々の引数をXMLタグによって区別することが可能である。   The input interface 140a further includes a start tag 221a, an end tag 221b, and an argument group 211 surrounded by the start tag 221a and the end tag 221b. Similarly, the output interface 140b includes a start tag 222a, an end tag 222b, and a return value group 212 surrounded by the start tag 222a and the end tag 222b. The argument group 211 may be composed of a plurality of arguments, and the return value group 212 may be composed of a plurality of return values. In the present embodiment, the description is made under the condition that there are two arguments and only one return value. When the argument group 211 includes a plurality of arguments, individual arguments such as the first argument and the second argument can be distinguished by the XML tag.

回路構成記述部200は、ハードウェアモジュール120における実際の回路図を記載したものである。回路構成記述部200についても、開始タグ223aと、終了タグ223bと、開始タグ223a及び終了タグ223bで囲まれた回路図213とで構成される。なお、回路図213は、図2においては、理解しやすいように、ブロック図レベルで記載しているが、実際には、RTL(Register Transfer Level)記述、SystemC記述など、ハードウェア記述用言語で直接記載されるか、または、当該記述ファイルへのリンクを記載してもよい。   The circuit configuration description unit 200 describes an actual circuit diagram in the hardware module 120. The circuit configuration description unit 200 also includes a start tag 223a, an end tag 223b, and a circuit diagram 213 surrounded by the start tag 223a and the end tag 223b. In FIG. 2, the circuit diagram 213 is described at the block diagram level for easy understanding. However, in practice, the circuit diagram 213 is written in a hardware description language such as RTL (Register Transfer Level) description, SystemC description, or the like. It may be described directly, or a link to the description file may be described.

インタフェース部140(140aおよび140b)、意味空間識別子142及び回路構成記述部200によって、ハードウェアモジュール120の外部動作仕様及び内部動作仕様が規定される。データを記述するマークアップ言語を定義するメタ言語としてXMLを利用することにより、当該ハードウェアモジュールを選択する際に参照するための属性情報も追記することができる。消費電力情報201及び処理速度情報202がこの属性情報に相当する。消費電力情報201は、回路図213を実装した場合に消費する電力を表す。消費電力情報201も同様に、開始タグ224aと、終了タグ224bと、開始タグ224a及び終了タグ224bで囲まれた消費電力見積り値214とで構成される。なお、XML記述の利点を生かし、開始タグ224aにおいて、消費電力情報201の“単位”が“ワット”であることが規定されている。   The interface unit 140 (140a and 140b), the semantic space identifier 142, and the circuit configuration description unit 200 define the external operation specifications and the internal operation specifications of the hardware module 120. By using XML as a meta language for defining a markup language for describing data, attribute information to be referred to when selecting the hardware module can be additionally written. The power consumption information 201 and the processing speed information 202 correspond to this attribute information. The power consumption information 201 represents the power consumed when the circuit diagram 213 is mounted. Similarly, the power consumption information 201 includes a start tag 224a, an end tag 224b, and a power consumption estimated value 214 surrounded by the start tag 224a and the end tag 224b. It should be noted that taking advantage of the XML description, the start tag 224a specifies that the “unit” of the power consumption information 201 is “watts”.

同様に、処理速度情報202は、回路図213を実装した場合の処理速度を表している。処理速度情報202は、開始タグ225aと、終了タグ225bと、開始タグ225a及び終了タグ225bで囲まれた処理実行時間215とで構成される。なお、開始タグ225aにおいて、処理実行時間の単位が“サイクル数”であることが規定されている。消費電力情報201及び処理速度情報202は、実際に、ハードウェアモジュール120をシステムに組み込む際に利用されるものではないが、複数の同一処理を行うハードウェアモジュール、ソフトウェアモジュールが存在し、消費電力制約及び時間制約に基づいてモジュールを選択する際に利用される。なお、図2では、消費電力情報201及び処理速度情報202のみを指定しているが、ハードウェアモジュールの場合、これらに加えて、回路面積情報などを追記できる。   Similarly, the processing speed information 202 represents the processing speed when the circuit diagram 213 is mounted. The processing speed information 202 includes a start tag 225a, an end tag 225b, and a process execution time 215 surrounded by the start tag 225a and the end tag 225b. The start tag 225a specifies that the unit of processing execution time is “number of cycles”. The power consumption information 201 and the processing speed information 202 are not actually used when the hardware module 120 is incorporated into the system, but there are a plurality of hardware modules and software modules that perform the same processing. Used when selecting modules based on constraints and time constraints. In FIG. 2, only the power consumption information 201 and the processing speed information 202 are specified. However, in the case of a hardware module, circuit area information and the like can be additionally written.

図3は、ソフトウェアモジュール130の内部構成を詳細に説明するための図である。図3において、ハードウェアモジュール120と共通の符号については、同一の内容を示している。ソフトウェアモジュール130は、ハードウェアモジュール120と同様にXMLで記載されている。   FIG. 3 is a diagram for explaining the internal configuration of the software module 130 in detail. In FIG. 3, the same reference numerals as those of the hardware module 120 indicate the same contents. The software module 130 is described in XML like the hardware module 120.

ソフトウェアモジュール130は、意味空間識別子143、インタフェース部141、ライセンス情報301、処理速度情報302及びプログラム記述部300で構成される。ハードウェアモジュール120と同様に、ソフトウェアモジュール130は、意味空間識別子143を有している。意味空間識別子143は、他のハードウェアモジュール及びソフトウェアモジュールと同一の開始タグ220a及び終了タグ220bを有するが、ソフトウェアモジュールであるため、異なった意味空間記号310を用いている。インタフェース部141は、入力インタフェース141a及び出力インタフェース141bから構成される。   The software module 130 includes a semantic space identifier 143, an interface unit 141, license information 301, processing speed information 302, and a program description unit 300. Similar to the hardware module 120, the software module 130 has a semantic space identifier 143. The semantic space identifier 143 has the same start tag 220a and end tag 220b as the other hardware modules and software modules, but uses a different semantic space symbol 310 because it is a software module. The interface unit 141 includes an input interface 141a and an output interface 141b.

入力インタフェース141aは、さらに、開始タグ221aと、終了タグ221bと、開始タグ221a及び終了タグ221bで囲まれた引数群311とで構成される。同様に、出力インタフェース141bは、開始タグ222aと、終了タグ222bと、開始タグ222a、終了タグ222bで囲まれたリターン値群312とで構成される。ソフトウェアモジュール130のインタフェース部141(141aおよび141b)は、ハードウェアモジュールと共通の形式で記述され、同一機能が実装される場合、ソフトウェアモジュール及びハードウェアモジュールのいずれであっても、同じタグ、内容を示すものとする。   The input interface 141a further includes a start tag 221a, an end tag 221b, and an argument group 311 surrounded by the start tag 221a and the end tag 221b. Similarly, the output interface 141b includes a start tag 222a, an end tag 222b, and a return value group 312 surrounded by the start tag 222a and the end tag 222b. The interface unit 141 (141a and 141b) of the software module 130 is described in the same format as that of the hardware module. When the same function is implemented, the same tag and contents are used regardless of whether the software module or the hardware module is implemented. It shall be shown.

プログラム記述部300は、ソフトウェアモジュール130における実際のプログラムを記載したものである。プログラム記述部300についても、開始タグ223aと、終了タグ223bと、開始タグ223a及び終了タグ223bで囲まれたプログラムコード313とで構成される。プログラムコード313は、理解が容易なように、ソースコードで記載しているが、実際には、オブジェクトコードで記載したり、ソースコードファイルやオブジェクトファイルへのリンクを記載してもよい。   The program description unit 300 describes an actual program in the software module 130. The program description unit 300 also includes a start tag 223a, an end tag 223b, and a program code 313 surrounded by the start tag 223a and the end tag 223b. The program code 313 is described in the source code so that it can be easily understood. However, the program code 313 may actually be described in the object code or a link to the source code file or the object file.

インタフェース部141(141aおよび141b)、意味空間識別子143及びプログラム記述部300によって、ソフトウェアモジュール130の外部動作仕様及び内部動作仕様が規定される。ハードウェアモジュール120と同様、ソフトウェアモジュール130においても、ライセンス情報301及び処理速度情報302といった属性情報を追加している。なお、ソフトウェアモジュール130には、回路面積及び消費電力情報が設けられていない。   The interface unit 141 (141a and 141b), the semantic space identifier 143, and the program description unit 300 define the external operation specifications and the internal operation specifications of the software module 130. Similar to the hardware module 120, the software module 130 also adds attribute information such as license information 301 and processing speed information 302. The software module 130 is not provided with circuit area and power consumption information.

ライセンス情報301は、開始タグ320aと、終了タグ320bと、開始タグ320a及び終了タグ320bで囲まれたライセンス情報内容314とで構成される。本実施の形態におけるライセンス情報内容314は、ソフトウェアモジュール130がGPL(GNU Public License)管理下にあることを示している。当該XML記述を利用することで、モジュール管理ソフトウェア117は、ライセンス情報内容314が“GPL”を表す場合にはソースコードを外部公開するという機能を搭載することも可能である。   The license information 301 includes a start tag 320a, an end tag 320b, and license information contents 314 surrounded by the start tag 320a and the end tag 320b. The license information content 314 in the present embodiment indicates that the software module 130 is under GPL (GNU Public License) management. By using the XML description, the module management software 117 can be equipped with a function of externally publishing the source code when the license information content 314 indicates “GPL”.

処理速度情報302は、プログラムコード313を実行した場合の処理速度を表している。処理速度情報302は、開始タグ321aと、終了タグ321bと、開始タグ321a及び終了タグ321bで囲まれた処理実行時間315とで構成される。ただし、プログラムの処理実行時間であるため、サイクル精度の実行時間を規定することができず、開始タグ321aにおいて、処理実行時間の単位が“秒”であることを規定している。   The processing speed information 302 represents the processing speed when the program code 313 is executed. The processing speed information 302 includes a start tag 321a, an end tag 321b, and a process execution time 315 surrounded by the start tag 321a and the end tag 321b. However, since it is the processing execution time of the program, the execution time with cycle accuracy cannot be specified, and the start tag 321a specifies that the unit of the processing execution time is “second”.

以上説明したように、ソフトウェアモジュール及びハードウェアモジュールに意味空間情報を設け、かつ、インタフェース部を共通化することにより、実現手段がソフトウェアであっても、ハードウェアであっても、同一モジュールとして扱うことができる。同じインタフェース記述であっても、最終的には意味空間情報を用いて異なったマッピングが行われるが、モジュールを選択して組込み計算機システムを構築する際には、インタフェース仕様のみをベースにしてシステム設計を行えばよい。実際にソフトウェアにマッピングされるか、ハードウェアで実現されるかについては、システム設計段階で気にかける必要性はなくなる。   As described above, the software module and the hardware module are provided with semantic space information, and the interface unit is made common, so that the realization unit is handled as the same module regardless of whether it is software or hardware. be able to. Even with the same interface description, different mapping is performed using semantic space information, but when building a built-in computer system by selecting modules, system design is based only on the interface specifications. Can be done. Whether it is actually mapped to software or hardware is not necessary at the system design stage.

図4は、ハードウェアモジュール120及びソフトウェアモジュール130を実際の組込み計算機システムにマッピングする際の設計支援システム100の処理を表す概念図である。ここで、図1乃至図3と同一の符号は、図1乃至図3と同一の構成及びデータを表している。   FIG. 4 is a conceptual diagram showing processing of the design support system 100 when mapping the hardware module 120 and the software module 130 to an actual embedded computer system. Here, the same reference numerals as those in FIGS. 1 to 3 represent the same configurations and data as those in FIGS.

アプリケーション400は、本実施の形態における設計支援システム100を用いて合成したいターゲットアプリケーションである。これを、制約条件ファイル401で指定された条件にしたがって、ターゲットシステム402または403にマッピングする。なお、アプリケーション400は、図4では、単純なソフトウェアとして記載しているが、実際には、アプリケーションとなる組込み計算機システムである。すなわち、アプリケーション400自体が、ソフトウェア及びハードウェアから構成され、それらが外部記憶装置110に格納されているハードウェアモジュール及びソフトウェアモジュールを参照していることになる。   The application 400 is a target application to be synthesized using the design support system 100 in the present embodiment. This is mapped to the target system 402 or 403 in accordance with the conditions specified in the constraint condition file 401. Note that the application 400 is illustrated as simple software in FIG. 4, but is actually an embedded computer system serving as an application. That is, the application 400 itself is composed of software and hardware, and these refer to the hardware module and software module stored in the external storage device 110.

モジュール管理ソフトウェア117は、さらに、モジュールマッピング処理410、意味空間処理411、XMLスキーマ412及びモジュール選択処理413から構成される。XMLスキーマ412は、一般に、XML文書の構文解析を行うプログラムであり、前述した開始タグ220a〜225a,320a,321a及び終了タグ220b〜225b,320b,321bといったXMLタグの解釈、抽出を行う。XMLスキーマ412の一般的な説明は、“David C. Fallside,Priscilla Walmsley,XML Schema Part 0: Primer Second Edition,W3C Recommendation,28 October 2004”などの文献に記載されている。   The module management software 117 further includes a module mapping process 410, a semantic space process 411, an XML schema 412, and a module selection process 413. The XML schema 412 is generally a program that performs syntax analysis of an XML document, and interprets and extracts XML tags such as the start tags 220a to 225a, 320a, and 321a and the end tags 220b to 225b, 320b, and 321b described above. A general description of the XML schema 412 is described in documents such as “David C. Fallside, Priscilla Walmsley, XML Schema Part 0: Primer Second Edition, W3C Recommendation, 28 October 2004”.

ここで、XMLスキーマ412からの出力をそのままモジュールマッピング処理410に入力すると、上記したように、正しいマッピングを行うことができない。このため、XMLスキーマ412からの出力に対して意味空間処理411を適用する。意味空間処理411は、たとえ同じ引数群、リターン値群を有しているモジュールであっても、ソフトウェア空間にあるモジュールやアプリケーションからハードウェア空間にあるモジュールへの参照を行う場合、例えば、(1)レジスタへの引数値設定、(2)ハードウェアモジュールの起動、(3)結果割込み待ち、(4)レジスタからのリターン値取出し、というシーケンスに変換する。このようなシーケンスは、参照元がソフトウェア空間にあるかハードウェア空間にあるか、及び、参照先がソフトウェア空間にあるかハードウェア空間にあるかによって異なるが、これらについては図8で詳細に説明する。   If the output from the XML schema 412 is directly input to the module mapping process 410, correct mapping cannot be performed as described above. For this reason, the semantic space processing 411 is applied to the output from the XML schema 412. When the semantic space processing 411 refers to a module in the software space or a module in the hardware space from an application, even if the modules have the same argument group and return value group, for example, (1 The sequence is converted into the following sequence:) Argument value setting in register, (2) Start of hardware module, (3) Wait for result interrupt, (4) Retrieve return value from register. Such a sequence differs depending on whether the reference source is in the software space or the hardware space, and whether the reference destination is in the software space or the hardware space, which are described in detail in FIG. To do.

モジュール選択処理413は、制約条件ファイル401で定義された条件と、合成されたターゲットシステムにおける消費電力、回路面積及び処理実行時間などの仕様値とを比較し、必要に応じて、最適なモジュールを選択しなおす役割を有する。   The module selection processing 413 compares the conditions defined in the constraint file 401 with the specification values such as power consumption, circuit area, and processing execution time in the synthesized target system, and selects an optimal module as necessary. Has the role of reselecting.

次に、設計支援システム100の構成についてさらに詳細に説明する。図5は、本実施の形態における設計支援システムの構成を示すブロック図である。設計支援システム100は、外部記憶装置110及びモジュール管理部10を備える。モジュール管理部10は、上記のモジュール管理ソフトウェア117をCPU114が実行することにより実現される。   Next, the configuration of the design support system 100 will be described in more detail. FIG. 5 is a block diagram showing the configuration of the design support system in the present embodiment. The design support system 100 includes an external storage device 110 and a module management unit 10. The module management unit 10 is realized by the CPU 114 executing the module management software 117 described above.

モジュール管理部10は、アプリケーション取得部11、モジュール選択部12、XML解析部13、意味空間処理部14、モジュールマッピング処理部15、仕様値計算部16、判断部17、制約条件記憶部18、優先度入力受付部19、優先度設定部20及び表示部21を備える。   The module management unit 10 includes an application acquisition unit 11, a module selection unit 12, an XML analysis unit 13, a semantic space processing unit 14, a module mapping processing unit 15, a specification value calculation unit 16, a determination unit 17, a constraint condition storage unit 18, and a priority. A degree input receiving unit 19, a priority setting unit 20, and a display unit 21.

アプリケーション取得部11は、構築すべきターゲットシステムを表すアプリケーション400を取得する。なお、アプリケーション取得部11は、例えばユーザによって作成され、内部メモリ115に記憶されている所定のアプリケーション400を読み出す。なお、アプリケーション取得部11は、ネットワーク111を介して外部機器からアプリケーション400をダウンロードしてもよく、コンピュータ読み取り可能な記録媒体からアプリケーション400を読み取ってもよい。   The application acquisition unit 11 acquires an application 400 representing a target system to be constructed. Note that the application acquisition unit 11 reads a predetermined application 400 created by the user and stored in the internal memory 115, for example. Note that the application acquisition unit 11 may download the application 400 from an external device via the network 111 or may read the application 400 from a computer-readable recording medium.

外部記憶装置110は、所定の処理を実行するソフトウェアモジュールと、ソフトウェアモジュールと同一の処理を実行するハードウェアモジュールとを記憶する。なお、外部記憶装置110は、モジュールのインタフェースに関する記述が共通化されたソフトウェアモジュール及びハードウェアモジュールを記憶する。   The external storage device 110 stores a software module that executes a predetermined process and a hardware module that executes the same process as the software module. The external storage device 110 stores a software module and a hardware module in which descriptions related to the interface of the module are made common.

モジュール選択部12は、アプリケーション400が必要とするモジュールを、外部記憶装置110に記憶されている複数のソフトウェアモジュール及び複数のハードウェアモジュールの中から選択する。モジュール選択部12は、アプリケーション400の機能に応じて特定されるソフトウェアモジュール及びハードウェアモジュールを選択する。具体的に、モジュール選択部12は、外部記憶装置110内の個々のモジュールの共通化された外部動作仕様に関する記述(インタフェース部140,141)を検索し、アプリケーション400の機能に応じて特定される外部動作仕様に合致するソフトウェアモジュール及びハードウェアモジュールを選択する。なお、外部動作仕様が同じであり、内部動作仕様が全く異なるモジュールも存在する。そこで、モジュール選択部12は、外部動作仕様が合致するとして選択された個々のモジュールの内部動作仕様に関する記述(回路構成記述部200及びプログラム記述部300)が、アプリケーション400の機能に応じて特定される内部動作仕様に合致するモジュールを選択する。これにより、モジュール選択部12は、アプリケーション400が必要とするモジュールを選択する。なお、共通化されたインタフェース記述自体がXMLで記載されている場合には、これを検索するに際しても、XML解析部13が起動される場合がある。   The module selection unit 12 selects a module required by the application 400 from a plurality of software modules and a plurality of hardware modules stored in the external storage device 110. The module selection unit 12 selects a software module and a hardware module specified according to the function of the application 400. Specifically, the module selection unit 12 searches for descriptions (interface units 140 and 141) related to the common external operation specifications of individual modules in the external storage device 110, and is specified according to the function of the application 400. Select software modules and hardware modules that match the external operating specifications. There are modules having the same external operation specifications but completely different internal operation specifications. Therefore, the module selection unit 12 specifies the descriptions (circuit configuration description unit 200 and program description unit 300) regarding the internal operation specifications of the individual modules selected as matching the external operation specifications according to the function of the application 400. Select the module that matches the internal operation specifications. Accordingly, the module selection unit 12 selects a module required by the application 400. Note that if the common interface description itself is described in XML, the XML analysis unit 13 may be activated when searching for this.

XML解析部13は、モジュール選択部12によって選択されたソフトウェアモジュール及びハードウェアモジュールのXML文書の構文を解析する。ソフトウェアモジュール及びハードウェアモジュールはXMLで記述されており、XML解析部13は、XML文書を解析することにより、モジュールに含まれるモジュール本体の機能部、意味空間識別子及び属性情報などを抽出する。   The XML analysis unit 13 analyzes the syntax of the XML document of the software module and hardware module selected by the module selection unit 12. The software module and the hardware module are described in XML, and the XML analysis unit 13 analyzes the XML document, thereby extracting the function unit, semantic space identifier, attribute information, and the like of the module body included in the module.

意味空間処理部14は、ソフトウェアモジュールの意味空間識別子とハードウェアモジュールの意味空間識別子とを取得する。   The semantic space processing unit 14 acquires the semantic space identifier of the software module and the semantic space identifier of the hardware module.

モジュールマッピング処理部15は、意味空間処理部14によって取得された意味空間識別子に基づいてソフトウェアモジュール及びハードウェアモジュールのいずれかをターゲットシステムに合成する。また、モジュールマッピング処理部15は、意味空間識別子に基づいて、ソフトウェアモジュール及びハードウェアモジュールのいずれかをターゲットシステムに合成する際のマッピング形式を決定し、決定したマッピング形式が複数存在する場合、さらに属性情報に基づいてマッピング形式を決定し、決定したマッピング形式に従ってソフトウェアモジュール及びハードウェアモジュールのいずれかをターゲットシステムに合成する。なお、モジュールの属性を表す属性情報は、モジュールの処理性能、モジュールの消費する消費電力、及びインタフェース属性が公開及び非公開のどちらであるかを表す情報のうちの少なくとも1つを含む。   The module mapping processing unit 15 synthesizes either the software module or the hardware module with the target system based on the semantic space identifier acquired by the semantic space processing unit 14. In addition, the module mapping processing unit 15 determines a mapping format when combining either the software module or the hardware module with the target system based on the semantic space identifier, and when there are a plurality of determined mapping formats, A mapping format is determined based on the attribute information, and either a software module or a hardware module is synthesized with the target system according to the determined mapping format. Note that the attribute information indicating the module attribute includes at least one of module processing performance, power consumption consumed by the module, and information indicating whether the interface attribute is public or private.

仕様値計算部16は、モジュールマッピング処理部15によってターゲットシステムに合成されたモジュールに含まれる消費電力、回路面積及び処理時間のうちの少なくとも1つに基づいて、ターゲットシステム全体の消費電力、回路面積及び処理時間のうちの少なくとも1つを仕様値として計算する。   Based on at least one of the power consumption, the circuit area, and the processing time included in the module synthesized in the target system by the module mapping processing unit 15, the specification value calculation unit 16 uses the power consumption and circuit area of the entire target system. And at least one of the processing times is calculated as a specification value.

制約条件記憶部18は、ターゲットシステムに与えられた制約条件として、消費電力、回路面積及び処理時間のうちの少なくとも1つを予め記憶する。   The constraint condition storage unit 18 stores in advance at least one of power consumption, circuit area, and processing time as a constraint condition given to the target system.

判断部17は、仕様値計算部16によって計算された仕様値が制約条件記憶部18に記憶されている制約条件を満たすか否かを判断する。判断部17は、仕様値が制約条件を満たすと判断した場合、ターゲットシステムを表示部21へ出力する。一方、判断部17は、仕様値が制約条件を満たさないと判断した場合、その旨をモジュール選択部12へ通知する。モジュール選択部12は、仕様値が制約条件を満たさない旨の通知を受けると、ターゲットシステムに合成されたモジュールのうち、入れ替え可能なモジュールを選択する。例えば、モジュール選択部12は、ソフトウェアモジュールが選択されていた場合、このソフトウェアモジュールと同一処理を実行するハードウェアモジュールが存在するか否かを判断し、存在する場合、当該ソフトウェアモジュールを入れ替え可能なモジュールとして選択する。そして、モジュール選択部12は、入れ替え可能なモジュールを他のモジュールと交換する。例えば、モジュール選択部12は、ソフトウェアモジュールと同一処理を実行するハードウェアモジュールが存在する場合、当該ソフトウェアモジュールを当該ハードウェアモジュールに交換する。   The determination unit 17 determines whether the specification value calculated by the specification value calculation unit 16 satisfies the constraint condition stored in the constraint condition storage unit 18. If the determination unit 17 determines that the specification value satisfies the constraint condition, the determination unit 17 outputs the target system to the display unit 21. On the other hand, when the determination unit 17 determines that the specification value does not satisfy the constraint condition, the determination unit 17 notifies the module selection unit 12 to that effect. Upon receiving a notification that the specification value does not satisfy the constraint condition, the module selection unit 12 selects a replaceable module from among the modules synthesized in the target system. For example, when a software module is selected, the module selection unit 12 determines whether or not there is a hardware module that executes the same process as the software module, and if so, the software module can be replaced. Select as a module. Then, the module selection unit 12 replaces the replaceable module with another module. For example, when there is a hardware module that executes the same process as the software module, the module selection unit 12 replaces the software module with the hardware module.

優先度入力受付部19は、消費電力、回路面積及び処理時間などの各制約条件の優先度のユーザによる入力を受け付ける。すなわち、制約条件が複数存在する場合、各制約条件に優先度を付けることにより、より適切なモジュールを選択することが可能となる。例えば、処理時間と消費電力の2つの制約条件が存在する場合、処理時間の優先度を消費電力の優先度よりも高く設定する。そして、処理時間が0.5秒以内、消費電力が2W以内という制約条件が存在する場合に、仕様値計算部16によって計算されたターゲットシステム全体の処理時間が0.4秒であり、消費電力が3Wであったとしても、判断部17は、当該ターゲットシステムは制約条件を満たすとして判断する。つまり、処理時間の優先度が消費電力の優先度よりも高いため、消費電力が制約条件を満たしていなくても、処理時間が制約条件を満たしていれば当該ターゲットシステムは制約条件を満たすとして判断される。   The priority input reception unit 19 receives input by the user of the priority of each constraint condition such as power consumption, circuit area, and processing time. That is, when there are a plurality of constraint conditions, it is possible to select a more appropriate module by assigning a priority to each constraint condition. For example, when there are two constraint conditions of processing time and power consumption, the priority of processing time is set higher than the priority of power consumption. When there is a constraint that the processing time is within 0.5 seconds and the power consumption is within 2 W, the processing time of the entire target system calculated by the specification value calculation unit 16 is 0.4 seconds, and the power consumption Even if 3W is determined, the determination unit 17 determines that the target system satisfies the constraint condition. In other words, since the priority of the processing time is higher than the priority of the power consumption, even if the power consumption does not satisfy the constraint, the target system is determined to satisfy the constraint if the processing time satisfies the constraint. Is done.

なお、本実施の形態において、制約条件が複数存在する場合、判断部17は、全ての制約条件を満たしたときにのみ、ターゲットシステムは制約条件を満たすと判断してもよい。   In the present embodiment, when there are a plurality of constraint conditions, the determination unit 17 may determine that the target system satisfies the constraint conditions only when all the constraint conditions are satisfied.

優先度設定部20は、優先度入力受付部19によって受け付けられた制約条件の優先度を、制約条件記憶部18に記憶されている各制約条件に設定する。表示部21は、判断部17によって仕様値が制約条件を満たすと判断された場合、ターゲットシステムを表示する。   The priority setting unit 20 sets the priority of the constraint condition received by the priority input reception unit 19 for each constraint condition stored in the constraint condition storage unit 18. When the determination unit 17 determines that the specification value satisfies the constraint condition, the display unit 21 displays the target system.

なお、外部記憶装置110がモジュール記憶部の一例に相当し、モジュール選択部12がモジュール選択部の一例に相当し、XML解析部13及び意味空間処理部14が意味空間識別子取得部の一例に相当し、モジュールマッピング処理部15が合成部の一例に相当し、制約条件記憶部18が制約条件記憶部の一例に相当し、仕様値計算部16が計算部の一例に相当し、判断部17が判断部の一例に相当し、表示部21が提示部の一例に相当し、優先度入力受付部19及び優先度設定部20が優先度設定部の一例に相当する。   The external storage device 110 corresponds to an example of a module storage unit, the module selection unit 12 corresponds to an example of a module selection unit, and the XML analysis unit 13 and the semantic space processing unit 14 correspond to an example of a semantic space identifier acquisition unit. The module mapping processing unit 15 corresponds to an example of a synthesis unit, the constraint condition storage unit 18 corresponds to an example of a constraint condition storage unit, the specification value calculation unit 16 corresponds to an example of a calculation unit, and the determination unit 17 The display unit 21 corresponds to an example of a determination unit, the display unit 21 corresponds to an example of a presentation unit, and the priority input receiving unit 19 and the priority setting unit 20 correspond to an example of a priority setting unit.

図6は、ソフトウェア空間に存在するアプリケーション400がハードウェアモジュール120を利用する場合のマッピング例を示す図である。ハードウェアモジュールをソフトウェアから起動する場合、例えば、上記の第3の文献に説明されているように、レジスタへの引数設定、ハードウェアモジュールの起動、結果割込み待ち(同期)及びレジスタからのリターン値取得というシーケンスにマッピングされる。したがって、アプリケーション400は、下記の(1)〜(4)に示すターゲットシステム402にマッピングされることになる。
(1)処理500および処理501において、第一、第二引数がレジスタに設定される。
(2)処理502において、ハードウェアモジュール120(回路図213)が起動される。
(3)処理503において、割込み発生待ち状態に移行する。
(4)割込み発生後、処理504において、リターン値がレジスタから取得される。
FIG. 6 is a diagram illustrating an example of mapping when the application 400 existing in the software space uses the hardware module 120. When starting a hardware module from software, for example, as described in the third document above, setting an argument to a register, starting a hardware module, waiting for a result interrupt (synchronization), and a return value from the register It is mapped to a sequence called acquisition. Therefore, the application 400 is mapped to the target system 402 shown in the following (1) to (4).
(1) In process 500 and process 501, the first and second arguments are set in the register.
(2) In process 502, the hardware module 120 (circuit diagram 213) is activated.
(3) In process 503, the process shifts to an interrupt generation waiting state.
(4) After an interrupt occurs, in process 504, a return value is obtained from the register.

なお、ハードウェアモジュールやアプリケーションの種類などに応じて、例えば、上記(3)の処理を、レジスタのポーリングなどに変更することは可能である。   Note that, for example, the process (3) can be changed to register polling according to the type of hardware module or application.

一方、ソフトウェア空間にあるモジュールやアプリケーションからソフトウェア空間にあるモジュールへの参照を行う場合、指定された引数とリターン値とを用いる関数呼出しに変換する。図7は、ソフトウェア空間に存在するアプリケーション400がソフトウェアモジュール130を利用する場合のマッピング例を示す図である。ソフトウェアモジュールをソフトウェアから起動する場合、単純に、関数呼出しまたはメッセージ通信にマッピングできる。したがって、アプリケーション400は、下記の(1)〜(3)に示すターゲットシステム403にマッピングされることになる。
(1)処理600および処理601において、第一、第二引数をスタックに格納する。
(2)処理602において、サブルーチンコール(プログラム313の起動)が実施される。
(3)サブルーチンからのリターン後、処理603において、処理結果が取得される。
On the other hand, when referring to a module in the software space from a module or application in the software space, it is converted into a function call using a specified argument and return value. FIG. 7 is a diagram illustrating an example of mapping when the application 400 existing in the software space uses the software module 130. When starting a software module from software, it can simply be mapped to a function call or message communication. Therefore, the application 400 is mapped to the target system 403 shown in the following (1) to (3).
(1) In process 600 and process 601, the first and second arguments are stored in the stack.
(2) In process 602, a subroutine call (start of the program 313) is performed.
(3) After the return from the subroutine, the processing result is acquired in processing 603.

また、ハードウェア空間にあるモジュールやアプリケーションからソフトウェア空間にあるモジュールへの参照を行う場合、通常、割込みを用いてソフトウェアモジュールを起動することになる。したがって、アプリケーション400は、下記の(1)〜(3)に示すターゲットシステムにマッピングされることになる。
(1)レジスタにソフトウェアモジュールが必要とする引数が格納される。
(2)割込みを発生させてソフトウェアモジュールが起動される。
(3)ソフトウェアモジュールの処理完了後、リターン値がレジスタなどから取得される。
In addition, when a module in the hardware space or an application refers to a module in the software space, the software module is usually activated using an interrupt. Therefore, the application 400 is mapped to the target system shown in the following (1) to (3).
(1) An argument required by the software module is stored in the register.
(2) The software module is activated by generating an interrupt.
(3) After the processing of the software module is completed, a return value is acquired from a register or the like.

さらに、ハードウェア空間にあるモジュールやアプリケーション同士で相互に参照を行う場合、通常、ハードウェア上で用意された通信バッファ(待ち行列、フリップフロップ、レジスタなど)を用いて引数値及びリターン値の送受信を実施する。したがって、アプリケーション400は、下記の(1)及び(2)に示すターゲットシステムにマッピングされることになる。
(1)通信バッファに引数値が格納されて、参照先ハードウェアモジュールが起動される。
(2)参照先ハードウェアモジュールの処理完了後、通信バッファからリターン値が取得される。
In addition, when referring to each other between modules and applications in the hardware space, the argument values and return values are usually sent and received using communication buffers (queues, flip-flops, registers, etc.) prepared on the hardware. To implement. Therefore, the application 400 is mapped to the target system shown in the following (1) and (2).
(1) The argument value is stored in the communication buffer, and the reference hardware module is activated.
(2) After completion of processing of the reference hardware module, a return value is acquired from the communication buffer.

本実施の形態に示すように、意味空間識別子及び属性情報に基づいて、ターゲットシステムにマッピングする方法を切り換えることにより、モジュール選択時及びインタフェース設計時はハードウェアモジュール及びソフトウェアモジュールを同一モジュールとして扱い、最終的にターゲットシステムを合成する場合にのみ、ハードウェアモジュール及びソフトウェアモジュールのインタフェース部の実装形態を特定することができる。   As shown in this embodiment, by switching the method of mapping to the target system based on the semantic space identifier and attribute information, the hardware module and the software module are treated as the same module at the time of module selection and interface design, Only when finally synthesizing the target system, the implementation form of the interface part of the hardware module and the software module can be specified.

前述したように、ハードウェアモジュール及びソフトウェアモジュールのマッピング方法(マッピング形式)にはいくつかの種類が存在する。ここで、モジュールマッピング処理410において実施されるマッピングについて説明する。図8は、意味空間処理411において決定した意味空間情報にしたがって、モジュールマッピング処理410において実施されるマッピング方法の代表例を示す図である。   As described above, there are several types of hardware module and software module mapping methods (mapping formats). Here, the mapping performed in the module mapping process 410 will be described. FIG. 8 is a diagram illustrating a representative example of the mapping method performed in the module mapping process 410 in accordance with the semantic space information determined in the semantic space process 411.

処理要求元であるアプリケーション400がソフトウェアであり、その参照しているモジュールがソフトウェアモジュールである場合、一般的に、関数呼出し、または、メッセージ通信が利用される。関数呼出しを用いる場合、モジュールマッピング処理部15は、図8の手順700で示す処理にマッピングする。なお、手順700は、図7を用いて説明したマッピング方法と同一であるので、説明を省略する。メッセージ通信を利用する場合、モジュールマッピング処理部15は、手順701で示す処理にマッピングする。すなわち、(1)メッセージを送信し、(2)メッセージ受信待ち状態に移行し、(3)受信したメッセージから処理結果を取得するというシーケンスにマッピングされる。   When the application 400 that is the processing request source is software, and the module that is referred to is a software module, generally, function call or message communication is used. When the function call is used, the module mapping processing unit 15 maps to the process shown in the procedure 700 of FIG. The procedure 700 is the same as the mapping method described with reference to FIG. When using message communication, the module mapping processing unit 15 maps to the processing shown in the procedure 701. That is, it is mapped to a sequence of (1) transmitting a message, (2) shifting to a message reception waiting state, and (3) obtaining a processing result from the received message.

アプリケーション400がソフトウェアであり、その参照しているモジュールがハードウェアモジュールである場合、手順702に示す割込み待ち又は手順703に示すポーリングが利用される。手順702は、図6を用いて説明したマッピング方法と同一であるので、説明を省略する。手順703は、割込み待ち状態で処理完了を待つのではなく、レジスタをポーリングして処理完了を待つマッピング方法である。すなわち、短時間で処理が完了するハードウェアモジュールを採用した場合に適した方法である。ポーリングを利用する場合、モジュールマッピング処理部15は、手順703で示す処理にマッピングする。すなわち、(1)引数をレジスタに格納し、(2)制御レジスタにコマンドを格納してハードウェアを起動させ、(3)処理完了まで状態レジスタをポーリングし、(4)レジスタから処理結果を取得するというシーケンスにマッピングされる。   When the application 400 is software and the module that is referred to is a hardware module, the wait for interrupt shown in the procedure 702 or polling shown in the procedure 703 is used. The procedure 702 is the same as the mapping method described with reference to FIG. The procedure 703 is a mapping method that waits for the completion of processing by polling a register instead of waiting for the completion of processing in an interrupt waiting state. That is, this method is suitable when a hardware module that completes processing in a short time is employed. When using polling, the module mapping processing unit 15 maps to the processing shown in the procedure 703. (1) Store arguments in registers, (2) Store commands in control registers, start hardware, (3) Poll status registers until processing is complete, (4) Get processing results from registers Is mapped to the sequence of

アプリケーション400がハードウェアであり、その参照しているモジュールがソフトウェアモジュールである場合、手順704に示す割込みによってソフトウェアを起動するマッピング方法が適している。前述したように、引数群をレジスタなどの一時格納領域に設定し、割込みを発生させて対象ソフトウェアモジュールを起動させる。その後、当該ソフトウェアモジュールが処理結果をレジスタなどに格納するタイミングで、アプリケーション400の処理を再開させればよい。   When the application 400 is hardware and the module that is referred to is a software module, a mapping method in which software is started by an interrupt shown in the procedure 704 is suitable. As described above, the argument group is set in a temporary storage area such as a register, and an interrupt is generated to activate the target software module. Thereafter, the processing of the application 400 may be resumed at the timing when the software module stores the processing result in a register or the like.

アプリケーション400がハードウェアであり、その参照しているモジュールもハードウェアモジュールである場合、通常、手順705に示すバッファを用いて引数値及びリターン値の送受信を実施するマッピング方法が適している。前述したように、ハードウェアモジュール間に入力バッファ及び出力バッファが用意される。そして、入力バッファに引数値を書き込み、参照先のハードウェアモジュールが起動される。参照先のハードウェアモジュールの処理が完了した後、出力バッファから処理結果(リターン値)を取得する。   When the application 400 is hardware and the module that is referred to is also a hardware module, a mapping method that performs transmission / reception of argument values and return values using a buffer shown in the procedure 705 is generally suitable. As described above, an input buffer and an output buffer are prepared between hardware modules. Then, the argument value is written in the input buffer, and the hardware module to be referenced is activated. After the processing of the reference hardware module is completed, the processing result (return value) is acquired from the output buffer.

図9は、モジュールマッピング処理部15の処理手順を示すフローチャートである。まず、モジュールマッピング処理部15は、意味空間処理部14から意味空間情報を取得する(ステップS1)。次に、モジュールマッピング処理部15は、取得した意味空間情報に対応するマッピング方法にしたがってターゲットシステムを合成する(ステップS2)。   FIG. 9 is a flowchart illustrating a processing procedure of the module mapping processing unit 15. First, the module mapping processing unit 15 acquires semantic space information from the semantic space processing unit 14 (step S1). Next, the module mapping processing unit 15 synthesizes the target system according to the mapping method corresponding to the acquired semantic space information (step S2).

上記のように、意味空間情報にしたがってマッピング方法を変えることで、最終的にターゲットシステムを合成する場合にのみ、インタフェース部の実装形態を特定することができる。しかしながら、図8及び図9に示した例においては、前述した意味空間識別子142、143の内容だけでは意味空間情報を特定できない。すなわち、ソフトウェアモジュール及びハードウェアモジュールにおける、意味空間識別子142、143の定義内容に加え、その他の属性情報を判断し、最終的な意味空間情報を特定する必要がある。   As described above, by changing the mapping method according to the semantic space information, the implementation form of the interface unit can be specified only when the target system is finally synthesized. However, in the example shown in FIGS. 8 and 9, the semantic space information cannot be specified only by the contents of the semantic space identifiers 142 and 143 described above. That is, in addition to the definition contents of the semantic space identifiers 142 and 143 in the software module and the hardware module, it is necessary to determine other attribute information and specify the final semantic space information.

図10は、意味空間情報を特定する意味空間特定処理について説明するための図である。   FIG. 10 is a diagram for explaining semantic space specifying processing for specifying semantic space information.

例えば、図8において説明したように、アプリケーション400がソフトウェアであり、その参照しているモジュールがハードウェアモジュールである場合、割込み待ち状態で処理完了を待つ方法と、レジスタをポーリングして処理完了を待つ方法とがある。このようなマッピング方法は、短時間で処理が完了するハードウェアモジュールを採用したか否かによって判定することができる。例えば、図10の手順902に示すように、意味空間処理部14は、実行時間が予め定められた値よりも長い場合、割込み待ちという意味空間にあると特定する。逆に、手順903に示すように、意味空間処理部14は、実行時間が予め定められた値以下である場合、ポーリングという意味空間にあると判定する。   For example, as described in FIG. 8, when the application 400 is software and the referenced module is a hardware module, a method of waiting for completion of processing in an interrupt wait state and polling the register to complete the processing. There is a way to wait. Such a mapping method can be determined by whether or not a hardware module that completes processing in a short time is employed. For example, as shown in the procedure 902 of FIG. 10, when the execution time is longer than a predetermined value, the semantic space processing unit 14 specifies that the semantic space is waiting for an interrupt. On the contrary, as shown in the procedure 903, the semantic space processing unit 14 determines that the semantic space is polling when the execution time is equal to or less than a predetermined value.

また、ソフトウェアモジュール間で相互参照する場合、一例として、インタフェース属性がプライベート関数(非公開)である場合、関数呼出しという意味空間にあると判定する(手順900)。また、インタフェース属性がパブリック関数(公開)である場合、メッセージ送受信という意味空間にあると判定する(手順901)。このように、ソフトウェアモジュール及びハードウェアモジュールのいずれかを表す意味空間識別子のみで意味空間情報を識別できない場合には、それ以外の属性情報を用いて判定することになる。   When cross-referencing between software modules, as an example, if the interface attribute is a private function (private), it is determined that it is in a semantic space called function call (procedure 900). If the interface attribute is a public function (public), it is determined that it is in a semantic space for message transmission / reception (procedure 901). As described above, when the semantic space information cannot be identified only by the semantic space identifier representing either the software module or the hardware module, the determination is made using the other attribute information.

なお、図10において、ハードウェアモジュールがソフトウェアモジュールを参照する場合、および、ハードウェアモジュール同士で相互参照する場合には、意味空間識別子のみに基づいて意味空間情報を一意に特定することが可能である(手順904および手順905)。   In FIG. 10, when the hardware module refers to the software module and when the hardware modules refer to each other, it is possible to uniquely identify the semantic space information based only on the semantic space identifier. Yes (procedure 904 and procedure 905).

図11は、意味空間処理411を示すフローチャートである。まず、意味空間処理部14は、XML解析部13からXMLタグの解析結果を取得する(ステップS11)。次に、意味空間処理部14は、図10に示したように、XMLタグの解析結果及びアプリケーションの種類に基づいて、現在の意味空間情報を決定する(ステップS12)。続いて、意味空間処理部14は、決定した意味空間情報をモジュールマッピング処理部15に通知する(ステップS13)。これにより、モジュールマッピング処理部15は、通知された意味空間情報に対応するマッピング方法にしたがってターゲットシステムを合成する。   FIG. 11 is a flowchart showing the semantic space processing 411. First, the semantic space processing unit 14 acquires an XML tag analysis result from the XML analysis unit 13 (step S11). Next, as shown in FIG. 10, the semantic space processing unit 14 determines the current semantic space information based on the analysis result of the XML tag and the type of application (step S12). Subsequently, the semantic space processing unit 14 notifies the module mapping processing unit 15 of the determined semantic space information (step S13). Thereby, the module mapping processing unit 15 synthesizes the target system according to the mapping method corresponding to the notified semantic space information.

上記のような構成を用いることで、意味空間識別子142、143のみで意味空間情報を特定できない場合や、意味空間識別子142、143の定義自体が存在しない場合においても、本実施の形態を適用することができる。   By using the configuration as described above, the present embodiment is applied even when the semantic space information cannot be specified only by the semantic space identifiers 142 and 143 or when the definition of the semantic space identifiers 142 and 143 does not exist. be able to.

前述した手段を有することで、選択したモジュールがソフトウェアモジュール及びハードウェアモジュールのいずれであっても、設計段階でシステムの他のモジュールを変更することなく、同様にターゲットシステムを合成することができる。しかしながら、複数の同一処理を行うハードウェアモジュール及びソフトウェアモジュールが存在する場合、前述した制約条件ファイル401に合致するモジュールを選択して合成する必要がある。そこで、図12を用いて、上記処理を実行するための設計支援システム100全体の処理について説明する。   By having the above-described means, it is possible to synthesize the target system in the same way without changing other modules in the design stage, regardless of whether the selected module is a software module or a hardware module. However, when there are a plurality of hardware modules and software modules that perform the same processing, it is necessary to select and synthesize a module that matches the constraint file 401 described above. Therefore, the entire process of the design support system 100 for executing the above process will be described with reference to FIG.

図12は、本実施の形態における設計支援システム100の処理の一例について説明するためのフローチャートである。   FIG. 12 is a flowchart for explaining an example of processing of the design support system 100 in the present embodiment.

まず、アプリケーション取得部11は、構築すべきターゲットシステムを表すアプリケーション400を取得する(ステップS21)。次に、モジュール選択部12は、アプリケーション400が必要としているモジュールを、外部記憶装置110に記憶されているハードウェアモジュール120〜122及びソフトウェアモジュール130〜132の中から選択する(ステップS22)。なお、モジュール選択部12は、各モジュールのインタフェース部を検索し、アプリケーション400の外部動作仕様及び内部動作仕様に合致するものを選択することにより、アプリケーション400に必要なモジュールを選択することができる。   First, the application acquisition unit 11 acquires the application 400 representing the target system to be constructed (step S21). Next, the module selection unit 12 selects a module required by the application 400 from the hardware modules 120 to 122 and software modules 130 to 132 stored in the external storage device 110 (step S22). The module selection unit 12 can select a module necessary for the application 400 by searching the interface unit of each module and selecting one that matches the external operation specification and internal operation specification of the application 400.

次に、判断部17は、制約条件記憶部18に記載されているターゲットシステムの制約条件(回路面積、消費電力及び処理実行時間)を取得する(ステップS23)。次に、XML解析部13は、モジュール選択部12によって選択されたハードウェアモジュール及びソフトウェアモジュールのXML構文を解析する(ステップS24)。   Next, the determination unit 17 acquires the constraint conditions (circuit area, power consumption, and processing execution time) of the target system described in the constraint condition storage unit 18 (step S23). Next, the XML analysis unit 13 analyzes the XML syntax of the hardware module and software module selected by the module selection unit 12 (step S24).

次に、意味空間処理部14は、XML解析部13によって抽出された意味空間識別子及び属性情報に基づいて各モジュールの意味空間情報を決定する(ステップS25)。例えば、意味空間処理部14は、処理要求元がソフトウェアモジュールであり、処理要求先がソフトウェアモジュールであり、属性情報の1つであるインタフェース属性が非公開である場合、意味空間情報は関数呼び出しであると決定する。また、意味空間処理部14は、処理要求元がソフトウェアモジュールであり、処理要求先がソフトウェアモジュールであり、属性情報の1つであるインタフェース属性が公開である場合、意味空間情報はメッセージ送信であると決定する。さらに、意味空間処理部14は、処理要求元がソフトウェアモジュールであり、処理要求先がハードウェアモジュールであり、属性情報の1つである実行時間が設定値より大きい場合、意味空間情報は割込待ちであると決定する。さらにまた、意味空間処理部14は、処理要求元がソフトウェアモジュールであり、処理要求先がハードウェアモジュールであり、属性情報の1つである実行時間が設定値以下である場合、意味空間情報はポーリングであると決定する。   Next, the semantic space processing unit 14 determines the semantic space information of each module based on the semantic space identifier and attribute information extracted by the XML analysis unit 13 (step S25). For example, when the process request source is a software module, the process request destination is a software module, and the interface attribute that is one of the attribute information is private, the semantic space processing unit 14 is a function call. Determine that there is. The semantic space processing unit 14 also transmits the message when the processing request source is a software module, the processing request destination is a software module, and the interface attribute that is one of the attribute information is public. And decide. Furthermore, the semantic space processing unit 14 interrupts the semantic space information when the processing request source is a software module, the processing request destination is a hardware module, and the execution time that is one of the attribute information is larger than the set value. Decide that you are waiting. Furthermore, when the process request source is a software module, the process request destination is a hardware module, and the execution time that is one of the attribute information is less than or equal to the set value, the semantic space processing unit 14 Determine polling.

また、意味空間処理部14は、処理要求元がハードウェアモジュールであり、処理要求先がソフトウェアモジュールである場合、意味空間情報は割込みであると決定する。また、意味空間処理部14は、処理要求元がハードウェアモジュールであり、処理要求先がハードウェアモジュールである場合、意味空間情報は通信バッファであると決定する。   The semantic space processing unit 14 determines that the semantic space information is an interrupt when the processing request source is a hardware module and the processing request destination is a software module. The semantic space processing unit 14 determines that the semantic space information is a communication buffer when the processing request source is a hardware module and the processing request destination is a hardware module.

次に、モジュールマッピング処理部15は、意味空間処理部14によって決定された意味空間情報に基づいて、選択したモジュール群をターゲットシステムに合成する(ステップS26)。   Next, the module mapping processor 15 synthesizes the selected module group with the target system based on the semantic space information determined by the semantic space processor 14 (step S26).

このとき、選択した各モジュールは、図2および図3で説明したように、モジュールごとの仕様値(回路面積、消費電力及び処理実行時間)を有している。仕様値計算部16は、合成したターゲットシステムの内容にしたがって、ターゲットシステム全体での仕様値(回路面積、消費電力及び処理実行時間)を計算する(ステップS27)。例えば、回路面積は、選択した全てのハードウェアモジュールの回路面積の合計値として計算することで得ることができる。また、消費電力は、選択したハードウェアモジュールの単位消費電力と、ソフトウェアモジュール及びハードウェアモジュールの処理実行時間との積分値として計算することで得ることができる。また、処理実行時間は、ターゲットシステムにおける最長処理実行時間を構成する処理経路(クリティカルパス)を計算することで得ることができる。   At this time, each selected module has a specification value (circuit area, power consumption, and processing execution time) for each module as described with reference to FIGS. The specification value calculation unit 16 calculates specification values (circuit area, power consumption, and processing execution time) for the entire target system according to the contents of the synthesized target system (step S27). For example, the circuit area can be obtained by calculating as a total value of circuit areas of all selected hardware modules. The power consumption can be obtained by calculating as an integral value of the unit power consumption of the selected hardware module and the processing execution time of the software module and the hardware module. Further, the processing execution time can be obtained by calculating a processing path (critical path) constituting the longest processing execution time in the target system.

次に、判断部17は、ターゲットシステム全体での仕様値と、取得した制約条件とを比較し、仕様値が制約条件を満たすか否かを判断する(ステップS28)。ここで、制約条件を満たすと判断した場合(ステップS28でYES)、当該ターゲットシステムが求める組込み計算機システムとなるので、判断部17は、ターゲットシステムを表示部21に表示させる(ステップS29)。なお、このとき、判断部17は、仕様値が制約条件を満たすと判断したターゲットシステムをメモリに記憶してもよい。   Next, the determination unit 17 compares the specification value for the entire target system with the acquired constraint condition, and determines whether the specification value satisfies the constraint condition (step S28). If it is determined that the constraint condition is satisfied (YES in step S28), the embedded computer system required by the target system is obtained, and the determination unit 17 causes the display unit 21 to display the target system (step S29). At this time, the determination unit 17 may store the target system determined that the specification value satisfies the constraint condition in the memory.

一方、仕様値が制約条件を満たさないと判断した場合(ステップS28でNO)、モジュール選択部12は、選択したモジュール群のうち、制約条件で指定された仕様値が最も大きいモジュールを選択する(ステップS30)。次に、モジュール選択部12は、仕様値が最も大きいモジュールを、外部記憶装置110内の他のモジュールで置き換えることができるか否かを判断する(ステップS31)。ここで、代替モジュールが外部記憶装置110内に存在しないと判断した場合(ステップS31でNO)、ステップS30の処理へ戻り、モジュール選択部12は、別のモジュールを選択しなおす。なお、代替モジュールが存在しないと判断されてステップS30の処理へ戻った場合、モジュール選択部12は、2番目に仕様値が大きいモジュールを選択する。このように、モジュール選択部12は、ステップS30の処理へ戻る毎に順次仕様値が小さくなるモジュールを選択する。   On the other hand, when it is determined that the specification value does not satisfy the constraint condition (NO in step S28), the module selection unit 12 selects the module having the largest specification value specified by the constraint condition from the selected module group ( Step S30). Next, the module selection unit 12 determines whether or not the module having the largest specification value can be replaced with another module in the external storage device 110 (step S31). If it is determined that the alternative module does not exist in the external storage device 110 (NO in step S31), the process returns to step S30, and the module selection unit 12 reselects another module. If it is determined that there is no alternative module and the process returns to step S30, the module selection unit 12 selects the module with the second largest specification value. As described above, the module selection unit 12 selects modules with sequentially decreasing specification values every time the process returns to step S30.

一方、代替モジュールが外部記憶装置110内に存在すると判断した場合(ステップS31でYES)、モジュール選択部12は、当該モジュールを選択して交換する(ステップS32)。そして、ステップS24の処理に戻り、再度、XML解析部13は、交換されたモジュールのXML構文を解析し、再度選択したモジュール群をターゲットシステムに合成させ、ステップS24以降の処理を実行させる。これを繰り返すことにより、制約条件を満たすターゲットシステムが合成できれば、処理全体を終了させる。   On the other hand, when it is determined that an alternative module exists in the external storage device 110 (YES in step S31), the module selection unit 12 selects and replaces the module (step S32). Then, returning to the process of step S24, the XML analysis unit 13 analyzes the XML syntax of the replaced module again, causes the target system to synthesize the module group selected again, and executes the processes after step S24. By repeating this, if a target system that satisfies the constraint conditions can be synthesized, the entire process is terminated.

図12で示したモジュール選択処理413が実行されることで、制約条件ファイル401で指定した制約条件を満たすターゲットシステムを自動的に合成することが可能となる。   By executing the module selection process 413 shown in FIG. 12, it is possible to automatically synthesize a target system that satisfies the constraint conditions specified in the constraint file 401.

図12の処理を実行することでターゲットシステムの自動的な合成が可能となるが、一方で、最初に構築されたターゲットシステムをユーザに提示することになる。そのため、それが最も回路面積、消費電力及び処理実行時間が小さい、最適なシステムである保証はない。そこで、以下に説明する変形例では、制約条件を満たすターゲットシステムをユーザに提示し、その中から最適なターゲットシステムをユーザが選択できるようにしている。   The target system can be automatically synthesized by executing the processing of FIG. 12, while the target system first constructed is presented to the user. Therefore, there is no guarantee that it is the optimum system with the smallest circuit area, power consumption and processing execution time. Therefore, in the modification described below, a target system that satisfies the constraint conditions is presented to the user, and the user can select an optimal target system from the target system.

図13は、本実施の形態の変形例における設計支援システムの構成を示すブロック図である。なお、図5に示す設計支援システム100と同じ構成については、同じ符号を付し、説明を省略する。設計支援システム100’は、外部記憶装置110及びモジュール管理部10’を備える。モジュール管理部10’は、アプリケーション取得部11、モジュール選択部12’、XML解析部13、意味空間処理部14、モジュールマッピング処理部15、仕様値計算部16、判断部17’、制約条件記憶部18、優先度入力受付部19、優先度設定部20、表示部21’及びターゲットシステム記憶部22を備える。   FIG. 13 is a block diagram showing a configuration of a design support system in a modification of the present embodiment. In addition, about the same structure as the design support system 100 shown in FIG. 5, the same code | symbol is attached | subjected and description is abbreviate | omitted. The design support system 100 ′ includes an external storage device 110 and a module management unit 10 ′. The module management unit 10 ′ includes an application acquisition unit 11, a module selection unit 12 ′, an XML analysis unit 13, a semantic space processing unit 14, a module mapping processing unit 15, a specification value calculation unit 16, a determination unit 17 ′, and a constraint condition storage unit. 18, a priority input receiving unit 19, a priority setting unit 20, a display unit 21 ′, and a target system storage unit 22.

判断部17’は、仕様値計算部16によって計算された仕様値が制約条件記憶部18に記憶されている制約条件を満たすか否かを判断する。そして、判断部17’は、仕様値が制約条件を満たすと判断した場合、ターゲットシステムをターゲットシステム記憶部22に記憶する。ターゲットシステム記憶部22にターゲットシステムを記憶した場合、又は仕様値が制約条件を満たさないと判断した場合、判断部17’は、その旨をモジュール選択部12’へ通知する。モジュール選択部12’は、ターゲットシステムを記憶した又は仕様値が制約条件を満たさない旨の通知を受けると、ターゲットシステムに合成されたモジュールのうち、入れ替え可能なモジュールを選択する。そして、モジュール選択部12’は、入れ替え可能なモジュールを他のモジュールと交換する。   The determination unit 17 ′ determines whether or not the specification value calculated by the specification value calculation unit 16 satisfies the constraint condition stored in the constraint condition storage unit 18. When the determination unit 17 ′ determines that the specification value satisfies the constraint condition, the determination unit 17 ′ stores the target system in the target system storage unit 22. When the target system is stored in the target system storage unit 22, or when it is determined that the specification value does not satisfy the constraint condition, the determination unit 17 'notifies the module selection unit 12' to that effect. When receiving a notification that the target system is stored or that the specification value does not satisfy the constraint condition, the module selection unit 12 ′ selects a replaceable module from among the modules synthesized in the target system. Then, the module selection unit 12 'replaces the replaceable module with another module.

ターゲットシステム記憶部22は、判断部17’によって仕様値が制約条件を満たすと判断されたターゲットシステムを記憶する。   The target system storage unit 22 stores the target system determined by the determination unit 17 'that the specification value satisfies the constraint condition.

また、モジュール選択部12’は、入れ替え可能なモジュールが存在するか否かを判断し、存在しない場合、ターゲットシステム記憶部22に記憶されている全てのターゲットシステムを表示するよう表示部21’に指示する。   Further, the module selection unit 12 ′ determines whether or not there is a replaceable module. If there is no module, the module selection unit 12 ′ causes the display unit 21 ′ to display all target systems stored in the target system storage unit 22. Instruct.

表示部21’は、ターゲットシステム記憶部22に記憶されている全てのターゲットシステムを読み出してリスト表示する。   The display unit 21 ′ reads out and displays a list of all target systems stored in the target system storage unit 22.

次に、本実施の形態の変形例における設計支援システム100’の処理の一例について説明する。図14は、本実施の形態の変形例における設計支援システムの処理の一例について説明するためのフローチャートである。   Next, an example of processing of the design support system 100 ′ according to the modification of the present embodiment will be described. FIG. 14 is a flowchart for explaining an example of processing of the design support system in the modification of the present embodiment.

図14において、ステップS41〜S48,S51の処理は、図12に示すステップS21〜S28,S32の処理と同一であるので説明を省略する。ステップS48において、仕様値が制約条件を満たすと判断した場合(ステップS48でYES)、判断部17’は、制約条件を満たすターゲットシステムをターゲットシステム記憶部22に記憶する(ステップS49)。次に、モジュール選択部12’は、ターゲットシステムを構成するハードウェアモジュール及びソフトウェアモジュールのうちの1つと置き換えることができる代替モジュールが外部記憶装置110内に存在するか否かを判断する(ステップS50)。   In FIG. 14, the processing of steps S41 to S48, S51 is the same as the processing of steps S21 to S28, S32 shown in FIG. If it is determined in step S48 that the specification value satisfies the constraint condition (YES in step S48), the determination unit 17 'stores the target system that satisfies the constraint condition in the target system storage unit 22 (step S49). Next, the module selection unit 12 ′ determines whether or not there is an alternative module in the external storage device 110 that can be replaced with one of the hardware module and software module constituting the target system (step S50). ).

代替モジュールが外部記憶装置110内に存在すると判断した場合(ステップS50でYES)、モジュール選択部12’は、ターゲットシステムを構成するハードウェアモジュール及びソフトウェアモジュールのうちの1のモジュールを当該代替モジュールに交換する(ステップS51)。そして、ステップS44の処理に戻り、再度、XML解析部13は、交換したモジュールのXML構文を解析させ、ステップS44以降の処理を実行させる。このようにして、代替モジュールが存在しなくなるまで合成を繰り返すことで、制約条件を満たすターゲットシステムを全て選出することができる。   If it is determined that an alternative module is present in the external storage device 110 (YES in step S50), the module selection unit 12 ′ sets one of the hardware modules and software modules constituting the target system as the alternative module. Exchange (step S51). Then, returning to the process of step S44, the XML analysis unit 13 again analyzes the XML syntax of the replaced module, and executes the processes after step S44. In this way, it is possible to select all target systems that satisfy the constraint conditions by repeating the synthesis until there is no alternative module.

代替モジュールが外部記憶装置110内に存在しないと判断した場合(ステップS50でNO)、表示部21’は、ターゲットシステム記憶部22に記憶しているターゲットシステムを、最も回路面積、消費電力及び処理実行時間が小さいシステムから順にリスト表示する(ステップS52)。これにより、ユーザは、最適な組込み計算機システムを選択し、構築することができる。   When it is determined that the alternative module does not exist in the external storage device 110 (NO in step S50), the display unit 21 ′ displays the target system stored in the target system storage unit 22 as the most circuit area, power consumption, and processing. A list is displayed in order from the system with the smallest execution time (step S52). As a result, the user can select and construct an optimum embedded computer system.

なお、図14に示した処理フローでは、制約条件を満たすターゲットシステムを全て選出することになるため、図12で示した処理フローに比べて、モジュール選択処理413の処理実行時間自体が長くかかることになる。ターゲットシステムの合成に非常に時間が掛かる場合には、図12に示す処理フローを選択することが望ましいことがある。   In the processing flow shown in FIG. 14, since all target systems that satisfy the constraint conditions are selected, the processing execution time itself of the module selection processing 413 is longer than that in the processing flow shown in FIG. become. If the synthesis of the target system takes a very long time, it may be desirable to select the processing flow shown in FIG.

また、本実施の形態では、合成したターゲットシステム全体の仕様値と、制約条件とを比較しているが、本発明は特にこれに限定されず、モジュール毎の制約条件を制約条件記憶部に予め記憶しておき、モジュール選択部12が、ソフトウェアモジュール及びハードウェアモジュールに含まれる消費電力、回路面積及び処理時間のうちの少なくとも1つと、制約条件記憶部に記憶されている制約条件とを比較し、制約条件を満たすモジュールを選択してもよい。この場合も、本実施の形態と同様に、制約条件に優先度を設定してもよい。すなわち、ソフトウェアモジュール及びハードウェアモジュールの両方が制約条件を満たす場合、優先度の高い制約条件をより満たしているモジュールが選択される。   In the present embodiment, the specification value of the synthesized target system as a whole is compared with the constraint conditions. However, the present invention is not particularly limited to this, and the constraint condition for each module is stored in the constraint condition storage unit in advance. The module selection unit 12 compares at least one of the power consumption, the circuit area, and the processing time included in the software module and the hardware module with the constraint condition stored in the constraint condition storage unit. A module that satisfies the constraint conditions may be selected. In this case as well, priority may be set for the constraint conditions as in the present embodiment. That is, when both the software module and the hardware module satisfy the constraint condition, the module that satisfies the constraint condition with a higher priority is selected.

ここで、本実施の形態における設計支援システム100によって構築されたターゲットシステムについてさらに説明する。図15は、本実施の形態における設計支援システムによって構築されたターゲットシステム(組み込みシステム)の構成の一例を示す図である。   Here, the target system constructed by the design support system 100 in the present embodiment will be further described. FIG. 15 is a diagram illustrating an example of a configuration of a target system (embedded system) constructed by the design support system according to the present embodiment.

図15において、組み込みシステム30は、CPU31、メモリ32、第1の専用ハードウェア33、第2の専用ハードウェア34、内部バス35及び周辺バス36を備える。CPU31は、内部バス35を介してメモリ32、第1の専用ハードウェア33及び第2の専用ハードウェア34と接続されている。また、メモリ32、第1の専用ハードウェア33及び第2の専用ハードウェア34は、周辺バス36を介して互いに通信可能に接続されている。   In FIG. 15, the embedded system 30 includes a CPU 31, a memory 32, first dedicated hardware 33, second dedicated hardware 34, an internal bus 35, and a peripheral bus 36. The CPU 31 is connected to the memory 32, the first dedicated hardware 33, and the second dedicated hardware 34 via the internal bus 35. The memory 32, the first dedicated hardware 33, and the second dedicated hardware 34 are connected via a peripheral bus 36 so as to communicate with each other.

第1の専用ハードウェア33及び第2の専用ハードウェア34は、設計支援システム100によって選択されたハードウェアモジュールである。メモリ32は、第1のソフトウェア37及び第2のソフトウェア38を記憶している。第1のソフトウェア37及び第2のソフトウェア38は、設計支援システム100によって選択されたソフトウェアモジュールである。   The first dedicated hardware 33 and the second dedicated hardware 34 are hardware modules selected by the design support system 100. The memory 32 stores first software 37 and second software 38. The first software 37 and the second software 38 are software modules selected by the design support system 100.

CPU31は、第1のソフトウェア37及び第2のソフトウェア38を逐次メモリ32から読み出して実行する。例えば、処理要求元が第1のソフトウェア37であり、処理要求先が第2のソフトウェア38である場合、第1のソフトウェア37から第2のソフトウェア38に対して関数呼び出し処理又はメッセージ送信処理が行われる。また、処理要求元が第1のソフトウェア37であり、処理要求先が第2の専用ハードウェア34である場合、第1のソフトウェア37から第2の専用ハードウェア34に対して割込み待ち処理又はポーリング処理が行われる。さらに、処理要求元が第1の専用ハードウェア33であり、処理要求先が第1のソフトウェア37である場合、第1の専用ハードウェア33から第1のソフトウェア37に対して割込み通知処理が行われる。さらにまた、処理要求元が第1の専用ハードウェア33であり、処理要求先が第2の専用ハードウェア34である場合、第1の専用ハードウェア33から第2の専用ハードウェア34に対して通信バッファ処理が行われる。   The CPU 31 sequentially reads the first software 37 and the second software 38 from the memory 32 and executes them. For example, when the processing request source is the first software 37 and the processing request destination is the second software 38, a function call process or a message transmission process is performed from the first software 37 to the second software 38. Is called. Further, when the processing request source is the first software 37 and the processing request destination is the second dedicated hardware 34, the interrupt waiting process or polling from the first software 37 to the second dedicated hardware 34 is performed. Processing is performed. Further, when the processing request source is the first dedicated hardware 33 and the processing request destination is the first software 37, an interrupt notification process is performed from the first dedicated hardware 33 to the first software 37. Is called. Furthermore, when the processing request source is the first dedicated hardware 33 and the processing request destination is the second dedicated hardware 34, the first dedicated hardware 33 to the second dedicated hardware 34. Communication buffer processing is performed.

本実施の形態における設計支援システムの構成を用いることで、選択したモジュールがソフトウェアモジュール及びハードウェアモジュールのいずれであっても、設計段階でシステムの他のモジュールを変更することなく、組み合わせることができる。本実施の形態では、ソフトウェアモジュール及びハードウェアモジュールを組み合わせる、情報家電機器及び携帯電話機などの組込み計算機分野におけるシステム設計支援を想定しているが、ソフトウェアモジュールのみから構成される情報システム分野に適用しても、関数呼出し、メッセージ通信及びフレームワークなどの各種インタフェースを意味空間にしたがって切り替えることができる。   By using the configuration of the design support system in this embodiment, even if the selected module is either a software module or a hardware module, it can be combined without changing other modules in the system at the design stage. . This embodiment assumes system design support in the field of embedded computers such as information home appliances and mobile phones by combining software modules and hardware modules. However, various interfaces such as function call, message communication, and framework can be switched according to the semantic space.

本実施の形態における設計支援システムの全体構成図である。1 is an overall configuration diagram of a design support system in the present embodiment. ハードウェアモジュールの内部構成を詳細に説明するための図である。It is a figure for demonstrating in detail the internal structure of a hardware module. ソフトウェアモジュールの内部構成を詳細に説明するための図である。It is a figure for demonstrating in detail the internal structure of a software module. 本実施の形態におけるハードウェアモジュール及びソフトウェアモジュールを実際の組込み計算機システムにマッピングする際の設計支援システムの処理方法を表す概念図である。It is a conceptual diagram showing the processing method of the design support system at the time of mapping the hardware module and software module in this Embodiment to an actual embedded computer system. 本実施の形態における設計支援システムの構成を示すブロック図である。It is a block diagram which shows the structure of the design support system in this Embodiment. ソフトウェア空間に存在するアプリケーションがハードウェアモジュールを利用する場合のマッピング例を示す図である。It is a figure which shows the example of a mapping when the application which exists in software space uses a hardware module. ソフトウェア空間に存在するアプリケーションがソフトウェアモジュールを利用する場合のマッピング例を示す図である。It is a figure which shows the example of mapping when the application which exists in software space uses a software module. 意味空間処理において取得した意味空間情報にしたがって、モジュールマッピング処理において実施されるマッピング方法の代表例を示す図である。It is a figure which shows the representative example of the mapping method implemented in a module mapping process according to the semantic space information acquired in the semantic space process. モジュールマッピング処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a module mapping process. 意味空間情報を特定する意味空間特定処理について説明するための図である。It is a figure for demonstrating the semantic space specification process which specifies semantic space information. 意味空間処理を示すフローチャートである。It is a flowchart which shows a semantic space process. 本実施の形態における設計支援システムの処理の一例について説明するためのフローチャートである。It is a flowchart for demonstrating an example of a process of the design support system in this Embodiment. 本実施の形態の変形例における設計支援システムの構成を示すブロック図である。It is a block diagram which shows the structure of the design support system in the modification of this Embodiment. 本実施の形態の変形例における設計支援システムの処理の一例について説明するためのフローチャートである。It is a flowchart for demonstrating an example of a process of the design support system in the modification of this Embodiment. 本実施の形態における設計支援システムによって構築されたターゲットシステム(組み込みシステム)の構成の一例を示す図である。It is a figure which shows an example of a structure of the target system (built-in system) constructed | assembled by the design support system in this Embodiment.

符号の説明Explanation of symbols

10 モジュール管理部
11 アプリケーション取得部
12 モジュール選択部
13 XML解析部
14 意味空間処理部
15 モジュールマッピング処理部
16 仕様値計算部
17 判断部
18 制約条件記憶部
19 優先度入力受付部
20 優先度設定部
21 表示部
100 設計支援システム
110 外部記憶装置
DESCRIPTION OF SYMBOLS 10 Module management part 11 Application acquisition part 12 Module selection part 13 XML analysis part 14 Semantic space process part 15 Module mapping process part 16 Specification value calculation part 17 Judgment part 18 Restriction condition memory | storage part 19 Priority input reception part 20 Priority setting part 21 Display Unit 100 Design Support System 110 External Storage Device

Claims (17)

少なくとも1つのソフトウェアモジュールと、少なくとも1つのハードウェアモジュールとを組み合わせて構築されるターゲットシステムの設計を支援する設計支援システムであって、
ソフトウェアモジュールであることを表す意味空間識別子を含むソフトウェアモジュールと、ハードウェアモジュールであることを表す意味空間識別子を含むハードウェアモジュールとを記憶するモジュール記憶部と、
構築すべきターゲットシステムの処理を特定し、特定した処理を実行するソフトウェアモジュール及びハードウェアモジュールを前記モジュール記憶部から選択するモジュール選択部と、
前記モジュール選択部によって選択された前記ソフトウェアモジュールの前記意味空間識別子と前記ハードウェアモジュールの前記意味空間識別子とを取得する意味空間識別子取得部と、
前記意味空間識別子取得部によって取得された前記意味空間識別子に基づいて前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成する合成部とを備えることを特徴とする設計支援システム。
A design support system for supporting design of a target system constructed by combining at least one software module and at least one hardware module,
A module storage unit that stores a software module including a semantic space identifier representing a software module, and a hardware module including a semantic space identifier representing a hardware module;
A module selection unit that identifies the process of the target system to be constructed, and selects a software module and a hardware module for executing the identified process from the module storage unit;
A semantic space identifier acquisition unit that acquires the semantic space identifier of the software module selected by the module selection unit and the semantic space identifier of the hardware module;
A design support system comprising: a synthesis unit that synthesizes either the software module or the hardware module with the target system based on the semantic space identifier acquired by the semantic space identifier acquisition unit.
前記ソフトウェアモジュール及び前記ハードウェアモジュールのインタフェースに関する記述が共通化されていることを特徴とする請求項1記載の設計支援システム。   The design support system according to claim 1, wherein descriptions relating to interfaces of the software module and the hardware module are shared. 前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の属性を表す属性情報を含み、
前記合成部は、前記意味空間識別子に基づいて、前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成する際のマッピング形式を決定し、決定したマッピング形式が複数存在する場合、さらに前記属性情報に基づいてマッピング形式を決定し、決定したマッピング形式に従って前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成することを特徴とする請求項1記載の設計支援システム。
Each of the software module and the hardware module includes attribute information indicating its own attribute,
The synthesizing unit determines a mapping format when synthesizing either the software module or the hardware module to the target system based on the semantic space identifier, and when there are a plurality of determined mapping formats, The design support system according to claim 1, wherein a mapping format is determined based on the attribute information, and either the software module or the hardware module is synthesized with the target system according to the determined mapping format.
前記属性情報は、モジュールの処理性能を表す情報、モジュールの消費する消費電力を表す情報、及びインタフェース属性が公開及び非公開のどちらであるかを表す情報のうちの少なくとも1つを含むことを特徴とする請求項3記載の設計支援システム。   The attribute information includes at least one of information representing module processing performance, information representing power consumption consumed by the module, and information representing whether the interface attribute is public or private. The design support system according to claim 3. 前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、
前記合成部は、前記意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がハードウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記ターゲットシステム内のレジスタに前記入力値を格納する第1の処理と、前記第2のモジュールを起動する第2の処理と、割込待ち状態に移行する第3の処理と、前記第2のモジュールの処理完了後、割込みを受理して前記出力値を取得する第4の処理とを実行する割込待ちシーケンスを前記ターゲットシステムにマッピングすることを特徴とする請求項1記載の設計支援システム。
Each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module,
In the case where the synthesizing unit maps the second module in which the semantic space identifier indicates a hardware module, which is referenced from the first module in which the semantic space identifier indicates a software module, to the target system, A first process for storing the input value in the register, a second process for activating the second module, a third process for shifting to an interrupt wait state, and the completion of the process of the second module The design support system according to claim 1, further comprising: mapping an interrupt wait sequence for executing a fourth process of receiving an interrupt and acquiring the output value to the target system.
前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、
前記合成部は、前記意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がハードウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記ターゲットシステム内のレジスタに前記入力値を格納する第1の処理と、前記第2のモジュールを起動する第2の処理と、前記第2のモジュールの処理完了まで前記レジスタをポーリングする第3の処理と、前記レジスタから前記出力値を取得する第4の処理とを実行するポーリングシーケンスを前記ターゲットシステムにマッピングすることを特徴とする請求項1記載の設計支援システム。
Each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module,
In the case where the synthesizing unit maps the second module in which the semantic space identifier indicates a hardware module, which is referenced from the first module in which the semantic space identifier indicates a software module, to the target system, A first process for storing the input value in the register, a second process for starting the second module, a third process for polling the register until the processing of the second module is completed, The design support system according to claim 1, wherein a polling sequence for executing a fourth process for acquiring the output value from a register is mapped to the target system.
前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、
前記合成部は、前記意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がソフトウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記入力値を引数として前記ターゲットシステム内のスタックに格納する第1の処理と、前記第2のモジュールを呼び出す第2の処理と、前記出力値をリターン値として取得する第3の処理とを実行する関数呼出しシーケンスを前記ターゲットシステムにマッピングすることを特徴とする請求項1記載の設計支援システム。
Each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module,
The combining unit refers to the input value when mapping the second module in which the semantic space identifier indicates a software module, which is referred to from the first module in which the semantic space identifier indicates a software module, to the target system. A function call sequence for executing a first process stored in a stack in the target system, a second process for calling the second module, and a third process for acquiring the output value as a return value. The design support system according to claim 1, wherein mapping is performed on the target system.
前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、
前記合成部は、前記意味空間識別子がソフトウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がソフトウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記入力値をメッセージとして送信する第1の処理と、メッセージ受信待ち状態に移行する第2の処理と、受信したメッセージから前記出力値を取得する第3の処理とを実行するメッセージ送信シーケンスを前記ターゲットシステムにマッピングすることを特徴とする請求項1記載の設計支援システム。
Each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module,
The synthesizing unit refers to a first module whose semantic space identifier indicates a software module, and when mapping the second module whose semantic space identifier indicates a software module to the target system, the combining unit sends the input value as a message A message transmission sequence that executes a first process to be transmitted as a second process, a second process to shift to a message reception waiting state, and a third process to obtain the output value from the received message is mapped to the target system The design support system according to claim 1, wherein:
前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、
前記合成部は、前記意味空間識別子がハードウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がソフトウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記ターゲットシステム内のレジスタに前記入力値を格納する第1の処理と、割込みを発生させて前記第2のモジュールを起動する第2の処理と、前記第2のモジュールの処理完了後、前記レジスタから前記出力値を取得する第3の処理とを実行する割込みシーケンスを前記ターゲットシステムにマッピングすることを特徴とする請求項1記載の設計支援システム。
Each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module,
In the case where the synthesizing unit maps the second module in which the semantic space identifier indicates a software module, which is referenced from the first module in which the semantic space identifier indicates a hardware module, to the target system, A first process for storing the input value in the register, a second process for generating an interrupt to activate the second module, and the output value from the register after completion of the process of the second module. The design support system according to claim 1, wherein an interrupt sequence for executing a third process for acquiring the data is mapped to the target system.
前記ソフトウェアモジュール及び前記ハードウェアモジュールの各々は、自身の機能と、他のモジュールから受理すべき入力値と、他のモジュールに通知すべき出力値とをさらに含み、
前記合成部は、前記意味空間識別子がハードウェアモジュールを示す第1のモジュールから参照される、前記意味空間識別子がハードウェアモジュールを示す第2のモジュールを前記ターゲットシステムにマッピングする場合、前記ターゲットシステム内のバッファに前記入力値を格納して前記第2のモジュールを起動する第1の処理と、前記第2のモジュールの処理完了後、前記バッファから前記出力値を取得する第2の処理とを実行するバッファリングシーケンスを前記ターゲットシステムにマッピングすることを特徴とする請求項1記載の設計支援システム。
Each of the software module and the hardware module further includes its own function, an input value to be received from another module, and an output value to be notified to the other module,
The synthesizing unit refers to the target system when the semantic space identifier is referenced from a first module indicating a hardware module, and the second module whose semantic space identifier indicates a hardware module is mapped to the target system. A first process for storing the input value in an internal buffer and activating the second module; and a second process for obtaining the output value from the buffer after completion of the process of the second module. The design support system according to claim 1, wherein a buffering sequence to be executed is mapped to the target system.
前記ソフトウェアモジュール及び前記ハードウェアモジュールは、モジュールが消費する消費電力、モジュールの回路面積及びモジュールの処理時間のうちの少なくとも1つを含み、
前記ターゲットシステムに与えられた制約条件として、消費電力、回路面積及び処理時間のうちの少なくとも1つを予め記憶する制約条件記憶部と、
前記合成部によって前記ターゲットシステムに合成されたモジュールに含まれる消費電力、回路面積及び処理時間のうちの少なくとも1つに基づいて、前記ターゲットシステム全体の消費電力、回路面積及び処理時間のうちの少なくとも1つを仕様値として計算する計算部と、
前記計算部によって計算された前記仕様値が前記制約条件記憶部に記憶されている前記制約条件を満たすか否かを判断する判断部と、
前記判断部によって前記仕様値が前記制約条件を満たすと判断された場合、前記ターゲットシステムをユーザに提示する提示部とをさらに備えることを特徴とする請求項1記載の設計支援システム。
The software module and the hardware module include at least one of power consumption consumed by the module, circuit area of the module, and processing time of the module,
As a constraint condition given to the target system, a constraint condition storage unit that stores in advance at least one of power consumption, circuit area, and processing time;
Based on at least one of power consumption, circuit area, and processing time included in the module synthesized in the target system by the synthesis unit, at least one of the power consumption, circuit area, and processing time of the entire target system. A calculation unit that calculates one as a specification value;
A determination unit that determines whether the specification value calculated by the calculation unit satisfies the constraint condition stored in the constraint condition storage unit;
The design support system according to claim 1, further comprising: a presentation unit that presents the target system to a user when the determination unit determines that the specification value satisfies the constraint condition.
前記モジュール選択部は、前記判断部によって前記仕様値が前記制約条件を満たさないと判断された場合、前記ターゲットシステムに合成されたモジュールのうち、入れ替え可能なモジュールを選択し、選択した前記入れ替え可能なモジュールを他のモジュールと交換し、
前記合成部は、交換した前記他のモジュールを前記ターゲットシステムに合成することを特徴とする請求項11記載の設計支援システム。
The module selection unit, when the determination unit determines that the specification value does not satisfy the constraint, the module selection unit selects a replaceable module from among the modules synthesized in the target system, and the selected replacement is possible Replace the module with another module,
12. The design support system according to claim 11, wherein the synthesizing unit synthesizes the replaced other module with the target system.
前記制約条件が複数存在する場合、前記制約条件の優先度を設定する優先度設定部をさらに備えることを特徴とする請求項11記載の設計支援システム。   The design support system according to claim 11, further comprising a priority setting unit configured to set a priority of the constraint condition when a plurality of the constraint conditions exist. 前記ソフトウェアモジュール及び前記ハードウェアモジュールは、モジュールが消費する消費電力、モジュールの回路面積及びモジュールの処理時間のうちの少なくとも1つを含み、
前記ターゲットシステムに与えられた制約条件として、消費電力、回路面積及び処理時間のうちの少なくとも1つを予め記憶する制約条件記憶部と、
前記合成部によって前記ターゲットシステムに合成されたモジュールに含まれる消費電力、回路面積及び処理時間のうちの少なくとも1つに基づいて、前記ターゲットシステム全体の消費電力、回路面積及び処理時間のうちの少なくとも1つを仕様値として計算する計算部と、
前記計算部によって計算された前記仕様値が前記制約条件記憶部に記憶されている前記制約条件を満たすか否かを判断する判断部と、
前記判断部によって前記仕様値が前記制約条件を満たすと判断された場合、前記ターゲットシステムに合成されたモジュールのうち、入れ替え可能なモジュールがなくなるまで、前記ターゲットシステムを記憶するターゲットシステム記憶部と、
前記ターゲットシステム記憶部に記憶されている全ての前記ターゲットシステムをユーザに提示する提示部とを備えることを特徴とする請求項1記載の設計支援システム。
The software module and the hardware module include at least one of power consumption consumed by the module, circuit area of the module, and processing time of the module,
As a constraint condition given to the target system, a constraint condition storage unit that stores in advance at least one of power consumption, circuit area, and processing time;
Based on at least one of power consumption, circuit area, and processing time included in the module synthesized in the target system by the synthesis unit, at least one of the power consumption, circuit area, and processing time of the entire target system. A calculation unit that calculates one as a specification value;
A determination unit that determines whether the specification value calculated by the calculation unit satisfies the constraint condition stored in the constraint condition storage unit;
When the determination unit determines that the specification value satisfies the constraint condition, a target system storage unit that stores the target system until there is no replaceable module among the modules synthesized in the target system;
The design support system according to claim 1, further comprising: a presentation unit that presents all the target systems stored in the target system storage unit to a user.
前記提示部は、前記制約条件を満たす順番で前記ターゲットシステム記憶部に記憶されている前記ターゲットシステムをユーザに提示することを特徴とする請求項14記載の設計支援システム。   The design support system according to claim 14, wherein the presentation unit presents the target systems stored in the target system storage unit in an order satisfying the constraint conditions to a user. 少なくとも1つのソフトウェアモジュールと、少なくとも1つのハードウェアモジュールとを組み合わせて構築されるターゲットシステムの設計を支援するための設計支援方法であって、
ソフトウェアモジュールであることを表す意味空間識別子を含むソフトウェアモジュールと、ハードウェアモジュールであることを表す意味空間識別子を含むハードウェアモジュールとがモジュール記憶部に記憶されており、
構築すべきターゲットシステムの処理を特定し、特定した処理を実行するソフトウェアモジュール及びハードウェアモジュールを前記モジュール記憶部から選択するモジュール選択ステップと、
前記モジュール選択ステップにおいて選択された前記ソフトウェアモジュールの前記意味空間識別子と前記ハードウェアモジュールの前記意味空間識別子とを取得する意味空間識別子取得ステップと、
前記意味空間識別子取得ステップにおいて取得された前記意味空間識別子に基づいて前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成する合成ステップとを含むことを特徴とする設計支援方法。
A design support method for supporting the design of a target system constructed by combining at least one software module and at least one hardware module,
A software module including a semantic space identifier representing a software module and a hardware module including a semantic space identifier representing a hardware module are stored in the module storage unit,
A module selection step of identifying a process of a target system to be constructed and selecting a software module and a hardware module for executing the identified process from the module storage unit;
A semantic space identifier acquisition step of acquiring the semantic space identifier of the software module selected in the module selection step and the semantic space identifier of the hardware module;
And a synthesis step of synthesizing either the software module or the hardware module with the target system based on the semantic space identifier acquired in the semantic space identifier acquisition step.
少なくとも1つのソフトウェアモジュールと、少なくとも1つのハードウェアモジュールとを組み合わせて構築されるターゲットシステムの設計を支援するための設計支援プログラムであって、
構築すべきターゲットシステムの処理を特定し、特定した処理を実行するソフトウェアモジュール及びハードウェアモジュールを、ソフトウェアモジュールであることを表す意味空間識別子を含むソフトウェアモジュールと、ハードウェアモジュールであることを表す意味空間識別子を含むハードウェアモジュールとを記憶するモジュール記憶部を参照することにより選択するモジュール選択手段と、
前記モジュール選択手段によって選択された前記ソフトウェアモジュールの意味空間識別子と前記ハードウェアモジュールの意味空間識別子とを取得する意味空間識別子取得手段と、
前記意味空間識別子取得手段によって取得された前記意味空間識別子に基づいて前記ソフトウェアモジュール及び前記ハードウェアモジュールのいずれかを前記ターゲットシステムに合成する合成手段としてコンピュータを機能させることを特徴とする設計支援プログラム。
A design support program for supporting design of a target system constructed by combining at least one software module and at least one hardware module,
The meaning of the software module and the hardware module that specify the processing of the target system to be constructed and that includes the semantic space identifier that represents the software module and the hardware module. Module selecting means for selecting by referring to a module storage unit that stores a hardware module including a space identifier;
Semantic space identifier acquisition means for acquiring the semantic space identifier of the software module selected by the module selection means and the semantic space identifier of the hardware module;
A design support program for causing a computer to function as a synthesis unit that synthesizes either the software module or the hardware module with the target system based on the semantic space identifier acquired by the semantic space identifier acquisition unit. .
JP2007102043A 2006-04-14 2007-04-09 Design support system, design support method, and design support program Expired - Fee Related JP4901561B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007102043A JP4901561B2 (en) 2006-04-14 2007-04-09 Design support system, design support method, and design support program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006111760 2006-04-14
JP2006111760 2006-04-14
JP2007102043A JP4901561B2 (en) 2006-04-14 2007-04-09 Design support system, design support method, and design support program

Publications (2)

Publication Number Publication Date
JP2007305115A true JP2007305115A (en) 2007-11-22
JP4901561B2 JP4901561B2 (en) 2012-03-21

Family

ID=38838944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007102043A Expired - Fee Related JP4901561B2 (en) 2006-04-14 2007-04-09 Design support system, design support method, and design support program

Country Status (1)

Country Link
JP (1) JP4901561B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009271649A (en) * 2008-05-02 2009-11-19 Fujitsu Ltd Data processor, data processing method, and data processing program
JP2017151829A (en) * 2016-02-26 2017-08-31 株式会社日立製作所 Support system, support method and support program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232081A (en) * 1998-02-12 1999-08-27 Fuji Xerox Co Ltd Information processing system and method
JP2003288378A (en) * 2002-03-28 2003-10-10 Cats Kk System lsi design support program, system lsi control circuit and integrated circuit for pc

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232081A (en) * 1998-02-12 1999-08-27 Fuji Xerox Co Ltd Information processing system and method
JP2003288378A (en) * 2002-03-28 2003-10-10 Cats Kk System lsi design support program, system lsi control circuit and integrated circuit for pc

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009271649A (en) * 2008-05-02 2009-11-19 Fujitsu Ltd Data processor, data processing method, and data processing program
JP2017151829A (en) * 2016-02-26 2017-08-31 株式会社日立製作所 Support system, support method and support program

Also Published As

Publication number Publication date
JP4901561B2 (en) 2012-03-21

Similar Documents

Publication Publication Date Title
US8091064B2 (en) Supporting system, design supporting method, and computer-readable recording medium recorded with design supporting program
JP4412674B2 (en) Apparatus and method for supporting model-driven development
KR20160054629A (en) Methods to adapt user interfaces and input controls
US20070288649A1 (en) Method and system of processing a data stream
JP2005050334A (en) Synchronization of logical view independent of physical storage expression
CN101799760A (en) Generate the system and method for the parallel simd code of arbitrary target architecture
KR20130084659A (en) System and method for managing resources of a portable computing device
US20210149723A1 (en) Method and apparatus for microservice architecture reconfiguration
CN100489777C (en) Intelligent platform management interface firmware architecture and method of building the same
US7856625B2 (en) Program conversion device and method
JP2005301985A (en) Information processor, object generation method, object conversion method, object generation program, object conversion program, and recording medium
JP4901561B2 (en) Design support system, design support method, and design support program
JP5426938B2 (en) Information processing apparatus and information processing method
US9632759B1 (en) Generation of an interface for interaction between a modeling environment and an external system
TW201324347A (en) System and method for managing commands of function module
JP4798395B2 (en) Resource automatic construction system, automatic construction method, and management terminal therefor
CN111158777B (en) Component calling method, device and computer readable storage medium
US20100088656A1 (en) Property checking system, property checking method, and computer-readable storage medium
KR101154717B1 (en) A method and apparatus for managing multiple languages in a data language
KR102062069B1 (en) Apparatus for mash-up service generation based on voice command and method thereof
CN106650033B (en) Process mapping method for input/output ports
JP6222079B2 (en) Computer system, processing method thereof, and program
CN115051904B (en) Method and device for managing single disk state based on markup language
JP5190899B2 (en) Information processing apparatus, setting file generation method, and setting file generation program
CN116431320A (en) Dynamic dual-mode tensor management design scheme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110823

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees