シミュレーション出来たから合成してみた。今使ってるUbuntu16.04に導入したISE14.7(2013.10.13版)でXC95108PC84ターゲットで合成する。
途中 dramcyc,rfshcycが定義されていない、センシビリティリストに変なイベント(~rfshcycだった)と怒られたので適時修正。マクロセル使用率が:
************************* Mapped Resource Summary **************************
Macrocells Product Terms Function Block Registers Pins
Used/Tot Used/Tot Inps Used/Tot Used/Tot Used/Tot
32 /108 ( 30%) 63 /540 ( 12%) 35 /216 ( 16%) 15 /108 ( 14%) 13 /69 ( 19%)
** Function Block Resources **
Function Mcells FB Inps Signals Pterms IO
Block Used/Tot Used/Tot Used Used/Tot Used/Tot
FB1 11/18 18/36 18 17/90 1/12
FB2 2/18 1/36 1 1/90 2/12
FB3 16/18 12/36 12 42/90 2/12
FB4 1/18 1/36 1 1/90 1/11
FB5 1/18 2/36 2 1/90 1/11
FB6 1/18 1/36 1 1/90 1/11
----- ----- ----- -----
32/108 35/216 63/540 8/69
* - Resource is exhausted
今時点で30%(32/108)と微妙な状況にある。やはりリフレッシュクロックは外部(PIC12F1501辺りを想定)で生成してマクロセルを節約しないと(しても?)収まらない予感がする。もっともこの時代のCPLD(特にXC9500)は39入力有るのでFPGAと異なり積項を無駄に要するデコーダ系には適しているから大昔仕事で設計したXC95216PQ160の縮小版のノリで仕様・機能を最適化(減縮)しつつCPLDにフィッティングを目指す事にしよう。5Vの縛りが無ければ今時の使いやすく余裕のある(例えば秋月で変換基板込みで売ってるMACHXO2とか)が使えるしレベルシフタも検討したが駆動能力、設計のしやすさ、使い慣れている(obsoluteだけど)点からXC9500なるobsolute cpldでジタバタしてみたい。代替案として現役のMicrochip ATF1508(128MC)も入手してたりするのだがCADがCUPLでverilogは有料らしいので最後の手段に取っておく。。。