PLD( 可编程逻辑器件) 技术发展至今。随着其门数量的爆炸式增长,成本的降低,和开发工具的日益完善。正由一种设计、验证工具,逐渐转变为产品中的数字处理核心。由原来较为简单的数字电路集成,扩展到包括数字电路,片上系统,多媒体处理等各个领域。不远的将来,硬件描述语言技术将在模拟电路部分有所突破,甚至可能实现一些低压的驱动。
也许某一天,你使用的电子产品上不再是密密麻麻的各种 IC,电阻,电容,大部分的工作由一块 FPGA芯片来完成。有趣的是,如果您的电视机坏了,售后服务人员可能会指导您将不用的空调中一块“奇怪”的东东拔下来将电视机中同样的一块东西换掉。 5分钟后,电视机又可以正常工作了。然后,在便利店中花 20元钱买一块同样的东西,装在空调上。这帮家电,太没个性了!!!
但是,这样的技术对有些人来说,可能是毁灭性的,因为那些电子巨鳄渴望已久的对于仿制品的控制将变得前所未有的简单,并不是无法抄板,而是抄出来的东西,居然会报警!
在我眼中, PLD的优点大概就是这些了。还不够?您自己研发芯片吧。请您设计的时候多考虑芯片的功耗问题,这是 PLD技术现在的弱项。成功了,您就是瓦特,是爱迪生,是比尔盖茨了。
以下的文章,我将从技术角度描述一下我学习 PLD的一点感想,如果您是高手,请您跳过。
首先, PLD能做什么?简单的说,现在的 FPGA能完成任何数字器件的功能,上至高性能的 CPU,下至简单的 74电路。 PLD如同一块白纸,工程师可以通过双手(硬件描述语言)在上面描绘出最美丽的图画 (设计一个数字系统 ),如果您嫌用手太累,也可以用别人帮你做好的现成的 IP库。您别嫌我罗嗦,这一段,我是想给你解释清楚,硬件描述语言和在后面您将遇到的,设计方法和各种库内器件的关系。我再强调一遍,硬件描述语言是双手,后面您将用到的原理图中库内的各种器件都是用双手做出来的,只是您可以直接调用。
第二, PLD的发展趋势。前期,有 PAL(可编程阵列逻辑 ), GAL(通用阵列逻辑)这两种技术,你大可以只知其名,因为现在有更好的。 20世纪 80年代中期, Xilinx和 Alter分别推出了类似与 PAL结构的扩展型 CPLD(complexprogrammable logic device)和与标准门阵列类似的 FPGA( fieldprogrammable gate array)。注意其中的区别, xilinx把基于查找表技术, SRAM工艺,要外挂配置芯片 E2PROM的 PLD叫 FPGA,把基于乘积项技术, FLASH工艺的 PLD叫 CPLD。 Altera把其 PLD产品, MAX系列(乘积项技术, E2prom工艺) FLEX系列 (查找表技术, SRAM工艺)都叫作 CPLD,即复杂 PLD(complex PLD)。由于 FLEX系列也是 SRAM工艺,基于查找表技术,要外挂配置芯片,用法和 xilinx的 FPGA一样,很多人因此也把 FELX系列成为 FPGA。很多人要问,这两家哪家的产品更好?个人认为,这两家与肯德鸡和麦当劳在中国市场的情况类似,国外 xilinx的市场占有率比 Alter高,国内则是 Alter的势头更强。核心技术,都是差不多的。麦当劳的甜筒个人认为更香一点,呵呵。
第三, PLD技术的优势。大概有一下几点,本人学习 FPGA也只 2年不到,如何遗漏,尽请海涵。
1.防抄袭。把它列第一条是很凸显中国特色的。相信各位老板会对这个优势更加关注吧,呵呵。抄板,已经成为一个产业链。硬件抄板是很难预防的,某些厂家会把芯片表面打磨掉,但是这样的做法风险很大,而且如果是批量很大的产品,这样的方法是无法有效实施的。抄板的关键在与软件。用 PLD器件设计的系统的数字硬件部分和片上系统的软件都以软件形式保存在器件内部。具我所知,目前国内只有 7032LC系列可以解密,费用很高,其他的都无法解密,而单片机都可以解密,价位在几千到几万。
2.强大的数字系统设计能力。 VHDL语言和 Verilog语言将承担起大部分的数字系统设计任务,这个趋势将会越来越清晰的展现在人们面前。巨大的灵活性,大大缩短的设计周期,开发费用的减少,系统整合后减少无法预期的问题(如数字系统的同步)等等的优势注定了这将是一场革命。
3.广大 EDA厂家和 FPGA原厂提供的种类丰富,功能强大的 IP包。不要以为不会写硬件描述语言就不能学 PLD了,当然,如果要成为高手,这一步是跳不过的。如果把 PLD器件比作一块肥沃的土地,你有两种耕作方式。一种是事必躬亲,通过硬件描述语言来完成您要设计的数字系统的各个功能。您是高手,高手,高高手。另一种是用前人的劳动果实,无论是 FPGA原厂提供的开发工具,如 ISE, QuartusⅡ还是 EDA厂家,如 Altium的 Altiumdesigner。都提供了大量的 IP库,从最简单的逻辑门,到 74系列,直到 51单片机, powerpc甚至是 ARM核,您都可以直接调用。
4.宽广的前景。以下两条值得一题的消息,个人认为将为这场 PLD革命提供最强大的动力。第一, Altium公司对出了最新版本的 AD6.8,支持用 C语言来作为硬件描述语言。
第二, 2001年发布了 Verilog HDL 1364-2001标准。在这个标准中,加入了 Verilog HDL-A标准,使 Verilog有了模拟设计描述的能力。大家都是技术人员,对于以上两点的意义,无需多讲了吧。
5.宽广的钱景。上面 3条都是对于这个技术的,对于我们,这项技术有什么意义 ?意味着你可以找到更好的工作,意味着,你可以由一个螺丝钉成为一个方案设计者,意味着,你有可能通过这次电子行业的革命成为浪潮的宠儿。我们来详细的说一下。更好的工作,这个最简单,你可以看一下现在 FPGA工程师现在的工资水平。方案设计者,这几年的电子行业分工越来越细,有基带工程师,射频工程师, PCB工程师,底层软件工程师,驱动工程师等等等等。这些工程师门共同构成了一个系统的设计者,每个个体都只是一道工序。 PLD技术将数字系统的整合成为了可能,您可以透过这个还算完整的窗口,去学习别的领域,例如模拟部分,电气部分,强电部分,最终成为整个方案的设计者。最后一条,或许是被很多技术人员所忽视的。其实,这是最大的钱途。想发财是不能只靠技术的。先举个例子,一块 FPGA芯片的价格在不同的经销渠道上的差价可以达到 40%,如果成为一级代理,那么零售价可以是批量价格的 7, 8倍, FPGA还是一个没有被完全竞争涉及的领域。或许对于代理,我们都没有这样的资本,那说说市场上各种各样的开发板吧。 FPGA开发板现在的市价大致在 1000员左右,您知道它的成本吗?如果它卖的足够好,大概是 150员。而且它是不提供培训的。另外,还有培训,这个我不了解,不过,你可以查一下网上一些机构 FPGA培训的价格。
如果您想学 PLD了,那么请往下看,下面将说说学习 PLD的步骤(个人观点)以下以 xilinx的 FPGA学习为例,其它也是一样的。
第一步,入门。你要做的是了解这项技术,熟悉一下 FPGA芯片和 FPGA开发工具。请参看 xilinx公司编写的关于 FPGA技术的介绍。看一下 FPGA芯片的芯片手册 (3S400)。试用一下 ISE。做两个最简单的试验(跑马灯, PWM波输出)——可以在我的网站上下载到上面所说的所有内容。
第二步,深入。我推荐您使用 AD6作为 FPGA和整个电子开发的工具。这一步,你要面对的是 AD6这个大家伙,它贯通整个电子设计的流程,当然,我在这里提到它,主要是应为在它的 FPGA模块中提供了几乎所有的你能想象到的 IP包。先说几个宝贝给你听听, 8位, 16位, 32位单片机的核, ARM7的核,各种总线驱动核,方便的时钟管理工具,各种总线宽度的 RAM, ROM。你想找什么?因该都不是一个问题,问题在你要找的东西到底放在那个库文件夹里了 ?晕 !!!另外,你要开始学习 Verilog HDL语言了,为什么不选 VHDL?因为我学的是 Verilong HDL!!!。如果您通过了这一步, SOPC( System On a Programmable Chip)在一片 FPGA上实现一个完备的数字处理系统将是您的设计目标——这个过程的最终目标是产品。
第三步,巅峰。在 FPGA上实现 DSP(数字信号处理),用纯数字逻辑进行 DSP模块的设计,实现高速 DSP,如果您掌握了基于 FPGA的 DSP技术,能实现高速数字信号处理算法了,例如在家里捣鼓一些高清数字电视标准的时候,那我没什么可教你的了,你可以下山去了。
开办这个网站的目的,是希望结识更多的对 PLD这项技术有兴趣的朋友。 I have a dream。希望这里将是一个大家能互相交换 FPGA设计的经验的交流站。
洋洋洒洒不觉已 3千字,如窗外这上海平生见过的最大的雪,有点多了。
2008.1.26日 cobble