2022年2月16日水曜日
2019年8月7日水曜日
MachXO2 breakout boardでmc6800(6)
List
Viewで見るには
右キーでInsert List ViewでList View windowを追加します。Listで見たい信号をList View windowにドラッグします。
List View windowでClose 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 など
階層は [/] で区切って記述します。アスタリスクを使用することもできます。
スクリプトファイル "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します。
または、Script Fileを直接編集も可能な様です。
再度テストベンチをやる場合は
File List> >impl1>SCript Files>testbench1.spfをダブルクリックします。
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をクリックします。
File Listから*.spfを右キーでOpen Containing FolderでScript Fileがあるフォルダが開きます。
Source File **.spfをエディターで開き name=" "の部分を修正します。
2019年7月31日水曜日
MachXO2 breakout boardでmc6800(2)
シミュレーションで"testbench1.vhd"が用意されてましたので動かしてみます。
又は
Project nameを入れます。
cpu68.vhd以外をremoveします。
testbench1.vhdをaddします。
エラーで出ていますが、そののままnextします。Finishします。
Active-HDLが立ち上がりましたが、
# Error: COMP96_0078: Sys68-X300-17jan04/testbench1.vhd : (111, 16): Unknown identifier "cpu_hold".
# Error: COMP96_0078: Sys68-X300-17jan04/testbench1.vhd : (112, 16): Unknown identifier "cpu_halt".
のエラーで動作していません。
testbench1.vhdを修正します
Design Browser fileタブを選択して、testbench1.vhdをダブルクリックします。
44,45行目に追加しました。
signal cpu_hold : std_logic := '0';
signal cpu_halt : std_logic := '0';
saveします。
Simulation>End Simulation
Simulation>Initialize Simulation
top moduleを設定しすま。
Consoleに"wave *"と入力します。
top moduleの信号がadd されます。
Consoleに"run 1us"と入力しrunさせます。
シミュレーション結果が表示されます。
以下は終了手順です。
登録:
投稿 (Atom)

















































