2026.01.24 16:07

ブランチ戻してリスタート


・git branchで元に戻して動作確認、新規ブランチを切って・・・まずはFIFOを埋め込んで、そちらの動作を再確認。
・このFIFO、データシートの文章ではクロックの立ち上がりエッジに同期して使えば良いような書き方だけど、図ではリード、ライト信号などはクロックの立ち下がりエッジに同期させている感じで描かれている
・たとえば、FIFOのFULL信号は確かに立ち上がりエッジに同期して出力されるけど、これを次のクロックで検出してリード信号を落とすのではだめ。まぁ、そりゃそうなんだけど。
ということで、このあたりの信号はちょっと小細工しないといけないのだけど、ここがだめだったのかなぁ。一応シミュレーションではうまくいってたのだけど。
・まぁ悩んでいても仕方ないので、別の方法を考える。リードライト信号をクロックの立ち下がりで生成するブロックを本体のステートマシンから独立させて・・・と。
・これでFIFOのリードライトをするテストブロックを作って接続。シミュレーションは通った。さらに実機の7セグメントLEDに動作状態表示して動かしてみたら良い感じで動作した。ここまでは問題なし。

2026.01.23 15:16

うまくいかないな


・なんとかなだめすかしてみようと思っているのだけど、うまく動かない。
・シミュレーションではそれなりなのに、実機にダウンロードして動かすとFIFOにデータが残ったままになったり、転送データ数がバラバラでどう解釈して良いのかさっぱりわからない。
・こういう隘路に迷い込んでしまった時の定跡は・・・元に戻ってやり直す。これが遠回りなようで一番の近道。
・ということで、git branchで元のブランチに戻して一応動作確認をしてから新規のブランチを作成してそこで作業することに。
・さっきまでのやり方だとハマることはわかったので別の方法を考えよう。

2026.01.22 07:06

VerilogアシストはCopilotなのかな


・家の前の道が工事で車の出入りが面倒なので、なんとか車で出た後、工事が一段落するであろう時間までイオンに避難することに。
・平日はガラガラのフードコートでノートPCを広げる。ここなら空調効いてるし、当然のように飲食自由だし(水で良ければ紙コップもある)。あとは電源があれば言うこと無いのだけどと思っていたけど、今日2時間ちょっと使っていてもバッテリ表示は99%から10%ほど落ちただけ。なんか前より持つようになっている感じだな。Linux(Ubuntu)のバージョンにもよるのか、動かしているアプリにもよるのか。
・しかし、平日は勉強している学生、なにかの資格試験の勉強をしているらしき方、外回りの仕事の合間にPCを広げているらしき方などいろいろだな。駅に近いからというのもあるのだろうかな。
・VSCodiumで、AIアシストとしてGeminiやらWindsurfとかを切り替えながらやってみているけど、今ひとつな感じ。そういえばとVSCodeに戻ってCopilotを使ってみたら明らかに自動生成の出来が良い。
・Geminiもそこまで頭悪いはずはないと思うのだけど、こういうのにはまだ不向きなのかな。

2026.01.21 07:37

FIFO追加でシミュレーションも動いたかな


・とりあえずデザインしていたものにPLLに加えてFIFOを追加
・今までダミーデータを直接書き込んでいたのだけど、これをFIFOからのデータに差し替えてFIFOの制御も追加。
・Questaでシミュレーションしたらシミュレータ上では無事に動いている感じになってきた。明日実機でチェックしてみるか。

2026.01.20 07:18

これが原因か?


・というところで、原因がわかってきたかな。テストベンチでコメントアウトしていた範囲をどんどん絞っていったところで見つけたのはうっかりして複数ブロックから同じ信号に書き込みを行うというミス。これを修正したら動きだした感じ。
・なんでエラーにならないのかなど含め、いろいろ疑問符はあるけどまぁ解決したかな。他のコメントアウト箇所を戻しながら確認していこう。
・トランプ君がグリーンランドに対して随分と攻撃的になっている。彼には「北風と太陽」の話をしてあげるのが良いのかもしれない。多分それが一番「楽で良い」のではないかな。
・ついでに国内も選挙がらみでグダグダ。消費税は給与を消費税の課税対象として、たとえば250万円までは10%、250万円を超えて500万円までは超えた分について8%・・・とかいう具合に逆累進的な税率にすれば、消費税の逆進性を緩和しながら手取り額は増え、レジ改修なども不要で、しかも事業者の新規の税負担もなくて「楽で良い」と思うのだけどな。
・まぁ、給与に関しては「非正規が正規より安上がり」というのも変な話。たとえばレンタカーを借りっぱなしにする方が買うより安いという現象にあたる。これはやはりかなり割高になるようにしなくてはおかしいのではないのかな。

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を使ったデザインだとどうなるのかな。もう少しやってみよう。