2025.10.15 12:46
2つ目のシミュレーションを登録するとだめ?
・テストベンチを書き始めたけど、DSim上で意味不明なエラーが続出する。Verilatorではそれなりに動いているんだけど。
・色々やっていたけど、意味不明なエラーが消えない。ひょっとして・・・と思ったのは、今回、大きく分けると2つの処理ユニットが一つになっている。DSimではシミュレーションを複数設定できるので、同じディレクトリに全部のSystemVerilogのソースを置いておいて、それぞれのユニットごとにテストベンチを用意してみたのが敗因?
・よくわからないけど、とりあえず分けてみるかということで、ユニットごとに分離してシミュレーション。ようやくまともなエラーメッセージが出るようになったので、「そこか・・・」と修正したら、動き出した。
・修正済みのものを元に戻したらどうなるのかな。
2025.10.14 12:36
なんとなくある程度形に
・まぁ、なんとなく形になってきた。ただ、こいつのテストベンチを書くとなったら結構悩みそうな気がする。
2025.10.13 21:54
FT232インターフェースの記述
・というところで、FT232あたりとつないでみるかということで、検討する。
・相手の挙動を把握しきれていないので書いていて、こういうときはどうしようというのが結構悩みどころでもある。
2025.10.12 11:20
デュアルポートRAMインターフェース
・MAX10で内蔵RAMを使ってみるかと検索していてAlteraのブロックRAMのドキュメントらしきもの・・・
Internal Memory (RAM and ROM) User Guideを見つけたのだけど、開いてみると
を付けたのだけど、Max IIはあるけどMAX10はない。ドキュメントの日付が2014年か。古いな。
・こっちかなと見つけたのが
MAX 10 エンベデッド・メモリー・ユーザーガイド・なんだかよくわからないので、結局一番の近道はこれか・・・ということで、Quartusを起動してTool=>IPCatalogでRAM:2-PORTを選んでみる。なるほど、アドレスは同期化されていて、Read Enable(ren)の有無は選択可能、Q出力は同期するか否かも選択できるのか。インターフェースとしては単純だな。
2025.10.12 20:49
MAX10はどのくらい頑張れるのかな
・一息つきながらそういえばボチボチ帳簿入力しなくてはと思い出す。
・FPGAの中身やらテストベンチの記述をしていてだいぶこの環境にも慣れてきたな。さて、それじゃ今度は外部デバイスとの同期通信部分を書いてやろうかなと思ったのだけど、この部分はクロックを外部デバイスを生成する。どのくらいかなと思ってデータシートを見たら60MHz程度ある。
・当然FPGA側の内部クロックとは同期していないからセオリーとしてはダブルラッチでクロック同期化が必要だろうけど、4倍サンプリングでも240MHzか。
、そういえば内部クロックってどのくらいかなと思ったら400MHzくらいまでは頑張れそうだけど、実際にロジック組んだらどのくらい頑張れるのかな。
・とりあえず書くだけ書いて合成かけてみるしかないな。だめなら別の手を考えよう。
2025.10.11 01:04
勝手なキーリピートはやめてくれ
・過日のことになるけれど、佐賀県警でDNA鑑定で不正を繰り返していたということが明るみに出た。
・そういえば、米国のドラマCSI:でも証拠の捏造を疑われるという回があって、その中で捏造していることになったら、その担当者が関わったすべての事件で被告人が野に放たれるといったセリフがあったように記憶している。
・確かに、一件でもやっていれば過去にどの事件で関与していたかわからないのだし、捏造された証拠が操作や裁判における裁判員/陪審員や裁判官の判断に多かれすくなかれ影響を与えていることは疑いようがない。それがDNA鑑定という最も信頼されるものであればなおさらだろう。
・県警は「影響はなかった」などと妄言を吐いている。影響度が0%なのだとしたらそもそもDNA鑑定は何のために行うのか、税金の無駄遣いではないかということになってしまうだろう。
・この人間が関わった事件は全部リセット。有罪とされた方々について裁判のやり直しが必要ではないのだろうかな。そして、今後はなにかあればそのくらいの影響が及ぶということを頭にいれて常に襟を正して仕事をするのが圧倒的な権力を与えられている仕事の「プロ」というものではないのかな?
・話題休閑
・そんなところで、Ubuntuを使っていて突然のキーリピートで散々悩まされていたので、リピートOFFにできないものかと探したらちゃんとあった。
・コマンドライン上からは「xset r off」で良いし、gui上なら、「設定=>アクセシビリティ=>タイピング」の「タイピング支援」でON/OFFしたり開始までの時間や速度を調整できるのだな。
2025.10.10 09:23
interfaceのバス幅可変はverilatorでは未サポートか
・首相の記者会見前の雑談で「支持率おとすような写真を撮ってやる」的な発言をしたのが時事通信のカメラマンだったことを会社が白状していたけど、日頃の自分たちのオフレコ揚げ足取りをしつこくやっているのに、厳重注意くらいで済ませて良いのだろうかな。
・そしてそれ以外にもいくつか不適切な発言やそれを笑っていた連中がいたようだけど、それは時事通信の記者ではないという。それならば誰だったのか、それこそ徹底追求が必要ではないのだろうかな。
・たとえだんまりを決め込んでも音声入りの画像データが広がっているようだし発言者の特定も可能だろう。ひょっとしたら僅かな壁の反響などから、発言者のいた場所も特定可能かもしれないな。
・話題休閑
・interfaceで作ったバスのビット幅を#(parameter )で変更できそうなのでやってみたのだけど、どうも可変幅での接続がうまくいかない。
・お試しでGeminiにサンプルコードを作ってもらったけど、verilatorの構文チェックではだめ。
・ついでにChatGPTでも作ってもらったけどやっぱりだめで、copilotだとどうかなと思ったけどやっぱりだめ。
・どちらも
module my_module (
my_if #(WIDTH) in_if,
。。。
);
のようなコードを吐くのだけど、どうやらこういう可変長の表記がverilatorではサポートされていないということが原因らしい。
・ちなみにGeminiは「接続してくる親モジュールで決めた幅に自動的に調整されるから何もしなくて良い」ということだったけど、結局うまくいかなかった。
・まぁ、今回は固定長でも問題ないし、ビット幅が違うものは別のインターフェースにすれば良いだけの話だけどね。
2025.10.09 11:14
SystemVerilogフォーマッタ
・そんなところで、テストベンチを色々いじって動き出したので、同じパターンでデータを変えながら繰り返してやろうと全体をrepeat(8) begin 〜 endとかでくくってやるとかやっていたらだんだんインデントが・・・
・ということで、フォーマッタ位あるだろうということでVSCodeのプラグインを探すとVeribleというのがあるようで。
・ということで、インストールして範囲選択して右クリック=>ドキュメントのフォーマットしてみると、「規定のフォーマットを構成する」とあるので、Veribleを選んだらフォーマットされた・・・のは良いけどインデントが2か。ちょっと窮屈な感じもある。なにか変更できないものかと検索するとオプションで指定できるらしい。
・プラグインのギヤマークをクリックして設定を選び、Argumentsで--indentation_spaces=4とか設定して再度やってみたらインデントが4になった。
・ところで、Veribleにも文法チェック機能があるのだけど、既存のMasahiro Hiramoriさん作のVerilog-HDL/SystemVerilog/Bluespec SystemVerilogと重なるとどうなるのだろうと思ってちょっとやってみたら、エラー箇所に引かれた波線にマウスカーソルを合わせると両方のコメントが並んで表示されるんだな。
2025.10.08 08:03
ランサムウェア
・アサヒさんのトラブルはランサムウェアだったということで、ゴチャゴチャとしている。
・バックアップはとっていなかったのかなとか、全部芋づるでアクセスできるようになっていたのか、サーバー1台で管理されていたのかとか。まさかWindows Serverだったりはしないだろうしとかいろいろ思う。
・とりあえず攻撃を受けにくくすることは大事だけど、受けることを前提に短期間で復旧できるシステムを構築しておくことが大事なのだろうな。
・プログラムなりスクリプトが実行できなければ良い・・・とか考えると、スクリプトで使われやすいものをちょっとだけ変えておくとかほんの少しだけローダをいじるなどしておくだけでもなかなか入り込めなくなるだろうけどな。
・というところで、他にもゴチャゴチャ書いていたのだけど、なぜか消えてしまったので、以下省略。
2025.10.07 19:15
OpenVSX
・ちょこっとだけ運動らしきことをしたらなんとなく体が軽くなったような気持ち。これを継続できればもう少し変わるのだろうけど、そうもいかない世の常人の常。
・そんなこんなで、SystemVerilogな環境も割と良くなってきたな。VSCode上のエクスプローラで.vcdファイルをダブルクリックすればSurfer君が勝手に立ち上がって波形表示してくれる。
・ただ、この「マーケットプレイスで・・」というメッセージが気に入らないなぁなどと思いつつ検索していたらVSCodeをフォークして作られたエディタではマーケットプレイスのを使えなくしたりと、維持の悪いことをしていたようで。
・これに対抗して、
Open VSXとかいうのが用意されたようで、結構いろいろなものが揃っている。で、このOpenVSXで「Verilog」で検索してみたら、icarus+gtkwaveがプラグインになっていたりと以外と充実か?