下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 CPLDFPGA的VHDL语言电路优化设计 0 引 言 VHDL(Very High Speed Integrated Circuit Hardware Description Language)是IEEE工业标准硬件描述语言,是随着可编程逻辑器件(PLD)的发展而发展起来的。它是一种面向设计、多层次的硬件描述语言,是集行为描述、RTL描述、门级描述功能为一体的语言,并已成为描述、验证和设计数字系统中重要的标准语言之一。由于VHDL在语法和风格上类似于编程语言,可读性好,描述能力强,设计方法灵活,可移植性强,因此它已成为广阔EDA工程师的。目前,使用VHDL语言
2、开展CPLDFPGA设计开发,Altera和Lattice已经在开发软件方面提供了基于本公司芯片的强大开发工具。但由于VHDL设计是行为级设计,所带来的问题是设计者的设计思想与电路构造相脱节,而且其在设计思路和编程风格等方面也存在差异,这些差异会对系统综合后的电路整体性能产生重要的影响。 在VHDL语言电路优化设计当中,优化问题主要包括面积优化和速度优化。面积优化是指CPLDFPGA的资源利用率优化,即用尽可能少的片内资源实现更多电路功能;速度优化是指设计系统满足一定的速度要求,即用更多的片内资源换取更快的处理速度,常用于视频信号采集系统和通信系统之中。面积优化和速度优化通常是一对矛盾,一般情
3、况下,速度指标是首要的,在满足速度要求的前提下,尽可能实现面积优化。因此,本文结合在设计超声探伤数据采集卡过程中的CPLD编程经验,提出串行设计、防止不必要锁存器的产生、使用状态机简化电路描述、资源共享,利用E2PROM芯片节省片内资源等方法对VHDL电路开展优化。 1 VHDL电路优化设计的方法 优化设计是可编成逻辑设计的精华所在,如何节省所占用的面积、如何提高设计的性能是可编成逻辑设计的,这两点往往也成为一个设计甚至项目成败的关键因素。下面结合超声探伤数据采集卡设计过程中,并基于Altera公司的EPM7192 CPLD芯片的编程经历来论述VHDL电路的优化方法。 1.1 采用串行设计代替
4、并行设计 串行设计是指把原来单个时钟周期内完成的并行操作的逻辑功能分割出来,提取相同的功能单元,在时间上分时复用这些功能单元,在满足系统速度要求的前提下,用多个时钟周期来完成单个时钟周期即可完成的功能。 根据项目的要求,超声探伤数据采集卡要有5个模拟通道,每隔125s就会采集到330个点。如果等5个超声通道采样结束后再开展数据处理和传输,几乎是不可能满足该超声探伤系统的实时性要求,而且数据量也远远超过ARM板上总线接口的传输速率2 MBs。对于这么高的实时性要求,的解决方法是在CPLD内部开展数据压缩,即边采集边压缩,以满足系统使用的ARM板的总线速率要求。经过系统*估,每个超声通道只需保存一
5、个值即可满足系统的性能要求。在这里,通过在三个8位数A,B,C中找出值的例子来说明串行设计方法的优势,代码如下所示。 程序一是用并行方法设计,而程序二是采用串行方法设计。从表1的实验数据可见,采用串行方法以后,电路的优化效果比较明显。优化前,程序一需要消耗38个宏单元(Micro Cell),一个时钟周期即可完成找值操作;优化后,实现相同的逻辑功能程序二仅需要12个宏单元,但需要3个时钟周期才能完成运算,优化率达68.4。值得注意的是,此方法是以速度换取资源的方法,只适用于对速度要求不高的系统。 1.2 防止不必要锁存器的产生 在VHDL设计中,使用语句不当也是导致电路复杂化的原因之一,这使得
6、综合后的电路当中存在很多不必要的锁存器,降低电路的工作速度。因此,在设计一个逻辑电路时,设计人员应该防止由于VHDL使用习惯的问题,无意识地在电路中添加不必要的锁存器。由于IF或者CASE语句较容易引入锁存器,所以当语句的判断条件不能覆盖所有可能的输入值的时候,逻辑反应就容易形成一个锁存器。当然,随着编译软件的出现,如Quartus7.2,这样的问题通过编译软件已经得到很好的解决。对一个设计人员而言,有意识地防止不必要锁存器的产生可以加快编译速度。 在超声探伤数据采集卡VHDL程序设计当中,涉及10 MHz系统时钟clk的同步D触发器的设计,即每当clk时钟信号的上升沿到来时,将输入信号in的
7、值赋给输出信号out,代码如下所示。 通过比照,程序四比程序三只多了一条空语句,但这样做可有效防止综合器生成不必要锁存器,并提高电路的工作速度。 1.3 使用状态机简化电路描述 由于状态机的构造模式简单,有相对固定的设计模板,特别是VHDL支持定义符号化枚举类型状态,这就为VHDL综合器充分发挥其强大的优化功能提供了有利条件。因此采用状态机比较容易地设计出高性能的时序逻辑模块,在超声探伤数据采集卡的CPLD程序设计中,使用有限元状态机(FSM)设计CY7CA225 1K16 b FIFO芯片的读写控制模块,并且到达很好的效果,逻辑转换图如图1所示。实践证明,实现相同的逻辑功能,使用状态机设计能
8、使设计的电路得到更好的优化。 1.4 资源共享 资源共享的思想是通过使用数据缓冲器或多路选择器等方法来共享数据通道中占用资源较多的模块,如算法单元。通过共享电路单元模块可有效提高芯片内部资源的利用率,到达优化电路的目的。 1.5 利用E2PROM芯片节省片内资源 在用VHDL开展项目开发的过程中,经常需要存储一些配置参数值。理论上讲,每存储一个字节的配置参数需要使用8个CPLD宏单元,因此在CPLD内部存储这些参数并不是好的方案,除非使用的CPLD芯片已集成了E2PROM存储单元。例如,在设计超声探伤系统的数据采集卡的过程中,每个通道的采样数都需要保存在CPLD里面。由于项目初期芯片选型不当,选择一款EPM7192S160-15,该款芯片内部只有192个宏单元,因此考虑把参数存储在外扩的E2PROM芯片24WC02中。经实验证明,在CPLD内部实现一个I2C控制器仅需要43个宏单元。由此可见,当初始化参数大于5个的时候,通过外扩E2PROM芯片来存储配置参数是可行的,只需在CPLDFPGA芯片内实现I2C控制器即可方便地读写E2PROM存储芯片。 2 结语 使用VHDL开展CPLDFPGA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《陶瓷材料冲击响应行为的离散单元法模拟》
- 《成本粘性对跨国公司绩效的影响研究》
- 2024年创意办公家具购买合同
- 2024年客运丛业资格证考试
- 2024年度加工承揽合同标的质量与验收
- 2024年合作客运资格证仿真试题
- 专题04天气与气候(第01期)-2023年中考地理真题分项汇编
- 2024年白银道路客运输从业资格证到期换证考试
- 2024年沈阳汽车驾驶员客运资格证考试题库及答案
- 2023届新高考化学选考一轮总复习学案-热点17 同分异构体的书写及数目判断
- 某港口码头工程施工组织设计
- 职业技术学校老年保健与管理专业(三年制)人才培养方案
- 2024年秋季人教版新教材七年级上册语文全册教案(名师教学设计简案)
- 有子女民政局常用协议离婚书格式2024年
- 中国介入医学白皮书(2021 版)
- 2024中华人民共和国农村集体经济组织法详细解读课件
- 代运营合作服务协议
- 婚内财产协议书(2024版)
- 有限空间作业应急管理制度
- 2024全国普法知识考试题库及答案
- 化工企业中试阶段及试生产期间的产品能否对外销售
评论
0/150
提交评论