差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
fpga_project_basic [2021/01/06 22:52] gongyu |
fpga_project_basic [2021/08/16 13:58] (当前版本) gongyu |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ### FPGA入门基础项目 | + | ## 小脚丫FPGA核心板上的基础项目 |
- | --- | ||
**此部分为FPGA初学者入门项目,以STEP MXO2和MAX10两款小脚丫核心板硬件为例(它们的GPIO管脚配置不同),使用Verilog作为编程语言,目的是让初学者快速了解基本的逻辑实现和FPGA的编程过程,我们由浅入深,从如何点亮LED、数码管到利用状态机去完成交通灯的设计。** | **此部分为FPGA初学者入门项目,以STEP MXO2和MAX10两款小脚丫核心板硬件为例(它们的GPIO管脚配置不同),使用Verilog作为编程语言,目的是让初学者快速了解基本的逻辑实现和FPGA的编程过程,我们由浅入深,从如何点亮LED、数码管到利用状态机去完成交通灯的设计。** | ||
\\ | \\ | ||
- | #### 实验一 点亮LED | + | ### 实验一 点亮LED |
对于很多刚刚接触电子硬件的人来说,第一件事就是点亮LED,在这个例程里,我们通过配置FPGA的GPIO的端口电平,实现对外围设备(此处为LED)的逻辑控制。\\ | 对于很多刚刚接触电子硬件的人来说,第一件事就是点亮LED,在这个例程里,我们通过配置FPGA的GPIO的端口电平,实现对外围设备(此处为LED)的逻辑控制。\\ | ||
\\ | \\ | ||
行 10: | 行 9: | ||
* [[Altera_1led|Altera MAX10: 点亮LED灯]] | * [[Altera_1led|Altera MAX10: 点亮LED灯]] | ||
- | #### 实验二 RGB LED | + | ### 实验二 RGB LED |
成功点亮了普通的LED,试试看点亮三色的LED,光学三基色的混合能够产生什么?\\ | 成功点亮了普通的LED,试试看点亮三色的LED,光学三基色的混合能够产生什么?\\ | ||
\\ | \\ | ||
行 16: | 行 15: | ||
* [[Altera_2rgbled|Altera MAX10: 点亮RGB三色灯]] | * [[Altera_2rgbled|Altera MAX10: 点亮RGB三色灯]] | ||
- | #### 实验三 3-8译码器 | + | ### 实验三 3-8译码器 |
数字电路中3-8译码器在理解数制与码制的概念中起了十分重要的作用,本例程实现了利用三个拨码开关作为输入,8个LED作为输出的3-8译码器。\\ | 数字电路中3-8译码器在理解数制与码制的概念中起了十分重要的作用,本例程实现了利用三个拨码开关作为输入,8个LED作为输出的3-8译码器。\\ | ||
\\ | \\ | ||
行 22: | 行 21: | ||
* [[Altera_3ymq|Altera MAX10: 3-8译码器]] | * [[Altera_3ymq|Altera MAX10: 3-8译码器]] | ||
- | #### 实验四 数码管显示 | + | ### 实验四 数码管显示 |
小脚丫开发板上有两位7段数码管,本例程展示了如何显示任意数字。\\ | 小脚丫开发板上有两位7段数码管,本例程展示了如何显示任意数字。\\ | ||
\\ | \\ | ||
行 29: | 行 28: | ||
- | #### 实验五 时钟分频 | + | ### 实验五 时钟分频 |
对于时序电路而言,时钟无疑是最重要的组成部分,如何利用系统时钟产生设计所需的时钟周期也是必须所掌握的的技能。 | 对于时序电路而言,时钟无疑是最重要的组成部分,如何利用系统时钟产生设计所需的时钟周期也是必须所掌握的的技能。 | ||
\\ | \\ | ||
行 35: | 行 34: | ||
* [[Altera_5clk|Altera MAX10: 时钟分频]] | * [[Altera_5clk|Altera MAX10: 时钟分频]] | ||
- | #### 实验六 LED流水灯 | + | ### 实验六 LED流水灯 |
时钟分频做好了之后,如何利用新得到的时钟做一个流水灯? | 时钟分频做好了之后,如何利用新得到的时钟做一个流水灯? | ||
\\ | \\ | ||
行 41: | 行 40: | ||
* [[altera_6led|Altera MAX10: LED流水灯]] | * [[altera_6led|Altera MAX10: LED流水灯]] | ||
- | #### 实验七 按键消抖 | + | ### 实验七 按键消抖 |
按键若未做去抖动将引起误判定,本例程将介绍多种去抖动的方法。 | 按键若未做去抖动将引起误判定,本例程将介绍多种去抖动的方法。 | ||
\\ | \\ | ||
行 47: | 行 46: | ||
* [[altera_7deb|Altera MAX10: 按键消抖]] | * [[altera_7deb|Altera MAX10: 按键消抖]] | ||
- | #### 实验八 计时控制 | + | ### 实验八 计时控制 |
用小脚丫做一个计时器或者电子表是不是很酷。 | 用小脚丫做一个计时器或者电子表是不是很酷。 | ||
\\ | \\ | ||
行 53: | 行 52: | ||
* [[altera_8timer|Altera MAX10: 计时控制]] | * [[altera_8timer|Altera MAX10: 计时控制]] | ||
- | #### 实验九 脉宽调制 | + | ### 实验九 脉宽调制 |
让你的LED“呼吸”起来! | 让你的LED“呼吸”起来! | ||
\\ | \\ | ||
行 59: | 行 58: | ||
* [[altera_9breath|Altera MAX10: LED呼吸灯]] | * [[altera_9breath|Altera MAX10: LED呼吸灯]] | ||
- | #### 实验十 状态机 | + | ### 实验十 状态机 |
状态机设计方法对于FPGA的设计来说至关重要,本例程即利用状态机去完成交通灯功能的实现。 | 状态机设计方法对于FPGA的设计来说至关重要,本例程即利用状态机去完成交通灯功能的实现。 | ||
\\ | \\ | ||
* [[10. 交通灯|Lattice MXO2: 交通灯控制]] | * [[10. 交通灯|Lattice MXO2: 交通灯控制]] | ||
* [[altera_10tra|Altera MAX10: 交通灯控制]] | * [[altera_10tra|Altera MAX10: 交通灯控制]] |