第25卷第4期苏 州 大 学 学 报(工 科 版)Vol.25No.4 2005年8月JOURNA L OF SOOCH OW UNIVERSIT Y(ENGINEERING SCIENCE E DITION)Aug.2005文章编号:1673-047X(2005)04-0031-02
用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项Ξ
刘文杰
(苏州大学机电工程学院,江苏苏州215021)
摘 要:根据FP G A和CPLD器件的结构特点,提出了利用V HDL硬件描述语言对FP G A和CPLD器件进行开发时应注意的事项和一些经验技巧,供广大电子设计师参考。
关键词:FP G A;CPLD;V HDL;电子设计
中图分类号:TN492 文献标识码:A
用V HDL语言设计电路是利用硬件描述的方法,将系统功能通过目标器件表现出来,而目标器件的资源占用率是设计成功与否的关键。虽然HDL设计语言与设计平台与具体硬件无关,设计者能最大程度地将自己的才智和创造力集中在系统性能提高和成本降低上,但描述方法、设计规则和逻辑设计等均对电路的结构有一定的影响。不合理的V HDL设计往往占用过多的系统资源,有些甚至不能在目标器件中适配,因此,应该在设计时对有些事项加以注意。
1 毛刺问题的处理
在EDA环境中,毛刺是系统设计是否成功的关键。毛刺(竞争-冒险)现象是长期困绕电子工程师的问题之一。由于毛刺的存在,使得系统存在许多不稳定因素,经常会造成对脉冲上下沿敏感的电路产生误动作。毛刺主要是由门电路延时及路径延时造成的,采用传统设计方法时,毛刺必须在硬件测试时才有机会发现。但在现代数字系统设计时,通过EDA软件,完全可以找出毛刺产生的原因及产生的位置,并且非常精确和接近实际情况。
目前常使用三种方法来消除毛刺[1],它们分别为延时法、选通法和修改逻辑设计法。其中,修改逻辑设计能从根本上消除毛刺,但该方法要求使用者掌握电路的工作状态及其转换,有时需要多路输出,使用起来有一定的复杂性。
2 FP GA及CPLD器件的选择
现场可编程门阵列FP G A(Field Programmable G ate Array)和复杂可编程逻辑器件CPLD(Complex Pro2 grammable Logic Device)均是目前大量使用的可编程大规模集成电路。可编程器件的使用,大大缩短了电子产品的设计周期,减少了设计费用及风险,是电子产品领域的一场革命。
FP G A器件将逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块来实现相应的逻辑功能。FP G A器件的内部可以分成三个组成部分,分别是可构造的输入/输出模块IOB(Input/Output Block)、可构造逻辑块CLB(Configurable Logic Blocks)和可编程内部连线资源PIA(Programmable Interconnect Array)。
CPLD器件将多个可编程阵列器件(PAL)集成到一个芯片内,一般包含三个部分,分别为可编程逻辑功能块(FB)、可编程I/O单元以及可编程内部连线,有些CPLD器件还集成RAM、双口RAM和FIFO等。尽管FP G A和CPLD均为可编程器件,有很多共同的特点,但由于结构上的差异,在使用时,必须注意以下几点:
(1)CPLD器件编程时采用E2PROM或FAST FLASH技术,使用时无需外部存储芯片,系统断电时,编程信息不丢失;而FP G A器件必须使用外部存储器存储编程的信息。由于采用SRAM存储技术,FP G A编程信息在系统断电时丢失,每次上电时,必须将编程信息重新写入SRAM中,但其编程次数没有限制,可以
Ξ收稿日期:2005-03-04
作者简介:刘文杰(1966-),男,副教授,主要研究方向为机电一体化技术。