2021-01-01から1年間の記事一覧
いったんシミュレーションをキャンセルして、[Window|Tcl Console]でTclコンソールを表示してから、 reset_simulation を実行する。
古くからあるVivadoのバグです。 多くのファイルを手で修正する必要があります。テストベンチを作り直しても、このバグは解消しません。
scl_t、sda_tの初期値が0x0となっているが、シミュレーションしてみると初期値としてHighレベルが出てくる。IOBUFのTはHighでゲート閉/Input、Lowでゲート開/Outputであり、初期値が0x0でゲート開/ドライブ状態となるのはおかしい。0x1が正しいと思われ、ド…
XILINXのドキュメントにはActive Highと記載されており、図にも負論理を示す○はついていないが、実際は負論理である。 参考: www.reddit.com 追記: ドキュメントによっては High:Input Low:Output というのが書いてあるので、TはTであってGateではないのだ…
FPGA/CPLDでは、チップ内にHi-Zを作らないようにすべきである。絶対使っちゃいけないってことはないが、動作速度の面で不利になる。また、FPGA内の回路リソースの使い方としてはちょっともったいない。 ふつう、FPGAのロジック・エレメントには、トライステ…
あきらめよう。
Options の Filter は、「Signal Tap:pre-synthesis」を指定しておくと、ほとんどの信号名を拾うことができる。
type STATE is (IDLE, WRITE, READ, ACK); のように、Stringからなるtypeを作ると、ModelSimにおいてシミュレーションが極端に遅くなる。ステートマシンのステートはintegerかstd_logic_vectorにするのが無難。
ModelSimでStart SimulationとかMacroを実行すると、たまにPAUSEとなって処理が止まることがある。 resume [Enter] で続きが流れる。