Vivado

24Q1

カウンタ回路を FPGA で動作させて挙動を確認しよう(入門編)

この記事では、ACRi ルームのコンピュータと FPGA を利用して、Verilog HDL で記述される簡単なカウンタ回路を動作させて、その挙動を確認する方法を説明します。 Verilog HDL で記述したハードウェアの内容や、論理合成、配置・配線といった処理の詳細は後回しにします。Vivado を活用して、FPGA を動かすこと、動かした FPGA の動作を確認することを目標にします。 FPGA の設計・開発に慣れていないみなさんを対象とする初級の内容です。ACRi ルームの...
初級

AMD のコンフィギュレーション専用ツール Vivado Lab エディション

FPGA やコンフィギュレーション・メモリのコンフィギュレーション (書き込み) のみであれば、通常の Vivado ではなく、Vivado Lab エディションというツールで行えます。通常の Vivado は 80~90GB 程度を必要としますが、Vivado Lab エディションは約 6GB と大分コンパクトです。ツールは Vivado と同じ Web ページの下の方からダウンロードできます。 なお、コンフィギュレーション・メモリというのは FPGA ボード上に搭載されている ROM...
21Q2.01A

Xilinx開発ツールのインストール:(1) Vivado MLのインストール

ここでは Xilinx 社の FPGA の開発環境である Vivado MLのインストール手順を解説します。手順は以前のVivadoとほぼ同じです (差異は手順5の無償版と有償版の名称の変更のみです)。Vivado は、HDL からビットストリームファイルの生成、FPGA への書き込みまでの一番下位の部分を担当するツールです。中規模までのほとんどの FPGA は無償版の Vivado ML Standard Edition で開発できます。下記よりダウンロードできます。 対応OS...
20Q4.01A

Vitis を用いたアクセラレータの開発 (5) Vitis Library, Vitis AI とは?

前回までは、Vivado や PetaLinux を使用して Vitis Target Platform の作成、そして Acceleration Application の構築までの一連の流れを簡単にご紹介しました。今回は最終回となる、Vitis Library や Vitis AI Solution についてご紹介いたします。 Vitis Library Vitis には Software の記述を FPGA に置き換えて高速化することが可能な Tool です。ですが、初めての...
20Q4.01A

Vitis を用いたアクセラレータの開発 (2) Vitis Target Platform HW 構築編

前回の「Vitis とは?」の記事で、Vitis の Tool について紹介しました。2回目となる今回は Vivado 2019.2 を利用して Vitis Target Platform の作成「Hardware 編の Flow」をご紹介します。 HW Component Tool Flow まずは前回の復習ですが、Vitis での Acceleration Application の Tool Flow は以下の図のよう4つの Step があります。 今回は上図の...
20Q2.09B

MIG を使って DRAM メモリを動かそう (4)

この記事では、前回まで解説してきた MIG ベースの DRAM コントローラのテストプログラムと先端の RISC-V ソフトプロセッサへの応用を説明していきます。 ソースコード: テストプログラム:  ソフトプロセッサ: Wizard ベースのクロック生成スクリプト: 説明では、現時点 (2020年8月) ACRi ルームで使用可能な Vivado 2019.2 を使用します。ターゲットの FPGA ボードは Arty A7-35T です。 テストプログラムと RI...
20Q2.09B

MIG を使って DRAM メモリを動かそう (3)

この記事では、Vivado で MIG の生成方法と DRAM コントローラ全体の Verilog HDL の実装を解説していきます。これまでのように、説明では、Digilent 社の Arty A7-35T FPGA ボードを想定します。 ソースコード: 現時点 (2020年8月) において、ACRi ルーム (ACRi の提供する FPGA 利用環境) で使用可能な Vivado 2019.2 を使いますが、新しい Vivado バージョンにも簡単に移植することができます。 ...
20Q1.09A

Vivado でのブロック図設計

