我是一名自学成才的嵌入式开发人员。我主要使用用 C 和 ASM 编写的 AVR,但我也涉足过其他系统。我希望转向更复杂的设备,如 CPLD 和 FPGA,但我不知道从哪里开始。所以我的一个半问题是:
- 您更喜欢 VHDL 还是 Verilog,为什么?
- 对于没有 HDL 经验的人开始学习这样的野兽,有什么好方法?
从 Xilinx 或 Altera(两大 FPGA 厂商)购买便宜的入门套件。Xilinx Spartan3 入门套件售价 200 美元。
我个人更喜欢VHDL。它是强类型的,并且具有比 Verilog 更高级的功能。VHDL 在欧洲更流行,而 Verilog 在美国占主导地位。
购买一本书(例如 Peter Ashendens The Designers Guide to VHDL)并开始在免费模拟器中模拟您的设计。Mentor Graphis 的 ModelSim 是一款不错的产品,并且有免费版本可用(仿真速度较慢)。
制作一些有趣的项目(迷你 cpu、vga 图形、合成器)并开始设计。在将您的设计放入硬件之前,请始终模拟并确保您的设计工作......
如果您没有数字电子学背景,也可以购买该主题的书籍。
早在我从事 ASIC 设计工作的时候,它就在 verilog 中。在许多情况下,作为设计人员,您无法选择:用于 HDL 的 ASIC 综合工具要花费大量资金,而且公司只为一种“有福的”语言购买完整的工具链。我的雇主已经标准化了 verilog,所以这就是我们使用的。
FPGA 综合工具要便宜得多,因此作为 FPGA 设计人员,您可以更自由地选择您喜欢的语言和工具。
verilog.net上也有免费的 verilog 模拟器。
正如@kris 提到的,FPGA 入门板也是一个不错的选择。让您的 verilog 代码点亮板上的 LED 比屏幕上的模拟器波形更令人满意。
另请查看opencores.org - 有一些文章和大量的 Verilog 和 VHDL 开源代码可供您学习。
据我所知,VHDL vs Verilog 就像 Ruby vs Python 或 Java vs C# 一样虔诚。不同的人有自己的喜好。
看看这个网站: http ://www.fpga4fun.com/
使用简单工具的漂亮简单项目。几年前,我使用其中一个板构建了一个小型 VGA 显示系统,用作布告板。
再次查看该站点,我正在考虑购买 Xylo-LM 板,因为它具有 ARM 处理器以及 SDRAM 和 Xilinx Spartan 3e。
我之前使用的另一块板是 Charmed Labs 的 XPort 2。这插入了一个受到开源开发工具良好支持的 Gameboy Advance。
查看: http ://www.charmedlabs.com/index.php?option=com_virtuemart&page=shop.browse&category_id=6&Itemid=43
要考虑的另一件事是,您是应该从学习 HDL 开始,还是从学习布尔逻辑、卡诺图、德摩根定理、门、在门中实现算术等开始。如果不这样做,编写不可综合的 HDL 很容易对底层硬件的外观有一个准确的心理模型。
这本书是我在本科时使用的那本书的 Verilog 版本,在我看来它做得很好。它从上面提到的材料开始,以及关于门的晶体管级实现的一些基本信息,然后向您介绍 HDL,并让您逐步构建更复杂的结构和行为硬件块。是的,我知道它非常昂贵,就像大多数大学教科书一样,但这是我能够在网上找到的信息之一,至少,严重不足。
一旦您准备好选择 HDL,我衷心推荐 Verilog(首先学习了 VHDL)。是的,VHDL 曾经比 Verilog 功能丰富得多,但是该语言的后续版本(Verilog 2001、Verilog 2005、SystemVerilog 等)已经精心挑选了大多数有趣的功能,并且有更强大的工具链支持如今,对于 Verilog 及其变体,除了它是美国使用的主要语言之外(根据我的经验,VHDL 仅在处理极端遗留块时在这里使用,并且在学术环境中,部分原因是提到的工具支持之前)。最后,一旦您学习了 HDL,您就可以在 SystemVerilog 中使用具有严格超集语法的硬件验证语言 (HVL),为您节省大量的学习曲线。据我所知,VHDL 并非如此。
Altera 和 Xilinx 在他们的免费工具集中内置了模拟器。它们是非常流行的 Mentor ModelSim 工具的有限版本。他们将处理您可能适合在 < 500 美元(美国)板上的设计尺寸。
对于 HDL 选择 Verilog 对于 C 就像 VHDL 对于 ADA 一样。所以 Verilog 更容易上手,但你也更容易犯错。检查您的模拟和编译警告以避免这些问题。
高温高压
Verilog 更容易学习和更简单的语法。它也是一种较新的语言。其次,大多数人使用verilog。VHDL 有许多数据类型,这给它一个学习曲线。一旦您了解了verilog,就可以更轻松地弥合与VHDL的差距。哦,verilog 中也有非常简洁的宏。我用它发明了一种语言。最后,您最终将能够进行混合语言硬件设计。我从 VHDL 开始,然后学习了 verilog,现在我是 pro verilog。
一个学期前,我和你现在在同一条船上。我最喜欢的书是这本书,因为它通过回顾数字逻辑来讨论 FPGA。它还显示了 VHDL 和 Verilog 代码的并排比较,因此,您无需选择人们可能会推动您使用的一种,而是可以从风格上学习您喜欢的一种。
至于 FPGA 本身,请使用 Xilinx 的ISE webpack进行编程(它是免费的),并从像Basys2 FPGA board这样的 FPGA 开始。它是一个非常小的 FPGA,应该可以让您以较低的价格开始使用,但它还有一个额外的优势,即您可以很早地学习资源和内存管理。您可以使用 Digilent 的Adept(也是免费的)让您轻松地将“编译”代码上传到板上。
祝你好运!
在深入研究 Verilog/VHDL 或购买 FPGA 开发套件之前,我建议参加数字设计入门课程。有很好的在线OpenCourseWare MIT课程。
祝你好运。