### Lattice公司ispLEVER培训教程FPGA设计流程详解
#### 一、ispLEVER简介
**ispLEVER**是一款由Lattice Semiconductor公司提供的全面的复杂可编程逻辑器件(CPLD)与现场可编程门阵列(FPGA)设计软件。它能够支持用户从初始的概念阶段一直贯穿至最终产品的完整设计过程。ispLEVER集成了多项强大的开发工具,包括但不限于设计输入、项目管理、知识产权(IP)集成、器件映射、布局与布线、以及在系统逻辑分析等功能。
**ispLEVER**不仅自身提供了一整套完善的工具链,而且还整合了业界领导者Synplicity与Mentor Graphics公司的第三方工具,用于综合和仿真操作。这些第三方工具的加入进一步提升了ispLEVER的功能性和灵活性,使得用户可以更加高效地完成各种复杂的设计任务。
在最新版本的**ispLEVER 6.0**中,该软件对最新的90纳米Lattice ECP2™和Lattice SC™系列高性能低成本FPGA提供了全面的支持。此外,它还引入了一个全新的高度集成的DesignPlanner界面,增强了针对原理图FPGA设计的支持,并且扩展了一个用户可配置的IPexpress™ IP核心库。这些改进显著提高了设计效率,并为用户提供了一个更为流畅的工作流程体验。
#### 二、ispLEVER的设计输入方法
**ispLEVER**支持多种设计输入方式,包括但不限于:
1. **原理图输入**:通过图形化的方式进行设计输入,适用于较为直观的设计需求。
2. **ABEL-HDL输入**:一种特定于Lattice的硬件描述语言,用于描述数字逻辑电路。
3. **VHDL输入**:一种广泛使用的硬件描述语言,被众多工程师所熟悉。
4. **Verilog HDL输入**:另一种常用的硬件描述语言,具有良好的可读性和易用性。
5. **EDIF输入**:一种标准化的数据格式,用于在不同的EDA工具之间交换设计数据。
6. **原理图和硬件描述语言混合输入**:结合了图形化和文本描述的优点,提供了更灵活的设计输入方式。
#### 三、ispLEVER的逻辑模拟
在设计过程中,逻辑模拟是非常重要的一步,它可以确保设计的功能正确性。**ispLEVER**支持以下两种类型的逻辑模拟:
1. **功能模拟**:验证设计的功能是否符合预期。
2. **时序模拟**:检查设计的时序特性是否满足要求。
#### 四、ispLEVER的编译器特性
ispLEVER的编译器支持以下功能:
1. **结构综合、映射、自动布局和布线**:这些步骤对于将设计转化为实际的物理布局至关重要,是FPGA设计流程中的关键环节。
#### 五、支持的器件类型
**ispLEVER**支持多种类型的器件,包括但不限于:
- 含有支持ispLSI器件的宏库及MACH器件的宏库、TTL库。
- 支持所有Lattice EC、Lattice ECP、Lattice SC、Lattice XP、ispLSI、ispMACH、ispGDX、GAL、Mach XO、ORCA FPGA/FPSC、ispXPGA和ispXPLD器件。
#### 六、ispLEVER的工具
除了上述提到的功能之外,**ispLEVER**还提供了以下工具来辅助设计流程:
- **DesignPlanner**:用于项目规划和管理。
- **EPIC Device Editor**:用于编辑设备特性。
- **IPexpress**:用于管理IP核心。
- **ispTRACY Core Linker**:用于链接IP核心。
- **ispVM**:虚拟模型工具。
- **ispTRACY Logic Analyzer**:逻辑分析工具。
- **PowerCalculator**:功耗计算工具。
- **Block Modular Design Wizard**:模块化设计向导。
- **Memory Initialization Tool**:内存初始化工具。
- **Synplify Synthesis**:Synplicity公司的综合工具。
- **Precisin Synthesis**:Mentor Graphics公司的综合工具。
- **ModelSim Simulator**:Mentor Graphics公司的仿真工具。
- **TCL**:脚本语言支持。
#### 七、ispLEVER开发工具的FPGA设计输入方法详解
启动ispLEVER并创建一个新的设计项目的过程如下:
1. **启动ispLEVER**:通过“开始”菜单中的“程序”选项找到Lattice Semiconductor,然后选择ispLEVER Project Navigator。
2. **创建新项目**:
- 选择菜单中的“文件(File)”。
- 选择“新建项目(New Project)”,这会打开Project Wizard窗口。
- 在Project Wizard窗口的“项目名称(Project Name)”栏中输入项目名称,例如“demo”。
- 在“位置(Location)”栏中指定项目的存储路径,例如“D:\design\ispLEVER_tutorial_example\”。
- 在“设计输入类型(Design Entry Type)”栏中选择输入方式,如“Schematic/VHDL”。
- 在“综合工具(Synthesis Tools)”栏中选择综合工具,如“Synplify”。
- 完成以上设置后,点击“下一步(Next)”按钮。
3. **选择器件**:
- 在Family栏中选择器件系列,例如“Lattice XP”。
- 在Device栏中选择具体型号,如“LFXP3C”。
- 在Speedgrade栏中选择速度等级,例如“-3”。
- 在Packagetype栏中选择封装类型,如“PQFP208”。
- 在Operating conditions栏中选择工作条件,如“Commercial”。
- 在Part Name栏中确认器件型号,例如“LFXP3C-3P208C”。
- 完成设置后,点击“下一步(Next)”按钮。
4. **添加源文件**:
- 直接点击“下一步(Next)”按钮。
5. **完成项目创建**:
- 在最后的窗口中点击“完成(Finish)”按钮。
以上步骤详细介绍了如何使用**ispLEVER**进行FPGA设计的基本流程,从项目的创建到具体的设计输入方式都有涉及。这些步骤为初学者提供了一个清晰的指导框架,有助于他们更好地理解和掌握ispLEVER的使用方法。
1