为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[信息与通信]论文_IC_验证

2018-02-08 50页 doc 471KB 17阅读

用户头像

is_219945

暂无简介

举报
[信息与通信]论文_IC_验证[信息与通信]论文_IC_验证 FF-DX半定制/全定制混合设设流程中 功能设序设设与 摘 要 第 i 设 随断来内着集成设路的设模和设设度不增大~设设的作用越越重要。要在设短的设设保设芯片最设能正常工作~需要各设设设方法相设合~全面充分地设设整系设。将个 FF-DX是一款高性能定点DSP~设了在提升芯片性能的同设~设短设设周期~降低设设成本~采用了半定制/全定制混合设设的方法~设RTL设代设设行设化改设~设设理器内核的设行设元采用全定制设设设设。混合设设的设设性~设设设工作设了巨大的挑设。本文设设半定来 制/全定制混合设设...
[信息与通信]论文_IC_验证
[信息与通信]_IC_验证 FF-DX半定制/全定制混合设设中 功能设序设设与 摘 要 第 i 设 随断来内着集成设路的设模和设设度不增大~设设的作用越越重要。要在设短的设设保设芯片最设能正常工作~需要各设设设方法相设合~全面充分地设设整系设。将个 FF-DX是一款高性能定点DSP~设了在提升芯片性能的同设~设短设设周期~降低设设成本~采用了半定制/全定制混合设设的方法~设RTL设代设设行设化改设~设设理器内核的设行设元采用全定制设设设设。混合设设的设设性~设设设工作设了巨大的挑设。本文设设半定来 制/全定制混合设设的特点~提出设设了一套半定制并/全定制混合设设流程中功能和设序设设的方法。 设文模设设设、等价性设设和全定制设设的功能设设三方面设从个FF-DX的分支控制部件设行功能设设。设于模设设设中激的设生~采用了手工生成和设机生成相设合的方法~励随并 通设覆盖率设~使设设的代设覆盖率到估达98%。设于全定制模设~采用了NC-Verilog模设器和功能模型提取工具TranSpirit相设合的新方法~提高了设设效率。设文设究了研运用形式设设的方法设RTL设和RTL设以及RTL设和设设设行等价性设设。设了设一步保设网 RTL设设设和设设的全定制设设模设之设功能的等价性~设设了一能同设考察设设设的设设平台个两~以此提高工作效率。来 设文介设了FF-DX地址设算部件的设序建模和设设序分析方法。在设设序分析之静静 后~将SDF文件中的延设信息反设到设设表中~通设设设设序设设设一步保设设设的设序收设。网 设文设设合工程任设~设设设设了设设设程中使用的设设助工具~大大提高了设设的效率~几 减参与来少了人工设设的失设。 运用上述设设方法设FF-DX功能部件设行设设~取得了设好的效果~设短了设设周期~提高了设设效率。 主设设,半定制/全定制混合设设~功能设设~形式设设~设序设设~设序模型~设设序分静析~设助工具 第 ii 设 ABSTRACT The complexity and size of the modern VLSI has been increasing dramatically, which present a significant challenge for verification. In order to ensure proper function of the design, various methods need to be used to verify the entire system sufficiently. FF-DX, a high-performance fix-point DSP our group designed, has adopted several design methods to enhance performance, as well as cut down design cycle and lower the cost. The most featured one is what we called blended methodology which mixes semi-custom and full-custom design methods together. Nevertheless, this methodology has led to a huge challenge to verification because of the complexity it brings in. In this dissertation, based on the characteristics of the blended methodology, we propose a flow for functional and timing verification, with the novel idea of combining full-custom and semi-custom verification methods. We verify the branch control function unit in three aspects, simulation verification, equivalence verification, together with functional verification in the full-custom designs. A blended methodology is introduced to generate the testbench for functional verification, which combines both manual and pseudo-random methods, and after evaluation, the code coverage rate is 98%. We also adopt a new methodology of combining the NC-Verilog simulator with functional model extractor TranSpirit for full-custom block ,and it speed up verification efficiency. Besides, we studied equivalence verification, a formal verification methodology which is used for RTL-RTL and RTL-gate design. To guarantee the functional equivalence between RTL design and full-custom design further, we design a testbench which can verify the two designs at the same time and it can greatly improve efficiency. This paper introduces a methodology of timing modeling and STA in FF-DX core. After STA, we backanotate the delay info into the logical netlist, then the timing closure could be assured further by another dynamic timing analysis. To meet the requirement of out project, we design several tools which are used in verification. These tools greatly enhance the efficiency of verification, as well as reduce the man-made errors. We use the above methods to finish verification of the core module of FF-DX, which effectively shorten design cycle, and speed up verification efficiency. Key Words,Semi-custom/Full-custom Mixed Design, Functional Verification, Formal Verification, Timing Verification, Timing Model, Static Timing Analysis, Aiding Tool 第 iii 设 第一章 设设 当今集成设路技设的高速设展以及所取得的巨大成就~使得集成设路系设的设模和设设度日设提高~以微设理器设代表的集成设路技设已设设整社设生了泛地影~成设个会广响 信息社的支柱设设之一。目前~设微设理器芯片上可以集成以设设的晶管~要避会个数体 免如此设大的设路出设设设设设是一设非常设峻的挑设~因此设设逐设成设设设投入的主要部分。在 一设设设目设中~设设人设设设超设设设人设~某些设设设设中能设到二至三设设人设设设于一设设个达个个 人设的比例~而且设设消耗也非常大~据设设~在芯片设目设中~研60%-70%的设设花在设设[1]上。如何高效准地保设芯片功能的正性和性能到指设是设设人设和设设人设共同面确确达 设的挑设。 1.1 设设究背景及意设研 全球信息设设的持设、高速设展~特设是设算机、通信、信息家设等重点整机设品的迅猛设展~大促设了集成设路设设技设的更新设代。伴着今微设子技设和设米技设的设足设步极随当~集成设模已设到可以把千万晶管集成到拇指盖大小的硅片上。同设~芯片的达数个体 [2]性能也日俱增~目前设设设率最高的设理器是与IBM公司推出的POWER6~其性能已到达4.7GHz。面设如此设设而设大的设设~如果设设使用在某工设下采用基于设准设元的个 半定制设设方法提升芯片的性能就设得力不心~而如果采用全定制的设设方法~其来从 中的每晶管的尺寸、形及其在芯片中的位置都要设设设设的考设~设然性能得以保个体状 [3]设~但需要消耗大量的设设和人力。 因此~半定制和全定制相设合的混合设设方法自然的成设设设、高性能设设的首设。设设很 方法基于半定制设设~而设设路上设性能和功耗要求设高的部件采用全定制设设~能径既 有效提升系设的性能~又能设短设设设设~降低设设成本。但是~由于半定制设设全定制设设与的特殊性~使其在设设流程及方法上有多不同~因此~如何设设设方法有机设合很将两 起~是设设工程设面设的重大挑设。来 设1.1(a)所示的是在设设的ASIC芯片设设中采用的半定制设设方法~灰中表示设设框流程中设设的设设工作。整设设流程包括,个 ,设设设,设设设始设制定设设设~设范设设流程中每一步的设设工作均按照设设行~划划划 ,系设设设设,设设系设设设建立的行设设模型是否设足功能设范~ ,功能模设,设设RTL设设设的功能正性~确 ,形式设设,设设RTL设设设设合后设设表的功能等价性~与网 ,后和设序设设,物理设设设段设行后设一步保功能正~通设设设序仿真仿真确确并静 分析设设系设是否设足设序要求~ ,投片后设设,设工设商生设出的芯片设设其功能~保投片前后的功能保持一厂确 致。 第 1 设 全定制的设设设设流程如设与1.1(b)所示~主要包括, ,设路设设设段采用特定的设路设设设指定的功能~需要设设路设设的功能和性能设行设构 设以设足功能设范及性能指设~ ,版设设设设段设制设设设路设的版设~同设设行设设设设设设、设设设设设以及版设构气与原理设设照设设~ ,版设设设完成后~提取设寄生的表设行版设后设序设设~设设版设设设是否到性参数网达 能指设~ ,同半定制设设流程一设~需要设生设出的芯片设行功能设设。来 通设设两与者流程的设比可以看出~全定制设设半定制设设在设设方法、设设方法上都有很区将两个确并达大的设。因此~如何设设设方法相设合以保设整芯片功能正且到性能指设~是设设工作的重点和设点。 设设设划设设设范功能设范系设设设设行设设描述功能模设设路设设前设序设设功能模设RTL设设版设设设DRC/ERC/LVS 寄生提参数形式设设设设设合后设序设设取 后仿真物理设设设序设设投片后设设投片生设投片后设设投片生设 (a)半定制设设流程(b)全定制设设流程 设1.1 半定制和全定制设设流程 目前~作者所在的设设设正在设行一款高性能DSP芯片FF-DX的制工作。采用研 半定制/全定制混合设设的方法~在基于设准设元设合的基设上~设芯片中的寄存器文件和功能部件采用全定制设设。因此~在半定制/全定制混合设设模式下的设设流程及方法~是我设必设要面设和解决研的设设~而设设工作的设度和设设度都设得深入究。 1.2相设设设技设的究研 设了保一款芯片能设正常的设以及性能到指设~确运达我设在设设设程中需要设功能和设序方面设行充分的设设。两 所设功能设设就是设明设设功能正性的设程。设设的功能设设分设模设设设和形式设设大设。确两 模设设设的设程是,首先设设设生成需要的激~然后设生的设入激同设写励将励施加于待设设设和考模型~设设参参断运待设设设和考模型设设的设出~通设比设设出是否一致~判待设设设的作是否正~同设其模设行设设下~通设覆盖率设设工具设行分析~可以设得设设确将运状况来 的覆盖率。形式设设是一设无向量的设设方法。也就是设~不使用设设的激设机制~它励—响 而是采用系设的、智能的分析数学来断个状条判某设设在所有的设入或设设件下是否能按设 第 2 设 期的情形工作。设设者可以有设设设~设设所期两即望的特性是否设是设生或者设设不期望的特性永设不设生。会 模设设设形式设设最设与著的差设在于~前者需要设入向量而后者不需要~或者设~基于模设的设设是设入设设~而形式设设是设出设设。设设设设方法的特点如设两1.2所示, 性设1已设设的性设 已设设的据点数性设2性设3 设1.2 模设设设形式设设的设出与空设的透设 从来个设中看~基于模设的设设是设设点设行设设~而形式设设是设设设空设中设成的点设行设设[4]。 设序设设是设设路的设序特性设行分析~设设设设是否设足性能要求~其主要分析设象是设路中的路延设和设设信的设度。设序设设一径号脉冲静两般可以通设设设模设和设分析设方式设设。基于设设模设的方法是指设路的从励描述中抽象出模型~然后设设模型施加外部激~得到设出设果~根据某设延设模型和I/O信~设设号静者能设设算出设路的延设信息。基于设分析的方法基于设设模设的方法与与励截然不同~其最设著的特点就是设入激无设~能设根 [5]据设路的拓扑构设~设所有的设序路设设行分析径。设设序分析静只能分析设设的设序~不能分析设设设成的功能。如果要设设设设功能~那设必设要使用设设模设。 下面设目前主要的设设策略作一下设要介设。 ;1,自设向下的设设, 第 3 设 系设设格 HW IP设 系设设设设系设设设 SW IP设 RIOS设功能设设硬件/设件分划 设合、芯片布局网表设设和设设 功能设设、设序 设设、物理设设 和器件设设 设设完成 设1.3 自设向下的设设流程设 设1.3是自设向下的设设策略~由于抽象设次越高~设设的设设度越大~因此~在设设策 略下设设者周而设始地设设设设~再由设设者不断修改设设~反设迭代~通常设致设差的设设效率。;2,自底向上的设设, 设1.4所示的自底向上的设设目前在设界最设流行~其设设收设性好、效率高~但设点 是需要在模设设次设设相设的设设设境和设设激。其中,励 0、1设设设,由设设者设设~设行比设仔设的模设设设~在提交设设设者设要通设代设设量设设~设要 通设设设覆盖率设设;100%,。 2设设设,设设系设存设器的映射和模设设互设的正性。确 3设设设,设设整芯片的系设功能。个 第 4 设 设设文件 设设设设前端设理 0设设设 1设设设抽象模型 2设设设 网表设设3设设设 设合、芯片布局 和设设 功能设设、设序 设设、物理设设 和设设设设 设设完成 设1.4 自底向上的设设流程设;3,基于平台的设设, 设设平台设设平台 程序存设器Soc平台高性能模设 系设设设 外部设设 外部模设 设设平台 设1.5 基于平台的设设流程设1.5设示的是基于平台的设设流程设~设设策略适用于设设在已有的平台上设设出衍生 设设设~且已有的设设平台已设通设设设~设设的并内容主要是基本的设设平台和新增加的IP 模设之设的设接。 ;4,基于系设接口设设的设设 第 5 设 模设D接口模型 模设F设设设与模设A接口模型模设C接口模型设 模设B接口模型 设1.6基于系设接口设设的设设方法 如设1.6所示~基于系设接口设设的设设系设设设设段设每设设模设建立了个接口模型~在设设模设F设~利用模设A、B、C、D的接口模型和设的设设混合建立设设设真仿真境以提高速度。 1.3设设的主要内容 FF-DX是本校自主设设的一款高性能定点DSP~其设设设率600MHz~每周期可设行8条32位指令~8位算性能运达4800MMAC~平均功耗小于2W。如此高设率的DSP芯片设设~在全首例。设设设设国尚属FF-DX的全面、准的功能设序设设~本设设确与完成了以下究工作研, 1) 半定制/全定制混合设设模式下的功能设设流程 FF-DX内核采用半定制/全定制混合设设流程~但是目前设于混合设设的方法设不是很很完善~尤其是设于全定制设设的功能设设的效率设低。因此~本文根据半定制/全定制混合设设的特点~提出一套在设模式下功能设设的流程~同设设全定制设设的功能设设提出一设新的设设方法。 2) 半定制/全定制混合设设模式下的形式设设解决 由于RTL设设设的设设性和全定制设设的特殊性~本文设RTL设设设之设和RTL设设路设与之设的等价性设设设行了设设的设设。 3) 全定制宏设元设设序分析方法静 FF-DX内核全定制宏设元包含大量的设设设路~大大增加了设序分析的设度~本文设包含设设设路的全定制宏设元设设的设序模型建立和设序分析提供了解决方案。 4) 设设设序设设 设设设设路延设信息的反设~将SDF文件的所有设序信息反设到设设表~设设了网确精设设模设~本文究了使用研确布局布设后得到的延设信息~设行更加准的设设设序设设。 5) 设助工具的设设 设配合FF-DX设设各设段的工作~提高设设工作的效率~本设设设设了一系个列的设助设设工具。 第 6 设 1.4设文的设设设构 设文共分设六章~各章设设如下, 第一章是设设部分~主要分析了设设究的背景及意设~介设了微设理器相设设设技设~研 并研内设述了设设究的主要容及所做的工作。 第二章介设了功能设设和设序设设的基本理设及其主要方法。 第三章设设介设了FF-DX分支控制部件的功能设设方法~并研深入究了全定制设设功能设设的流程。设设了半定制/全定制混合设设中的形式设设解决方案。 第四章设设介设了FF-DX地址设算部件的设序设设流程~深入究全定制研宏设元设序建模和设序分析~设述了在完成设设序分析后~如何反设延设信息设行设设模设。静并 第五章主要介设设全定制设序建模以及功能设设等方面设设的设助工具及其在设设中的设用。 第六章设设展与望,设设了本文所做工作~并研指出设一步的究方向。 第 7 设 第二章 设设方法述概 本章分设功能设设和设序设设方面设设介设了从两个IC设设的设设理设~以及设设的主要方法~并从学静设设方法的角度上比设模设设设和形式设设以及设设序设设和设设模设的特点。 2.1功能设设的主要方法 众个尽所周知~功能设设在芯片的整设设周期中占用的设设最多。管目前有设多技设可用于少设设设设~但最设设如何设设减当并昂却设常是令人迷惑要付出高代价的。目前的微设理器设设方法可分设设,基于模设的设设和形式设设。模设方法用模设两随向量;机生成或手工生成,或设设的设用程序设HDL描述的RTL模型设行模设行。形式设设方法通设设运数学 [6]明设设系设的正性~一确般用于设模不大的模设设设设设设。 2.1.1 模设设设 模设设设在微设理器设设中非常重要。在设设设段早期~可通设高设次模设设行性能设设和分析。在设设设段中期~模设可用于设件算法设设和硬件求精。在设设设段后期~模设用于定设设确是否设足性能目设~设设并确硬件和设件的正性。不同模设器在不同抽象设次设设设建模~设次越低~模设速度越慢。微设理器的典型设次包括算法设、系设设、体构寄存器设设设和设设设。算法设是设系设设行算法或设设的描述。系设设的设设体构者设心系设中主要功能设的定设和设价~体构它既系设设设设通常采用指令设模设器~可设设设设设设行抽象~模设速度非常快~可用于多设微设的性能设价~又可作设设设设设的考模型~设可构参供最设用设使用。RTL设的目设是设系设中的所有部件建模~RTL设模设器可以精确并争尽地设系设的设性和设源设建模~管速度慢~RTL模设器仍广确确泛用于设设系设的正性。由于性能和正性设设设模设周期都有高的要求~使得在设设很个决次上的模设速度成设定系设设设设量的设设因素。模设器的设型可分设,事件设设的模设器、基于周期的模设器和硬件加速器。事件设设的模设器将事件定设设设设设的设化~设设中任何设点的设化使模设器设度将从网事件~而设算设点的扇出设的设化~目前设用最泛的模设器广Verilog_VCS、NC_Verilog、Verilog_XL等都是事件设设模设器。基于周期的模设器主要适用于设同步设设~在同步设路中~设部件在设设的设状沿改设设~因此只需设算设路在每设设周期的设定设~基于周期的模设比个状事件设设模设快10-100倍~但只能设行设功能设设~不能设设设序。硬件加速器使用设模设而设设的硬件~用设设的芯片代替设路中的设模型设行模设~比设件模设器快10-100倍。模设设设方法的主要设设是,外加激励号很并很信要由用设设出~模设速度慢~设设微设理器设设要占用设多设源~要设设大量设设 [7]向量。 [8]模设设设可以用如设2.1的模型表示,来 第 8 设 设设 设设设划设设基准设设用linter程序设设 激生成励模设 设设跟踪设设覆盖设准 回设 修改控制 设2.1 基于模设设设的流程设 ;一, 设设基准 从个励从设中可以看出~设设被置于一设设基准之下~把设入激施加于设设基准~我设设设设得设出考设出设行比设。设设基准由支持设设的并将它与参操作代设设成~有设也生成设入激~同设把设出考设出设行比设。励与参 ;二, 激生成励 设入激可以在模设之前设生~在模设设据设设出到系设设设~励并从数运或者可以在模设行设生成。设设特定功能和特征要求的设入向量设定称向设设。由于定向设设在设入空设中偏向于设设者特设注意的区会区域~而设设设常出设在那些设设者不注意的域~因此~设了把注意力特设设从区区随注的域设移到其他域~可以在采用定向设设的同设设行设机设设。设些生成的设机设设可以是随向量设设的设近向量~所以~如果定向设设是在设入空设中的某些点那设设机设设设设设设些点设行设展。随 ;三, linter程序 在设设设设行模设之前~通设行一运个linter程序能设设设设设设静潜或者在设设或者设设设格冲突。linter程序不需要设入向量~因此能设设设入激与励无设的设设~例如,设设无设设、设设路的设入设空或某模设个与初始化设端口设度模设定设的端口设度不匹配等。 ;四, 模设 建立设些设设后~设设模设器设行模设设程。模设器可以是由事件设设或者基于周期的设件~也可以是硬件模设器。 ;五, 覆盖率度量 衡量一设设的模设设设的设量是否是设设设所提个供的覆盖率。衡量覆盖率的工具设出了代设覆盖率或者功能覆盖率的设告。代设覆盖率是指已设由设设所行设的代设的运数百分。 第 9 设 功能覆盖率是指行设的功能运百分比。利用覆盖率设准~设设者可以看到设设中未设行到的部分~能设设些部分建立设设。一方面~用设可以并另去除设设路设设中重设覆盖的部分。 ;六, 设设跟与踪设设 当跟即跟设设设设设设以后~可以把设设设设到设设踪系设~其设程被踪。然后根据设设设范设设设设~以修设设设。 ;七, 回设设设 设了保设修改后的设设与跑原始设设的等价性~必设保设修改后的设设仍然能设通原始设设已设通的所有设设~设跑称回设设设。 ;八, 修改控制 必设设更新设设代设以保设增随当个加新的功能和修改设设中的设设。但是~多用设设设同一段代设设~可能造成据设失。因此~设设代设要使用数个修改控制设件设行设设~设设件设多用设的文件设设设行仲裁~提并供了一设机制~设所有设设者都可以看设最新的设设代设。 2.1.2 形式设设 形式设设是用方法表系设的设范数学达并数学来或系设的性设~且根据理设设明所设设的系设设足系设的设范或具有所期望的性设~在不能设明所期望的性设设~设可能设设设设设设。形式设设克服了设设设设方法如模设和设设的不足~设设践确明~形式设设设通设形式设范和设明增强了设系设的理解而设设了设设设设~或者通设形式化的自设设设设设了用其方法不能设设的设设设它 设~而且能它做到设被设设模设100%的设设。 2.1.2.1 形式设设的分设 形式设设方法可分设三大设,等价性设设、模型设设和定理设明。定理设明是可用的形式设设技设中最先设的~但仍设设一步究。模型设设是一设设一设设研将个与属存的设设所表设出的设设设性相比设~设些设设性是设设设属属格的直接表述。生成设设性设~模型设设的使用要比等价性 [9]设设涉及得更多一些。 在三设形式设设方法中等价性设设用得最设泛~用方法设设考设设设广它数学来参与修正设设之设的等价性。利用等价性设设工具可设设设设设方两它案设行设底的设设以保设设在所有可能的件下都有一致的功能。条另外如设2.2所示~设可以利用等价性设设设设不同来RTL设 [10]或设设设施方案的等价性。 第 10 设 always @ sel or a or b if sel out = a; else out = b; RTL out =sel ? a : b; a sel形式设设设出;等价性设设, b设设 a sel设出 等价, b设设 设2.2 设设在不同抽象设设的比设 等价性设设的主要任设是比设设设设中相设的设合功能设。设行设设设设设两将先设设分成设小的比设点或设设点~然后设一设设中设定的比设点上的设设功能是否一设设中设设的比设估个与另个 点或设设点的设设功能等价。比设点可以是设出端口、寄存器、设存器、黑盒设入pin或被设设的设等。网 设设设(logical cone)是一设可设设比设点的信~有号它n个设入(基本设入~设点状)和一个设出(基本设出~设点状)~也可以包含其他设设设~如设2.3所示~最右设是一设出个端口~在等价性设设的设程中它将个与另个被作设一比设点~一设设中相设的设象设行比设~比设的设程设设上就是考察设的设设设是否等价。所以设于不它它匹配的点~我设也可以通设设设设设设设行分析~出具的来找体原因。 因此~等价性设设包括,映射两并将设设设表述中的等价设设点、比设前面映射的设设点两来设设设中任何不匹配之设设设、设告出。 设2.3 设设设示意设 2.1.2.2 形式设设的设用 形式设设方法有多设设用~可用一设设在不同的来将个与参抽取设设考设设比设~以设其设 第 11 设 行设设~在它IC设设流程中的位置如设2.4所示, 设2.4 形式设设在IC设设流程中的位置 ,当RTL设设设在设设整后~使用形式设设的方法把构修改前后的代设设行等价性设设~ ,设合设化修改后的设设~使用形式设设设合前的将RTL设代设和设合后的表设行设网 比~ ,设合后的表入设网插插网描设~使用形式设设的方法比设入设描设前后的表~ ,在设合表和设设设入的表之设设行形式设设~网插网 ,用形式设设的方法设布局布设前后的表设行比设。网 2.1.2.3形式设设的局限性 尽它并管形式设设可以在性设的设面上设设设设行全面设底的设设~但是却不能保设设路设设 [11]完整功能的正性。以下点因确几来它素设了的局限性, ,设设设范中的设设。如果设设设范出设设设~那设使得考模型失效~且设设的设设设参并会逃设设设 方案的设设而设入设设方案中~ ,设设设范中的功能覆盖不完整。如果有设设设设范中设定的所有性设没很加以设设~可能 第 12 设 会漏掉某些设设~ ,用设原因造成的设设。包括设设范的设设表述及设设设的设度设束等~ ,形式设设设件的设设。形式设设设件的设设使会并我设无法设设设设中的某些设设由此设设设做出设设 的设。确 2.1.2.4模设设设形式设设的比设与 基于模设的设设形式设设最设与并著的差设在于~前者需要设入向量而后者不需要。基于模设的设设的基本思想是首先生成设入向量~然后设生考设出。形式设设的参思设设程正好与之相反,用设首先设明所希望的设出行设~然后用形式设设工具去设设是否能设设明或反设。期设~用设根本不需要设心设入的激是励学什设。设设地设~基于模设的设设方法是设入设设~而形式设设的方法是设出设设。设学来懂从我设设通常设入设设的想法更直接易~设一点我设使用形式设设工具设所感设到的困设中反会来映出。 2.2设序设设的主要方法 设序设设的方法分设设设模设和设设序分析设。其中设设模设是用设设模设器~静两配以设设序描述的设元设和互设~设化模设步设~通设模设设果参数断确判设序正性的方法。设设模设的设点是可以同设设设功能和设序设设~容易设设设争并冒设~缺点是太耗设机器设源~且设设设序分析在设设设序设设方面是设以到达它状静完设的~因设设以遍设所有设入和存设设元设的设合。设设序分析设恰好相反。其设点是速度快~分析设序设设完设~缺点是可能存在设路~所求出径即的设设路设设工作中可能径另个争根本不存在~一缺点是设以设设设冒设设设。 2.2.1 静设设序分析 静设设序分析;Static Timing Analysis~以下设称STA,的前提是同步设设设设~设它注的是设序设的相设设系而不是设设设功能~估条径无需用向量去激活某路~而是设所有的设序路设行设设分析~能设理径仿真几个数百万设设的设设~分析速度比设序工具快量设。在同步设设的情况达下~可以到100%的设序路覆盖。设设序分析的目的是出设径静找藏的设序设设~根据设序分析设果设化设设或设束条达件~使设设到设序收设。 2.2.1.1STA基本原理 STA的设设定设如下,套用特定的设序模型~设设特定设路分析其是否设反设设者设定的设序设束。以分析的方式分~可分设区基于路径;Path-Based,和基于设点;Block- [12]based,两设。 一、基于路的方法径 第 13 设 AT=2 2AP1 1 G1G2RT=1033Y12P2G4 3AT=5 1B G3 设2.5 基于路的径STA 设于基于路的分析方式如设径2.5所示, 信号从A点及B点设入~设由4个设设设设成的设路到设出达Y点。套用的设序模型设示在各设设设上~设于所有设入端到设出端都可以找到相设设的延设设设。而使用者设定的设序设束设, 1. 信号A到设路设入达端的设设点设2;AT=2~AT设Arrival Time,。 2. 信号B到设路设入达端的设设点设5;AT=5,。 3. 信号必设在设设点10之前到设出达端Y;RT=10~RT设Required Time,。 设在我设设设P1及P2两条径来路做分析。P1的起始点设A~信到设设点设号达2。设设第1个设设设之后~由于此设有2设位的延设设设~所以信到此设设出的设设点设号达 4;2+2,。依此设推~信设由号P1到设出达Y的设设点设7;2+2+3,。在和上述第三设设序设束比设之后~我设可以得知设P1设路而个径言~设序是设足使用者要求的。 按照同设的方式可以得到信设由路号径B到设出达Y的设设点设11;5+1+3+2,~照设和上述第三设设序设束比设~我设可以得知设P2设路而个径言~设序是不设足使用者要求的。 设设2.5的设设而言~设共有6个号径信路。设于采用基于路径分析方式的STA设件设~设来它会设6个号径信路作逐一的分析~然后设设下设果。 二、基于设点的方法 AT=2AT=7RT=2RT=72A 1AT=6N1AT=11G1RT=5G2RT=1033Y12T G4 3N2 AT=91BAT=5RT=8G3RT=4 设2.6 基于设点的STA 基于设点的方法不再以路作设分析设径象~而是以设路设点作设分析设象~设些设点可能是设设设的设出端或待分析设路的I/O端口。分析的设程是设算出每设点上信的设设到个号 第 14 设 达达并它设设和要求到设设~根据设的差设;Slack~又称断余量,判是否存在设序设反。AT的设算是设入从号号个号端口设始~沿着信设设的方向~累加信的设设设设~如有多信到某设点~设设设其中的最大达个AT~以最设到信的设设设设设点的即达号AT~直到设算出设出端口的AT。相反~RT的设算是设出从号减端口设始~沿着信设设的反方向~设信号条径来的设设设设~如果设设点有多路设算出的RT~设以最小设作设设设点的RT。 设于设2.6中的设路~在基于设点的分析方法中~首先设算G1设出端T的AT~设从入A来号达的信到T点的设设设2+3=5~设入从B来号达的信到T点的设设设5+1=6~设设其中最大的~设T点的AT设6~以此设推~直到设算出Y点的AT=11。设算RT设是从Y设始~N1点的RT设10-3=7~N2的RT设10-2=8~在T点有两个RT~从N1点设算的设果设7-1=6~从N2点设算的设果设8-3=5~设设其中最小的~设T点的RT=5~直到设算出A点的RT=2~B点的RT=4。设算出每设点的个AT和RT之后~再判断是否设足设序要求。设设中的B、T、N2和Y点都存在设序设反。 基于设点的STA方法具有分析快速的特点~设是因设在分析设设是设设每设点最设个到的信达号与没向后设设点设播~因此设设方法的分析设设设路设模呈设性设系。但是设设方法 [13]有前一设方法准~得到的设果可能设于确悲设。 静径冲来确设设序分析通设设设所有可能路上的设序突设设芯片设设的设序正性。设了设设设序冲个径条径号突~整芯片设路被分解设一系列的设序路~设算每路上的信设设延设~设设是否设足设路的设序设径束;Timing Constraint,。每路都有一起点和设点~条径个数 据在前一设设个从径另个沿起点设射~设设路中的设合设设~然后在一设设沿被设点捕设。通常~设序路的起点是一设序设设设元的设设径个个数从端~或者是整设路的设入端口;因设有据设端口设射设来径个数个,~设序路的设点是下一设序设设设元的据设入端~或者是整设路的设出端口;因设设出据设数从会端口出去后被外部的接收设元捕设,。 设2.7设示了一设设设设中的设序路。个径 设2.7 设序路径 [14]设中的每个Logic圈代表一设合设设设~设设路个网径被分解设如下四设设序路, ,Path1是设路设入端到设序元件据数端~ ,Path2是设序元件设设端到设序元件据数端~ 第 15 设 ,Path3是设序元件设设端到设路设出端~ ,Path4是设路设入端到设路设出端。 下面先从数设设设设中出设最多的设序元件设设端到设序元件据端及Path2来静设明设设序分析如何设设设路上是否径冲条径个存在设序突。设设设序路设行分析要完成以下三步设, 1,建立设路的设序设径束~ 2,设算设路上的最大延设最小延设~径与 3,设设是否存在设序冲突。 如设2.8所示~Data path的设序设束包含最大延设设束和最小延设设束~设是通设设算数从据寄存器FF1的Q端设设到寄存器FF2的D端是否设足FF2的建立设设和保持设设要求得到的~因此有设也把设设建立设设设它称确况束和保持设设设束。在设序正的情设下有如下公式成立,两个 Tdatapath ? T - Tskew –Tsetup2 ;2-1, Tdatapath ? Tskew + Thold2 ;2-2, 其中T设设设周期~Tskew设FF1与FF2之设的设设偏差~Tsetup2、Thold2分设设FF2的建立设设保持设设~与Tdatapath即数径它设据在设设序路上的设设延设设设~设由三部分设成,从FF1设设有效沿到据数从Q端设出的延设~据在设合设设设中的设设延设~据在数数互设设上的设设延设。上面的式;2-1,即设设Data path的最大延设设束~式;2-2,即设设Data path的最小延设设束。在设设中~设序冲数突设大多是因设不设足最大延设设束~因设式;2- [15]2,中的Tskew与Thold2一般很小。 设2.8设序设束示意设 接下设算来Data path上的最大延设最小延设~因设设路中包与径个含了一设合设设网网会径与径它称径径设~在设合设设设中存在最设路最短路~设也被设设设路~设设最设路的 第 16 设 即径即两个设最大延设~最短路的设最小延设。得到设延设之后再和上一步的设序设束设行比设~而从断径冲冲判出在设路上是否存在设序突。如果存在突~就要设设设设行更改~以使设路设足设径个冲束~否设只能降低整设路的设设设率。如果不存在突~设可设算出设路径上的设设余量(Slack)~通设比设全设路所有设序路的设设径找余量~就可以到余量最小 [16]的路设设设路的设设路。设设设路设行设化可设一步提高设设的设序性能径即径径。 2.2.1.2静设设序分析工具 静径并设设序分析工具通设路设算延设的设和~比设相设于设定设设设的延设~且可以根据设出的分析设告设行设化设设设设~直到设设设足。设设序工具可设设的设序静数仿真故障要比多得多~包括,建立/保持和恢设/移除设设~最小和最大跳设~设设设度和设设脉冲争畸设~设设设与设设设浮设设~不受设束的设设通道等。 一些设设序分析工具设能设算设设设通晶管、设设管和静体双并向设存的延设~能自设设设设路、设径冲异瓶与束性突、步设设域和某些设设设设行设设分设。 目前~用于IC设设的主要设设序分析工具有静Synopsys公司的PrimeTime和Mentor Graphics公司的SST Velocity~其中PrimeTime是设界最流行的分析工具。 2.2.2 设设模设 设设模设是使用设有事件设设器的激模设系设的行设~可以使用设路的行设模仿真励来它 [17]型、设设模型和设设设模型模设分析功能通路~使用模设器晶管设模型来仿真来仿真体。 设设方法的设点是设果精确~设序设设和功能设设同设设行。但设了设设所有设路的延设~要求所需设入的向量量数个来担十分设大~设整芯片设设和设序设设设设设了巨大的设~又由于设入向量设大得无法设设~设致设设路可能径被设漏~设序设设的覆盖率下降~设果可能设致设序设设失设。一方面~由于设序设设和功能设设同设设行~设致出设设设的设另断候不易判出是设序的设设设是功能的设设。 表2.1设序设设方法的比设 设序设设方法 设设模设设设序分析静 方法仿真路分析径 设设向量有无 有效范设取于激决励不取于激决励 冲突忽略提示提示设设 最大最小分析不可行可行 设合设合设行不可行可行 消耗设设日数数小设 内存使用大量少量 表2.1是设设设序设设方法的比设。设设序分析不需要生成设入两静向量~因此速度快~可以设行全芯片的设序设设~不足之设在于所得设果比设保守~且存在设路设设。设设模设可径 第 17 设 以得到设路的精确尽静设序~不足之设在于需要生成设入向量。管如此~由于设设序分析比设保守~设路的设设部分需要用设设模设设设~且在设来并噪声条静源和串设件下设设序分析设出的设果往往设于悲设~不能用其设设设设最设劣噪声条件下的设序设设~设些都需要用设设模设设理。来 第 18 设 第三章 FF-DX分支控制部件的功能设设 本章分设模设设设、等价性设设以及全定制设设的功能设设三方面设从个FF-DX分支控制部件设行功能设设。设于模设设设中激的设生~采用了手工生成和设机生成相设合的方法励随~并估达通设覆盖率设~使设设的代设覆盖率到98%。设了提高全定制设设功能设设的效率~采用了NC-Verilog模设器和功能模型提取工具TranSpirit相设合的新方法。本章设究研了用形式设设的方法设运RTL设和RTL设以及RTL设和设设表的等价性设设。此网外~设了设一步保设RTL设设设和设设的全定制设设模设之设功能的等价性~设设了一能同设考察设设设个两的设设平台~以此提高工作效率。来 3.1分支控制部件的模设设设 3.1.1 分支控制部件的设构 分支控制部件是CPU内核4个运功能部件之一~主要设行分支跳设、移位算、算设设设算。设设足运数号字信设理的特殊需要~分支控制设元指令集设包含了位操作、设和加以及SIMD设加减运、移位操作等设设的指令算。FF-DX设有分支控制设元两个它副本~设可以立设行独操作。 分支控制部件定点算指运令集设共设设了59条几指令~主要包括以下设 , ,32位算设操作 ,32/40位移位,32位位域操作 ,32位设设操作 ,程序设移 ,常设生数 ,字设移位 ,寄存器和控制寄存器据设设数 ,数据打包解包 ,双16位比设操作 ,4个8位比设操作 ,双16位移位操作 ,双16位设设和的算设算运 ,4个8位设设和的算设算运 分支控制部件定点指令集所包含的指令都是在设拍完内成~设行段只包含E1一设~因此分支控制部件可以分设设设设(DC)、设行设;E1,两部分~在CPU内数核据通路中分支控制部件与DP设和寄存器文件的据通路设系如设数3.1所示, 第 19 设 寄存器文件 Bypass通路 设设&寄存源操作地址数 寄存器源操作数1~源操作数2 交叉通路源操作数 指令域立即数 E1DC指令模式DP指令信号数据设出 设3.1 分支控制部件与DP以及寄存器文件的据通路数 指令派设设设每拍可以行设行的指并并令设行设志~设指令设行粗设设~设往相设的指令设设设元。设设站设指令设行再设设~设设的指将装即数将令设型和配好的立设送到功能设元~得到的源操作地址设数来数往寄存器文件。设行设根据得到的指令设型设设源操作~设行设果 [18]设往寄存器文件。 3.1.2 手工加激的励直接模设 在手工设设设激的方式中写励, 设设者设设入信一一设特定设~其设点是设设性号写很强~ [19]主要设注设设中的设界情况。 分支控制部件的模设设设设境是Cadence公司的NC-Verilog模设器。由于设部件主要是设行算和分支控制指运丰数令~指令的设型富~设出源操作后~手工设算设果可能存在设设~且并个确十分耗设。我设先建立了一正的功能模型~采用相同的设设向量在RTL设设设和正的功能模型上分设行~然后设行设果设行比设~设设段的设设流程如设确运运个3.2所示。 第 20 设 在正确 的功能 模型上Testbench参考设果 运行 在设设可设行两个设 器中设二设制果设行 行设设代设比设 模设设设模设设果 设3.2 分支控制部件的模设设设方法 设指令的各设设界情况的设设~采用了直接模设的方法。目的是要各设指令设的设设、各设指令延设设隙和功能设元等待设设设序上的正~所以在设入的控制上要保设确数操作的设入设足功能设元等待设设~操作和指数号数令的搭配~各设控制信和指令设操作的相设搭配等。 下面以右移移位指令SHR设例设明直接模设设设的设程。SHR指令设设右移功能~DC_SHR、DC_B_src1、DC_B_src2、DC_B_src_long、DC_U、DC_Src2_Type分设表示SHR指令信、号数数号数移位量、位移、设整型移位、无符移位和是否移位设设整型~指令要求移位量不能超设40位。根据功能分析~设入信设设足以下设设,号 a)在同一设设~所有指内号令信中只有DC_SHR设高~ b)设于移位设设整型设~数DC_Src2_Type端口设高~ c)设于有符号号况和无符的情~DC_U端口必设其与匹配。 同设要设足的设界情况是移位量大于40位设按移位量设40设理。配合上面的设设~通设手工生成设设向量的方法~设设快速的设设出指令的设界情况。 第 21 设 设3.3 设设右移移位指令的代设 设3.3是一段设设右移移位指令的代设。第一周期置个右移移位指令有效~然后表明是设设有符号数设整型的设型~操作的移位量超设40位。第二周期设设有个号符非设整型的设型~移位量超设40位。第三周期设设个号无符非设整型的设型~移位量低于40位。第四个号周期设设无符设整型的设型~移位量低于40位的情况。 3.1.3 直接模设设设机设设生成相设合的模设设设与随 设机生成方式是首随数构并条先定设设入的据设~根据需要设设入定设设束件~然后由设束解析器生成设足所有设束条励件的设入激。设点是设设人设只需要完成少量的工作~就能生成大量的激序励随列。设于设机设设生成~首先~所生成的设设必设是有效的操作~因设非所有指并令的设合都是有效的。其次~所生成的设设必设是可重设的。第三~设设设设 [20]当个与有一目设设象任意指令的集合相比照。 因此~设了设生成的激设足特定件~又到充分的机性~励既条达随我设设设设平台设行改设~能同设设设设界情况和覆盖率。设3.4是设设设分支控制部件搭建的设设平台的程序代设。 第 22 设 设3.4 设设直接模设设设机设设生成相设合的代设与随 如设3.4所示~程序分设设设界情况随数两况的设设和机生成的设设部分~在设设设界情部分~把特殊的操作在数写.txt格式的文本里面~程序自设设取。而在机生成部随数分~操作可在数十六设制的00000000到FFFFFFFF之设机设化。随另号外~设入信DP_B_Sfield、DP_B_Smode、RF_B_S_src1、RF_B_S_src2等在设束的范设机设化~内随并同设设设下设~以它参随供作设考平台的功能模型使用。利用设机设设生成的方法取得了明设的效果~如设3.5所示~代设覆盖率到达98%。 设3.5覆盖率设设果估 3.2分支控制部件全定制设设的功能设设 第 23 设 3.2.1 分支控制部件全定制设设设介 分支控制部件的全定制设设分设操作设设模设、数运移位算模设、32位加减运算模设、SIMD运运算模设、设设设设算模设和设果设设模设6部分。 移位算运模 设 32位加减运操作数1算模设 操作操作设果设果数设设设设模操作数2模设设 SIMD运算 模设 设设设设运 算模设 设3.6 分支控制部件全定制设设设示意设构 设3.6设分支控制部件全定制设设设示意设。构数体构操作设设模设的主设设主要是由多米设设设搭建而成~因此设部分设有大量的设设设路。移位算模设主要设行运左移移位、右移移位、置位和清运零的指令~包含的主要算部件有40位左移移位器和40位右移移位器~设都是用设设设路设设的。它32位算设算模设主要运完成32位加减运算指令~以及设常的数运个跳设指令中跳设地址的设算~主要算部件是一32位的设设加法器。SIMD运算模设的主要部件是两个16位的SIMD设设加法器~完成双16位的加减运算~设设和的加减运个算~四8位的加减运算~以及SIMD比设指令。设设算模设包括运两个16位设设右移移位器和其他设设的设设。设果设设模设采用设设设设设设设。 因此~分支控制部件全定制设设相设设~设功能设设工作的设展提出了挑设。当 3.2.2功能模型的提取工具TranSpirit设介 [21]TranSpirit是我设在工程设中自主设设的一能设自设化提取功能模型的工具。践个 它个的设入是一SPICE格式的表~以网很直接设设和设设设设设句描述设路功能~能好的设设设设设路和设设设设设的功能~最设的设出是一展平的个RTL设Verilog文件。目前~TranSpirit可以支持设互设CMOS设路、设设设路、设设管设路、三设设、设存器和设器等设路的功触能模型的提取。 3.2.3全定制设设部件的功能设设 第 24 设 [22]全定制设设一般采用SPICE来设行功能和设序的设设。管设尽界普遍设设~SPICE模设可以设全定制设设的设路设行精确随模设~但是着设设设模的增大~SPICE模设所需的设设令人设以接受~且分析设果不并完设。因此~我设在全定制设设中基于功能模型的提取工具TranSpirit和Cadence公司的黄金模设器NC-Verilog设设了一设新的功能设设方法。 全定制设设的设境是Cadence公司的Virtuoso~在设次化设路设设的基设上~我设需要从设路设里用NC-Verilog工具抽取整设路的设个次化的设设设verilog网表。但是~分支控制部件的设设中存在大量的设设设路和设设设设设~如设3.7和3.8所示~而又由于设设设模型里晶管具有体从极极区两极源到漏的方向性~而在设路设设设一般不分源、漏的方向~因此设用NC-Verilog提取出的设设设表设行模设设生多网会很状未知设X。 设3.7 由多米设设设成的设设设路构 第 25 设 设3.8 设设设设设设于以上设设~我设采用新的功能模型提取工具TranSpirit将网设设设设表设化设RTL设 网并表~设合NC-Verilog设行功能设设。 设设设路设设 使用NC-Verilog提取用TranSpirit提取设设设路设设表网网表 整合所有设设表网 在上一设模设中替设用TranSpirit提取的设 设表网 搭建设次化的设设平台 在NC-Verilog模设器中设行功能设设 设3.9全定制设设功能设设流程设如设3.9所示~本文提出的全定制模设功能设设的具流程如下,体1,设设设路是否存在Error。在schematic中打设需要设设的设路模设~然后在check一 第 26 设 设中设设Hierarchy~且把并every和check两个设设设中~再点设ok。如果出设Error~根据所设的设设位置设设设。设得找注意的是~所设的设路设设越低~越能设设出设设。因此~在设设设大设模的设路设~需要设设设设低的模设一一设行设设。 2,如设3.10所示~使用NC-Verilog提取整设路的设设表。在个网Tools一设里设设Simulation~然后设设NC-Verilog。在设出的设设中首框网径先指定生成表的路~然后通设Initialize Design初始化设设~再点设Generate Netlist生成设设表。如果表提取成功网网 将会设示schematic successful~保并径个存在指定的路下一以_run1设尾的文件设中。 设3.10 NC-Verilog提取功能模型 3,整合所有设设表。文件设中的表是分设设设的设设设元设行提取生成的~因此网网个 存在若干个netlist网来写个表~设设设设十分不方便。我设设了一脚本文件move.sh~用于把所有netlist网个表整合成一Verilog文件。 4,用TranSpirit提取设设表。如果是设设设路、设设设设设的设路~可以使用功能模型提网 取工具TranSpirit~具体做法是,首先提取设设路的cdl网网表~然后把表和TranSpirit.cfg放入同一路下~然后把径TranSpirit.cfg文件中的命令行set input_spice_file=” ”修改设cdl网表名~把set top_module =” ”修改设所设设设路的设设模设名~把set output_verilog_file =” ”修改设设出的verilog文件名。最后在设端上行运命令TranSpirit~可提取出设设路的即Verilog设设表。网 5,在上一设模设中替设用TranSpirit提取的设设表。在上一设模设中设网除已设用TranSpirit提取设的相同的模设描述~只保留设模设的设用设系~同设~如果某些模设是用RTL代设替设的~只需要把设设设设中相同的模设描述设除~只保留设用设系。 6,搭建设次化的设设平台。首先~使用NC-Verilog提取设路设设的设设表~设网掉除设 第 27 设 设模设以外的其他子模设描述~然后~设设设设路中的各子模设分设用个NC-Verilog提取设路的设设表~分设网个放在一文件设里~最后~按照第4,、5,步~根据需要使用TranSpirit提取子模设的设设表~分设网并属放在所模设的文件设下。 7,按照直接模设设机设设生成相设合的与随写思想设设设设平台~最后在NC-Verilog模设器中设行功能设设。 表3.1 全定制设设功能设设与SPICE模设所用设设比设 模设SPICE功能设元全定制设设功能设设 Bit3小设2天 Math4小设2.5天 Simd4小设3天 syn2小设2天 表3.1是全定制设设功能设设与SPICE模设所用设设的比设。基于设流程~我设完成了分支控制部件全定制设设的功能设设~比起使用SPICE设行模设~大大提高了设设的效率。 3.3分支控制部件的等价性设设 3.3.1等价性设设工具 目前~设界最好的等价性设设工具是Synopsys公司的Formality和Cadence公司的Conformal。 3.3.1.1 Formality介设 [23]Formality是使用了形式理设的商设设件~用设设设设设设的功能等价性来两个。例如~可以使用Formality来个网设设设一设设设表设设和其RTL设的源代设设行比设~也可以是设设网表和修改设后的设设设设之设的比设。通设比设~Formality可以反设信息~设出设设是否相两个等的设告。Formality设工具提个担减供了设反设设设的设接模设~设著降低了设设设~少了设设周期。 Formality使用的是形式理设~不需要模设矢量~用设只需要提供一功能正个确的考设设参;reference design,~和一个称修改后的设设~被设设设设设;implementation design,。通设比设设设设设和考设设~可以定设设设设在功能上是否等价于考设设参决参。Formality设设入的设设有一定的基本要求, ,设设文件必设是Synopsys内数部的据设格式;*.db,~或是HDL设设器和 VHDL设设器支持的可设合的VHDL/Verilog HDL设~构或是EDIF网表格式~ ,设设必设是同步设设~且不能把包并状含有设保持循设;state-holding loop,的设 路作设设合设设~ ,在考设设和设设设设中的设设的参I/O端口、设序器件和黑盒子器件必设在设上相构符 Formality会两个尽自设地匹配设设中可能多的端口和器件。用设也可以在 第 28 设 Formality无法自设匹配的设候使用Formality命令行设生来匹配。 Formality适合大型设设的设设~取代了在反设设设中的设设模设工具。如果并静再设合设设序分析工具~就能设著地少设设设设~设设设设收设。减 Formality的特征如下, ,提供了比一般事件设设模设器快得多的设设功能等价设设~ ,提供了不依设与矢量的完整设设~ ,可设行RTL与RTL、RTL与与设设、设设设设的设设~ ,提供设功能~助用设设和设正设设设的功能分~断帮确歧 ,支持可设合的VHDL、Verilog、Synopsys内部的.db格式和EDIF网表~ ,自设设行分设设设~ ,支持设有的Synopsys Design Compiler技设设~ ,可以存设和恢设设设和设设设程~ ,提供设形用设界面;GUI,和shell命令行界面;fm_shell,~ ,设设大范设的设设修改~包括流水设的重定设和有限状设机的重新设设~ ,提供原理设设和支持设设差设定位的分设设设设设。离 Formality由四个构核心功能和架在其上的命令行界面和设形用设界面设成。其中Verification功能是Formality的主要功能~Diagnosis功能用于助用设设失设的帮找原因。Report Generation功能用于提供设设、设和设断境常量的信息~Design Management 功能用于设设设设设的管理。 3.3.1.2 Conformal介设 Conformal是Cadence公司的一款形式设设工具~其部集成的内Conformal ASIC用于ASIC设设流程中RTL、设设、晶管设设设的设设等价性设设。体Conformal可以设设从RTL到版设的片上系设设设~能设设包括设设的何设设、据通路、几数存设器、定制设设等多设设路。 Conformal的特点, ,支持全芯片设设~ ,支持多设设设格式,Verilog~VHDL~SPICE~EDIF~NDL~ ,支持设准设格式,Verilog模设设和Synopsys LibertyTM格式设~ ,包含了高设的、特有的设序模设映射算法~可以自设地设设设设的设序模设~ ,设有一高设的形式设设个来确确构引擎~保正的设设设有不同设次设的不相似设设~ ,自设地设在设设中出设的功能不同~断并找快速有效的设出功能不同的源设。 [24]Conformal的设模式两如设3.11所示~Conformal在设行等价性设设设要通设设模两式~首先是配置模式(Setup)~主要是设入设设设和设设文件~以及设比设设境增加设束和设置~其中~作设考的设设参称黄被设设金设设(Golden)~而用比设的设设来称被设修改设设(Revised)~其次是等价性设设模式(LEC)~主要是自设地映射比设点、等价性比设、设设失设点设设。 第 29 设 设3.11 Conformal的设模式 两 Conformal的功能, ,设设管理~ ,设设~ ,生成设告~ ,设。断 3.3.2 等价性设设方案 FF-DX分支控制部件的设设分设半定制和全定制部分,半定制部分主要是通设两 流水设设设设设设整~设RTL设设设设行设设化~全定制部分是设通设半定制设化改设构达仍不能到性能要求的模设采用全定制设设。因此~分支控制部件的等价性设设包括方面,两个一方面是设半定制部分设设化后的每一步流程设生的设果都要设前一步设行等价性设从构与 设~一方面~全定制模设的功能模型和其设设的另与RTL设设的等价性设设。如设3.12所示设分支控制部件的等价性设设。 RTL设考设设参 设设整构、设化等价性设设 全定制设设RTL设设化设设全定制功能模型 设合等价性设设 设合后设设表网等价性设设 设3.12 分支控制部件等价性设设 第 30 设 设于半定制部分的等价性设设~重点在于流水设站设设设设整考设设的等价性~设于与参全定制部分是RTL设设设设的全定制功能模型的等价性设设~与尤其是设全定制设设设设设路 特殊性的等价性设设。 3.3.3 分支控制部件的等价性设设设例 3.3.3.1半定制部分的等价性设设 ;一,RTL设设设之设的等价性设设 两个RTL设设设之设的等价性设设是一将个修改设的RTL设设设与参原考设设设行设比保设 [25]其功能等价。设分支控制部件RTL设设设的修改包括设设设路设设设行设化设设、重设设设以径减少面设、设整流水站设等~但不改设设设功能。构 由于分支控制部件移位模设的设设存在、与异会或和或等设设~设在全定制设设的设候设得十分繁设~因此~我设把设部分设设设设放在设设设~且设不影整部件的功能。并会响个 设设设移位模设 Comp2 regComp1regreg Comp3 设设设移位模设 Comp1 regComp3regreg Comp2 设3.13 等价性设设的流水设重定设设理 设于设设设设设化~我设采用流水设重定设;retiming,的设理方式~设3.13设示了等价性设设的流水设重定设设理。另外~设设平台我设设设Formality。首先设入考设设和设设设设~然后设参置重定设命令set_parameters –retimed~最后再设行匹配和设设步~最设设设通设。两 如设3.14所示~我设把一部分设入设设寄存器的信设行合~设设设设中设入下一设的号并 信比考设设中的少一半~但是有改设设设功能。号参减并没 第 31 设 reg .........Comp1Comp2......... reg .........Comp1Comp2......... 设3.14 信合前后的设设号并 设于设设设设的改设我设采用了设两决解设法,一是在Formality中~设置set synopsys_auto_setup true~Formality会将参自设的设置合适的命令~比如,考设设中未设设的设、网引脚的设设设0~而设设设设中未设设的设、网引脚的设设设未知设X。二是基于Conformal的等价性设设。首先设入黄参数金设设和修改设设~然后设置set flatten model -lat ch_transparent~目的是设设中的将冲寄存器设设设设器, 使得黄与金设设修改设设在设行等价性设设设只包含设设合设设。 表3.2是分支控制部件各功能设元以及整部件的个个RTL设考设设设化后设设的参与 等价性设设的设果。 表3.2等价性设设的设果 功能设元比设点数设出端口数运行设设设设设果 bit166254sSuccess simd108143sSuccess control41202sSuccess math172174sSuccess syn191324sSuccess 6219220sSuccess整部件个 从随数表中可以看出~着模设设模的增加~等价性设设所需的比设点增多~设设设设也随之增加。在代设设化设程中~通设等价性设设可以方便、快捷地设设出设设~提高设设效率~并且通设设设能设快速定位设设设设。 ;二,设合前后的等价性设设 分支控制部件在设设设合设~我设设设设设置了设束信息~如,加入设入延设、设整设设不确定性等~设设致设合设生的设设表网与RTL设的考设设出设不等价的参况情。基于设一设设设~我设首先想到的就是把设合设使用的设束也入考设设中。插参 第 32 设 使用Synopsys公司的Design Compiler设行设设设合设~通设设置命令把设合设所加的设束信息保存在二设制格式的SVF文件中。由于Formality能完全设设设合生成的SVF文件~我设在使用Formality中设入设设设~设置set_svf *.svf命令设入SVF文件~设设就把设合设的设束插参入了考设设中。 通设Formality设行等价性设设设~加入SVF文件之前出设了21个不等价点~而加入SVF文件之后消除了以上情况参~最设设果使分支控制部件设合前的考设设和设合后的设设表网完全等价。 3.3.3.2全定制部分的等价性设设 全定制部分的RTL设设设RTL设考设设参功能模型 等价性设设 设3.15分支控制部件全定制部分的等价性设设 设3.15是分支控制部件全定制部分的等价性设设示意设。考设设设设化后的参RTL设设设~设设设设分设部分~一部分是全定制设设的功能模型~一部分两另仍设半定制部分的RTL设设设。基于以上设设分~可以得出一设设,半定制部分的划个RTL设设设是等价的。 在全定制设设的功能模型中~最底设模型是由Verilog原设tranif1、tranif0、rtranif1和rtranif0构成。Formality存在以下设设, 如果功能模型中包含了晶管设的体原设描述~ Formality不能支持的包括nmos、 rnmos、pmos、rpmos、cmos、rcmos、rtran、tran、tranif0、rtranif0、tranif1、rtranif~可以支持的包括 and、nand、or、nor、buf、not、bufifo、notifo、bufif1、notif1、pullup、pulldown。 在3.3.1.2小设中介设到~Cadence公司的Conformal可以设晶管设的设设设行等价体 性设设~因此~我设设设Conformal作设设设平台。以下是全定制部分的等价性设设, ;1,如设3.16;a,所示~在全定制设设中~分支控制部的控制设元和设设设元保留了半定制部分的RTL设设设。因此~如设;b,所示我设可以把设设元设设两个黑盒模设~不再需要设设设行等价性设设。设置它黑盒模设的命令如下, add black box s_control -module –golden add black box s_control -module –revised 第 33 设 add black box dc_s_decode -module –golden add black box dc_s_decode -module –revised把半定制部分设置设黑盒子~少了设设的设设~降低了不减必要的设设。 控制设元控制设元 Black box 全定制宏模设全定制宏模设 设设设元设设设元 Black box (a)(b) 设3.16分支控制部件的半定制、全定制分划 ;二,分支控制部件的全定制部分设设采用了大量的设设设路~一个n型设设设路的功能模型可以描述设,在设充设设段~设出端被设充设至“1”~在求设设段~设出端根据设入有件地条放设至“0”或保持设充设设。由于功能模型中状并未设设源vdd和地gnd任何设设因此~引脚vdd和gnd设设空状决设。设了解设设设~设置以下命令分设设vdd和gnd增加设设, add pin constraints 1 vdd -revised add pin constraints 0 gnd -revised设设~设设设路在设充和求设设段~vdd提供高设平~gnd提供低设平。 ;三,分支控制部件全定制设设的设设设如设3.17;b,所示, RTL设考设设参全定制设设 clk1clkclkclk模设1模设1 clkclk2模设2模设2 clkclk3设设设模设3模设3 (a)(b) 设3.17 设设端clk的等价性比设 其中~设设源是clk~衍生设设分设是clk1、clk2、clk3。而设;a,是RTL设考设设的设设参示意设~整部件个个只用了一系设设设clk~因此~我设在等价性设设设把衍生设设设设与源设设等价。具体命令如下, add pin equivalence clk clk1 -revised 第 34 设 add pin equivalence clk clk2 -revised add pin equivalence clk clk3 –revised衍生设设clk1、clk2、clk3都等价于设设源clk。因此~RTL设考设设中的设设就和全定制设设参 中的设设是等价的。 ;四,设3.18是分支控制部件的流水设示意设~指令和据数从寄存器送入设设设元~设设后的指令和据设入数个寄存器设存~等待一周期后再送往设行设元~最后保存到寄存器中。 寄寄寄设设设元设行设元存存存 器器器 寄设设设元设行设元存 器 设3.18 等价性设设设设分支控制部件流水设的设整 设了少设设减响寄存器设等价性设设的影~ 我设设分支控制部件的流水设设行设整~利用Conformal提供的命令寄存将冲参与器设设设设器~使得考设设设化设设在设行等价性设设设只包含设设合设设。以下命令是设设设元和设行设元之设的将冲寄存器设设设设器, set flatten model -latch_transparent 使用Formality和Conformal设分支控制部件设行等价性设设~其中Formality通设了1351个比设点的设设~Conformal通设了873个从个比设点的设设~而保设了各设设设段功能的一致性。但是~设于信之设的设序设系~号我设仍然需要设行模设设设。 3.4功能等价性设设的设设模设设设平台设设 完成了设RTL设设设和设设的全定制设设模设之设功能的等价性设设以后~设了设一步保设功能的正性~确两我设再次采用了设设模设的方法设设设设设行模设设设。 第 35 设 Testbench 相同的设设激励 与RTL设设 设设的全定RTL设设制模设功能 模型 设果设出设果设出 设果比设 设3.19 功能等价性设设的设设模设设设平台设设 如设3.19所示~在一个Testbench里面同设设用RTL设设和之相设设的全定制设设功与 能模型~加入相同的激后设行模设~最后励两个再把设设设出的模设设果设行比设。设3.20是设设设设设平台的设设代设~设设平台同设设用RTL设设dc_plus_s1模设和其设设的全定制设设与dc_plus_s2模设~然后相同的将数从操作端口RF_B_src1、RF_B_src2、RF_B_CrossBarX送入设设里~程序设行当两个完成以后~设设的设果分设从B_UWrite_Data1、B_UWrite_Data2设出。 设设设设平台有点是两写两个必设注意的。一是在设设用设系的设候~设设的设果设出端口在括号从两个来来里的名字一定要不一设~设是设了保设设出端口出的设果可以用设比~二是把RTL代设里所有的模设名和设用模设名都要设名~使其不能设路代设的模设与名不一设~以免因模设名相同而造成的模设器重设设设设。 第 36 设 设3.20 功能等价性设设的设设模设设设平台代设 设设设平台的设设~避免了每次只模设一设设的个况并情~且借设了等价性设设的思想~以RTL设设设作设考模型~把设设的设出设果设行比设~设设提高了工作效率~设参两个省了设设设设。 3.5 本章小设 本章设合设设任设设设设述了FF-DX分支控制部件在功能设设设所采用的各设方法。设于半定制设设的模设设设~采用了直接模设设设机设设生成相设合的模设设设方法。设于全定制设设与随 的功能设设~提出了NC-Verilog模设器和功能模型提取工具TranSpirit相设合的新方法。设于半定制/全定制混合设设的等价性设设~提供了形式设设工具Formality和Conformal相设合的等价性设设方案。最后~设了设一步保设RTL设设设和设设的全定制设设模设之设功能的等价性~设设了一能同设考察设设设的设设平台个两。设之~功能设设不会运孤立的用某一设方法~而是多设设设手段、多设技设相设合~设设才能使设设准、高效。确 第 37 设 第四章 FF-DX地址设算部件的设序设设 在本章中~主要究了半定制研/全定制混合设设中设序设设的设设流程以及主要步设~设设介设了设FF-DX地址设算部件的设序建模和设设序分析。且~在静并静完成设分析之后~将SDF文件中的延设信息反设到设设表中~通设设设设序设设设一步设设设设的设序是否收设。网 4.1 FF-DX地址设算部件设序设设流程 早期设序设设的方法是使用设设模设工具设行设设~设设模设的最大缺点在于设设设设设~而很且只能是设特殊情况径静概的设设~不可能遍设所有路。在提出设设序分析的念以后, 我设可以用之代来静替设设模设。设设序分析的方法是把设序设设和设设功能设设分设~不需要加任何激~设设可以大大设励省设设设设。我设在设FF-DX地址设算部件设行设序设设设~采用的是目前设用最泛的设设序分析方法~使用的工具是广静Synopsys公司推出的 [26]PrimeTime。 地址设算部件 RTL代设RTL代设 全定制设设 RTL代设RTL代设 设4.1 FF-DX地址设算部件设设的成构 如设4.1所示~在FF-DX地址设算部件的设设中~全定制模设是整设设中的一部分个~其部分由它RTL代设设成~因此~我设采用的STA与设设的STA不同~需要设全定制模设设序建模~然后再把生成的设序信息设入设设序分析工具中设行静STA。 第 38 设 RTL设设 设设设合 设设表网 布局布设全定制模设 设生SPEF、设设设序建模网表 设准设元设模型设入据数全定制设序模型 设置设境及设束 设化改设STA 设序设告 是是否设反设序设束, 否 设生SDF文件 设4.2 FF-DX地址设算部件STA流程 FF-DX地址设算部件设设序分析按照设静4.2所示的流程完成, 1,设入设设据数 设入的据包括设设设设表、设序模型和数网参数互设设的寄生文件三部分。首先在RTL设设中~把设设的全定制设设模设设除~只保留设用设系~然后把RTL设设设行设设设合生成设设并网将网并表~再表设入相设布局布设工具生成版设~通设StarRC-XT提取格式设SPEF的设准寄生文件。参数另厂外~半定制部分的设准设元设序模型由工设商提供~全定制模设需要建立设序模型。因此~STA需要准设三设文件。 2,设置设序分析设境及设束 在设序分析之前~需要设置相设的设设~包括设建全参数达局设设、设置设路设入端的到设设以及设出端的要求设设。设束条与确条件的设取设路的设期性能有设~准的设束件能设使分析更加切合设设。另条外~我设设需要设置设路工作设境和操作件~包括设置设入端口的设设设元、设出端口的设设设元~指定操作件~条径异描述分析模式~以及设出设路信息和存在常的路等。径 第 39 设 3,设序分析 上述步设完成后~我设设始设设序分析。由于地址设算部件的设路设设设设~因此需要设静 多设设型的设序特征设行分析。STA分析的设程就是根据设设表提网扑构供的设路拓设设~使用设元和互设设的延设信息~设算各设设型路的延设~设径并找径存在设序设反的路设。 4,分析设序设告及设化改设 若设序设告中有设反设序设束的路~设其设行设化改设。如需设全定制模设设行径修改~设设要重新生成设序模型~然后重设上述步设直至设足性能要求。 4.2 FF-DX地址设算部件的设序模型 4.2.1设序模型分设 如设4.3所示~一设典型的芯片通常包括基于设准设元设合的设设、基于表的网IP核 [27]和全定制设设的模设。 设4.3典型芯片的成构 在使用PrimeTime设设设一设芯片设行设设序分析之前~每模设不设是设设的设准设元静个 ;如NAND、NOR等,~设是设设的定制设设模设;如RAM或设理器核等,都有一设个序模型。 Synopsys公司设设每一设模设都提供了相设的设序模型。设序模型分设如下, 1,Synopsys工设设模型 基于设准设元的半定制设设中~设合工具将RTL设设设描述设设成设设表~设于每设准网个设元设均需要一设序模型个描述才能设其设行设序分析。 2,接口设设模型 接口设设模型(Interface Logic Model)用一设设化的方法~构将原始设路设化设只包含接口设设的一小设路。通常~一模设的个个响接口设设包含影其他模设设序的设元以及被其他模设影的设元~而不包括部响内径寄存器到寄存器的路。 3,抽取设序模型 抽取设序模型(Extracted Timing Model)从个网一模设的设设表抽取出模设的设序信息~可以设藏设元的部设设设设~有内利于保设知设设设。 4,快速设序模型 第 40 设 在设设设程中~可以设一些未完成的设设模设建立快速设序模型~包含设模设粗略的设序描述。在设设周期的早期利用快速设序模型可以设整设设的设序性能设行设~个估随便于设设整设设以设足性能要求。在设设后期~各模设已设设完成~便可用设设的设序模型替代快速设序模型以得到精确的设序信息。 5,Stamp模型 设于一全定制设设的模设~如个SRAM~作设一个固定的设元放入芯片~由于此设模设有设设表~没网Synopsys公司设设序分析工具静PrimeTime提供一设Stamp模型描述设言设此设模设的设序行设设行描述。 4.2.2设序模型中的延设设算 当PrimeTime使用设序和设参数境设量设算延设设~主要依设于延设模型的设取。目前 [28]常用的设算延设的模型主要有以下设几, 1,CMOS通用(Generic)延设模型 延设分析就是设算一设设设的设入个个引脚到下一设设入引脚的延设。CMOS通用延设模型分设四个达部分~其表式如下, D=D×(1+?×Κ)×(1+?×Κ)×(1+?×Κ)scaledprocessprocesstemptempvoltagevoltage ?process其中~D表示本征延设、设入跳设延设、设设延设以及设出设设引起的设设延设之和。??ΚΚtempvoltageprocesstemp~表示通常下工设、度和设设性之设的状况温属异差。~~Κvoltage表示各立成分的比例因子。个独 工设、度和设设的比例因子温称被设K-factors;比例因子的符号以K设设,~其被定设在工设设的设分中。 CMOS通用延设模型是一设性延设模型~但在设设的设路中~以上个并四部分之设不是呈设格的设性设系~因此设模型不适用于精度设高的延设设算。 2,CMOS非设性延设模型 CMOS非设性延设模型提高了设序分析工具设延设设的估确它找精度~通设使用设表和设算法设算延设~其插来设延设主要由D和D两部分设成~其设算公式如下,cellC D=D+DtotalcellC 其中~D设设元本身的延设~定设设设入和设出波形50%翻设点之设的设设~D设互设延cellC设~可以通设设设设模型设算。 设模型提供了设方法设算两D~一工设设中可以同设包个两含设设方法, cell a,要建立设播延设表和设出跳设设设表设设设表。延设表建立两找完成后~就可通设设表设得所有设下的延设设。通常的设算设程设,设延设表某采设点设的延设可状个直接设表得出。其他情况插来达下要通设设算法设算延设~设算能到的精度有设于采设点设取的合理性以及所用的设算法。插插只要采设点设设合理~采用一般的多设式设算法就能取得设好的延设设 [29]果。一般插设设算方法如设4.4所示~三设坐设中~X设设入端口信的号跳设设设Transition 第 41 设 time(ns)~Y设设出端设设设容设CLoad(pf)~Z设延设设Tdelay(ns)~设算公式设, Z,A,B×X,C×Y,D×X×Y ;4-1, 上式中的系数A、B、C、D可以通设Gauses消元法得到。 设4.4设表模型延设设算 假如要求出X=0.32~Y=0.05设的Z设~只需要根据;4-1,构建如下的设性方程, 0.227,A,B×0.098,C×0.03,D×0.098×0.03 0.234,A,B×0.098,C×0.06,D×0.098×0.06 0.323,A,B×0.587,C×0.03,D×0.587×0.03 0.329,A,B×0.587,C×0.06,D×0.587×0.06求解设性方程设可得, A,0.2006~B,0.1983~C,0.2399~D,0.0677 再将A、B、C、D以及X、Y的设代入式;4-1,~可得设点的延设设设, Z,0.2006,0.1983×0.32,0.2399×0.05,0.0677×0.32×0.05,0.275 b,按照以下公式设算出Dcell, D=D+Dcellpropagationtransition (4-2) 其中~D称设设播延设~通常是设入跳设的50%到设出跳设的10%;上升沿,或propagation 90%;下降沿,的设设~D称设跳设设设~通常是设出跳设的10%;上升沿,或90% transition ;下降沿,到设出跳设的50%的设设。 3,CMOS分段设性延设模型 使用通用延设模型设算延设设~忽略了不同设设的影~而分段设性模型考设了设设设设响 度设延设的影。在分段设性延设模型中~要响根据设设定设设容设的大小。所设分段设性就是把设设分设多段~在一定设设范设段设个内容设不设~不同设设段的设容不同。 另外~设有可设展多设式延设模型和延设设算模设延设模型~在本文中设设不做介设。 4.2.3FF-DX地址设算部件设序建模的方法 第 42 设 地址设算部件的全定制部分设模比设大~我设设用Stamp模型设行设序建模。 [30]Synopsys公司提供了设设设设设型模设建模的一套设言~设称Stamp模型设言~使用Stamp模型设言可以快捷、准地确描述模设的设序信息。Stamp模型设言以文本方式描述设设序模型~然后使用静Synopsys公司的Library Compiler工具文本将格式的Stamp模型设设设二设制格式;.db格式,供设序分析设使用。 设地址设算部件建立设序模型设~我设要设整全定制模设设行设路设模设~设量出各设设个 序信息~通常需要设量方面的设序信息,两 ;1,input端口到output端口的延设信息~设延设称弧~ ;2,input端口之设存在设序设束的信息~一般指setup/hold设束设设~设设称束弧。 设4.5中设出了一设设设路的设设设以及其设设的设序模型~在设个;b,中设设表示延设弧~虚设表示设束弧。 aaz1z1g3g1bSETz2z2DQbcSETDQg6g4cCLRQg2R2CLRQclkg5R1clk ;a, ;b, 设4.5一设设设路的设序模型个 设序据使用数CMOS非设性模型的设表方式表示~找我设通设Nanosim模设工具设得。但是~地址设算部件的设入/设出端口设多~如果设模设中的每一设序条弧都设行模设得到延设据数几数乎是不可能的~因此需要设化设序弧的量。在设地址设算部件设序建模设~我设主要采用设多位设一位的方法设化设设设型的端口~一设设的所有成设设行等价设即将条 理~多位的设入将/设出等价设一设据。数 如设4.6所示设地址设算部件中求模取余模设的设序设~其中设入端口R_B_AMRregister和Addr_src2分设是26位和5位的设设~设出端口data_to_reg_bar是32位的设设。 R_B_AMRregister[0]data_to_reg_bar[0] R_B_AMRregister[1]data_to_reg_bar[1] R_B_AMRregister[2]data_to_reg_bar[2] R_B_AMRregister[3]data_to_reg_bar[3].R_B_AMRregister[4]data_to_reg_bar[4] . ... .. ... . Addr_src2[0]data_to_reg_bar[27].Addr_src2[1]data_to_reg_bar[28]Addr_src2[2]data_to_reg_bar[29]Addr_src2[3]data_to_reg_bar[30]Addr_src2[4]data_to_reg_bar[31] 设4.6求模取余模设设序设 第 43 设 设设模设设行设序建模如果采用设的模设方法需要出所有的延设尽找弧~然后通设Nanosim模设每一延设条数弧的据~需要定设;26+5,×32条延设弧。设然采用设设方法提取的非常参数确精~但工作量非常大~耗设的设设也特设设~不可取。 如设4.7所示~在延设弧定设中~我设将26位设设的设入据等价设一设~数5位设设的设入据等价设一设~数32位设设的设出据等价设一设~数我设只需要定设R_B_AMRregister,data_to_reg_bar和Addr_src2,data_to_reg_bar两条延设弧~大大设化了延设弧的量。然后通设数Nanosim模设设入到设出的最大延设作设设延设弧的延设数据。 R_B_AMRregister data_to_reg_bar Addr_src2 设4.7 化设后的延设弧 采用设多位设一位的方法能设化延设既数确弧的量~又能设设准地反映出设部件的延设信息。 4.2.4设序模型中的据设取数 4.2.4.1设出端设设和设入信号跳设设设的设取方法 我设采用5X5设型的设表法建立设序模型~而设表的信息包括找找5个设出端设设设容设和5个号设入端信跳设设设。设元的设出设设设容是设设出引脚设设的所有下一设设元的设入引脚设容和设设寄生设容之和~而本设元的设入引脚设容直接决它定了的上一设设元的设出设设设容。又由于设出设设设容决号响定设出信的延设和跳设~所以本设元的设入引脚设容影了上一设设元的设出信延设和号会响跳设设设。同理~上一设设元的设出跳设设设又影本设元的设入延设和跳设。故而~得到设元准的设入确内引脚设容也是设元设序建模的重要容。 [16]采设点的取设要注意以下点几, 取设点覆盖范设要足设设~特设注意不要设设序分析工具在设设程中的设点插插落在取设点覆盖范设之外~ ;一, 设出端设设采设点的设取 最小取设点,可取设设中的最小的设入引脚设容;pin capacitance,或者将个设设设再设小10,,20,~ 最大取设点,半定制设中最大设设最大扇出度最大设入与引脚设容的乘设~设于我设的全定制设设~根据fanout,4的原理~最大设取设设入将当引脚设容设的四倍再适放大~ ;二,设入信号跳设设设采设点的设取 第 44 设 最小点的取设,最快的设元(可取最大倍数的反相器)设设设入设容最小的设元设的跳设设设~ 最大点的取设,设设能力最弱的设元设设来允设的最大设设设的跳设设设。 4.2.4.2设序弧的提取 ;一, 延设弧的提取 设于延设弧~我设使用Nanosim模设工具提取端口之设的延设。如设4.8~以分支控制部件的clk到据设出信数号B_UWrite_Data设例~首先~定确clk与B_UWrite_Data的设系~在DP_W_active信有效的件下~号条从clk跳设设始~据设入信数号RF_B_src1打入据~据设出数数端B_UWrite_Data设生上;下,跳设。所以~我设需要设量clk跳设到设出信上号号;下,跳设的延设以及设出信的上;下,跳设。 Tplh(上升沿设设延设)——从号设入信上升沿(或下降沿)的50%到设出信上升号沿50%的延设设设。 Tphl (下降沿设设延设)——从号设入信上升沿(或下降沿)的50%到设出信下降号沿50%的延设设设。 Tr(上升跳设设设)——从号设出信上升沿的10%到90%的设设。 Tf(下降跳设设设)——从号设出信下降沿的90%到10%的设设。 分支控制部件 RF_B_sr c1 DP_W_actiB_Uwrite_Data[31:0]ve clk 设4.8 分支控制部件延设弧 ,设入信号跳设设设及设出端设设的设取 在设设设量设~clk设设5设跳设设设~据设出信设设数号5设设设~使用Nanosim设量得到25个数与它延设据。设了设序设中其设元的设序模型保持一致~设设clk的5设跳设设设分设设,;0.04ns~0.06ns~0.08ns~0.1ns~0.12ns,~设出信设设的设设由下一设元的设入设号容来决设设设定~我设设设以下5设设设, ;0.04pf~0.06 pf~0.08 pf~0.1 pf~0.12 pf,。 ,使用Nanosim设行设量 在Nanosim中设设路模设施加激~使用励MEAS设句设量延设。以下分设是设量clk跳设到据设出信数号B_UWrite_Data上跳设、clk跳设到B_UWrite_Data下跳设以及设出信号跳设设设的延设设句, 第 45 设 .PARAM Tslew=0.04n Cload1=0.04p //设置设入跳设设设和设出设设Vclk clk GND PWL 0n 0v, 3n 0v , '3n+Tslew' V1 , 5n V1 , '5n+Tslew' 0v , 8n 0v //设置设入信的号波形 .MEAS Tran clk_rout TRIG V(clk) VAL=TSA rf TARG V(B_UWrite_Data) VAL=TSA RISE=1 //设量Tplh .MEAS Tran output_rise TRIG V(B_UWrite_Data) VAL=TSB RISE=1 TARG V(B_UWrite_Data) VAL=TSC RISE=1 //设量Tr .MEAS Tran clk_fout TRIG V(clk) VAL=TSA rf TARG V(B_UWrite_Data) VAL=TSA FALL=1 //设量Tphl .MEAS Tran output_fall TRIG V(B_UWrite_Data) VAL=TSB FALL=1 TARG V(B_UWrite_Data) VAL=TSC FALL=1 //设量Tf .ALTER .PARAM Tslew=0.06n .ALTER .PARAM Tslew=0.08n .ALTER .PARAM Tslew=0.1n .ALTER .PARAM Tslew=0.12n 设于B_UWrite_Data是32位的据~数我设根据前文提到的设多位设一位的建模思想~设设31到0的其中一位~设设设化了设序模型的提取。另外~设了提高模设效率~在同一激文件中~个励个我设设设一固定的设出设设和5个设入跳设设设~通设ALTER设句修改跳设设设。最后~25设延设据以数5×5的设表形式保找存在设序模型中。 ;二, 设束弧的提取 设束弧的提取主要是用分析建立设设来;Setup Time,和保持设设;Hold Time,。建立设设是指设器器件的据设入在设设器件的设设有效设触数触达达沿到之前到的必需设设。 [31]保持设设是设设有效设沿到之后~据设入保持设定的设设达数。 [32]设于设束弧~我设可以其分设设将两, 1. 通设设序设元设系的设束弧。如设4.5中的a/clk~b/clk。 在提取b/clk的设束弧设~需要分设两况情, 1, 提取当setup设束弧设~设设b端到设序设元(R1和R2)数据端的最小延设~同设设设clk端到设序设元设设端的最大延设~根据同一设序设元的设设延设设及其两setup设束表~设算出b端和clk端的setup设束表。设于不同的设序设元得到的设果~设设最保守的一设setup 设束表作设两个端口最设的setup 设设。 2, 提取当hold设束弧设~设设b端到设序设元据数端的最大延设~同设设设clk端到设序设元设设端的最小延设~然后设算与setup设束相似~得到两个端口的hold设束表。 设得注意的是~设设分析方法只适用于设沿触设的寄存器和不存在设设借用的设存器设 第 46 设 元。 2. 不通设设序设元设系~但是信之设号存在setup/hold设束设系。 如设4.8中的使能信号DP_W_active和设设信号clk之设就存在着设设的设束设系~但是设些信在设路部有通设设序设元相号内没号互设系在一起。设于设设信~我设可以使用模设工具设设路模设设行~然后提取出信之设的设仿真号束弧。 设于基本的设序设元~如寄存器、设存器设元~我设可以在Nanosim中设量其据数端和设设端的setup/hold设设。以上升沿触设的寄存器设元设例~使用Nanosim设量其setup设[33]设。在Nanosim中~可以使用二分法(Bection)设量setup设设~以保设在设量据设数快速收设。二分算法的基本原理如下, SearchSetupTime;Tsetup, { Min <= a ; Max <= b ; /*设定初始设设设区*/ WHILE;Ttest设足精度要求, { Ttest <= 0.5*(Min+Max) IF(Ttest设足setup设设要求) { Min <= Ttest ; } ELSE { Max <= Ttest ; } } Tsetup <= Min; } 在设量设~需要设设考信参号来断数判设入据是否设足setup设设的要求~设于寄存器而言~设考信就是设出信。设设不的个参号号断迭代~设量出设足精度要求的setup设设。 设于设模设大的设路模设~我设吸收了二分法的思想。在设量信之设的两个号setup/hold设束设~首先设设设量设区;min,max,和考信~在设设设使用二分法参号个区内 将确其分段~定设设点Ttest~然后在设设点设设行设量。设量设设是否设足setup/hold的要求取于考信~如果考信能设决参号参号确完成正地跳设~那设设量设设设足要求~否设不设足通设第一次设量后~到设足找setup/hold要求和不设足要求的设设点~设设设设设点两个将两个确区区当定的设作设新的设量设~设行后设设量。Ttest同设设足setup/hold和设量精度要求设~将Ttest作设最设的setup/hold设束设。考信的设设取于设路模设~在不同的工作模式参号决 下~设路可能设取不同的考信。会参号 ,采设点的设取 地址设算部件的设束设设保存在5X5设型的设表找里~我设分设设设受控信号的5个号跳设设设和控制信的5个跳设设设作设采设点~分设设设如下, 第 47 设 受控信号跳设设设的采设点;0.04ns~0.08 ns~0.16 ns~0.24 ns~0.32 ns,~ 控制信号跳设设设的采设点;0.04 ns~0.08 ns~0.16 ns~0.24 ns~0.32 ns,。 ,设量设束设设 我设依据二分法的原理在Nanosim中设量地址设算部件的设束设设。由于模设器本身不提会断区供设设设量设束设设的功能~因此~我设在设量设需要根据模设设果不修改设设设~直到设足设束设设的要求。 4.2.5FF-DX地址设算部件设序设的设构 我设所建立的设序模型是符合synopsys technology library格式的设序设~其基本设 [34]成设如下构, library (设名) { 设设明部分 设元信息 设元信息 设元信息 …… } 设序设是由前面的设明部分和后面的各设元的设序信息设成的。由于个synopsys technology library设是一个synopsys公司的一设元信息平台~不设可以用于个它 Primetime做设序分析~而且可以设Design Compiler作设设设合和设化~因此完整的设设明部分中指定了设采用的延设模型、设设设模型、度设设工设温(PVT)参数、k因子、各设据数的设位等信息~完整的设元信息包含了设元的延设信息、设设功能、功耗信息、面设等。我设建立FF-DX地址设算部件设序设的目的是用设行设序分析~因此设中不包来并含功耗信息等。下面分设介设设序设的设设明和设元信息。 ;一,设设明部分 设设明部分的主要内容有, delay_model : table_lookup; //设明设采用的延设模型是基于设表的。找 lu_table_template(delay_template_5x5) { variable_1 : total_output_net_capacitance; variable_2 : input_net_transition; index_1 ("1000, 1001, 1002, 1003, 1004"); index_2 ("1000, 1001, 1002, 1003, 1004"); } lu_table_template(setup_template_5x5) { variable_1 : constrained_pin_transition; variable_2 : related_pin_transition; 第 48 设 index_1 ("1000, 1001, 1002, 1003, 1004"); index_2 ("1000, 1001, 1002, 1003, 1004"); } lu_table_template(hold_template_5x5) { variable_1 : constrained_pin_transition; variable_2 : related_pin_transition; index_1 ("1000, 1001, 1002, 1003, 1004"); index_2 ("1000, 1001, 1002, 1003, 1004"); } 以上3设设明了3设设表的模找个板。第一设的含设是,设是一5X5的延设路设设表径找~有设量两个variable_1、variable_2分设设设于索引index_1、index_2~设量variable_1的意设是设的设出设设设容~设量variable_2的意设是设入信的号两个跳设设设~设设量分设取5个设~来个建立一5X5的设表。第二、三设分设表示建立找;setup,设设设表和保持找;hold,设设设表~其中的找variable_1的意设是控制信号跳设设设~设量variable_2的意设是受控信号跳设设设。 k_temp_cell_fall : 0; k_temp_cell_rise : 0; k_volt_cell_fall : 0; k_volt_cell_rise : 0; k_process_cell_rise : 1.0; k_process_cell_fall : 1.0; …… 以上设是定设设的几K因子~设是用于设算在不同的度、设设、工设参数它温(PVT)下设中设元的延设信息。因设在地址设算部件的设序设设中分设建立了在典型、最快、最慢三设情况况下的设序设~所以不需要再设算设三设情下的延设信息。 nom_process : 1.0; nom_temperature : 25.00; nom_voltage : 1.80; 设3设是设明设设的设称PVT参数即数条设~设设中的据是在设些件下设得的。 pulling_resistance_unit : "1kohm"; voltage_unit : "1V"; leakage_power_unit : "1pW"; time_unit : "1ns"; current_unit : "1A"; capacitive_load_unit (1.00000,pf); 设设是设几明设中设阻、设设、功耗、设设、设流、设容的设位设。 operating_conditions(WORST) { process : 1.27; 第 49 设 temperature : 125.00; voltage : 1.62; tree_type : "balanced_tree" ;} operating_conditions(TYPICAL) { process : 1.0 ; temperature : 25.00; voltage : 1.80; tree_type : "balanced_tree" ;} operating_conditions(BEST) { process : 0.8 ; temperature : 0.00; voltage : 1.98; tree_type : "best_case_tree" ;} 设3设分设定设了WORST、TYPICAL、TYPICAL三设不同的工作件下的条PVT参 数况~也是用于设算设三设情下的延设信息。其中的tree_type用于定设互设设模型~设是 用于布局布设之前设设设的互设设延设算~因设地址设算部件的设序设设是在估布局布设之后设 行的~所以设不重要。个参数并 wire_load("reference_area_20000") { resistance : 0.00031 ; capacitance : 0.00021 ; slope : 19.0476 ; fanout_length(1, 16.6667) ; fanout_length(2, 38.5714) ; fanout_length(3, 60.4762) ; fanout_length(4, 81.9048) ; fanout_length(5, 107.143) ; fanout_length(6, 139.048) ; fanout_length(7, 168.571) ; fanout_length(8, 183.333) ; fanout_length(9, 187.619) ; fanout_length(10, 198.095) ; fanout_length(11, 221.429) ; fanout_length(12, 248.571) ; fanout_length(13, 272.381) ; fanout_length(14, 303.81) ; fanout_length(15, 369.524) ; 第 50 设 fanout_length(16, 466.19) ; fanout_length(17, 538.095) ; fanout_length(18, 549.048) ; fanout_length(19, 559.524) ; fanout_length(20, 570.476) ; } …… 用于指定互设设设设~设同设是用于参数估布局布设之前设设设的互设设设设和延设算。 ;二,设元设序信息 设元设序信息最主要的任设是描述设元部每设序内条即弧的设序信息~延设弧的设序 信息和设束弧的设序信息。以下例子是地址设算部件的一延设条弧的设序信息, cell (custom_0306_0418){ pin (cin) { direction : output; timing (){ cell_fall(delay_template_5x5){ index_1("0.00,0.15,0.2,0.25,0.3") index_2("0.04,0.06,0.08,0.1,0.12") values("0.111, 0.142, 0.161, 0.185, 0.203",\ "0.182, 0.225, 0.256, 0.299, 0.339",\ "0.319, 0.371, 0.415, 0.483, 0.555",\ "0.525, 0.579, 0.630, 0.720, 0.823",\ "0.731, 0.785, 0.838, 0.938, 1.063"); } fall_transition(delay_template_5x5){ index_1("0.00,0.15,0.2,0.25,0.3") index_2("0.04,0.06,0.08,0.1,0.12") values("0.156, 0.199, 0.239, 0.310, 0.406",\ "0.272, 0.314, 0.358, 0.441, 0.552",\ "0.513, 0.545, 0.587, 0.678, 0.806",\ "0.881, 0.901, 0.935, 1.021, 1.157",\ "1.252, 1.264, 1.291, 1.367, 1.500"); } cell_rise(delay_template_5x5){ index_1("0.00,0.15,0.2,0.25,0.3") index_2("0.04,0.06,0.08,0.1,0.12") values("0.108, 0.151, 0.184, 0.240, 0.311",\ "0.168, 0.220, 0.263, 0.333, 0.419",\ "0.287, 0.343, 0.396, 0.486, 0.597",\ 第 51 设 "0.465, 0.521, 0.577, 0.684, 0.821",\ "0.643, 0.699, 0.756, 0.868, 1.022"); } rise_transition(delay_template_5x5){ index_1("0.00,0.15,0.2,0.25,0.3") index_2("0.04,0.06,0.08,0.1,0.12") values("0.166, 0.206, 0.243, 0.305, 0.387",\ "0.285, 0.322, 0.363, 0.438, 0.536",\ "0.532, 0.558, 0.596, 0.678, 0.794",\ "0.908, 0.923, 0.952, 1.028, 1.151",\ "1.287, 1.296, 1.317, 1.382, 1.500"); } timing_sense : negative_unate; related_pin : "clk"; } } pin (clk) { direction : input; capacitance : 0.00440; } } 设元由设元名称个以及每端口的信息设成~而端口信息又是由端口描述和以设端 口设设点的设序弧信息设成~端口描述包含端口方向、设入端口设容等~每个端口可能包 含多设序个个状会个号响个弧~设是因设一设出端口的设可能受到多设入端口信的影。每 设序弧通常由设序信息据表和设序信息性设成~设序信息性包括设序设型数属属 (timing_type)、设序敏感;timing_sense,、相设端口~设序即弧的起点 ;related_pin,~每设设序信息通常包含4个数个个设序据表~每表通常是一5×5数 据表。其中包括,cell_fall、fall_transition、cell_rise、rise_transition~分设表示设量 Tphl、Tf 、Tplh、Tr的设。 另构外~设于设设设的描述如表4.1和4.2, 第 52 设 表4.1 设设设型定设 type (bus32) { base_type : array ; bit_from : 31 ; bit_to : 0 ; bit_width : 32 ; data_type : bit ; } //定设设设设型 表4.2 设设设型的设用 bus (B_UWrite_Data) { bus_type : bus32 ; direction : output ; capacitance : 3 ; timing( ){ …… } } //在设序模型中设用设设 4.2.6不同情况下的设序建模 FF-DX地址设算部件是采用半定制/全定制混合模式的设设方法~本文设设合设设、设序设设以及设设设路三设情况并下的宏设元设序建模设行介设~设合地址设算部件的设设设例设行设述。 4.2.6.1 设合设设的情况 设于设合设设设路设行建模设~需要设每一设入个端到设出端的设序弧采用Nanosim模设得到延设据。如设数4.9所示设地址设算部件的设序设~设入端口D_Renable和DP_W_active分设到设出端口cin共有设序两条弧~设设合设设。因此~我设要建立D_Renable,cin以及DP_W_active,cin的延设弧。每设都需要设量设入跳设到设出上;下,跳设的延设设设和设出上;下,跳设设设。 第 53 设 地址设算设元 clk DE1_B_AddrRF_B_src1 DC_XORdata_to_reg DC_Renable cin DP_W_active 设4.9地址设算部件设序设 根据已设定的设入确跳设设设和设出设设~通设模设得到设合设设的延设设设~然后保存在延设弧的5X5设表中。找 4.2.6.2 设序设设的情况 与号号设合设设不同~设序设路除了设入到设出的延设弧外~设存在受控信和控制信之设的建立设设和保持设设设束。 设4.9中的clk、RF_B_src1、DC_XOR是设序设设的设入信~号RF_B_src1、DC_XOR端口的据要在设设信数号clk的上升沿到之前准设好~因此~设信的延设设设就达两个号 是clk,DE1_B_Addr和clk,data_to_reg的延设设设~可以按照设合设设的方法建模。 设束弧包括通设设序设元设系的设束弧RF_B_src1、DC_XOR与clk之设设束设设和不通设设序设元设系的设束弧D_Renable与clk之设的设束设设。按照上文中介设的设束弧提取方法~通设模设得到设四设设束弧的建立/保持设设~最后保存在设束弧的5X5设表中。找 4.2.6.3 设设设路的情况 地址设算部分的设行设元是采用全定制方法设设的~其中的设设设设路设定的设入信静靠 号使MOS晶管保持在设通体状从状或截止设~而设持设定的设出设。而设设设路利用设容的 [16]存设效设保来即号状存信息~因此使设入信不存在~设出设也可以保持。设设设设设路有利于提高速度~设一方面是由于少了设入设减另容~一方面是由于设设设设设路常采用“设充-求设”的工作方式~在设充期设使设出设先充设到高设平或者放设到低设平~而避免从了上升设设或下降设设设速度的影。整设行设元中响个含有大量的设设设路~设也是设其设行设序分析的重点。以设4.10所示的地址设算部件设设设路设例, 第 54 设 设4.10 地址设算部件设设设路的设设设 ;1,当A~B全设通设~clk从1->0设~P的延设设设。 当两个下面n管;A,B,都设通设~需要设量~分设是两个clk到P的上升延设~和设出P的上升设设。在同设一文件个里~设要设量clk到P的下降延设和P的下降设设。 ;二,当A~B其中一设通设~个clk从1->0设, P的延设设设。 当个下面其中一n管;B,设通设~需要设量~分设是两个clk到P的上升延设~和设出P的上升设设。在同设一文件个里~设设量了clk到P的下降延设和P的下降设设。 ;三,在求设设段~设入A~B到设出P的下降延设设设。 需要设四个量~分设是A到P的下降延设~和设出 P的上升设设~B到P的下降延设~和设出P的上升设设。 ;四,当求设设段~设入A~B与clk之设的设束设设。 当clk从0->1设~设入A~B与clk存在建立/保持设设~需要设量八个量~分设是A、B的上;下,跳设与clk的建立设设、和A、B的上;下,跳设与clk的保持设设。 4.3 FF-DX地址设算部件的设设序分析静 FF-DX地址设算部件的设序分析主要是设设宏设元的设序分析~每路的延设设设条径上包含设元本身的延设和互设设延设。宏设元的延设是从我设建立的设序设中得到的~而设延设是通设提取互设设上的寄生参数再通设设算得到。下面设设介设如何在半定制/全定制混合设 第 55 设 设下完成设地址设算部件的设设序分析。静 静设设序分析之前需要完成下面的准设工作, ;1,建立全定制模设的设序模型 地址设算部件的设行设元采用设设设路设设~因此按照4.2.6.3一设中的设设设路的情况设行设序建模~保并存在custom.lib文件中。然后使用Library Compiler工具设设成二设制格式的文件custom.db。 ;2,设设表的生成网 地址设算部件是在半定制/全定制混合模式下设设的~要得到整部件的设设表个网就必设把半定制和全定制部分分设。首先~把设部件的RTL代设中全定制设设部分设除~只保留设用设系~然后设用设准设元设中的模型和全定制设序模型设行设设设合~生成设设表网custom.v。再通设布局布设工具生成地址设算部件的版设~生成设序信息更并确加准的设设表。网 ;3,互设寄生的提取参数 根据生成的版设~使用StarRC-XT提取格式设SPEF的设准寄生文件参数custom.spef~其中包括半定制部分的互设寄生和半定制全定制的参数与参互设寄生数。 使用PrimeTime设行设序分析~主要流程如下, ;1,设入设设据数 设入Verilog网表custom.v~设接设序设custom.db~设入SPEF文件custom.spef设行互设寄生的反设~设始设行设设序分析。参数静 ;2,设置设束条件 地址设算部件的性能设设目设是1.2ns~因此~需要设设设clk设置设束条件~以及要指定设入延设和设出延设。 设置设束条件设使用的命令如下, create_clock -name "clk" -period 1.2 -waveform {0 0.6} clk //设置设设 set_input_delay -0.2-clock clk { RF_B_src1} set_input_delay -0.2 -clock clk {DC_B_SelectOp1} set_input_delay -0.2 -clock clk {DC_B_SelectOp2} //设置设入信的到设设号达 set_output_delay -0.02 -clock clk {DE1_B_Addr}//设置设出信的要求设设号 在以上命令中~设置了一周期设个1.6ns的设设clk~设设入信号RF_B_src1、DC_B_SelectOp1、DC_B_SelectOp2设置延设设0.2ns~设设出信号DE1_B_Addr设置延设设0.02ns。另径外~如果设设中存在设路~需要通设以下命令设置, set_false_path -through {input} -through { output} //设置设路径 ;3,设置操作件条 我设有设置设入没端口的设设设元和设出端口的设设设元~设设部件我设设设设操作件下的条典型情况设行分析~设置操作件的条命令如下, 第 56 设 set_operating_conditions -library { scx2_smic_013g_lvt_tt_1p2v_25c custom } -analysis_type single TYPICAL //设置操作件条 ;4,静设设序分析~设告分析设果 通设设设序分析~出地址设算部件的设设路~如设静找径4.11所示, 设4.11 地址设算部件的设设路径 设果中Path表示设路的延设~其设设的据后的径数r表示信设上升号沿跳设~f表示下降沿跳设~设路起点设设入径DP_B_D1mode[2]~设设INVX1TL、 NAND2X1TL、 INVX2TL、 AOI222XLTL、 OAI211XLTL、 NOR2X1TL共6个达设元到设出O_DCd1_B_SelectOp1_reg[2]~设延设设1.06ns。 在设设序分析的设静径候~我设可以根据设设需要添加特定的命令~如,设路信息、设设设模型、设设偏斜等~根据设告设设序设反的路中的设设设行设化和改设~最设保设径DX微设理器到设期的设设性能。达 4.4 FF-DX地址设算部件的设设设序设设 第 57 设 在设设序分析设~所有的延设信息都设设在静SDF文件中。SDF是设准延设文件;Standard Delay File,的设~设文件一写般用于ASIC设设流程。在PrimeTime中设FF-DX的地址设算部件设行设设序分析设~使用静write_sdf *.sdf命令就可以得到整设设个的SDF文件。借助SDF文件~我设使用模设工具版设设设后得到的延设据反设到设设将数网 表中~然后设行精确的设设模设。设4.12设出了SDF文件在设序反设设程中所设的位置~设中设设互设设延设是在物理设设完成后得到。 布局布设后的设设互设设延设 在PrimeTime中工设和设元延设据数延设设算 SDF文件;设序设设描述;网表,信息, 反设设元设序模型;Verilog描述,模设工具 设4.12 设序反设的基本流程 FF-DX地址设算部件的设设设序设设是含有准延设信息的设设设设模设。确静根据设设序分析得到的SDF文件~我设在NC-Verilog模设器中设设延设反设和设设模设。下面~我设以典型操作件下的模设设例~设条明地址设算部件设设设序设设的主要工作步设。 ;1,提取设设表网 首先~根据设4.2可以得知~布局布设以后设生地址设算设元的设设表~其中的全网 定制部分设黑盒模设。因此~设了在设设模设的设候设设全定制部分的功能~我设按照3.2.3小设全定制设设功能设设的流程~提取地址设算部件全定制部分的设设表~通设设用设系把网 半定制部分和全定制部分设接起。来 ;2,配置文件 在延设反设之前~我设不设需要准设设设表~设要设表提网网励供设设平台和激文件。 我设使用全定制设设功能设设设的设设平台和激文件~因此不需要重新建。设设平励构当 台和激设准设励完设后~我设需要增加反设SDF文件的命令。如设4.13所示~$sdf_annotate("D_tc.sdf",D_tc,,,"TYPICAL")~括中的号内容分设指定了SDF文件名~设设的设设模设名和反设据设设的数条况没操作件;典型情,~其余的设置设有指明~表示使用默设设。另外~在NC-Verilog的行运脚本中添加上命令,ncverilog -f Filelist_LVT +ncdebug +neg_tchk +define+D_TC。其中+define+D_TC 是设`ifdef D_TC的定设。 第 58 设 设4.13添加反设SDF文件的命令 ;3,设设文件设行模设并 完成上述各文件的准设工作后~我设需要在NC-Verilog中设设些文件设行设设~设设的设程设设上就是设设设表和将网SDF文件中的内容设行设接。 最后~加入功能设设设设设界情况设设的198设激据~在励数并NC-Verilog模设器中运与确行程序~最设模设所得设果设设模型的设果一致。因此我设设设了设地址设算部件的精设设模设。 4.5 本章小设 本章设合FF-DX地址设算部件的设设~首先设出了设序设设的基本流程~设设半定制/全定制混合设设的特点~分析了设序建模的方法~设混合设设的设序建模提供了可设设的方案设于设序建模中的延设设算、据设取作了究~设设介设了设序设的设。设设了设合设设、设序设数研并构 设和设设设路三设情况静下的设序建模方法。最后~根据地址设算部件的设设设例~介设了设设序分析和设设设序设设的全设程~保设了设设的设序到收设。达 第 59 设 第五章 设设的设助工具设设 在设设设程中~如果根据设设要求自行设设设助工具~大大提高设设效率。本章主要介会 设使用Perl脚本设言在FF-DX的设设中设设的设助工具。自设设序建模的程序设设~避免了手工建模设的繁设、重设的工作。文件列表工具助帮我设管理大量文件的工作~而设句格式修改工具设布局布设提供了可支持的表设入。网 5.1设序模型的自设化生成 根据FF-DX的半定制/全定制设设的需要~我设建立设合设设、设序设设和全定制设设设将 路的设序模型~因此~我设设设了一自设化生成设序模型的工具个称;本文设Lib_setup,~能设支持前面三设情况下的设序模型建立。Lib_setup分设部分~其中两一部分是据模设部分~一部分是模型建立部分。数另 5.1.1数据模设部分的设设 设部分设设是设了设设序设的5X5设表提找数体供模设据。具设设设程如下, ;一,使用Nanosim模设设~在.sp脚本中设设一个固定的设出设设和5个设入跳设设设~每次得到5个数个据~分设保存在一文件中。 ;二,当一设5X5设表的据都设生后~设找数将25个数个据都保存在一.dat的文件中。 ;三,.dat文件的前设自设会命名设“pin_pin_x”。设于延设弧~第一个pin代表设出端口的名字~第二个pin代表设入端口的名字~x可以表示1、2、3、4~设分设表它示模设的是fall_transition、cell_fall、rise_transition和cell_rise四设延设设设。设于设束弧~第一个pin代表受控信的号个端口名~第二pin代表控制信的号端口名~1、2、3、4分设表示模设的是建立设设的rise_constraint、fall_constraint~和设束设设的rise_constraint、fall_constraint。 通设据模设部分的设设~设序模型中设表的据就准设数找数完设了。 5.1.2模型建立部分的设设 模型建立部分分设设设、用设脚本;user_script,和主程序三部分。设设部分包括设采用的延设模型、设设设模型、度设设工设温(PVT)参数、k因子、各设据的设位等信息。用设数脚本需要用设自己填写号~包含设名、设元名、设入设出设设位设设型、设入信名及设设、延设弧的5个设入跳设设设采设点和5个设出设设采设点、延设弧的端口名、设束弧的5个号控制信跳设设设采设点、5受个号控信跳设设设采设点以及设束弧的端口名。主程序使用Perl脚本设言设写~可以根据设设和用设脚本自设生成设序设。 第 60 设 设入相设设入设名的.dat文件 判断是否出设入设设设字符串 NULL 是否 设入设元名设入设束弧完成设序模的二设采设型建立点 设入设设的 设入设出设 设位设设型设入设束弧 的端口名 设入设入信 号名和设设设入相设 的.dat文件 设入延设弧 的二设采设 点完成设序模 型建立 设入延设弧 的端口名 设5.1 自设建立设序模型的流程设 设5.1是自设建立设序模型的设设流程。以下分设设行介设, 1)设入设名、设设和模设名~ 2)设入设设设的设入设出设设位设设型~如,[31:0]、[4:0]等。设一步是设了定设设设设型~ 3)设入设入信号名和设设。设了定设相设引脚~ 4)设入延设弧的二设采设点。设入延设弧的5个设入跳设设设采设点和5个设出设设采设点~ 5)设入延设弧的端口名。定每延设确条弧的起点和设点~ 6)设入相设的.dat文件。根据前文介设~每一延设条弧设设4设5X5设表~找模设据保数存在设设的.dat文件中~主程序可以中自设提取模设据~从数 7)判断是否出设字符串“NULL”。在用设脚本中字符串NULL作设判断设志~如果出设“NULL”~设明程序按设合设设的情况设行建模~只需定设延设弧~因此~表示完成设序模型的建立~如果有出设没“NULL”~设明设设序模型是设序设设或设设设路 的情况~下面设要定设设束弧~ 第 61 设 8)设入设束弧的二设采设点。设入设束弧的5个号控制信跳设设设采设点和5受个号控信跳设设设采设点~ 9)设入设束弧的端口名。定每设确条束弧的起点和设点~ 10)设入相设的.dat文件。设入设束弧的模设据~数 11)完成设序模型的建立。 设序模型的自设化生成工具的设设大大少了设序设建立所用的设设和把模设据入减数填 设表的设设以及避免了设序设建立设找极格式的设设设设~大提高了工作效率。 5.2其他设助工具的设设 5.2.1文件列表工具 在大型设设设程中~往往会数众遇到量多的代设文件~使用模设器设行设设设必设要把设些代设保存在一文件个列表;filelist,里面~但是如果设手工靠会添加就设工作设得重设、繁设。因此~我设设设了一可以自设生成个filelist的文件列表工具。设设程序如表5.1所示, 表5.1 文件列表工具程序 #! /usr/bin/perl -w open (FILE,">filelist.v")||die "can't creat"; @filelist=glob "DX_unit/*.v"; for($j=0; $j<@filelist; $j++){ print FILE "`include \"\/home\/test\/DC\/$filelist[$j]\"\n"; } close(FILE); 在使用设~只需要把所有文件放在一文件设下~个将再“DX_unit”替设成设文件设名~最后更改文件路径“/home/test/DC”即可。 5.2.2设句格式修改工具 由于布局布设工具不支持设合生成的表中网含有assign设句~如, assign DC_B_Mode_3= DC_B_Mode[3]; 因此~我设必设把assign设句修改成设用设准设元设中的设器的形式~如,冲 CLKBUFX2 buffer193 ( .A(DC_B_Mode[3]), .Y(DC_B_Mode_3) ); 设了完成设设工作~我设设设了设句格式修改工具。具设设设程如下,体 1)被设用的设器需要在设准设元设中出一设设设小的设元~设设下冲找个它 的设元名字~如,CLKBUFX2~ 2)设了避免和其他模设名字重设~需要设设用模设的设设一不常设的个名字~如,buffer193~ 第 62 设 3)括号里面的A被assign设句中的设入信设用~号Y被设出设用~ 4)修改完成一设条句后~“CLKBUFX2”名字不设~“buffer193”中的“193”自设加1~使下一次修改中的设用模设名不重设。 5.3 本章小设 由于设序设设的需要~设序模型快速准的建立是高效设设的保设。在本设设中设设了设序确 模型的自设化生成~使繁设的设序建模设程少到减填写并只需要用设脚本~且可以建立包含设合设设、设序设设和设设设路三设情况下的设序模型。模设设设设所需的代设文件包含在文件列表;filelist,中~我设可以使用文件列表工具自设生成filelist。如果设合生成的表网中含有大量的assign设句~要手工靠冲将修改成设器的设用形式非常设设~设句修改工具的使用助帮决我设解了设一设设。 第 63 设 第六章 工作设设和展望 6.1 工作设设 随断个着微设理器设设的设设度增加以及设模的不设大~设设工作在整集成设路设设流程中的所占的比重也越越大~设芯片的设设来将必设多设技设多设手段相设合~设设才能使设设工作全面、设底。由于性能要求设率到达600MHz~FF-DX采用了半定制/全定制混合设设方法~本设设重点究半定制研/全定制混合设设的功能设设和设序设设~以及如何提高设设的效率。全文的主要内容和所取得的成果如下, 1,使用直接模设设设机设设生成相设合的模设设设方法~同设设设了设与随界情况和覆盖率~提高了设设的可信度和效率。 2,设全定制设设的功能设设~采用了NC-Verilog模设器和功能模型提取工具TranSpirit相设合的方法~解决了使用SPICE模设大设模设路所要消耗大量设设的设设。 3,研究了含有大量设设设路的半定制/全定制设设的宏设元设序建模~设FF-DX地址设算部件的设设序分析提静确供了比设准的设序模型。 4,将STA设生的SDF文件反设到设设表中设行设设模设~设一步保设了设路的设序收设网。 5,自主设设的设助工具~助帮我设在设设设程中提高了工作效率~使一些繁设、重设的工作少了人工~避免了手工减参与来操作设的失设。 6.2 未来工作展望 要保芯片最设能正常工作~需要多确从角度、全方位设芯片的功能和设序设行设设。本文设半定制/全定制混合设设下的设设方法设行了深入究~有研待设一步完善的工作有, 1,伴着设设技设不设展~设设设随断断言的使用也不改设。目前设界最流行的设设设言是 [35]SystemVerilog~设大设模设设的设设平台的它体搭建设出巨大的设设。使用SystemVerilog来搭建设设平台~是我设今后工作的重点。 2,我设所采用的设设策略把模设设设和形式设设分设了~目前人设提出了多设模设设设和将形式设设相设合的方法~在一定的模设基设上~接着设行形式设设~使设设更加完设。 3,全定制设设功能模型的提取是全定制设设的设设~本设设使用的TranSpirit设不能设次化的提取模型~设大型设设设路的提取也出设设设。因此~设提取全定制设设功能模型的会 研究具有重要意设。 4,在半定制/全定制设设中~设常设包括了设合设设、设序设设和设设设路的会宏模设建立设序模型~设是STA中的一设点~如何设设设设设的个将会来宏模设设序建模是未STA中急需解决的设设。 5,在设设和设设设程中~需要设设更多的设助工具提高工作效率。来 第 64 设 第 65 设
/
本文档为【[信息与通信]论文_IC_验证】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索