独自のデジタルICEDA環境を構築する(5):FPGA自動化環境(Linuxでのvivado Tclスクリプト自動化開発)、アマチュアIC設計プロセスおよびパスウェイを構築する

1.簡単な説明

FPGAは、完全なICEDA環境にも不可欠です。FPGAプロトタイプの検証はIC設計プロセスの重要な部分です。チップは、多くの人的資源、財源、および設計からテープアウトまでの長い研究開発サイクルを投資する必要があります。テープアウトが失敗した場合、それは会社にとって大きな損失になります。同時に、それは研究開発エンジニア。設計ミスがあった場合、内部が責任を負うため、検証は特に重要です。多くの設計バグが見つかります。FPGA検証は実際の回路で検証され、シミュレータでは検出されないバグもいくつか見つかります。 。デザインチップがsocの場合、チップが開発に戻るのを待たずに、FPGAでチップ機能の組み込み開発を実行することもでき、チップ開発サイクル全体を短縮できます。FPGAプロトタイプの検証はより複雑なタスクです。ここで話しているのはより一般的であり、知りたい友人は検索するものを提案します。
しかし、私たちにとってはアマチュア開発であり、フロントエンドからバックエンドまでの完全なIC開発プロセスを経ることは不可能です。ただし、より良い学習効果を得るには、Design => Frontを選択する必要があります。模倣=> FPGA、およびDC合成は後で追加できます模倣後とは異なり、バックエンドプロセスがないため、FPGA環境を構築することが非常に重要です。この環境は次のように変更することもできます。LinuxでFPGAを開発します。

2.ICプロジェクトのディレクトリ構造

現在、ブレスライトプロジェクトの図のように、暫定的に以下のディレクトリ構造になっていますが、今後、プロジェクトの具体的な状況に応じて変更される予定ですので、実際の状況を参考にしてください。

1)ICプロジェクトの第1レベルのカタログ:

  • FPGA:FPGA関連ファイルを保存します
  • モジュール:プロジェクトのソースコードを保存します
  • スクリプト:まだ使用されていないプロジェクトを保存するスクリプト
  • tb:テストケースを保存する
  • 検証:シミュレーション検証ディレクトリ

2)FPGAプロジェクトディレクトリ:

  • 制約:FPGA制約ファイルを配置します
  • libs:FPGAIPコアを配置します
  • スクリプト:FPGA合成スクリプトを保存します
  • 作業:FPGA合成ディレクトリ
    ここに画像の説明を挿入

3.FPGA環境の構築

現在、ザイリンクスのK325T FPGAボードを使用しています。前回の記事では、Vivado 2019.1がEDA環境にインストールされているとも述べています。Linuxでのインストールは非常に簡単なので、ここではVivadoのインストール方法については説明しません。Vivadoが必要です。舞台裏で「vivado」と返信するインストール。

1)vivado環境を追加します

ホームディレクトリで、.bashrを開き、次のコマンドを追加し、独自のパスを変更し、保存して終了した後、環境を有効にするためにソースを忘れないでください。次に、ターミナルに「vivado」と入力して、vivadoGUIを開始します。

source /home/Xilinx/Vivado/2019.1/settings64.sh

ここに画像の説明を挿入

2)FPGATclスクリプト

以下は、vivadoによって合成されたTclスクリプトであり、独自のザイリンクスFPGAボードに従って変更されています。

  • 私のボードは差動クロックで、clk_wizdのIPを使用しています。
  • 最後の行は、Flashによってプログラムされたmcsファイルを生成します。これは、搭載されているFlashモデルに従って調整する必要があります。
  • 仮想マシンによって割り当てられたプロセッサの数に応じて、maxThreadsを設定します。スクリプト設定が実際の割り当てを超えると、包括的なエラーが発生します。この問題により、1日がかかります。
#################################################
# vivado FPGA environment configuration
#################################################

set PRJ_NAME        Breath_led
set SCRIPT_DIR      ../script
set CONST_DIR       ../constraint
set DEVICE_NAME     xc7k325tffg676-2
set XDC_FILE        $CONST_DIR/pin.xdc
set CODE_FILE       ../../module/breath_led.v
################################################
#Step1: Create project and overwrite old files
################################################
create_project -force $PRJ_NAME ./ -part $DEVICE_NAME
read_xdc $XDC_FILE
add_file $CODE_FILE
add_files ../libs/sysclk_wiz/sysclk_wiz.xci
set_property ip_repo_paths ../libs/sysclk_wiz [current_project]
set_property verilog_define {
    
    FPGA_SYN=1} [get_filesets sources_1]
#set max threads
set_param general.maxThreads 8

# Launch Synthesis
launch_runs synth_1
wait_on_run synth_1
# Launch Implementation
launch_runs impl_1 -to_step write_bitstream
wait_on_run impl_1
write_cfgmem -format mcs -size 128 -interface BPIx16 -loadbit {
    
    up 0x0 "Breath_led.runs/impl_1/breath_led.bit" } -checksum -force -disablebitswap -file Breath_led.runs/impl_1/Breath_led.mcs

3)Makefile

「オープン」と言う必要があります。これにより、vivado guiが自動的に起動し、統合プロジェクトが自動的にロードされます。

clean:
	rm -rf *.cache *.hw *.sim *.ip_user_files *.runs
	rm -f *.jou *.log *.txt *.xpr  
built:
	vivado -mode batch -source ../script/create_prj.tcl & 

open:
	vivado -source open_project ./*.xpr &

4.Vivodoがボードを認識できない

仮想マシンのUSB互換性を設定します。デフォルト設定はusb2.0と互換性があり、私のコンピューターはusb3.0です。次のように変更します。
ここに画像の説明を挿入
それでも認識されない場合は、cabelドライバーをインストールし、ドライバーディレクトリに入り、ルートインストールを実行します。次に、vivadoを再起動すると、ボードが認識されます。

cd /home/Xilinx/Vivado/2019.1/data/xicom/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers

ここに画像の説明を挿入

5.まとめ

この時点で、IC EDA環境は比較的完成しており、プロジェクトに基づいた新しいコンテンツが後で追加される予定です。現在、Hummingbird E203が調査されており、この環境に基づいて共有されます。Breath_ledを取得したい場合は、バックエンドが「Breath_led」と応答してダウンロードリンクを取得します。
プロセス全体のデモンストレーション効果:

デジタルICEDA環境(vcs2018 + verdi2018)デジタルICエンジニア向けのアマチュア開発環境のデモンストレーション(Linuxの自動化されたFPGAの効率的な開発をサポート)

ポータル:デジタルIC EDA環境(vcs2018 + verdi2018)デジタルICエンジニア向けのアマチュア開発環境のデモンストレーション(Linuxの自動化されたFPGAの効率的な開発をサポート

6.パブリックアカウントとWeChat交換エリア

WeChat交換グループを作成しました。ぜひご参加ください。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_40377195/article/details/111599965