2019年7月26日金曜日

MachXO2 breakout boardでmc6800(1)

System68 - VHDL 6800から
Sys68-X300-17jan04.zipをdownloadします。
Sys68 xxのターゲットはxilinxです。MachXO2でどこまでいけるか、
Lattice Diamond 3.10で論理合成してみます。
"C:\project\mc6800\sys68"とディレクトリーを作成して、その下にSys68-X300-17jan04.zipを展開して置きます。
Lattice Diamondを起動して、新しいプロジェクトを登録します。
File>New>Project


Project Nameを"sys68"としました。
Add Sourceでコードを登録します。
 
*.vhdを登録します。testbendh*.vhdは除きました。
Copy source to implementation dirctoryのチェックは外しました。
チェックを入れると\impl1\source下に、ソースコードがコピーされます。
デバイスをMachXO2 LCMXO2-7000HEで選択
 Synthesis Tool Synplify Proを選択
Projectの内容が表示されます。
WARNIGで
swtbug_rom.vhd(79,3-106,4) (VHDL-1250) ramb4_s8 remains a black-box since it has no binding entity
が出てますが、取り込めるました。
 論理合成してみます。
Proess タブにてSynthesize Designをダブルクリック
Done: completed successfully
JEDEC Fileまでやってみます。JEDEC Fileダブルクリック

エラーメッセージが出ました。
ERROR - logical block 'my_swtbug_rom/ROM0' with type 'RAMB4_S8' is unexpanded.
ERROR - logical block 'my_swtbug_rom/ROM1' with type 'RAMB4_S8' is unexpanded.
ERROR - DRC failed with 2 errors and 0 warnings.
Design Results:
   2844 blocks expanded
        Unexpanded blocks:
           Name = 'ROM0', Type = 'RAMB4_S8'
           Name = 'ROM1', Type = 'RAMB4_S8'
Complete the first expansion.
Writing 'sys68_impl1.ngd' ...
Total CPU Time: 0 secs  

Total REAL Time: 0 secs  

Done: error code 2
XilinxのマクロRAMB4_S8がないので、仮で外します。
File Listタブ "System68.vhd"をダブルクリックして、エディタを起動します。

451~459行までコメントアウトして、"RAMB4_S8"を使っているswtbug_romを呼ばないここにします。
 
 再び、JEDEC Fileダブルクリック
Done: completed successfully
今、内部ロジックをどの程度使っているかを見ます。
impl1>Design Summary>Proces Reports>Mapをクリック
Design Summary
   Number of registers:    491 out of  7209 (7%)
      PFU registers:          489 out of  6864 (7%)
      PIO registers:            2 out of   345 (1%)
   Number of SLICEs:      1245 out of  3432 (36%)
      SLICEs as Logic/ROM:   1245 out of  3432 (36%)
      SLICEs as RAM:            0 out of  2574 (0%)
      SLICEs as Carry:         78 out of  3432 (2%)
   Number of LUT4s:        2477 out of  6864 (36%)
      Number used as logic LUTs:        2321
      Number used as distributed RAM:     0
      Number used as ripple logic:      156
      Number used as shift registers:     0
   Number of PIO sites used: 101 + 4(JTAG) out of 115 (91%)
   Number of block RAMs:  0 out of 26 (0%)
   Number of GSRs:  1 out of 1 (100%)
約3割程度です。

impl1>Design Summary>Process Reports>Synplify Pro

                   Requested     Estimated     
Starting Clock     Frequency     Frequency     
-----------------------------------------------
Sys68|SysClk       1.0 MHz       37.2 MHz      
System             1.0 MHz       217.3 MHz     
=============================================
とあるので、SysClockを25MHzにできそうです。

0 件のコメント:

コメントを投稿