FPGAの設計・検証にお役立ち
このページでは、FPGAの設計・検証フローに関する技術ブログのリストを掲載しています。
FPGA設計の基礎から実践的なトピックまで、FPGA設計エンジニアが必要とする情報を、コーディング、シミュレーション、論理合成、インプリメント、プログラミング、実機評価の6つのステップで紹介しています。
VHDL初級編から始まり、テストベンチ作成、シミュレーションのノウハウ、Vivado®やModelSim®の使用方法についても解説していますので、FPGAの設計・検証に関する情報をお探しの方はぜひともご活用ください。
タイトルのボックスをクリックすると、該当部分に移動します。
このブログでは新人が研修で学んだVHDL記述の基本フォーマット、VHDLやVerilog-HDLについてを紹介しています。
研修ではVHDLの基本を5回にわけて一つずつ実践しました。ブログも5回にわけ、演習(1)から(5)として紹介します。
演習の2回目は「組み込み回路」です。
演習の3回目は「順序回路」です。
演習の4回目は「階層設計」です。
AMD社のUltraScale™ アーキテクチャ をベースに、トランシーバのクロック入力端子(MGTREFCLK)に接続されているクロックを、ユーザークロックとして使用する方法を紹介します。
Verilogの上位互換である「System Verilog」の概要について紹介します。
このブログでは新人が研修で学んだVHDL記述の基本フォーマット、VHDLやVerilog-HDLについてを紹介しています。
研修ではVHDLの基本を5回にわけて一つずつ実践しました。ブログも5回にわけ、演習(1)から(5)として紹介します。
演習の5回目は「テストベンチ作成」です。
一度作成しておくと汎用的に再利用が可能なテストベンチによるクロック信号/リセット信号の生成(Verilog編)について説明しています。
一度作成しておくと汎用的に再利用が可能なテストベンチによるクロック信号/リセット信号の生成(VHDL編)について説明しています。
テストベンチTEXTIOの使い方(VHDL編)と題し、ライブラリの追加、入出力ファイルの登録、入出力ファイルのサンプル、TEXTIOコマンド、実行サンプルについて説明しています。
テストベンチTEXTIOの使い方(Verilog編)と題し、ライブラリの追加、入出力ファイルの登録、入出力ファイルのサンプル、TEXTIOコマンド、実行サンプルについて説明しています。
テストベンチTEXTIOの使い方(Verilog編)の応用編として、Vivado®ロジックアナライザーでキャプチャしたデータを、Verilog-HDLで書かれたテストベンチから読み出してシミュレーションする方法を紹介します。
テストベンチTEXTIOの使い方(VHDL編)の応用編として、Vivado®ロジックアナライザーでキャプチャしたデータを、VHDLで書かれたテストベンチから読み出してシミュレーションを行う方法を紹介します。
ModelSim®やVivado®での波形の表示方法を紹介します。
ModelSim®やVivado®での任意の信号をバス信号にする方法を紹介します。
シミュレーションでは波形信号のLow/Highや数字を見て動作を確認されていると思います。このブログでは、動作波形と一緒に文字を表示する方法を紹介します。
シミュレーションを行う際のDDRメモリモデルの初期値設定方法を紹介します。
デザイン移植の際の等価性チェックやデザインのレグレッションのチェック、動作不具合部分の抽出などにご活用いただけるSiemens社ModelSim®で行ったシミュレーションの結果波形での比較確認の方法について説明しています。
AMD社のVivado® ML Editionと連携せずにModelSim/QuestaSim単体でシミュレーションされる方向けに、Vivado® ML Edition のIPライブラリを設定する方法を紹介します。
ModelSim®単独で使用する場合のVivado® IPライブラリの特定と設定方法を紹介します。
AMD社のVivado®2020.2においてZynq® UltraScale+™ MPSoC Verification IP(VIP)を利用したシミュレーションに関するサンプルデザインの作成方法や、GPIO、BRAM、CDMA、DDR4のシミュレーション方法を紹介します。EXAMPLEデザインもダウンロードいただけます。
AMD社のVivado®2020.2においてZynq® UltraScale+™ MPSoC Verification IP(VIP)を利用したシミュレーションに関する外部LED駆動とAXI BRAMのデータ比較のテストベンチ作成を紹介します。EXAMPLEデザインもダウンロードいただけます。
AMD社のVivado®2020.2においてZynq® UltraScale+™ MPSoC Verification IP(VIP)を利用したシミュレーションについて紹介します。
デザインにAXI-CDMAを追加し、割り込みを使用するサンプルデザインの作成と、Zynq® UltraScale+™ MPSoC Verification IPを用いた割り込み検出を含めたAXI CDMAシミュレーションを行います。EXAMPLEデザインもダウンロードいただけます。
複数のZynq® UltraScale+™ MPSoCデバイスを使用して構成したシステムのFPGA間通信を含めた統合シミュレーションが必要になったことを背景に、DUAL VIPを利用したシミュレーションを紹介します。EXAMPLEデザインもダウンロードいただけます。
FPGAや適応型SoCでの開発においてソースコードを公開したくない場合に活用可能な、AMD社Vivado® Design SuiteではIEEE-1735によるソースコード暗号化の手順についてお伝えします。
開発中のVivado® MPSoCプロジェクトが破損してしまった際のプロジェクトの修復方法について、実際に起きた現象とその対策を紹介します。
AMD社のVivado® ML EditionでSynthesis/Implementationの実行時に表示されるメッセージについて解説します。
さらにSynthesis実行時に表示されるメッセージについても実際の例を用いて記載します。
AMD社のVivado® ML EditionでSynthesis/Implementationの実行時に表示されるメッセージについて解説します。
さらにSynthesis実行時に表示されるメッセージについても実際の例を用いて記載します。
AMD社のVivado® ML Editionで使用する「XDCファイル」の基本的な記述について解説します。
本ブログでは端子配置設定の中の、「端子配置設定」、「クロック設定」について説明します。
AMD社のVivado® ML Editionで使用する「XDCファイル」の基本的な記述について解説します。
本ブログでは、「コンフィグレーション設定の方法」と「タイミング設定」について説明します。
AMD社のVivado® ML Editionで使用する「XDCファイル」の基本的な記述について解説します。
本ブログでは、「バススキュー制約」、「優先順位」、「物理制約」について説明します。
AMD社のVivado® ML EditionsおよびVivado® design Suiteで使用する「XDCファイル」の基本的な記述について解説します。
本ブログではVivado® ML Edition からみるXDCファイルの優先度、省略できる記述などの補足情報について説明します。
AMD社のVivado® ML EditionsおよびVivado® design Suiteで使用する、「XDCファイル」の基本的な記述について解説します。
本ブログでは、UCF制約からXDC制約への移行について説明します。
本ブログでは、petalinux® 2020.2を使用する際のビルド時間の短縮方法について説明します。
AMD社のZynq® UltraScale+™ MPSoCにおいて、eMMCデバイスからPetaLinuxツールをBOOTする際、U-bootを使ってeMMCデバイスを書き込む方法を紹介します。
AMD社のZynq® UltraScale+™ MPSoCにおいて、eMMCデバイスからPetaLinuxツールをBOOTする際、U-bootを使ってeMMCデバイスを書き込む方法(高速のTFTPを利用する方法)を紹介します。
本ブログは、久しぶりにISE14.7を使わなければならなくなった方に向けに、Microsoft Windows 10 でのiMPACT書き込みについて紹介します。
AMD社のZynq® UltraScale+™ MPSoCにおいて、eMMCデバイスからPetaLinuxツールをBOOTする際、U-bootを使ってeMMCデバイスを書き込む方法(書き込み時に、開発環境に依存しないSD Card経由の方法)を紹介します。
AMD社のZynq® UltraScale+™ MPSoCのPetaLinuxをBOOTする際には JTAG、SD、QSPI、eMMC、TFTPなど数種類の方法があります。
本ブログでは、PetaLinuxでQSPI用BOOTデータの生成方法を紹介します。
AMD社のZynq® UltraScale+™ MPSoCのPetaLinuxをBOOTする際には JTAG、SD、QSPI、eMMC、TFTPなど数種類の方法があります。
本ブログでは、u-bootを利用したQSPIデータの書き込み方法を紹介します。
PetaLinux® 2020.2を使用する際のU-bootのカスタマイズ方法を紹介します。
PetaLinux® 2020.2を使用する際のFSBLを変更する方法を紹介します。
PetaLinux® 2020.2を使用する際、AMD社のZynq® UltraScale+™ MPSoC FSBLを起動したときのQSPI CLOCKの変更方法や、PetaLinux®の環境でFSBLを変更する方法を紹介します。
AMD社のVivado® ML Editionは、波形内部の波形を観測できるILAをデザインに挿入することができます。
本ブログでは合成後にネットリストを選択して挿入する方法を紹介します。
AMD社のVivado® ML Editionは、波形内部の波形を観測できるILAとVIOをデザインに挿入することができます。
本ブログでは、IPコアを使ってILA/VIOを挿入する方法を紹介します。
本ブログはDDR4の接続テストモードを利用し、DDR4とFPGA間の接続テスト方法を紹介します。
なお、本ブログ内でで使用したEXAMPLEデザインもダウンロードいただけます。
AMD社のVivado® ML Editionにはトランシーバを評価するためのIBERTがあります。
本ブログでは、IBERTデザインの作成方法を紹介します。
AMD社のVivado® ML Editionにはトランシーバを評価するためのIBERTがあります。
本ブログでは、作成したIBERTデザインの基本的な使用方法を紹介します。
Vivado®に搭載されているロジックアナライザーを便利にする「Advanced trigger」の使い方を紹介します。今回は準備・概要編です。
ピン数が多いのFPGAおよび適応型SoCのシンボル作成に便利な情報を紹介します。
AMD社ウェブサイトからIBISモデルをダウンロードして使用する方法ではなく、設計ツールVivado® Design Suiteから各端子の設定情報付きでIBISモデルを出力する方法を紹介します。
回路内でのFPGAの配線接続の確認について、CADから得られる情報と端子表を使って確認する方法を紹介します。
回路図を作成する際にクロックを適切に接続していないと、トランシーバを駆動させることができないなど問題が発生するため、注意が必要です。このブログでは、トランシーバのリファレンスクロックを使用する際の注意点を紹介します。
FPGAの端子配置をしても基板のパターン設計時に端子をスワップすることが必要になる場合があります。このブログでは、MIGでアサインしたメモリ端子をスワップする際の注意点を紹介します。
既存の電源デバイスでは、電源の投入順や必要な電圧、基板サイズの小型化、部品数の削減などが実現できない場合があり、その場合プログラム可能な電源デバイスを使用することが考えられます。
このブログでは、MPS社の電源デバイスの書き込みついて紹介します。
既存の電源デバイスでは、電源の投入順や必要な電圧、基板サイズの小型化、部品数の削減などが実現できない場合があり、その場合プログラム可能な電源デバイスを使用することが考えられます。
このブログでは、MPS社の "MPM54304"のパラメータについて紹介します。
既存の電源デバイスでは、電源の投入順や必要な電圧、基板サイズの小型化、部品数の削減などが実現できない場合があり、その場合プログラム可能な電源デバイスを使用することが考えられます。
このブログでは、Virtual Bench Proの他の機能について紹介します。
ファン回転速度の検出および回転速度の制御回路を紹介します。
前提条件は回転速度検出および制御可能なファンを使っていること(4端子)です。
Versal™についての簡単に紹介し、最新の基板にすぐ触れたい方や実際に動いている様子を知りたい方へ、「実機動作の様子」と「動作させるための手順」について解説します。
AMD社のツール「Vivado® ML Edition 2021.1」を使って、Versal™ AI コア シリーズ VCK190 評価キットのシンプルなプロジェトを作成し、書き込みしましたので、その内容を紹介します。
Versal™ ACAPにおいて、AI Engine(AIE)やプロセッシングシステム(PS)、プログラマブルロジック (PL) などを繋ぐインターコネクトである、NoC(Network on Chip)の特徴や導入メリットについて紹介します。
Versal™ ACAPのNoC(Network on Chip)を、Vivado® ML Edition上でシミュレーションするための準備について紹介します。
Versal™ ACAPのNoC(Network on Chip)のSimulation実行までの様子とデザイン内のSimulationに関する機能について紹介します。
Versal™ ACAPのNoC(Network on Chip)のSimulation実行時に生成されるsim_wrapperとxlnoc.bdについて説明します。
Versal™ AI コア シリーズ VCK190 評価キットのTargeted Reference Designの概要の説明とBuildしてみた上での注意点を紹介します。
MIPIのカメラモジュール、LI-IMX274MIPI-FMCを使ってVersal™ AI コア シリーズ VCK190 評価キット上でMIPI Example Designを動作させる際の過程や注意点を紹介します。
Versal AI コア シリーズ VCK190 評価キット上でI2C Example Designを動作させる際の過程や注意点をまとめたので紹介します。
VCK190上でHDMI Example Designを動作させる際の過程や注意点をまとめましたので紹介します。
VCK190のI2C Example Design を使って、ボード上のOSCをI2Cで設定変更し、I2C制御コマンドで、OSCの周波数が変わる様子をVIOで確認できるまでの過程を紹介します。
第1回の本稿では、デザイン準備でSD Bootイメージ作成までを紹介します。
VCK190のI2C Example Design を使って、ボード上のOSCをI2Cで設定変更し、I2C制御コマンドで、OSCの周波数が変わる様子をVIOで確認できるまでの過程を紹介します。
第2回では、実機確認編で周波数切り替わりまでを紹介します。
Vivado® ML Edition 2022.1をインストールした後、VCK190評価キットのシンプルなプロジェクトを作成し書き込みした内容を紹介します。
VCK190上でPCIe Link Debugの機能を確認した内容を紹介します。本機能を使うと、ILAなどを使わずにPCIeのLink状態をLTSSMステータスで確認することができます。
上記のたPCIe Link Debugの機能について、もう少し確認してみた結果を紹介します。
こちらの記事は上記の記事をベースに作成していますので、よろしければ先に上記の記事からご覧ください。
FPGAの置換前に検討すべきこと、Spartan®-6 FPGAファミリの各デバイスと比較、選定基準など Spartan®-6 FPGAファミリから置換可能なデバイス選定について解説します。
デバイス選定に必要なSpartan®-7 FPGA ファミリ、 Artix®-7 FPGA ファミリの利用可能なパッケージについて紹介します。
Spartan®-6 FPGAファミリからデバイス置き換えを行う際、SelectIO™を移行するときの注意点について紹介します。
Spartan®-6 FPGA ファミリ、Spartan®-7 FPGA ファミリ、Artix®-7 FPGA ファミリ、Artix® UltraScale+™ FPGA ファミリの型番の見方について紹介します。
デバイス置換することによる基板設計(回路図)に影響する内容を紹介します。コンフィグレーションについては第2回でFlashROMに関して記載していますが、今回はコンフィグレーションモードについて追記していきます。
FPGAの置換シリーズ最終回(6回目)となる今回は、デバイス置換することにより影響するメモリ選定、インタフェース部について紹介します。
Spartan-6® FPGA ファミリから Spartan-7® FPGA ファミリへの置き換えについて、回路設計の観点で置き換え時のポイントを紹介します。
このブログは「電源」にフォーカスしてお伝えします。
Spartan-6® FPGA ファミリから Spartan-7® FPGA ファミリへの置き換えについて、回路設計の観点で置き換え時のポイントを紹介します。
このブログは「I/O」にフォーカスしてお伝えします。
Spartan-6® FPGA ファミリから Spartan-7® FPGA ファミリへの置き換えについて、回路設計の観点で置き換え時のポイントを紹介します。
このブログは「コンフィグレーション」にフォーカスしてお伝えします。
Spartan-6® FPGA ファミリから Spartan-7® FPGA ファミリへの置き換えについて、回路設計の観点で置き換え時のポイントを紹介します。
このブログは「A/DコンバータとDDRメモリインタフェース」にフォーカスしてお伝えします。
Spartan-6® FPGA ファミリから Spartan-7® FPGA ファミリへの置き換えについて、回路設計の観点で置き換え時のポイントを紹介します。
今回はSpartan®-7 FPGAファミリを使用した回路設計に必要なデータシートを集めてみました。