第一章 课程导入:紫光同创FPGA产品线介绍、学习目标、课程整体框架与学习方法

FPGA(现场可编程门阵列)作为数字电路设计领域的关键器件,其灵活性和并行处理能力使其在通信、工业控制、人工智能、视频处理等场景中扮演着不可替代的角色。长期以来,全球FPGA市场主要由海外厂商主导,而随着国产半导体产业的快速发展,以紫光同创为代表的国产FPGA厂商正逐步打破这一格局。紫光同创(Pango Micro)作为紫光集团旗下专注于FPGA研发与销售的高科技企业,其产品覆盖从低功耗CPLD到高性能千万门级FPGA的完整谱系,并提供了配套的PDS(Pango Design Suite)开发环境。本章作为整个课程的导入,将系统梳理紫光同创FPGA的产品线布局,明确本课程的学习目标,并给出课程的整体框架与高效学习方法,帮助学习者建立宏观认知,为后续的硬件开发与数字电路设计实践打下坚实基础。

紫光同创FPGA课程导入知识框架 紫光同创FPGA产品线 Titan系列(高性能) Logos系列(高性价比) Compact系列(低功耗) CPLD/SoC系列 PDS开发环境与设计流程 RTL设计 综合/布局布线 仿真/调试/下载 课程学习目标与框架 硬件架构认知 逻辑单元/IO/时钟 数字电路设计 Verilog/时序/状态机 接口与系统集成 UART/SPI/DDR/PCIe 调试与优化 时序收敛/功耗/排障 学习方法:理论 + 实验 + 项目实战 + 社区交流 以PDS工具链为核心,从点灯实验到复杂SoC系统设计

1.1 紫光同创FPGA产品线全景解析

核心原理:国产FPGA的差异化布局

紫光同创的FPGA产品线覆盖了从低密度到高密度、从纯逻辑到嵌入式SoC的完整梯度。理解其产品线是选型的第一步。其产品主要分为四大系列:Titan系列(如Titan-60、Titan-100)面向高性能计算与通信,采用先进的工艺节点,逻辑单元规模从数十万到上千万门,内置高速SerDes、PCIe硬核、DDR3/4控制器等,适用于基站、OTN传输、AI加速卡等场景;Logos系列(如Logos-25、Logos-50)主打高性价比与低功耗,在同等规模下价格更具竞争力,适合工业控制、视频采集、仪器仪表等中端应用;Compact系列(如Compact-9)面向低功耗、小封装需求,常用于电池供电的便携设备或接口桥接;CPLD与SoC系列则提供非易失性逻辑器件以及集成ARM Cortex-A系列处理器的异构平台,满足系统级集成需求。

判断方法:根据项目需求进行选型

在实际工程中,选型需综合评估逻辑资源(LUT/FF)、DSP单元数量、Block RAM容量、可用IO数量、高速收发器速率、封装尺寸与功耗预算。下表给出了典型选型参考维度:

需求维度 Titan系列 Logos系列 Compact系列
逻辑规模(LUT) 100K ~ 1M+ 25K ~ 100K 1K ~ 10K
高速接口 SerDes 12.5Gbps+ LVDS/MIPI SPI/I2C
典型应用 通信、AI、雷达 工业、视频、控制 消费电子、桥接
开发工具 统一使用PDS(Pango Design Suite)
经验提醒:初学者建议从Logos系列或Compact系列入手,其开发板价格亲民,且PDS工具对中小规模设计的编译速度更快,便于快速验证数字电路设计的基本概念。

1.2 课程学习目标与能力模型

核心原理:从“会用”到“会设计”的进阶

