菜鸟级别零基础学转FPGA
硬件都已经被设计出来了,直接拿去制作部就完了,为什么还要转化为文字表达形式再通过EDA工具这些麻烦的流程呢?其实这就是很多菜鸟 没有了解设计的抽象层次的问题,任何设计包括什么服装、机械、广告设计都有一个抽象层次的问题。就拿广告设计来说吧,最初的设计也许就是一个概念,设计出 这个概念也是就是一个点子而已,离最终拍成广告还差得很远。硬件设计也是有不同的抽象层次,每一个层次都需要设计。
最高的抽象层次为 算法级、然后依次是体 系结构级、寄存器传输级、门级、物理版图级。使用HDL的好处在于我们已经设计好了一个寄存器传输级的电路,那么用HDL描述以后转化为文本的形式,剩下 的向更低层次的转换就可以让EDA工具去做了,这就大大的降低了工作量。这就是可综合的概念,也就是说在对这一抽象层次上硬件单元进行描述可以被EDA工 具理解并转化为底层的门级电路或其他结构的电路。
在FPGA设计中,就是在将这以抽象层级的意见描述成HDL语言,就可以通过FPGA开发软件转化为问题 1中所述的FPGA内部逻辑功能实现形式。
HDL也可以描述更高的抽象层级如算法级或者是体系结构级,但目前受限于EDA软件的发展,EDA软件还无法理 解这么高的抽象层次,所以 HDL描述这样抽象层级是无法被转化为较低的抽象层级的,这也就是所谓的不可综合。所以在阅读或编写HDL语言,尤其是可综合的HDL,不应该看到的是语 言本身,而是要看到语言背后所对应的硬件电路结构。
如果看到的HDL始终是一条条的代码,那么这种人永远摆脱不了菜鸟的宿命。假如哪一天看到的代码不再是 一行行的代码而是一块一块的硬件模块,那么恭喜脱离了菜鸟的级别,进入不那么菜的鸟级别。
3、FPGA本身不算什么, 一切皆在FPGA之外这一点恐怕也是很多学FPGA的菜鸟最难理解的地方。
FPGA是给谁用的?很多学校解释为给学微电子专业或者集成电路设 计专业的学生 用的,其实这不过是很多学校受资金限制,卖不起专业的集成电路设计工具而用FPGA工具替代而已。其实FPGA是给设计电子系统的工程师使用的。这些工程 师通常是使用已有的芯片搭配在一起完成一个电子设备,如基站、机顶盒、视频监控设备等。当现有芯片无法满足系统的需求时,就需要用FPGA来快速的定义一 个能用的芯片。
前面说了,FPGA里面无法就是一些"真值表"、触发器、各种连线以及一些硬件资源,电子系统工程师使用FPGA进行设计时无非就是考虑如 何将这些以后资源组合起来实现一定的逻辑功能而已,而不必像IC设计工 程师那样一直要关注到最后芯片是不是能够被制造出来。本质上和利用现有芯片组合成不 同的电子系统没有区别,只是需要关注更底层的资源而已。要想把FPGA用起来还是简单的,因为无非就是那些资源,在理解了前面两点再搞个实验板,跑跑实 验,做点简单的东西是可以的。而真正要把FPGA用好,那光懂点FPGA知识就远远不够了。因为最终要让FPGA里面的资源如何组合,实现何种功能才能满 足系统的需要,那就需要懂得更多更广泛的知识。
目前FPGA的应用主要是三个方向:第一个方向,也是传统方向主要用于通信设备的高速接口电路设计,这一方 向主要是用FPGA处理高速接口的协议,并完成高速的数据收发和交换。这类应用通常要求采用具备高速收发接口的 FPGA,同时要求设计者懂得高速接口电路设计和高速数字电路板级设计,具备EMC/EMI设 计知识,以及较好的模拟电路基础,需要解决在高速收发过程中 产生的信号完整性问题。FPGA最初以及到目前最广的应用就是在通信领域,一方面通信领域需要高速的通信协议处理方式,另一方面通信协议随时在修改,非常 不适合做成专门的芯片。因此能够灵活改变功能的FPGA就成为首选。到目前为止FPGA的一半以上的应用也是在通信行业。
第二个方 向,可以称为数字信号处 理方向或者数学计算方向,因为很大程度上这一方向已经大大超出了信号处理的范畴。例如早就在2006年就听说老美将FPGA用于金融数据分析,后来又见到 有将FPGA用于医学数据分析的案例。在这一方向要求FPGA设计者有一定的数学功底,能够理解并改进较为复杂的数学算法,并利用FPGA内部的各种资源 使之能够变为实际的运算电路。
目前真正投入实用的还是在通信领域的无线信号处理、信道编解码以及图像信号处理等领域,其它领域的研究正在开展中,之所以没 有大量实用的主要原因还是因为学金融的、学医学的不了解这玩意。不过最近发现欧美有很多电子工程、 计算机类的博士转入到金融行业,开展金融信号处理,相信 随着转入的人增加,FPG
- 电源管理总线的结构与优势(11-19)
- 新型灌封式6A至12A DC-DC μModule稳压器系列(11-19)
- 低电压PLD/FPGA的供电设计(01-24)
- 基于FPGA的高精度数字电源(02-12)
- 功率分配系统(PDS)设计:利用旁路电容/去耦电容(04-29)
- 具有多个电压轨的FPGA和DSP电源设计实例(05-22)