1

http://www.clifford.at/icestorm/で説明されているように、Yosys/arachne-pnr によって生成されたビットストリームを理解しようとしています。

このドキュメントの使用方法を学習するための推奨されるアプローチは、Yosys と Arachne-pnr を使用して非常に単純な回路を合成icebox_explainし、生成されたビットストリーム ファイルに対して icestorm ツールを実行し、上記のデータベースの HTML エクスポートを使用して結果を分析することです。icebox_vlogビットストリームを Verilog に変換するために使用できます。このツールの出力ファイルでは、生成された Verilog コードに追加されたコメントで信号パスの概要も示されます。

ビットストリームの変更による影響を理解するには.ex、FPGA にアップロードするためにファイルを変更して ASCII ビットストリームに (手動でビットを識別するのではなく) 変換できると助かります。そうする方法はありますか?

無効なビットストリームで FPGA が損傷することを少し心配しています。これが発生することが知られている状況はありますか? ビットストリームをシミュレートする方法はありますか?

また、ビットストリームで設定する必要のある I/O ブロックの IE/REN ビットではなく、対応する I/O ブロックの IE/REN ビットを示すなど、ある種の「高レベル」の説明形式があると便利です。 . そのようなフォーマットはありますか?

同等の Verilog 回路を生成できる可能性があることは知っていますが、これの問題は、通常、ビットストリームへのロスレス ラウンドトリップができないことです。Yosys/arachne-pnr で処理したときに、(ブロックを明示的にインスタンス化するなどして) まったく同じビットストリームを生成する同等の Verilog 回路を生成する方法はありますか?

4

1 に答える 1

1

無効なビットストリームで FPGA が損傷することを少し心配しています。これが発生することが知られている状況はありますか? ビットストリームをシミュレートする方法はありますか?

これまでのところ、FPGA を損傷したことはありません。(ただし、ループで再プログラムするテストを実行した後、アイススティックのシリアルフラッシュを損傷することに成功しました。)

ただし、これは、無効なビットストリームを使用して FPGA をプログラムしても FPGA が損傷しないという意味ではありません。理論的には、ドライバー間の競合が発生するように FPGA を構成できます。ハードウェアがそのようなものにどれだけうまく対処できるかはわかりません。私は調べるための実験を行っていません..

また、ビットストリームで設定する必要のある I/O ブロックの IE/REN ビットではなく、対応する I/O ブロックの IE/REN ビットを示すなど、ある種の「高レベル」の説明形式があると便利です。 . そのようなフォーマットはありますか?

icebox_vlogより高いレベルの出力を生成します。ただし、I/O ブロックのようなものは出力しないため、ニーズに対してレベルが高すぎる可能性があります。

同等の Verilog 回路を生成できる可能性があることは知っていますが、これの問題は、通常、ビットストリームへのロスレス ラウンドトリップができないことです。Yosys/arachne-pnr で処理したときに、(ブロックを明示的にインスタンス化するなどして) まったく同じビットストリームを生成する同等の Verilog 回路を生成する方法はありますか?

現時点ではない。icebox_vlogしかし、この機能を提供するために拡張するのはそれほど難しいことではありません。したがって、本当にそれが必要な場合は、自分自身を追加することが手の届く範囲にあるかもしれません.

于 2017-02-28T16:02:20.153 に答える