Lattice DiamondとMachXO2ブレイクアウト基板のチュートリアル

Logic Home

製品の入手について

MachXO2ブレイクアウト基板のオリジナル版はLCMXO2-1200ZE-1TG144C CPLD(Complex Programmable Logic Device)を搭載していましたが、新バージョンではLCMXO2-7000HE-4TG144Cに置き換わりました。

新バージョンのMachXO2ブレイクアウト基板(LCMXO2-7000HE-B-EVN)は、Digi-Keyからこちらで入手可能です。

旧バージョンのMachXO2ブレイクアウト基板(LCMXO2-1200ZE-B-EVN)は、Digi-Keyの在庫がある限り、こちらで入手できます。

チュートリアル用VHDLコード

blinking_led.vhd (2.0 KB)

はじめに

このLattice Diamondソフトウェア(バージョン4.1.87)の解説は、MachXO2ブレイクアウト基板評価キット用の簡単なプロジェクトを作成する手順を説明しています。新しいプロジェクトの開始、コード入力、内蔵オシレータの使用、コンパイル、ピン割り当て、および基板のプログラミングなどのトピックがあります。シミュレーションについては、別途チュートリアルがありますので、こちらをご覧ください。

新規プロジェクトを作成する

新しいプロジェクトを作成するには、File → New → Project… の順に選択すると、新規プロジェクトウィザードが起動します。Nextをクリックします。図1のようにプロジェクト名(Project Name)と場所(Location)を入力し、Nextをクリックします。

図1.プロジェクト名と場所を入力する

このプロジェクトでは、既存のソースファイルは使用しません。Nextをクリックします。

デバイスファミリをMachXO2、デバイスをLCMXO2-7000HEまたはLCMXO2-1200ZE (お持ちのボードのバージョンによる)、パッケージタイプをTQFP144、パフォーマンスグレードを4(7000HE使用時)または1(1200ZE使用時)、そして動作条件をCommercialに指定してください。ドロップダウンリストに適切なオプションを表示するには、これらの基準のいくつかを先に選択する必要があります。図2に示すように、部品名テキストボックスにLCMXO2-7000HE-4TG144CまたはLCMXO2-1200ZE-1TG144Cという完全な品番 が表示されます。Nextをクリックします。Finishをクリックします。

図2. デバイスを選択する

コード入力と内蔵発振器のインスタンス化

新しいソースファイルを作成するには、File → New → File… を選択します。図3に示すように、カテゴリはSource Files、そしてSource FilesタイプはVHDL Filesを選択します。新しいファイルに名前を付けて、Newをクリックします。

図3. VHDLファイルを作成する

提供されているblinking_led.vhdのサンプルコードは、MachXO2の内蔵発振器を使用して、1秒間に2回LEDを点滅させるものです。発振器OSCHプリミティブを使用するには、「lattice」または「machxo2」ライブラリのいずれかをインスタンス化する必要があります。

LIBRARY lattice;
USE lattice.components.all;

LIBRARY machxo2;
USE machxo2.all;

OSCHコンポーネントは以下のように宣言されています。

COMPONENT OSCH
  GENERIC(
    NOM_FREQ: string := "53.20");  --53.20MHz, or can select other supported frequencies
  PORT(
    STDBY    : IN  STD_LOGIC;      --'0' OSC output is active, '1' OSC output off
    OSC      : OUT STD_LOGIC;      --the oscillator output
    SEDSTDBY : OUT STD_LOGIC);     --required only for simulation when using standby
END COMPONENT;

このサンプルプロジェクトでは、OSCHインスタンスは以下のようにインスタンス化されています。

OSCInst0: OSCH
   GENERIC MAP (NOM_FREQ  => "53.20")
   PORT MAP (STDBY => '0', OSC => clk, SEDSTDBY => OPEN);

OSCHの対応周波数一覧は、本ページ下部の付録をご覧ください。

ピン割り当てとコンパイル

図4に示すように、Processペインを選択します。ProcessペインのTranslate Designをダブルクリックすると、合成とトランスレーションを実行します。

図4.Processペインを選択する

Tools → Spreadsheet Viewを選択します。Spreadsheet Viewの下部にあるPin Assignmentsタブをクリックします。ピン107が表示されるまで下にスクロールします。107ピンのSignal Name欄でダブルクリックします。図5のようなAssign Signalsダイアログボックスが表示されます。

図5.ピンを割り当てる

led信号を選択し、Assign Signalsをクリックして107ピンに割り当てます。107ピンはMachXO2ブレイクアウト基板のLED D8に接続されています。図6に信号割り当ての結果を示します。

図6.ピンの割り当てが完了

Processペインに戻り、Export FilesJEDEC Fileにチェックを入れます。Export Filesをダブルクリックして、マッピング(Map)、配置配線プロセス(Place & Route)を行い、JEDECプログラミングファイルを作成します。変更したファイルを保存するかどうか尋ねられたら、保存してください。図7は、成功した結果を示しています。

図7.コンパイルに成功

CPLDをプログラミングする

MachXO2ブレイクアウト基板をUSBケーブルでパソコンに接続します。

Tools → Programmerを選択します。図8に示すように、Programmer: Getting Startedダイアログボックスが表示されます。OKをクリックします。

図8.プログラマを開く

プログラムアイコンをクリックします。デバイスがプログラムされます。完了すると、図9に示すようにStatus表示が緑色に変わります。MachXO2ブレイクアウトボードのLED D8は1秒に1回点滅します。

図9.プログラミングが正常に終了

まとめ

Lattice DiamondソフトウェアとMachXO2ブレイクアウト基板の今回の解説は、これらのツールを使って簡単なプロジェクトを作成するための基本的なステップを紹介しています。

付録:OSCHの対応周波数

デフォルトの周波数は2.08MHzです。サポートされている周波数(単位:MHz)は以下の通りです。

2.08        4.16         8.31        15.65

2.15        4.29         8.58        16.63

2.22        4.43         8.87        17.73

2.29        4.59         9.17        19.00

2.38        4.75         9.50        20.46

2.46        4.93         9.85        22.17

2.56        5.12        10.23        24.18

2.66        5.32        10.64        26.60

2.77        5.54        11.08        29.56

2.89        5.78        11.57        33.25

3.02        6.05        12.09        38.00

3.17        6.33        12.67        44.33

3.33        6.65        13.30        53.2

お問い合わせ

ご意見、ご感想およびご質問は、eewiki@digikey.comまでお寄せください。




オリジナル・ソース(English)