本课程的目标不是简单地教会你如何操作PDS软件,而是建立完整的国产FPGA硬件开发思维。具体而言,学完本课程后,你将具备以下能力:第一,能够独立完成紫光同创FPGA的板级硬件设计,包括电源树设计、时钟/复位电路、配置电路以及外围接口(如DDR、PCIe、LVDS)的硬件连接;第二,能够使用Verilog HDL进行数字逻辑设计,掌握时序逻辑、组合逻辑、状态机、FIFO等核心设计范式;第三,能够熟练运用PDS工具进行综合、布局布线、时序分析与在线调试(使用内置逻辑分析仪);第四,能够针对实际项目进行系统级方案设计,例如搭建一个基于FPGA的视频采集与显示系统。

操作流程:课程阶段划分

为了实现上述目标,课程内容被精心划分为四个递进阶段:

  1. 基础认知阶段(第1-5章):介绍FPGA内部结构(CLB、BRAM、DSP、IO)、紫光同创开发板资源、PDS工具安装与工程创建。
  2. 核心设计阶段(第6-15章):深入Verilog语法、组合/时序逻辑设计、有限状态机、跨时钟域处理、常用接口协议(UART、SPI、I2C)的实现。
  3. 系统集成阶段(第16-25章):涉及DDR3/4控制器、PCIe接口、LVDS高速传输、MIPI摄像头接口、嵌入式软核(如Pango SoftCore)集成等复杂系统设计。
  4. 调试与优化阶段(第26-30章):聚焦时序约束与收敛、功耗优化、芯片温度管理、板级信号完整性以及基于PDS的逻辑分析仪进行在线排障。
实战场景说明:例如,在“核心设计阶段”的UART协议实现中,你不仅要编写发送/接收模块,还需要在开发板上通过USB转串口工具与PC通信,观察数据波形。这一过程将理论(波特率计算、帧格式)与实践(引脚约束、硬件调试)紧密结合。

1.3 课程整体框架与学习方法

核心原理:工程化学习路径

FPGA学习最忌讳“只看不练”。本课程框架的设计遵循“硬件设计为骨、数字逻辑为肉、系统调试为魂”的理念。每一章都包含原理讲解、代码/电路实例、上机实验和常见错误分析。课程配套的PDS工具是紫光同创官方提供的免费开发环境,支持从RTL编辑、仿真到比特流生成的完整流程。学习方法上,建议采用“三遍法”:第一遍通读教材与课件,理解概念;第二遍跟着实验手册操作,记录每一步的现象与问题;第三遍脱离手册,独立完成一个类似的小项目(如LED流水灯升级为按键控制呼吸灯)。

案例拆解:一个典型的FPGA开发流程

以“点亮LED”这一经典实验为例,其完整流程如下:

  • 需求分析:确定LED连接在FPGA的哪个引脚,是高电平点亮还是低电平点亮。
  • 逻辑设计:编写Verilog代码,如 assign led = sw; 将开关状态直接赋给LED。
  • 综合与布局布线:在PDS中运行综合,查看资源利用率报告。
  • 引脚约束:在 .fdc 约束文件中将逻辑信号映射到物理引脚,并设置IO电平标准(如LVCMOS33)。
  • 生成比特流并下载:连接下载器,将 .bit 文件烧录至FPGA,观察硬件现象。

这个过程虽然简单,却涵盖了FPGA开发的全部核心步骤。在后续章节中,我们将逐步替换其中的“逻辑设计”部分为复杂的IP核或软核处理器,但流程骨架不变。

常见误区与总结复盘

风险提示:初学者最容易犯的错误是忽略时序约束。在简单LED实验中,不加约束可能也能工作,但一旦设计复杂度提升,时钟频率较高时,布局布线后的时序报告会出现大量违例,导致功能随机性错误。因此,从第一课开始就要养成编写完整约束文件的习惯。

此外,不要忽视硬件电路本身。FPGA是芯片,其正常工作依赖于稳定的电源(核心电压、IO电压)、准确的时钟源(晶振)和可靠的复位电路。在调试过程中,如果代码仿真正确但板级不工作,请优先使用万用表检查电源电压,使用示波器观察时钟波形,这往往能快速定位问题。