CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

デコーダ確定

信号ピンが割り付けられない・・というのは22V10に内蔵されるOLMCの数10個以上の出力を要求しているということなのですが、パッと見るとロジック図の右側に並んでいる出力パッドはちょうど10個でありギリ収まるはずです

なのに何故エラーかというとレジスタはOLMCに含まれているのでレジスタを使うと無条件に出力パッドがいらなくてもOLMCを1個消費してしまうわけです。すなわちこのロジックには11個のOLMCが必要になってしまい、要らないものを削除しなければなりません。

ここではSRAMのチップセレクトを2本用意していましたがアドレス範囲は変えようもないので1本に統合しRAM1CSピンを削除、一方レジスタの出力は内部的にANDアレイにフィードバックできるので外部出力は要らないですけど、切替えのインジケータくらいには使えるのでMODE信号として明示的に出力としました。 

 これは修正したロジックですがデバイスにFITさせた時のピン番号はCLK、RESETのように特定ピンに固定されているもの、AND項の数によってFitterが最適化してくれるようにプレ処理でのピン番号指定はやめて「*」としツールに任せます

f:id:O3I:20191013130930j:plain

 

コンパイル、フィッタも通り論理式生成、ピンアサインも決定しました

f:id:O3I:20191013133024j:plain

 

つづいてJEDECファイルへのアセンブル

FUSEASM Fusemap Assembler
ispLEVER Classic 2.0 Copyright(C), 1992-2005, Lattice Semiconductor Corporation. All rights reserved

Input file: 'ctrl32.tt3'
Device: 'P22V10GC'
Building model...
Choosing best polarities...
Mapping equations...
..
22 of 132 terms used; 0 vectors loaded
Programmer load file: 'ctrl32.jed'
Generating report...
Report file: 'ctrl32.rpt'

FUSEASM complete. Time: 1 second

Done: completed successfully.

 

最終的にフューズマップの生成も完了しました。あとは決定されたピンアサインを回路図にフィードバックします