FC2カウンター FPGAの部屋 2024年03月19日
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Windows 11 の Efinity で helloworld チュートリアルをやってみる3

Windows 11 の Efinity で helloworld チュートリアルをやってみる2”の続き。

Efinity® Trion® Tutorial UG-EFN-TUTORIAL-v7.0 August 2022”を参照して、helloworld チュートリアルをやってみようということで、前回は、”3.2 Synthesize the Design”と”3.3 Perform Post-Map Simulation”を行った。今回は、”3.4 Build the Device Interface”をやってみよう。

3.4 Build the Device Interface
Efinity® Trion® Tutorial UG-EFN-TUTORIAL-v7.0 August 2022”の”3.4 Build the Device Interface”を読んで、まとめてみた。
Efinix Trion® FPGA は、HDL で記述されたロジック、メモリ、乗算器の周りに GPIO ピン、PLL、発振器などのブロックが存在する。Efinity® Interface Designer を使用して、周辺部分を構築する。このセクションでは、インターフェイス デザイナーを使用して helloworld インターフェイスを表示し、欠落している GPIO リソースを追加するそうだ。

Open Interface Designer ボタンをクリックした。
Efinity_105_240318.png

Efinity Interface Designer - helloworld ウインドウが開いた。
左のウインドウの Design:T8F81 をすべて展開した。
Efinity_106_240319.png

Design:T8F81 -> GPIO(6) -> led[3] をクリックした。
Block Summary と Block Editor が表示された。
Efinity_107_240319.png

Package Planner ボタンをクリックした。
Package Planner - helloworld が表示された。
Efinity_108_240319.png

E3 ピンをクリックすると、View Configuration の Pin information に led[3] に接続されていることと、その他の情報が表示された。
Efinity_109_240319.png

Package Planner を閉じた。
Interface Designer に戻って、Generate Efinity Constraint Files ボタンをクリックした。
Efinity_110_240319.png

Efinity_111_240319.png

helloworld\outflow に helloworld.interface.csv, helloworld.pt.rpt, helloworld.pinout.csv, helloworld.pinout.rpt, helloworld.pt_timing.rpt, helloworld.pt.sdc, helloworld_template.v が生成された。
Efinity_112_240319.png

Efinity® Trion® Tutorial UG-EFN-TUTORIAL-v7.0 August 2022”から、ファイルの説明を Google 翻訳して引用する。

• helloworld.interface.csv - コアとペリフェラルの間のインターフェイスで使用される FPGA デザイン ピンを制約します。
• helloworld.pt.rpt - インターフェイスに関する情報を提供します。
• helloworld.pinout.csv - CSV 形式でボード設計のピン配置が含まれます。
• helloworld.pinout.rpt - 適切にフォーマットされたテキスト ファイル形式でボード設計のピン配置が含まれます。
• helloworld.pt_timing.rpt - Trion® インターフェイス ロジックのタイミング レポート。
• helloworld.pt.sdc - インターフェイス設定に基づいて FPGA デザイン ピンを制約するためのテンプレート SDC ファイル。
• helloworld_template.v - インターフェイス設定に基づいて FPGA デザイン ピンを定義するテンプレート Verilog HDL ファイル。


Interface Designer を閉じて、Efinity に戻った。
automated flow は OFF にしてあるので、ダッシュボードの Place ボタンをクリックして、配置だけを行った。
Efinity_113_240319.png

配置が終了した。
Efinity_114_240319.png

Result タブの Pacement -> helloworld.place.rpt ファイルを確認すると、led[4] が Uassigned Core Pins としてリストされている。
led[4] のピン指定が無かったようだ。
Efinity_115_240319.png

Open Interface Designer ボタンをクリックし、 Interface Designer を起動した。
Design:T8F81 -> GPIO(6) を右クリックし、右クリックメニューから Create Block を選択した。
Efinity_116_240319.png

Design:T8F81 -> GPIO(7) に gpio_int7: が生成された。
Efinity_117_240319.png

Block Editor の Instance Name に led[4] と入力して、Enter キーを押した。(Enter キーを押さないとちゃんと入力されないようだ)
Efinity_118_240319.png

Mode を output に変更して(プルダウンメニューで選択した)、Enter キーを押した。
Save ボタンでセーブした。
Efinity_119_240319.png

Generate Efinity Constraint Files ボタンをクリックした。
Efinity_120_240319.png

Design Check ダイアログが表示された。デザインにエラーがあるということだ、led[4] を指定しても出力ピンを指定していないので、必然的にエラーが出ているのだろう?
Efinity_121_240319.png

Interface Designer の Design メニューから Show/Hide GPIO Resource Assigner を選択した。
Efinity_122_240319.png

GPIO : Instance View が表示された。
led[4] に Resource のプルダウンメニューから GPIOL_21 を選択して、Enter キーを押した。
Efinity_123_240319.png

led[4] の Resource に GPIOL_21 が指定された。Package Pin も B3 に指定されている。
Efinity_124_240319.png

Save ボタンでセーブして、Generate Efinity Constraint Files ボタンをクリックした。
Efinity_125_240319.png

Interface Designer の様子を示す。
Efinity_126_240319.png

Interface Designer を閉じた。
Efinity でダッシュボードの Place ボタンをクリックし、配置を実行した。
Result タブの Pacement -> helloworld.place.rpt ファイルを確認すると、 Uassigned Core Pins が無くなって、成功した。
Logic Elements は 56 個使用していて、LUTs/Adder は 55 個、Registers は 18 個使用している。
Efinity_127_240319.png
  1. 2024年03月19日 11:26 |
  2. Efinity IDE
  3. | トラックバック:0
  4. | コメント:0