**这是本文档旧的修订版!**

1. FPGA最小系统模块

基于小脚丫FPGA核心模块的FPGA学习平台是苏州思得普科技公司专门针对FPGA初学者打造的性价比最高、学习门槛最低的学习模块系列。系列中所有板子的大小兼容标准的DIP40封装,尺寸只有52mm x 18mm,非常便于携带;并通过MicroUSB端口(最先版本支持USB Type C接口)进行供电和下载,板上选用的芯片兼具了FPGA和CPLD的优点,瞬时上电启动,无需外部重新配置FPGA,是学习数字逻辑绝佳的选择。而且能够直接插在面包板上或以模块的方式放置在其它电路板上以即插即用的方式,大大简化系统的设计。

特色

  • 小巧 — 是目前市场上最小的FPGA开发板,只有一根食指大小。兼容DIP40封装,尺寸52mm*18mm,即插即用;
  • 方便 — MicroUSB供电,携带方便;
  • 易学 — 容易上手,只需花1到2个小时就能上手开始设计;
  • 强大 — 精心挑选的FPGA芯片,兼具CPLD和FPGA优点,瞬时上电无需外接配置Flash。是性价比最高最适合的FPGA芯片;
  • 灵活 — 既可作学习数字逻辑的FPGA开饭,也可作核心功能模块使用,适合各种DIY和原型设计;
  • 资源 — 丰富的实例、代码支持;

2. 扩展板卡

小脚丫FPGA模块是兼容标准DIP40封装的功能主板,但该板的功能有限,只是支持一些简单的按键和开关输入、LED/数码管输出,因此更多的功能可以通过扩展来实现,扩展的方式主要有以下三种:

  • 学习平台:如果需要更多的功能,一个DIP40大小的板子很难实现,可以做一个比较大的母板,小脚丫FPGA模块可以当成是核心器件/主控芯片来即插即用。由于小脚丫模块采用了DIP40的封装,能够用到的IO管脚只有20多个,因此如果扩展板上需要的IO管脚超过模块能够提供的管脚数量的话,我们采用一些方法对这些管脚进行复用,或者进行串变并的扩展
  • 综合训练板
  • 面包板: 小脚丫FPGA板可以当成一颗功能灵活的IC直接插在面包板上,不需要制作电路板就可以实现一些简单的功能,做一些基础的实验。

外设模块

3. 丰富、开源的项目示例

3.1 基础实验

  1. LED心跳灯: 也叫“心跳灯”,软件编程从“Hello world”开始,FPGA编程从点亮LED灯开始,通过这个最基本的功能掌握LED工作原理和了解Verilog程序基本结构
  2. 译码器: 掌握组合逻辑的设计
  3. 乘法器:掌握乘法器的设计
  4. 流水灯:掌握时钟分频、时序控制
  5. 序列检测器:掌握有限状态机的设计
  6. 7段数码管:掌握数码管的驱动显示

3.2 进阶实验

  1. 按键消抖:掌握按键去抖动的设计
  2. 脉冲发生器:掌握PWM波形发生的设计
  3. 呼吸灯:通过PWM来控制LED灯的亮度
  4. 三色灯颜色和亮度控制:通过控制RGB三个灯的亮度可以得到不同颜色和亮度的灯光效果
  5. 旋转编码器控制:通过相位检测
  6. LCD显示:掌握LCD液晶显示驱动的设计

3.3 高阶实验

  1. 带计时功能交通灯:
  2. 简易电子琴:
  3. 数字时钟:
  4. 任意波形产生:通过直接数字合成的方式从内建的波形表中按照相位控制字获取相应相位的波形幅度值,再通过DAC得到模拟的任意频率的信号,改变波形表中的信号波形,即可得到不同的模拟波形输出。
  5. 直流电压测量:通过SPI串行总线的低速模数变换器ADC将被测量的直流电压变换为数字量,在LED(8个)上通过点亮不同的LED显示其电压幅度,也可以通过4个7段发光数码管显示其电压值,或在LCD上以数字量的方式显示实际的电压值,将0-255的数字量转变为0-3.3V的直流电压值。

3.4 在FPGA内通过软核构成嵌入式系统

XO2-4000内部有足够的逻辑功能构成MCU中的ALU,内部的块RAM可以构成MCU需要的内部存储寄存器,另外XO2系列有硬化的SPII2C以及定时器功能,可以构成各种8位、32位的微处理器MCU,Lattice Diamond系统自带支持Wishbone总线的8位单片机MICO8单片机内核以及32位的MICO32处理器内核。据说这两个内核都是来自于著名的开源硬件网站www.opencores.org,在这个网站上可以看到各种经过工程师验证过的内核,比如8051、OpenRisc、AVR、MIPS32,有兴趣的同学可以移植到我们的小脚丫平台上。

FPGA大神Adam Taylor向FPGA开发者推荐的20个资源网站

4. 快速上手教程