FPGA上的新手项目?


11

我距离完成我的第一门大学数字逻辑设计课程还有两个星期的时间,而且显然不会有期末考试,只是一个乏味的期末考试。

因此,正如任何好奇的学生会做的那样,我研究了FPGA的实际含义以及在课堂上我一饱眼福。而且我决定完成一个简单的FPGA项目。我正在使用Basys2 Spartan-3E FPGA,并且对数字逻辑很熟悉,并且使用ISE来推动逻辑门,但是我不知道VHDL / Verilog(我敢肯定我会很容易地将其拾起)。

有没有人对初学者有任何项目构想?我做了很多实验室演示,但是没有什么花哨的。


愿望清单:1080p视频显示,...我停在那里说什么:-)
罗素·麦克马洪

1
检查fpga4fun.com网站。
armf 2011年

3
当心fpga4fun.com开发板。他们的文档简直是废话,他们拒绝发布dev-board原理图
康纳·沃尔夫,

Answers:


5

我发现Pong Chu的“ Verilog示例的FPGA原型:Xilinx Spartan-3版本”是一本非常有用的书。它的意思是与您提到的Spartan-3板不同,但仍应有所帮助。

如果您愿意的话,还有一个VHDL版本


4

从外观上看,您具有VGA。视频总是引起我的兴趣:)

这是您可能要尝试的计划(不需要帧缓冲区):

  1. 获得纯彩色VGA屏幕显示
  2. 显示从黑色到纯色的水平渐变
  3. 现在从黑色垂直变为红色,从黑色垂直变为绿色3a。(使您可以实时渲染更有趣的算法指定背景)
  4. 创建一个简单的Sprite引擎,它将在任意位置覆盖一个小的任意形状-您可以将1 BRAM用于Sprite数据
  5. 显示一些不同的精灵(每个精灵1个BRAM)
  6. 创建一些更新逻辑以使子画面弹回(并互相反弹)-向子画面逻辑添加碰撞检测。
  7. 创建一个可以用开关控制的“桨状”精灵,用它来阻止精灵离开屏幕
  8. 添加一些计分机制

我认为这应该都适合250E。(就FPGA而言,VGA时钟较慢,因此您可以使用DCM将其乘以4-8倍,从而允许一个子画面引擎在一个以上的子画面实例上进行多路复用)


3

仓鼠(Hamster)编写的这个免费的在线课程非常了不起,并且牢记Basys 2Nexys 2

我个人使用Basys 2,并从本课程中学到了很多东西。它涵盖了Basys董事会的各个方面以及许多使大多数项目无法完成的项目的概念。


2

与其他所有内容一样,从hello world项目开始,在这种情况下-使LED闪烁-并使它的周期变量变有趣。

为此,您需要学习如何在Verilog / VHDL中构建计数器。这是学习HDL复杂性的一个好的开始,因为您将学习如何:

  1. 推断硬件操作-使用RTL代码而不是门级代码。您将学习如何使用RTL代码设计可预加载,可重置的递增/递减计数器。
  2. 了解如何进行同步设计-无论如何,这是大多数FPGA的优点,并且是几乎所有数字系统设计的基础。
  3. 了解如何与外部接口-使用FPGA的I / O。这将教您如何在FPGA上配置和实现功能。

完成后,转到opencores,开始在更大的项目上破解。您会在这里找到一些其他有趣的项目,其中包括您的会员。:)


1

马丁建议您具有VGA功能。

像样的“相框”如何比通常提供的照片更好地控制照片呢?

  • 大多数子目录处理不佳。

  • 几乎没有一种允许随机显示排序-当您有大量照片时,这是一个非常重要的优势。

  • 能够根据所选照片组成幻灯片演示,这是一项奖励。(有关示例,请参见Irfanview)。

  • 加分-增加MP3播放功能。将音乐与照片交错。

  • SD Flash数据存储。

  • USB?

  • 802.11?(太多希望了。)



0

Hamblen等人的书中充满了有关Altera Cyclone DE1和DE2开发板的有趣项目。提供了VHDL代码。在您的Spartan-3E板上实现其中的一些功能。


0

首先要做的事情之一就是下载(从供应商或发烧友网站下载)并构建一个将输入与输出挂钩的框架项目-在没有经验之前,开始工作可能会非常沮丧。

然后,您可以开始在逻辑之间插入逻辑-在状态机中像您在课堂上一样使用人为的示例,或者在更复杂的状态机(例如其他人推荐的视频生成器)中使用。更复杂的模块,例如简单的DIY处理器等。


0

当我上VHDL课程时,我用一个带一些指令,存储器通信和微指令定序器的ALU制作了一个微处理器。它所花费的时间比您预期的要长,特别是如果您要使其坚固。


同上(必须是讲师的最爱)。这是一个令人惊讶的好挑战,这让我真正考虑了处理器的实际工作方式。
Al Bennett
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.