2026.01.19 06:09
Questaではエラー?
・市役所に書類提出。まったく面倒くさいこと。
・さて、合体をはじめるかということで、ベースになるソースがあるプロジェクトからソースをコピーしてファイル名、モジュール名を変更して、ここに他のものを付け足すかというところ。
・とりあえずAnalysis&Synthesisが通ることは確認して、Icarusとverilatorでテストベンチでの動作も確認してQuesta起動。
・ところが波形が出ない。よーく見るとどうもエラーになっているらしい。
・IcarusでもVerilatorでも問題なくシミュレーションできるし、論理合成して実機でも動いたソースなのになぜ?
・よくわからないので、まずはロジックをごっそり削ってみたけど現象が変わらなくてエラーメッセージが出ている。
・ということで、原因はテストベンチかなということで、こちらもごっそり削除したらエラーが無くなって波形が出てきた。
・しっかし、シミュレータによってこんなに極端な違いがあって大丈夫なのか。
2026.01.18 19:12
PLLのシミュレーションのもうまくいった
・さて、それではということでPLLも埋め込んでみた。実機に合わせて50MHzのクロックを入力して試しにPLLで3倍の150MHzを生成して内部ロジックを駆動してみる。
・これをQuestaでシミュレーション。特別何もせずそのまま普通にシミュレーションしたら、ちゃんと波形が出た。うん、ちゃんと3倍になっている。
・で、実際に書き込んで動かしてみるとこれもOK。なるほどいい感じで動いてくれた。FIFOの動作もそれなりで動いていることがわかった。
・よし、これで部品の下準備はできたかな。あとはあれこれ合体させていくというところか。
2026.01.17 18:41
Questaのフォント変更
・そんなこんなでQuestaでシミュレーションできるようになったのだけど、とにかく波形ウインドウの文字が小さすぎる。なんとか大きくならないのかと四苦八苦してやっと発掘
・Tool=>Edit PreferencesでBy WindowタブでWave Windowsを選択。ここでWave Fontのところでフォントを選択しなおしたら波形ウインドウの文字が大きくなった。
2026.01.16 15:31
エラー解決・・・した?
・Quartusがエラーになるというのか、Quartus自身がバイオレーション起こしたとかいうダイアログ出してコケる(一応落ちたりはしないけど)という現象がどうにもよくわからない。
・23.1で作っていたプロジェクトを読ませてやってみると無事に終了するので、ソースコードかプロジェクトの設定なのか。
・改めてプロジェクトを作成してソースコードをコピーしてきてやってみたけどやっぱりだめ。
・ソースコードをどんどん削って削って単純化していってもだめ。自分で書いたダミーFIFOがいけないのかと使わないように書き換えてもだめ。
・なんだかわからないまま、なんとなくソースコードの一覧の上下を入れ替えて最上位にトップモジュールを置いてみたら普通のエラーメッセージが出てきたので、verilatorで改めてエラー箇所をチェックして修正してからやってみたらなぜか無事にいった。
・Questaに食わせるテストベンチを指定してシミュレーションしても問題なし。
・でも、改めてソースコードの順番を入れ替えてもエラーにならない。
・ということで、本当の原因がこれだったのかはわからないけど、とりあえず結果よければ・・・か。git checkoutしておこう。
2026.01.15 21:23
VSCodiumでLinting
・さて、そんなところでVSCodiumを使っているのだけど、どうもVerilog/SystemVerilogのLint機能がうまく働かない。
Verilog-HDL/SystemVerilog/Bluespec SystemVerilogは入れているんだけどなぁと思いながら、なんとなく設定らしきギヤのアイコンをクリックして「設定」を開いてみたらなるほどLintingのツール設定が必要なのか。
・ここをiverilogやらverilatorにしてみたらなるほどねということになったけど、lintingのプログラムによって、指摘のされ方が違うんだな。
・と、ここでverible-verilog-lintを選ぶとどうなるのかなと思ったら、既にインストール済みになっていたようでこれもOK。VSCodeのときはveribleをつかっていたので、とりあえずこれでやっていってみるか。
・というところで、Questaも無事に動いているようなのだけど、とりあず他に簡単なデザインを作って動作確認。使い方は検索しても手頃なのがなかなか見つからなかったけど、Gemini君に聞いたら教えてくれた。
・さて、とりあえず動かし方はわかったけど、Quartusが持っているIPを使ったデザインだとどうなるのかな。もう少しやってみよう。
2026.01.14 13:10
Questaのライセンス設定
・さて、QuartusでFPGAの内部FIFOのIPを使ってやろうと思ったけど、IPがあるとiverilogとかでのシミュレーションは難しいのか。
・なんとかQuesta(昔はModelSimだったのだけど)を動かさねばということで、チャレンジ
・Intel-Alteraのサイトからライセンスを取得して設定しなくてはならないのだけど、とりあえず
マクニカさんのサイトがお役立ちだった。
・最後に得られたライセンスファイルがどこにあるかを環境変数に設定しないといけない。
SALT_LICENSE_SERVER="フルパスでのライセンスファイル名.dat"
を/etc/environmentに書き足してやれば良い。
・これでQuartusからTool=>Run Simulation ToolでQuestaが起動した。
・ところで、コイツラの本体は?と思って探したらどうやらQuartusのインストール先(~/altera_liteなど)の下を掘っていった先のquesta_fse/bin/vsim。
・で、ディレクトリを眺めていたら~/intelFPGAの下に20.1のディレクトリが残っていてこの下のmodelsim_ase_bin/にもvsimがあったので試しに起動してみたらそっくりさんが起動した。でもウインドウ上部のタイトルはModelSimになっている。全くの別物になったのかと思ったけど名前が変わった程度なのかな?
2026.01.13 20:59
Quartus25.1
・Quartus23.1を使っていたのだけど、「お前のメインテナンスサブスクリプションは17日までだよ」としつこく言ってくる。そのまま使い続けられるのかどうかはわからないけど、使えるとしてもいい加減うっとおしいのでアップデートしてやることに。
・どうやらLiteエディションの最新版は25.1らしいので、こいつの.runファイルを落としてきて実行権を付けて実行。
・sudo付けないとだめかなと思ったけど、どうやら不要らしいのでそのまま実行。あとは基本的におまかせ。
・最後にアイコンは配置された。・アップデートしたら23.1は消されるのかと思ったけどそのまま残っている。つまり、複数バージョンが同居できるということか。
・で、25.1がメニューに登録されるのかと思ったけど、そちらは無い。
・これはどうしたら良いのかなとちょっとAIにお問い合わせすると、~/.local/share/applicationsの下に.desktopファイルがあるので追加すれば良いよとのこと。
・開くと確かにquartus23.1.desktopファイルがあるのでこれをquartus25.1.desktopにコピーして中身のパスなどを書き換えてみたらちゃんとメニューに現れた。
・起動してみたらちょっと起動画面の雰囲気が違っていたけど結局同じ使い方でそのままいける。わかってるなやっぱり。
・一応現行のプロジェクトをフォルダまるごとバックアップしてから、25.1で読み込ませてみたけどQuartusの設定ファイルのアップデートするよという程度のメッセージが出た程度でそのままいけてビルドしてProgrammerでの書き込みもOK。むしろ安定したような感じもするな。
・ちなみに23.1のアンインストールはどうするの?と思ったら、Quartusのインストール先にちゃんとアンインストーラが(QuartusだのQuestaだのに別れた)置かれていた。たぶんこれを実行すれば良いんだろう。
2026.01.12 07:37
WindsurfとGemini Code Assist
・そんなところでVSCodiumを入れたらAIな補完機能が動くのかなとおもったのだけど、どうもそういうものではないらしい。ただ、VSCodeと違ってオープンソースであることは利点なのか。
・一応整形機能とかが動かないと不便なのでVeribleをインストール。といっても、
Veribleのリポジトリからダウンロードして展開。binディレクトリの下を/usr/local/binにコピーするだけ。ファイル名の先頭が共通(verible-verilog-なんちゃらかちゃら)なので、要らなくなったら消すのも難しくない。
・とりあえず、これで入れた後に「Verilog-HDL/SystemVerilog/Bluespec」あたりを入れたらフォーマッティングなどが動き出した。
・で、AI関係はと検索しているとどうもCodeium(eがついているのが微妙)というプラグインだったのが
Windsurfという名前に変わっていたらしい。
・ただ、このWindsurfがVSCodeの方のマーケットプレースの評価で「Kubernetesに大量のデータを送信しはじめた」なんていうことが書かれていたりもするけどどうなのかな?
・とりあえず、これと、あとはGoogleが提供している
GoogleのGemini Code Assistも入れておいてみようかな。
・というところで、やってみたら定番的なコード補完はやってくれるようになってきた。どんなものか眺めていくことにするか。
2026.01.11 07:39
VSCodiumをインストールしてみる
・github copilotが制限に達したというメッセージが出てきた。ちょっとチャットでいじめ過ぎたか。
・ところで似たようなものは無いのかなと思って探していたらCodiumというのがあって、これとVSCodeを一体化したVSCodiumというものがあるのを知る。
・アプリセンターにあるのかなと検索したらあったのでインストールしてみた。さて、どんなものだろう。
・とりあえず、日本語化はプラグインというのかエクステンションでjapaneseで検索してインストールしたら簡単にできた。
・あとはvimとVerilog用のエクステンション類をちょっと揃えて・・・と
2026.01.10 07:33
実機でも動いたな
・という感じでシミュレーションは通ったのでQuartusに食べさせてみる。ピンアサインして合成して書き込んでRaspberryPiからアクセスしてみる。
・一瞬「?」となった動きが合ったけど、あぁなるほど。RaspberryPi側から送っているプログラムがそうなっているわけで、FPGAは正しく動いていた。
・いいじゃないか、いいじゃないか。