基于CPLD/FPGA的VHDL语言电路优化设计

发布者:幸福花开最新更新时间:2010-03-22 来源: 电子技术应用关键字:CPLD  FPGA  VHDL  电路优化设计 手机看文章 扫描二维码
随时随地手机看文章

  VHDL(Very High Speed Integrated Circuit Hardware Description Language)是IEEE工业标准硬件描述语言,是随着可编程逻辑器件(PLD)的发展而发展起来的。它是一种面向设计、多层次的硬件描述语言,是集行为描述、RTL描述、门级描述功能为一体的语言,并已成为描述、验证和设计数字系统中最重要的标准语言之一。由于VHDL在语法和风格上类似于高级编程语言,可读性好,描述能力强,设计方法灵活,可移植性强,因此它已成为广大EDA工程师的首选。目前,使用VHDL语言进行CPLD/FPGA设计开发,Altera和Lattice已经在开发软件方面提供了基于本公司芯片的强大开发工具。但由于VHDL设计是行为级设计,所带来的问题是设计者的设计思想与电路结构相脱节,而且其在设计思路和编程风格等方面也存在差异,这些差异会对系统综合后的电路整体性能产生重要的影响。
  
  在VHDL语言电路优化设计当中,优化问题主要包括面积优化和速度优化。面积优化是指CPLD/FPGA的资源利用率优化,即用尽可能少的片内资源实现更多电路功能;速度优化是指设计系统满足一定的速度要求,即用更多的片内资源换取更快的处理速度,常用于视频信号采集系统和通信系统之中。面积优化和速度优化通常是一对矛盾,一般情况下,速度指标是首要的,在满足速度要求的前提下,尽可能实现面积优化。因此,本文结合在设计超声探伤数据采集卡过程中的CPLD编程经验,提出串行设计、防止不必要锁存器的产生、使用状态机简化电路描述、资源共享,利用E2PROM芯片节省片内资源等方法对VHDL电路进行优化。
  
  1 VHDL电路优化设计的方法
  
  优化设计是可编成逻辑设计的精华所在,如何节省所占用的面积、如何提高设计的性能是可编成逻辑设计的核心,这两点往往也成为一个设计甚至项目成败的关键因素。下面结合超声探伤数据采集卡设计过程中,并基于Altera公司的EPM7192 CPLD芯片的编程经历来论述VHDL电路的优化方法。
  
  1.1 采用串行设计代替并行设计
  
  串行设计是指把原来单个时钟周期内完成的并行操作的逻辑功能分割出来,提取相同的功能单元,在时间上分时复用这些功能单元,在满足系统速度要求的前提下,用多个时钟周期来完成单个时钟周期即可完成的功能。
  
  根据项目的要求,超声探伤数据采集卡要有5个模拟通道,每隔125μs就会采集到330个点。如果等5个超声通道采样结束后再进行数据处理和传输,几乎是不可能满足该超声探伤系统的实时性要求,而且数据量也远远超过ARM板上总线接口的传输速率2 MB/s。对于这么高的实时性要求,最好的解决办法是在CPLD内部进行数据压缩,即边采集边压缩,以满足系统使用的ARM板的总线速率要求。经过系统*估,每个超声通道只需保留一个最大值即可满足系统的性能要求。在这里,通过在三个8位数A,B,C中找出最大值的例子来说明串行设计方法的优势,代码如下所示。

  程序一是用并行方法设计,而程序二是采用串行方法设计。从表1的实验数据可见,采用串行方法以后,电路的优化效果比较明显。优化前,程序一需要消耗38个宏单元(Micro Cell),一个时钟周期即可完成找最大值操作;优化后,实现相同的逻辑功能程序二仅需要12个宏单元,但需要3个时钟周期才能完成一次运算,优化率达68.4%。值得注意的是,此方法是以速度换取资源的方法,只适用于对速度要求不高的系统。[page]

  1.2 防止不必要锁存器的产生
  
  在VHDL设计中,使用语句不当也是导致电路复杂化的原因之一,这使得综合后的电路当中存在很多不必要的锁存器,降低电路的工作速度。因此,在设计一个逻辑电路时,设计人员应该避免由于VHDL使用习惯的问题,无意识地在电路中添加不必要的锁存器。由于IF或者CASE语句较容易引入锁存器,所以当语句的判断条件不能覆盖所有可能的输入值的时候,逻辑反馈就容易形成一个锁存器。当然,随着高级编译软件的出现,如QuartusⅡ7.2,这样的问题通过编译软件已经得到很好的解决。对一个设计人员而言,有意识地防止不必要锁存器的产生可以加快编译速度。

  在超声探伤数据采集卡VHDL程序设计当中,涉及10 MHz系统时钟clk的同步D触发器的设计,即每当clk时钟信号的上升沿到来时,将输入信号in的值赋给输出信号out,代码如下所示。

  通过对比,程序四比程序三只多了一条空语句,但这样做可有效防止综合器生成不必要锁存器,并提高电路的工作速度。
  
  1.3 使用状态机简化电路描述
  
  由于状态机的结构模式简单,有相对固定的设计模板,特别是VHDL支持定义符号化枚举类型状态,这就为VHDL综合器充分发挥其强大的优化功能提供了有利条件。因此采用状态机比较容易地设计出高性能的时序逻辑模块,在超声探伤数据采集卡的CPLD程序设计中,使用有限元状态机(FSM)设计CY7CA225 1K×16 b FIFO芯片的读写控制模块,并且达到很好的效果,逻辑转换图如图1所示。实践证明,实现相同的逻辑功能,使用状态机设计能使设计的电路得到更好的优化。

  1.4 资源共享
  
  资源共享的思想是通过使用数据缓冲器或多路选择器等方法来共享数据通道中占用资源较多的模块,如算法单元。通过共享电路单元模块可有效提高芯片内部资源的利用率,达到优化电路的目的。
  
  1.5 利用E2PROM芯片节省片内资源
  
  在用VHDL进行项目开发的过程中,经常需要存储一些配置参数值。理论上讲,每存储一个字节的配置参数需要使用8个CPLD宏单元,因此在CPLD内部存储这些参数并不是好的方案,除非使用的CPLD芯片已集成了E2PROM存储单元。例如,在设计超声探伤系统的数据采集卡的过程中,每个通道的采样数都需要保存在CPLD里面。由于项目初期芯片选型不当,选择一款EPM7192S160-15,该款芯片内部只有192个宏单元,因此考虑把参数存储在外扩的E2PROM芯片24WC02中。经实验证明,在CPLD内部实现一个I2C控制器仅需要43个宏单元。由此可见,当初始化参数大于5个的时候,通过外扩E2PROM芯片来存储配置参数是可行的,只需在CPLD/FPGA芯片内实现I2C控制器即可方便地读写E2PROM存储芯片。
  
  2 结语
  
  使用VHDL进行CPLD/FPGA电路设计时,要根据实际项目的具体情况,合理地划分项目功能,并用VHDL实现相应的功能模块。用模块来构建系统,可有效地优化模块间的结构和减少系统的冗余度,并在模块设计过程中始终贯彻以上的优化设计原则,借助于强大的综合开发软件进行优化,才能达到最优化电路的目的。

关键字:CPLD  FPGA  VHDL  电路优化设计 引用地址:基于CPLD/FPGA的VHDL语言电路优化设计

上一篇:PSoC微处理器在电动车无刷电机控制器上的应用
下一篇:IDT 推出 Serial RapidIO Gen2 系统建模工具

推荐阅读最新更新时间:2024-05-02 21:01

Intersil推出针对应用处理器、GPU等的最小尺寸和最高效率PMIC
高度集成的ISL91211为智能手机、IoT设备以及其他在空间和功率上受限的系统提供91%的效率,并缩小解决方案尺寸达40% 全球领先的半导体解决方案供应商瑞萨电子株式会社(TSE: 6723)子公司Intersil今天宣布,推出一款用于应用处理器、GPU、FPGA和高性能系统电源的高度集成且可编程电源管理IC(PMIC)-- ISL91211,在1.1V输出电压下效率可达91%。该新型PMIC的低RDS(on) MOSFET和可编程PWM频率有助于工程师使用更少的外部元件,实现比竞争解决方案小40%的50mm2电源。ISL91211三、四输出PMIC是采用单芯锂离子电池或2.5V – 5.5V电源供电的智能手机、平板电脑、
[电源管理]
Intersil推出针对应用处理器、GPU等的最小尺寸和最高效率PMIC
基于FPGA的电容在线测试系统设计
  0 引言   PCB在焊接完成后,需要对其元器件进行测试,传统的方法是将其焊离PCB板后测试,但该方法不仅麻烦、效率低,并且容易损伤电路板而极不实用;另一方法就是人工结合机器进行测试,但这需要测试人员有一定的经验,也给测试带来了一定的不确定性,使得测试结果的精准度无法达到现代电路板的可靠性要求。所以,本文研究了一种可行的、简单实用及高精度的电容在线测试电路。另外,随着EDA技术的快速发展,FPGA以其高集成度、高可靠性及灵活性等特点正在快速成为数字系统开发平台,在多种领域都有非常广阔的应用前景。本设计结合上述两特点,设计了一种基于向FPGA内植入Nios II嵌入式软核作为控制器的电容在线测试电路。   1.测试原理  
[测试测量]
基于<font color='red'>FPGA</font>的电容在线测试系统设计
基于SRAM/DRAM的大容量FIFO的设计与实现
引言   CMMB(China Mobile Multimedia BroADCasting)即中国移动多媒体广播,是中国第一套具有自主知识产权面向移动端的移动广播电视标准,也是由中国移动通信公司和中广传播公司共同推出的便携式移动多媒体广播电视产品,主要面向手机、PDA等小屏幕便携手持终端以及车载电视等终端提供广播电视服务。手机作为基本的通信设备,要求能够完成基本的通信功能甚至多媒体处理功能,所以在手机上集成CMMB成为一种必然趋势。该系统采用卫星与地面增补转发相结合的技术体系,广播频段为U波段 (1.55~3.4 GHz和S波段(470~860 MHz)。由于该系统采用无线广播电视网的广播式传输方式,所以不会产生任何流量费,与
[单片机]
基于SRAM/DRAM的大容量FIFO的设计与实现
赛灵思FPGA受DLP数字影院投影仪青睐
  赛灵思公司(Xilinx)日前宣布NEC子公司NEC Display Solutions有限公司的三款DLP数字影院投影仪产品,均采用了赛灵思Virtex®-5 FPGA系列产品。   DLP数字影院投影仪符合美国数字影院计划(DCI1)标准,拥有一系列优异的高安全特性,能够满足各种不同输入信号的要求。该系统能忠实再现输入源,而且集成的德州仪器(TI)高分辨率2K(2048×1080)DLP数字影院芯片能够同时满足高分辨率与高对比度需求。赛灵思Virtex-5 FPGA系列能够在单一芯片中为所有必需的标准如HD-SDI、3G-SDI和串行解串器(SerDes)提供接口,从而显著降低外设产品的设计成本。因此,Virtex-5
[嵌入式]
赛灵思Spartan FPGA平台应用于香港应用科技研究院
全球可编程逻辑解决方案领导厂商赛灵思公司(Xilinx, Inc. (NASDAQ: XLNX))日前宣布,香港应用科技研究院 (Hong Kong Applied Science and Technology Research Institute (应科院) 在其面向平板 LCD 电视的最先进的动态 LED 背光控制技术设计核心,采用了赛灵思旗舰产品 Spartan® -3A FPGA。通过将 Spartan 用作其系统的核心部件,应科院可为下一代 LCD 电视机制造商提供比竞争解决方案更清晰的视频图像质量和更低的功耗。借助 Spartan-3A FPGA 特有的高度灵活性,应科院可根据其客户的具体功耗和性能需求进行技术定
[嵌入式]
CPLD和MSP430单片机在导波雷达物位计中的应用
导波雷达物位计具有受温度、压力、雾气、泡沫及被测介质物理特性变化的影响较小的优点。而且其测量精确,性能稳定。在石化、电力、冶金、等领域得到了广泛的应用,是近年来发展最快的一种物位测量技术。目前已有的导波雷达物位计多是国外进口产品且价格较高,低成本的导波雷达物位计有很大的市场前景。 1 雷达导波物位计的测量原理 导波雷达是非接触式雷达和导波天线结合的产物。它运用了TDR(时域反射)的原理。 图1是导波雷达物位计的测量原理,电磁波发射模块发射窄脉冲信号进入同轴电缆,信号传播到同轴电缆和导波杆的连接处(法兰处)会首先发生断路,一部分信号会反射产生一个顶部回波,其余信号继续沿导波杆传播。当信号与被测液体表面接触时,其阻抗特性会
[单片机]
<font color='red'>CPLD</font>和MSP430单片机在导波雷达物位计中的应用
FPGA之DDS信号发生器
本文主要涉及以下几个问题 1:频率控制字如何得到 2:DDS的框图 3:用MATLAB得到正弦波的数字量化 4:设计代码 5:仿真代码 6:仿真图 首先将正弦波信号离散化,离散成多少位的根据自己的设计精度要求来定,但最高位一定是符号位,负数用补码来表示;然后用rom或者ram来存储离散后的数据;再由频率控制字的累加来给出地址用于读出ROM或者ram中的数据。 1:相位累加器的位宽设为n,fc/(2^n)称作频率分辨率,这是能分辨出的最小频率,提高相位累加器位宽可以调高频率分辨率。目标频率f=M*fc/2^n ,fc是采样频率,M是频率控制字,由此可以得到频率控制字。 2:DDS框图其中输入到ra
[测试测量]
<font color='red'>FPGA</font>之DDS信号发生器
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved