我如何学习HDL


24

我这学期有一门数字设计课程,并且很喜欢。现在,我知道嵌入式系统和数字设计中的大多数工作都是先在计算机模拟器上完成,然后再使用硬件实现。所以我想知道如何学习HDL。我有几个问题

  1. 什么?我不知道标准是什么,但想学习哪种标准很容易掌握。我知道大多数HDL都是为与FPGA一起使用而设计的,那不是我的意思。
  2. 怎么样?我应该阅读带有独立示例的教科书,还是应该从事诸如实施小型系统的项目(可能类似于交通信号灯控制)。
  3. 哪里?我从哪里可以获得资源?

1
您能说明您想要从HDL中获得什么吗?大多数HDL设计为与FPGA配合使用,因为多数人需要FPGA。通常,模拟器(根据图形原理图)用于非FPGA和非ASIC电路设计。您要构建:(1)分立数字电路,即74XX组件,(2)模拟电路,即开关稳压器,RF天线/收发器,通用运算放大器电路,或(3)模拟混合信号电路,即接口在数字和模拟信号之间。
凯文·维米尔

我想我想学习HDL来描述硬件。那就是1、2和3。另外,我希望它不是特定于FPGA的,因为我没有获得这些的权限或财力。
Rick_2047 2010年

我想我想学习HDL来描述硬件。那就是1、2和3。另外,我希望它不是特定于FPGA的,因为我没有获得这些的权限或财力。我认为主要是想使用HDL模拟我的想法。我今年的一项主要计划是制造自己的计算机。我想我将为此使用74xx。这就是为什么要检验我的理论和电路,提出HDL的想法。
Rick_2047 2010年

Answers:


8

您能否阐明要使用的HDL?选择基本上是Verilog或VHDL,[编辑],以及它们的亲属,Verilog-ASMVHDL-ASM(模拟混合信号)。[/ EDIT] Verilog具有类似C的语法,如果您以前使用过C,则更容易上手,但这也易于养成不良习惯-您无法使用C编程硬件,因为全部平行!就像C一样,它假设您知道自己在做什么,并且很容易用脚射击。VHDL迫使您以完全不同的方式思考,这是有帮助的,但很困难。它比较冗长,如果您做奇怪的事情,也更有可能警告您。请参阅此Slashdot讨论本文

编辑: “网表语言”不是我在设计工作中使用过的(在文本编辑器中),但是我想可以。SPICE,Cadsoft Eagle的格式和EDIF都是我想到的示例(目的各不相同)。我只使用网表来验证我的原理图是正确的(Eagle原理图中的每个连接是否有意义),调整模拟器提供的抽象(SPICE,类似于在C中使用ASM语句的方式),或者在不同程序(EDIF)之间进行导出/导入。
幽灵网表语言相关的Verilog-A [nalog]和SPICE,并且是专为设计和验证工作。 桅杆是一种与Verilog-AMS和VHDL-AMS兼容的组件建模语言。搜索有关这些语言的教程,可以发现通常使用类似于原理图捕获实用程序的工具,而不是使用网表语言本身进行编程。

我还将支持Xilinx Spartan FPGA和Digilent开发板。但是,如果您不需要O Engenheiro提到的入门板上的以太网(150美元)(带教育折扣的价格),那么我会选择Basys(60美元)或Nexys(100美元)。Basys和Nexys价格便宜,因此在学校更受欢迎,因此在线上有更多的教程和实验室。


我想知道学习所谓的“网表”语言是否比学习Verilog或VHDL有益还是容易?
Rick_2047 2010年

很难说。这取决于您要使用的语言。在深入研究六种语言的每种排列方式和大量使用案例的方式和位置之前,我们能否更好地了解您想做什么以及要使用哪种语言?
凯文·维米尔

9

我和你的处境差不多。

我在做什么:

我在所学习的大学里上过免费的非常基本的VHDL课程。我玩过Spartan 3E板

所以,我买了棋盘,我将开始比赛。

我的一个朋友推荐了这些书:

  1. 数字系统快速原型开发,詹姆斯·奥汉伯格,迈克尔·弗曼
  2. Doone出版物-HDL 芯片设计,Douglas J Smith

而且他也建议此文档:

Xilinx综合与仿真设计指南


1
我第二本《汉伯恩和弗曼》一书。我设计了自己的小巧的Altera Flex 10K10板,并且能够将其与书中的大多数代码一起使用。这是一本烹饪书,但更糟糕的是。
莱昂·海勒

4
  1. HDL有两种语言,分别是VHDL和Verilog,请问您的教授该如何学习,并尝试看一下它的工作原理:语法以及如何在此基础上构建模块,并对所有数字电路进行大量回顾。

  2. 在做任何事情1之前,请确保您真正了解数字电路的所有内容,因为HDL不会创建任何新内容,因此只能以不同的方式使用这些内容。因此,您可以使用上述两本书中的一本进行一些练习,请教给他所推荐的书并使用它们,或者使用上述两本中的一本。

  3. 问问您的FPGA老师是否在类上使用FPGA,如果是Altera,Xilinx,Lattice或其他,是否是Altera下载了Quartus Web Edition,如果是Xilinx,是ISE Webpack,则免费下载了其中的一种,并且尝试了解其中一种软件,并在其中一种软件上进行一些练习和模拟。

没错,HDL上约90%的工作都在模拟器上,所以了解xilinx上的Modelsim模拟器和/或ISIM模拟器,它们命令以及如何进行测试平台。


两个主要的HDL。有很多不受欢迎的,例如CUPL,MyHDL和Lava。我大学的数字设计课程提到了VHDL,但在实验室中使用了CUPL。更多关于维基百科:en.wikipedia.org/wiki/...
晏游标

3

无论您在哪里工作,都必须使用已经使用的HDL-因此要增加被录用的机会,并花一些时间使用Verilog和VHDL。它曾经很简单:Verilog在美国使用,而VHDL在欧洲使用-如今,这并不简单。

有人提到要学习对VHDL进行“不同思考”的上行线程-您也必须对verhlog做到这一点,它看起来像C,但事实并非如此-一个好地方是观察并查看在合成期间在何处创建电线和触发器-一旦您达到您可以看到这些并且可以“看到”您脑海中的定时危险的地方


2

icarus verilog或verilator是我建议学习或玩verilog的工具。ghdl是我用来玩vhdl的东西。远离主流,但我还建议使用cyclicity-cdl.sf.net,它具有自己的模拟环境等,并可以生成可综合的Verilog。使用和学习gtkwave来检查模拟器生成的.vcd文件。


1

我在一所大学就学习了Verilog。该课程的高潮是实施2路Superscalar MIPS处理器(该类中有30%的处理器可以完全正常工作;其他70%的学生则可以使用)。我认为,从Verilog转向VHDL的行业大体上是。话虽如此,两种语言都有大量的在线教程。这是有关VHDL的内容,这是有关Verilog的内容

您可能要使用ModelSim,也可以使用学生版(我认为它是免费的;也许有限制)。顺便说一句,他们建议将使用VHDL 2nd Edition的数字系统设计用作教科书。


1

这是一个廉价的FPGA开发套件,可能适合您。但是,我不确定使用它的开源工具的级别。可免费下载供应商的工具包链。我听说该工具包的价格合理,值得去买。

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.