Answers:
我的“ hello world” FPGA项目是一个带PWM和串行流输入的LED阵列控制器。最终结果很好(http://lbw.axe-man.org/led1.wmv),但是我承认我已经使用Altera Quartus Schematic Editor完成了其中的一部分,以了解如何描述VHDL部件。
您应该查看opencores.org并在那里找到一个有趣的项目。您还可以下载Sigasi HDT,这将帮助您加快VHDL语法的速度。
我喜欢与汉斯在工作绣线菊间找来找去今年的Rekonstrukt项目在FPGA中建立一个基本的synthisizer。LED项目也不错,但是没有什么比将FPGA插入立体声音响更好的了。它不是像LED项目那样从头开始构建的,因为该项目基于支持前者的开放式核心处理器。因此,在开始时,您将学习如何在项目中基本加载FPGA,然后就可以使用FORTH中的包络了。但是,当您想添加功能时,就可以开始了解更多关于FPGA内部的知识,然后需要深入研究VHDL。
数控振荡器会很有趣。我刚刚使用Arduino兼容板进行了设计(请参见http://tinyurl.com/ydmz2su),但这对于FPGA来说是完美的。
这里有一些设计参考。
约翰·斯内尔(John Snell),1988年,“数字振荡器的设计,它将实时生成多达256个低失真正弦波”,这是计算机音乐的基础。马萨诸塞州剑桥:麻省理工学院出版社
Moore,F。Richard,1988年,“正弦数字振荡器的表查找噪声”,计算机音乐基础。马萨诸塞州剑桥:麻省理工学院出版社
我正在做的是制造一点CPU。这是涵盖所有基础知识的一种很好的四舍五入方法。
您将涵盖VHDL中大型项目的所有基础知识,并接触到VHDL设计中的所有核心主题(时钟,输入,输出,逻辑,总线和顺序设计最为突出)以及许多核心电子和计算机设计和架构概念,例如寄存器,数据操作,存储器和计算机算术。
您可以从加法和减法开始,然后在学习时添加更多功能,逐步发展为功能全面(虽然很简单,或者我更喜欢将其称为“复古”)计算机。至少那是我的计划。
另外,在芯片上拥有自己定制设计的计算机真是太酷了:)就像16位Raspberry Pi:P
其他常见的FPGA项目:
-音乐合成器
-DSP效果发生器
-MIDI控制器/中断器
-比特币矿工
-视频游戏机模拟器
-自定义Arduino护罩
-并行处理器(对于某些常规计算机不擅长的数学问题非常有用)
-机器人/控制系统
-数据采集(如果您知道如何使用运算放大器,那么很少有用于FPGA的示波器设计)
VHDL本身并不复杂。要记住的最重要的事情是,您正在设计物理电子数字电路,而不是为微控制器编写程序。基本上,您的模拟不是一个将逐行运行的程序,因此不要让与C的表象相似性欺骗您,VHDL是一个非常不同的范例。