Verilog

Polyphonyって何だろう(6)使用例:FIRフィルター

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。固定小数点の掛け算もできるようになったので、FIRフィルターを記述して、pythonなので、グラフ表示で機能確認をしてみたいと思います。 FIRフ…

Polyphonyって何だろう(5)使用例:固定小数点掛け算

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。今回は固定小数点の掛け算を書いてみたいと思います。前回と同じく @pure を使って python でアルゴリズムの検証を行います。 固定小数点掛け算…

Polyphonyって何だろう(4)使用例:CORDIC with @pure & unroll

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。 今回はコンパイル時に python の計算値を埋め込むための @pure デコレーターと、コンパイルの最適化指示の unroll を使用した CORDIC を高位合…

Polyphonyって何だろう(3)使用例:フィボナッチ LFSR

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。前回はクラス表記で port を指定しましたが、今回はもっと簡単に関数表記で port はお任せでフィボナッチ LFSRのアルゴリズムを Verilog に変換…

Veriloggenって何だろう(8)Thread 高位合成

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。今回は高位合成のThreadの使用例を書きます。 高位合成 Thread によるフィボナッチ数列生成 実行結果 参照

Polyphonyって何だろう(2)使用例:フィボナッチ数列

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。実際に動かした方が分かりやすいと思うので、早速フィボナッチ数列を出力する回路を合成したいと思います。計算が必要な回路合成には高位合成は…

Polyphonyって何だろう(1)インストール

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。Veriloggen が Verilog を python で生成し、高位合成がおまけ的なのに対して、Polyphony は、python で動く関数を verlilog に変換するソフト…

Veriloggenって何だろう(7)Parameter Delay Mux Sra

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 今回はこう書くとこうなるという小技をいくつか、忘れないようにその部分だけ書いておきます。 便利関数の定義 …

Veriloggenって何だろう(6)Case

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 今回は単純なCASE文の書き方です。 Case文の記述 Case文使用の例 生成されるVerilog HDL とシミュレーション結果

Veriloggenって何だろう(5)FSM

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 前回までは 順序回路を記述するための Always と Seq に関して書いてきましたが、今回は状態遷移マシンを記述す…

Veriloggenって何だろう(4)Seq

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 前回は Always 文で非同期リセットの記述を試してみました。今回は Always の代わりに順序回路を記述するSeqを…

Veriloggenって何だろう(3)Always

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 前回は led.py を動かして、Always 文の変換を試してみました。今回はモジュールの組み立て方と Always につい…

Veriloggenって何だろう(2)LEDチカチカ

Verilog HDLを生成するための記述をpythonで行うことでFPGA回路の生成を楽にする為のライブラリーVeriloggenを使ってみたいと思います。 前回はWindows上に環境を作ったので、さっそくサンプルを動かしてみましょう。 veriloggen サンプルのダウンロード Spy…

Veriloggenって何だろう(1)インストール

Verilog HDLを生成するための記述をpythonで行うことでFPGA回路の生成を楽にする為のライブラリーVeriloggenを使ってみたいと思います。 まずはWindows上に動作環境を作成します。 Anaconda インストール Icarus Verilog for Windowsのインストール Windows…