HDL开发的流程和工具IC设计流程典型芯片开发步骤_第1页
HDL开发的流程和工具IC设计流程典型芯片开发步骤_第2页
HDL开发的流程和工具IC设计流程典型芯片开发步骤_第3页
HDL开发的流程和工具IC设计流程典型芯片开发步骤_第4页
HDL开发的流程和工具IC设计流程典型芯片开发步骤_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、HDL开发的流程和工具IC设计流程典型芯片开发步骤HDL开发的流程和工具+IC设计流程+典型芯片开发步2006-11-23 19:17:04| 分类:IC|字号订阅HDL相关工具简介HDL 即 Hardware Description Language ,硬件描述语言,主 要 用来描术电子电路的结构、行为、功能和接口。采用HDL语言描述电路与传统的利用原理图设计电路有很大的不同,主要特点 如下:采用自顶向下的设计方式 采用语言描述硬件多种输入方式存 档、交流方便便于集体协作便于早期规划 电脑辅助完成部分工作 电 路验证更完善HDL语言有多种,现最流行的是VHDL和VerilogHDL ,并且各

2、有其特点。一般认为VHDL语法类似于Ada语言,语法繁锁,关键字较长,学习较困难,对电路的行为描述能力 较强,但对开关级电路描述能力不强;Verilog则类似于C语言, 语法简洁,入门较易,对底 层电路描述能力较强,但行为描述能力较 VHDL 弱。但 VHDL和Ver订og的市场占有 率相当,且各EDA工具一般都支持两种语 言,所以很难断言哪种语言将更有前途。目前两种语言都在发展当中。最近用C语言描述硬件电路也己加大了研究力度。用HDL语言开发电路一般分为几个阶段:HDL语言输入、逻辑综 合、仿真、布线,适配这是FPGA/CPLD开发中所用到的步骤,如果是集成电路 开发,则 不需适配,在布局、

3、仿真完成后即可到制程厂生产。输入较常用的输入方式是文本输入方式。一般的HDL仿真、综合软 件或FPGA/CPLD厂家提供的集成开发环境都包含语法敏感的输入工 具,不需要另外寻找。但也有例外,例如Synopsys 的 FPGAExpress就不带编辑器,给使用带来些许不变。Modelsim所带的编辑器不是很好用,且字体对齐有些问题。其余如Xilinx 、 Altera 、Synplicity提供的开发工具中的编辑器都不错。如果你感到不满 意,可寻找其它的编辑器,例如专业的TurboWriter ,使用相当方便。被众多程序员喜爱的UltraEdit在加 上 语法模板之后非常好用,打开文件快速,占用

4、资源少,各项功能使用 都相当方便。个较流行的方式是状态图输入方式。它可以让设计者采用 类似于画 流程图的方式,设定好各种状态转换条件后,依靠 专用软件自动生成 HDL源程序,简化了输入 过程。这类软件有Visual Software Solutions, Inc 的 StateCAD 、Mentor Graphics 的 HDLDesigner Series 等。电路图式输入方式也经常用到,这多是在利用现成的元件构成电路时使用。例如一个设计中主要是采用HDL语言作设计,而某个模块有现成的电路,一种方法是采用HDL语言将电路按连线关系重新描述一遍,另一种是使用软件将该 电路自动 转换成HDL源文

5、件,例如Xilinx的ISE 3.3中就是采用此方式。综合 综合的作用是将用语言表示的HDL源程序转换成相应的电路。综合 软件的优劣直接决定了电路功能的实现方 法、电路所占资源的多少电 路的各项性能是否符合要求等。虽然这一切跟HDL程序设计的优劣息息相关,但同样的设 计经过不 同的软件综合后可能有不同的结果,所以好的综合软件能带来事半功 倍的效果。目前各种综合软件琳琅满目,但被大多数设计工程师认可、占有一定 份额的主要是由前几大EDA公司所开发的,例如Cadence.Synopsys、 Synplicity 、 Mentor 、 Avanti等。Cadence公司的软件主要是应用于IC设计方面

6、,且大多工作在工作站上,所以一般业余条件下很难接触到。Syno psys的综合软件比较多,如FPGA Ex press、FPGACompiler 、 Design Compiler 等。FPGAExpress由于原来为Xilinx和Altera做OEM版,开发过FPGA的工程师应该比较熟悉。它使用较为简单,可根据面积或速度进行优 化,对FPGA/CPLD的芯片支持较多。但给我的印象不是很好,主要有三点: 一是不自带编辑器。在新建工程后只能先添加现 有文件然后才能进行 编辑,且编辑器很 差,不对语法敏感。二是电路图查看效果很差。如 果电路较 小,只有几十个门时还比较直观,但当门数增加后简直是,不

