请教一个primetime静态quartus ii时序仿真真的问题

EDA工具课程之PrimeTime_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
EDA工具课程之PrimeTime
上传于||文档简介
&&芯​片​设​计​(​I​C​)​E​D​A​工​具​课​程​之​P​r​i​m​e​T​i​m​e
大小:1.71MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢求静态时序分析在PCB数字集成电路设计中的应用?
12-03-30 &
集成电路自诞生以来,正如莫尔定律所预言的一样,每隔18个月集成度就翻一番。目前的集成电路设计已经由早期的几十μm减小到0.15μm,进入到了深亚微米级。在器件的特征尺寸降到深亚微米级的同时,器件的物理特性和电学特性也发生了很大的变化。器件本身固有延迟大大减小,而互连线所引起的延迟在整个单元延迟中所占的比例越来越大,因而时序不收敛是深亚微米集成电路设计中最常见的问题。在深亚微米集成电路设计中,传统的分析方法使前端的逻辑设计与后端的物理设计很难保持一致。在逻辑设计中,仿真分析后功能和时序都正确的网表,却由于布线设计后芯片空间和连线的限制,造成互连引线延迟与逻辑设计中使用的模型不一致,使得时序不再满足约束要求,导致逻辑设计和物理设计循环不收敛,从而使设计周期大大加长。因此,传统的分析方法在复杂的SOC设计面前,显得无能为力,而成为整个设计流程中的瓶颈。在这种情形下,静态时序分析应运而生,它不仅可以根据设计规范的要求对设计进行检查,同时还能对设计本身做全面的分析。静态时序分析是相对于动态时序分析而言的。动态时序分析时不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;而静态时序分析,可以方便地显示出全部路径的时序关系,因此逐步成为集成电路设计签字认可的标准。本文以100M以太网卡芯片的设计为基础,以静态时序分析工具PrimeTime为参考工具,以Verilog语言为参考硬件描述语言?探讨100M以太网卡芯片设计中的静态时序分析流程及其时序问题。1&100M以太网卡的结构100M以太网卡是一块高集成度的快速以太网控制器,它支持IEEE802.3和802.3u协议及PCI&v2.2总线接口协议,还支持10M/100M自适应功能。此芯片包括PCI接口模块、两个2KB的FIFO模块、发送DMA控制模块、接收DMA控制模块、IEEE&802.3协议规定的MAC模块和10/100M&集成物理层(PHY)模块。此外,还提供了EEPROM接口和扩展BootROM接口。从整体来看,它是包含数字电路和模拟电路的混合型集成电路芯片。它采用的是0.25μm工艺,四层金属层。2&100M以太网卡设计的静态时序分析100M以太网卡芯片的时钟关系。pmapmd是网卡芯片物理层的模拟电路部分,digital是网卡芯片物理层的数字电路部分,core则是指网卡芯片除物理层之外的部分。纯模拟模块pmapmd通过晶振产生五个时钟:f125m、f20m、f50m、t100rxc、t10rxc?提供给digital;digital提供PRXC、PTXC、clk_10Hz;clk_1kHz四个时钟给core模块。pci_clk是外部时钟,通过PCIPAD提供给digital和core;同时,pci_clk还通过一个PCIbuffer产生一个与pci_clk相位不同但频率相同的时钟PADCLK提供给core。由于该100M以太网卡芯片比较复杂,同时还要满足一些特殊的功能需要,所以在该网卡的设计过程中存在许多时序分析问题需要解决。首先,该网卡的大部分PAD都是双向的。在有些模块中,外部输入输出接口的时序限制是参照内部时钟进行限定的。其次,为了省电,在该网卡内部设有许多选通时钟?Gate&Clock?和内部时钟,多个时钟之间的信号连接会带来相应的麻烦。2.1&时钟的定义在静态时序分析中,时钟的定义是设定限制的最重要的一个步骤,因为静态时序分析本来就是基于时序进行分析的,而绝大多数的时序路径的计算又都是以时钟为基础的。所谓时钟定义是指对于设计中所用到的时钟设定名称、周期、相位、占空比。在Primetime中用如下命令来实现:create_clock&-name&?NAME?&-period&?P?&-wave&?rising_time&falling_time?&object_name由于100M以太网卡芯片的门数较多,时钟关系也比较复杂,所以对不同关系的时钟,定义方法也不一样。图4给出三个不同关系的时钟。(1)CLK1和CLK2有两种关系:一种是CLK1和&CLK2来自网卡外部毫无联系的晶振,其相位关系是不确定的。根本无法通过Primetime正确地检查它们之间的时序关系,但是可以正确地检查单独经过CLK1或是CLK2的路径的时序。另一种是CLK1和CLK2是频率不一致的时钟,例如通过RxDMA控制写RxFIFO和读RxFIFO的时钟频率是不一样的,MII通过RxDMA控制写RxFIFO的频率为25MHz?而PCI通过RxDMA控制读RxFIFO的频率是33MHz。对于这样的异步设计,一般不是通过Primetime的报告保证其时序关系,而应该在写代码时就必须保证该部分的时序关系正确。所以若碰到这种情况,做静态时序分析时一般要进行如下处理;set_false_path&-setup-from&CLK1&-to&CLK2(2)CLK3是由CLK1通过组合逻辑产生的,其相移就是这些组合逻辑的延时,经过第一遍综合之后,该延时便可从时序报告中得出,这样就可以根据此延时对这两个时钟的关系给出正确的设定。在Primetime中?有以下两种方法可以设定:一种方法是分别定义时钟CLK1和CLK3,并将其rising_time、period和占空比设为相同,然后再通过时钟延时的设定来区分两者的不同相位。当然时钟延时的差值应该由所提之的组合逻辑延时决定。另一种方法是只定义时钟CLK1?再用如下命令定义CLK3?create_generated_clock&-name&CLK3&-source&P1&-divide_by&1&DFF3/ck这样,在布局布线之后做静态时序分析时,CLK1被设为propagated_clock?&Primetime就可以根据两时钟之间的延时关系来算出CLK3的特性?包括时钟延时、时钟抖动等?,无需再另行推算。而前一方法比较适用于布局布线之前的静态时序分析,因为这时所有的时钟都被设为理想的,其时钟延时、时钟抖动和时钟传输时间等都是根据实际情况来设定的。只有当源时钟为propagated_clock时,Primetime才会自动推算CLK3的特性,否则仍需要设置。2.2&边界时钟由于100M以太网卡某些模块涉及到边界时钟,所以必须考虑边界时钟引起的时钟延时问题。所谓边界时钟是指某模块的输入输出和时序限制是以某个特定的时钟作基准的,而该时钟是由外部时钟分频得到的。但在布局布线之后做静态时序分析时,并不用费心去计算边界时钟引起的时钟时延,而是把它交给Primetime完成。正如前面所提到的,当源时钟为propagated_clock时,Primetime会自动计算所生成时钟的相关延时。本来来自深圳宏力捷!
请登录后再发表评论!给个评价吧:
简短评论:
您没有购买过该课程,无法发表课程评论。
促销活动已结束!
非常抱歉,亲,您出手慢了!促销活动已结束。
此课程当前的购买价格是199学点。您确认要购买吗?
优惠名额已满!
非常抱歉,亲,您出手慢了!优惠名额已满。
此课程当前的购买价格是199学点。您确认要购买吗?}

我要回帖

更多关于 quartus时序仿真 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信