Lattice Diamond与MachXO2扩展板教程

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

创建新项目

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

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

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

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

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

图 2. 选择器件型号.png

图 2. 选择器件型号。

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

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

图 3. 创建VHDL文件.png

图 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窗格.png

图 4. 选择Process窗格。

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

图 5. 引脚分配.png

图 5. 引脚分配。

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

图 6. 引脚分配完成.png

图 6. 引脚分配完成。

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

图 7. 编译成功.png

图 7. 编译成功

CPLD 编程

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

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

图 8. 打开编程器.png

图 8. 打开编程器。

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

图 9. 编程成功完成.png

图 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

文章来源:Digikey