2019年8月7日水曜日

MachXO2 breakout boardでmc6800(6)

List Viewで見るには
 右キーでInsert List ViewList View windowを追加します。

 Listで見たい信号をList View windowにドラッグします。
  Listで見たい信号をList View windowにドラッグします。

List View windowClose Active ViewすればWindowを閉じれます。

2019年8月6日火曜日

MachXO2 breakout boardでmc6800(5)

コマンドによるシミュレーションの実行

次のコマンドを入力していきます。#以降は説明で入力しません。
>asim my_testbench #最上位階層のモジ ュール名
>add wave *  #波形表示にトップレベルの信号を追加
>add wave -noreg {/my_testbench/cpu/acca} #Aregを追加  *1
>add wave -noreg {/my_testbench/cpu/accb} #Bregを追加 *1
>run 2us

入力されたコマンドは↑↓キーで呼び出すことができます。

*1 signalをAdd to WaveformでWaveformに追加したとき、consoleに表示されたコマンド
 add wave /my_testbench/cpu/xreg など
 階層は [/] で区切って記述します。アスタリスクを使用することもできます。

 コマンドをスクリプトファイルに記述して、Console入力を省略します。

スクリプトファイル "tb_1.do"の内容

asim my_testbench
add wave *
add wave -noreg {/my_testbench/cpu/acca}
add wave -noreg {/my_testbench/cpu/accb}
add wave /my_testbench/cpu/xreg
run 2us


スクリプトファイルを置くディレクトリーですが
Consoleからpwd #Returns the path of the current working directory to the Console.を
入力して、working directoryの位置を調べます。
>pwd
# C:\Project\mc6800\sys68
スクリプトファイルはworking directory下に置いてください。

 Consoleに入力して実行します。
>do tb_1.do
>do t この段階でTABキーを押すと
選択が出てきますので↑↓キーで選択してEnterで実行します。

Active-HDLをスタートから立ち上げると、working directoryは、Diamondから立ち上げた時と異なります。
# pwd
# c:\Project\mc6800\sys68\rtl_sim_testbench1\src
となります。

working directoryはcd command #Allows changing the current working directory. 
で変更することができます。
# C:\Project\mc6800\sys68
>cd rtl_sim_testbench1
>pwd
# C:\Project\mc6800\sys68\rtl_sim_testbench1
>cd ..
>pwd
# C:\Project\mc6800\sys68


MachXO2 breakout boardでmc6800(4)

DiamondからFile List> >impl1>SCript Files>rtl_sim_testbench1.spfのダブルクリックでActiv-HDLを立ち上げました。
Activ-HDLが立ち上げ時、何をしているかは、
rtl_sim_testbench1.spfと同一ディレクトリーにあるrtl_sim_testbench1.adoを見ると何をしているかがわかります。

シミュレーションにsignalを追加します。

CPUのAccumulator AとAccumulator Bを波形に追加します。
Hierarchyでmy_testbenchを展開してcpu:cpu68を選択します。

Structureでaccaとaccbを複数選択しました。(Ctrlキー+またはShiftキー+)
Add to WaveformでWaveformに追加しました。(Waveformにドラッグしても可です)

Consoleから
>run 1us
と入力し1us分追加のシミュレーションをしました。

最初からシミュレーションする場合は
Simulation>Restart simulationして
Consoleから
>run 2us
と入力します。

MachXO2 breakout boardでmc6800(3)

Lattice Diamondo での繰り返しシミュレーションをする。


 再度テストベンチをやる場合は
File List> >impl1>SCript Files>testbench1.spfをダブルクリックします。


 Skip to Endをクリック
 Run simulatorl
Add top-level signals to waveform display
Run simulation
にチェックを入れて

SummaryをFinishします。

Simulation WizardからActive-HDLを最初に立ち上げたとき、TOP MODULEにエラーがあり、TOP MODULEが希望のMODULEに設定されないときは、

再度、Preparing the Simulator InterfaceでNextをクリックして、
Simulator Project Name>Next
Process Stage >Next
Add and Reorder source にて、Source Filesを再設定します。

*.spfのreplaceするかを聞いてきますのでYesをクリックします。

または、Script Fileを直接編集も可能な様です。 
File Listから*.spfを右キーでOpen Containing FolderでScript Fileがあるフォルダが開きます。
Source File  **.spfをエディターで開き name="     "の部分を修正します。