7、堪入目。不管多大的电路,它都不分页,让你一览无遗,结果是什么也看不懂,且电路载入的速 度相当 慢。电路图由于对设计工程师来说较为直观,所以经 常用到该功能。特别是对于初学者,刚接触HDL时没有清晰的概念,更要多查看综合后的原理 图,以使自己对HDL语言本身有较直观的理解,也对综 合 器的各项特性有个大致认识。第三是它对电路 的优化效果不好, 较占FPGA资源。(我是用FPGA Express 3.5和Synplify Pro 6. 24比较后得出的。)Synplicity公司(现是Cadence子公司)的HDL综合软件有Synplfy(Pro)、Amplify 、 Certify 和 Synp

8、lifyAsico Synplify Pro的最新版是7. 02,界面简洁、使用方便、功能强大,让人觉得无可挑剔。FPGAExpress的三个缺点都是它的优点。它所带的编辑器自动对HDL语法加亮显示;电路图查看功能非常好用,具有自动分页功能,每页所显示的电路图大概就是A4或A3纸所能容下的。 并且能够将电路图以门级方式显 示,还能显示关键路径,并能对HDL 代码交叉定位。即在 原理图中双击某个器件,就会跳到产生该器 件的 代码段;选中代码后也可使电路图中相应部分突出显 示。另外 Synplify Pro也能够显示状态图。SynplifyPro的各项优化设置不是很多,主要有速度、时钟、延时等几方

9、面, 简单却功能强大。SynplifyPro也能调用相应FPGA公司的布线软件,例如Xilinx等。我个人较喜欢。Synplify是Synplify Pro的功能简化版。如果你为了节省成本, 可以使用它试试。Amplify可对FPGA进行物理综合与优化,应该性能比Synplify Pro更好。只是由于我使用的是X订inx ISE 3. 3 ,它只 支持Synplify Pro ,所以懒得在别的软件中综合后再调入ISE , 一直让Amplify静静的躺在硬盘上的某个角落中,实没有 际使用过。Certify是比Amplify功能更强大的综合器,它能将一个大的设计分配至多颗FPGA中!如果你碰到这么

10、大的设计,那它是你最好 的选择。另外,在Certify中你可以加入自己的IP !Synplify Asic是针对IC设计的,由于它只附带一个例子库,所 以我只运行了一下一睹芳容,而没有进行更深入的研究。面四套Synplicity公司的软件其使用界面都极相似,为使用者 带来了极大的方便。Exemplar公司(现是MentorGraphics子公司)的LeonardoSpectrum也是一款非常优秀的综合器。同时它也是PC机上为数不多的支持ASIC开发的综合器之-O它 支持众多的FPGA/CPLD器件,各项设置约束功能强大,具 备 能,支持多种输出网表格式,同时它也能调用其它FPGA厂家的布线 器

11、。RTL级和门级电路查看功能并以彩色显示,具备智能分页显示功LeonardoSpectrum的设置方式分两种:快速设置和高级设置。在 快速设置时,你只要选好FPGA器件型号、封装、速度等和设计的时 钟速W度,就可以进行综合了。在高级设置方式时,则各相关选项 口.名目 烦多,你可以设置编码方式、时钟频率、时钟周期与延迟、 综合结果内容、网表输出格式等。而且可以对整个设计的各部分分别 设置。总的来说该软件给人的感觉是非常不错,只有个小缺点:你的显示器最好能上到1024X768 以上。除专业EDA软件公司外,一些FPGA公司也开发了自己的HDL综合器,例如Xilinx的ISE3.3中默认的综合器就

12、是它自己 开发的XST。由于它是后台运行,且不能查看生成 后的电路图,所 以不好作评价。不过它对电路综合后所占用FPGA的资源好像比FPGAExpress要少!另外Altera公司在它的Maxplus中也是用的自己 的综合器。另外有部分人使用的可能是Workview Office或ispDesignExpert o不过这两套软件我都没有接触到。被EDA界较熟悉的ORCAD中也能使用VHDL ,不过它是内嵌了 Exemplar。仿真HDL仿真分为前仿真、后仿真,或语法仿真、门级仿真、时 序仿真。 前仿真指的是电路未经布线之前的仿真,后仿真则在经过布线之后的 仿真。语法仿真是根据HDL语法所做的仿

