工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> 埋め込み

FPGA開発入門: Xilinx Artix-7で4ビットアダーを構築

FPGA開発入門: Xilinx Artix-7で4ビットアダーを構築編集部注: 高度なアルゴリズムが進化し続ける中、組み込み設計者は現代アプリケーションの処理要求を満たすことに苦労することがよくあります。フィールドプログラマブルゲートアレイ(FPGA)は必要な性能を提供し、最近のハードウェアとツーリングの進歩によりFPGA開発がより幅広い層にアクセス可能になりました。Jim Ledin著『Architecting High-Performance Embedded Systems』から派生したシリーズの第4回となる本記事では、シンプルだが完全なFPGAプロジェクトの構築を実践的にウォークスルーします。


初めてのFPGAプロジェクト開発

Digilent Arty A7開発ボードに搭載されたXilinx Artix-7 FPGA上で、4ビットバイナリアダーを構築します。ボードにはコスト効率の良い35Tモデル(129ドル)と、より強力な100Tモデル(249ドル)の2種類があります。唯一の違いはFPGAバリアントで、利用可能なロジックリソースに影響します。後の章のデジタルオシロスコープ例のような、より多くのリソースを必要とする将来のプロジェクトには100Tが望ましいです。

購入オプション: Digilent Store、Amazon、その他小売店。

このチュートリアルでは、FPGAコア、4つのユーザースイッチ、4つのプッシュボタン、5つのLEDに焦点を当てます。以下の手順で、Vivadoツールスイートのインストール、プロジェクト作成、VHDLコード記述、ビットストリームのボードへの書き込み(揮発性コンフィギュレーションメモリとオンボードフラッシュの両方へ、持続動作用)をカバーします。

プロジェクト概要

この設計は4ビットアダーを実装します。4つのスイッチが最初の4ビットオペランドを、4つのプッシュボタンが2番目のオペランドを提供します。FPGAはこれらのオペランドを継続的に加算し、4ビット和を4つのLEDに表示し、5つ目のLEDでキャリーアウトを示します。このシンプルな設計により、複雑なロジックではなくツールチェーンワークフローに集中できます。

Vivadoのインストール

Xilinx Vivadoを使用します。WindowsとLinuxで無料で利用可能です。以下の手順はWindowsを想定しています。Linuxのインストール手順も類似です。

  1. Xilinxユーザーアカウントを作成: https://www.xilinx.com/registration/create-account.html
  2. https://xilinx.comでログインし、ダウンロードページへ移動
  3. Xilinx Unified Installer(Windows自己解凍Webインストーラ)をダウンロード。本書との整合性のためバージョン2020.1を選択、それ以外は最新リリースを使用
  4. インストーラを実行(例: Xilinx_1_0602_1208_Win64.exe)。Windowsがダウンロードをブロックする場合は「とにかくインストール」を選択
  5. ウェルカム画面でNextをクリック
  6. Xilinx認証情報を入力しNextをクリック
  7. ライセンス契約を確認しNextをクリック
  8. Vitisを製品として選択(VitisにはVivadoと追加ツールがバンドル)。Nextをクリック
  9. デフォルトのコンポーネント選択を受け入れNextをクリック
  10. 宛先ディレクトリを選択(例: C:\Xilinx)しNextをクリック
  11. サマリーを確認しInstallをクリック。インストールには数分かかる場合があります

インストール後、デスクトップショートカットまたはスタートメニューからVivadoを起動します。

プロジェクトの作成

  1. Vivadoを開き、Quick StartペインのCreate Projectをクリック
  2. プロジェクト名にArtyAdderを入力、ディレクトリを選択(例: C:\Projects)、Create a subdirectory for this projectにチェック。Nextをクリック
  3. RTL Projectを選択し、Do not specify sources at this timeにチェック。Nextをクリック
  4. Boardsタブで「Arty」を検索し、ハードウェアに応じてArty A7-100またはArty A7-35を選択。Nextをクリック
  5. ウィザードを完了して空のプロジェクトを作成

