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

FPGA入门基础项目

此部分为FPGA初学者入门项目,以STEP MXO2小脚丫核心板硬件为例,使用Verilog作为编程语言,目的是让初学者快速了解基本的逻辑实现和FPGA的编程过程,我们由浅入深,从如何点亮LED、数码管到利用状态机去完成交通灯的设计。

实验一 点亮LED

对于很多刚刚接触电子硬件的人来说,第一件事就是点亮LED,在这个例程里,我们通过配置FPGA的GPIO的端口电平,实现对外围设备(此处为LED)的逻辑控制。

实验二 RGB LED

成功点亮了普通的LED,试试看点亮三色的LED,光学三基色的混合能够产生什么?

2. RGB LED 2. RGB LED

实验三 3-8译码器

数字电路中3-8译码器在理解数制与码制的概念中起了十分重要的作用,本例程实现了利用三个拨码开关作为输入,8个LED作为输出的3-8译码器。

3. 3-8译码器 3. 3-8译码器

实验四 数码管显示

小脚丫开发板上有两位7段数码管,本例程展示了如何显示任意数字。

4. 数码管显示 4. 数码管显示

实验五 时钟分频

对于时序电路而言,时钟无疑是最重要的组成部分,如何利用系统时钟产生设计所需的时钟周期也是必须所掌握的的技能。
5. 时钟分频 5. 时钟分频

实验六 LED流水灯

时钟分频做好了之后,如何利用新得到的时钟做一个流水灯?
6. LED流水灯 6. LED流水灯

实验七 按键消抖

按键若未做去抖动将引起误判定,本例程将介绍多种去抖动的方法。
7. 按键消抖 7. 按键消抖

实验八 计时控制

用小脚丫做一个计时器或者电子表是不是很酷。
8. 计时控制 8. 计时控制

实验九 脉宽调制

让你的LED“呼吸”起来!
9. 呼吸灯 9. 呼吸灯

实验十 状态机

状态机设计方法对于FPGA的设计来说至关重要,本例程即利用状态机去完成交通灯功能的实现。
10. 交通灯 10. 交通灯