(57)【要約】  電子回路部品に搭載されている周辺機能の端子への割り当てを適切かつ効率よく行う。端子機能割当装置１０は、電子回路部品（マイコン等）に搭載されている周辺機能を電子回路部品が備える端子に割り当てる際の仕様を記述した端子機能割当仕様情報２５２を取得し、端子機能割当仕様情報２５２に基づき、割り当てにおける制約を機械可読な形式で記述した端子機能割当モデル情報データ２６２を生成し、周辺機能の要件を記述した周辺機能要件情報２６１を取得し、周辺機能要件情報２６１に基づき、周辺機能の要件に基づく制約を機械可読な形式で記述した周辺機能要件モデルデータ２６３を生成し、端子機能割当モデル情報２５３に記述されている制約、及び周辺機能要件モデルデータ２６３に記述されている制約の双方を充足するように、電子回路部品が備える端子に周辺機能を割り当てることが可能か否かを判定して結果を出力する。
2016189661.tif 000002
【特許請求の範囲】
【請求項１】
中央処理演算装置及び記憶装置を備えた情報処理装置を用いて構成され、
電子回路部品に搭載されている周辺機能を前記電子回路部品が備える端子に割り当てる際の仕様を記述したデータである端子機能割当仕様情報を取得する端子機能割当仕様情報取得部と、
前記端子機能割当仕様情報に基づき、前記割り当てにおける制約を機械可読な形式で記述したデータである端子機能割当モデル情報を生成する端子機能割当モデル情報生成部と、
前記周辺機能の要件を記述した情報である周辺機能要件情報を取得する周辺機能要件情報取得部と、
前記周辺機能要件情報に基づき、前記周辺機能の要件に基づく制約を機械可読な形式で記述したデータである周辺機能要件モデルデータを生成する周辺機能要件モデルデータ生成部と、
前記端子機能割当モデル情報に記述されている前記制約、及び前記周辺機能要件モデルデータに記述されている前記制約の双方を充足するように、前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能か否かを判定する制約解決部と、
前記判定の結果を出力する端子機能割当結果出力部と、
を備える端子機能割当装置。
【請求項２】
請求項１に記載の端子機能割当装置であって、
前記制約解決部が、前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能と判定した場合に、前記端子機能割当結果出力部が、前記電子回路部品が備える端子に前記周辺機能を割り当てた結果を生成して出力する
端子機能割当装置。
【請求項３】
請求項１または２に記載の端子機能割当装置であって、
前記周辺機能要件情報は、前記周辺機能のモードを指定する情報及び前記周辺機能のチャネル数を指定する情報のうち、少なくともいずれかの指定を含む端子機能割当装置。
【請求項４】
請求項３に記載の端子機能割当装置であって、
前記端子機能割当モデル情報は、
前記電子回路部品が備える前記端子に割り当てられる前記周辺機能の信号の夫々を異なる値を持つ変数として定義した情報である信号モデル情報、
前記電子回路部品が備える前記端子の夫々に割り当てることが可能な前記周辺機能の信号の制約を記述した情報である端子モデル情報、及び、
前記電子回路部品に搭載されている前記周辺機能のチャネルについて前記周辺機能のモードを変数として宣言した内容、前記周辺機能の前記チャネルのモードと前記電子回路部品が備える端子への前記周辺機能の信号の割り当てとの関係に基づく制約、及び特定の前記モードに一致する前記周辺機能のチャネル数を変数として定義した情報のうちの少なくともいずれかを含む周辺機能モデル情報
を含む端子機能割当装置。
【請求項５】
請求項１または２に記載の端子機能割当装置であって、
前記端子機能割当モデル情報は、ＳＭＴ−ＬＩＢ形式、及びＤＩＭＡＣＳ  ＣＮＦ形式のうちの少なくともいずれかの形式で記述されている
端子機能割当装置。
【請求項６】
請求項１または２に記載の端子機能割当装置であって、
前記周辺機能要件モデルデータは、ＳＭＴ−ＬＩＢ形式、及びＤＩＭＡＣＳ  ＣＮＦ形式のうちの少なくともいずれかの形式で記述されている
端子機能割当装置。
【請求項７】
請求項１または２に記載の端子機能割当装置であって、
電子回路部品が満たすべき要件を記述したデータである電子回路部品要件情報と、電子回路部品の機種ごとの仕様を記述したデータである電子回路部品機種仕様情報とを取得し、前記電子回路部品機種仕様情報に基づき前記電子回路部品要件情報を満たす一つ以上の機種を選択し、選択した一つ以上の機種を記述したデータである電子回路部品候補データを生成する電子回路部品候補生成部と、
前記電子回路部品候補データに記述されている機種の夫々について前記制約解決部による前記判定を行うことにより、前記端子機能割当モデル情報に記述される前記制約、及び前記周辺機能要件情報に記述される前記制約の双方を充足するように前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能な機種を選択する電子回路部品選択部と、
をさらに備える端子機能割当装置。
【請求項８】
請求項７に記載の端子機能割当装置であって、
前記電子回路部品要件情報は、前記要件の夫々について設定された優先度を示す情報を含み、
前記電子回路部品選択部は、前記優先度の高い要件に合致する機種を優先して、前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能な機種として選択する
端子機能割当装置。
【請求項９】
請求項１または２に記載の端子機能割当装置であって、
前記電子回路部品はマイクロコンピュータである
端子機能割当装置。
【請求項１０】
中央処理演算装置及び記憶装置を備えた情報処理装置が、
電子回路部品に搭載されている周辺機能を前記電子回路部品が備える端子に割り当てる際の仕様を記述したデータである端子機能割当仕様情報を取得するステップ、
前記端子機能割当仕様情報に基づき、前記割り当てにおける制約を機械可読な形式で記述したデータである端子機能割当モデル情報を生成するステップ、
前記周辺機能の要件を記述した情報である周辺機能要件情報を取得するステップ、
前記周辺機能要件情報に基づき、前記周辺機能の要件に基づく制約を機械可読な形式で記述したデータである周辺機能要件モデルデータを生成するステップ、
前記端子機能割当モデル情報に記述されている前記制約、及び前記周辺機能要件モデルデータに記述されている前記制約の双方を充足するように、前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能か否かを判定するステップ、及び、
前記判定の結果を出力するステップ、
を実行する、端子機能割当方法。
【請求項１１】
請求項１０に記載の端子機能割当方法であって、
前記情報処理装置が、前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能と判定した場合に、前記電子回路部品が備える端子に前記周辺機能を割り当てた結果を生成して出力するステップ
をさらに実行する、端子機能割当方法。
【請求項１２】
請求項１０または１１に記載の端子機能割当方法であって、
前記周辺機能要件情報は、前記周辺機能のモードを指定する情報及び前記周辺機能のチャネル数を指定する情報のうち、少なくともいずれかの指定を含む、
端子機能割当方法。
【請求項１３】
請求項１２に記載の端子機能割当方法であって、
前記端子機能割当モデル情報は、
前記電子回路部品が備える前記端子に割り当てられる前記周辺機能の信号の夫々を異なる値を持つ変数として定義した情報である信号モデル情報、
前記電子回路部品が備える前記端子の夫々に割り当てることが可能な前記周辺機能の信号の制約を記述した情報である端子モデル情報、及び、
前記電子回路部品に搭載されている前記周辺機能のチャネルについて前記周辺機能のモードを変数として宣言した内容、前記周辺機能の前記チャネルのモードと前記電子回路部品が備える端子への前記周辺機能の信号の割り当てとの関係に基づく制約、及び特定の前記モードに一致する前記周辺機能のチャネル数を変数として定義した情報のうちの少なくともいずれかを含む周辺機能モデル情報
を含む端子機能割当方法。
【請求項１４】
請求項１０または１１に記載の端子機能割当方法であって、
前記情報処理装置が、
電子回路部品が満たすべき要件を記述したデータである電子回路部品要件情報と、電子回路部品の機種ごとの仕様を記述したデータである電子回路部品機種仕様情報とを取得し、前記電子回路部品機種仕様情報に基づき前記電子回路部品要件情報を満たす一つ以上の機種を選択し、選択した一つ以上の機種を記述したデータである電子回路部品候補データを生成するステップ、及び、
前記電子回路部品候補データに記述されている機種の夫々について前記制約解決部による前記判定を行うことにより、前記端子機能割当モデル情報に記述される前記制約、及び前記周辺機能要件情報に記述される前記制約の双方を充足するように前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能な機種を選択するステップ
をさらに実行する端子機能割当方法。
【請求項１５】
請求項１４に記載の端子機能割当方法であって、
前記電子回路部品要件情報は、前記要件の夫々について設定された優先度を示す情報を含み、
前記情報処理装置が、前記優先度の高い要件に合致する機種を優先して、前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能な機種として選択するステップ
をさらに実行する端子機能割当方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端子機能割当装置、端子機能割当方法に関する。
【背景技術】
【０００２】
特許文献１には、「設計対象装置に含まれる端子と、割り当てることが可能な候補機能群との対応関係を示す情報を、端子情報として格納する、端子情報格納部と、前記端子情報に基づいて、前記各端子に割り当てられる機能を決定し、割り当て結果データを生成する処理部とを具備する。前記端子情報において、前記候補機能群に含まれる各候補機能には、前記各候補機能が所属する関連機能グループを示す関連情報が対応付けられている。前記処理部は、前記関連情報を参照して、前記選択機能が所属する関連機能グループを特定関連機能グループとして特定する。前記複数の端子の中から、前記特定関連機能グループに所属する候補機能を有する他の端子が、関連端子として選択される。前記関連端子に、特定関連機能グループに所属する候補機能が割り付けられ、割り当て結果データが生成される。」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２０４０７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
マイクロコントローラ（以下、マイコンと称する。）等の多用途な電子回路部品には、汎用性を高めることなどを目的として、各種プロトコルに対応した通信機能、アナログ−デジタル変換機能等の様々な周辺機能が搭載されている。電子回路部品を利用して機器の設計や開発を行うユーザは、マイコンに搭載されている周辺機能を電子機器の仕様や用途に応じて選択し、選択した周辺機能を電子回路部品が備える端子に割り当てた上で電子回路部品を使用する。【０００５】
ここで電子回路部品に装備可能な端子の数は電子回路部品のパッケージの大きさや形状等の物理的な制約によって限られており、同時に利用可能な周辺機能の数や組合せは制限される。そこで周辺機能の効率的な活用を可能とすべく、電子回路部品は、同一の信号を複数の端子に切り換えて割り当てる、同じ周辺機能について用意された複数チャネルをソフトウェアの実行時に逐次選択する、といった使い方が可能になっている場合も少なくない。【０００６】
しかしこうした電子回路部品の柔軟性は、周辺機能の端子への割り当ての態様（パターン）を多様化させることとなり、利用する周辺機能が多い場合は相当数の組み合わせについて試行錯誤を繰り返す必要があり、ユーザは煩雑な作業を強いられることとなる。【０００７】
本発明は、こうした背景に鑑みてなされたもので、電子回路部品に搭載されている周辺機能の電子回路部品が備える端子への割り当てを適切かつ効率よく行うことが可能な、端子機能割当装置、及び端子機能割当方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明のうちの一つは、端子機能割当装置であって、中央処理演算装置及び記憶装置を備えた情報処理装置を用いて構成され、電子回路部品に搭載されている周辺機能を前記電子回路部品が備える端子に割り当てる際の仕様を記述したデータである端子機能割当仕様情報を取得する端子機能割当仕様情報取得部と、前記端子機能割当仕様情報に基づき、前記割り当てにおける制約を機械可読な形式で記述したデータである端子機能割当モデル情報を生成する端子機能割当モデル情報生成部と、前記周辺機能の要件を記述した情報である周辺機能要件情報を取得する周辺機能要件情報取得部と、前記周辺機能要件情報に基づき、前記周辺機能の要件に基づく制約を機械可読な形式で記述したデータである周辺機能要件モデルデータを生成する周辺機能要件モデルデータ生成部と、前記端子機能割当モデル情報に記述されている前記制約、及び前記周辺機能要件モデルデータに記述されている前記制約の双方を充足するように、前記電子回路部品が備える端子に前記周辺機能を割り当てることが可能か否かを判定する制約解決部と、前記判定の結果を出力する端子機能割当結果出力部とを備える。【０００９】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１０】
本発明によれば、電子回路部品に搭載されている周辺機能の電子回路部品が備える端子への割り当てを適切かつ効率よく行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施例１の端子機能割当装置１０の構成を示す図である。
【図２】端子機能割当モデル生成部２００を説明する図である。
【図３】端子信号情報２５２１の一例を示す図である。
【図４】周辺機能チャネル情報２５２２の一例を示す図である。
【図５】周辺機能信号情報２５２３の一例を示す図である。
【図６】端子機能割当部６００を説明する図である。
【図７】端子機能割当処理Ｓ７００を説明するフローチャートである。
【図８】周辺機能要件情報設定画面８００の一例である。
【図９】実施例２の端子機能割当装置１０の構成を示す図である。
【図１０】端子機能割当部１０００を説明する図である。
【図１１】端子機能割当処理Ｓ１１００を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ詳細に説明する。以下の説明において、同一の符号を付した構成について重複する説明を省略することがある。また「プログラム」のことを「ＰＧ」と略記することがある。
【実施例１】
【００１３】
図１に実施例１として説明する端子機能割当装置１０の構成を示している。端子機能割当装置１０は、電子回路部品であるマイクロコンピュータ（以下、マイコンとも称する。）に搭載されている周辺機能をマイコンが備える端子に割り当てる際の仕様に基づき、上記割り当てにおける制約を機械可読な形式で記述したデータを生成する。また端子機能割当装置１０は、周辺機能に対する要件（以下、周辺機能要件情報とも称する。）に基づく制約を機械可読な形式で記述したデータを生成する。端子機能割当装置１０は、周辺機能の端子への割り当てにおける上記制約、及び周辺機能要件情報に基づく上記制約の双方を充足するように、マイコンが備える端子に周辺機能を割り当てることが可能か否かを判定する。また端子機能割当装置１０は、割り当てることが可能と判定した場合、マイコンが備える端子に周辺機能を割り当てた結果を生成して出力する。【００１４】
端子機能割当装置１０は、情報処理装置（コンピュータ）を用いて構成されており、中央演算処理装置１１、主記憶装置１２、補助記憶装置１３、入力装置１４、出力装置１５、及び通信装置１６の各構成を備える。これらの構成は、バス１７等を介して通信可能に接続されている。中央演算処理装置１１は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）等を用いて構成されており、主記憶装置１２に記憶されているプログラム（実行形式データ、ソースコードデータ（インタプリタで実行される場合）等）を実行する。主記憶装置１２は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＮＶＲＡＭ（Non Volatile RAM）であり、補助記憶装置１３は、例えば、ハードディスクドライブ、ＳＳＤ（Solid State Drive）である。入力装置１４は、ユーザから情報を取得するためのユーザインタフェースであり、例えば、キーボード、マウス、タッチパネルである。出力装置１５は、情報をユーザに提供するユーザインタフェースであり、例えば、液晶モニタ等のディスプレイ、スピーカ、印字／印刷装置である。通信装置１６は、通信線や通信ネットワークを介して他の装置と通信する装置であり、例えば、ＮＩＣ（Network Interface Card）や無線通信モジュールを用いて構成されている。【００１５】
補助記憶装置１３には、端子機能割当モデル生成ＰＧ１１１並びに端子機能割当ＰＧ１１２の各プログラムが記憶されている。中央演算処理装置１１が、補助記憶装置１３に格納されているプログラムを読み出して実行することにより、端子機能割当装置１０の機能が実現される。補助記憶装置１３には、端子機能割当仕様データ１２１、端子機能割当モデル情報データ１２２、及び端子機能割当結果データ１２３の各データが記憶されている。これらのデータは、例えば、端子機能割当装置１０において動作するＤＢＭＳ（DataBase Management System）によってデータベースのテーブルとして管理される。【００１６】
＜端子機能割当モデル生成機能＞
図２は、端子機能割当装置１０が端子機能割当モデル生成ＰＧ１１１を実行することにより実現される機能のうちの一つ（以下、この機能のことを端子機能割当モデル生成部２００と称する。）を説明する図である。端子機能割当モデル生成部２００は、入力装置１４または通信装置１６を介して端子機能割当装置１０に入力される端子機能割当仕様データ１２１に基づき端子機能割当モデル情報データ１２２を生成する。【００１７】
端子機能割当仕様データ１２１は、マイコンが備える複数の端子への当該マイコンが備える周辺機能（例えば、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）、ＡＤＣ（Analog Digital Converter）、ＤＡＣ（Digital Analog Converter）、ＳＰＩ（Serial Peripheral Interface）、Ｉ２Ｃ（Inter-Integrated Circuit）等）の割り当てに関する仕様を記述したデータである。端子機能割当仕様データ１２１は、例えば、マイコンベンダ等が提供するデータシートに基づき作成される。補助記憶装置１３にはマイコンの機種ごとの端子機能割当仕様データ１２１が記憶されている。端子機能割当仕様データ１２１は、例えば、ＣＳＶ（Comma-Separated Values）、ＸＭＬ（eXtensible Markup Language）、バイナリ（binary）等の形式で記述されるが、端子機能割当仕様データ１２１の記述形式は必ずしもこれらに限定されない。【００１８】
端子機能割当モデル生成部２００が生成する端子機能割当モデル情報データ１２２は、端子機能割当仕様データ１２１に基づくマイコンの機種に応じた制約を機械可読な記述形式の論理式で記述したデータである。上記論理式は、例えば、充足可能性問題（ＳＡＴ（SATisfiability problem））の解析に用いられるツール（以下、制約ソルバとも称する。）の標準入力形式で記述され、例えば、ＳＭＴソルバ（Satisfiable Modulo Theories solver）の標準入力形式であるＳＭＴ-ＬＩＢ、ＳＡＴソルバ（SATisfiability problem solver）の標準入力形式であるＤＩＭＡＣＳ  ＣＮＦ等の記述形式で記述される。【００１９】
同図に示すように、端子機能割当モデル生成部２００は、端子機能割当仕様情報取得部２１１、端子機能割当モデル情報生成部２１２、及びモデル出力部２１３の各機能を有する。また同図に示すように、端子機能割当モデル情報生成部２１２は、信号モデル生成部２１２１、端子モデル生成部２１２２、及び周辺機能モデル生成部２１２３の各機能を有する。【００２０】
端子機能割当仕様情報取得部２１１は、入力装置１４または通信装置１６を介して、端子機能割当仕様データ１２１及びマイコン指定情報２５１をユーザから取得する。マイコン指定情報２５１には、端子機能割当装置１０により端子機能の割り当てを行う対象となるマイコンの機種（性能、機能、型番等）を指定する情報（マイコンの製品名、マイコンの製品番号等）が含まれる。端子機能割当仕様情報取得部２１１は、マイコン指定情報２５１に指定されているマイコンの端子機能割当仕様データ１２１を補助記憶装置１３から読み出し、読み出した端子機能割当仕様データ１２１に基づき端子機能割当仕様情報２５２（端子信号情報２５２１、周辺機能チャネル情報２５２２、周辺機能信号情報２５２３）を生成する。端子機能割当仕様情報２５２は、例えば、データベースのテーブルやファイルシステムによって管理されるファイルとして、補助記憶装置１３や主記憶装置１２に記憶される。以下では、端子機能割当仕様情報２５２がデータベースのテーブルとして管理される場合を例として説明する。【００２１】
図３は端子信号情報２５２１の一例である。同図に示すテーブルの各行（レコード）はマイコンが備える複数の端子（ピン）の一つに対応している。テーブルの各行は、端子番号３１１、端子名称３１２、及び周辺機能信号３１３の各項目を含む。このうち端子番号３１１には、マイコンが備える端子を識別する番号（以下、端子番号と称する。）が設定される。端子名称３１２には、端子の名称（以下、端子名称と称する。）が設定される。端子名称としては、例えば、端子に割り当てられている周辺機能の信号の種類に対応する名称が用いられる。周辺機能信号３１３には、マイコンの端子に割り当てることが可能な信号の種類を示す情報（以下、周辺機能信号と称する。）が設定される。【００２２】
例えば、図３のテーブルの先頭行は、端子番号が「２３」で端子名称が「ＰＡ０」である端子に、「ＰＡ０」、「ＵＡＲＴ４ＴＸ」、及び「ＡＤＣ０」のうちのいずれかの周辺機能信号を割り当てることが可能であることを示している。尚、「ＰＡ０」は汎用入出力ポートＡのビット０の信号を、「ＵＡＲＴ４ＴＸ」はシリアル通信機能「ＵＡＲＴ」のチャネル４の送信（ＴＸ）信号を、「ＡＤＣ０」はアナログ‐デジタル変換機能「ＡＤＣ」のチャネル０の信号を示す。【００２３】
図４は周辺機能チャネル情報２５２２の一例である。同図に示すテーブルの各行（レコード）はマイコンが備える各周辺機能に対応している。同図に示すように、各行は周辺機能４１１及びチャネル４１２の各項目を含む。周辺機能４１１には、マイコンが備える周辺機能の種類を識別する情報（以下、周辺機能名称と称する。）が設定される。チャネル４１２には、周辺機能のチャネルを識別する情報（以下、チャネル名称と称する。）が設定される。【００２４】
例えば、図４のテーブルの先頭行は、マイコンが、アナログ‐デジタル変換機能（以下、「ＡＤＣ」とも表記する。）として８つのチャネル（チャネル名称が０，１，２，３，４，５，６，７の８つのチャネル）を利用可能であることを示している。また２行目は、マイコンがシリアル通信機能（以下、「ＵＡＲＴ」とも表記する。）として４つのチャネル（チャネル名称がＵＳＡＲＴ１，ＵＳＡＲＴ２，ＵＳＡＲＴ３，ＵＡＲＴ４の４つのチャネル）を利用可能であることを示している。尚、「ＵＳＡＲＴ」は通信方式が同期式であることを、「ＵＡＲＴ」は通信方式が非同期式であることを示す。【００２５】
図５は周辺機能信号情報２５２３の一例である。同図に示すテーブルの各行（レコード）は、機能／モード５１１及び信号５１２の各項目を含む。機能／モード５１１には、マイコンが備える周辺機能の周辺機能名称、またはマイコンが備えるモード（動作モード）の名称（以下、モード名称と称する。）が設定される。信号５１２には、周辺機能が使用する信号や各モードが使用する信号を示す情報が設定される。【００２６】
例えば、図５のテーブルの先頭行は、シリアル通信機能「ＵＡＲＴ」が、「｛ｎ｝ＴＸ」、「｛ｎ｝ＲＸ」、及び「｛ｎ｝ＣＫ」の３つの信号を使用することを示している。尚、「｛ｎ｝」はチャネルを示し、例えば、周辺機能チャネル情報２５２２の「ＵＳＡＲＴ１」や「ＵＡＲＴ４」等に置き換えられる。テーブルの先頭行以外の各行には、周辺機能の各モードが使用する信号を示す情報が設定される。この例では、上記情報として、使用する信号には「１」を、使用しない信号には「０」を設定している。【００２７】
テーブルの２行目は、機能／モード５１１に「ＴＸ＿ＯＮＬＹ」が、信号５１２に「１，０，０」が、夫々設定されている。これはモード「ＴＸ＿ＯＮＬＹ」が「｛ｎ｝ＴＸ」の信号のみを使用することを示す。テーブルの３行目は、機能／モード５１１に「ＵＡＲＴ」のモードの一つである「ＲＸ＿ＯＮＬＹ」が設定され、信号５１２に「０，１，０」が設定されている。これはモード「ＲＸ＿ＯＮＬＹ」が「｛ｎ｝ＲＸ」の信号のみを使用することを示す。テーブルの４行目は、機能／モード５１１に「ＵＡＲＴ」のモードの一つである「ＤＵＰＬＥＸ」が設定され、信号５１２に「１，１，０」が設定されている。これはモード「ＤＵＰＬＥＸ」が、「｛ｎ｝ＴＸ」の信号と「｛ｎ｝ＲＸ」の信号を使用することを示す。【００２８】
テーブルの５行目は、機能／モード５１１に「ＵＡＲＴ」のモードの一つである「ＳＹＮＣ」が設定され、信号５１２に「０，０，１」が設定されているが、これはモード「ＳＹＮＣ」が、「｛ｎ｝ＣＫ」の信号を使用する同期式の通信方式であることを示している。テーブルの６行目は、機能／モード５１１に「ＵＡＲＴ」のモードの一つである「ＡＳＹＮＣ」が設定され、信号５１２に「０，０，０」が設定されているが、これはモード「ＡＳＹＮＣ」が「｛ｎ｝ＣＫ」の信号を使用しない非同期式の通信方式であることを示している。これら「ＳＹＮＣ」及び「ＡＳＹＮＣ」は、他の３つのモード（「ＴＸ＿ＯＮＬＹ」、「ＲＸ＿ＯＮＬＹ」、「ＤＵＰＬＥＸ」）と組み合わせて用いられる。【００２９】
図２に戻り、端子機能割当モデル情報生成部２１２（信号モデル生成部２１２１、端子モデル生成部２１２２、周辺機能モデル生成部２１２３）は、端子機能割当仕様情報２５２（端子信号情報２５２１、周辺機能チャネル情報２５２２、周辺機能信号情報２５２３）に基づき、端子機能割当モデル情報２５３（信号モデル情報２５３１、端子モデル情報２５３２、周辺機能モデル情報２５３３）を生成する。【００３０】
端子機能割当モデル情報生成部２１２の信号モデル生成部２１２１は、端子信号情報２５２１に基づき信号モデル情報２５３１を生成する。信号モデル情報２５３１は、端子信号情報２５２１に含まれる全ての信号をリストアップし、リストアップした信号群について重複を排除した上で、リストアップした信号の夫々を異なる値を持つ変数として定義した内容を含む。ＳＭＴ-ＬＩＢ形式で記述された信号モデル情報２５３１の一例を次に示す。
(define-fun NONE () Int 0)
(define-fun GPIO () Int 1)
(define-fun UART4TX () Int 2)
(define-fun ADC0 () Int 3)
…
上記信号モデル情報２５３１には、４つの周辺機能信号「ＮＯＮＥ」、「ＧＰＩＯ」、「ＵＡＲＴ４ＴＸ」、「ＡＤＣ０」の夫々に対応する変数「NONE () 」、「GPIO () 」、「UART4TX ()」、「ADC0 ()」を、夫々、０、１、２、３の値を持つ整数型「Int」として定義した内容が記述されている。周辺機能信号「ＮＯＮＥ」は、端子を使用しないことを示す仮想的な周辺機能信号である。周辺機能信号「ＧＰＩＯ」は、端子を汎用入出力ポートとして使用することを示す仮想的な信号である。【００３１】
端子機能割当モデル情報生成部２１２の端子モデル生成部２１２２は、端子信号情報２５２１に基づき端子モデル情報２５３２を生成する。端子モデル情報２５３２は、端子信号情報２５２１に含まれる全ての端子を周辺機能信号と同じ型を持つ変数として宣言し、各端子に割り当てることが可能な周辺機能信号の制約を記述した内容を含む。ＳＭＴ-ＬＩＢ形式で記述された端子モデル情報２５３２の一例を次に示す。
(declare-fun PA0 () Int)
(assert (or (= PA0 NONE) (= PA0 GPIO) (= PA0 UART4TX) (= PA0 ADC0)))
…
上記端子モデル情報２５３２は、図３の端子番号「２３」の行に対応している。上記端子モデル情報２５３２には、端子「ＰＡ０」を整数型「Int」の変数として宣言し、信号変数「NONE」と等しいか、または「GPIO」と等しいか、または「UART4TX」と等しいか、または「ADC0」と等しい旨の制約が記述されている。【００３２】
端子機能割当モデル情報生成部２１２の周辺機能モデル生成部２１２３は、端子信号情報２５２１、周辺機能チャネル情報２５２２、及び周辺機能信号情報２５２３に基づき、周辺機能モデル情報２５３３を生成する。周辺機能モデル情報２５３３は、周辺機能チャネル情報２５２２に含まれる周辺機能のチャネル数の定義と、全チャネルについて周辺機能信号情報２５２３に含まれる周辺機能のモードを変数として宣言した内容を含む。ＳＭＴ-ＬＩＢ形式で記述された周辺機能モデル情報２５３３の一例を次に示す。
(define-fun UART#MAX () Int 4)
(declare-fun USART1#MODE () (# BitVec 3))
(declare-fun USART2#MODE () (# BitVec 3))
(declare-fun USART3#MODE () (# BitVec 3))
(declare-fun UART4#MODE () (# BitVec 3))
(define-fun UART#MODE#NONE () (# BitVec 3) #b000)
(define-fun UART#MODE#TX#ONLY () (# BitVec 3) #b100)
(define-fun UART#MODE#RX#ONLY () (# BitVec 3) #b010)
(define-fun UART#MODE#DUPLEX () (# BitVec 3) #b110)
(define-fun UART#MODE#SYNC () (# BitVec 3) #b001)
(define-fun UART#MODE#ASYNC () (# BitVec 3) #b000)
上記周辺機能モデル情報２５３３は、図４の２行目に対応している。上記周辺機能モデル情報２５３３には、周辺機能「ＵＡＲＴ」のチャネル数として変数「UART#MAX ()」を定義し、各チャネルに対するモードを表す４つの変数「USART1#MODE ()」、「USART2#MODE ()」、「USART3#MODE ()」、「UART4#MODE ()」を３ビット（図５の１行目の信号数）のビットベクタ型「(# BitVec 3)」として宣言し、図５における各モードの信号を定義した内容が記述されている。尚、「UART#MODE#NONE ()」は、周辺機能を使用しないことを示すモードであり、全ビットが０に設定される。【００３３】
周辺機能モデル情報２５３３は、さらに周辺機能の全チャネルのモードと端子への信号の割り当てとの関係に基づく制約を機械可読な記述形式で記述した論理式を含む。ＳＭＴソルバの記述形式で記述した場合の上記制約の一例を次に示す。
(assert (=
(= ((# extract 0 0) USART2#MODE) #b1)
(or (= USART2CK PA4) (= USART2CK PD7))
))
(assert (not (and (= USART2CK PA4) (= USART2CK PD7))))
…
この例では、図４の周辺機能「ＵＡＲＴ」のチャネル「ＵＳＡＲＴ２」のモードと端子への信号割当との関係のうち、クロック信号「ＵＳＡＲＴ２ＣＫ」に関わる部分を記述している。周辺機能モデル生成部２１２３は、次のようにして上記論理式を生成する。まず図５の先頭行の「ＵＡＲＴ」の信号名のチャネルを表す部分「｛ｎ｝」をチャネル名「ＵＳＡＲＴ２」で置換することにより、信号名「USART2CK」が得られる。得られた信号名「USART2CK」について、図３の端子信号情報２５２１を検索し、「ＵＳＡＲＴ２ＣＫ」が割り当てられる端子名をリストアップする。その結果、「PA4」と「PD7」が得られる。モード変数「USART2#MODE ()」のビット０は、クロック信号「ＵＳＡＲＴ２ＣＫ」の使用の有無を表している。即ち、上記論理式は、モード変数「USART2#MODE ()」のビット０が１であることと、「USART2CK」が「PA4」または「PD7」と等しいことは同値である旨の制約を記述している。尚、マイコンには１つの信号を複数の端子に割り当てることはできないという制約が存在する。そこで上記論理式には、「USART2CK」が「PA4」と「PD7」の両方と同時に等しくならない旨の制約も記述されている。【００３４】
周辺機能モデル情報２５３３は、さらに、全ての周辺機能に対して、特定のモードに一致する周辺機能のチャネル数を変数として定義した情報を含む。ＳＭＴソルバの記述形式で記述した場合の上記情報の一例を次に示す。
(define-fun UART#CNT ((mode (# BitVec 3))) Int (+
(ite (= mode USART1#MODE) 1 0)
(ite (= mode USART2#MODE) 1 0)
(ite (= mode USART3#MODE) 1 0)
(ite (= mode UART4#MODE) 1 0)
))
…
この例では、前述の周辺機能「ＵＡＲＴ」のモードを表す型「(# BitVec 3)」の引数として「mode」を宣言している。そして、「ＵＡＲＴ」の各チャネルのモードを表す４つの変数「USART1#MODE」、「USART2#MODE」、「USART3#MODE」、「UART4#MODE」に対して、「mode」と一致する場合は１、一致しない場合は０を加算した値を、変数「UART#CNT ()」として定義している。つまり上記論理式における変数「UART#CNT ()」は、周辺機能「ＵＡＲＴ」の４つのチャネルのうち、「mode」に設定されるチャネル数を表している。【００３５】
図２に示すモデル出力部２１３は、以上のようにして端子機能割当モデル情報生成部２１２によって生成された端子機能割当モデル情報２５３に基づき端子機能割当モデル情報データ１２２を生成する。【００３６】
以上に説明したように、端子機能割当装置１０は、端子機能割当仕様データ１２１に基づき端子機能割当モデル情報データ１２２を生成するので、ユーザは手動で端子機能割当モデル情報データ１２２を作成する必要がなく、入力ミス等の誤りを減らすことができる。尚、端子機能割当モデル情報データ１２２には、マイコンの機種毎の端子機能割り当てに関する静的な仕様に基づく制約が記述されている。そのため、マイコンの仕様が変更されない限り、一度生成した端子機能割当モデル情報データ１２２を後述する端子機能の割り当てにおいて繰り返し用いることができる。またマイコンの機種が異なる場合でもマイコンの仕様が共通している場合は異なる機種のマイコンに共通の端子機能割当モデル情報データ１２２を流用することができ、割り当て作業を効率よく進めることができる。【００３７】
＜端子機能の割り当て＞
図６は、端子機能割当装置１０が端子機能割当ＰＧ１１２を実行することにより実現される機能のうちの一つ（以下、この機能のことを端子機能割当部６００と称する。）を説明する図である。端子機能割当部６００は、要求される周辺機能のモードとチャネル数の指定に対してマイコンが備える端子への周辺機能の割り当て可否を判定し、さらに割り当て可能と判定した場合、割り当てた結果を記述したデータである端子機能割当結果データ１２３を生成して出力する。端子機能割当部６００は、マイコン指定情報２５１、端子機能割当モデル生成部２００によって生成された端子機能割当モデル情報データ１２２、及び周辺機能要件情報２６１に基づき、上記端子機能割当結果データ１２３を生成する。【００３８】
同図に示すように、端子機能割当部６００は、モデル取得部６１１、周辺機能要件情報取得部６１２、周辺機能要件モデルデータ生成部６１３、制約解決部６１４、及び端子機能割当結果出力部６１５の各機能を有する。【００３９】
モデル取得部６１１は、マイコン指定情報２５１及び端子機能割当モデル情報データ１２２を取得し、取得したマイコン指定情報２５１に指定される機種の端子機能割当モデル情報データ１２２に基づき端子機能割当モデルデータ２６２を生成する。【００４０】
周辺機能要件情報取得部６１２は、入力装置１４または通信装置１６から周辺機能要件情報２６１を取得する。【００４１】
周辺機能要件モデルデータ生成部６１３は、周辺機能要件情報取得部６１２が取得した周辺機能要件情報２６１に基づき、周辺機能要件モデルデータ２６３を生成する。尚、周辺機能要件情報２６１は、例えば、要求される周辺機能のモードを指定する情報や要求される周辺機能のチャネル数を指定する情報を含む。【００４２】
制約解決部６１４は、端子機能割当モデルデータ２６２に記述されている制約と周辺機能要件モデルデータ２６３に記述されている制約の双方を満たす変数の組み合わせが存在するか否かを調べることにより、周辺機能要件モデルデータ２６３の制約に対して、マイコン指定情報２５１で指定された機種のマイコンに周辺機能を割り当てることができるか否かを判定する。制約解決部６１４は、双方の制約を充足するように周辺機能を端子に割り当てることが可能と判定した場合、その際の変数の組み合わせを端子機能割当結果出力部６１５に出力する。【００４３】
端子機能割当結果出力部６１５は、制約解決部６１４から入力された上記組み合わせに基づき、マイコン指定情報２５１で指定されたマイコンについて周辺機能を割り当てた結果を記載したデータである端子機能割当結果データ１２３を生成し、生成した端子機能割当結果データ１２３を出力装置１５に出力する。【００４４】
図７は、端子機能割当部６００が行う処理（以下、端子機能割当処理Ｓ７００と称する。）を説明するフローチャートである。以下、同図とともに端子機能割当処理Ｓ７００について説明する。尚、以下の説明において、符号の前に付している「Ｓ」の文字は処理ステップを意味している。【００４５】
まずモデル取得部６１１が、入力装置１４または通信装置１６を介してマイコン指定情報２５１を取得し、取得したマイコン指定情報２５１に指定されているマイコンの端子機能割当モデル情報データ１２２に基づき端子機能割当モデルデータ２６２を生成する（Ｓ７０１）。【００４６】
続いて、周辺機能要件情報取得部６１２が、入力装置１４または通信装置１６を介して周辺機能要件情報２６１を取得し、周辺機能要件モデルデータ生成部６１３が、周辺機能要件情報２６１に基づき周辺要件モデル情報２６３を生成する（Ｓ７０２）。【００４７】
図８は、周辺機能要件情報取得部６１２が、入力装置１４を介して周辺機能要件情報２６１をユーザから取得するにあたり出力装置１５（ディスプレイ等）に表示する画面（以下、周辺機能要件情報設定画面８００と称する。）の一例である。同図に示すように、周辺機能要件情報設定画面８００には、周辺機能のモードの指定欄とチャネル数の指定欄とを含む、周辺機能の要件の入力欄８１１が設けられている。ユーザはこの周辺機能要件情報設定画面８００を介して周辺機能の要件を簡便に入力することができる。【００４８】
周辺機能要件情報取得部６１２が生成する周辺機能要件モデルデータ２６３には、周辺機能要件情報２６１に基づく制約が機械可読な形式の論理式として記述されている。周辺機能要件モデルデータ２６３の一例を次に示す。
(assert (= (UART#CNT (bvor UART#MODE#DUPLEX UART#MODE#ASYNC)) 1))
(assert (= (UART#CNT UART#MODE#NONE) (- UART#MAX 1)))
…
上記の例は図８の周辺機能要件情報設定画面８００の入力欄８１１に例示した内容に対応している。１行目は周辺機能「ＵＡＲＴ」のモードが「送受信（ＵＡＲＴ＿ＭＯＤＥ＿ＤＵＰＬＥＸ）」かつ「非同期（ＵＡＲＴ＿ＭＯＤＥ＿ＡＳＹＮＣ）」であるチャネル数が「１」であることを表している。また２行目は、周辺機能「ＵＡＲＴ」の残りのチャネル、即ち「ＵＡＲＴＭＡＸ−１」個のチャネルが使用されない（つまり「ＵＡＲＴ＿ＭＯＤＥ＿ＮＯＮＥ」）ことを表している。【００４９】
図７に戻り、続いて、制約解決部６１４が、端子機能割当モデルデータ２６２に記述されている制約と周辺機能要件モデルデータ２６３に記述されている制約の双方を満たす変数の組み合わせが存在するか否かを調べることにより、周辺機能要件モデルデータ２６３の制約に対して、マイコン指定情報２５１で指定されたマイコンの端子に周辺機能を割り当てることができるか否かを判定する（Ｓ７０３）。この判定は、全ての変数の組み合わせに対して全ての論理式の真理値を評価することにより行われる。即ち、制約解決部６１４は、全ての論理式が真となる変数の組み合わせが存在すれば、双方の制約を充足するようにマイコンの端子に周辺機能を割り当てることが可能と判定し、上記組み合わせが存在しなければ、双方の制約を充足するようにマイコンの端子に周辺機能を割り当てることは不可能であると判定する。そして双方の制約を充足するようにマイコンの端子に周辺機能を割り当てることが可能と判定した場合、制約解決部６１４は、その際の変数の組み合わせを解（割り当て可能なパターン）として出力する。【００５０】
尚、端子機能割当モデルデータ２６２及び周辺機能要件モデルデータ２６３が制約ソルバ（ＳＭＴソルバ、ＳＡＴソルバ等）の形式で記述されている場合、Ｓ７０３の判定は、制約ソルバを用いて効率よく行うことができる。尚、制約解決部６１４が外部プログラムとして制約ソルバを起動するとしてもよい。例えば、制約ソルバがＳＭＴソルバである場合、制約解決部６１４は、制約ソルバに対して端子機能割当モデルデータ２６２と周辺機能要件モデルデータ２６３とを送信した後、判定コマンド「(check-sat)」を送信する。ＳＭＴソルバは、上記判定コマンドに対し、割り当て可能な場合は「sat」を、割り当て不可能な場合は「unsat」を返す。【００５１】
上記判定において、制約解決部６１４がマイコンの端子に周辺機能を割り当てることが可能と判定した場合は（Ｓ７０３：Ｙ）Ｓ７０４に進み、割り当てることが不可能と判定した場合は（Ｓ７０３：Ｎ）Ｓ７０５に進む。【００５２】
Ｓ７０４では、制約解決部６１４は、上述の制約を満たす変数の組み合わせを端子機能割当結果出力部６１５に出力する。端子機能割当結果出力部６１５は、上記組み合わせに基づき端子機能割当結果データ１２３を生成し、生成した端子機能割当結果データ１２３を出力装置１５に出力する。尚、上記端子機能割当結果データ１２３を端子機能割当結果出力部６１５が補助記憶装置１３に記憶するとしてもよい。【００５３】
例えば、制約解決部６１４が外部プログラムとしてＳＭＴ−ＬＩＢ形式に対応するＳＭＴソルバを起動するようにした場合、制約解決部６１４は、ＳＭＴソルバから「sat」を受信した後、端子モデル情報２５３２において宣言した全ての端子の変数値を取得するコマンドを発行する。上記コマンドの一例を次に示す。
(get-value (PA0))
(get-value (PA1))
…
上記コマンドは、図３に示した端子名称３１２が「ＰＡ０」及び「ＰＡ１」の各端子の変数値を取得するコマンドである。ＳＭＴソルバは、これらのコマンドに対して、例えば、次の応答を返す。
((PA0 3))
((PA1 1))
…
この例では、端子名称３１２が「ＰＡ０」、「ＰＡ１」の端子に、夫々、値「３」と値「１」の信号が割り当てられることを示している。これらの値は、信号モデル情報２５３１における変数と１対１の関係で対応付けられているので、夫々の値に対応する周辺機能信号を示す情報を出力することができ、例えば、「ＰＡ０」には周辺機能信号「ＡＤＣ０」を割り当て、「ＰＡ１」には周辺機能信号「ＧＰＩＯ」を割り当てることを示す情報が出力される。尚、周辺機能信号「ＡＤＣ０」や「ＧＰＩＯ」を、図３に示した端子番号３１１に対応させて出力装置１５に出力するようにしてもよい。【００５４】
図７のＳ７０５では、端子機能割当結果出力部６１５が、割り当て不可であることを示す情報（警告）を出力装置１５から出力する。【００５５】
以上に説明したように、本実施例の端子機能割当装置１０は、マイコン指定情報２５１と周辺機能要件情報（モードの指定、チャネル数の指定等）を与えることで、端子への周辺機能の割り当て可否を自動的に判定する。このため、ユーザは周辺機能の端子への割り当てについて多数の組み合わせについて試行錯誤を繰り返すことなく、端子への周辺機能の割り当てが可能か否かを容易に知ることができる。また端子への周辺機能の割り当てが可能と判定した場合、端子機能割当装置１０は割り当て可能なパターン（端子機能割当結果データ１２３）を出力するので、ユーザは適切な割り当て方法を知ることができる。このように、本実施例の端子機能割当装置１０によれば、ユーザはマイコンに搭載されている周辺機能のマイコンが備える端子への割り当てを適切かつ効率よく行うことができる。【００５６】
尚、マイコンの端子に周辺機能を割り当てる際、既に割り当てられている機能を他の端子に割り当て直せば割り当てることが可能になることがある。また割り当てる機能は個別のチャネルを指定する必要があるが、他のチャネルを割り当てれば、割り当て可能な場合もありうる。本実施例の端子機能割当装置１０は、制約ソルバを用いて割り当てのパターンを解析するので、そのような場合でも適切な割り当てのパターンをユーザに提供することができる。
【実施例２】
【００５７】
実施例１では、指定されたマイコンに対して端子機能割当装置１０が周辺機能要件情報に基づく端子への周辺機能の割り当てが不可能と判定した場合、ユーザが手動で別のマイコンを指定し直す必要があった。そこで実施例２では、端子機能割当装置１０が周辺機能要件情報について周辺機能の割り当てが可能な機種のマイコンを自動的に選定するようにする。【００５８】
図９に実施例２の端子機能割当装置１０の構成を示している。同図に示すように、実施例２の端子機能割当装置１０は、図１における端子機能割当ＰＧ１１２の代わりに端子機能割当ＰＧ１１３を有する。また実施例２の端子機能割当装置１０は、補助記憶装置１３に予め作成されたマイコン機種仕様情報１０５１を記憶する。【００５９】
図１０は、実施例２の端子機能割当装置１０が端子機能割当ＰＧ１１３を実行することにより実現される機能（以下、この機能のことを端子機能割当部１０００と称する。）を説明する図である。実施例２の端子機能割当装置１０は、端子機能割当部１０００が、マイコン候補生成部１０１１（電子回路部品候補生成部）及びマイコン選択部１０１２（電子回路部品選択部）をさらに備え、端子機能割当結果出力部６１５が、選択マイコン端子機能割当結果出力部１０１３に置き換えられる点で図６に示した実施例１の端子機能割当部６００と構成が異なる。実施例２の端子機能割当部１０００は、マイコン機種仕様情報１０５１（電子回路部品機種仕様情報）、マイコン要件情報１０５２（電子回路部品要件情報）、端子機能割当モデル情報データ１２２、及び周辺機能要件情報２６１に基づき、端子機能割当結果データ１２３を生成する。【００６０】
マイコン機種仕様情報１０５１は、マイコンの機種ごとの仕様に関する情報を含む。マイコン機種仕様情報１０５１は、マイコンベンダ等が提供するカタログ情報やデータシートに基づき作成される。マイコン要件情報１０５２は、マイコンが満たすべき要件（ベンダ、シリーズ、パッケージ、上限価格等）を指定する情報を含む。マイコン要件情報１０５２の内容は、例えばユーザが設定する。【００６１】
マイコン候補生成部１０１１は、マイコン要件情報１０５２と、マイコン機種仕様情報１０５１とを取得し、マイコン機種仕様情報１０５１から、マイコン要件情報１０５２を満たす一つ以上の機種を選出し、選出した機種を記載したマイコン候補データ１０５５を生成する。【００６２】
マイコン選択部１０１２は、マイコン候補データ１０５５に含まれる機種の夫々について制約解決部６１４による前述の判定を行うことにより、マイコン候補データ１０５５に含まれる機種のうち、端子機能割当モデルデータ２６２と周辺機能要件モデルデータ２６３とに記述される制約を充足するように端子に周辺機能を割り当てることが可能な機種を選択する。【００６３】
制約解決部６１４は、マイコン候補データ１０５５に含まれる機種の夫々について前述の判定を行った結果をマイコン選択部１０１２に通知する。【００６４】
選択マイコン端子機能割当結果出力部１０１３は、マイコン選択部１０１２によって選択された機種についての端子機能割当結果データ１２３を出力装置１５に出力する。【００６５】
＜端子機能割当処理＞
図１１は、端子機能割当部１０００が行う処理（以下、端子機能割当処理Ｓ１１００と称する。）を説明するフローチャートである。以下、同図とともに端子機能割当処理Ｓ１１００について説明する。【００６６】
まずマイコン候補生成部１０１１が、入力装置１４または通信装置１６を介して、マイコン要件情報１０５２を取得する（Ｓ１１０１）。【００６７】
続いて、マイコン候補生成部１０１１は、補助記憶装置１３からマイコン機種仕様情報１０５１を読み出し、マイコン要件情報１０５２を満たす機種をリストアップし、リストアップした機種を示す情報を含むマイコン候補データ１０５５を生成する（Ｓ１１０２）。【００６８】
続いて、図７のＳ７０１と同様に、モデル取得部６１１が、入力装置１４または通信装置１６を介してマイコン指定情報２５１を取得し、取得したマイコン指定情報２５１に指定されているマイコンの端子機能割当モデル情報データ１２２に基づき端子機能割当モデルデータ２６２を生成する（Ｓ１１０３）。【００６９】
続いて、図７のＳ７０２と同様に、周辺機能要件情報取得部６１２が、入力装置１４または通信装置１６を介して周辺機能要件情報２６１を取得し、取得した情報に基づき周辺機能要件モデルデータ２６３を生成する（Ｓ１１０４）。【００７０】
続いて、マイコン選択部１０１２及びモデル取得部６１１が、マイコン候補データ１０５５からマイコンを１機種選択する（Ｓ１１０５）。【００７１】
続いて、制約解決部６１４が、図７のＳ７０３と同様に、端子機能割当モデルデータ２６２と周辺機能要件モデルデータ２６３とに基づき、選択した機種の端子に周辺機能を割り当てることができるか否かを判定する（Ｓ１１０６）。制約解決部６１４が、選択した機種に割り当て可能と判定した場合（Ｓ１１０６：Ｙ）、制約解決部６１４は、その際の変数の組み合わせを選択マイコン端子機能割当結果出力部１０１３に出力し、選択マイコン端子機能割当結果出力部１０１３は、上記組み合わせに基づき端子機能割当結果データ１２３を生成し、生成した端子機能割当結果データ１２３を、現在選択中の機種を示す情報とともに出力装置１５に出力する（Ｓ１１０７）。制約解決部６１４が、選択した機種に割り当て不可能と判定した場合は（Ｓ１１０６：Ｎ）Ｓ１１０８に進む。【００７２】
Ｓ１１０８では、マイコン選択部１０１２が、マイコン候補データ１０５５に未選択の機種が存在するか否かを判定する。存在する場合は（Ｓ１１０８：Ｙ）、Ｓ１１０５に戻り、未選択の機種を選択し、Ｓ１１０６にて制約解決部６１４が割り当て可能と判定するまで処理を繰り返す。未選択の機種が存在しない場合は（Ｓ１１０８：Ｎ）、端子機能割当結果出力部６１５が、割り当て不可であることを示す情報（警告）を出力装置１５から出力する（Ｓ１１０９）。【００７３】
尚、マイコン要件情報１０５２に指定されている各要件についてあらかじめ優先度を付加しておき（例えば、ベンダごとに優先度を付加する）、Ｓ１１０５においてマイコン選択部１０１２が優先度の高い要件に合致する機種を優先して選択するようにしてもよい。これによりユーザが優先する要件に合致する機種が優先して選択されるようにすることができる。【００７４】
以上のように、実施例２の端子機能割当装置１０は、マイコン要件を満たす機種の中から、端子への周辺機能の割り当て可能な一つ以上の機種を選択し、割り当て可否を示す情報や端子機能割当結果データ１２３を出力するので、検討の対象となるマイコンの機種が複数存在する場合におけるユーザの負荷を軽減することができる。【００７５】
尚、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。【００７６】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、データ等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。【００７７】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７８】
１０  端子機能割当装置、１２１  端子機能割当仕様データ、１２２  端子機能割当モデル情報データ、１２３  端子機能割当結果データ、２００  端子機能割当モデル生成部、２１１  端子機能割当仕様情報取得部、２１２  端子機能割当モデル情報生成部、２１２１  信号モデル生成部、２１２２  端子モデル生成部、２１２３  周辺機能モデル生成部、２１３  モデル出力部、２５１  マイコン指定情報、２５３  端子機能割当モデル情報、２５３１  信号モデル情報、２５３２  端子モデル情報、２５３３  周辺機能モデル情報、６１１  モデル取得部、６１２  周辺機能要件情報取得部、６１３  周辺機能要件モデルデータ生成部、６１４  制約解決部、６１５  端子機能割当結果出力部、Ｓ７００  端子機能割当処理、８００  周辺機能要件情報設定画面、１０１１  マイコン候補生成部、１０１２  マイコン選択部、１０１３  選択マイコン端子機能割当結果出力部、１０５１  マイコン機種仕様情報、１０５２  マイコン要件情報、１０５５  マイコン候補データ、Ｓ１１００  端子機能割当処理
【図１】
2016189661.tif 000003
【図２】
2016189661.tif 000004
【図３】
2016189661.tif 000005
【図４】
2016189661.tif 000006
【図５】
2016189661.tif 000007
【図６】
2016189661.tif 000008
【図７】
2016189661.tif 000009
【図８】
2016189661.tif 000010
【図９】
2016189661.tif 000011
【図１０】
2016189661.tif 000012
【図１１】
2016189661.tif 000013
【国際調査報告】
2016189661.tif 000014
2016189661.tif 000015
2016189661.tif 000016