FPGAを間違ってプログラミングすることで、実際にFPGAを壊すことはできますか?
私は本当にソフトウェアの男です。ソフトウェアが間違っていると、あらゆる種類の重要なデータが破壊され、マシン全体がクラッシュする可能性もあります。しかし、コンピュータをプログラミングするだけで物理的に損傷することは本当に困難です。
(Halt-And-Catch-Fire命令、またはマザーボードをブリックするためにシステムファームウェアを再フラッシュできること、またはグラフィックカードに誤った値をプログラミングしてモニターを揚げることができることは無限にあります。しかし、これらはすべてまさにそれのようです:うわさ。そして、時代遅れのハードウェアについて。悪いプログラミングで現代のコンピューター機器を壊すのは本当に、本当に難しいようだ。)
FPGAを使用すると、個々の回路を(少なくとも名目上)一緒に配線できます。ミスの場合に物理的な損傷が発生する可能性があることは完全に妥当なようです。
たとえば、2つの出力を結合するように要求するVHDLを作成できます。それらが異なる論理レベルを出力する場合、私はそれがおそらく何かを揚げるだろうと思います。(あなたの合成ツールがこれをしないようにあなたに叫ぶことを願っています...しかし、そのようなツールが実際にそのレベルのエラーチェックを実装しているかどうかはわかりません。)
また、合成ツールで誤ってFPGAの間違ったモデルを選択する可能性が非常に高いため、完全に異なるモデルを対象としたビットストリームでチップをプログラムしようとしています。私はそれが何をするのか分かりませんが、それは「悪い」だろうと思います。
さらに言えば、FPGAチップを回路の残りの部分に確実に誤って接続する可能性があります。たとえば、ピン番号を台無しにすると、FPGA自体が駆動しようとしているI / Oピンをボードが駆動しようとすることになります。I / Oピンには通常、このような間違いに対する「保護」がありますか?それとも、チップはちょうど揚げますか?