2022年3月2日水曜日

FlashMagic 13.45 Binary Fileに対応していました。

IchigoJam BASICを最新版の1.4.3では .BINしかありません。

(.Hexがいつ提供されなくなったのかな?)

FlashMagic 13.45ではBinary Fileにも対応していたため、無事FlashMagicで書き込むことができました。(いつから対応したかは不明)

FlashMagicのdownload先

https://www.flashmagictool.com/download.html







Device:LPC1114/102

Baudrate:115200

Browseで.binを選択

View > Preferences >Hardware : Crystal Frequency:12.000MHzを確認













無事、1.4.3にアップデート


2022年2月16日水曜日

Raspberry Pi Pico でmruby3.0をちょっとやってみた。


 "hello_ world"

"pico_mirb"

"pico_mruby" 
code.rb 
    a = 1
    b = 2
    c = a + b
    print c


GPIOなど、設定のやり方がまだわかりません。

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="     "の部分を修正します。


2019年7月31日水曜日

MachXO2 breakout boardでmc6800(2)

シミュレーションで"testbench1.vhd"が用意されてましたので動かしてみます。

 Simulation Wizardを呼びます。
又は


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します。


 Compleします。

Simulation>End Simulation

Simulation>Initialize Simulation



 top moduleを設定しすま。
 Consoleに"wave *"と入力します。
 top moduleの信号がadd されます。
Consoleに"run 1us"と入力しrunさせます。
シミュレーション結果が表示されます。
以下は終了手順です。