谁能推荐一本学习VHDL的好书?或者失败了,有什么好的资源吗?
9 回答
VHDL 的不幸问题是,那里有大量过时、风格不佳和完全错误的资源。电子版和印刷版。
掌握 VHDL 的部分技巧是知道如何过滤掉这些。以下是我前世作为硬件设计师所做的过滤。我希望它对你有帮助。
这些是您想要阅读、拥有或下载的内容:
书:Peter J. Ashenden 的“VHDL 设计者指南”(ISBN 1-55860-270-4)。告诉您使用过时的或供应商特定的库不会浪费您的时间;假设您是想了解 HDL 的软件工程师,它不会解释 VHDL;它没有通过假设您是想了解 HDL 的硬件工程师来解释 VHDL。它不提倡供应商及其解决方案(使用特定供应商工具链是一个单独的问题,我发现继续学习 VHDL 和特定于供应商的单独学习很有帮助)。它所做的是从正确的角度引入 VHDL:作为一种用于描述离散事件系统的语言,智能程序可以从中提取最终可能成为硬件的东西。它还描述了标准语言结构是,存在哪些语言标准,以及它们的具体属性是什么。现代工具越来越符合标准,因此这些信息比其他一些书籍(保持匿名)似乎声称的一堆类比更有用。买吧,一分钱一分货。
新闻组 comp.lang.vhdl 居住着对现代 VHDL 非常了解的人,如果您能很好地提出问题,他们可以给您明智的建议。为了能够做到后者,请阅读上面提到的书。浏览众多 VHDL 论坛通常是在浪费时间,因为那里的信息内容通常淹没在噪音中。
了解你的工具。获取您将使用的工具链的 PDF 文件,并且非常了解它。越多越好。尤其知道它们的局限性。工具通常具有您需要解决或玩弄的特质,才能使事情变得恰到好处。例如,您可能想要编写可移植的行为代码;除了特定于技术的部分,或者您的工具碰巧合成错误的部分。
知道在哪里可以找到合理的 VHDL 资源。理智资源的一个例子是汉堡 VHDL 档案(位于:http ://tams-www.informatik.uni-hamburg.de/research/vlsi/vhdl/ ),我通过使用信号到-的采样方法发现该特定网站上的噪声比相当高。用它。
Giovanni de Micheli 的“数字电路的合成和优化”(http://si2.epfl.ch/~demichel/publications/mcgraw/ index.html),这可能会为硬件合成方法提供一些启示——尽管已经完成了大量工作来改进那里给出的结果。您可能想从附近的图书馆借这个并翻阅它。
一本很棒的教科书是:VHDL 设计的数字逻辑基础
我记得从这个开始以获得快速概述。
我喜欢Volnei A. Pedroni的名为“使用 VHDL 的电路设计”的书。它专注于可综合的 VHDL,这是您为真正的芯片编写代码所需要的,而不仅仅是用于仿真。
我在学习 VHDL 时发现低碳水化合物 VHDL 教程非常棒。自从 Low-Carb VHDL Tutorial 的作者将其变成了一本名为Free Range VHDL的开源书籍以来,现在更是如此。
这是我用于系统架构课的书。这很简单。
在学习任何类型的 HDL(Verilog、VHDL...)时,记住一件事很重要。这不是软件编程,事情是并行工作的。话虽如此,我发现学习任何 HDL 的最佳方法是学习如何在硬件中思考和描述硬件(这就是为什么它被称为硬件描述语言)。
到目前为止,我很少看到向您展示如何将 HDL 转换为硬件的书籍。我在 Synopsys 时读过一本(页面上写满了代码和原理图),但它是一份内部出版物。然而,即使没有这本书,你仍然可以看到你的代码是如何通过在免费软件上综合运行而变成硬件的。
我之所以要强调这一点,是因为有很多方法可以解决一个问题。如果您了解如何将其转换为底层硬件,您将只能从门数和时序的角度编写有效解决该问题的代码。
祝你好运!
尽管事情并不总是平行的,但要小心。顺序赋值不同于组合赋值。
我不确定您的背景或需求是什么,但是David Harris 和 Sarah Harris 的Digital Design and Computer Architecture对我来说是一个非常有用的介绍。它不是 VHDL 特定的(Verilog 和 VHDL 示例并排呈现)甚至 HDL-heavy - 正如标题所暗示的那样,它更多的是对一般数字设计的介绍。但对我来说,这是一个很好的方法,它展示了代码以及其应用和理论背景的基础。