FPGA和微控制器(或者,为什么微控制器使用FPGA?)

89 0
2019-6-28 17:44:07
显示全部楼层

马上注册,结交更多SEO好友,可查看高清图片。

您需要 登录 才可以下载或查看,没有帐号?加入SEO研究中心

x
我想我们都同意微控制器已经成为现代电子设计的重要组成部分。它们价格低廉且功能多样,如今它们通常是电子世界的第一次引入。我们自然会继续使用我们熟悉的组件 - 随着微控制器变得更加强大,我们越来越需要考虑替代解决方案来应对我们的设计挑战。尽管如此,微控制器是围绕处理器构建的,并且处理器具有需要识别的基本限制,并且在某些情况下需要克服。

那么工程师何时可以从微控制器获得[url=]FPGA[/url]?答案归结为软件和硬件。

处理器通过以顺序方式执行指令来完成其任务。这意味着处理器的操作本身就受到限制:所需的功能必须适应可用的指令,并且在大多数情况下,不可能同时执行多个处理任务。

指令集非常通用,现在可以以非常高的频率执行指令。但是,这些功能并没有消除基于软件的数字设计方法的缺点。
替代方案是基于硬件的方法。如果每个新设计都可以围绕实现系统所需功能的数字IC构建,那将非常方便:无需编写软件,无指令集限制,无处理延迟,只有带输入引脚的IC,输出引脚和数字电路准确地对应于必要的操作。除了描述之外,这种方法是不切实际的,因为它涉及为每个电路板设计ASIC(专用集成电路)。但是,我们可以近似[url=]FPGA[/url]方法。


现场可编程逻辑(或者,如何编程FPGA?)
我们如何将一系列CLB转换为完全符合我们需求的数字电路?乍一看,这似乎是一项相当复杂的任务。事实上,FPGA实现通常被认为比编程微控制器更困难。但是,FPGA开发不需要全面了解CLB功能或仔细交叉内部互连,就像微控制器不需要了解处理器的汇编语言指令或内部控制信号一样。

实际上,将[url=]FPGA[/url]作为独立组件提供有点误导。 FPGA始终由开发软件支持,该软件执行复杂的过程,将硬件设计转换为确定互连和CLB行为的编程位。

这给我们留下了一个重要问题:我们如何将[url=]FPGA硬件[/url]“解释”为软件?

硬件描述语言
事实证明,人们创造了允许我们“描述”硬件的语言;它们被称为(非常合适的)硬件描述语言(HDL),最常见的两种是VHDL和Verilog。尽管HDL代码与用高级软件编程语言编写的代码之间存在明显的相似性,但两者根本不同。软件代码指定一组操作,HDL代码更像是使用文本引入组件和创建互连的原理图。