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

用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设计 实验报告
VHDL语言与FPGA设计 实验报告_电子/电路_工程科技_...如 74 或 4000 系列的器件 只能作十进制 BCD 码...最方便的方法 就是利用译码程序在 FPGA/CPLD 中来...
EDA技术课后答案
对于软件开发工具,应熟练掌握从源程序的编辑、逻辑...VHDL:作为 IEEE 的工业标准硬件描述语言,在电子工程...1.10 对于目标器件FPGA/CPLDVHDL 设计,其...
FPGA实验-基于VHDL语言实现对ADC0809简单控制
VHDL 语言实现对 ADC0809 简单控制 专业班级 / ...FPGA 器件特点和结构而设计的,直接用 Xilinx FPGA ...是一个集成环境,可以完成整个 FPGA/CPLD 开发过程。...
FPGA实验五用VHDL语言设计100进制
FPGA实验五用VHDL语言设计100进制_电子/电路_工程科技_专业资料。FPGA实验报告 《FPGA 原理及应用》实验报告书 (5)题目 用 VHDL 语言设计 100 进制 计数器 学姓...
河南理工大学FPGA与VHDL语言知识总结
河南理工大学FPGA与VHDL语言知识总结_工作总结/汇报_...CPLD 等一些重要器件的概念,功能,基本结构;现代数字...编程器件就可以在可编程器件的开发工 具时进行编程...
用VHDL语言实现浮点数运算
用VHDL语言实现浮点数运算 随着CPLD和FPGA的出现以及EDA技术的成熟,采用CPLD/FPGA实现数字信号 处理的方法已经显示出巨大的潜力。由于CPLD/FPGA器件具备在线可编程能力...
EDA材料
高速硬件描述语言 6.对于目标器件FPGA/CPLDVHDL 设计, 其工程设计包括五个步骤他们是 1.源程序的 编辑和编译 2.逻辑综合和优化 3.目标器件的布线/适配...
FPGA VHDL10进制计数器
VHDL 语言进行设计 7 段显示译码器,并使用 FPGA ...如 74 或 4000 系列的器件只能作十进制 BCD 码...最方便的方法就是利用译码程序在 FPGA/CPLD 中来...
宿迁学院EDA期末考试样卷
VHDL 中的关键字重合 4、以下语句不属于并行语句的...结构描述是指对( A. 实体的逻辑功能 )进行描述。...6、大规模可编程器件主要有 FPGACPLD 两类,下列...
FPGA试题
PAL D. PLD 14.可编程逻辑器件的英文简称是 D。...是正确的基于 EDA 软件的 FPGA / CPLD 设计流程:...30.在 VHDL 中,可以用语句 D 表示检测 clock ...
更多相关标签: