当前位置:首页 >> 信息与通信 >>

用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项


第 25 卷第 4 期 2005 年 8 月



州 大





报( 工



版)

V ol. 25 N o. 4 A ug. 2005

JOURNAL OF SOOCHOW UNIVERSITY( ENGINEERING SCIENCE EDITION)

文章编号: 1673- 047X( 2005) 04- 0031- 02

用 VH DL 语言对 FPGA 和 CPLD 器件进行开发时应注意的事项
刘文杰
( 苏州大学机电工程学院, 江苏 苏州 215021)

摘 要: 根据 FPGA 和 CPL D 器件 的结构 特点, 提出了 利用 VHDL 硬 件描 述语 言对 F PGA 和 CPL D 器件进行开发时应注意的事项和一些经验技巧, 供广大电子设计师参考。 关键词: F PGA; CPL D; VHDL ; 电子设计 中图分类号: T N492 文献标识码: A 用 VHDL 语言设计电路是利用硬件描述的方法, 将系统功能通过目标器件表现出来, 而目标器件的资 源占用率是设计成功与否的关键。虽然 H DL 设计语言与设计平台与具体硬件无关, 设计者能最大程度地将 自己的才智和创造力集中在系统性能提高和成本降低上, 但描述方法、 设计规则和逻辑设计等均对电路的结 构有一定的影响。不合理的 VHDL 设计往往占用过多的系统资源, 有些甚至不能在目标器件中适配, 因此, 应该在设计时对有些事项加以注意。

1

毛刺问题的处理

在 EDA 环境中, 毛刺是系统设计是否成功的关键。毛刺( 竞争- 冒险) 现象是长期困绕电子工程师的问 题之一。由于毛刺的存在, 使得系统存在许多不稳定因素, 经常会造成对脉冲上下沿敏感的电路产生误动 作。毛刺主要是由门电路延时及路径延时造成的, 采用传统设计方法时, 毛刺必须在硬件测试时才有机会发 现。但在现代数字系统设计时, 通过 EDA 软件, 完全可以找出毛刺产生的原因及产生的位置, 并且非常精确 和接近实际情况。 目前常使用三种方法来消除毛刺[ 1] , 它们分别为延时法、 选通法和修改逻辑设计法。其中, 修改逻辑设 计能从根本上消除毛刺, 但该方法要求使用者掌握电路的工作状态及其转换, 有时需要多路输出, 使用起来 有一定的复杂性。

2

FPGA 及 CPLD 器件的选择

现场可编程门阵列 FPGA( F ield Program mable Gate Array) 和复杂可编程逻辑器件 CPL D( Complex Pro g rammable L ogic Device) 均是目前大量使用的可编程大规模集成电路。可编程器件的使用, 大大缩短了电子 产品的设计周期, 减少了设计费用及风险, 是电子产品领域的一场革命。 F PGA 器件将逻辑功能块排列为阵列, 并由可编程的内部连线连接这些功能块来实现相应的逻辑功能。 F PGA 器件的内部可以分成三个组成部分, 分别是可构造的输入/ 输出模块 IOB( Input / Out put Block) 、 可构 造逻辑块 CLB( Configurable L ogic Blocks) 和可编程内部连线资源 P IA( Programmable Interconnect Array) 。 CPL D 器件将多个可编程阵列器件( PAL ) 集成到一个芯片内, 一般包含三个部分, 分别为可编程逻辑功 能块( FB) 、 可编程 I/ O 单元以及可编程内部连线, 有些 CPL D 器件还集成 RAM、 双口 RAM 和 F IF O 等。尽 管 F PGA 和 CPL D 均为可编程器件, 有很多共同的特点, 但由于结构上的差异, 在使用时, 必须注意以下几 点: ( 1) CPL D 器件编程时采用 E2PROM 或 FAST F LASH 技术, 使用时无需外部存储芯片, 系统断电时, 编 程信息不丢失; 而 FPGA 器件必须使用外部存储器存储编程的信息。由于采用 SRAM 存储技术, FP GA 编 程信息在系统断电时丢失, 每次上电时, 必须将编程信息重新写入 SRAM 中, 但其编程次数没有限制, 可以
收稿日期: 2005- 03- 04 作者简介: 刘文杰( 1966- ) , 男, 副教授, 主要研究方向为机电一体化技术。

32

苏州大学学报( 工科版)

第4期

随时改变编程信息[ 2] 。 ( 2) CP LD 器件的速度比 F PGA 快, 保密性能好, 但功耗大, 而且这一特点随集成度的提高, 愈加明显。 ( 3) FPGA 的集成度比 CPL D 高, 但其时序延迟不可预测, 而 CPL D 器件由于采用边续布线结构, 决定 了它的时序延迟是均匀的, 可预测的。 尽管采用 FP GA 和 CPLD 器件均可完成相同的电路设计, 但在实际使用时, 应注意到对于复杂的组合 电路设计, 宜采用 CP LD 器件, 而在电路设计时, 如果用到较多的触发器, 则宜采用 F PGA 器件。

3

FPGA 和 CPLD 器件管脚使用和选择时应注意的问题

要保证器件所有的电源正端和接地端可靠连接, 每一对电源正端和地线之间并联一个 0. 1UF 的电容, 以便滤波和去耦。 由于可编程器件在使用时, 编程信息易于修改, 应对内部的逻辑单元和外部的引脚留有一定的余量, 以 便系统的修改和扩充。 时序电路一定要使用 上电复位 电路, 以保证系统上电后, 便处于初始状态。合理进行引脚锁定, 以避 免管脚位置的变化导致的电路设计失败, 因为管脚的位置变化, 往往会引起指定功能块组合的变化, 造成芯 [ 3] 片内部资源的不足 。

4

在使用 VHDL 语言编程时, 应合理选择信号、 变量以及数据类型

因为 VH DL 语言是一种硬件描述语言, 信号、 变量均具有一定的硬件性质, 并占有相应的内部资源。变 量具有局部特性, 只在一个进程或一个子程序中有效, 但对于它的赋值是立即生效的。信号则不同, 它具有 全局特性, 对信号的赋值不是立即生效的。一般情况下, 往往在进程中使用变量传递数据, 然后利用信号将 数据带出进程。 无论是变量还是信号, 一定要在定义完类型后, 根据实际的需要确定数据的范围, 否则将大大占用内部 资源。不同的数据类型不能直接进行运算, 即使数据类型相同, 位长不同时, 也不能直接带入。 寄存器的引入往往是通过 WAIT 和 IF 语句测试敏感信号边沿来实现的, 禁止在一个进程中同时存在 两个或两个以上的寄存器描述, 即一个进程中只能有一个 WAIT 和 IF 语句。一般情况下, 不要将产生寄存 器的赋值语句放在 IF 语句的 ELSE 分支上, 但可以放在 ELSEIF 语句上。

5

总结

随着硬件描述语言的出现, 电子工程师利用 T OP- DOWN 设计理念, 使得系统的设计从一开始就能够 在系统级的行为描述上得到验证。由于系统设计时, 与硬件结构无关, 使得设计结果可以在不同的硬件上自 由移植, 增加了系统设计的复用性。逻辑方法的实现可以有多种实现途径, 如果设计不当, 会用更多的内部 资源来实现同样的功能。应该尽量提高硬件资源的利用率, 避免出现不必要的锁存器。在编写程序时, 要对 整个设计进行深入的了解, 提出几种方案进行综合比较, 从而得到最好的方案。
参考文献
[ 1] [ 2] [ 3] 何 伟. 消除 CPLD/ FPG A 器件设计中的毛刺[ J] . 重庆大学学报, 2002, 25( 12) : 69- 73. 高志文. 用 V HDL 和 CPLD 的电路简化方法的研究[ J] . 华北工学院测试技术学报, 15( 4) : 267- 270. 潘 松. EDA 技术实用教程[ M ] . 北京: 科学技术出版社, 2002.

Matters Need Attention When Using VHDL to Develop FPGA and CPLD Chips
L IU Wen jie ( Coll ege of M echani cal and El ectr ical Engi neer ing , Soochow U niv ersity , S uzhou 215021, China )

Abstract: T his paper puts f orw ard some rules and experience of using VH DL t o develop F PGA and CPLD Chips according t o t heir configurat ion characters, all discussed in this paper w ill g ive some advices to t he elect rical engi neers. Key words: FP GA; CPL D; VH DL ; electronic design


相关文章:
用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项.pdf
用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项 - 第 25 卷第
用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项(1)....pdf
用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项(1) - 第 25
CPLD和FPGA的VHDL语言编程使用心得.doc
CPLD/FPGAVHDL 语言编程使用心得 语言编程 编程使用心得 VHDL 是由美国国防部为描述电子电路所开发的一种语言,其全称为(Very High Speed Integrated Circuit) ...
基于CPLD的1100秒计时器电路_图文.pdf
5.期刊论文 刘文杰.LIU Wen-jie 用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项 -苏州大学学报(工科版 )2005,25(4) 根据FPGA和CPLD器件的结构特点,提出了...
用VHDL语言在CPLD FPGA上实现浮点运算.pdf
用VHDL语言CPLD FPGA上实现浮点运算_信息与通信_工程科技_专业资料。专业资料 ...图1 对阶框图 在进行对阶操作时 , 首先比较 Ea 、 b 的大小 , 产生换路...
可编程逻辑器件CPLD和FPGA的特点和应用.doc
器件发展过程中,不同厂家对新型 PLD 器件的叫法不尽相同, 对 CPLDFPGA...【关键词】可编程器件;PLD;CPLD;FPGA;硬件描述语言 VHDL 目前,大量使用的可...
VHDL语言在FPGA中的应用_图文.pdf
PLDCPLD FPGA应用 文章编-号:10080570(2006)12...了用VHDL语言进行FPGA设计的方法,简单介绍了VHDL语言...-q涛。王程.可编程逻辑器件开发技术一MAx+PLuS2...
基于FPGA_CPLD和VHDL语言的交通灯控制系统设计.pdf
( 长江大学 计算机科学院 文理学院, 湖北 荆州 434100) 摘要: 用VHDL 语言设计交通灯控制系统, 并在 MAX+PLUSII 系统对 FPGA/CPLD 芯片进行下载, 由于生成的...
用VHDL 语言在FPGA 上实现浮点运算.pdf
用VHDL 语言FPGA 上实现浮点运算_信息与通信_工程...近年来 ,高密度可编程器件 CPLD/ FPG 的集成度 ...图1 对阶框图 在进行对阶操作时 , 首先比较 Ea ...
FPGA开发技术及VHDL语言_图文.ppt
FPGA开发技术及VHDL语言_信息与通信_工程科技_专业...CPLD:复杂可编程逻辑器件Complex Programmable Logic ...其工作状态的,因此,工作时需要对片内 的RAM进行...
郭天祥CPLD系统设计及VHDL语言的视频教程(CPLD_FPGA).pdf
一步一步的讲解设计过程中的每个语句和注意事项,...让大家熟悉在CPLD/FPGA 开发中一个关键的技术 ...掌握CPLD 器件内部结构和操作原理,以及VHDL 语言的...
用VHDL语言在CPLD/FPGA上实现浮点运算_图文.pdf
用VHDL语言CPLD/FPGA上实现浮点运算_信息与通信_工程科技_专业资料。第2 3卷...A器件具备在线可编程能力,服了专用处理器 PDFG克灵活性方面的不足,时兼备 了...
CPLD FPGA的开发与应用_图文.ppt
CPLD FPGA的开发与应用,VHDL,硬件描述语言 ...传统设计与计辅设计EDA 传统设计设计用器件 设计手段...
CPLD-FPGA的开发与应用_图文.ppt
对于目标器件FPGA/CPLD的EDA设计基本流程如下: 1...实现挂钩, 则需要利用EDA开发工具的综合器进行逻辑 ...VHDL/VERILOG 程序 硬件描述语言综合器 COMPILER ...
用VHDL语言实现浮点数运算.doc
用VHDL语言实现浮点数运算 随着CPLD和FPGA的出现以及EDA技术的成熟,采用CPLD/FPGA实现数字信号 处理的方法已经显示出巨大的潜力。由于CPLD/FPGA器件具备在线可编程能力...
硬件描述语言VHDL从入门到精通【清晰完整版】_图文.pdf
VHDL 语言和 CPLDFPGA 器件的设计, 阎石教授新...其它步骤都可以进行,可见对于教学使用是非常好的 一...开发了 HDL 语言,但是都不通用,只有美国国防部开发...
VHDL语言与FPGA设计 实验报告.doc
VHDL语言与FPGA设计 实验报告_电子/电路_工程科技_...如 74 或 4000 系列的器件 只能作十进制 BCD 码...最方便的方法 就是利用译码程序在 FPGA/CPLD 中来...
FPGA VHDL_图文.ppt
可编程逻辑器件结构原理-CPLD\FPGA的结构 基于乘积项...VHDL语言设计实体的基本结构用VHDL语言设计的电路无论...关系运算符 使用关系运算时,应注意以下几点: ①“=...
FPGA试卷+答案+超详细解答.doc
编程器件主要有 FPGA、CPLD 两类,下列对 FPGA 结构...(20 分)下列程序是用 VHDL 语言编写的上升沿控制...边沿检测 end behave; 注:由于是电子稿,应注意...
VHDL语言实用教程_图文.ppt
FPGA/CPLD与EDA技术的发展,使用文本描述电路 (HDL)的设计方式流行起来 hwadee 2014-7-2 4 VHDL语言概述 HDL:Hardware Description Language VHDL:由美国国防部开发...
更多相关标签: