2025年11月
新着記事
最近のコメント
月別
カテゴリ
2025.11.18 23:29

Quartus君とinterface


・さてinterfaceが思ったように動き出したのでそれならばと合成してみることに。
・interfaceのポートリストには外部ピンとつなぎたいもの、そして内部のモジュールとつなぎたい信号類はinterfaceの本体側に書いてある。イメージとしてはこんな感じ。
 interface (input logic RESET, CLOCK, inout logic[7:0] DATABUS);
logic[7:0] data_out;
logic[7:0] data_in;
logic data_oe;
modport slave(output data_out, data_oe, input data_in);
endinterface
・Quartusでプロジェクトを作成して、ソースコードをプロジェクトのディレクトリにコピーしてQuartusに登録。
・これでAnalysis&Synthesis。エラーなく終わったのでAssignments=>Pin Plannerを見るとdata_outなどまでピンに出そうとしている。
・どうやらQuartusはポートリストと内部との区別をしないらしい。
・これではちょっと困る。何か手はないのかとダメ元でGeminiにお問い合わせしていたら「設定ファイルでVirtualに書き換える」というのを提示された。
・そんな設定があるなら絶対Quartus上からできるはず・・・と探したらアルティマさん作成のQuartus Prime
よく使用するピン・オプションの設定方法
なんていうドキュメントがあった。これの最後の方の11章で「仮想ピンの設定」がある。なるほど、ピンに割り当てたく無いならこんなふうにすれば良いのか。
・Assignments=>Assignment Editorで起動しておいて、試しにTo欄でdata_outをvirtualに設定して、もう一回Analysis&SynthesisしてPin Plannnerを開いたらピンのリストからdata_outピンが消えた。なるほどね。
・ちゃんと動くのかどうかはまだわからないけど、これで外部バスをinterfaceとして記述して、テストベンチを作ってシミュレーションして、Quartusで合成するというところまで問題なくいけることはわかった。なんか随分手間取ったけど、おかげでいろいろすっきりと腑に落ちたな。
・あとは実際に動くかどうか。これは実機で動作確認できるソースにしないとな。DE-10LITE使ってLEDとスイッチでやってみるか。


この記事へのコメント
コメントを書く
名前

タイトル

ホームページ

コメント

パスワード(削除用)
クッキー