FPGA

FPGA

倍精度浮動小数点演算器をVitis HLS 2025.2で再実装する:FIT2024 C-003の検証と資源最適化

FIT2024 C-003を題材に、ZCU104・100 MHzで倍精度加減乗算を独立再実装しました。丸めと例外処理を維持してLUTを19〜30%削減し、AMD公式モデルと連続入力RTLでII=1を検証。論文との資源比較、Gauss–Jordanへの適用、実装時の確認点をまとめます。
FPGA

LVDS DDRでP/Nを逆に配線したら何が起きるのか

差動信号を扱っていると、一度はやらかすのがこれです。P/Nを逆に配線してしまう。ぱっと見は「終わった…」と思いがちですが、実際にはもう少し整理して考えることができます。特にDDR受信では、データとクロックで影響が異なるのがポイントです。基板...
FPGA

Kria SOM を電源投入時から JTAG boot するようにする方法

Kria SOM の Starter Kit(KR260 や KV260)は、電源投入時のデフォルトの Boot Mode が QSPI になっています。しかし、この設定では Vitis で作成したハードウェアを実行する前に、XSCT を使...
FPGA

Vivadoで不要なバス幅をカット!XLSliceの活用方法

皆さん、突然ですが、「設計したIPを使い回したいけれど、元のバス幅は不要で、任意の範囲だけ使いたい」 という場面、よくありますよね?Vivadoの仕様では、バス幅が異なる信号を接続すると、それぞれの下位ビットから自動的に接続される 仕様にな...
FPGA

KR260 SFP+ Port Constrains

KR260でSFP+を使う際に必要な制約のメモ📝高速シリアル通信に関連する信号RD_P:Receive Data Positive のポート,T2RD_N:Receive Data Negative のポート,T1TD_P:Transmit...
FPGA

Vivadoのブロックデザインを共有する方法

Vivadoのブロックデザインは、Tclへ書き出して別のプロジェクトで再生成できます。使用したのはVivado 2023.1です。Tcl Consoleで、ブロックデザインを開いた状態から実行します。保存先のフォルダーは先に作っておきます。...
FPGA

KR260 と 10G/25G Ethernet Subsystem IP

KR260 にはSFP+が実装されていて,10G通信ができる.いままでなんとなくで使っていたIPについて調べてみる.このIPには,PMA・PCS・MACが含まれているが,MACの機能を使うと有償のライセンスが必要になる.そのため,個人で利用...
FPGA

Zynq DMA IPを使用する際,Vitisに登場する変数名について

XPAR_SCUGIC_SINGLE_DEVICE_IDXilinx の Zynq-7000 シリーズなどの SoC(System on Chip)におけるシングル GIC(Generic Interrupt Controller)のデバイ...
FPGA

Ubuntuでシリアルターミナルを使う

Windowsでは、TeraTermなどのツールを使用してFPGA評価ボード(例えばZybo)とシリアル通信を容易に行うことができますが、Ubuntuではどのように操作すれば良いかについてのメモを残します。ここではgtktermを使用した方...
FPGA

UbuntuへVivadoをインストールする

UbuntuへXilinx Vivado IDE をインストールする際に,「generating installed device list」という項目で止まってしまう事があります.(新規環境の初回インストールでは,ほぼ確実にとまります)こ...