Hiradoの0.9.2をリリースしました。
このリリースでは細かいバグを一掃し、コイル鳴きへの対策を行っています。
ただ、コイル鳴きに関してはチケットを修正済みにしていません。まだ音が少し残っています。この問題は、周期的に割り込みが発生することでDSPの処理負荷が増減し、それが電源を揺らすことで起きていると考えられます。
Hiradoの0.9.2をリリースしました。
このリリースでは細かいバグを一掃し、コイル鳴きへの対策を行っています。
ただ、コイル鳴きに関してはチケットを修正済みにしていません。まだ音が少し残っています。この問題は、周期的に割り込みが発生することでDSPの処理負荷が増減し、それが電源を揺らすことで起きていると考えられます。
VHDLで記述するのはあくまで回路内部の動作です。したがって記述した回路と外の世界、具体的にはFPGAのピンを何らかの方法で接続しない限り、記述した回路は実体として動作しません。
この、結合の役割を果たすのがVHDL側ではトップ・レベルと呼ばれるエンティティで、Quartus Prime側ではPin Plannerと呼ばれるツールです。
Twitterで、「このくらいにしておく」と宣言したので蒸し返すようですが、ちょっと調べたことを書いておきます。VHDLの文法が酷いです。というか、これは80年代前半頃のアメリカコンピュータ科学がいかにコンピュータ言語の文法に無頓着だったかという話です。
WordPress用のEnlighter Pluginのテストをかねて、冬休みの間に作ったVHDLコードを貼り付けます。
FPGA開発環境は初めてとあって、いろいろ躓きながら実験しています。
以下、メモ代わりに。仕様ソフトは Quartus Prime 15.1 Lite Edition, update 1です。
今年は新しいことに手を付けてみようと考えています。FPGAを使った機器設計がそれなのですが、慣れないツールということもあって、年末から年始に掛けて環境の設定に酷く手間取ってしまいました。
以下に、自分用のメモとしてUbuntu環境上にQuartus Primeをインストールする手順を残しておきます。ModelSim Altera Starter Editionの起動までは確認しています。
なお、Ubuntuのインストールのように情報が豊富なことについては特に記しません。
追記:Ubuntu 16.04にも対応。
CORDICアルゴリズムは組み込み系の数値計算に携わっていると随所でその名を見ます。
むろん、ワークステーション系の恵まれた環境であれば全てはライブラリ化されており、こんなものにはお目に掛かりません。手厚い支援を受けられない組み込みならではの事と言えます。
CORDICアルゴリズムは「実装が簡単でプログラムも単純である」というのがうたい文句ではあるのですが、一方で、CORDICアルゴリズムが正しく動作する理由というのは、プログラムを子細に読んでもわかりません。ある意味、FFTと同じくらい元の数学から乖離した手順を踏んでいると言ってよいでしょう。
以下では数学的背景から順を追って説明し、三角関数のCORDICアルゴリズムを導き出します。是非、このアルゴリズムがいかに巧妙であるかを味わい、楽しんでください。
雑誌掲載のプログラムは、個人で参考にする分には大変便利なのですが、再配布しようとするととたんに障壁にぶつかります。ライセンスが明確で無いことが多いのです。 そういうことをよくわかっている出版社もあれば、よくわかってない出 … 続きを読む