(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024104133
(43)【公開日】2024-08-02
(54)【発明の名称】電子回路
(51)【国際特許分類】
G06F 15/78 20060101AFI20240726BHJP
G06F 8/656 20180101ALI20240726BHJP
H01L 21/822 20060101ALI20240726BHJP
【FI】
G06F15/78 560
G06F8/656
H01L27/04 U
H01L27/04 F
G06F15/78 517
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023008210
(22)【出願日】2023-01-23
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鄭 志超
【テーマコード(参考)】
5B062
5B376
5F038
【Fターム(参考)】
5B062DD09
5B062HH08
5B376CA22
5B376CA68
5F038DF04
5F038DF05
5F038DF11
5F038EZ20
(57)【要約】
【課題】ファームウェアを変更せずに、変更後のFPGAを使用可能にする電子回路を提供する。
【解決手段】電子回路は、プロセッサと、第1FPGA(Field-Programmable Gate Array)と、第1生成回路と、第2生成回路と、を備える。前記第1FPGAは、前記プロセッサが起動する前に第1ビットストリームデータによりコンフィグレーションを実行する。前記第1生成回路は、前記コンフィグレーションが完了したことを示す第1完了信号に基づいて、前記プロセッサをリセットする第1リセット信号を前記プロセッサに出力する。前記第2生成回路は、前記プロセッサから出力された制御信号に基づいて、前記コンフィグレーションが完了したことを示す第2完了信号を前記プロセッサに出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサと、
前記プロセッサが起動する前に第1ビットストリームデータによりコンフィグレーションを実行する第1FPGA(Field-Programmable Gate Array)と、
前記コンフィグレーションが完了したことを示す第1完了信号に基づいて、前記プロセッサをリセットする第1リセット信号を前記プロセッサに出力する第1生成回路と、
前記プロセッサから出力された制御信号に基づいて、前記コンフィグレーションが完了したことを示す第2完了信号を前記プロセッサに出力する第2生成回路と、
を備える電子回路。
【請求項2】
前記第1FPGAは、第1記憶部に記憶された前記第1ビットストリームデータを読み出すモードに設定される、
請求項1に記載の電子回路。
【請求項3】
第2ビットストリームデータを記憶する第2記憶部を更に備え、
前記第1FPGAは、前記第1記憶部から読み出した前記第1ビットストリームデータをロードする前記コンフィグレーションを実行する、
請求項2に記載の電子回路。
【請求項4】
前記プロセッサは、前記第2ビットストリームデータによるコンフィグレーションの実行を指示する前記制御信号を前記第2生成回路に出力する、
請求項3に記載の電子回路。
【請求項5】
前記第2生成回路は、前記第2完了信号を出力してから規定期間が経過した場合に、前記第1FPGAがリセットされたことを示す第2リセット信号を前記プロセッサに出力する、
請求項4に記載の電子回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、電子回路に関する。
【背景技術】
【0002】
従来、電子回路に搭載したFPGA(Field-Programmable Gate Array)を異なるFPGAに変更する設計変更を行った場合、FPGAにロードするビットストリームデータのサイズや、ロードにかかる時間などが変化する。そのため、FPGAに対するビットストリームデータのロードを制御するファームウェアの変更が必要になる。
【0003】
しかしながら、ファームウェアの変更には、多くの開発工数が必要になる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、ファームウェアを変更せずに、変更後のFPGAを使用可能にする電子回路を提供することである。
【課題を解決するための手段】
【0005】
実施形態の電子回路は、プロセッサと、第1FPGA(Field-Programmable Gate Array)と、第1生成回路と、第2生成回路と、を備える。前記第1FPGAは、前記プロセッサが起動する前に第1ビットストリームデータによりコンフィグレーションを実行する。前記第1生成回路は、前記コンフィグレーションが完了したことを示す第1完了信号に基づいて、前記プロセッサをリセットする第1リセット信号を前記プロセッサに出力する。前記第2生成回路は、前記プロセッサから出力された制御信号に基づいて、前記コンフィグレーションが完了したことを示す第2完了信号を前記プロセッサに出力する。
【図面の簡単な説明】
【0006】
【
図1】
図1は、本実施形態に係る電子回路の一例を示すブロック図である。
【
図2】
図2は、本実施形態に係る電子回路が実行する起動処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0007】
以下、添付図面を参照して、電子回路の実施形態を詳細に説明する。なお、以下に説明する実施形態は、電子回路の一実施形態であって、その構成や仕様等を限定するものではない。
【0008】
図1は、本実施形態に係る電子回路1の一例を示すブロック図である。電子回路1は、プロセッサ10、第1FPGA(Field-Programmable Gate Array)11、第1記憶部12、第2記憶部13、リセット信号生成回路14、ダミー信号生成回路15を備える。電子回路1は、第2FPGA(不図示)を搭載していたが、設計変更により第2FPGAに変えて第1FPGA11を有する。
【0009】
プロセッサ10は、電子回路1を制御する処理回路である。例えば、プロセッサ10は、CPU(Central Processing Unit)などの処理回路である。なお、プロセッサ10は、CPUに限らず、他の処理回路であってもよい。
【0010】
プロセッサ10は、ファームウェア132に示された処理手順に従った処理を実行する。そして、プロセッサ10は、ファームウェア132に従って動作することで、電子回路1を起動させる。
【0011】
さらに詳しくは、プロセッサ10は、プロセッサ10のリセットが完了した場合に、第2ビットストリームデータ131によるコンフィグレーションの実行を指示するコンフィグレーション信号をダミー信号生成回路15に出力する。コンフィグレーション信号は、制御信号の一例である。
【0012】
第1FPGA11は、HDL(Hardware Description Language)等により指定された論理を構成する集積回路である。また、第1FPGA11は、設計変更前の第2FPGAとは異なる種類のFPGAである。すなわち、第1FPGA11は、設計変更により変更されたFPGAである。
【0013】
また、第1FPGA11は、プロセッサ10が起動する前に第1ビットストリームデータ121によりコンフィグレーションを実行する。さらに詳しくは、第1FPGA11は、SPI(Serial Peripheral Interface)により第1記憶部12と接続される。また、第1FPGA11は、特定の入力端子について固定値が入力されることによりマスターSPIモードに設定される。すなわち、第1FPGA11は、第1記憶部12に記憶された第1ビットストリームデータ121を読み出すモードに設定される。そして、第1FPGA11は、第1記憶部12に記憶された第1ビットストリームデータ121を読み出す。
【0014】
第1FPGA11は、第1記憶部12から読み出した第1ビットストリームデータ121をロードするコンフィグレーションを実行する。そして、第1FPGA11は、コンフィグレーションが完了した場合に、リセット信号生成回路14に完了信号を出力する。
【0015】
第1記憶部12は、フラッシュROM(Read Only Memory)等の記憶媒体により実現される。第1記憶部12は、第1ビットストリームデータ121を記憶する。
【0016】
第1ビットストリームデータ121は、第1FPGA11にロードされるデータである。言い換えると、第1ビットストリームデータ121は、HDL等により論理が表現されたデータである。
【0017】
第2記憶部13は、フラッシュROM等の記憶媒体により実現される。第2記憶部13は、ファームウェア132と、第2ビットストリームデータ131とを記憶する。
【0018】
ファームウェア132は、電子回路1を制御するためのソフトウェアである。ここで、ファームウェア132は、第2FPGAの起動を制御するプログラムが含まれる。ところが、第1FPGA11に適用させるためにファームウェア132を変更すると多くの開発工数が必要になる。そこで、電子回路1は、ファームウェア132を変更せずに、ハードウェアにより第1FPGA11を使用可能にする。
【0019】
第2ビットストリームデータ131は、第1FPGA11が設計変更により変更される前の第2FPGA用に作成されたビットストリームデータである。言い換えると、第2ビットストリームデータ131は、HDL等により論理が表現されたデータである。
【0020】
リセット信号生成回路14は、プロセッサ10をリセットするリセット信号を生成する回路である。リセット信号生成回路14は、コンフィグレーションが完了したことを示す完了信号に基づいて、プロセッサ10をリセットするリセット信号をプロセッサ10に出力する。完了信号は、第1完了信号の一例である。リセット信号生成回路14は、第1生成回路の一例である。リセット信号は、第1リセット信号の一例である。
【0021】
ダミー信号生成回路15は、ダミーリセット信号およびダミー完了信号を生成する。ここで、第2FPGAの場合、プロセッサ10は、第2記憶部13に記憶された第2ビットストリームデータ131を使用してコンフィグレーションを実行していた。プロセッサ10は、コンフィグレーションが完了した場合に、第2FPGAから完了信号の入力を受け付けていた。また、プロセッサ10は、第2FPGAがリセットされた場合に、第2FPGAからリセット信号の入力を受け付けていた。
【0022】
ところが、第1FPGA11は、プロセッサ10よりも先に起動する。そして、プロセッサ10は、第1FPGA11のコンフィグレーションが完了後にリセットされる。第1FPGA11に変更されたことに伴い、リセット信号および完了信号が生成されるタイミングが変化しているため、プロセッサ10は、これら信号が入力されなくなってしまった。そこで、ダミー信号生成回路15は、ダミーの信号であるダミーリセット信号およびダミー完了信号を生成する。そして、ダミー信号生成回路15は、これら信号をプロセッサ10に出力する。
【0023】
さらに詳しくは、ダミー信号生成回路15は、プロセッサ10からコンフィグレーションの実行を指示するコンフィグレーション信号の入力を受け付ける。ダミー信号生成回路15は、プロセッサ10から出力されたコンフィグレーション信号に基づいて、コンフィグレーションが完了したことを示すダミー完了信号をプロセッサ10に出力する。ダミー完了信号は、第2完了信号の一例である。ダミー信号生成回路15は、第2生成回路の一例である。また、ダミー完了信号は、ダミーの信号である。すなわち、ダミー完了信号は、コンフィグレーションの完了を偽装した信号である。
【0024】
ダミー信号生成回路15は、コンフィグレーション信号が入力されてから第1規定期間が経過した場合に、ダミー完了信号をプロセッサ10に出力する。第1規定期間とは、例えば、第2FPGAにおいてコンフィグレーションにかかっていた期間である。
【0025】
ダミー信号生成回路15は、ダミー完了信号を出力してから第2規定期間が経過した場合に、第1FPGA11がリセットされたことを示すダミーリセット信号をプロセッサ10に出力する。そして、ダミーリセット信号は、ダミーの信号である。すなわち、ダミーリセット信号は、第1FPGA11のリセットを偽装した信号である。また、ダミーリセット信号は、第2リセット信号の一例である。第2規定期間とは、例えば、第2FPGAにおいてコンフィグレーション完了からリセットまでにかかっていた期間である。
【0026】
次に、電子回路1が実行する起動処理について説明する。
図2は、本実施形態に係る電子回路1が実行する起動処理の一例を示すフローチャートである。
【0027】
第1FPGA11は、第1記憶部12から読み出した第1ビットストリームデータ121をロードするコンフィグレーションを実行する(ステップS1)。
【0028】
第1FPGA11は、コンフィグレーションが完了したか否か判定する(ステップS2)。コンフィグレーションが完了していない場合に(ステップS2;No)、第1FPGA11は、待機する。
【0029】
コンフィグレーションが完了した場合に(ステップS2;Yes)、第1FPGA11は、コンフィグレーションが完了したことを示す完了信号をリセット信号生成回路14に出力する(ステップS3)。
【0030】
リセット信号生成回路14は、プロセッサ10をリセットするリセット信号をプロセッサ10に出力する(ステップS4)。
【0031】
プロセッサ10は、リセット信号が入力されたことによりリセットする(ステップS5)。また、プロセッサ10は、コンフィグレーションの実行を指示するコンフィグレーション信号をダミー信号生成回路15に出力する(ステップS6)。
【0032】
ダミー信号生成回路15は、コンフィグレーション信号が入力されてから第1規定期間が経過したか否かを判定する(ステップS7)。第1規定期間が経過していない場合に(ステップS7;No)、ダミー信号生成回路15は、待機する。
【0033】
第1規定期間が経過した場合に(ステップS7;Yes)、ダミー信号生成回路15は、ダミー完了信号をプロセッサ10に出力する(ステップS8)。
【0034】
ダミー信号生成回路15は、ダミー完了信号を出力してから第2規定期間が経過したか否かを判定する(ステップS9)。第2規定期間が経過していない場合に(ステップS9;No)、ダミー信号生成回路15は、待機する。
【0035】
第2規定期間が経過した場合に(ステップS9;Yes)、ダミー信号生成回路15は、ダミーリセット信号をプロセッサ10に出力する(ステップS10)。
【0036】
以上により、電子回路1は、起動処理を終了する。
【0037】
以上のように、本実施形態に係る電子回路1は、プロセッサ10と、設計変更により変更された変更後の第1FPGA11と、リセット信号生成回路14と、ダミー信号生成回路15とを備える。第1FPGA11は、プロセッサ10が起動する前に第1ビットストリームデータ121を読み取る。リセット信号生成回路14は、第1FPGA11のコンフィグレーションが完了した場合に、プロセッサ10をリセットするリセット信号をプロセッサ10に出力する。そして、ダミー信号生成回路15は、第1FPGA11のコンフィグレーションの完了を偽装したダミー完了信号をプロセッサ10に出力する。
【0038】
このように、設計変更により第2FPGAから第1FPGA11に変更されたことに伴い、第1FPGA11は、プロセッサ10が起動する前にコンフィグレーションを実行する。そのため、プロセッサ10は、第1FPGA11のコンフィグレーションが完了したことを示す完了信号の入力を受け付けることができないが、ダミー信号生成回路15からダミー完了信号の入力を受け付ける。
【0039】
これにより、電子回路1は、第1FPGA11に変更される前の第2FPGAの場合と、疑似的に同じ処理手順にする。言い換えると、電子回路1は、プロセッサ10の入出力関係を疑似的に同じにする。そして、プロセッサ10は、入出力関係が同じであるため、ファームウェア132に示された処理手順に従った処理を実行することができる。したがって、電子回路1は、ファームウェア132を変更せずに、変更後の第1FPGA11を使用可能にすることができる。
【0040】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0041】
上記実施形態や変形例の各装置で実行されるプログラムは、各装置が備える記憶媒体(ROM又は記憶部)に予め組み込んで提供するものとするが、これに限らないものとする。例えば、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、記憶媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【0042】
また、上記実施形態や変形例の各装置で実行されるプログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよいし、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。
【符号の説明】
【0043】
1 電子回路
10 プロセッサ
11 第1FPGA
12 第1記憶部
13 第2記憶部
14 リセット信号生成回路
15 ダミー信号生成回路
121 第1ビットストリームデータ
131 第2ビットストリームデータ
132 ファームウェア
【先行技術文献】
【特許文献】
【0044】