---- ==== FPGA介绍 ==== ---- 近来,人工智能、云计算的浪潮席卷了整个科技界,其中有一个电子人并不陌生的概念——FPGA,呈现出前所未有的高大上姿态。实际上FPGA已经不是一个新面孔了,在数字电路中,小到最基本的数字逻辑,大到复杂的通信网络、视频编解码系统乃至ASIC原型设计,FPGA的身影已经无处不在。 FPGA以其灵活的可编程特点、高速的数字逻辑执行能力和并行的工作机制,在数字电路设计中越来越受到重视。今天,如果一个研发的数字电路板上没有FPGA,这个研发项目的技术含量基本不高;如果一个工程师不会使用FPGA,那他肯定不是一个好的硬件工程师;如果一个高校的电子系没有开设FPGA的课程,这个学校一定是对学生的未来不负责。 \\ FPGA真的那么高大上,真的高不可攀吗???然而并不是!!! \\ 当你看到这段文字的时候,你已经在迈向FPGA的大门了,一个让你从FPGA小白成长为技术大佬的机会来了! \\ 如果你还不了解FPGA,请先看一下[[what_is_fpga|什么是FPGA]]和[[fpga_start|FPGA快速入门]] ---- ==== 开发平台 ==== ---- STEP小脚丫FPGA学习平台是思得普信息科技公司专门针对FPGA初学者打造的一款性价比最高、学习门槛最低的学习模块系列。系列中所有板子的大小兼容标准的DIP40封装,尺寸只有52mm x 18mm,非常便于携带;并通过MicroUSB端口进行供电和下载,板上选用的芯片兼具了FPGA和CPLD的优点,瞬时上电启动,无需外部重新配置FPGA,是学习数字逻辑绝佳的选择。而且能够直接插在面包板上或以模块的方式放置在其它电路板上以即插即用的方式,大大简化系统的设计。 \\ \\ STEP-MXO2-C专用版是专为[[http://www.eefocus.com|与非网]]主办的[[fpga_contest|FPGA万人大赛]]打造的比赛平台,并配备STEP团队最新研发的MCU编程器。 \\ STEP-MXO2-C专用版功能和配置与[[STEP-MXO2第二代]]几乎完全同时,唯一的差别在于FPGA程序下载方式不同。STEP-MXO2-C没有采用USB-JTAG的模式下载,而是通过MCU虚拟U盘,拷贝FPGA配置文件到U盘的方式下载程序。 \\ 点击了解[[STEP-MXO2-C|STEP-MXO2-C硬件资源]] 。\\ 当然您也可以用使用STEP-MXO2第二代开发板。点击了解:[[step-mxo2第二代|基于Lattice MXO2 FPGA的二代版本STEP-MXO2]] \\ \\ [[STEP-MXO2-C|{{ :step-mxo2-c拼合.png?900 |STEP-MXO2-C}}]] \\ {{:step-mxo2-c大赛专用版硬件手册v1.1.pdf|}} \\ {{:step-mxo2-c大赛专用版软件手册v1.1.pdf|}} \\ {{:step-mxo2-c_v1.1原理图.pdf|}} \\ ---- ==== 快速上手 ==== ---- 即使你之前没有用过FPGA,没有关系,下面只需4步即可完成一个简单的FPGA设计。 * 安装Lattice Diamond软件 * 设计一个LED闪烁的程序 * 仿真查看功能是否正确 * 下载程序到FPGA 点击查看[[快速上手step-mxo2-c|STEP-MXO2-C快速上手详细操作步骤]] [[快速上手step-mxo2-c|{{ ::mxo2-c-下载连接.png?800 |}}]] ---- ==== 入门教程 ==== ---- 到这里我们已经了解了用Diamond软件进行FPGA开发的完整流程,接下来我们开始一步一步进入可编程逻辑的世界。如果你对FPGA还是比较陌生,可以点击查看[[fpga快速入门|]],以对FPGA有一个快速的认识。 \\ 下面我们提供了一些FPGA的入门教程,你可以在小脚丫STEP MXO2-C板上实验所有的例程,点击[[STEP-MXO2入门教程|开始学习STEP-MXO2入门教程]]。 * [[1. 点亮LED]] * [[2. RGB LED]] * [[3. 3-8译码器]] * [[4. 数码管显示]] * [[5. 时钟分频]] * [[6. LED流水灯]] * [[7. 按键消抖]] * [[8. 计时控制]] * [[9. 呼吸灯]] * [[10. 交通灯]] ---- ==== 设计进阶 ==== ---- 如果你已经完成了[[STEP-MXO2入门教程|FPGA的入门教程]],而且对小脚丫开发板以及Verilog的编程有了初步了解。下面可以学习用FPGA来驱动一些更复杂的外设了,比如温度传感器、显示模块或是SPI/IIC总线接口,我们提供了一些参考案例,点击学习[[step-mxo2外设驱动|]],这些案例可能需要用到面包板或者[[STEP-Baseboard|小脚丫扩展底板]]。 \\ * [[矩阵按键模块]] * [[旋转编码器模块]] * [[蜂鸣器模块]] * [[数码管模块]] * [[温度传感器模块]] * [[PS2键盘模块]] * [[UART串口模块]] * [[DAC数模转换模块]] * [[ADC数模转换模块]] * [[VGA显示模块]] * [[LCD显示模块]] ---- ==== 项目实战 ==== ---- 通过以上的学习相信你已经对小脚丫FPGA和Verilog编程驾轻就熟了,在这里我们将通过小脚丫来实现一些有趣的小项目,体会FPGA的强大和灵活。 \\ 大赛提供了基于小脚丫FPGA的多种功能扩展模块,可以实现很多有意思的项目。点击了解[[project|功能模块]]。 \\ ^[[ext_piano|{{ ::piano_shield.jpg?240|}}]] | ^[[ext_sensor|{{ ::sensor_board.jpg?250|}}]] | ^[[ext_dot|{{ ::dot_matrix.jpg?300|}}]] | ^[[ext_extend|{{ ::extend_board.jpg?290|}}]]^ 接下来发挥你的想象力和创造力,跟众多FPGA爱好者一决高下吧! \\ Enjoy it! ----