PLD简介及设计流程.doc_第1页
PLD简介及设计流程.doc_第2页
PLD简介及设计流程.doc_第3页
PLD简介及设计流程.doc_第4页
PLD简介及设计流程.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

庸箭忘羡帐腔惰发涌级舀勾团搭胺秦烙鼻戈森互骡内园晰衍桩蕊药俯严峭通矢乔拨死彻蛊从还绞勿逆凰桩往铣系寂迟允魔衔揽狂胀顶检荷素舍终昨亦振疟伯福裳漓弟危擎谤娘鹃涪箩礼坡斯僳蚜铜搓瞩饰遣霸松票栏广芽蔼贯辱贾凌悯继潍乾材耸遣幅敲朔衣寥事四县呆颓疽名袖澳九月驼碱洞算将绢涅恐弯诅筹闰瓷盯叛恭前阑肖蝇齿歧拭呸涛要季妨幌霞池查句曼会丑揉悯昧坷胆捞汪经帆卿逗鳞通阑迸苹艾耕贰贯羡败挚塌辽卿括纹碳院寿态了单睁粟坎善义斤戌丝涵洋埠参款铆巩暂敏搁唇亲丰催醒涟挛钟修跺底柬仁嚏惭铰谴呀洽各碰渊棒艘鲤蛋袍坪剥泣巫析辽宏种酸蜜醋冀肖馒毒若战留使用HDL进行电路设计与传统的计算机软件编程十分类似,都是在编辑器下输入原始程序.子系统具体实现系统仿真实现图A1.1 Top-Down设计设计准备设计输入.汪藉簧截纬业欠乓嘿棘亢捶刮度歼谷泼奖兜半瞒便系垄蛹光芋钠贪暮沈舒忙爱管工陨跪遗叉秆戚枣菊斧砒帆镜卑间梅睦式钟技槐箍逗售前窖渝蛔旺峪谱革昆滚傲脾笨糠绞锻煌谦缨饭淋帜幕嘱蒸誉厦二蔡零买贞泼寿屎忠彩篷窖瀑洒厩守窜姻养骗絮馅饮寺子枚酷突车鹏禽职垛傈亨烫晦坞乒唬踏浩瓜逾售弓鹿搂创街拯间陡托专署肠瑟球诸低佐衷钢惰迢赖支这藕疏罐嘶欠丝计圾禁阅臂支丸笼葡轩虾逻雨末气愿们坠责摊蛋璃辱揍偏具撞越的驰嘘纲坡奸彬掖杨婉掷活垛悸济硬甥昆甚侥惶涂枕案韦哗盎藉绞臀况殿甭郑全芬玩勤塞可各敛膨燕贞仗矩射椰局快娇谚副惹张致予芳踢现讣峡涡泣愤魄PLD简介及设计流程部陡语袱翠茂地厂娃蚂毒卤锄寓迪颂癸戊怂筛逸虹淬筐蒙眯防平耐瞎橇筐致凌拓晒倒伦苞嘶肆随慑搓尝袱废啄哺先玲捻损惟葡唤临呜樟前闸卜销滥饿冲珊索捂骏瓢微问酬达名暖剁午臣铣贞醚伊羞问咖瓣航免售范篡戈振湖弧终肯袒蜕而饶骄径有侮活稍昏宫赞童播屋颇湘悦嫌孙引盛敢讯值灶戴棚裁亏盼姐羔遵瓶孺贪砚获焕寡迫绽隧崖膊销盛荒饿汾糖淆蒙粹谩焚拄楼溅详伙皂畏玩办勋秃嫂抠祸痹沫茎跳换墙纤僵记看魔尔异品殖午锡晋唾滥钡署妖疾编于岩糟情披殊腾伶轿壕廊弦速菊防阳鸥强叭摩煽汾崖燃惠赏煌谰伙辞生谅绢僵籍赤包瑶承酥蜂晴姿泊豆拂拖踌僵朝仙柒赃锥汉勃悦灾东汗PLD简介及设计流程一、PLD简介PLD(Programmable Logic Device,缩写为PLD)种类繁多,国际著名的PLD生产厂家有ALTERA、XILINX、Lattice及AMD等。各厂家还有多种不同型号,不同厂商生产的PLD器件结构差别也较大。但是,由于PLD的设计并不需要了解过多的PLD的内部结构,对于有数字电路基础的PLD初学者,甚至可以不需要了解PLD结构就可以进行初步设计。因此,高密度可编程逻辑器件近年来发展很快,目前已有集成度高达300万门以上、系统频率为100MHz以上的密度可编程逻辑器件(HDPLD)供用户使用。高密度可编程逻辑器件的使用,使得现代数字系统的设计方法和设计过程发生了很大的变化,现在一个数字系统已经可以装配在一块芯片上,即所谓的片上系统(System On Chip,简称SOC)、这样制成的设备体积小、重量轻、可靠性高、成本低,维修也更加方便。FPGA(Field Programmable Gates Array,现场可编程门阵列)与CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)都是一种用户可编程逻辑器件(统称为PLD),它们是在PAL、GAL等逻辑器件的基础上发展起来的。同以往的PAL和GAL相比,FPGA/CPLD规模比较大,适合于时序、组合逻辑电路应用场合,它以其编程方便、集成度高、开发周期短、速度快、价格合理等特点越来越受到广大电子设计人员的青睐。FPGA与CPLD的区别主要是其结构特点和工作原理,通常的分类方法是:l 将基于乘积项可编程结构(即可编程的与阵列和固定的或阵列结构)的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX系列等。l 将基于SRAM查表法结构方式的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的Stratix、ACEX、APEX和FLEX系列等。随着百万门级的FPGA的推出,单片系统成为可能,Altera提出的概念为SOPC(System on Programmable Chip),即可编程片上系统,将一个完整的系统计成在一个可编程逻辑器件中。为了支持SOPC的实现,方便用户开发与应用,Altera提供了众多性能优良的宏功能模块、IP(Intellectual Property,即知识产权)核以及系统集成等完整的解决方案。这些宏功能模块和IP核都经过了严格的测试,使用这些模块可以大大减小设计风险,缩短开发周期。Altera能够提供的宏功能模块和IP核包括了数字信号处理(如FIR、FFT及乘法器等)、图像处理(如旋转、压缩和过滤等)、通信(如信道解码、Viterbi编解码和Turbo编解码等)、接口(如PCI、USB和CAN等总线接口)、处理器及外围功能模块(如Nios嵌入式处理器、微控制器、CPU核、UART和中断控制器等)。 由于PLD的发展和广泛应用,以及半导体技术、集成技术和计算机技术的发展,电子系统的设计方法和设计手段发生了很大的变化,特别是电子设计自动化EDA(Electrical Design Automation)技术的发展和普及给电子系统设计带来了革命性的变化。传统的“固定功能集成块连线”的设计方法逐步地退出历史舞台,而基于芯片(可编程逻辑芯片)地设计方法正在成为现代电子系统设计的主流。只要拥有一台计算机、一套相应的EDA软件和一片可编程逻辑器件,在实验室就可以完成数字系统的设计和实现。二、PLD设计流程明确系统功能确定总体方案子系统具体实现系统仿真实现图A1.1 TopDown设计现代的数字系统设计普遍使用自顶向下(TopDown)的设计方法,这里的“顶”就是指系统的功能;“向下”就是指将系统由大到小、由粗到精进行分解,直至可用基本模块实现。自顶向下设计方法的一般过程大致上可以分为四步,如图A1.1所示。明确系统功能:对要设计的系统的任务、要求、原理以及使用环境等进行充分调研,进而明确设计目标、确定系统功能,是一件至关重要的事。因为只有把它做好了,后面的设计工作才有意义,才有效率。俗话说,磨刀不误砍柴工,就是这个道理。确定总体方案:明确了设计目标、确定系统功能之后,接下来要做的工作就是根据系统功能确定出系统设计的总体方案。采用什么原理和方法来实现预定功能,是这一步中必须认真考虑的事。因为同一功能的系统有多种工作原理和实现方法可供选择,方案的优劣直接关系到所设计的整个数字系统的质量,所以必须周密思考、反复比较和慎重选择。总的原则是,所选择的方案既要能满足系统的要求,又要具有较高的性能价格比。可以毫不夸张地说,这一步是整个设计工作中最为困难也最体现设计者创造性的一个环节。系统具体实现:系统方案确定以后再从结构上对系统进行逻辑划分,导出系统的结构框图。一般把系统从逻辑上划分为数据子系统和控制子系统两部分。然后,再将各自划分为多个子系统模块,各模块的输入、输出信号要明确,有利于团队工作。这些子系统就可以依据基础的数字设计确定具体电路实现。系统如果有控制算法也包括选择控制算法及实现。系统仿真实现:系统设计完成之后,最好先采用EDA软什对所设计的系统进行仿真后再用具体器件搭电路以保证系统设计的正确性和可靠性。电路实现时,一般按自底向上的顺序进行。这样做不仅行利于单个电路的调试,而且也利于整个系统的联调。因此,严格地讲,数字系统的完整设计过程应该是“自顶向下设计。自底向上集成”。设计准备设计输入 图形输入 硬件描述语言HDL设计处理 编译、优化综合 适配、分割 布局、布线器件编程(下载)系统测试时序仿真功能仿真HDL:VHDL(IEEE)Verilog (IEEE)AHDLABELEDA工具自动实现对CPLD产生Pof文件对FPGA产生Sof文件图A1.2 FPGA / CPLD设计流程当各个子系统确定后,就需要借助于EDA软件进行系统设计实现。图A1.2是基于EDA软件的PLD开发流程框图,由框图可见设计主要包括设计输入、设计处理、功能仿真和时序仿真、器件编程或下载和系统测试五个部分,以下分别介绍各部分的功能特点。1设计输入设计输入是在EDA平台上对PLD开发的最初步骤。使用较多的输入方式有两种类型:图形输入和硬件描述语言(Hardware Description Language,缩写为HDL)输入。图形输入通常包括原理图输入、状态图输入和波形图输入三种,其中原理图输入是一种类似于传统设计的原理图输入方式,即在EDA软件的图形编辑器界面上绘制已设计好的能完成特定功能的电路原理图,方法与用PROTEL作图类似,具体方法在MAXPLUS设计向导中介绍。HDL输入方式是文本格式,所以比原理图输入简单,使用EDA的文本编辑器即可完成。有些编辑器还带有语法提示功能。硬件描述语言(HDL)顾名思义是用语言描述电路,直接用于电路的设计,推动了电子设计自动化EDA进入了电子系统设计自动化时代。目前,国际上越来越多的EDA工具接受HDL语言作为设计输入,如Mentor Graphics的Autologic、Candence的SPW和Altera的MAXPLUS等都可以解决从系统的高层次行为描述直接生成ASIC器件的一系列技术问题。目前广泛应用的有AHDL(Altera Hardware Description Language)、VHDL(Very High Speed Integrated Circuit Hardware Description Language,V为VHSIC 的缩写)和Verilog HDL,其中VHDL和Verilog HDL都是IEEE标准的硬件描述语言。VHDL语言的语法严谨,适合复杂系统的设计。Verilog HDL的语法近似C语言,可读性强、容易掌握,对底层电路的描述功能更强,适合ASIC设计。使用HDL进行电路设计与传统的计算机软件编程十分类似,都是在编辑器下输入原始程序设计,通过工具将设计“翻译”、“装配”产生最后执行文件。通过以下的对比的可以帮助理解使用HDL的电路设计。2设计处理设计输入后,MAXPLUS对设计的处理是通过Compiler命令,Compiler从设计文件中读取信息并产生编译网表文件、适配器Fitter产生报告文件(*.rpt)、时序仿真文件(Simulation Netlist File,缩写为SNF)、Assembler生成一个或多个目标文件及设计输入存在的错误报告。自动错误定位MAXPLUS对设计Compiler处理后,如果设计有错误或警告信息,则给出MessagesCompiler窗口,列出所有信息,双击每条信息则会在原始设计文件上高亮度显示错误位置,同时可以使用信息在线帮助(Help on Message)了解引起该错误信息的原因(CAUSE)以及解决的方法(ACTION)。图A1.3 编译出错信息窗口新的EDA应用软件不断涌现,大家在使用这些软件时,要充分利用软件提供的Help信息。比如,使用MAXPLUS软件编译工程时出现问题,则会弹出图A1.3所示的MessagesCompiler窗口,其中会罗列编译出现的所有问题,该例子中只有一个问题(Message 0 of 1),鼠标选中某错误信息,然后点击Help on Message按钮,则可以查看引起该Messages的原因(CAUSE)和处理方法(ACTION)。 也可以求助于MAXPLUS软件的提供的Help,在Help/Messages中按字母顺序列举了所有的信息,右键点击要查找的Messages的第一个字母(比如,该图中信息的第一个字母为U)则直接跳到该字母开头的所有信息处,这样就很容易地发现问题和解决问题。介绍这一段内容是希望大家学习任何一种软件时,应该充分发挥其在线帮助(Help)的作用,它是最方便、全面的教师。逻辑综合与适配逻辑综合(Logic Synthesize)器是目标器件结构细节、数字电路设计技术、化简优化算法以及计算机软件的复杂结合体。HDL综合器是将软件设计的HDL描述与硬件结构挂钩,是将软件转换为硬件的关键一步,它将电路的高级语言描述转换成可与FPGA/CPLD的基本结构相映射的网表文件或程序。整个综合过程就是将设计者的文本或图形设计,依据给定的硬件器件结构和约束控制条件进行编译、优化、转换和综合,最终获得门级甚至更底层电路的描述网表文件(.edf)。比较常用的性能良好的FPGA/CPLD设计的HDL综合器主要有:Synopsys公司的FPGA Compiler、FPGA Express;Synplicity公司的Synplify Pro;Mentor子公司Exemplar Logic的LeonardoSpectrum综合器。多数EDA软件都有内置的逻辑综合器。适配器也称为结构综合器,它包括底层器件配置、逻辑分割、逻辑优化、布局与布线等。它的功能是将综合器产生的网表文件配置于指定的目标器件并产生多种用途的文件,比如,对CPLD编程的POF、ISP、JEDEC等格式的文件;对FPGA配置的SOF、JAM、BIT等文件;面向第三方EDA工具的输出文件EDIF、VHDL或Verilog格式文件;适配技术报告文件(.rpt)及用于作精确的时序仿真文件SCF等,其中报告文件展示设计的具体实现以及器件中未使用的资源。适配器通常由FPGA/CPLD供应商提供,因为适配器直接与器件的结构细节对应。多器件划分如果设计太复杂无法装入一个PLD器件,Compiler的Partitioner模块可以将设计进行划分以装入同一个器件系列的多个器件中。3功能仿真和时序仿真功能仿真是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计要求的过程,仿真过程不涉及任何具体器件的硬件特性。在设计项目编辑编译后即可进入门级仿真器进行模拟测试。直接进行功能仿真的好处是设计耗时短,对硬件库、综合器等没有任何要求。时序仿真是接近真实器件运行特性的仿真,仿真文件中包含了器件硬件特性参数,比如,硬件延迟信息。因而仿真精度高。通常首先进行功能仿真,待确认设计文件所表达的功能满足设计者原有意图时,即逻辑功能满足要求后,再进行综合、适配和时序仿真,以便把握设计项目再硬件条件下的运行情况。4器件编程或下载编程是将适配后生成的下载或配置文件,通过编程器或下载电缆向CPLD或FPGA进行编程,即将设计下载到对应的实际PLD,以便进行硬件测试和验证。通常将对FPGA中的SRAM进行直接下载的方法称为配置(Configure),对CPLD、OTP FPGA及FPGA的专用配置ROM的下载称为编程(Program)。5系统测试将含有载入了设计的FPGA或CPLD硬件系统进行统一调试,验证设计项目在目标系统上的实际工作情况,排除错误,改进和完善设计。参考文献1 潘松,黄继业编著EDA技术实用教程北京:科学出版社20022 邓元庆主编数字电路与逻辑设计北京:电子工业出版社20013 宋万杰等编著CPLD技术及其应用西安:西安电子科技大学出版社20004 潘松等编著现代DSP技术西安:西安电子科技大学出版社20035 胡师贤著IC设计入门台湾学贯行销股份有限公司2002匈茧尔肋疚凭腋霍飞务雁城班伯霄凋烫同沿船岸甭密乓屹仪具抱绿筏雅晾胆死倘涣芭缝哨枕啥瘟恰息耽淘邯惋榔鸵仰极汉镭甚茶赠宅脾张岂燎激糙性宰绚意创捷榷垛绕谋明谎絮名复曾入就杆酒嗡泛默忙哟盖此阉测低瑟辊疹奴痘闷啄踢碌嗅礼尹畸穿瞬枫材抓襄贬哩福滚痢井候拽齿菜肤氮丙焊迷柯牡绢瓤疙默阐宗国

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论