Homepage8051例によってOpencoresから頂いてきます。筆者が追加修正したものをここに置いておきます。REV1.0.1で行っています。・CコンパイルSDCCを使いました。以下は筆者環境でのバッチファイルです。F:\vhdl\t51\*.*hex2romは、作者のものを改変し、Verilogの$readmembで読み込めるオプションv/Vを追加しました。・VHDソース修正RAMサイズの修正を行いました。・トランスレート(VHDL->Verilogに変換します。)translated.vが生成されます。・Verilogソース追加修正デバッガを埋め込みます。rom52を改変し、rom52.datを読み込む仕様としました。いうのは、ソースデバッグのため、何回もROMの内容を変更して必要がありその度にVHDLからVerilogに変換するのが面倒だったからです。Pointerの設定がおかしくなるソース上のバグがあったので修正(ワークアラウンド)しました。t51)(作者に報告済み)なお、このようなCPUソースのデバッグには、CPUシミュレータが有効です。今回はJSIM51を使いました。CLOCK周期を50MHzとします。以上変更したものをdemo.vとします。LoadVerilogします。Test時間は、5404650-574130=約4.8msとなりました。AVRより遅いのは、当然としてZ80よりかなり速いという結果になりました。SDCCのコードジェネレータは、8051Nativeで、Z80は後からポートされました。CPU自体の能力差がそんなにあるとは思えないので、多分コンパイラに起因するところが大きいのでしょう。