Lattice Diamond与MachXO2扩展板教程

逻辑主页

产品供应情况

MachXO2分线板最初版本搭载的是LCMXO2-1200ZE-1TG144C CPLD芯片,新版现已替换为LCMXO2-7000HE-4TG144C。

新版MachXO2扩展板(LCMXO2-7000HE-B-EVN)可通过DigiKey在此获取。

旧版MachXO2扩展板(LCMXO2-1200ZE-B-EVN)在库存售完前可通过DigiKey在此购买。

教程配套 VHDL 代码

blinking_led.vhd (2.0 KB)

简介

本教程将引导您使用Lattice Diamond软件(版本4.1.87)为MachXO2扩展板评估套件创建简单项目。适用于两个版本的评估套件。教程涵盖新建项目、代码录入、内部振荡器使用、编译、引脚分配及板卡编程等内容。另有单独教程介绍仿真功能,详见此处

创建新项目

选择"文件( File 新建( New 项目 (Project) …"启动新建项目向导(New Project Wizard launche)。点击 " 下一步 "(Next) 。如图1所示输入项目名称及存储路径,点击 " 下一步 "(Next)

1. 输入项目名称与存储位置。

本项目不使用现有源文件。点击 " 下一步 "(Next)

将器件系列指定为MachXO2 ,器件选择LCMXO2-7000HELCMXO2-1200ZE (根据您拥有的开发板版本),封装类型选择TQFP144 ,性能等级选择4 (若使用7000HE)或1(若使用1200ZE),工作条件选择商用级。部分选项需优先选定,才能在下拉列表中显示正确的后续选项。完整器件型号LCMXO2-7000HE-4TG144CLCMXO2-1200ZE-1TG144C 将显示在部件名称文本框内,如图2所示。点击 " 下一步 "(Next) 。点击完成( Finish

2. 选择器件型号。

代码输入与内部振荡器实例化

创建新源文件需选择:文件( File 新建( New 文件 File… 如图3所示,选择源文件( Source Files 类别为VHDL 文件 类型。命名新文件并点击新建( New

3. 创建VHDL文件。

提供的blinking_led.vhd示例代码利用MachXO2内部振荡器实现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 Pane。在Process窗格中双击Translate Design 执行综合与转换。

4. 选择Process窗格。

选择Tools → Spreadsheet View 。点击Spreadsheet View底部的Pin Assignments 标签。向下滚动直至出现引脚 107 。双击引脚107的Signal Name 列。Assign Signals 对话框如图5所示弹出。

5. 引脚分配。

选择led 信号并点击Assign Signals ,将其分配至107号引脚。107号引脚连接MachXO2扩展板的D8 LED。图6显示最终信号分配结果。

6. 引脚分配完成。

返回Process 窗格,勾选Export Files 下的JEDEC File 。双击Export Files 执行映射(Map)、布局布线(Place & Route),并生成JEDEC编程文件。若提示保存修改文件,请确认。图7展示了成功运行效果。

7. 编译成功

CPLD 编程

通过USB线将MachXO2开发板连接至电脑。

选择工具 (Tools)编程器 ( Programmer)编程器 : 启动 (Programmer: Getting Started) 对话框将打开,如图8所示。点击OK。

8. 打开编程器。

点击Program 图标。设备开始编程。完成后,状态指示灯将变为绿色,如图9所示。MachXO2开发板上的LED D8会以每秒一次的频率闪烁。

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.20

3.50        7.00        14.00        66.50

3.69        7.39        14.78        88.67

3.91        7.82        15.65       133.00