高位合成

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 に変換するソフト…