FPGAをプログラミングするために、独自の配置配線ルーチンを作成することは可能ですか?[要点は、私の方が良いということではありません。重要なのは、私がそうする自由があるかどうかです]-それとも、配置とルーティングのステージが文書化されていないビットファイルに出力され、本質的にプロプライエタリツールを使用するように強制されますか?
ありがとう!
FPGAをプログラミングするために、独自の配置配線ルーチンを作成することは可能ですか?[要点は、私の方が良いということではありません。重要なのは、私がそうする自由があるかどうかです]-それとも、配置とルーティングのステージが文書化されていないビットファイルに出力され、本質的にプロプライエタリツールを使用するように強制されますか?
ありがとう!
過去にcomp.arch.fpgaでこれについていくつかの議論がありました。結論として、一般的に、FPGA企業から強力な法的措置を講じたい場合を除いて、このようなことはしたくないでしょう。ビットファイル形式はFPGA企業の秘密として厳重に保護されており、やりたいことを実行するにはファイル形式を理解する必要があります。これは、フォーマットをリバースエンジニアリングする必要があり、(何らかの方法でツールを公開した場合)短い順序で訴訟を起こすことを意味します。
おそらく中間ファイルがあり、ビットファイル自体を読み書きしてやりたいことを実行することはないでしょうが、それらの中間ファイルも文書化されていない傾向があることを付け加えておきます。FPGA合成ツール(たとえば、ザイリンクスのISE)のEULAをお読みください。いかなる種類のリバースエンジニアリングも固く禁じられています。この分野でオープンソースの選択肢を得る唯一の方法は、オープンソースのFPGAアーキテクチャを開発することだと思われます。
annccodealに同意しますが、少し増幅するために、ザイリンクスでは、これを行う方法がいくつかある可能性があります。XDLファイル形式では、明示的な配置とルーティングが可能です(または許可するために使用されます)。さらに、FPGAエディターをスクリプト化してカスタムルーティングを実装できるようにする必要があります。
配置に関しては、ロジックのプリミティブへのテクノロジーマッピングを制約し、それらのプリミティブの配置を制御するための豊富なインフラストラクチャがあります。たとえば、LUT_MAP制約はテクノロジーマッピングを制御でき、LOCおよびRLOC制約は配置を決定できます。実際には、これらにより、経験豊富な設計者は、ビットストリームを直接生成するために何世紀にもわたるソフトウェア開発を複製することなく、設計の実装方法を細かく制御できます。
また、 VPRなどの最新のFPGACADリサーチソフトウェアもおもしろいと思うかもしれません。私の意見では、これらは、分割可能な6-LUT、DSPブロックなどを備えた最新の異種FPGAに対処しなければならないベンダー独自のツールに追いつくために挑戦されています。
ハッピーハッキング。