FPGAで信号処理:Verilogソースコード解説

Verilog-2001 Code Book

FPGAを用いた数値演算アルゴリズムとそのRTL記述ソースコード

はじめに

この文書はVerilog-2001の文法ではなくFPGAを用いてデジタル信号処理を行う際に使用される各種演算のアルゴリズムHDLによる記述方法を解説するものです。

加算と減算

符号付整数符号なし整数加算減算について解説します。オーバーフローの検出と、オーバーフロー、アンダーフローした際のクリッピング処理の手法についても解説します。

シフトと定数乗算

シフトは、定数2±nを乗じる演算です。定数シフトと任意の数だけシフトするバレルシフタについて解説します。また、シフタを利用した定数乗算についても解説します。

除算


除算器の構成について説明します。一般的な「引き戻し法」です。

除算


高速化が期待できる除算アルゴリズム引き放し法」です。

パイプラインとステートマシン

演算処理を高速に行うためのパイプライン化論理資源を節約するためのステートマシンについて解説します。

平方根(開平演算)


平方根を演算する開平演算器について解説します。

マルチプレクサ(セレクタ)


マルチプレクサセレクタデコーダーともいう)について、各種の構成方法を比較検討します。

多数項の加算と乗算器

乗算器は、FPGAベンダーの提供するIPメガファンクション)を利用します。ここでは、QualtusIIでメガファンクションを利用して乗算器を構成する手法と、これをロジックエレメントで構成する手法について解説し、特性の比較を行います。

固定小数点数と比率の演算

固定小数点数はVerilogの言語仕様がサポートするものではなく、利用者がその型を意識して使用する必要があります。ここでは、固定小数点数の利用例として小数部まで演算する除算器をとりあげ、固定小数点数の利用のしかたについて解説します。

シリアル通信

シリアルポート経由でPCと通信する方法について解説します。

QuartusIIの使い方

ダウンロード


QuartusIIをダウンロードする方法について解説します。

インストール


QuartusIIをインストールする方法について解説します。

論理合成から配置配線まで


QuartusIIを用いてVerilog HDLのソースコードを入力し、コンパイル論理合成および配置配線)する手順について解説します。

シミュレーション


生成されたモジュールの動作をQuartusIIを用いてシミュレーションする方法について解説します。
最終更新日:Thursday, 11-Apr-2019 09:38:06 JST