VHDLソースファイルの追加

  1. SourcesペインでDesign Sourcesを右クリック → Add Sources…
  2. Add or create design sourcesを選択しNextをクリック
  3. Create Fileを選択、名前をFullAdder.vhdlとしOKをクリック
  4. 同様にAdder4.vhdlを作成しFinishをクリック
  5. Define Modulesダイアログは無視し、OKをクリックしてYesで確認
  6. FullAdder.vhdlを開き、以下のコードを貼り付け:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity FULL_ADDER is port ( A : in std_logic; B : in std_logic; C_IN : in std_logic; S : out std_logic; C_OUT : out std_logic ); end entity FULL_ADDER; architecture BEHAVIORAL of FULL_ADDER is begin S <= (A XOR B) XOR C_IN; C_OUT <= (A AND B) OR ((A XOR B) AND C_IN); end architecture BEHAVIORAL;
  1. Adder4.vhdlを開き、以下の内容で置き換え:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity ADDER4 is port ( A4 : in std_logic_vector(3 downto 0); B4 : in std_logic_vector(3 downto 0); SUM4 : out std_logic_vector(3 downto 0); C_OUT4: out std_logic ); end entity ADDER4; architecture BEHAVIORAL of ADDER4 is component FULL_ADDER is port ( A : in std_logic; B : in std_logic; C_IN : in std_logic; S : out std_logic; C_OUT : out std_logic ); end component; signal c0, c1, c2 : std_logic; begin FULL_ADDER0 : FULL_ADDER port map ( A => A4(0), B => B4(0), C_IN => '0', S => SUM4(0), C_OUT => c0 ); FULL_ADDER1 : FULL_ADDER port map ( A => A4(1), B => B4(1), C_IN => c0, S => SUM4(1), C_OUT => c1 ); FULL_ADDER2 : FULL_ADDER port map ( A => A4(2), B => B4(2), C_IN => c1, S => SUM4(2), C_OUT => c2 ); FULL_ADDER3 : FULL_ADDER port map ( A => A4(3), B => B4(3), C_IN => c2, S => SUM4(3), C_OUT => C_OUT4 ); end architecture BEHAVIORAL;

次のステップ

次の記事では、この設計のシミュレーション、Artyボード向け合成、結果のビットストリームをFPGAにプログラミングする手順をガイドします。

Packt Publishingの許可を得て再録. Copyright © 2021 Packt Publishing


FPGA開発入門: Xilinx Artix-7で4ビットアダーを構築Jim Ledin氏はLedin Engineering, Inc.のCEOです。組み込みソフトウェアとハードウェアの設計、開発、テストを専門とし、組み込みシステムのサイバーセキュリティ、ペネトレーションテスト、エシカルハッキングの専門知識を保有。アイオワ州立大学で航空宇宙工学のB.S.、ジョージア工科大学で電気・コンピュータ工学のM.S.を取得。カリフォルニア州登録プロフェッショナル電気エンジニア、CISSP、CEH、CPT保持者。

関連コンテンツ

Embeddedの週刊ニュースレターを購読して、さらなる洞察を入手してください。

埋め込み

  1. Raspberry Pi と Python でロボットを構築:完全ガイド
  2. Raspberry Pi で自作セグウェイ(自己平衡ロボット)を構築
  3. GoPiGo v2をWindows 10 IoT Coreで拡張 - Raspberry Pi 3対応
  4. 高度なアディティブ・マニュファクチャリング・ソフトウェアで生産を最大化
  5. 液体積層造形:液体材料で3Dオブジェクトを造形
  6. 組み込みシステム設計:手順、原則、実世界での応用
  7. 組み込みAIでビッグデータを実用的なスマートインサイトに変換
  8. PCIe世代を跨ぐ高性能インターコネクトの設計
  9. Arrow Electronics、欧州FPGA設計コンテスト開催:無料開発ボードと豪華賞品
  10. MAXREFDES220# - 光学センサーによるカフレス血圧モニタリング
  11. Microchip、防衛グレードPolarFire SoC FPGAを早期アクセスプログラムで提供開始