散歩師・漫画居士のくだらなクラブ日記 避難所

ども、散歩師・漫画居士っす。散歩したり実働模型作ったりが趣味なんで、その時に思いついたこととか書くッス

1chip MSX 本当に別品でコンパイル出来た。

 うあうあ。普通にコンパイルできる方法が!

 

以前、コンフィグROMを2コ使えば、CYCLONEじゃなくても、別のFPGAコンパイルできるじゃん!という記事を書きましたが(以下)

 

mangakoji.hatenablog.com

 

どうやら、コンフィグROM 1コでもコンパイルする方法があったみたいです。

 

= 見つけたよ

というのも、秋葉原ラジオデパートの 家電のケンちゃん

FPGAボードDE0またはDE0-CVに合体してMSX化するオーバーレイボード「DEOCM」なるもののデモを見まして

気になって、実装を調べたわけです。

 

= どうやってるのか?

DEOCMは、当初DE0での実装用だったんですが、@uniabis 氏がDE0-CVの方で実装してして、ソースをgithub公開してました。

それを見ると、問題の箇所は

U91 : cyclonev_asmiblock
port map(EPC_CK, EPC_CS, EPC_OE, EPC_DI, 'Z', 'Z', 'Z', not EPC_OE, '0', '0', '0', open, EPC_DO, open, open);

に変更されてました。いや、このmodule ベースのcyclone版とピン数ちがくない?

おまけにEPC_DIはdata0out,EPCDOはdata1outにつながってるんですけど。

こんなテクニカルなこと、どうしてわかるの?公開資料なしに。

 

= ほかのデバイスでは?

どうにも調べようがなかったんですが、ふと思いついて これを やってみました

1. quartus のIPCatalogでASMI Paralell IIをcleateします。

   デバイスは、なぜかMAX10ではcreateできないので、それ以外を選びます。

2. altera_asmi2_qspi_interface_asmiblock.svを探します。

   (本当は*_asmiblockを検索して見つけました)

   ここに、各デバイスでの対応asmiblockのモジュール名が列記されてます。

    MAX10はfiftyfivenm_asmiblock()で、cycloneと同じpin配置ですね。

    Cyclone IV Eもcycloneと同じpin配置。

    Cyclone IIIはv18.1ではサポート外れてるのでわかりませんでした。

    が、多分同じなので、スルニョと移植できたんでしょうね。

当時の私がMAX10で実験したのが敗因の様です。

   

MAX10ではこんな感じに実装できました。f:id:mangakoji:20200611213043j:plain

ただーし、MAX10のconfig ROMは内蔵なので、実は使えない可能性も残ってます。

 

 

= さらに私よりずっと前に!

なんと、2011年にもやってる例が。

1chipMSX on DE0-nano - ゲーム研究会(らいふゼロ)

実装方法はわかりませんが。

 

 

つうわけで、恥さらしlogを

 :-(