产品供应情况
MachXO2分线板最初版本搭载的是LCMXO2-1200ZE-1TG144C CPLD芯片,新版现已替换为LCMXO2-7000HE-4TG144C。
新版MachXO2分线板(LCMXO2-7000HE-B-EVN)可通过DigiKey此链接购买。
旧版MachXO2分线板(LCMXO2-1200ZE-B-EVN)库存有限,可通过DigiKey此链接购买。
教程配套 Verilog 代码
blinking_led.v (3.7 KB)
简介
注:本页信息主要摘录自eeWiki"LOGIC"板块下的《Lattice Diamond与MachXO2分线板教程》,设计理念同时适用于Verilog和VHDL实现方案。
本教程将引导您使用Lattice Diamond软件(2.0.1版)为MachXO2分线板评估套件创建简单项目。该项目通过4-8位数据编码器控制LED阵列的闪烁模式。振荡器设置为133MHz;可通过修改"N"参数或振荡器频率调节闪烁频率。默认计数器设置为28位。适用于两个版本的评估套件。教程涵盖新建项目、代码录入、内部振荡器使用、编译、引脚分配及板卡编程等内容。另有独立教程讲解仿真部分。本教程使用的开发板为MachXO2分线板(LCMXO2-7000HE,DigiKey料号220-2625-ND,近期已取代LCMXO2-1200ZE-B-EVN,DigiKey料号220-1298-ND)。这两款均为低成本可编程逻辑器件(PLD)开发板。MachXO2是搭载硬化ASIC门电路嵌入式功能块(EFB)的低功耗FPGA。
应用场景
创建新项目
选择"文件(File)→新建(New)→项目(Project)…“启动新建项目向导(New Project Wizard launche)。点击"下一步”(Next)。如图1所示输入项目名称及存储路径,点击"下一步"(Next)。
图 1. 新建项目名称与位置
本项目不使用现有源文件。点击"下一步"(Next)。
将器件系列指定为MachXO2,器件选择LCMXO2-7000HE或LCMXO2-1200ZE(根据您拥有的开发板版本),封装类型选择TQFP144,性能等级选择4(若使用7000HE)或1(若使用1200ZE),工作条件选择商用级。部分选项需优先选定,才能在下拉列表中显示正确的后续选项。完整器件型号LCMXO2-7000HE-4TG144C或LCMXO2-1200ZE-1TG144C将显示在部件名称文本框内,如图2所示。点击"下一步"(Next)。点击完成。
图 2. 器件选择
实例化片内振荡器与 Verilog 代码输入
创建新源文件需选择:文件(File)→新建(New)→文件…(File…)如图3所示,选择源文件类别及Verilog文件类型。命名新文件并点击新建(New)。
图 3. 创建一个Verilog源文件(New Verilog Source File)
振荡器模块必须在顶层架构中实例化,如随附的blinking_led.v文件所示。标称频率可通过模块"defparam"实例化定义,如图4所示。本设计运行频率为133MHz。
图 4. Verilog振荡器实例化代码片段
顶层Verilog封装模块名为"blinking_led"。其代码片段如图5所示。
图 5. 顶层模块
用于LED定时的计数器可在图6的“always”块中看到。
图 6. 计数器的“Always”块
该模块的最后一部分是“always”块,用于将计数器最高有效半字节编码为8位LED阵列上显示的1字节模式。这在下图7的代码片段中可见。
图 7. 四至八位数据编码器推断为ROM
引脚分配与编译
在Process窗格(Process Pane)中选择并双击“Translate Design”以执行综合与转换。如图8所示。
图 8. 引脚分配前的设计转换
接着选择Tools → Spreadsheet View。点击Spreadsheet View底部的Pin Assignments标签。向下滚动直至出现引脚107。双击引脚107的Signal Name列。Assign Signals对话框将如图9所示弹出。
图 9. 使用Spreadsheet View进行引脚分配
选择led0信号并点击Assign Signals,将其分配给引脚107、106、105、104、100、99、98和97。引脚107连接至MachXO2扩展板的LED D8,其余引脚分别连接至板上的D1。
返回Process窗格,勾选Export Files下的JEDEC File。双击Export Files执行映射(Map)、布局布线(Place & Route),并生成JEDEC编程文件。若提示保存修改文件,请确认。图10展示了成功完成的结果。
图 10. 成功完成综合、映射、布局布线与JEDEC文件生成
CPLD 编程
通过USB线将MachXO2开发板连接至电脑。
选择Tools → Programmer。如图11所示,"编程器:入门"对话框将打开。点击OK。
图 11. 打开入门对话框设置编程器
点击Program图标。设备将开始编程。完成后,状态指示变为绿色如图12所示。8个LED将以对称模式闪烁,每个LED点亮持续时间约250毫秒。
图 12. PLD编程与成功完成
功能、限制与修改
本教程使用Lattice Diamond 2.0.1版本开发,并得到Synopsys(Synplify Pro)软件支持。Lattice Diamond可作为独立开发环境,配合第三方综合与仿真软件使用。
结论
本教程通过Lattice Diamond软件和MachXO2开发板,演示了使用Verilog硬件描述语言创建简单项目的基本步骤。
附加信息
更多设计支持、产品教程、应用笔记、用户指南及其他文档可在Lattice官网查阅:https://www.latticesemi.com/zh-CN
附录
完整的MachXO2开发板HDL教程可在此处下载。
默认频率为2.08MHz。支持的频率(单位MHz,详见"blinking_led"模块注释)包括图13所列数值。
图 13. 内部振荡器支持频率












