Verilog

ROM /RAM イメージモデル

いままでは ROM や RAM のデータは case(address) と大量のラベルによって動かしていたのだが、C++ で書いたようなメモリとして組み込んだことがなかったので対照実験になってないと気づいた。なんでいままで気づかなかったのか。2年間ぐらい不思議にも思っ…

PSコントローラ関連

シミュレーションではちゃんと動くが、実機につないでロジックアナライザで解析したらなんか微妙だったので結局 Verilog で書き直した。今までの作り直しということもあるが、概ね1時間ぐらいできてしまったので、生産性は今のところは Verilog のほうが高い…

音関連

こんな感じに定期的に音を採れるようにしてみた。parameter 部分は最初は不定値にして、上位から値を設定してみたもののなぜかちゃんと動かないので値をいれることにした。それの関係で桁の設定がかなりバラバラ。 ちょっと考えないと。あまりよく見てないが…

ROM の設定その2

前からある case の中身を吐くだけのクラスはほぼよいので、ちょっと手直ししてラッピングするものを作った。printf がちょろちょろ混ざってるんで、ヒアドキュメントにできればもうちょっときれいになるものの、わからず。(perl みたく $ を付けるわけでは…

ROM の設定

parameter を先に定義してから、input/output の幅を決めることを最近知った。モジュール呼び出しの前に # をつけることをしらんかった。 module romx1 #( parameter ADDRESS_MSB = 'x, parameter DATA_MSB = 'x, parameter WAIT = 'x, //parameter FILENAME…