学习VHDL的项目


16

我是一名EE学生,并且可以用比我的手指更多的语言编写[至少简单]的程序。我刚刚开始学习VHDL,我想知道真正了解该语言和相关工具的项目是什么?我遇到一个麻烦,因为对我来说这是一种完全不同的编程风格。

我做了一些简单的事情,例如加法器,但是我正在寻找一个更长期(例如一个月左右)的项目。

如果需要,我有Xilinx Webpack和Digilent Spartan3开发板。

Answers:


7

我的“ hello world” FPGA项目是一个带PWM和串行流输入的LED阵列控制器。最终结果很好(http://lbw.axe-man.org/led1.wmv),但是我承认我已经使用Altera Quartus Schematic Editor完成了其中的一部分,以了解如何描述VHDL部件。


这是一个好主意; 我刚捡起一个16x16的无控制器矩阵,控制器就很棒。整洁的视频!
杰里米

漂亮的视频!并使用该原理图编辑器。
莫妮卡

10

由于您似乎对编程感兴趣,因此可以构建一个简单的微处理器。


强烈推荐。你最终学习不仅事物的FPGA和VHDL的一面,却怎么也处理机的工作,有什么需要的开发工具的方式来支持处理器等
克里斯·斯特拉顿


4

我喜欢与汉斯在工作绣线菊间找来找去今年的Rekonstrukt项目在FPGA中建立一个基本的synthisizer。LED项目也不错,但是没有什么比将FPGA插入立体声音响更好的了。它不是像LED项目那样从头开始构建的,因为该项目基于支持前者的开放式核心处理器。因此,在开始时,您将学习如何在项目中基本加载FPGA,然后就可以使用FORTH中的包络了。但是,当您想添加功能时,就可以开始了解更多关于FPGA内部的知识,然后需要深入研究VHDL。


2

我喜欢做的一个项目是在FPGA上实现Milton Bradley Simon Game。

在我的大学里,我们的EDA班使用您提到的同一板。实施的一些项目包括:

  • 图像处理:中值滤波,直方图拉伸,边缘检测
  • 密码学:AES,各种哈希算法等。
  • 通信:以太网,USB,I2C等
  • 游戏:乒乓球,太空侵略者等

那可能会给你一些想法。

我将支持opencores.org的想法以及实现自己的微处理器。由于您具有Xilinx FPGA,因此您可能还会考虑使用微火或微微火做某事。

编辑:格式化。


1

我前一段时间为xilinx virtex核心编写了vhdl代码。这是一个闹钟的实现。这就是我所做的:

  • 通过vhdl手册阅读很多-我现在必须对其进行修改,但我发现它非常简单易用,它非常容易使用hdl :-)
  • 使用xilinx套件(编译器,合成器)获取比特流
  • 使用jtag上传比特流

漂洗,重复1-3。我要指出的是,比特流生成几乎全部集成在Xilinx的IDE中。您只需要具有清晰的逻辑集即可在HDL中实现;所有其余的东西都由IDE完成。


1

数控振荡器会很有趣。我刚刚使用Arduino兼容板进行了设计(请参见http://tinyurl.com/ydmz2su),但这对于FPGA来说是完美的。

这里有一些设计参考。

约翰·斯内尔(John Snell),1988年,“数字振荡器的设计,它将实时生成多达256个低失真正弦波”,这是计算机音乐的基础。马萨诸塞州剑桥:麻省理工学院出版社

Moore,F。Richard,1988年,“正弦数字振荡器的表查找噪声”,计算机音乐基础。马萨诸塞州剑桥:麻省理工学院出版社


0

我正在做的是制造一点CPU。这是涵盖所有基础知识的一种很好的四舍五入方法。

您将涵盖VHDL中大型项目的所有基础知识,并接触到VHDL设计中的所有核心主题(时钟,输入,输出,逻辑,总线和顺序设计最为突出)以及许多核心电子和计算机设计和架构概念,例如寄存器,数据操作,存储器和计算机算术。

您可以从加法和减法开始,然后在学习时添加更多功能,逐步发展为功能全面(虽然很简单,或者我更喜欢将其称为“复古”)计算机。至少那是我的计划。

另外,在芯片上拥有自己定制设计的计算机真是太酷了:)就像16位Raspberry Pi:P

其他常见的FPGA项目:

-音乐合成器

-DSP效果发生器

-MIDI控制器/中断器

-比特币矿工

-视频游戏机模拟器

-自定义Arduino护罩

-并行处理器(对于某些常规计算机不擅长的数学问题非常有用)

-机器人/控制系统

-数据采集(如果您知道如何使用运算放大器,那么很少有用于FPGA的示波器设计)

VHDL本身并不复杂。要记住的最重要的事情是,您正在设计物理电子数字电路,而不是为微控制器编写程序。基本上,您的模拟不是一个将逐行运行的程序,因此不要让与C的表象相似性欺骗您,VHDL是一个非常不同的范例。

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.