13、真,此时的仿真完全基于HDL描述,部分HDL语句只能用于仿真时查错,而不能综合成电路,例如文件的输入与输出;门级仿真指的是在综合之后的仿真;时 序仿真则是指将连线、负载产生的延时也计算进来。一般的仿真工具 都支持上述各种仿真,但Maxplus则不支持专门的仿真语句。HDL仿真软件则数目上更多,例如VCS、VSS、NC-Ver订og、NC-VHDL 、Verilog-XL、Modelsim、Vsimsa等。其中许多软件我是只闻 厂家所提供的集成开发环境,例如X订inx公司的Foundation、 ISE Alliance 、其名、不见其身。对于开发FPGA来说,般是使用FPGAWebpack,

14、Altera 公司的 Maxplus、Quartus等。其中部分软件使用的是它们自己所开发的仿真器,例如 Maxplus ,而另一些则是嵌入专业EDA软件公司的OEM版软件,例如ISE3. 3、Webpack 使用的是 Modelsim XE(XilinxEdition) , Foundation使用的是Active-HDL。不过我还是喜欢ModelSim。一般认为ModelSim入门较难,那是因为在Modelsim中没有波形输入工具,只能通过命令输入激励信号其实在其菜单中也有)对初学者来说很不直观。不过,在ISE3. 3中可以使用HDLBencher输入波形,直接产生testbench,省去

15、了很多麻烦。Modelsim的运行速度较快,而且其结果比较可靠,调错也 相当方便。本站所有的麻烦。Modelsim的运行速度较快,而且其 结果比较可靠,调错也相当方便。本站所有的电路仿真都是在 ModelSim中完成。真中必不可少的一步是给被测电路的输入信号给予激励。种方法是直接给波形,但很多波形编辑器都不是很好用,我觉得 Maxplus是其中的佼佼者,只要点点鼠标就可以完成。另一种是写测试台,即Testbench,该方法也比较麻烦,特别是在加不规则波形时。X订inxISE附带了一套自动产生 Testbench的程序HdlBencher,在该程序中它可以自动将设计中的输入、输出找出来,你可以以

16、图形化 的方式编辑好 输入波形和所预期的结果,然后调入仿真器中进行仿 真。对 于初学者真的很好用!另外还有一种方法,就是在仿真软件 中用命令方式加输入波形,例如Modelsim ,不过初学者通常对其不感兴趣,这就是网上许多人说 Modelsim不容易入门的原因。除软件仿真外,要做的最后一步就是硬件仿真。通常有两种做法:一种是先设计好电路板,在电路板上测试结果;另一种是利用通用的FPGA开发板。前一种方式风险较 大,且较费时,每有一个新的设计都要重新花费精力设计电路板,且当设计结果在FPGA的容量板搭同 一个简单的电路测试环境,等所有的功能测试完毕后再做应用板。 采用何种FPGA开发板通常取决于

17、你的需求:之外时就更麻烦了。所以一般是利用第二种方法,用FPGA是成本考虑,二是从FPGA厂家教虑,三是从设计环境考虑。第 二点主要是要考虑你所最了解的FPGA的特点、开发 过程等,第三 点是要考虑是否有特殊要求,你如不允许有配 置电路、需要较大的 内部SRAM、是否需要内嵌CPU等。般在选择开发板的门数时要尽量选大的。1.首先是使用HDL语言进行电路描述,写出可综合的代码。然后用仿真工具作前仿真,对理想状况下的功能进行验证。这一步可以使用Vhdl或Ver订og作为工作语言,EDA工具方面就我所知可以用Synopsys 的VSS(for Vhdl )、 VCS(for Verilog)Cade

18、nce的工具也就是著名的Verilog-XL和NC Verilog 2.前仿真通过以后,可以把代码拿去综合,把语言描述转化成电路网 表,并进行逻辑和时序电路的优化。在这一步通过综合器可以引入门延时,关键要看使用了什么工 格式。综合工具Synopsys 的 Design Compiler , Cadence 的艺的库这一步的输出文件可以有多种格式,常用的有EDIFAmbit 3.综合后的输出文件,可以拿去做layout,将电路fit到可编程的片子里或者布到硅片上,这要看你是做单元库的还是全定制的。全 定制的话,专门有版图工程师帮你画版图,Cadence的工具是 layout editoro 单元库的话,下面一步就是自动布局布线,auto pl ace & route,简称 apro cadence 的工具是 SiliconEnsembler, Avanti 的是Apolioo layout出来以后就要进行extract,只知道用Avanti的Star_rcxt,然后做后仿真。如果后仿真不通过的话,只能iteration ,就是回过头去改。4接下来就是做DRC, ERC, LVS 了,如果没有什么问题的话,就tape out GDSII格式的文件送制版厂做掩膜板,制作完毕上流水线流片,然 后就看 是不是work To做DRC, E

温馨提示

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

评论

0/150

提交评论