作成する回路が大きくなってくると、回路を機能毎にモジュール化し、そのモジュール間の接続関係をブロック図で描くと分かりやすくなります。複数のモジュールを1つにまとめた階層構造にすることも可能です。 モジュール化する際のポイントは、その機能の中で後から変更したい機能をパラメータ化して、モジュールの外から入力できるようにすることです。例えば LED の点滅回路では、点滅周期を設定できるようにするなどが考えられます。 ここでは Vivado のインストールと使いかた (2) で作成した L...
20Q1.09A

Vivado のインストールと使いかた (4) 基本フローと LED 点滅回路の動作確認 (Linuxの場合の追加情報)

インストール後のプロジェクトの作成から、FPGA への書き込み手順は Windows の場合と基本的に同じです。ここでは Linux の場合での差異についてのみ補足します。 Windows との差異 手順12の「Run Implementation」のオプションが異なる ソースコード完成後のインプリメンテーションの実行時に指定するオプションが下図のように、リモートコンピュータでの実行オプションなどが設定できるようになっています。ローカルで実行する場合はデフォルトのままで問題あ...
20Q1.10B

FPGA オリジナルボード設計 I/O ピンの配置を決める「XDC ファイル」の書き方

前回はオリジナルのボードを作るときの I/O ピンの配置と、I/O バンクの決め方について解説しました。今回は I/O の配置を Vivado に指示する方法について解説します。 ピン配置は XDC ファイルに書く XDC ファイルの基本 ピン配置を Vivado に指示するには XDC ファイルを書きます。 XDC は Xilinx Design Constraint (ザイリンクス・デザイン・コンストレイント) の略です。Constrait というのは制約という意味...
20Q1.09A

Vivado のインストールと使いかた (3) HLx Edition WebPACK の概要とインストール (Linux編)

今回は Vivado の Linux 版のインストール方法を解説します。基本的な流れは Windows 版と変わりません。Liunx 版の対応している OS は下記の通りです。 Red Hat Enterprise Workstation/Server 7.4、7.5、および 7.6 (64 ビット)SUSE Linux Enterprise 12.4 (64 ビット)CentOS 7.4、7.5、および 7.6 (64 ビット)Ubuntu Linux 16.04.5 LTS、16.0...
20Q1.07A

シリアル通信で Hello, FPGA (3)

実用的な回路の設計・実装と動作確認を通じて,ハードウェア記述言語 (HDL) を使った FPGA 上のディジタル回路の設計について学ぶコースの第3回です。 前回は、シリアル通信 (UART) による文字送信回路を設計し、HDL 記述を作成しました。この回路を実際に動かす前に、まずは論理シミュレーションを使って、正しく動作しそうであるかチェックしてみましょう。今回は、テストベンチの作成方法、および Vivado シミュレータで回路の動作を確認する方法を解説していきます。 テストベンチ...
20Q1.09A

Vivado のインストールと使いかた (2) 基本フローと LED 点滅回路の動作確認

FPGA の設計は様々な言語で行うことが出来て、ツールもかなり複雑になっているので、ここでは VHDL による最も簡単な LED 点滅回路の作成フローを解説します。以下、 Vivado の起動と新規プロジェクトの作成ソースコード (VHDL) の作成制約ファイル (XDC) の作成とビットストリーム・ファイルの生成FPGA への書き込み の順で解説します。 Vivado の起動と新規プロジェクトの作成 1.Vivado を起動します。類似のものに Vivado HLS ...
20Q1.09A

Vivado のインストールと使いかた (1) HLx Edition WebPACK の概要とインストール (Windows編)

ここでは Xilinx 社の FPGA の開発環境である Vivado のインストール手順を解説します。Vivado は、HDL からビットストリームファイルの生成、FPGA への書き込みまでの一番下位の部分を担当するツールです。中規模までのほとんどの FPGA は無償版の WebPACK というバージョンで開発できます。下記よりダウンロードできます。 対応 OS は、Windows と Linux です。Ver.2019.2 で対応する OS は、具体的には次の通りですが、今後...
タイトルとURLをコピーしました