SlideShare a Scribd company logo
MachXO2
(LCMXO2-1200HC-4SG32C)
の書き込み方法
丹野 嘉信
http://ytanno.herokuapp.com/
読者対象
• 小型で安価なFPGAを使って製品開発を強いられている人
• 小さいFPGAに興味がある人
• 引継ぎ相手
壊れても責任が取れないので自己責任でやる人
目次
• LCMXO2-1200HC-4SG32Cの特徴
• ソフトウェアの手順
• ハードウェアの手順
LCMXO2-1200HC-4SG32Cの特徴
(前回使ったICE40LP384と比較)
• 本体に1回以上書き込める
• 書き込むための配線が非常に楽
• 内部クロックがあり、最大133Mhz利用可能
(但し、限られた周波数だけ利用できるのでそれ以外使いたい場合は外
部オシレータが必要)
外部オシレータの配線場所は限定されている
• ロジック数(LUT)が1280もある(前使ったものは384)
• 3.3v単体で動作可能(前は主電源1.2vとVCCIO電圧必須)
• サイズもQFN32と小さく、高級な基板を必要としない
• 評価ボードとチュートリアルも存在する
(最後に詳細のURL配置)
内部オシレータから利用できる周波数
• https://www.mouser.sg/datasheet/2/225/MachXO2FamilyDataSheet-
948089.pdf
の2-29より参照
ソフトウェア手順 概要
• 工程1 Verilog file -> *****.jed に変換
• 工程2 ****.jedを 本体に書き込む
各ソフトのインストールのために登録が必要
• 工程1のためにLatticeDiamondをインストール
http://www.latticesemi.com/ja-
JP/Products/DesignSoftwareAndIP/FPGAandLDS/LatticeDiamond
• 工程2のためにDiamond Programmerをインストール
https://www.latticesemi.com/ja-
JP/Products/DesignSoftwareAndIP/ProgrammingAndConfigurationSw/Programmer
テストプログラム
• 133MhzでLチカしても役に立たないので適宜修正してください
• 内部クロックの利用例
module Main
(
output oled
);
wire osc_clk;
defparam OSCH_inst.NOM_FREQ="133.00";
OSCH OSCH_inst(.STDBY(1'b0), .OSC(osc_clk), .SEDSTDBY());
always @(posedge osc_clk) begin
end
assign oled = osc_clk;
endmodule
Lattice Diamond 1
プロジェクト作成
• File タブ -> New -> Project -> Next -> プロジェクト等名前設定
• Next -> 作成したVerilog file追加 ->
• デバイス指定で型番を合わせる -> Next -> Next -> Finish
Lattice Diamond 2
ピンアサイン
• Tools タブ -> Spreadsheet View -> Pin Assignments -> Double Click
“Signal Name” -> Assign Signals
• 必要か分からないが私はPort Assignments でLVCMOS25から
LVCMOS33に変更している。
Lattice Diamond 3
.jedファイルの出力
• 最後までプロセスにエラーが無ければ.jedファイルが作成される
Diamond Programmer
• 起動後、画像のように設定する。
• 配線(ハードウェアの手順)が終わった後、FT2232H Mini
ModuleをUSBに接続後、Programボタンを押すことで書き込みが
完了する
ハードウェアの手順
• USB経由でJTAG信号をFPGAに送るための配線方法
• FT2232H Mini Module を利用した
• また必須かどうか分からないがTCKの間にプルダウンを置いた
参考にした配線がhttps://github.com/tinyfpga/TinyFPGA-A-
Series/blob/master/board/TinyFPGA-A.pdf の JTAG Programming
Headerのため
配線1 FT2232H Mini Module
• CN3-1(VBUS) と CN3-3(VCC)を配線
• CN2-1(V3V3)とCN2-11(VIO)を配線
https://www.ftdichip.com/Support/Documents/DataSheets/Modules/
DS_FT2232H_Mini_Module.pdf
Page7から参照
配線2 FT2232HとMachOX2-1200-QFN32
FT2232H Mini Module
(PIN Number)
Function MachOX2-1200-QFN32
(PIN Number)
CN2-12(AD3) TMS 29
CN2-7(AD0) TCK 30
CN2-10(AD1) TDI 32
CN2-9(AD2) TDO 1
CN2-1(V3V3) VCC 2,31,24,19,18,15,7,6
CN2-2 GND 3,22,33
VCCは3.3vでFPGA側に配線されていない場合必要
FPGA側の3.3vはVCCIOの配線が必要ないかもしれないが未検証
GNDは書かれているもののうちの一つだけの配線でもよい
配線について書きましたが・・・
• 到着時間さえ気にしなければ買った方が圧倒的に楽。
チュートリアルもあるので苦労が少ない
TinyFPGA AX2 Board(評価ボード)
• https://www.sparkfun.com/products/14828
TinyFPGA Programmer(書き込みWriter)
• https://www.sparkfun.com/products/14827
Tutorial等
• https://tinyfpga.com/
備考 ピンレイアウトファイル場所
• https://www.latticesemi.com/Products/FPGAandCPLD/MachXO2
のMachXO2 32-Pin QFN Package Migration File

More Related Content

PDF
GR-CITRUS搭載のRubyファームウェアの説明
PDF
Wakayama.rbボード用WiFi基板 Ver1.2の説明
PDF
GR-KOZAKURA完成版Rubyによる超簡単開発環境
PDF
Ultra96ボードでYOLOを高速化
PPTX
モーターを低速で定速で動かしてみる
PDF
Good Arm FPGA Board Ultra96 and Google AI YOLO
PPTX
RTOS入門 割り込み制御
PPT
The Overall Architecture of ROMA
GR-CITRUS搭載のRubyファームウェアの説明
Wakayama.rbボード用WiFi基板 Ver1.2の説明
GR-KOZAKURA完成版Rubyによる超簡単開発環境
Ultra96ボードでYOLOを高速化
モーターを低速で定速で動かしてみる
Good Arm FPGA Board Ultra96 and Google AI YOLO
RTOS入門 割り込み制御
The Overall Architecture of ROMA

What's hot (12)

PDF
A story of porting OpenBSD/luna88k
PDF
Using "C-bus" extension boards on LUNA-88K2 (at OSC 2015 Nagoya)
PDF
あるブートローダの話
PPT
IBGPのコンバージェンスの改善qunog3
PDF
SD WiFi v3基板の説明
PDF
Wakayamarb Board 説明資料
PDF
03 後期勉強会一年の部【川合】
PDF
Wakayama.rbボード ARIDA 4 説明資料
PDF
素晴らしきメガデモの世界
PDF
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
PDF
Yunusov babin 7sins-pres_atm_v4(2)_jp
PDF
OpenBSD/luna88k on LUNA-88K2, at OSC 2013 Nagoya
A story of porting OpenBSD/luna88k
Using "C-bus" extension boards on LUNA-88K2 (at OSC 2015 Nagoya)
あるブートローダの話
IBGPのコンバージェンスの改善qunog3
SD WiFi v3基板の説明
Wakayamarb Board 説明資料
03 後期勉強会一年の部【川合】
Wakayama.rbボード ARIDA 4 説明資料
素晴らしきメガデモの世界
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
Yunusov babin 7sins-pres_atm_v4(2)_jp
OpenBSD/luna88k on LUNA-88K2, at OSC 2013 Nagoya
Ad

More from ytanno (20)

PPTX
How to be friend with Attiny202 which is small microcontroller
PPTX
Process of Interval Photograph System
PPTX
How to make an effort for good job
PPTX
How To Bind Cuda And OpenCV
PPTX
How to autorun graphic application
PPTX
How to setup 3D printer (Ender 3 pro)
PPTX
How to set https server
PPTX
How to write code in Attiny10
PPTX
How to set up two i2cs on Attiny841
PPTX
K-means and X-means
PPTX
First Step SVM
PPTX
さるでも分かりたい9dofで作るクォータニオン姿勢
PPTX
Xaml html5
PPTX
C# でブラウザ操作
PDF
PI制御を作ってみた
PDF
CharpTwitter
PDF
MongoDBCSharp
PDF
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
PDF
2013_kougi6
PDF
兼本研究室プログラム講義4回目
How to be friend with Attiny202 which is small microcontroller
Process of Interval Photograph System
How to make an effort for good job
How To Bind Cuda And OpenCV
How to autorun graphic application
How to setup 3D printer (Ender 3 pro)
How to set https server
How to write code in Attiny10
How to set up two i2cs on Attiny841
K-means and X-means
First Step SVM
さるでも分かりたい9dofで作るクォータニオン姿勢
Xaml html5
C# でブラウザ操作
PI制御を作ってみた
CharpTwitter
MongoDBCSharp
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
2013_kougi6
兼本研究室プログラム講義4回目
Ad

How to write code on MachXO2