您好,欢迎访问三七文档
一.集成电路设计前端流程及工具。1.设计输入1)设计的行为或结构描述。2)典型文本输入工具有ultraedit-32和editplus.exe.。3)典型图形化输入工具-mentor的renoir。4)我认为ultraedit-32最佳。2.代码调试1)对设计输入的文件做代码调试,语法检查。2)典型工具为debussy。3.前仿真1)功能仿真2)验证逻辑模型(没有使用时间延迟)。3)典型工具有mentor公司的modelsim、synopsys公司的vcs和vss、aldec公司的active、cadense公司的nc。4)我认为做功能仿真synopsys公司的vcs和vss速度最快,并且调试器最好用,mentor公司的modelsim对于读写文件速度最快,波形窗口比较好用。4.综合1)把设计翻译成原始的目标工艺2)最优化3)合适的面积要求和性能要求4)典型工具有mentor公司的leonardospectrum、synopsys公司的dc、synplicity公司的synplify。5)推荐初学者使用mentor公司的leonardospectrum,由于它在只作简单约束综合后的速度和面积最优,如果你对综合工具比较了解,可以使用synplicity公司的synplify。5.布局和布线1)映射设计到目标工艺里指定位置2)指定的布线资源应被使用3)由于pld市场目前只剩下altera,xilinx,lattice,actel,quicklogic,atmel六家公司,其中前5家为专业pld公司,并且前3家几乎占有了90%的市场份额,而我们一般使用altera,xilinx公司的pld居多,所以典型布局和布线的工具为altera公司的quartusii和maxplusii、xilinx公司的ise和foudation。4)maxplusii和foudation分别为altera公司和xilinx公司的第一代产品,所以布局布线一般使用quartusii和ise。6.后仿真1)时序仿真2)验证设计一旦编程或配置将能在目标工艺里工作(使用时间延迟)。3)所用工具同前仿真所用软件。7.时序分析1)一般借助布局布线工具自带的时序分析工具,也可以使用synopsys公司的primetime软件和mentorgraphics公司的tautiminganalysis软件。8.验证合乎性能规范1)验证合乎性能规范,如果不满足,回到第一步。9.版图设计1)验证版版图设计。2)在板编程和测试器件。二.FPGA和ASIC的概念,他们的区别现场可编程门阵列(FPGA)是基于通过可编程互联连接的可配置逻辑块(LCB)矩阵的可编程半导体器件。FPGA可以针对所需的应用或功能要求进行编程。其中可编程是基于SRAM的。一共包括三个部分:可配置逻辑块(CLB)、互连、SelectIO(IOB)、存储器、完整的时钟管理。FPGA的一般特性当今的FPGA已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬(ASIC型)块。FPGA内的基本元件如下所示。可配置逻辑块(CLB)CLB是FPGA内的基本逻辑单元。实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个由4或6个输入、一些选型电路(多路复用器等)和触发器组成的可配置开关矩阵。开关矩阵是高度灵活的,可以进行配置以便处理组合逻辑、移位寄存器或RAM。相应器件的数据手册中提供了更系统的详情。互连CLB提供了逻辑性能,灵活的互联布线在CLB和I/O之间发送信号。有几种布线方法,从专门实现CLB互联的到快速水平和垂直长线,再到实现时钟与其它全局信号的低歪斜发送的器件。除非特别规定,设计软件使得互联布线任务从用户眼前消失,这样就极大地降低了设计复杂度。SelectIO(IOB)当今的FPGA支持很多I/O标准,这样就为您的系统提供了理想的接口连接。FPGA内的I/O按组分类,每组都能够独立的支持不同的I/O标准。当今领先的FPGA提供了很多I/O组,这样就实现了I/O支持的灵活性。存储器大多数FPGA均提供嵌入式BlockRAM存储器,这可以在您的设计中实现片上存储器。这可以为您的设计实现片上存储器。XilinxFPGA在36kbit块中提供高达10Mbits的片上存储器,可以支持真正的双端口操作。完整的时钟管理业内大多数FPGA均提供数字时钟管理(Xilinx的全部FPGA均具有这种特性)。Xilinx推出的最先进的FPGA提供数字时钟管理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并能够实现过滤功能。什么是ASIC?ASIC(ApplicationSpecificIntergratedCircuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,品种多、批量少,要求设计和生产周期短,它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。区别:1.适用于比较大的项目,成本相对低。FPGA比较适合小项目,片数比较少时。开发速度快。2.ASIC是生产时其逻辑功能就固定了;而FPGA是可编程的。3.FPGA的资源利用率比较低、功耗会远远大于ASIC芯片、面积也会比较大。4.FPGA灵活性、小项目成本比较低。FPGA和ASIC的比较ASIC是专用集成电路的简称,一般情况下用于性能很高,用量很大的场合。FPGA(FieldProgrammableGateArray,现场可编程门阵列)作为现场可编程器件,在最近几年发展非常迅速,其可升级的特性为最大特点。FPGA因为具有高度的灵活性,占据了很多ASIC的领域。资源利用率和功耗。从FPGA资源利用的角度看,FPGA作为通用器件,在架构设计中是从统计的角度出发进行内部资源的比例分配(比如查找表的输入数量、存储器和逻辑的比例等等)。但是,针对一个安全产品的个案来讲,统计的资源利用情况不一定适合自己的应用。比如存储器资源,特定的体系架构中,作为数据缓冲的内部存储器往往需要很大,但是控制逻辑却不是那么多,这时存储器的资源和逻辑资源的分配出现了失调,不能找到一个合适的FPGA以低成本的方式直接实现。变通的方法只能是修改体系架构,使用外部的存储器,这样就不可避免地增加了成本,降低了可靠性。在ASIC的设计中,完全不用考虑资源比例的限制,可以根据实际的需要优化体系架构。同样地,因为FPGA的资源利用率比较低,有同样功能的FPGA芯片的功耗会远远大于ASIC芯片,这样就增加了系统的散热负荷,不可避免地增加了成本,降低了可靠性。设计难度。对于FPGA的设计难度的估计往往过于乐观。对于前端设计,FPGA和ASIC相差不多。对于后端设计,ASIC往往被认为有着非常长的时间和复杂度,也容易出问题。而对于FPGA来说,后端的实现不是很困难的事情。但是,事实上,后端的复杂度是由设计的复杂度和成本约束共同决定的。也就是说,如果同样的设计在ASIC的后端实现中很困难,那么在FPGA中情况只能更加恶化。因为在FPGA中,同样功能的逻辑电路经过映射后的逻辑级数会比ASIC映射后的逻辑级数增加很多,导致时序收敛更加困难。在大部分的FPGA设计中,是用芯片面积来换取性能的,其实质是牺牲了效率,当然带来的结果就是成本的提高。灵活性。关于ASIC的批评声音中,很重要的一点就是ASIC不能改变,不具备和FPGA同样的灵活性。这个说法在很大程度上是没有问题的,但是随着技术的发展,ASIC也在从架构角度增加灵活性,以提高ASIC芯片对未来业务的适应能力。经常用到的技术包括:ASIC内部内嵌可编程单元(NP技术类似)、结构化ASIC、增加对未知应用的预留接口等。FPGA的低成本方案。在FPGA的单件成本高的问题上,FPGA厂商提出了各自的方案。以领先的两家公司Xilinx和Altera为例,他们分别提出了EasyPath和HardCopy的成本降低方案。EasyPath是通过优化测试技术从而只测试用户用到的芯片部分来节约成本。如果一个设计的芯片资源利用率已经很大的话,EasyPath因为没有很大的操作空间,应该不会有很明显的成本降低。HardCopy实际上是一种结构化ASIC的方案,已经不能把它作为FPGA来对待。其原理是通过重新映射把原来的FPGA逻辑用结构化的ASIC方式实现。这种方案能够比FPGA明显地降低芯片的尺寸,还可以选择更合理的封装,从而降低成本。但是带来的后果是时序有变化和重新设计PCB板。这种方案也有NRE(NoneRecurringEngineering,一次性投入费用)的问题。从结构上讲,FPGA是可编程的,电路是可变的,可以根据使用的目的自由设计,也由此导致面积使用效率低。ASIC是根据使用的目的专门开发的电路,不能随意更改,但面积使用效率很高。从成本上讲,FPGA能有效控制timetomarket以及初次投资成本。而在大规模销售情况下,ASIC的平均成本比FPGA低一个量级,但是初次投资成本很高。3.LATCH和DFF的概念和区别LATCH为锁存器,输出端的状态不不随着输入端的状态的改变而改变,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号来。故它是电平触发。DFF为由由D触发器构成的寄存器,用来储存代码或数据的逻辑部件。是同步时钟边沿触发。触发器:能够存储一位信号的基本单元电路称为“触发器”;区别:从寄存数据的角度来年,寄存器和锁存器的功能是相同的;它们的区别在于寄存器是同步时钟控制,而锁存器是电位信号控制。可见,寄存器和锁存器具有不同的应用场合,取决于控制方式以及控制信号和数据之间的时间关系:若数据有效一定滞后于控制信号有效,则只能使用锁;数据提前于控制信号而到达并且要求同步操作,则可用寄存器来存放数据。锁存器:输出端的状态不会随输入端的状态变化而变化,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号。通常只有0和1两个值。典型的逻辑电路是D触发器。缓冲器:多用在总线上,提高驱动能力、隔离前后级,缓冲器多半有三态输出功能。三态缓冲器就是典型的线与逻辑器件,可允许多个器件挂在一条总线上,当然OC输出也可用在线与逻辑应用上。OC门,又称集电极开路(漏极开路)与非门门电路,OpenCollector(OpenDrain)。为什么引入OC门?实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去。因此,需要一种新的与非门电路--OC门来实现“线与逻辑”。OC门主要用于3个方面:实现与或非逻辑,用做电平转换,用做驱动器。由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。OC门使用上拉电阻以输出高电平,此外为了加大输出引脚的驱动能力,上拉电阻阻值的选择原则,从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。线与逻辑,即两个输出端(包括两个以上)直接互连就可以实现“AND”的逻辑功能。在总线传输等实际应用中需要多个门的输出端并联连接使用,而一般TTL门输出端并不能直接并接使用,否则这些门的输出管之间由于低阻抗形成很大的短路电流(灌电流),而烧坏器件。在硬件上,可用OC门或三态门(ST门)来实现。用OC门实现线与,应同时在输出端口应加一个上拉电阻。三态门(ST门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN)中只允许有一个为有效电平(如高电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。建立时间和保持时间图1建立时间(setuptime)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(holdtime)是指在触发器的时钟信号上
本文标题:海思半导体Asic
链接地址:https://www.777doc.com/doc-1446365 .html