基于ip核的soc设计关键技术研究

基于ip核的soc设计关键技术研究

ID:33619222

大小:9.10 MB

页数:133页

时间:2019-02-27

上传者:xinshengwencai
基于ip核的soc设计关键技术研究_第1页
基于ip核的soc设计关键技术研究_第2页
基于ip核的soc设计关键技术研究_第3页
基于ip核的soc设计关键技术研究_第4页
基于ip核的soc设计关键技术研究_第5页
资源描述:

《基于ip核的soc设计关键技术研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

西安电子科技大学博士学位论文基于IP核的SOC设计关键技术研究姓名:史江义申请学位级别:博士专业:微电子学与固体电子学指导教师:郝跃20070301 摘要摘要随着SOC技术的快速发展,对IP核提出了越来越多的规范化、标准化、鲁棒性要求,尤其IP核接口时序的柔性适应能力、IP核参数化可配置能力已经严重制约了SOC技术的发展。论文研究了当前SOC设计中面临的接口时序瓶颈、IP功能定制等关键问题,提出了可复用IP核的TPCR(时序弹性接口)技术(包括弹性接口技术、接口再同步技术)、结合IP核参数化可配置设计技术,在USB2.0IP核(863项目)、8位嵌入式微处理器IP核(校企合作项目)等设计工程中,进行了相关的技术验证。首先,论文研究了可复用IP核的弹性接口技术,提出了TPCRIP核模型。传统IP核接口时序约束缺乏弹性,导致SOC集成时序收敛周期很长,甚至无法收敛,采用参数化可配置设计方法,并通过建立TPCRIP核模型,可以有效地解决传统IP核的时序接口困扰。TPCRIP核模型由弹性延迟单元和再同步单元组成,其中,弹性延迟单元规范了IP核的接口时序约束,使得SOC集成者能够在设计的各个阶段,估算IP核的时序裕度,并能够在集成时无缝集成到SOC中而无需加入粘合逻辑;而再同步单元增加了IP核接口在不同时钟域和异步信号之间的桥接功能,保证IP核能够可靠地完成异步数据的传输。另外,弹性延迟单元中的数字控制端采用参数化可配置设计,数字控制端的参数值可以在设计的各个阶段自由重置,从而改变IP核接口的延迟,增加IP核接口的时序柔性。基于TPCR模型的IP核设计技术在SOC设计项目中得到实际应用,有效地加速了SOC设计中的时序收敛过程。其次,论文研究了参数化可配置USBIP核的设计(包括PHYIP核和LINKIP核两部分),探索了L玳KIP核的参数化设计方法。对L烈KIP核的端点定义、端点类型、传送方式、端点的输入/输出存储器、FIFO深度等细分功能都进行了可配置参数定义,通过参数配置实现功能裁减。对AP数据接口采用再同步技术,隔离了USB时钟域和AP时钟域,使得IP核可以平滑连接到AP模块,支持多时钟域工作,拓展了AP端部件的选择范围。AP接口总线、UTMI数据总线也采用参数实现可配置设计,通过修改参数设定即可匹配接口时序不同的IP核,从而完成IP核间的通讯。所设计的可配置L玳KIP核,通过改变参数设置,其最小配置可以裁减至仅支持1个通用端点和每端点支持1种传送方式,而最大配置则可扩展到支持15个通用端点和每端点支持4种传送方式。另外,PHYIP核和LINKIP核接口均采用弹性延迟技术,在IP核内部即可实现接口延迟的调整,减轻了因接口延迟不匹配而带来的设计困扰。为了验证了TPCRIP核设计技术和参数化可配置设计技术,论文基于SMICO.25¨mCMOS工艺,进一步完成了PHYIP核和L跗K 基丁.IP核的SOC设计关键技术研究IP核的版图设计和流片实验。结果表明,采用TPCR设计方法,该USBIP核接口时序范围较宽、能够适应更多的外部IP时序,参数化配置使得IP核电路规模可伸缩,较好地匹配不同的应用需求。再次,鉴于嵌入式处理器是应用广泛的核心IP核,是参数化可配置设计技术和TPCRlP核设计技术的关键应用之一,论文设计了一款8位可配置嵌入式微处理器IP核——XDMARC,其内核包括ALU单元、通用寄存器堆、指令译码器等,兼容AVR指令集。通过参数化配置,其最小配置可以裁减至大约8000门(支持基本AVR指令和GPIO),而最大配置可扩展至20000门以上(支持AVR扩展乘法指令、更多外设)。仿真表明,在SMIC0.25pmCMOS工艺条件下,其最小配置性能可达200MIPS。外围部件采用参数化开关设计,通过参数设置,能够选择IP核支持的指令集,裁减IP核的功能和外设。另外,采用TPCR技术进行了IP核接口设计,其延迟参数可以根据集成环境的要求在系统设计阶段、仿真验证阶段、版图布图阶段修改,使得XDMARC对总线架构的适应性更广,在布局布线时自由度更大,减少SOC集成者因为信号间的相对延迟收敛要求而带来的设计反复。最后,对所设计的USBIP核、XDMARCIP核和其它IP核(UAl玎、SRAM等)进行了SOC集成验证,结果表明,采用TPCR设计技术可以有效地加速SOC设计中的时序收敛过程,提高IP核接口时序适应能力;采用参数化配置,IP核电路规模具有较好的伸缩性,能够匹配不同的应用需求,增强IP核的可重用性,灵活控制SOC的设计和制造成本。关键词:SOC设计IP核复用时序弹性接口(TPCR)弹性延迟多时钟域再同步 Abstract3WiththerapiddeVelopmentofSOC(SyStem◇naChip),IPcoresmustmeettheincreasin2needforstandardizationandrobustness.However,theadaptabilityoftheinterfacetimingandconfigurab.1ityofparametersofIPcorehaVelimitedthedevelopmentofSOC.Inordertosolvetheproblemsabove,thisdissertationinve鲥gatessuchkeyissues.asinterfacetimingbonleneckandIP‰ctioncustomizationinthecurI.entdesignofSOC,andproposesTimingPaddedCellResynchronousModule(TPCR),includingthepaddedinterf.aceandre.synchronizationoftheinterf.ace,andconfigurabilityofpar锄etersofIPcore.Usingabovetechniques,、vehavecompletedthedesignofUSB2.Ocoreand8.bitembeddedCPUcore.Firstly,thedissertationstlldiesthepaddedinterf.aceofthereusableIPcoresandproposedmeTPCRIPcoremodel.Theinterf_acetimingoftraditionalIPcoreslacksflexibili吼resultinginconVe唱encetimeofthetimingVeDrlong,eVennon—conVe唱ent.ThjsproblemcanbesolvedbyadoptingparameterconfiguringandTPCRmodel.TheTPCRIPcoIIeismadeupofthepaddeddelaycellandre·synchronizationcell.ThepaddeddelayceUspecifiesandrestrictstheinterf.acetimingoftheIPcore,makingitpossiblefortheSOCdesignerst0eStimatememarginoftheinterfacetimmgateVer>,desigllstageandmakingmeIPcoreintegratedinSOCse锄lesslywithoutthegluedlogic.There.synchronizationceUb耐gesdi舵rentclockdomainsandasynchronoussignals,ens砥ngthatIPeorecarriesoutthetransf.eroftheasynchronoussi印als。Inaddition,digitalcontl。oUdbleportsofthepaddeddelaycellarepar锄etric,sot11epar锄etercarIbeconfiguredatdi骶rentdesignstagestochangedelayando脏rneXibletimingofIPcoreinterface.ThemethodofIPcoredesignbasedonTPCRmodelhaSbeenappliedint'hedesignofSOC,greatlyacceleratingt11etimingconVe唱ence.Secondly’thedissertationpresentsthedesignofaUSB2.0IPcorewhoseparameterscanbecon丘gured,includingPHYIPandL烈KIP'andexploresthemethodofdesigningaparametricLINKIP:Parametersareusedinde6ningendpoint,type,transport,input/outputmemo叮andFIFOdepthoftheLINKIPcore.There.sⅣlchI.0nizationtechnologyisadoptedintlledesignofAPdatainterf.aceforseparatingtheUSBclock矗omAPclock,sot11eIPcorecanbecorulectedsm00tmywithmeAPmodule,andthemgeofchoicesforthecomponentsintheAPsideiswidened.APinterfacebusesandUTMIdatabusesarealsoparametrictomatchIPcores、杭thdifrerentinterfacesthroughmodi每ingthepar锄eters,thusestablishingthe 4基于IP核的sOC设计关键技术研究communicationamongIPcores.Theminimumcapabilityof1generalendpointand1tmsportmodeperendpointandthemaximumcapabilityofl5generaJendpointandtransponmodesperendpointcanbeachieVedthrou曲chajlgingtheparameters.Funhenllore,paddeddelaysareusedinbothPHYIPandLINKIPcoretoa(1justtheinterf.acedelayanddiminishtheproblemofun-matchinginterf.acedelays.InordertovalidatethetechniquesofTPCRandparameterconnguring,thelayoutsofPHYandL烈KIPcoreweredesignedandfabricatedwiththeuseof0.25UmCMOStechnologyinSMIC.TheresultsshowtherangeofinterfacetimingoftheUSBIPcoreiswideandcanbe6ttomoreextemalIPinterfacetimings;andwithparameterconnguration,thescaleoftheIPcoreisnexiblesoastomeetdifrerentdesignneeds.SinceembeddedprocessorIPcorehaSbeeninwideuse,inthisthesis,an8.bitpar锄etricembeddedMCUIPcore,ⅪDMARC,isdesigned,WmchincludesALU,generalregisternlesandinstructiondecoder,compatiblewiththeAVRinstIuctionset.Modi母ingthepar锄etersyieldsascaleofabout8000gatesintheminimummodewhentheIPcoresupportAVRinstmctionsetandGPIO,andover20000gatesinthemaXimummodewhentheIPcoresupportAVRmultipleinstnlctiollSandmoreperipheraldevices.Simu】ationresultsshowtheperfomlanceoftheminimummodecanreach200MIPSundertheconditionofSMIC0.25UmCMOStechnology.Parametricdesignmethodsarealsoutilizedin也edesignofperipheralcomponents.TheinstmctionsetcaIlbeselectedt11roughparameterconfigurationtoreducethe如nctionandper主pheralcomponents.Andtheinte—蠢ceoftheIPcoreisdesignedwiththeintroductionTPCRteclulique,whosedelaypar锄eterscanbemodifiedinthestagesofsystemdesign,simulationVeri行cationorlayoutdesign,basedontllerequirementsofinte伊ationconditions.So,XDMARCenjoysahi曲adaptabilitytomorebusstructuresando虢rsmore行eedominplaceandrouting.AndthedesigniterationcomingfromthetimingconVergencerequirememhaSbeendecreaSed.Finallv’theUSB,XDMARCandotherIPcores(UARTandSRAMetc.)inthisIIesearchareintegratedintoanSOC.ResultsshowtheuseofTPCRspeedsupthetimingconvergencee衢cientlyandimproVestimingadaptabilityofIPcoreinterface.Withpar锄etercon69uration,thelPcoreisf.oundtohaVebetteradaptabilitysoastomeetdiffbrentdesignrequirements,increasethereusa_bilit)rofIPcoreandbringdo、mthecostofSOCdesignandfabrication.Keyword:SoCd咚i印,IP心use,TimingPaddedCeUResynchmnous(rrPCR),FlexibleDelay’Multi-clockdomain,n}synchrOnization 独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果:也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切相关责任。本人签名:日期缨Z呈!兰乡关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文:学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。(保密的论文在解密后遵守此规定)本人签名:导师签名:嵌i乙义 第一章绪论1.1集成电路技术及其发展趋势1.1.1集成电路工艺与设计发展随着集成电路制造技术的快速发展,特征尺寸越来越小,集成度急剧增大,按照摩尔定律【l·11,集成电路的规模每18个月翻一番。从1961年仙童公司发明的只有四个晶体管的第一块集成电路,到目前,以90和65纳米CMOS(Complemen呻Metal—OxideSemiconductor)技术为主流的微电子技术已经进入大生产阶段,芯片的集成度达到109量级【1‘2】。2005年,单片系统集成芯片达到如下指标:最小特征尺寸为65纳米、芯片集成度达2亿个晶体管、芯片面积为520平方毫米、7~9层金属连线、管脚数为4000个、工作电压为0.9~1.2V、工作频率2~2.5GHz,功耗160W。预计到2008年,特征尺寸为45纳米的64GbDRAM产品将投人批量生产。集成电路也从开始的小规模集成电路(IC,IntegratedCircuit)发展到超大规模集成电路(VLSI,Ve巧LargeScaleIC)、特大规模集成电路(ULSI,UltraLargeScaleIC)。按照集成电路工业界习惯,通常采用特征尺寸(FeatureSize)和动态随机储存器(DRAM,Dyn锄icRandomAccessMemory)容量来评价集成电路工艺的发展水平。表1.1给出了硅集成电路的主要发展规律【12^8l:如此,设计人员就不得不面对超大规模(数目)的晶体管,极度复杂的内部连线,各种不同的电路结构,以及因为技术改进而带来的诸如噪声,功耗,信号完整性等问题。表1.1集成电路发展情况与展望年代199519982001200420072010特征尺寸(pm)O.35O.250.180.130.100.07DRAM容量(bit/Chip)64M256M1G4G16G64GDRAM面积(mm2)1902804206409601400微处理器面积(mm2)250300360430520620逻辑电路晶体管密度(晶体管数/cm2)4M7M13M25M50M90M高速缓冲(bit/cm2)2M6M20M50M100M400M最大硅片尺寸(mm)200300400 基丁.IP核的SOC设计关键技术研究微电子技术的迅速发展,主要归功于产业的分工。自1947年晶体管发明以来,半导体产业共经历三次变革,如图1.1所示。第一次变革是集成电路发展初期,随着微处理器与内存的诞生,IDM(IntegratedDesignManufacture)从系统公司中分离出来,IDM厂商掌握全面的技术,包括集成电路的设计、制造,甚至封装和CAD(ComputerAidDesign)设备的制作,在集成电路发展初期傲立潮头,独领风骚。第二次变革是在二十世纪八十年代,因为专用集成电路(ASIC,ApplicationSpecmcIntegratedCircuit)与专用标准产品(ASSP,Appl.cationSpeci行cStandardProduct)的出现、门阵(GateArray)与标准单元(StandardCell)设计技术的成熟,以及制造业投资需求的急剧增加,使得专业代工与IC设计公司出现,IC厂家细分出代工厂(Found叫)和无工厂(Fabless)的设计厂家。而2000年以后的IC产业迈入专业分工的时代,由以往的垂直整合型态转变成水平分工的时代,变化为系统设计、IP(IntellectualPropeny)核设计、设计服务、晶圆代工、封装、测试等公司各司其职,形成了以系统芯片SOC(SystemOn.a.Chip)技术为主的无芯片(chipless)设计方式。随着专业分工的进一步细化,IP核的取得不再困难,SOC与产品周期加速的潮流逐渐形成,IC设计公司的产出速度越来越赶不上制造技术的进步,加上IP核重复使用可使成本降低1/3以上,因此IP核便逐渐由IC设计中独立出来,自成一局。系统设计和IP核设计的分工,形成了以SOC技术为主导的chipless设计方式,对集成电路产业和信息技术发展将产生较为深远影响,有望解决工艺和设计发展的剪刀差问题【l。9】。设备/厂、\集中设计&加逾毖熬WithFab/分散\/设并设计Chipless\、_觜kfF曼悲。1)Chip重用。;’\¨DJes5/1Pmces5IiProcess网络信息H方法改进lI集成度增加图1.1lC产业的三次变革 第一章绪论1.1.2现代设计方法学与EDA技术随着集成电路制造业的飞速发展和半导体产业的三次变革,传统的设计方法越来越受到严峻的挑战。每年设计技术的进步大约滞后制造技术20%。在器件的特征线宽进入纳米量级以后,这个矛盾显得越发突出。主要表现在系统的集成度越来越高,使得单个芯片的复杂度成倍提高,随之而来的是设计周期无限期增加,时序的收敛问题更加棘手。从而使得IC(集成电路)的设计不能满足制造的需要,传统的自顶向下设计方法受到极大的挑战,为了弥补和这两者之间的鸿沟,一系列崭新的设计方法被提了出来。图1.2给出了集成电路产业中集成规模与设计能力之间的剪刀示意图【l‘1引。/,.J。/58w年/-/集成规模絮尊jr—r』,./‘7L▲二_,,.,‘⋯一⋯夕/kt一轧一≮。一“一一⋯彳坷一柑‘一’一’\21w年一+设计效翠增长生嚣怒A翥矗^至vⅡ藉撷苯疃f;}篁联言“~鹭七 4基于IP核的SOC设计关键技术研究方便的移植。软IP组件使设计者无须对子模块做任何的改动,只须通过重新配置可复用的对象,就可以快速的完成对新工艺的升级。在引入IP核以后,IC设计的概念一举跃入SOC时代。这种基于平台概念的设计技术可以很好的弥补设计能力和制造规模之间的鸿沟。在SOC时代,设计方法学有了很多不同与以往的特点。在基于单元(cell-base)设计阶段,主要考虑门级模块之间的延迟对设计的影响,称之为时序驱动的设计(TDD,Timing—DrivenDesign)。随着SOC概念的提出,以lP核复用为基础的设计(IP.Based)逐渐流行,产生了基于IP核的设计方法(IP.BasedDesign),也称为基于模块的设计方法(BBD,Block.BasedDesign)f1·B】。在应用IP核进行设计的过程中,人们进一步研究在开发完一个产品后,如何尽快开发出其系列产品,这样就产生了基于SOC平台的设计技术(PBD,Platfoml.BasedDesign)。图1.3给出了设计方法变迁的过程。ASJConDSM邮眦腓LogicSoRI厂FIPSRAM妒CoreROMDataATMROMCacheSerialI斧MPEGRAMLogicS20啤.全恶PlugandPlaywithaFewlPs§;美‰≈并a谎;TDDBBDPBD个体复用:来源:个体复用:虚拟器件:设计者个人前期◆模块级简单功能◆预先设计的功能◆特定功能,即插即用的设计实践复用的复用包模块复用可集成的模块复用偶然的-P复用..二夏j二琴透三二二二二玉j蚕匿亚E戛亘]图1.3集成电路设计方法学发展变迁设计方法的进步推动设计工具的改进,在微电子技术和计算机发展的带动下,电子设计自动化(EDA,ElectronicDesigllAutomation)也得到了快速的发展,从早期的图形编辑、设计检查阶段,经过模拟验证、逻辑综合,布图布线,进一步向集成化发展,到现在的电子系统层次级(ESL,ElectromcSystemLevel)设计技术。现在的EDA工具支持从高层设计开始,使用标准化的硬件描述语言(如verilogHDL,VHDL)、SystemC语言来描述被设计的电路的行为特性,自顶向下 第一章绪论地跨越各个层次,完成整个设计。微电子行业的需求变化推动了设计方法学的演化和EDA工具的发展,从中我们不难推断新阶段的设计技术需求。图1.3给出了半导体技术各个发展阶段的关键技术及其设计方法。1.1.3SoC技术与IP核SOC技术是ASIC设计方法学中的新技术,是指以嵌入式系统为核心,以IP核复用技术为基础,集软件、硬件于一体,并追求产品系统尽快面市的集成芯片。狭义地理解可以将它翻译为“系统集成芯片”,指在一个芯片上实现信号采集、转换、存储、处理和I/O等功能,包含嵌入软件及整个系统的全部内容;广义地理解可以将它翻译为“系统芯片集成”,指一种芯片设计技术,可以实现从确定系统功能开始,到软硬件划分,并完成设计的整个过程【l_4以·17】。SOC最早出现在20世纪90年代中期,在集成电路进入专业分工时代,SOC由于可以利用已有的设计,显著地提高设计效率,因此发展非常迅速。而SOC的迅速发展是市场和技术共同推动的结果。从市场层面上看,人们对集成系统的需求也在提高。计算机、通信、消费类电子产品及军事等领域都需要集成电路。例如,在军舰、战车、飞机、导弹和航天器中集成电路的成本分别占到总成本的22%、24%、33%、45%和66%11.1引。随着通讯行业的迅猛发展和信息家电的迅速普及,迫使集成电路厂商不断发展IC新品种,扩大IC规模,增强IC性能,加快IC的上市时间(TTM,Timet0Maurket),同时还需要实现品种的通用性和标准化,以利于批量生产,降低成本。据IDC预计,SOC销售额将从2002年的136亿美元,增长到2007年的347亿美元,年增长率超过20%。从技术层面上看,微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高,工艺特征尺寸的缩小和芯片面积的增加,导致布线层数和I/O引线也有所增加,这使得将微处理器、存储器、DSP和各种接口集成到一块芯片中成为可能。同时计算机性能的大幅度提高,使很多复杂算法得以实现,EDA综合开发工具的自动化和智能化程度不断提高,为SOC设计提供了不同用途和不同级别的一体化开发集成环境【1·19-1·201。而硬件描述语言HDL(HardwareDescriptionLanguage)的发展则为电子系统设计提供了建立各种硬件模型的工作媒介11.21小231。这一切都极大地促迸了SOC的快速发展。而作为SOC基本元素的IP技术,同样得到了快速发展。lP核复用技术IP(IntellectualProperty)核是一种预先设计好,已经经过验证,具有某种确定功能的集成电路、器件或部件【L13^14】,是SOC的设计基础,有三种不同形式: 6基于IP核的SOC设计关键技术研究软IP核(soRIPcore)、固IP核(fi肿IPcore)和硬IP核(hardIPcore)。1.软IP核软IP核主要是基于IP模块功能的描述。它在抽象的较高层次上对IP核的功能进行描述,并且已经经过行为级设计优化和功能验证,通常以HDL文本的形式提交给用户,文本中一般包括逻辑描述、网表,以及一些可以用于测试、分析、综合,但不能物理实现的文件。使用软IP核,用户可以综合出正确的门电路级网表,进行后续结构设计,并借助EDA综合工具与其他外部逻辑电路结合成一体,设计出需要的器件。虽然软IP核的灵活性大,可移植性好,但同硬IP核相比,因为它不含有任何具体的物理信息,所以如果后续设计不当,很可能导致设计失败。另外,后续的布局布线工作也将花费大量的时间⋯41。2.硬IP核硬IP核主要是基于IP模块物理结构的描述。它提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。其优点为,完成了全部的前端和后端设计,已经有固定的电路布局和具体工艺,可以确保性能,并缩短SOC的设计时间。但因为其电路布局和工艺是固定的,同时也导致了灵活性较差,难以移植到不同的加工工艺【l·241。3.固IP核固IP核主要是基于IP模块结构的描述,可以理解为介于硬IP核和软IP核之间的IP核。固IP核一般以门电路级网表和对应具体工艺网表的混合形式提交用户使用。以便用户根据需要进行修改,使它适合某种可实现的工艺流程m41。近年来电子产品的更新换代周期不断缩短,而系统芯片的复杂程度却在增长,为了缓和这一矛盾,SOC设计普遍采用基于IP模块的设计方法。因为IP模块是预先设计好的,并通过了验证,设计者可以把注意力集中于整个系统,而不必考虑各个模块的正确性和性能,这除了能缩短SOC芯片设计的时间外,还能降低设计和制造成本,提高可靠性。IP核复用技术使芯片设计从以硬件为中心,逐渐转向以系统、软件为中心,从门级的设计,转向IP模块和IP接口级的设计。构建一个系统是个复杂的过程,实际应用中,设计者往往到设计的后期才可以明确软件和硬件要实现的功能,系统要达到的性能等具体指标,而这些指标又实际决定了该选择哪个IP模块。一直以来,SOC集成者有一个梦想,那就是能 第一章绪论7够得到一种IP核,这种IP核在设计初期就能够预估性能,而这个预估的结果能够在物理实现的时候,仅仅简单的调整就能达到开始系统设计的目标。1.2课题来源及研究意义自从SOC设计概念提出以来,企业界、研究机构和大学开始尝试探索SOC设计方法和IP核复用技术,有一批chipless类公司从原来的工艺加工厂商(foⅥldw)和无工厂(fabless)类公司中脱颖而出,如删公司、MIPSTechnologies、Ra吼buS及ⅥrageLogic公司等,他们依靠授权IP核而生存,成长。以深亚微米工艺和基于IP核复用的SOC设计技术为支撑的系统芯片技术已经成为国际超大规模集成电路的发展趋势和二十一世纪集成电路技术的主流。经济建设、国家安全和社会信息化的需求为集成电路产业提供了前所未有的广阔市场空间和难得的发展机遇。正因如此,国家863计划专设了超大规模集成电路专项,“重点启动对经济建设、社会发展和国家安全有支撑作用的SOC平台技术和典型品种开发,择优滚动支持具有共性意义的集成电路IP核,支持具有前瞻性的SoCEDA技术和工艺模块技术”,其中,SOC设计技术、平台建设以及关键IP核更是其中的研发重点。图1.4给出了SOc设计方法学的结构副1‘1。刀【1·18】。SoC设计方法学软硬件协同设计技术II'设计重用技术Il底层设计技术系统描述软硬件系统仿真与验证技术黾核的设迂验逛测试技术口基于平厶口的设计重用技术时延驱动的高层次综合技术可重构计算技术图1.4面向SOC的研究内容:‘一’‘:由图1.4可以看出IP核是SOC的基础,其设计技术主要可分为基于m核的●模块级复用和基于平台的系统级复用。主要包括口核的设计和IP核的使用。m,:核的设计目标是实现即插即用,但目前离这个目标还有较长的距离。IP核设计除一低功耗高层次设计技术一一结合底层的建模\分析技术一一基于H,核的设计重用技术,㈦一一基于_,核的接口综合与集成,一一一软硬件协同综合技术一一软硬件划分技术一 基于IP核的SoC设计关键技术研究了需要考虑具体功能之外,还要考虑可复用性、可测性及测试的可复用性。IP核质量是IP核最重要的因素之一,必须是可复用、可配置和可升级的,而且IP核升级应符合可复用标准以确保升级后IP核的可复用性。IP核接口的有效通讯一直是困扰SOC集成的障碍。传统的IP核在接口方面只是建议约束在AMBA、WishBone等一些现有的片上总线协议上。然而,这些协议相互并不兼容,而且并不是全部端口都同步输入同步输出,加上SOC设计通常采用深亚微米技术实现,设计规模巨大,IP模块间延迟较大,这就导致了在SOC集成时出现一系列问题。不一致的接口规范,常常使得SOC集成设计师需要增加总线桥进行接口信号转换,才能完成IP核间的可靠通讯;这种增加总线转换的处理技术在时序布局时却经常导致布局布线多次反复而难以收敛,难以匹配设计约束,有时候甚至不得不引入高速时钟来进行时序修正;此外,不同IP核经常工作在不同时钟频率,使得在IP核之间数据传输不同步。在设计复用技术的推动下,基于IP核的接口综合与集成将逐步成为研究的热点。接口综合在不同的年代赋予了不同的意义,从20世纪80年代末不同单元块(Block)间接口逻辑电路的生成,到90年代中不同组件间固定转换电路的使用,到现在不同IP核间自适应接口电路的设计,使接口综合技术得到了相应的发展。特别是在当前以IP核复用技术为主的SOC时代,接口综合的地位越显突出,它已成为SOC设计中的关键技术之一。中国有着巨大的市场空间,数字电视、手机及计算机等的市场需求巨大,许多产品产量占世界前列,然而目前几乎所有的核心技术都掌握在外国公司手里,市场是我们的,而技术却是别人的。从市场需要来看,未来的IC设计是SOC的设计,一家公司很难具备系统功能需要的所有知识,开发出SOC所需要的全部模块。同时新的市场增长点不断涌现,产品更新换代速度的不断缩短,使用其他公司设计的IP核成为必然。因此,国家科技攻关项目、国家863计划和国家自然科学基金近几年来一直致力于SOC设计中基础问题的研究和解决,这其中包括IP核设计问题、IP标准、SOC平台等研究项目。而信息产业部的电子发展基金、国家集成电路专项基金、国家863计划、国防方面的项目、地方政府SOC专项等都有IP核和SOC相关技术研究项目。2002年国家863计划集成电路设计重大专项基金中就支持了23类共63个企业的IP核开发。本课题依托于国家863计划项目“USB2.OIP核设计’’(项目编号:2002AAlZl310),“基于IP核的SOC平台设计关键技术"(项目编号:2004AAlZl310),“USB2.OIP核推广平台建设"(项目编号:2005AAlZll93),以及著名企业委托开发的常用外设IP核开发、高性能微控制器IP核项目支撑,重点对SOC设计技术、基于弹性时序接口(t11ebaSedTimingPaddedceUIPCoreResynchronous)IP核设计技术、IP核复用技术、可配置参数化IP核设计技术进 第一章绪论9行深入研究,并结合USBIP(USBUniversalSerialBus)核的设计,以及高性能微处理器(8位)IP核设计为例进行了该IP技术的实用化研究。这些研究对于我国跟进国际SOC设计技术、IP核复用、ESL设计技术有较大的促进作用,尤其对IP核基于时序弹性接口技术的研究对基于接口设计的SOC技术、基于IP核的快速集成是非常有益的尝试,具有一定的科研价值和产业指导意义。13论文主要研究内容论文研究的对象是基于TPCR的IP核可复用设计技术和参数化可配置设计技术,主要围绕SOC设计技术、弹性延迟再同步IP核设计复用技术、参数化可配置IP核设计技术、可配置微处理器IP核设计技术、可配置USBIP核技术深入研究和探讨。全文主要以软IP核为设计对象进行论述,其部分结论也适用于固IP核和硬IP核,具体研究工作及相关章节安排如下:.,第二章介绍了现有SOC设计方法,设计流程,SOC设计的关键技术,SOC集成对IP核复用、接口、可测性等要求,以及当前SOC设计技术发展趋势与面临的挑战等,从SOC集成角度探讨IP核的设计要求。第三章讨论了IP核的参数化可配置设计方法,提出了基于TPCRIP核的基本模型,该模型规范了IP核设计的接口时序,为IP核非钟控信号增加了参数化延迟单元,对IP核的时序描述进行约束,使得SOC集成者能够在设计初期对IP核接口时序范围初步规划,并能够在集成时无缝接入到SOC中而无需增加粘合逻辑:对钟控信号增加了再同步单元,使得IP核可以可靠地工作在多时钟域系统中;本章还探讨了带弹性接口IP核的设计方法、延迟的描述、对测试的影响,以及基于TPCRIP核的SOC集成设计流程。第四章依托国家863项目“USB2.OIP核开发",应用TPCR技术和参数化可配置技术,分PHYIP核和LINKIP核两部分实现了USB2.0协议。PHYIP核为数模混合电路,采用硬IP核实现,依照TPCRIP核的设计方法,其UTM接口信号配置有弹性延迟单元。LINK口核为纯数字电路,对其可取舍的细分功能如端点数目、端点类型、传送方式等进行参数化设计,给出了通过参数配置裁减功能模块的方法;其接口采用弹性延迟设计和再同步设计,使得IP核支持多时钟域工作,有效扩展了AP端的时钟选择范围;本章还基于SMIC0.25岬CMOS工艺完成了USBPHYIP核,USBLINKIP核综合与版图设计,并进行了流片验证。结果表明,采用TPCR设计方法,该USBIP核接口时序范围较宽、能够适应更多的外部IP时序,参数化配置使得IP核规模可伸缩,能够较好地匹配不同的设计需求。 10基于IP核的SOC设计关键技术研究第五章结合8位嵌入式微处理器()(DMARC)IP核项目,进一步验证了本文的TPCR设计方法和参数化可配置设计方法,研究CPUIP核的可配置设计技术,着重探讨CPUIP核的体系结构,分析其作为IP核的特点,对CPU支持的指令集和支持的外围功能部件采用参数化可配置设计技术,通过不同的参数开关来选择指令集和取舍功能部件;探讨了CPUIP核弹性接口实现以及对CPU测试结构的影响,并对USBPHYIP核、LIⅫ(IP核、)①眦CIP核以及其它IP核(UART、SRAM等)进行了SOC集成验证。结果表明,本文提出的TPCR设计技术,可以有效地加速SOC设计中的时序收敛过程,提高IP核接口时序适应能力;而参数化设计技术,能够增强IP核的伸缩性,提高IP核的可重用性。 第二章SoC集成技术2.1简介SOC一一SystemonaChip,字面意思是把系统放到芯片上,相对于SoB(SystemontheBoard),它是把众多具有独立功能的VLSI系统组合在单一芯片的集成电路,能够提供完整的应用功能。在这里,预先设计好的复杂功能模块(如IP核,虚拟器件,宏模块)是关键。基于IP模块的SOC设计是设计能力追赶工艺制造规模的有效方法。如果我们把系统集成进芯片,可以降低成本,提高性能,降低功耗,同时还能增加可靠性,减小体积。2.1。lSoC设计方法SOC系统功能的实现依赖于一系列硬件(器件)和软件,是软硬件的结合。把软硬件组合起来完成系统功能就是软硬件协同设计。SOC设计过程主要就是软硬件协同设计,通过设计复用完成设计产品。SOC设计首先是定义系统规范,明确系统要求。这一步主要是确认系统的功能,性能,功耗,成本,可靠性,以及开发进度,工作环境,通常由设计人员和市场人员共同制定,构成了早期的系统要求规范。定义好系统规范以后,就可以根据系统规范设计系统的体系结构,构建系统的整体架构,确定系统实现方案,把一系列抽象的设计规范转化成体系模型,然后根据经验和积累选定实现子系统的体系结构,并进行软硬件划分,明确哪些功能由硬件完成,哪些功能由软件承担。最常用的方法就是把系统按照规范分成各个子系统,把这些子系统以某种算法组织起来,构成完整的系统。组织子系统的算法称为模型,而模型描述了系统组成的对象和组织规则。通常,利用模型能够把系统分解成众多的设计对象,规定这些对象的设计规范,并根据系统性能,成本,设计时程等结合设计经验划分硬件和软件。完成软硬件划分以后,还必须定义软件和硬件之间的物理接口和通讯协议,并建立各自部分的详细设计规范。通用的协同设计流程如图2.1所示Iz-1。2‘6J。一旦完成软硬件划分,明确了硬件设计规范(软件设计部分论文不作探讨),就可以根据一系列的设计目标和约束,进行硬件的体系设计。 基于IP核的SOC设计关键技术研究2.1.2SoC设计流程图2.1软硬件协同设计方法SOC因为设计规模巨大,操作的设计元素是具有较大规模的IP核、虚拟器件和宏模块,所以,它需要完全不同与传统的设计方法。传统的Top.Do、Ⅳ11或者Bottom.Up设计方法,已经不适合基于核(core)的SOC设计,主要原因是在核的设计阶段,无法考虑使用核时的所有情况。纯粹的Top.Do、ⅣIl设计方法适用于那些对IP核的使用环境完全预知的情况,而通常情况下,这是无法做到的。由于SOC设计是建立在IP核的基础上的,从整体上看,它具有传统ASIC设计的体系结构思想,需要从顶层进行整体规划,适合Top.Do、^,Il设计思路,从IP核角度看,它已经有了一些完成的底层功能模块,系统设计从形式上看是对这些预先设计模块的组装,契合Bottom.Up设计的内涵,因此,SOC设计方法是把T0p.Do帅设计方法和Bottom.Up设计结合起来,同时考虑物理设计和性能,软硬件协同开发,相互交织迭代的方法。这种设计方法和传统ASIC顺序设计的方法截然不同,它的物理设计、时序设计、硬件设计和软件设计可以并行进行,同时又相互影响,迭代前进,称之为并行交互螺旋式设计方法,如图2.2所示【2·lJ【2。4】。 第二章SoC集成技术SystemDesignandVerificationPhysicaIdesignPhysicalSpecification:Are孔power,cIocktreedesiqmPreIImInaryfloo巾l柚⋯。{⋯⋯·noOrpIans..·一.jl广......Revision:arcaPowerand--n9掣孵⋯·币mingSpecification:I/otimin吕clock丘℃auencvBIockleveItiming⋯~专⋯一BlocksynIhesisandpIacementTop·IeVeIsvnthesisHardwaredesi2nHardwareSpecifjcatiOn1瓠kallocation卸dalgorithmdevelODment⋯~专⋯一Partitionintosub.block⋯~专⋯一BIockverificationTop—leVeIHDL⋯一专⋯一T0p.IeVelverificationSoftwaredesi2nSOnwarCSpecificationAppIicationprototype卸dusecaseanalysis⋯一专⋯⋯·Applicationprototypetesting⋯一专⋯⋯·JSecasedesign绷dcodedeVeIopment⋯·{⋯⋯一ApplicationandusecaSetestIng⋯一专⋯⋯·Application柚dusec罄etesting图2.2SOC并行交互式设计流程在这个设计流程中,体系设计是基于软硬件协同开发的,而VLSI设计需要同时考虑分析和优化面积、性能、功耗、噪声、测试、工艺约束、互连线、连线负载、电磁兼容,以及封装条件。设计过程的第一部分包含一系列规范的开发和验证,规范要反复推敲细化,直到能够根据规范进行RTL设计。规范应该单独完成,通常有两种形式:形式规范和可仿真规范。形式规范用于比较设计过程中各个阶段不同级别抽象层次之间的正确性,便于在不同层次之间进行一致性检查。有一些形式规范语言(比如VSPEC)可以帮助我们规范功能行为、时序、功耗约束,开关电容,面积约束和其它参数。然而,这些语言目前仍不成熟,尚没有强大的商业工具。目前,可仿真规范使用更广泛一些。可仿真规范采用抽象的形式描述设计的功能行为,通常是用C/C抖/SDL等语言写的可执行的软件模型,他们和硬件的VerilogⅣ如9L对应。 14基于IP核的SOC设计关键技术研究2.2.1IP核复用技术2.2SOC关键技术复用是SOC设计的关键【2.11。IP核复用被公认为增加设计效率的最快方式,事实上,在芯片设计的历史中,已经有超过20年的设计复用记录,只是不同时期,复用的级别不同。在ASIC设计中,I玎L完成逻辑综合和标准单元的自动布局布线时,复用的是基本单元,是一些门级复杂度的元件。此外,还有一些标准模块的复用,如存储器等。在SOC设计中,复用涉及更高的抽象层次,更复杂的元件。这种基于模块的设计方法涉及模块划分,设计,以及集成等。SOC采用基于模块的体系设计,IP模块只是它的可复用的元件。在现代设计方法中,基于IP模块的SOC设计方法越来越重要,IP模块的设计质量也越发重要,在SOC集成之前,模块的前期准备必须考虑到不同的设计阶段,确保设计的可复用性。这些前期的考量有一些共性的规律阳】。同步设计同步设计风格在基于IP核的SOC设计中极为有用。在同步设计中,数据只会在时钟沿发生改变,采用同步时钟信号能使得时序分析有一个很好的基准,在此基准下,综合器能很好地优化IP电路结构【28】【291。而对每个IP核都通过寄存器连接,本质上,寄存器把IP核进行了隔离,既同步了IP核的接口,又方便应用和测试㈨【2l01。时序时钟是所有电子系统的心脏,其性能和稳定性直接决定着整个系统的性能,在SOC中,每个IP核在数据速率、时钟、时序、时延方面都可能有少许不同,时钟的处理方法是SOC多IP核设计中的关键。任何细微的时钟失配都可能对整个SOC带来重大影响,甚至造成设计失败。因此,鲁棒的时钟域设计是SOC设计、IP核设计所必须的,要提高SOC设计成功率,必须改善m核的接口时序适应能力、调整能力、并且在整个设计流程中操作简单方便。为此,论文提出了基于TPCR的IP核模型,在IP核输入/输出端口建立弹性接口和再同步器,可以很方便地进行IP核的集成和不同时钟域的信号转换⋯o】【2.Il】。片上总线架构片上总线架构是SOC设计的另一个关键。事实上,SOC集成的本质是基于接口时序设计。而相同的总线架构设计因为不同模块有共同的接口而易于管理。 第二章SoC集成技术15因此,片上总线和数据传送协议的设计考虑要优先于内核的选择过程。由于IP核通常是存在于SOC之前的,也就是存在于SOC总线设计之前,因此会出现片上总线和数据传送机制之间的冲突。这就导致了SOC集成复杂度增加,同时整体性能降低⋯21【21引。基于TPCR的IP核在接口上具有弹性延迟单元和再同步单元,采用参数化可配置设计技术,可以方便的调整接口延迟,适应多时钟域工作,能够自由修改和片上总线之间的接口时序(一个时钟周期的调整范围),使得IP核可以适应更多的片上总线协议,从而适应更多的SOC应用,降低SOC集成难度,减少IP核之间的粘合逻辑,改善系统性能。2.2.2lP核物理设计从复用的角度看,物理设计非常重要,尤其对于硬IP核来说更是设计成功的关键因素。软IP核和固IP核虽然并不提供版图形式的设计,但是仍旧需要考虑对后端的物理设计影响。尤其是如下几个方面:1)综合综合的策略需要在SOC设计初期就进行规划,设定诸如面积目标、时序分配、功耗控制等。尤其对于庞大的ULSI(UltmLaLrgeScaleIC),综合工具无法一次采用Top.DowrIl方式完成整个综合过程,需要采取分体系递增式的Bottom.Up式综合方式,整个系统被分割成较小的能够被EDA工具容忍的模块,每个模块都单独完成布局规划,采用独立的连线模型、设计约束进行预先综合。而整个芯片系统的综合只是考虑不同模块之间的连接、驱动(driver)、扇出(fhout)约束和顶层的连线模型。系统集成阶段综合工具通过指令(set“don’ttouch,’)只考虑IP核的驱动等接口信息,而不改变IP核的内部功能、结构、电路,确保IP核满足前期综合的面积、时序、功耗约束【281【291。综合的特点要求软IP核尽可能的内聚,实现高内聚低耦合设计,输入负载明确,输出驱动独立,且易于SOC集成时进行调整。2)时序时序是设计功能正确的保障。SOC由于规模大,采用仿真技术需要耗费大量的时间,因而在物理设计阶段更多地引用和依赖静态时序分析(STA,StaticTimingAnalysis)技术和形式验证(FomalVeriflcation)技术。静态时序分析技术负责电路的建立/保持时间检查(setup/lloldtimecheck),伪路径(falsepatll)排除,竞争冒险(glitch/hazard)探测,时序裕度(ma唱in)分析,多路径(multipath)分析 16基于1P核的sOc设计关键技术研究和时钟斜度(clockskew)分析。这些分析要在PVT(Process,、,0ltage,Temperanlre)规范的整个范围内进行。形式验证完成不同设计层次的一致性检查,避免大量耗时费力的仿真【28】【2-91。和综合相似,时序设计要求IP核接口时序能够方便调整,适应不同的SOC应用需求,在设计初期给出所有输入/输出的相对准确的时序约束,给SOC集成尽可能大的时序预算裕度,减少对后端时序设计的困扰。3)输入/输出(111puts/Outputs)IP核的输入/输出(I/O)是IP核复用的另一个要素。IP核的所有I/O规定必须明确,无论是时钟I/0还是测试I/O,既要规定I/O的类型,也要规定I/O的时序、负载限制、信号斜度(sigIlalskew)范围、噪声容限。这些IP设计阶段的I/O参数会影响SOC集成阶段的相关参数。4)设计有效性与测试验证测试验证是保证设计有效性的主要手段,也是提高设计成功的主要渠道。设计有效意味着设计完成的功能就是设计者想要的功能。SOC设计有效性要考虑硬件操作有效性、软件操作有效性、软硬件协同有效性,包括系统级的功能和性能。在SOC设计中,验证有两个任务:①规格验证(specificationveri6cation),②完成性验证(implementationverification)。规格验证检查系统设计不同阶段中,从一个抽象层次到另一个抽象层次的转换正确性和两个模型是否匹配。完成性验证的目的是验证系统在实现以后能否实际工作。因为设计有效只是证明设计能够像预想的一样工作,完成性验证却是要证明设计能够实际地工作,所以完成性验证要更加困难【2湛J。在SOC设计起始阶段,随着设计规格开发和I汀L(RegisterTransistorLevel)编码,用于系统仿真的行为级模型也同时开发,并针对IHL时序和功能规格定义开发完整的测试包(testsuite)和测试案例(testcaLse)⋯41。测试案例验证R1’L设计和行为级模型,确保设计完成性。在IP核设计阶段,通常要求达到100%的代码覆盖率。2.23IP轭固核设计软核和固核是RTL形式的,便于复用,但是由于物理设计没有完成,在面积、功耗、性能方面没有进行优化。软核和固核作为SOC的基本细胞,其设计流程和传统的VLSI设计的EDARTL综合流程是一样的,如图2.3所示。首先,定义P核的规范,包括它的功 第二章SoC集成技术17能,接口和时序约束,然后进行子模块划分,基于这些划分的子模块,就可以开发每个功能模块的I汀L代码。在写好代码之后,还需要进行时序分析,面积、功耗修正,开发验证Im的测试向量。最好进行子模块集成,建立项级网表,进行功能测试和综合【2·1】【2引。定义IP核规范(功能/接口/时序)开发行为级模型并验证划分子模块子模块功能规范子模块RTLLm卜一———叫综合插入DFT子模块testbench子模块集成图2.3基于RTL综合的软核/固核设计流程。阴影部分为固核需要额外考虑的。对于IP核的规范,要精练准确,能够分解成独立的子模块。IP核规范的目标就是让设计人员能够独立地完成每个子模块的设计和验证而无需参考其它模块。子模块的接口定义要清楚,便于集成。要提高SOC设计效率,降低SOC成本,IP核必须功能定义明确,配置方便,能够适用不同应用场合,同时面积还尽可能小。通常,人们会采用行为级模型作为实际执行的规范,通过行为级模型来表述设计的算法本质,这样,就可以根据这个模型进行测试向量开发,同样,后期的R1’L模型也是对算法不同层次的抽象描述,这两个模型之间可以进行一致性检查。在I汀L编码之前,规范还对时序约束,功耗、面积进行规定,做好每个IP核的细节参数预算。当进行编码的时候,同时完成验证功能的测试向量生成,并进行低努力带扫描的综合,确保时序、面积、功耗满足约束,形成IP的综合脚本,供SOC集成使用。2.2.4IP软/固核集成软核/固核可以是自己开发,也可能是从第三方获得。IP核尽可能是参数化设计的,用户可以根据需要设定参数,生成完整的RTL,在得到I江L之后,口核 基于IP核的SOC设计关键技术研究就可以插入到顶层模块,进行SOC的集成设计。由于软核/固核取得的渠道可能会有不同,设计目的也不是针对当前SOC量身定做,在集成过程中,有时会发现IP核接口和SOC设计规范或者其它模块不匹配,这时通常采用修改核级的RTL模型,进行接口转换,把IP核包装连接到SOC系统。IP核集成到SOC以后,需要进行大量的关于核配置的功能测试,确保最终设计的鲁棒性。当IP核参数最终确定以后,核的配置和约束也随之确定。这时,就可以考虑IP核的测试策略,以及因为测试电路引入而引起对时序的影响。在考虑时序约束时,要考虑DFT(design.for-test)插入扫描,建议对时序做过约束,而功耗分析需考虑不同参数配置的情况【2渴J。2.2.5IP核可测性设计随着集成电路的复杂化,测试问题和成本日益突出,人们不得不从设计开始就考虑测试问题,这就是所谓可测性设计问题。可测性设计DFT(DesigIlForTest)是指为了使测试尽可能简单,而有意识地在设计中加入一定附加逻辑的设计方法。对于SOC来说,由于IP核五花八门,可能是微处理器/微控制器、DSP(DigitaISignalProcess)也可能是一些如modem的特殊功能的IP核,或者是总线接口控制器和接口电路,如PCI(PeripheralComponemInterface)、USB、UART(U11iversalAsynchronousReceiverTransmitter)等,不同的IP核有各自的特点和提供者,使用的测试方法也不尽相同,使得SOC整体可测性设计和内部IP核可测性设计更加困难。目前认为SOC测试面临的主要问题如下Ⅲ】:●时序验证·缺乏扫描和BIST●内嵌的管脚·不同IP提供者提供的不同测试方法●速度测试●访问路径·可控制性●可观测性·DFT(Desi驴ForTest)复用●混合信号测试●缺乏边界扫描●SOC系统同步 第二章SoC集成技术19目前,常用的SOC测试方法主要有三种,即基于扫描设计(Scan-baSedDesign)、打包测试技术(、№pperCell)和内建自测试BIST(Build-inSelf二Test)。1)基于扫描设计基于扫描设计是当前最常用的一种可测性设计方法,它是指将电路中的触发器(Flip.Flops)替换为具有扫描功能的扫描触发器,然后将这些扫描触发器连接起来形成扫描链的一种设计方法。扫描触发器如图2.4所示,通常采用D触发器输入端口加上一个多路器Mux来实现。Din为功能数据输入端口,D叫为功能输出端口,SE为扫描使能端,cIk为时钟输入端,SDi。为扫描数据输入端口,SD伪.。为扫描数据输出端口。当SE=0时,电路工作在正常模式下,触发器为正常功能输入,原来的数据输入Din被存入D触发器;当SE=1时,电路工作在扫描模式下,触发器为扫描输入,扫描输入SDi。被存入D触发器。通常,通过将前一个扫描触发器的数据输出SD。。。链到后一个扫描触发器的扫描输入SDin,所有扫描触发器链成一条或者多条扫描链,构成基于扫描的测试结构Ⅲ6】f217】【2l酊。》DQclk图2.4扫描触发器原理图时序电路可以模型化为一个组合网络和一组带记忆元件(触发器)的反馈,如图2.5中实线所示。这些记忆元件的取值体现了电路的状态,但由于很难控制或观测它们的取值,所以对时序电路产生测试向量很困难。内部扫描就是把这些记忆元件修改为扫描触发器,并连接成为扫描链(相当于可以移位的寄存器),扫描链的输入在芯片管脚可控制,其输出在管脚可观测,从而达到对记忆元件的取值进行控制和观测的目的,如图2.5中虚线所示。通过扫描输入口,可以把需要的数据串行地移位到扫描链中相应的单元,即可以串行地控制它们:同样,通过扫描输出口,可以串行地观测它们,完成内部电路的可测性设计⋯6】【2.17】【2·1剐。 20基于lP核的SOC设计关键技术研究功能输入DiIl扫描输入扫描使能SE图2.5内部扫描示意图功能输出D叫描输出SDom2)打包测试技术IP核在被集成到SOC以后,其输入/输出也就嵌入到SOC中,原本可测的端口失去了其原来的可控性和可观测性,变得不可测,而把所有IP端口都引出到SOC管脚又是不现实的,如何通过SOC的端口访问内部IP核端口就是SOC测试所必须解决的问题。IEEEP1500定义了打包测试(WrapperCell)的概念,采用测试壳封装IP核,如图2.6所示,打包测试结构包含三部分:测试环单元(W}apperBoundaD,Cell)、测试环指令寄存器(WIR:WrapperInstmctionRegister)和旁路寄存器(BR:BypaSsRegister)。图中pi[2:0】、po【2:0】分别为并行测试访问机制TAM(TestAccessMechanism)的输入/输出端口,它们将直接连接到芯片的测试访问机制TAM上;in[3:0】、out[2:0】为IP核功能输入/输出端口,测试环单元直接加在这些输入/输出端口上,在图中以小方块表示;SE(ScanEnable)为测试模式扫描使能端,SI为扫描输入,SO为扫描输出,WC为测试环控制信号f219之211。测试环单元并不改变IP核内部设计,只是包装在IP核的功能输入/输出端口,通过测试环扫描链为核的功能端口提供可控制性和可观测性;测试环指令寄存器控制测试环单元的操作,它是一个移位寄存器,类似于JTAG(JointTestActionGroup)的指令寄存器;旁路寄存器主要是核测试复位模式时旁路指令寄存器,用以加快串行指令传送的速度【2_憎J。 第二章SoC集成技术21图2.6IEEEP1500测试外壳结构3)内建自测试内建自测试BIST是另外一种很重要的可测性设计技术。最初用在类似于存储器这样的规则结构测试上,后来,随着测试算法的进一步开发,也逐渐应用在IP核测试上。BIST的基本思想是给被测电路增加少量测试电路,由测试电路生成测试向量,依靠测试逻辑比较输出结果,判断测试响应正确与否。该技术不要求外部施加测试向量,大大降低芯片对测试设备的要求,而且需要的外部引脚数目很少,其内部结构如图2.7所示【2·冽【223】。图2.7内建自测试原理框图通常,人们把存储器内建自测试称为MBIST(MemoD,BIST),按照存储器分类分为洲BIST和ROMBIST,其结构规则,测试激励生成逻辑和响应分析相对简单,增加的电路规模较小,应用非常普遍。逻辑内建自测试称为LBIST 基于IP核的SOC设计关键技术研究(LogicBIST),其不同的功能实现结构千变万化,测试激励生成非常复杂,目前仅仅是mentof等几家大型EDA公司和设计企业在尝试引入DSP(DigitalSigIlalProcess)技术,来完成IP核的自动测试。23本章小结本章介绍了目前SOC的设计方法和设计流程,着重探讨了SOC设计流程及关键技术及其发展趋势与面临的挑战,以及SOC集成对IP核的要求。SOC的这些技术与挑战对IP核设计给出了多方位的约束,主要涉及IP核的可复用性与复用技术,IP核接口技术与物理实现要考虑的关键因素,IP软核/固核的集成技术,以及IP核的可测性设计技术,这些因素决定了IP核的质量,影响IP核的商业化能力,也决定了SOC集成的效率与成败,得出如下结论:1)要提高SOC设计成功率,必须改善IP核的接口时序适应能力、调整能力、并且在整个设计流程中操作简单方便。2)要提高SOC设计效率,降低SOC成本,IP核必须可配置,精确使用应用场合。由此可见,如何改善IP核接口的适应性和如何实现IP核参数化设计,如何IP核关键技术相兼容而不引入新的设计困扰,这些是SOC面临的新挑战。 第三章IP核设计技术研究3.1引言所谓IP核是指已经设计好的,并经过实际验证的,具有特定功能的,性能优化的电路功能模块。一般包含以下三层含义:1)IP核是一些设计好的功能模块。购买一个IP核所得到的是一些设计数据,而不是实际的芯片。2)IP核是经过验证的功能模块。为了确保IP核的性能可靠,要求IP核必须经过实际验证,能够提供完整的testbench和测试覆盖率,最好有该IP核成功集成的案例,至少也经过某种可编程器件例如现场可编程门阵列FPGA(FieldPro目ammableGate姗),复杂可编程逻辑器件CPLD(ComplexProgrammableLogicDevice)等验证功能正确完备。3)lP核必须经过性能优化,具有商业价值。只有功能正确而又性能优异的IP核才有市场价值。IP核从形式上一般分为三种,软核(SoRCores)、硬核(HardCores)和固核(FirnlCores)恤1J【3·2。。软核是最灵活的IP核,通常以硬件描述语言如Verilog,VHDL,SystemC等形式交付客户,是可综合的RTL级代码形式的IP核。这些IP核没有做工艺映射,不依赖于最终的实现工艺,因此,用户能够方便地将其映射到自己所选用的工艺上,既可以是cell-baSed的标准单元,也可以是门阵,甚至FPGA,可复用性很高。此外,由于软核的交付形式是代码,使用者完全拥有源代码,可以根据需要,对源代码进行裁减、修改、优化,生成自己的软核,匹配设计需要,达到整体优化的目的。然而,由于软核提供的是RTL级描述,需要进行综合,其性能依赖于SOC集成过程时的综合过程和物理设计,无法准确预测性能,这是保证灵活性所必须付出的代价。硬核是IP核的物理形式,通常是GDSII格式的版图,SOC集成者不能够随意修改。因为已经完成了工艺映射和物理版图,核的大小,形状以及端口位置都是固定的,甚至设计者可以把硬核看作是元件库中的特殊单元。硬核的灵活性很低,可复用性最低,但是正是因为硬核物理设计是经过优化的,有确定的版图和时序,具有不可修改性,所以它性能最稳定,可靠性最高。在提供硬IP核时,除了提供版图信息以外,还必须提供它的仿真模型和时序模型。这些模型是SOC集成时系统性能验证,芯片级时序,布局布线和绘制整体版图时必须用到的。事实 24基于lP核的SOC设计关键技术研究上,硬核的面积,功耗,时序和性能都是确定的,这些特点使得在SOC集成选取IP核时,硬核由于缺乏灵活性而适用范围相对较小,但却可以减少产品开发时间,降低设计风险。换句话说,硬核适合那些对面市时间(time.t0.market)敏感的产品和对时序要求苛刻的应用。固核是完成了工艺映射的IP核,交付形式通常是基于特定工艺的门级网表,包括测试向量,性能估计,’门数估计,以及预布局信息等。固核介于软核和硬核之间,它对性能(如功耗,时序,面积等)的估计比硬核弱,但这种预见性的降低使得它比硬核有更高的灵活性,使用者可以根据需要完成布局布线,核的形状,大小,端口位置,甚至是否需要单独布局,都有用户设计决定。和软核相比,因为固核是基于特定工艺的,所以其性能,面积等预测更可靠。但是固核也有其自身的弱点,既实现工艺的相关性以及网表的可读性差。工艺相关性限制了固核的适用范围,也限制了用户对口核的裁减和修改;网表的可读性差使得用户在时序收敛时,排查错误不如软核方便快捷。表3.1给出了三种m核的主要优缺点。表3.1三种IP核之间的特点比较软核固核硬核性能可预测性低中高提交格式RTL描述指定工艺门级网表版图(GDSID代价低中高工艺相关性弱相关相关紧相关优化程度低中高灵活性高中低需要的集成努高中低力程度集成时,需要全部的SOC设计时需要使用布能够直接集成到逻辑设计过程局布线工具完成物理设计SOC的物理设计中3.2.1口核的质量评估3.2口核质量评估与选择IP核在SOC集成中的成败取决于m开发者和P使用者。随着半导体工艺技术的进步和SOC设计方法的流行,集成电路设计对IP核的需求量越来越大,强大的市场竞争压力和集成需求迫使P核设计者不断改进商业化m核的质量和可靠性。 第三章IP核设计技术研究对于使用IP核的SOC集成者来说,IP核质量的重要性是显而易见的。为了在较短的时间内完成复杂的SOC系统设计,满足时间——市场(1vrM,Time.to.Maurket)需求,SOC集成者越来越多的使用第三方IP核。然而,他们经常在IP核集成过程中发现设计故障,遭遇低劣的IP核说明文档和无力低效的技术支持,给SOC集成带来很大的困扰。研究指明成熟的代码(在多个项目中使用过较长时间)大约每一千行就会有一个缺陷p。3J。即使是最好的软件开发者,使用最好的设计方法,最好的工具,也只能够消除大约99%到99.9%的故障【34】【3。5】。随着商业化IP市场的发展,更复杂的SOC开发要求IP核提供者进一步提供客户期望的拥有更好质量的IP核。于是一些标准化组织,诸如0IpenMore(OpenMeasureOfReuseExcellence)、VSIA(ⅥrtualSocketInterfIaceAlliance)等针对IP核做了一整套质量要求,用以约束IP提供者,提高第三方IP集成的自动化程度,保证IP核尽可能少的出现错误,并容易集成到SOC【3.¨·10】中。表3.2罗列了Ope洲ore给出的IP核质量评估规范部分条目。表3.2ope州ore定义IP核质量评估规范条目。ComponentQⅡ—lityA鲻嚣sm蚰t:-j。{H“'‘‘·-。_‘。¨‘址∥一~·。州协~~i’7爨。?’ReuSecxpe—enceH簦misVe^ficationmbeensuccess允IlyuSedbefo『eDidtheVerincationIPbehaVeasexpectedHasthisVerifjcationmbeenusedatblockleveIHasthisVe^ficationIPbeenusedatSystemlevelH笛misVerificationIPbeenusedwit}IRTLHaStllisV丽fication口beenuscdwi也agateleVelnetIi熨DUTInte向cesDoestheVerification口conf.onntoapubl.shedstandardinterfkeIs山ecompIetcstandardorspeci6cationsupportedAreallOptionaJfcaturcsrcquiredbytheappIicationsupportedAreunco、,eredfeamresdocumentedArcasynchronousdomainsandeVentsmodeledsatjsfhctorilyConfi伊帅bi】jly柚dP棚et嘶zatjonAreaJlconfigurationp砌IetersclearIydennedandlocatedinonepIaceDocst11eVerificationmuseSeparateteStdatafilesforStimulus,佗sponscArethcsc出曲flIesillas啪dardOfweUdeflnedf0咖atC10cl【S锄dRcsetsScp锄teprocesscsuScdf打clockgeneralion。dalagene豫tion,柚dresetgeneralion.Ifmultjple卿lchrono峪cloclcS,山enaScparateprocessforeachclockgenerationisuScd.IfV阳)L’tIl如buil卜蛔textiopackag船u辩dinteStt唧chesirISteadofuscr.defmedpackagesforrcadingStimuIusfiI嚣.Testbenchesrcad锄d印plyoneVectorOnlyPerclockcycle.Clocl【SusedtosynchronizestimuIusgenera“on.刖ldataappliedoncceve叮cyclebounda口witll笛fcwindiVidualprocesswaitsaspossible. 26基于IP核的SOC设计关键技术研究由表3.2可以看出,Ⅲ核的质量评估分为四个部分:复用经历、DUT(DeviceUnderTest)接口、可配置性和参数化设计、时钟和复位。其中,成功的复用经历是口核设计、验证完成以后,经过SOC集成才能评估,在IP核设计阶段并不涉及。所以,IP核的质量评估主要集中在后3部分。DUT接口要求尽可能支持通用标准接口,并且对标准或者规范的支持是完整的,对异步时序事件考虑充分。可配置性和参数化设计要求所有的可配置性参数定义清楚、配置方便,并且可分别进行验证。时钟和复位要求时钟、复位、数据分别单独处理。对于多时钟域,每个时钟都单独处理;尽可能采取同步设计;一个时钟周期处理一条测试向量。OpeI州ore的规范虽然给出的是评估IP核考虑的因素,事实上,也指出了IP核质量控制的努力方向,即IP核接口设计、可配置性和参数化设计、时钟和复位设计,它们是IP核是否能够高效便捷地集成到SOC的关键。论文后面的TPCRIP核模型以及基于该模型设计的USBIP核和CPUP核以IP核的质量评估标准为指导,着重考虑在接口和参数化设计方面对IP核模型的改进和实现。当然,口核的功能正确性也是IP核质量的关键因素,但是,因为不同的IP核功能定义差异很大,无法规范统一的标准,在规范中以验证和复用经历来保证功能的正确性和可完成性。3.2.2口核的选择有了口核质量评估,SOC集成者就可以着手进行m核的选择。如何为SOC设计选择IP核?这是SOC设计师常常需要面对的问题,究竟哪个IP核对一个给定的SOC项目最合适?如何选择把握交付使用的Ⅲ核和相关产品的质量、以及可靠性等。我们从SOC集成者的角度进一步了解使用者集成时选取软IP核考虑的因素。性能——选什么样的口核由于软核没有完成物理设计实现,因此它天生在功能和实现方面比硬核更加灵活,在性能上则比硬核略逊一筹。不过,随着工艺技术的进步,软核的频率限制随之提高,在多数应用场景软核都可能满足需要。SOC设计者面对浩如烟海的软核库及其提供者,如何选取适合设计的软核是他们面临的二个问题。软核通常都能够完成给定的功能,但是不同的口核提供者提供的口核会有不同的特点,考虑到SOC的整体环境,人们首先要求功能、性能满足需要,同时还会关注m软核的其它特点,比如可移植性,参数配置能力,接口时序标准、文档支持等。软核的优势之一是技术独立的,也就是说,Verilog或VHDL不需要使用一种 第三章m核设计技术研究27特定的工艺技术或标准的单元库。这意味着同一个口核能够应用到多种设计中,或者现有设计的下一代中。比较软核技术独立性是选取软核的考量因素之一。速度腼积/功率优化对于要实现的技术来说,不同Ⅲ核设计理念不同,目标也不同,有的仅仅针对一组目标而优化,有的采用可配置参数化设计,支持功能裁减和不同目标优化,其运行速度、面积、功率会有较大差异。如果目标是在合理的性能上使芯片面积更小,那么对于这种应用来说,为高度可靠性能而优化的单一目标软口核可能就太大了。因此,软核尽可能是选取能够被“应用优化”的。为适合特定的嵌入式SOC设计,时序、面积和功率目标可能需要进行调整。例如:如果SOC使用200MHz的时钟,那么设计运行在500M№的软IP核可以改为准确地运行在200MHz上。这在得到更小尺寸和更低功率的同时满足了设计约束。对于I,o接口时序,也尽可能选取通过I/O约束就可以进行时序调整的P核,以准确配合内核的使用环境。可定制性软核还具有另外一个特性:编译定制化。这也是口核选择的一个重要考量。具有实现之前的设计配置选项。比如高速缓冲存储器的内存大小就是一种常见的编译时用户定制项目。根据特定嵌入式应用所需的高速缓冲存储器的大小,软核处理器能够精确地被配置。另一种在许多软核中应用的定制项目就是指令专用,或选择性支持某种特殊指令。例如,一些SOC可能需要对外部协处理器的支持。然而,在一些不使用这些特性的系统中,多余的硬件可以从软核中去掉,以节省面积和功率。软核还可以包括实现配置参数。这是一种特殊的编译定制,可帮助软核更好地配合SOC团队使用的设计风格。例如,微处理器内核经常通过使用门控时钟电路来实现,但这种时钟不能与某些时钟布线工具很好配合。如果处理器内核可提供一种将所有门控时钟变为相应的多路复用器(MⅨ)的编译设置,SOC集成实现将更为容易。易于集成SOC集成者必须设计逻辑,以便与不同信号和口核协议进行接口。为了确定其设计是否正确,口核提供商能够提供接口检查器模块,以验证所有接口信号和协议的正确运行。它既可能与确认不变的静态信号一样简单,也可能像验证多周期总线协议的正确运行一样复杂。优秀的m核设计提供能够自动验证给定接口处理类型是否正确运行的检查器,大大简化了SOC团队的工作。在一个非法处理的情况下,检查器应该报告错误,使SOC设计师能够容易地查明有缺陷的逻辑并 基于IP核的SoC设计关键技术研究排除故障。接口检查器必须在SOC设计环境中准确工作。它们应该能够非常容易地整合到功能仿真中,而不是以一种实际硬件的形式出现。上述要素是SOC集成者决定是否选择某IP核要考虑的关键要素,IP核要实现这些要素,参数化可配置设计是目前最有效的方法。当然,选择口核除了考虑上述要素以外,还有其它一些问题,比如文档的完整清晰、仿真模型精确高效、EDA工具支持全面、EDA脚本使用简单、验证简单快捷、高效的软件协同以及良好的维护与支持等都是需要考虑的。3.2.3传统IP核面临的挑战SOC是基于IP核的设计,通常是将一个系统按照功能划分成若干模块,然后把功能模块映射到设计好的P核,并将这些m核集成为一个具有特定功能的芯片。这种基于核的设计思想核心就是口核复用,让系统设计者更多的把精力集中在系统结构,而不必限于模块实现,从而使得系统的设计复杂性大大降低。但是IP核的复用决不等同于传统意义上的标准单元使用,它涉及的内容几乎覆盖了集成电路设计中所有的关键问题,并有自己新的特色。在SOC设计中,IP核主要有两种挑战:一是IP核在SOC中的物理实现,尤其是时序问题【3.11】【3.12】;二是IP核自身的可复用性。这些挑战使得IP核在集成时可能碰到如下问题p.6】【3朋】:●集成SOC涉及大量不同种类,不同来源的IP核的集成。这些IP核必须很好的和其它部分协调工作,完成系统功能。由于这些模块有各自的接口和I/O协议,常常必须开发一种接口,它使得系统所有部分能够平滑而有效的连接并协同工作。在目前的SOC设计实践中,集成是设计周期中的关键环节。常见的SOC架构有√蝴BA,CoreCorulect,WishBone等,但是这些现有的口连接架构还远远不能满足SOC设计的需要,尤其异构的多处理器内核,多线程,高性能高带宽应用需求中,已有的总线架构更是捉襟见肘,无法满足设计目标,而随着SOC设计中使用的m核数目的进一步增加,m核的有效集成问题必将更加突出。·IP核的建模IP核的建模和描述是IP核设计面临的另一个主要问题。SOC集成者必须考虑相关P核的质量和在设计中使用该IP核的潜在风险。首先,P使用者需要不同抽象层次的各种仿真模型,这些模型具有时序和功耗等参数描述,同时还有针对这些层次开发对应的算法。这个过程面临很多不同的问题。例如模块的功耗依赖于综合的结果和输入向量。当P核集成到SOC时,依据系统环境进行功耗估 第三章IP核设计技术研究计才有意义。因此,就需要一个精确的模型来根据输入向量计算它的功率消耗。对于可配置IP核,相对应的各级别模型必须也是可配置的。●缺乏对性能的预见性传统的IP核很难确认是否满足SOC系统规范的性能指标。而IP软核的可预测性受很多因素影响,其中目标映射库影响最大,对延迟的影响可达30%以上,而超深亚微米设计中,布局布线的内部互连线对性能也有很大的影响。◆漫长的SOC集成时间开销。由于IP软核需要综合,物理布局布线,还需要验证时序,这些过程经常需要多次迭代、反复尝试优化,才能够达到预期目标,花费较长的时间,影响SOC设计整体进度。·理解IP核常常也花费较大的力气,甚至比遵照规范写RTL代码需要的时间还.多。●IP核的产权保护IP核具有很大的商业价值,且容易被盗用,如何保护P提供者的合法权益,也是m核面临的一个重要课题。IP核面I临的这些挑战限制了P核的使用,同时也常常导致了SOC设计一次成功率的降低,是IP核急需解决的问题。33口核参数化可配置设计IP核拥有良好的可复用性是其生命力的一个关键因素。为了提供最大范围的应用,满足许多不同设计的需要,提供最好的复用收益,可配置性对IP核是必须的。从上节可以看出,SOC集成者选择口核考虑的诸多要素大都涉及到疋核可配置,可裁减,要实现IP核的可配置,参数化设计是很有效的实现办法。参数化设计可以贯穿IP核的各个部分,既可以通过参数配置功能模块,也可以通过参数定义接口类型。从定义结构考虑,可以把口核配置参数分为接口参数和功能参数。从实现机理分,P核配置参数则可以分为静态参数和动态参数。静态参数是指在SOC设计时,一次性设定不再改变的参数;动态参数则是在SOC设计过程中需要根据环境进行现场(在m核插入时配置或者根据寄存器配置)配置的参数。它们的共同目的都是增加IP核的柔性,扩展其适应范围,使得客户可以根据需要裁减IP核的特征功能,设定其性能,控制m核大小,使得D核尽可能精确匹配用 30基于lP核的SOC设计关键技术研究户的设计目标【3·11【3.14】【3.15】。33.1参数化设计IP核的存在意义是为了复用,和以往为了单一目标而优化的内核不同,IP核设计针对不同的SOC应用环境,是多功能、多接口的多目标优化。参数是在设计复用时能够改变的值,是调整功能、选择接口的设计途径,当设计复用时,这些参数需要具体设定。采用参数化设计的IP核通常试图成为涵盖范围尽可能大的设计方案,对协议、规范、功能定义尽可能完备,通过参数的改变可以实现协议裁减、功能选择等,提供m核的柔性实现。接口参数接口参数配置IP核的接口形式和时序:接口参数通常出现在HDL源代码中,在SOC集成设计例化IP核时,这些参数必须被作为全局变量一次性设定,是静态参数,主要规定IP核接口的特性,比如,工作模式,数据位宽、数据空间(地址位宽)、时序(延迟参数)等。功能参数功能参数定义IP核的功能配置。功能参数也在HDL源代码中设定,控制功能的裁减、实现方式等,其一种可能是一些功能模块的开关,设定在IP核实现时是否包含某些功能,在SOC集成时,作为全局变量一次设定,是静态参数;另一种可能是功能的实现方式定义,这些参数是在SOC集成插入IP核时动态配置,或者在SOC设计时作为设计的一部分把参数保存在配置寄存器中,由配置寄存器确定IP核的具体实现,这种配置参数就是动态参数,也叫运行可配置参数。33.2参数再配置参数化设计的口核,在集成到SOC时,需要根据应用进行参数配置。HDL设计方法支持实例属性或者参数,代表诸如数据宽度、深度、寄存器数目、Cache大小等一些特定的值,这些值可以在集成时,通过综合编译来最终确定。如图3.1所示,内核功能是可裁减的,其功能特征、工作模式分别对应到关联的参数,在应用时,通过配置这些参数来控制功能特征是需要还是去除,在综合编译时就可以生成用户SOC所需要的功能,去除不需要的逻辑,降低芯片尺寸和功耗。对于处理器,可配置设计使得系统设计者可以根据需要仅仅配置应用所需要的功能特征(指令集、寄存器、堆栈、中断响应等),能够通过定义扩展处理器的功能,甚至可以不用直接修改处理器的HDL描述而能够添加一些新指令。可配置IP核给 第三章IP核设计技术研究系统设计者提供了大量可配置参数,系统设计者通过这些参数就能够针对具体应用定制处理器,可以是超小的特定用途的专用处理器,也可以是可编程的功能强大的处理器系统。通过参数配置,可以迅速优化性能和面积,获得比固定配置IP核面积更小、功耗更低的优化方案⋯】【3|15】。图3.1IP核参数配置3.4基于TPCR口软核设计技术从3.2节可知,从SOC集成角度来看,在目前的IP核设计中最大的挑战在于IP核的“应用优化”,即在完成功能的基础上对内核应用环境的准确匹配。其核心是IP核的接口设计和可配置设计。接口设计是指在SOC集成时,内部各个IP核如何进行有效的数据通讯,协同工作,完成给定的功能。而这个问题对于SOC来说,本质上是体系架构问题,而对于P核来说,则是接口及其时序的适应性问题,是论文研究的重点之一。事实上,由于IP核时序的影响,导致目前基于IP核的SOC设计依旧处于高风险、低一次成功率(一次流片成功率低于45%)的尴尬境地p_岫J。可配置设计原则上是IP核功能尽可能进行细分,多采用参数化设计,能够根据应用需求自由裁减功能模块,精确匹配应用环境⋯6】【3肿1。论文提出了一种基于TPCR的IP核模型,并针对这个模型对原有IP核设计流程和SOC集成流程进行了改进,该模型能够简化SOC集成的复杂度,减少粘合逻辑,提高IP核时序适用范围,并且能够较快的提高SOC集成的收敛速度,有效降低SOC开发风险。第四章和第五章,采用该模型和改进后的设计方法研究了广泛应用的USBIP核和CPUP核参数化可配置实现技术,并进行了SOC集成验证。3.4.1口核模型的时序困扰SOC设计的基础是IP核复用和SOC片内总线架构。广泛的多功能IP核和特定的客户逻辑通过SOC总线连接,进行数据通讯满足用户产品开发的需求。在引入IP核模型之前,我们先看看典型的SOC结构和IP核将面临的系统环境,如图 32基于IP核的SOC设计关键技术研究3.2所示,它是由一系列m核组成,这些IP核各自完成具体领域的特定功能,如信号处理(DCT:Dis硎eCosim1’|aIlSf0咖,FFT:FaStFourier1’rallsfom),通讯(USB,PCI),多媒体(MPEG2,MPEG4,四EG)等。SOC设计师通过复用那些经过验证的IP核,利用一定的总线连接结构在Ⅲ核间建立通讯,并加入客户的专用逻辑来构建SOC系统。在实施过程中,设计的核心工作不再象传统意义上的ASIC(ApplicationSpecificInte芦atedC№uit)那样专注于某个新功能的设计实现,而是着力于如何有效地规划各个IP核的时序,成功地集成多个经过验证的软硬件模块,设计成败的重点转移到了P核的时序设计上来。如何把验证过的IP核有效地集成到SOC中去,是现代SOC设计方法学研究的焦点问题。口高速IP口低速IP圆用户逻辑图3.2典型的SOC结构事实上,由于如图3.2节所述的挑战,基于IP核的SOC快速集成仍旧未能如人们所愿而成为现实,虽然IP核预先已经经过验证,但是,这并不意味着简单地把它们连在一起系统就能够满足设计要求而正确的工作。没有经过严格时序设计的系统,即使部分功能能够正常工作,性能也会急剧降低,经常单独运行可以达到400MHz的几个IP核在集成后,却只能运行在不到200M}lz的频率下。为什么会出现这种情况呢?经过深入的分析、验证,认为要提高系统的性能,成功有效地把m核集成到SOC系统中,需要设计师充分理解IP核的功能和复杂的接口特征,针对功能需求,选取合适的结构,并在时序方面需要面对和着重要考虑以下问题⋯8】【3·191:1)对于多时钟域,不同时钟域之间的IP核如何可靠的通讯?在SOC设计 第三章lP核设计技术研究33中,不同协议、标准之间规定的时钟频率不同,可能出现IP核之间、IP核与系统之间时钟频率不同且不同步的情况,这就出现了多时钟域问题,不同时钟域之间如何快速可靠的传递数据是SOC体系设计顾忌的问题之一。2)同一时钟域内部或者一些非钟控信号,IP核端口时序如何预算、如何进行设计时序约束,也困扰者集成设计者。由于协议规定,IP核自身负载、时序需求以及布局布线等原因,在不同IP核(尤其是布局布线之后)之间形成差异较大的内在时钟延迟,如图3.3所示,图中脉冲沿前面的虚线部分为IP核内部的时序延迟,也即信号从IP核端口传递到IP核内部寄存器所需要的延迟时间范围,脉冲位置表示IP核内部寄存器采样时刻,在软IP模型中,没有该部分信息,时钟树只能做对齐约束如图3.3(a)。事实上,完全可以利用IP核时序延迟要求的差异,设定时钟树的布局约束,进行时钟树的差异性布局,以利用这些时序差来提高系统时钟性能,如图3.3(b),对于自身延迟较小的IP核,其系统时钟可以较晚到达,而自身延迟较大的IP核,靠近时钟树起点布局,系统时钟较早到达,从而降低大规模SOC设计中时钟树的布局开销。-—-—-.-’clock雾;融莲爿c10ckdelay几采样脉冲————-.卜clockI卜-————-—-‘1:¨.⋯⋯一Tp’●}’_·___-l。L·1r⋯J口3I}。··____I—I}-—----·一L--1;⋯JIP5|..\I-_______-__-一l二clockdelay几采样脉冲图3.3(a)不同延迟IP核对齐时钟树布局(b)不同延迟IP核差异性时钟树布局3.4.2TPCRIP核再同步模型1)传统的口核模型传统的Ⅲ核描述了特定功能的器件行为,通常采用硬件描述语言实现,由四部分构成:算法操作处理单元,存储管理单元,控制单元和接口单元。这些功能单元可以是R1rL级的硬件描述或者是行为级的高级语言描述,经由综合工具映射到具体工艺,完成口核的集成。P核完全是孤立的,没有时序信息,其接口优先考虑的是实现口核功能,没有充分考虑接口时序的可配置性,设计者无法在综 基于IP核的SOC设计关键技术研究合前对Ⅲ核集成后的性能作出评判,只能根据经验判断和选择,或者在SOC集成时发现不能满足时序要求,再进行更换,选择更高性能的IP重新进行设计、.集成、验证过程,经常需要重复多次流程,才能够找到合适的P核协同搭配,花费大量的时间人力,极大的影响了SOC集成设计的收敛速度∞ol【3’21】。另外,在SOC设计中,传统的IP核不包含时序信息,而仅仅只是功能描述,这给后期F100印l蛆、布局布线和时钟树设计造成很大困扰,时钟树需要按照最苛刻的m核时序要求来约束,形成短板效应,造成SOC整体性能上不去。实际设计中,也常常因此而造成明明是功能正确、性能也满足要求的IP核,可是集成以后却偏偏无法正常工作,不能形成商业化的SOC产品。2)TPCRIP核再同步模型针对IP核面临的这种尴尬境地,目前,国际上很多SOC设计企业、P核提供商、EDA厂家、集成电路研究机构都投入很大的人力物力进行探索,试图寻找有效的解决办法。针对P核的时序困扰,本节对P核接口设计进行了探索和尝试,提出了一种基于TPCR的IP核再同步模型,在不改变P核原来功能的基础上,为IP核接口增加了弹性延迟模块和再同步模块,增加IP核时序适应能力和时序预估能力,降低对外部接口部件时钟信号频率的限制,简化综合约束和STA复杂度。基于TPCR的IP核再同步模型有两部分组成:弹性延迟模型和再同步模型。弹性延迟模块用于m核接口时序可调整,再同步模型用于IP核多时钟域通讯和异步信号通讯。IP核弹性延迟模型IPPCM(IPPaddedCeuModel)就像触发器要求建立保持时间一样,IP核同样有自身的输入/输出时序要求,而且要复杂得多。在SOC设计中,与系统时钟同步的IP核由于系统延迟,为了满足IP核自身的时序约束和不同IP核之间的协调工作,通常需要修正时序,进行再同步,而在现有的IP核设计中,并没有附带必要的时序信息,导致的结果是由于无法在设计早期进行性能分析,常常在前期系统设计的时候,功能完全正确,但是在后端布局布线设计时IP核时序却无法收敛而导致设计过程反复甚至设计失败,或者因为m核时序和SOC集成系统的时序差距而不得不在集成时增加一些粘合逻辑,增加布线难度和不确定性。如果能够在SOC设计初期,在系统描述阶段能够给出接口时序范围,评价口核的性能,并能够在布局布线以后经过简单操作就完成时序调整,无疑可以极大的提高设计成功率,这就需要增加Ⅲ核的时序信息,建立相关的时序模型。IP核接口由两类组成,一类是钟控的接口信号,即输入信号首先由时钟信号采样,然后在在口核内部使用,输出信号由寄存器直 第三章IP核设计技术研究35接输出,中间没有组合逻辑;~类是非钟控信号,即输入信号经过一定的逻辑操作才由时钟采样到寄存器,输出信号由组合逻辑运算输出。P核弹性延迟模型为每个输入/输出信号增加了弹性延迟单元,如图3.4所示,IP核弹性延迟模型包括两部分,用于时序性能调整和定义的弹性延迟单元(FDU,Flexibili母DelayUnit)和实现设计功能的IP功能描述单元(FCU,FullctionC0dingUnit。该部分即为传统的IP内核,图中IPCore模块)。弹性延迟单元FDU描述接口信号的时序信息,对于非钟控信号,由于难于采用时钟约束来通过EDA工具自动优化时序,故在信号前(输入)/后(输出)加入采用参数化设计的可配置弹性延迟单元,用于调整输入/输出时序,其参数可以在系统设计阶段、仿真验证阶段、布局布线阶段和布局布线以后进行重新配置而无需修改设计。对于钟控信号,增加弹性延迟单元可以在需要时调整输入/输出时序,也可以采用旁路技术旁路弹性延迟单元而直接连接到IP内核。IP核功能单元完成正常的IP功能描述。IP功能描述和时序性能描述合并构成的m核弹性延迟模型IPPCM,使得SOC设计师可以在系统设计阶段考虑IP核的时序延迟要求,从而选择合适的IP核。在IP核弹性延迟模型中,以系统时钟为参照采用如下参数定义IP核内部的时序(为便于分析,此处假设IP核内部时钟为理想时钟):梳。,从输入端到巾核时钟的内部最小延迟TⅡ州一,从输入端到IP核时钟的内部最大延迟T∞l釉∞从IP核时钟到输出端的内部最小延迟T∞Irr一,从m核时钟到输出端的内部最大延迟TP,协议规定的延迟TLd,IP核输入端的负载引起的延迟b,Ⅲ核从触发器输出到Ⅲ输出驱动的延迟Lyife,口核间连线延迟Ld,IP核输入端的负载Dr。IP核输出驱动这些参数采用延迟描述语言DSL(DelayScriptL觚g岫ge)表述。●口再同步模型口RsM(口Resynchmno吣Model)、在多时钟域的SOC设计中,不同m核规范要求的工作频率经常会有差异,一些m核的时钟和系统时钟不同步;或者一个P核本身就要求有多个时钟,其时钟和SOC的系统时钟并不总是同步。在这种情况下,数据在m核内部各自时钟域内分别都是同步的,但是口核之间的数据通讯却是异步的,这时候需要对毋核增加时钟域转换模块,即再同步模块。把从发送方传递的数据同步到接收方的时钟上来,这个转换过程称为再同步,再同步模型结构如图3.5所示。为了在不 36基于IP核的SOC设计关键技术研究同时钟域之间进行可靠的数据通讯,口核的输入接口增加跨时钟域数据转换的再同步模块(RSU,ReSynchrono吣UIlit),再加上IP核延迟模型的时序信息构成IP再同步模型(口l峪M),使得SOC中各个口核之间可以可靠地完成数据传送,而各个IP核则分别隔离在各自的时钟域,便于EDA工具进行时序约束,设计师在SOC时序设计时,可以相对准确地规划p核的时序,在系统设计阶段裁决所选择Ⅲ核的时序鲁棒性。.对于P核问的异步通讯信号,可以当做不同时钟域信号处理,其处理方法完全等同于多时钟域处理方法。图3.4IP核延迟模型b吣IPRSM4“一:靠。—砭§6纠}黑郸{!暾每。,上P£9r9。二黔。≮鬻电萋萎Jt,ClOL^图3.5IP核同步模型3.43TPCRIP核设计实现TPCR口核主要是在原有口核的基础上,在IP核端口引入弹性延迟单元和再同步单元。对于和SOC系统同步的钟控端口,可以采用旁路参数,直接接入IP端口,减少引入的输入延迟:对于异步,或者不同时钟域输入的信号,需要进行数据同步,加入再同步单元;而对于非钟控端口,则需要引入弹性延迟单元。弹性延迟单元和再同步单元可以同时存在,此时弹性延迟单元加在再同步单元外围。下文给出典型的弹性延迟单元和再同步单元的具体实现电路。3.43.1弹性延迟单元设计实现弹性延迟单元(FDU)的功能是实现信号的延迟可调,其结构如图3.6所示。它是通过延迟控制参数来实现延迟的可控。IIl为FDU的输入端,当FDU加在需要弹性时序的口核输入端时,111接入m核外部输入信号,Out和IP核内部的输入端点连接;当FDU加在需要弹性时序的IP核输出端时,hl接入IP核的输出端点,咖作为m核的输出延伸驱动外部信号:(a,b,c,d)为延迟控制端子(论文以四端延迟控制为例说明,实际设计根据需要可以增加或者减少延迟控制端子),根据延迟时间大小需要来设定其值。 第三章lP核设计技术研究图3.6弹性延迟单兀(FDU)图3.7给出了一种延迟单元(DelayCell)的具体实现电路。In为输入数据线,Out为输出数据线。(a/a,b/b,c/c,d/d)为延迟控制端子,其中,(a,b,c,d)为(a,b,c,d)的逻辑反,通过参数设定来控制控制端子的输入值为“O"或者“1”,以调整输出信号的充放电时间,从而实现延迟单元的延迟时间可控。PMOS管P6和NMOS管N6则组成整形器,并把输出翻转成和输入同相位。为了分析方便,设上拉PMOS管和下拉NMOS管为相同特征尺寸,PMOS管“W/L’’是NMOS的两倍,基于CMOS反相器的工作原理,每个晶体管都可以看作是一个由控制端子控制的可变电阻,对于上拉PMOS管,影响信号的上升沿,当控制端子为“l”时,导通电阻增加,对负载充电电流减小,从而增加了输出的时间常数.c,延迟了输出信号改变的时间;当控制端子为“O”时,导通电阻减少,对负载充电电流增大,从而减小了输出的时间常数T,缩短了输出信号改变的时间。对于下拉的NMOS管,影响信号的下降沿,当控制端子为“O”时,导通电阻增加,对负载电容的泄放电流减小,从而增加了输出的时间常数T,延迟了输出信号改变的时间;当控制端子为“l”时,导通电阻减少,对负载电容的泄放电流增大,从而减小了输出的时间常数T,缩短了输出信号改变的时间。这样,通过给延迟控制端子设置不同的参数,调整上拉PMOS管和下拉NMOS管开通的个数,就以改变充放电的时间常数-r并最终控制信号的延迟时间。延迟单元充放电等效电路原理如图3.8(a),图3.8(b)所示。设电源电压为Vdd,根据CMOS电路充放电模型,可以定性给出充电、放电输出电压V训与时间t的关系,分别为式(3.1)和式(3.2)。在负载CL一定的情况下,时间常数T和等效电阻之间呈式(3.3)的线性关系,从而延迟时间t和等效电阻之间为线性关系。 基于IP核的SOC设计关键技术研究图3.7弹性延迟单元实现电路‰=%(1一口一})‰=%P七f=如Q(a)(b)图3.8CMOS反相器充放电模型(3.1)(3.2)(3.3)从式(3.1)可知,当t=4T时,输出电压将由于充电而达到Vdd的98.2%,值为“1”;而(3.2)给出了在t=4.c时,输出电压将由于放电而降到Vdd的1.8%,值为“O"。两个公式中,V硼为常数,V础阈值在给定工艺下是确定的,变量只有t和T,即延迟时间t只和T有关。这样,就可以通过改变延迟控制参数来改变等效电阻R伽的值,从而改变.r以达到调整延迟时间的目的。当(以,bm,c恐,d/d)=(O/1,0/l,o/l,I/O)时,‰=Rp5+R;当(柏,b佑,c/c,d/d)=(I/0,I/0,I/0,I/0)时,Ik=R。5+O.25R;当(a/a,b,b,c/C,肌)=(0/l,0/1,o/l,I/0)时,弹性延迟单元FDU被旁路。这样,一旦工艺确定,R和C就可以确定下来,延迟单元的延迟时间就可以通过延迟控制端子来进行调整。表3.3给出了延迟控制端子和等效电阻、.【的关系。表3.3延迟控制端子、开启电阻Ik和延迟的关系(abcd)~5串接电阻k(‰)l【0RR啪CL0lRp3Rp5+RR啪CL0lRp3∥Rp2Rp5+1趁RkCL01l1RP,∥RP2∥RplRp5+l,3RRmCL1lRp3∥RP2∥Rpl∥RpoRp5+l/4RR啪CL 第三章IP核设计技术研究通常,等效电阻R。。和等效负载cL与工艺相关,在设计初期,无法准确把握。延迟控制端了实质上是控制上拉PMOs管和下拉NMOs管是否接入,其参数设定仅仅有“0”和“1”两个值,由“O”和“l”来确定其控制端是连接到“vdd”还是“印d”,从而决定等效电阻的大小。在具体设计中,四个上拉PMOs管和四个下拉NMOs管尺寸可以不同,这样同的延迟,也就是说,设定不同的参数接入不同的上拉/下拉管组合将会得到不将会得到不同的延迟,即(a.b,c,d)会组合出16种延迟时间,事实上可以把FDu做成标准单元,给延迟控制端子留有连接可以“vdd”和“目d”的布线通道,这样.即使在工艺确定以后,完成了最终的布局布线,也可以方便地进行参数重置.以调整延迟时间。对于版图,这样的设计是很容易实现的,也是单元复用所必须的。因此,弹性延迟单元给sOc集成和后端时序调整都留下了很大的调整空间,降低了sOc版图市图时间开销。图39(a)(b)给出了(a,b,c,d)分别为(】11l,011I/0叫I/000l,0000)时基于sMIcO25I上mcMOs工艺的FDu单元cadence公司spectra仿真结果。。盆“血m。猫溻#茸糌锄r撇幽Ⅲ*拜‘:螭耐豁圈39(a)不同控制端参数的FDu延迟仿真结果分列圈 基于lP核的SOC设计关键技术研究一柚”1l—h曲llI—h棚1l一舢I啪1一^n^J,、^H。专I|、、1\1.。;一j:一f二I}一一-≠j/q‘十一k一r】一一·-·'·一⋯一。。二二=乒一fjff:二L1一哥二I|......~..。。一。——..1⋯~●一+一●⋯f~7⋯一}r‘t+:一‘-+{一.一}{::j二L.’。’二‘一!li。一.⋯l。.J—f:T一——~—·~一0~一。’——一一。‘Il⋯,-’●●I一一●一。-l卜··’一■,一f卜⋯j~卜c?“;-÷—L:一一一J。l』=。.L二.L..二.‘j二五]瓦乏;:~0:::强j■j:~一_。一一⋯.j二二:lj“:一I二。t上二!·。二一二』.._‘:‘.’’:一—Ij。:一j’11‘一}‘i⋯’'卫..,J·炯‘旧⋯。一..图3.9(b)不同控制端参数的FDU延迟仿真结果3.43.2再同步单元设计实现1)两级触发器再同步单元在实际的SOC设计中,经常会有不同时钟频率的IP核之间进行数据交换,或者用时钟采样异步信号(等同不同时钟频率的数据采样),即多时钟域数据通讯问题。不同时钟域之间,如何可靠的进行数据通讯是IP核设计者需要考虑的问题。由于不同时钟域之间异步数据传送可能产生亚稳态,当时钟对数据采样时,数据正在变化,时钟沿和数据跳变沿之间时间间隔很短,不能满足触发器的建立/保持时间,触发器无法在某个规定时间段内达到一个可确认的状态,于是亚稳态发生,数据同步失败【3211。如图3.10所示。从图3.10可以看出,当b时钟域通过时钟信号bclk对异步信号adat(或者异步的a时钟域钟控(aclk)输出信号adat)进行采样时,有可能bclk采样时钟沿和被采样的异步输入数据adat变化沿非常接近,不能够满足触发器的SetlJp/llold时间,在时钟沿,触发器DFFl无法采样到稳定的“O"或者“l"值,导致在触发器输出端bdatl出现亚稳态,该亚稳态会向与其相连接的组合逻辑门传播,其结果是在这些连接端bdat2,bdat3,bdat4出现逻辑混乱,既可能出现逻辑“0",也可能出现逻辑“l’’,引发逻辑错误,造成电路功能出错,同时,由于晶体管开关特性,亚稳态还带来大的泄露电流,增加系统功耗。为了消除亚稳态的影响,在DFFl后面再增加一级触发器DFF2,两级采样触发器构成再同步单元(图中虚32。●£>● 第三章IP核设计技术研究4l框所示),由第二级触发器DFF2对DFFl的输出bdatl进行采样,第一级触发器DFFl把异步输入信号adat采样到b时钟域来,等待一个时钟周期,使得可能存在的亚稳态稳定,然后再由同一时钟域时钟bcu(把第一级触发器DFFl的输出采样到DFF2,则DFF2的输出是稳定的、同步到b时钟域的有效信号。dat∞lkbclk图3.10异步信号两级触发器再同步单元与时序理论上,第一级触发器也有可能把亚稳态传递到第二级触发器,导致同步失败。同步失败包含时钟频率、晶体管参数、输入信号强度等在内的诸多因素,不过,目前的工艺水平和时钟频率,两级触发器构成的再同步单元是有足够的稳定时间满足同步要求的。2)“弹性延迟同步单元对于多时钟域的信号再同步,也可以通过加入弹性延迟单元,避开触发器在采样时钟沿附近的敏感时间窗口,来达到一级采样成功的目的。如图3.1l所示。 42基于IP核的SOC设计关键技术研究从a时钟域输出的信号Din在被b时钟域时钟bclk采样前,先通过弹性延迟单元DelayCell,其延迟的大小由弹性延迟控制端(a,b,c,d)控制;相位比较器比较aclk和bclk的相差,相差在调整窗口△ts(setup时间窗口)内,根据相差大小调整弹性延迟控制端(a,b,c,d)的值,相差大则弹性延迟小,相差小则加大弹性延迟,而在调整窗口之外,弹性延迟单元被旁路,不做延迟调整,弹性延迟为最小(理想状况为O)。这样,就可以通过比较aclk和bclk上升沿之间的接近程度,通过控制弹性延迟控制端(a,b,c,d)的值,来调整Di。经过延迟后的数据Ddclav到达触发器的时间,也即Ddel。,针对bclk的时间,使得其满足触发器DFFl的建立时间。当然,如果时序周期允许,也可以由调整弹性延迟控制端对当前时钟bclk进行延迟,达到同样的目的,采用延迟时钟的办法,数据采样会比延迟数据早一个周期。同样,如果相位差落在调整窗口△“(hold时间窗口)内,也可以采用同样的办法调整弹性延迟控制端(a,b,c,d)对调整数据或者时钟来达到稳定采样的目的。事实上,在设计时,可以把调整窗口△ts和△“合并考虑,作为一个窗口△tSh,来评叛是否引入弹性延迟以及延迟量。图3.11弹性延迟再同步单元在设计中,由于触发器建立/保持时间很小,通常可以适当增大调整时间窗口△tS和△“,降低对相位比较器设计的要求。对于IP核内部延迟较大的输入端,在引入弹性延迟时,要注意弹性延迟和内部延迟之和不得大于被同步时钟域的一个时钟周期,否则影响电路的设计时序正确性。和两级触发器再同步相比较,弹性延迟再同步造成的数据在b时钟域的延迟要小(小一个周期),尤其对一些实时性要求比较高的应用,无论相差落在那个窗口,都采用调整延迟时钟bclk,保证尽可能早的响应Di。信号。甚至在bclk时钟略大于aclk时钟周期时,采用弹性延迟调 第三章IP核设计技术研究43整还可以避免由于数据周期小于时钟周期而带来的数据丢失。图3.12给出了弹性延迟再同步的工作时序。图3.12弹性延迟再同步工作时序在实际应用中,该结构也适用于同频但不同源时钟域间的数据通讯,同频不同源时钟虽然两个时钟频率是相同的,理论上也是同相位(或者相差1800),但是由于来源不同,时钟抖动。偏移都不相同,导致必须增加一定容量的FIFO,才能可靠通讯,采用延迟时钟的弹性延迟再同步器,一定场合可以取代FIFO,完成同频不同源时钟域间的数据通讯。3.4.4TPCRIP核再同步模型的时序约束IP核是构成SOC的基础。设计师要成功地完成一项SOC设计项目,必须有效地规划IP核的时序。如图3。13所示,IP核A和IP核B之间有数据交换,其数据在总线上传递的延迟定义为T仃,根据延迟模型中给出的参数,系统中IP核接口之间的延迟为乙=(%+瓦,。+瓦+‰(min.m“)+乙)(3—4)其中,TM为从触发器Q端到IP核A输出端延迟,由IP核A协议、输出驱动和负载决定;T州佗为IP核间物理连线延迟,布线前可以根据估计的模块大小,依赖库连线模型计算,布线后则由寄生参数确定:TN为IP核B输入端到触发器D端延迟,包括为了调整时序而增加的弹性延迟模块的延迟,设为T日。。(miII.m戤),则TM,TN分别为 44基于lP核的sOC设计关键技术研究%=(毛+乙)(3.5)n=(%+‰(min,。“)+‰)(3—6)设时钟周期为T硎od,则IP核布线延迟裕度为L,。(。。,mill)=(丁0。甜一歹M一7乙一zk一可肛(miIl,。“)一丁厶一t雎_+口一zk_.D)(3-7)IP核建立时间TIPs。tup为(触发器建立时间TDFFs咖p)歹f投,印=(r阱黜印+乙嘈+丁肛+r啪)(3-8)由此在进行时钟树布局时,可以充分考虑各个IP核的内部延迟,自身延迟较小的IP核,系统时钟可以较晚到达,系统时钟延迟和IP核内部时钟延迟互相平衡,满足时钟树的抖动要求,从而降低系统时钟树的布局难度,方便的给出IP核在综合集成时和布局布线时的时序约束,提高SOC系统工作频率。对于多时钟域,由于再同步过程中会屏蔽传统IP核模型的内部延迟和负载延迟,此时只需要考虑IP核协议是否规定了多周期延迟、再同步引入延迟以及系统延迟即可,事实上引入了再同步单元,各个时钟域都可以在自己时钟域进行约束,再同步单元作为伪时钟路径处理,使得综合约束和sTA约束得到很大的简化【3‘221。图3.13IP核间延迟示意图3.4.5IP核TPCR模型DSL描述在TPCRIP核设计完成以后,根据不同的工艺建立对应的IP核延迟模型,采用DSL(DelayScriptLanguage)表述,给出IP核端口相对于时钟的延迟信息,该延迟信息对SOC性能评估和IP核选择具有指导意义。为了说明基于TPCR的IP核再同步模型的延迟描述方法,选用视频监控处理器芯片的设计为例来表述。该系统由MCU(MicroConnDIlerU11it)、视频解码口核(videodecodeIP)、USB2.0 第三章IP核设计技术研究45IP核、存储器(洲)和通用I/0端口等构成,如图3.14所示。MCU作为主控模块,提供系统基准时钟为200MHz,视频解码IP核和USB2.OIP核通过AHB(theAdvaJlcedHi曲.perfonnanceBus)总线连接构成片上系统。在这个系统中集成了多个IP核,其中视频解码IP核与系统时钟同步,采用DSL表述其延迟模型结构如下:delay—model0{input(rd);input(、^,r);input(cs);//Readtheinputs⋯⋯∥cOmputedelay(‘3.7e-9’);∥delaybefbrepostingclockinp以addr);inp磁(data);//Readthenextinputs//compute//delaybefbrepostingclocklUsBl凝eIctrlMCUICoreIPRMI介IPDMIn1fjt。jrj王。l黼BusArbiter图3.14视频监控处理器框图USB2.0设备控制器为多时钟域IP核,一个时钟为USB时钟,协议规定为60MHz,一个时钟为MCU时钟,MCU时钟和USB协议时钟无同步限定,此处MCU时钟为200MHz,对USB采用分频时钟通讯,分频时钟为50MHz,这样该系统为多时钟域系统,为了保证MCU对USBIP核中寄存器读写控制的正确性,对功能USBIP核增加再同步接口模块IPIWI,进行时钟同步,确保MCU和USBIP核之间可靠的数据通讯。在USBIP核的再同步模型中,口核为原始的USB2.OIP核,IP核时钟为USB协议规定的60MHz,SOC系统时钟为MCU的分频时钟50MHz,采用弹性延迟再同步单元把MCU写到USBIP的数据同步到USB时钟,把从USBIP读出的时钟同步到SOC系统时钟,确保MCU读写的正确,避免在 基于IP核的SoC设计关键技术研究综合和静态时序分析过程中异步时序的干扰。使用SUNFire890服务器运行Desi印Compile,As仃0和Primetinle,在O.18肛m工艺条件下分别采用现有模型和TPcRIP模型对该系统进行综合,布线和性能分析,结果分别如表3.4:表3.4监控处理器SOC现有模型和TPCRIP模型综合.布线和性能分析滏≤originalIPModelIPDRM%improVementperforman己e\maximumfrequency(4.89一1)‘109Hz(4.27-1)·109Hz+14.82tOtalcell锄.ea280687.95288567.45+2.引tOtal锄.ea317278.98324971.80+2.42CPUtime(DC)57m36s43m17s.24.86CPUtime(P&R)186m43s103m29s.44.58由上表可以看出采用新模型,系统频率提高了14.82%,总面积仅仅增加不到2.5%,综合时间减少了四分之一,布图时间节约了几乎一半。3.4.6TPCRIP核测试设计在2.2节描述了目前SOC中常用的可测性技术。基于TPCRIP核其基本构成是在不改变原有功能IP核的基础上在外围增加弹性延迟单元和再同步单元,其中弹性延迟单元相当于延迟缓冲器,为组合逻辑,完全按照组合逻辑进行测试;再同步单元两级触发器结构为时序逻辑,可以当成传统IP核一部分进行测试:基于TPCRIP核不对可测性设计构成影响,如图3.15所示。功能输入测试输入图3.1511PCRIP核测试结构功能输出测试输出 第三章IP核设计技术研究473.4.7TPCRIP核的设计与SoC集成3.4.7.1TPCRIP核设计流程TPCRIP核模型相比传统IP核主要是在接口部分增加了弹性延迟单元和再同步单元,该部分是和IP核功能不相关的普适单元,可以在IP核设计时在模块划分阶段规划,按照每个接口的特点为输入/输出接口增加FDU和RSU,FDU在初始设计时,其弹性延迟控制端子缺省值设置为最小延迟状态,其在设计流程中的位置如图3.16左半部分所示。当然也可以在完成IP核功能设计以后,增加该部分设计,不过在IP核功能设计完成以后,再完成该部分设计时,有时会由于资源共享优化不理想而少量增加面积开销p·1jp引。在综合阶段,RSU时钟约束采用IP核内部同步后的时钟来约束,数据路径为伪路径。布局布线需要预留FDU端子对“1”和“O’’的布线通道。时序模型在完成IP核验证,确定功能正确以后,对IP核进行时序封装,主要是建立针对时钟的参数化时序模型,提供针对不同工艺IP核接口的DSL描述,弹性延迟控制端子的延迟控制范围(在DSL中表现为输入/输出延迟描述的最大最小值范围),以及不同工艺m核的时钟约束与性能参考,为SoC集成选择IP核提供时序接口依据和性能依据。3.4.7.2基于TPCRIP核SoC集成流程如上所述,TPCRIP核模型改进了IP核接口时序的柔性和适应性,使得IP核在实际完成物理实现前后,能够预测其性能和接口时序范围,其接口参数重置方便,柔性可调,故此,它对于SOC的原有集成流程并不带来颠覆性的修改,如图3.16右半部分所示,阴影部分是TPCRIP核模型集成过程相关的流程步骤,由于新模型时序可预测性,所以在设计之初IP核评估阶段就可以论证IP核的适用性,进行IP核初步验证,减少迭代次数,加快集成速度。综合阶段,RSU时钟约束采用IP核内部同步后的本地局部时钟来约束,对整个SOC来说,进行多时钟约束。布局布线完成后根据时序需要重置FDU控制端子“l"和“O”的值。验证过程检查TPCRIP核在SOC中的功能和性能,并且可以根据IP核之间工作时序对FDU控制端子进行重置,优化接口时序可靠性。 48基于lP核的SOC设计关键技术研究IP核设计流程lP接口SoC集成流程IP系统设计验证模型设计卜一卜一I.主I模块划分——上=二1一BFM设计H卜一I.皇lIRTL设计J.==丁RTL功能验证卜卜门级验证二二[时弹性台踵最终验证{档车氍7i移5辫布甓!带:。线。芝时序模型行为级模型仿真模型测试平台系统说明lSA模型验证模型接口说明总线功能模型R11L代码软件驱动功能测试平台测试向量综合脚本时序预算布局指南门级网表时序结构时钟树电源布局指南互连模型P&R指南测试向量故障覆盖率时序模型口时序驱动设计流程关联步骤系统需求规范系统建模系统设计总线功能验证RTL设计RTL验证门级验证能i疆希蔫譬褒威繁簪∥总体验证梦1i系统集成系统特性描述板级设计软件设计仿真与原型设计图3.16基于TPCRIP核复用的SOC设计方法学3.5TPCR口核交付项及质量评价标准3.5.1TPCRIP核可交付项基于IP核复用的SOC集成需求,为了减少技术和商业贸易上的障碍,IP业者在摸索和实践中寻求相关标准来统一IP核开发过程中的设计规则、数据交付格式和交付标准,从而加速向SOC产业的转型。因此IP开发商、EDA厂商、SOC 第三章IP核设计技术研究49集成商等公司成立了诸如虚拟插件接口联盟VSIA、开放芯核协议国际伙伴OCP.IP(0penCoreProtocolIntemationalPartnersmp)、虚拟元件交易门户VCX(ⅥnualComponentExchange)、虚拟元件交易门户D&R(Design&Reuse)等组织,共同推动IP核标准的进步,其中由OpenMORE捐赠给了VS队,经过VSIA修订完成的《VSIA体系结构文档》(VSIA心chitec眦Doc啪ent)专门解决系统芯片上(SOC)IP核复用技术方面的标准化问题,在实践中更具有操作性而得到业界的认可13。60‘1⋯。3.5.1.1可交付项概述为了使得IP核有效地集成到SOC中,IP供应商需要向SOC集成商提供必须的可交付数据和文件。《VS队体系结构文档》规定了一个积累了从其他不同规范中来的所有可交付文件的原始可交付项列表,对上述数据和文件进行了必要的描述。其中的每一个具体内容都是按照图3.16中的设计方法学所提出的要求和定位而具体设置的。可交付项是VS认规范的精髓,其大部分文档都是用来说明这些可交付项内容的,它们的集合构成了一个完整的可交付项列表。有了这个可交付项列表,m供应商、开发商、SOC集成商、EDA厂商就可以基于该平台有效的设计和转让各自的产品。表3.5给出了符合《软核、硬核虚拟元件的结构级、行为级、物理级建模规范》要求的可交付项列表,包括虚拟元件(VC,VimlalComponent)实现和验证所需要的数据表述要求定义、数据表述格式选择以及与之一致的VC指导原则的定义。表3.5中,“章节’’表示在《软核、硬核虚拟元件的结构级、行为级、物理级建模规范》规范中对此可交付项文件进行解释的章节号。M(MaJldat0Dr),CM(ConditionallyMaJldatory)等表示可交付项对某种IP核的约束程度;M表示强制使用:CM表示根据应用情况有条件的强制使用;R(Reco眦11ended)表示推荐使用:CR(ConditionanyReconlnlended)表示根据应用情况有条件的推荐使用;“--'’表示IP核对该项没有要求11¨JⅢ。 50基于lP核的SOC设计关键技术研究表3.5IP核核心可交付项列表章节交付项名称VSIA认证格式软核遵循强度3.1行为级和结构级模型实现。Verilo∥VHDL可综合子集3.1.1RTL源代码Mverilog、EDIF网表VC3.1.2单元级、电路级网表Hspice、VHDL3.2实现层行为级模型3.2.1基本延迟模型OLAR3.2.2时序分析模型OLAR3.2.3功耗分析模型3.2.3.1黑盒/灰盒功耗模型要求OLARVerilog^HDL可综合子集3.2.3.2RTL级功耗模型要求MV色rilog、EDIF网表VC3.2.3.3多元级功耗建模要求Hspice、VHDL3.2.3.4电路级建模要求VCHspice3.2.4外设互连模型SPEF3.2.5电路级接口模型VCHspice3.3物理建模3.3.1详细物理模块描述GDSII3.3.2引脚布局VCLEF3.3.3布线阻塞VCLEF3.3.4引脚VCLEF3.3.5电源和地VCLEF3.4设计约束3.4.1时序约束DC.WGM3.4.2时钟约束DC.WGM3.4.3逻辑结构约束DC.WGM3.4.4面积约束DC.、VGR3.4.5物理实现约束DC.WGCM3.4.6功耗约束DC.WGCM3.4.7测试约束DC.WGM3.4.8环境/操作约束DC.WGM 第三章IP核设计技术研究3.5.1.2TPCRlP核的可交付项从表3.5可以看出VSIA为了保证IP核可实现性,对IP核做了全面的限定。TPCRIP核在行为级、结构级建模方面和现有IP核的建模方法没有任何区别,完全采用Verilo鲥HDL进行建模,符合该强制标准。实现层行为级模型主要约束时序、功耗等具体实现IP核功能时面临的考虑因素,TPCRIP核增加的弹性延迟再同步单元主要为了实现IP核接口的弹性和多时钟域的适应性,其具体实现采用纯数字参数化可配置技术,它们~方面能够改善IP核接口的时序裕度,另一方面却因为它们与IP核内部的功能设计采用相同的设计方法,而不会改变其约束方法,符合实现层行为级模型的VS队要求。也正是由于采用与IP核内部完全一致的设计技术,因此对于后端物理设计和集成者来说,IP核完全可以像以前的IP核处理方法一样,把IP核当成一个黑盒子,根据需求指定其引脚、电源/地、布线阻塞等操作,当然也可以完全按照传统的IP核设计约束技术来约束基于TPCR的IP核。3.6本章小结本章分析了传统IP核在SOC集成中的瓶颈——时序接口局限性与应用选择范围限制,研究了IP核的参数化可配置设计方法,通过参数配置影响IP核功能、面积、速度、性能等关键参数,决定IP核对SOC的商业价值;建立了TPCRIP核的基本模型,该模型由弹性延迟模型和再同步模型两部分组成,其中弹性延迟模型规范了IP核设计的接口时序,对IP核的时序描述进行约束,使得SOC集成者能够在设计的各个阶段,估算IP核的时序规划,并能够在集成时无缝接入到SOC中而无需加入粘合逻辑;再同步模型增加了IP核接口在不同时钟域和异步信号之间的桥接功能,保证IP核可靠地完成异步数据的传输。弹性延迟单元控制端子采用参数化设计,控制端子的参数值可以在设计的各个阶段自由重置,从而改变IP核接口延迟,增加IP核接口时序柔性。TPCRIP核和传统IP核相比,具有如下优点:1)提高SOC设计系统级设计阶段对集成IP核时序裕度的预见性和对需求IP核选择评估准确性;2)增强IP核时序适应能力,减少SOC集成时的粘合逻辑;3)简化SOC中IP核的时钟约束。从而提高SOC整体性能:4)提高了IP核对多时钟域和异步信号的处理能力,避免在SOC集成时引入桥接模块。5)增加IP核接口柔性,简化时序调整过程,缩短时序收敛时间。 基于IP核的SOC设计关键技术研究本章还探讨了基于TPCRIP核的设计方法、其延迟模型的描述、引入弹性延迟和再同步单元对IP核与SOC可测性的影响,延迟单元参数化设计方法,并给出了TPCRIP核的设计流程和基于TPCRIP核的SOC设计流程。 第四章USB2.O设备控制器IP核设计本章结合国家863计划项目的实现,研究了USB接口技术,通过USB设备控制器IP核设计来验证TPCRIP核的设计方法,并提出USBIP核的参数化设计实现技术。由于USBIP核既有前端的模拟PHY部分,又有处理协议的数字部分,而且在协议处理部分涉及两个时钟域和常用AP接口,这些内容涵盖了通用非处理器IP核可能遇到的典型情况,非常具有代表意义。4.1引言USB(UniversalSeriaJBus,“通用串行总线”)的规格是在1994年底由hltel、NEC、Compaq、DEC、IBM、Microsoft、Northem1’elecom联合制定的通用串行总线架构,主要基于以下三方面考虑:计算机与外设之间的连接;易用性;端口扩充【4·11。usB的设计目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。该规范改进了便携商务或家用电脑的现有体系结构,进而为系统生产商和外设开发商提供了足够的空间来创造多功能的产品和开发广阔的市场,并且不必使用陈旧的接口和害怕失去兼容性。USB总线具有支持即插即用、易于扩展等特点,已被广泛地用在PC(Person“Computer)机、IA(Inf0咖ationalApplication)、个人消费电子等产品中,是一种成功的接口技术,其产品投放量已经超过35亿块(至2003年)【4。2l,市场潜力巨大,受到国内外各大厂家的重视,而随着SOC设计理念逐步的深入人心和大行其道,USBIP核作为应用最普遍的接口技术,受到各大厂商的追逐,近期更是在原有USB2.O协议的基础上,发布了新的无线USB协议,进一步把USB推广到无线市场,在巨大市场前景的驱使下,Memor,S”opsys,P11jlips,CaSt,Vincllip,Goya等巨头纷纷宣布推出或研发USB2.OIP核产品。4.2USB的工作原理USB是一种串行总线通讯协议,它制定了一套设备间串行通讯的标准,支持在主机和各式各样的即插即用的外设之间进行数据传输,是主机与外设之间进行‘‘交流"的“语言"⋯】【4·31。由主机预定的标准协议使各种设备分享USB带宽,当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设。其典型的USB系统配置如图4.1示。 基于IP核的SOC设计关键技术研究图4.1典型的USB系统配置从图4.1可知,USB应用系统由三个部分组成:(1)基于USB接口的主机,包括OTG(On111eGo)功能的USB协议主机,在系统中充当控制者,是任务、操作的发起和控制中心。(2)USB互连信道,负责把USB主机和设备连接起来。(3)USB设备,是基于USB接口芯片的功能部件,完成具体的功能,如USB鼠标,USB数字摄像机,USB数码相机,USB硬盘等。其中USB芯片是最底层的,最广泛的,也是最核心的,是前两部分的市场基础,重要性不言而喻。4.2.1USB系统拓扑结构USB系统包含三类硬件设备:USB主机(USBHOST)、USB设备叫SBDEVICE)、USB集线器(USBHUB),总线拓扑如图4.2所示。Level1Level2Level3Level4LeveI5图4.2USB系统拓扑结构 第四章USB2.0设备控制器IP核设计从物理结构上,USB系统是一个星形结构,USB集线器(HUB)处于节点(Node)的中心位置;从逻辑结构上,每一个功能部件都是直接与USB主机相连,形成唯一的点对点连接。USB的HUB为USB的功能部件连接到主机提供了扩展的接口。一个USB系统中,USB设备和USBHUB总数不能超过127个。在USB总线上,数据以帧为单位进行传送。每帧数据由多个数据包的传输过程组成。USB设备负责接收USB总线上的所有数据包,并通过数据包的地址域来判断是否通过响应USBHOST的数据包与USBHOST进行数据传输。而在实际应用中,USBHOST和USBHUB多由PC机提供,大量应用的则是USB设备。从图4.1可以看出,USB提供了在一台主机和若干台附属的USB设备之间的通信功能。但在实际实现中,具体的系统要比图示复杂,不同层次的实现者对USB会有不同要求,这使得我们必须从不同的层次观察USB系统。USB系统提出了一些重要的概念和情况来支持现代个人计算机所提出的可靠性要求,所以USB的分层理解是必须的,它能使不同层次的实现者只关心USB相关层次的特性功能细节,而不必掌握从硬件结构到软件系统的所有细节。图4.3给出了USB实际工作流程系统组成,即主机——设备的通信模型层次关系,如图所示,一台主机与一个USB设备间的连接是由许多层上的连接组成。USB总线接口层提供了在主机和设备之间的物理连接、信号发送连接、数据包连接。USB设备层对USB系统软件是可见的,系统软件基于它所见的设备层来完成对设备的一般的USB操作。应用层可以通过与之相配合的客户软件向主机提供一些额外的功能,USB设备层和应用层的通信是逻辑上的,对应于这些逻辑通信的实际物理通信由USB总线接口层来完成。主机内部连接物理设备客户软件I功能层-功能接口tItI善UsB系统软件●USB逻辑设备USB器件层tItl●JIrUSB主机.-IUSBUSB总线?控制器u·总线接口I接口层I●·.◆实际通信流●—_逻辑通信流图4.3USB主杌广-一设备的通信模型层次关系 56基于IP核的SOC设计关键技术研究4.2.2USB2.O设备控制器口核结构与主要构成部分USB2.O设备控制器IP核(论文中以下简称USBP核)由两部分组成,一部分为物理接口(PHY部分),又叫串行接口引擎(SerialInte妇eEngine,SIE);另一部分为链路处理(L烈K部分),也叫协议处理引擎(ProtocolProcessEngine,PPE),如图4.4所示。物理接口部分由收发器,串行接口引擎,时钟锁相环(PIlaSeLockL00p,PLL)和UTMI(USB2.0TransceiverMacrocellIIlterface)14‘4J模块组成;链路部分由UTMI模块,协议处理模块,系统控制器和API(ApplicationProgrammingInte舭e)模块组成。在数据接收时,由物理接口负责串行总线数据信息的采样接收,把接收的数据转换成并行数据,验证并封包成UTM(USB2.OTransceiverMacrocell)接口格式,传送给链路部分:由协议处理模块进行USB协议解释,并传递相应信息给应用程序AP(ApplicationProgram),完成数据接收。在发送时,由AP准备好要发送的数据,通过API递交给链路部分,进行USB协议包生成;通过UTMI上交给物理接口,由SIE完成并串转换,通过收发器把数据送入USB串行总线,完成数据发送,而USB设备控制器的工作状态则是由AP通过API对USBSystemCo曲的ller模块访问来获取的。●。●图4.4典型USB设备控制器结构框图物理接口部分(USBPIⅣ)物理接口的作用是按照协议规定发送符合USB2.O规范要求的数据,处理来自链路部分的USB协议控制信号,接收USB总线上的串行数据并进行数据恢复。整个物理接口模块属于数模混合电路,具体组成包括:收发器、偏置模块、数据恢复单元(DataRecove珂UIlit,DIm)、PLL(Pha∞L0ckLoop),DLL(DelayL0ckLoop)、缓冲器、NRZ/NRZI(N0n.Renl加.t0-z∞ⅣN0n.Rl嚏um协Z鲫omyened)、位去除/位填充、并串/串并转换、I『TMI模块f收发器用于高速和全速数据发送/接收。对应USB高速(480Mbps)、全速(12Mbps)两种工作模式。其核心是设计合适的电路结构及电容、电阻参数,确 第四章USB2.0设备控制器IP核设计57保电阻电容参数在给定工艺条件下的准确性和稳定性,通常采用对电阻、电容的冗余设计技术。偏置模块提供电流电压偏置工作点。数据恢复单元(DRU)用于从收发器中恢复时钟和数据。USB支持同步数据传送,数据传送的建立、传送和使用是连续且实时的,以稳定的速率发送和接收实时的信息,因此必须使得接收者与发送者保持数据同步。由于USB属于串行通讯,没有独立的时钟传送通道,其时钟隐含在传送数据中,数据发送到接收方以后,首先需要根据总线状态改变来恢复时钟,以此时钟来保持数据和发送端的同步【45】【461。本设计通过PLL和DLL来提供多相(8相)时钟,根据NRZ编码,每7比特数据,至少有一次跳变,依据对变化数据的采样,不断修正多相时钟的排序,由多相时钟过采样接收数据【4·7】【4引,通过多数判决算法进行数据恢复,从而使得接收数据与发送数据同步,并得以恢复∽】14.101。UTMI封装模块按照IIltelUTMI规格的时序要求对信号时序进行封装。通常,对于USB设备控制器,物理接口是必须的,而链路部分则会因为应用的不同而会有不同的设计,比如USB鼠标支持USB中断传送模式,USB硬盘则支持USB批量传送模式,USB功放却要求USB同步传送模式。同时,因为物理接口部分是数模混合电路,工艺相关性很强,通常需要版图定制,链路部分是全数字电路,根据应用需求,功能裁减修改范围很大,所以把两部分分成两个IP核实现更能扩大IP核的应用范畴。IIltel规定的UTMI规范是开放的,也为业内广泛认可,是连接USBPHY部分与LINK部分的事实标准。在USBIP核设计中,PHY部分和LINK部分之间的UTMI信号可以选择支持8位数据总线接口和16位数据总线接口,分别对应60MHz和30MHz的数据传送频率。N慰ⅢRZI模块完成对差分信号的不归零编码/解码,位去除/位填充则完成NRZI解码后的连“1"去除和NRZ编码前的连“1”填充。链路部分(USBL肿()链路部分完成USB协议的解释与响应,负责和主机谈判通讯模式、传输速率、传送通道,向主机通报设备信息,响应主机要求等USB控制,同时负责接收PHY部分从USB总线收到的数据,传递给功能部件,或把功能部件准备的数据写到UTMI,由PHY部分发送给USB总线。L烈K部分具体结构在后面的章节描述。UTMⅡUTMI是USBPHY和USBLINK之间连接的标准接口,有业界认可的、标准的信号和时序,支持8位数据通道和16位数据通道。 58基于IP核的SOC设计关键技术研究APIAPI是USBLINK和功能部件的接口,AP通常是微控制器(Micr0Co咖∞llerU血t,MCU),本设计APl支持的数据总线宽度为8位、16位、32位,具体数据总线宽度可以在SOC集成时根据应用需求通过参数重置来确定。4.23USB2.0口核的设计方法USB设备控制器分为两个IP核实现,USBPHY部分以硬核(H莉IP)形式实现,USBL咖(部分以软核(SonP)形式实现。USBLINK为数字电路,采用verilogHDL描述和综合,对USB协议规定的功能采用参数化设计,支持UⅣI规定的8位数据带宽和16位数据带宽,可以适应不同厂家的PHY;API参数配置有8位/16位/32位,支持8位/16位/32位嵌入式MCU:功能部分15个端点(EndPoiIlt)采用参数化设计,确保在满足功能的基础上,P核可以通过参数重置裁减不必要部分,使其大小尽可能精确匹配SOC集成环境的需求;存储器和FIFO(FirStInFirStOut)深度和数据位宽也采用参数化设计,以支持尽可能多厂家的存储器。PHYP核包括数字部分和模拟部分。由于其收发器、数据恢复电路、偏置电路、PLL、DLL等部分紧密相关,且数据传送速率高达480Mbps,要准确完成数据的接收,对版图布局布线有很高的要求,所以该部分采用全定制设计。两个m核的开发采取T0p.Do、vn设计的技术路线,参照IP核的自身特点,在系统结构设计时就引入可配置参数,使得IP核尽可能广泛的满足应用需求。链路部分立足于正向的高层次语言描述,以verilog语言做l玎L级电路描述,以逻辑时序仿真结果为基础,采用自顶向下的设计方法进行设计。这种设计方法的优点是在保证时序节拍正确的基础上,充分发挥高层语言描述的抽象性、灵活性等特点。设计出来的IP核不仅与工艺库无关,而且可扩展性、可裁减性好,既能够根据应用需求定义USB工作模式,包含端点个数的多少,存储器容量的大小,接口总线数据的位宽,而且能够随着国内生产工艺的提高,不断推出更高性价比的产品,满足更多的消费应用需求。物理接口部分的模拟电路以及紧密关联的数字部分,主要是收发器、PLL、DLL、偏置电路、数据恢复单元,采用正向电路设计,电路参数计算,spice仿真,版图绘制的流程。首先根据电路原理来计算电路的工作点,电阻、电容参数:接下来进行spice仿真,验证电路工作正确性;然后确定工艺,根据设计规则绘制版图,由于USBPHY作为Ⅲ核,在使用的时候有连接到外部管脚的信号(模拟电源Vdd/地V鹞,晶振Ⅺ/xO,USB差分输入DP/DM和一些调试用的基准信号),所以在版图绘制的时候,采用占角或者占边的布局方法,直接定制对应的Pad版 第四章USB2.O设备控制器IP核设计59图,形成带Pad的IP核版图,避免在集成的时候再补入Pad部分,影响电路的参数和工作点,而对于关键的电阻电容,采用冗余设计,倘若在工艺实现时,参数不合适可以进行个别工艺步骤的版图微调,避免重新迭代整个设计和重新制作全部光刻板,降低开发成本;最后对版图进行寄生参数提取、仿真、DRC和LVS检查,确保版图时序正确性和可制造性。对于物理接口的其余数字部分采用正向设计,Verilog语言描述功能,由EDA工具综合形成电路,然后和前面版图部分结合,采用版图定制的方法,形成PHY部分的整体版图,该部分在版图布局时因为频率较高(480MHz),需要注意信号完整性,同时尽可能把这个版图设计成矩形(包括正方形),方便以后集成时的布局布线。当两部分的版图都完成以后,需要再次进行寄生参数提取和仿真,检查电路和时序正确性,完成以后就可以生成GDSII数据,LEF文件,仿真模型等VSIA要求的硬核交付文件,作为IP硬核供SOC集成使用14·11】【4,1羽。43USB2.OPHY部分口核的设计与实现USBPHYIP核遵循USB2.0协议,支持高速,全速模式。其接口一侧为连接USB互连的DP,DM差分接口,满足USB协议规定的物理规范;另一侧为与完成协议处理的L蹦K部分衔接的UTMI接口,遵循UTMIV1.05规格。43.1USB2.0PIⅣIP核主要组成部分USB2.OIP核支持USB2.O协议,支持USB2.O高速模式和全速模式,兼容UTMIV1.05接口标准,其结构框图如4.5所示。AnalogFmntEnd(模拟前端)1)高速电流驱动电路(HSTX)高速电路驱动用于高速传送电路中,电路产生一个17.78n认电流,一个480M连续数据,在XcveSELECT=l时有效。2)高速差分接收器(HSIⅨ)用以接收480M的连续数据,在TennSelect=1时有效。3)全速驱动器(FSTX)全速驱动器用于传送12MHZ的连续数据,当TennSelect=0时,DP上接一个1.5KQ的上拉电阻。HS模式被选中后,驱动器输出SE0(DP和DM两端都拉低)。 基于IP核的SOC设计关键技术研究4)全速差分接收器(FSlⅨ)用以接收12MHz的连续数据,在Te肿SELECT=0时有效。5)信号终端接收器(SE)主要用于监测DP和DM线上的信号6)上拉电阻(Rpu,1.5KomQ)全速模式下,DP上拉一个1.5KQ的电阻,高速模式下,上拉电阻断开。7)高速压制态(Squelch)高速压制态指示一个无效的信号。当差分电压S100mV时接收器指示压制态squelch。如果差分电压三150mV,接收器撤销指示压制态squelch。图4.5USB2.0PHY部分IP核结构框图时钟单元(ClockUnit)这个单元主要给初始电路产生一个480MHz(HS)或60MHz(HS)的时钟信号。同时为SIE提供一个60MHz的时钟信号。电路中包括OSC(OSCillation)、PLL480和PLL60三部分。OSC通过选择外接电阻,可产生12MHz、20MHz、30MHz三种基础时钟。PLL480只有在HS模式下有效,此时,由OSC产生的原始时钟通过倍频和分频,得到60M/30MHz和480MHz的时钟信号,前者用于SIE,后 第四章USB2.0设备控制器IP核设计6l者用于接收数据。PLL60通过倍频和分频产生一个60MHz的时钟。当PLL60使能时,HS模式被禁止。高速缓冲器(Bu仃er)高速模式下,由于时钟抖动、漂移等导致数据超过或滞后于同步时钟。通过这个高速缓冲器,能有效地防止这种错误的产生。数据处理逻辑1)NRZI解码器(NRZIDecoder)和NRZI译码器(NRZIEncoder)在传输信号时,USB应用了NRZI编码方式。在NI屹I编码中,“1”由不出现电平变化来表示,而“O”由电平发生变化来表示,因为每次遇到比特“0”都发生电平跃迁,这就提供了一种同步机制,来同步接收数据。NRZI解码器,在接收比特流时用NI迎I解码器解码;NI屹I译码器,在传送比特流时用NRZI编码器编码。2)同步(SYNCDetector)完成协议中的同步部分。当两个设备彼此交换数据时,接收的一方需要知道何时可以获取数据位。USB通过SYNC字段实现传送和接收同步。3)位填充(BitStu能r)NRZI编码方式是一种效率很高的编码方式,但其编码对长连续“1"信号会引起接收器脱离同步。为此引入位填充技术,如果数据有6个连续的“1’’,传送器就会在第6个“1”后面补上一个“0”,用来保证每7个位宽就会有一个电平变化,也即同步,避免因为长串连续的“l"信号而导致的同步丢失。4)同步与封装(SYNCAssemble)由于设备与主机不是分享同一个脉冲,所以即使有了位填充,接收设备无法正确知道传送设备何时会传送一个标识为新信息包的传输,所以每一个信息包需要以一个SYNC字段开始。这个电路用来在每一个信息包前加上SYNC字段,来同步信息包。在接收时需要同步监测(SYNCDetector),监测到SYNC字段进入后续传送时,需要去掉SYNC字段,并去掉填充位(bitunstufr)寄存器(REG)1)接收移位寄存器(RXShiRReg)8/16位寄存器,将串行数据转化为并行数据。2)接收保持寄存器(IⅨHoldReg) 62基于IP核的SOc设计关键技术研究缓冲转换后的8/16位并行数据并传送到UTM接口。3)发送保持寄存器(TXHoldReg)从总线上读取一个8/16位数据到寄存器暂存。4)发送移位寄存器(TXShiRReg)从TXHoldReg中读取一个8/16位并行数据,将其转化成串行数据。5)状态寄存器(StateReg)记录保存设备可能处于的各种状态类型。状态机(stateMachine)接收状态机(ReceiveStateMachine),控制接收状态间的转移。传送状态机(TraJlsmitStateMachine),控制发送状态间的转移。控制逻辑(C仰tmlLogic)控制逻辑包含USB的PID、地址识别逻辑、以及处理数据包事务的时序和状态机逻辑。43.2USB2.OPHYIP核设计USBPHYIP核包括两部分,一部分是负责数据恢复和驱动的模拟前端电路;一部分是完成部分协议的数字部分。TPCRIP核设计方法和SOC集成技术主要针对数字IP,但对于数模混和的IP核也是适用的,同时为了保证USBIP核描述的完整性,对该IP核模拟前端电路核心部分也做了简单的介绍。4.3.2.1发送器设计发送器的功能是将待传输信号进行必要处理后驱动至传输电缆上,既要满足高速数据传送,又要符合协议要求的输出电阻、信号上升和下降时间要求。图4.6给出了USB发送器的系统架构。其中,(Di,Dib)为串行差分输入数据(NRZI编码数据流),Vbl,Vb2是来自参考基准电压源的偏置基准。(Do,D。b)为发送器的输出,即加载到USB线缆发送到接收器的信号。电阻R1、R2和电容Cl、C2代表电缆及接收器的集总等效负载,另外还有负责使能发送器和选择模式的控制信号。 第四章USB2.0设备控制器lP核设计63⋯⋯”,一一一1.,’●一t(一‘二一.●...∽一.图4.6USB发送器系统架构该发送器由两部分构成,前置预驱动单元(Pre.“ver)和主驱动单元(Driver)。前置预驱动单元(Pre.driver)将输入的一对差分数据(Di,Dib)分成8对延时间隔相等的差分数据信号,用来作为主驱动单元的输入信号。前置预驱动单元一共由8级串行延时单元组成,在设计中,通过数字端子组合技术来控制延时单元的延时时间(方法同第三章所述弹性延迟单元实现方法,单元延时时间可控制到40ps,60ps,80ps),从而获得8对依次等时间间隔的差分信号,可以方便的控制上升和下降时间【4·13J。主驱动单元(Driver)接收从前置预驱动单元输出的8对差分信号,然后依次打开各个主驱动单元电路,驱动输出数据按照USB2.0协议要求和电缆线上的较小损耗传输到接收端。与前置预驱动单元相对应,主驱动单元的电路结构相应的采用8级串行结构。该设计之所以采用8级驱动单元电路来逐级驱动传输线,是考虑了在“芯片面积”和“信号线性度"之间折衷,既确保输出数据(Do,D。b)的线性度以及上升时间和下降时间,又避免因为级数太多,组成芯片面积过大,功耗增加,同时前置预驱动单元电路的延迟时间也将减小,增加设计难度。在给定工艺条件下,如果单元电路的延迟时间太小,其精度控制必然变差。如果级数太少,则无法保证输出信号的上升或者下降边沿的线性度。8级驱动电路是在仿真和实际测试得到的最优设计。同时,多级电路控制上升、下降时间,使得每个时刻只有一个驱动单元处于开关状态,能够很好的消除外界信号干扰,也避免引入过大的电流噪声⋯o】【4·14】【4I51。 基丁.IP核的SOC设计关键技术研究4.3.2.2接收器设计从USB电缆传送过来的高速信号会发生信号畸变,并且会混有噪声,因此,在接收时,需要对信号进行处理,以去除噪声,放大信号,恢复数据。为此,人们采取了很多特殊的处理技术。论文采用了如图4.7所示结构实现USB接收器,来自发送器、电缆的高速差分串行数据流(DP,DM)传送到接收器,然后接收器把经过多相时钟采样得到的数据(So,Sob,Sl,SIb,⋯⋯S。,S。b)传送至后续的数据恢复电路(DataRecover),Circuit,DRC)。图4.7USB2.O接收器结构图多相时钟DLL(DelayLockedL00p)是通过对PLL提供的480MHz参考时钟进行数字延时来得到的。接收器可以分为两个模块:差分放大器模块和n级采样保持模块。差分放大器将接收器的输入数据(DP,DM)从400mV放大至1V,然后将放大后的数据(Dx,D。b)传送至采样保持模块。接收器的关键就在于对(Dx,Dxb)的正确采样。另外如图4.7中的放大器还为采样保持模块(S锄ple.HoldUnit,SHU)提供偏置电流Ib,并将差分输出数据传送至后续的n级SHU中。每个SHU对应一个采样时钟,分别输出相应时钟采样下的采样数据(So,Sob,Sl,Slb,⋯⋯S。,S。b)。本设计中,n=5,几个时钟依次向后延迟400ps。采样保持模块又分为整形模块、采样模块和保持模块。整形模块主要用于改善高速串行数据的转换速率,尽量避免采样数据落在“0’’和“l”的交界处。采样模块对数据进行过采样。由于在USB2.0高速串行通讯(480Mbps)中,数据波形的畸变较为严重,电平转换时间在数据周期中占据的比重较大,时钟信号在对 第四章USB2.O设备控制器IP核设计65数据采样时可能正处于数据变化过程中,即采样时钟落在数据的上升沿,或者下降沿,此时,采到的数据可能是“l”,也可能是“O”,“l”和“0”是无法确定的,这样就影响数据采样的正确度。采取过采样,在一个周期对同一个数据进行多次采样,然后依据一定的算法进行判决,可以确保数据准确的恢复。数据保持模块完成对数据采样模块采集数据的寄存【4·10】【414】【4151。43.23数据恢复电路从接收器接收过来的数据还只是一系列“0”“l”的二进制数,如何从这些原始二进制数据信息中得到正确的,与发送数据完全相同的串行数据,还需要依靠数据恢复电路(DRC)来完成。由于串行通讯只发送数据信号,不发送同步时钟,数据接收端为了与发送端的数据信号同步,必须从接收到的可能在传输过程中被噪声污染的数据信号中恢复出同步时钟,进而根据同步时钟恢复出正确的数据信号。数据恢复电路实现基本原理框图如图4.8所示。48时图4.8数据恢复电路原理框图该数据恢复电路是基于“过采样”的数据恢复方法,来自发送器通过USB电缆的高速串行差分数据“DP,DM”由接收器中的5相时钟进行过采样(如图4.7),传送给数据恢复电路,数据恢复电路通过一定的判决算法进行数据同步、判决,从过采样数据中选出正确的数据送入后继Bu仃er,然后输出,至此,正确的满幅数字信号被完全恢复,完成了信号从USB模拟前端到后续协议的衔接,可以由后续模块进行下一步的协议处理⋯4】【4161。4.3.2.4UTMl设计为了提高传输过程的抗干扰性,在数据送到发送器之前,应对数据做NI屹I编码以及比特塞入,以提高信号在信道的噪声容限,并减少码间干扰。同样,从数据恢复电路接收的数据,还需要做NRZI解码和比特去除,才能恢复数据的有 基于lP核的SOC设计关键技术研究效比特流。这就有了NRZI编解码模块。而由于串行数据不适合直接进行协议处理,信号接收后要进行串并转换,与此类似,发送前要进行并串转换。于是引入串并、并串转换模块。当数据流进入到串并/并串模块时,这是USB收发器(也称USBPHY)和USB控制器的划分接口,通常由收发器完成接收和发送工作,而控制器负责USB协议的处理,这两者的接口为UTMI(USB2.0TrallsceiverMacrocellInterface,USB2.0收发器宏接口),其时序遵循Intel定义的UTMIv1.05规范。遵循UTMI规范,在USBPHYIP核设计中定义了如下的信号:表4.1USBPHYlP核接口信号信号名方向描述系统控制信号对协议处理部分(Linl(部分)的时钟输出。.USBClkO8位总线接口,60MHz16位总线接口,30MHzResetI复位UTM传输速率选择,USBClk钟控输入。XcvrSelectl0:全速收发器使能1:高速收发器使能0:挂起UTM,USBClk钟控输入。SuspendM1挂起状态,除了晶振,其余电路全部停止工作ResumeMO1:UTM返回工作状态,,USBClk钟控输出。总线位宽指示,USBClk钟控输入。BusWidthIO:8位总线1:16位总线终端选择,USBClk钟控输入。1’ennSelectI0:全速终端使能l:高速终端使能USB信号线状态,USBClk钟控输出。LineState[1:O】O高速模式,XcvrSelect=0LineState【l:O】描述00SE001J10K11SEl设置UTM工作模式,USBClk钟控输入。OpM0d【1:O】IOpMod【1:0】描述00正常操作01无驱动模式10禁止位填充和M辽I编码11禁止去位填充和M迎I解码 第四章USB2.0设备控制器IP核设计67表4.1USBPHY接口信号(续)USB线缆信号DPI/OUSB数据线D+DMI/oUSB数据线D—SIE发送数据接口信号DataIn【15/7:O】I并行USB发送数据总线,USBCIk钟控输入。发送有效。指明有效的发送数据。USBClk钟控输入,属于TXV引idI和数据跟随的指示信号,需要增加弹性延迟单元。发送数据线高位有效,16位总线是有效。USBCIk钟控输入,TXValidHI属于和数据跟随的指示信号,需要增加弹性延迟单元。为高时表明数据接收完成。UsBcIk钟控输出,属于和数据TXReadvO跟随的指示信号,需要增加弹性延迟单元。SIE接收数据接口信号Dataout[15/7:0】o16/8比特并行接收数据总线,USBClk钟控输出。接收有效。指明有效的接收数据。USBClk钟控输出,属于RXValidO和数据跟随的指示信号,需要增加弹性延迟单元。接收数据线高位有效,16位总线是有效。USBClk钟控输出,RXV引idHO属于和数据跟随的指示信号,需要增加弹性延迟单元。为高时表明数据总线有效。USBClk钟控输出,属于和数据RXActiveO跟随的指示信号,需要增加弹性延迟单元。接收错误。USBClk钟控输出,属于和数据跟随的指示信号,RXErroro需要增加弹性延迟单元。O:接收无错误1:发觉接收错误时钟生成信号XII晶振输入XOO品振输出输入时钟频率指示,确定IP核内部倍频工作参数CIkSelect【l:0】IClkSelect【l:O】描述0012MHz0l20MHz1024MHzll30MHz锁相选择,确定PLL输出时钟频率。PLLSeIectIO:选择PLL480,为高速模式1:选择PLL60,为全速模式 基于IP核的SOC设计关键技术研究对工作模式、操作模式和时钟选择采用参数化设计,定义了如下参数:parameterparaHSMODE1∥高速模式定义,缺省为lpar锄eterparaFSMODE0//全速模式定义,缺省为Oparameter[1:0】paraOPMODE2’b00//UTM工作模式定义parameter【1:0】paraCLKSLT2’boo//时钟选择定义,.缺省为2’boo,输入//时钟为12MHz其中,HSMODE和FSMODE是互斥参数,同时有且只有一个定义为1,控制PLL锁相输出(PLLSelect)的选择和整个收发器工作模式(XcvrSelect)。0PMODE控制UTM的工作模式,决定是否进行NRZI编解码和比特塞入/比特去除。CLKSLT确定外界输入晶振的频率。对于数据总线,UTMI规定可以选择8位和16位两种带宽之间选择。在本设计中采用可配置设计,能够通过修改参数定义来适应和不同IP核衔接的UTMI需求,如图4.9所示,其参数定义为:par锄eterDATAWIDTH8//输入、输出数据总线宽度定义par锄eterDA]广AWIDTH..=8=16』上8位总线UTMI16位总线UTMI接口有效图4.9uTMI接口参数控制示意图DATAwIDTH不仅限定了输入、输出数据总线的宽度,还同时决定了输出时钟的频率,8位对应60MHz输出时钟,16位对应30MHz时钟。USBPHYIP核中的时钟是以480MHz为基准的同源分频时钟,且只能和USBL烈KIP核连接工作,是单一时钟域,所以PHYIP核UTM接口无需再同步模块,信号自身就是同步的,所有输出信号,按照同步输出原则采取寄存器输出,而输入数据信号采用寄存器输入,和数据同时发送的伴随信号,在SOC布局布线阶段容易引起时序冲突,加入弹性延迟单元,如表4.1说述。433仿真与版图433.1UTMI时序仿真在USBPHYIP核中,USB线缆的时序在USB协议做了细致的规范,不在论 第四章usB2O醍备控制器】P核跬计文时|^之列。uTMI接口时序在Inte】公司的“usB2OTransceiverMacrocdlInter盘cefuTMllsDecl丘cacjon’中有详细的定义.PHYIP核设训完全兼容uTMI舰范.图410给出了usBPHYIP核在高速模式,进行端点0控制传送建立(sETuP)过程中,DArA0阶段时的uTMI仿真时序圈,其uTMI数据宽度参数设定为8位,仿真工共为cadence公司NcJcrilog。i蔷萄菌萱iiiiiiiii圃+曲■im⋯n·’⋯%鱼氛xPID:00Il(DATAO)偶数据包.PID:0010(AcK)握手包,接【|5(器收lU无错误数据包圈410usBPHYIP梭uTMI时序仿直披形43j.2usBPHYlP核版图设计usBPHYIP核版图设计采用中芯国际(sMIc)025um标准cMOs工艺.全定制绘制,如图41l所示.(部分数字电路及pad部分是在第三方设计服务公司(芯源公司,vensllicon)提供的标准华元基础上完成的),3层金属,2层多晶硅,版图面积1204×】】95um2,uTMI数据总线支持16位和8位宽度,在电路中设计有控制选择位,需要使用8位数据总线的场合,只需修改参数以确定该电路控$I选择位的值即可。版图设计主要包括IP核布局规划、各个模块设计、布局布线等。在usBPHYIP核中,关键要考虑下述问题:DLL设计的一致性:对PLL电阻、电容采用冗余设计.预留调整裕度,在版图形成,提取寄生参数以后.可以根据仿真结果局部修改,调整电路工作点:对模拟前端电路增加保护环,减小信号串扰引起的基准漂移。数字部分(接收部分、发送部分和uTMl模块)和模拟部分之间增加隔离(接地),并且数字电源和模拟电源在IP核内部分开供电,减少电压波动对信i 基丁『P梭的soc设“戈键拄术研究号的干扰。由于IP核有需要外接到管脚(Pad)的信号,如usB线缆数据信号DP,DM:晶振输入xTAL1,xTAL2:管脚和内核模拟/数字电源和地.以及删试用的电压基准等,连接管脚信号较多且整个IP核设计规模较小,考虑对sOc整体布局的影响,其布局采用占角布局,形成基本方形的版图,IP棱外部接u除了在SOC集成时需要连接到管脚的以外,其它的信号连接点留在IP核的周边,图中为下侧。圈411usBPHY『P桩版圈 第四章USB2.0设备控制器IP核设计7l4.4USB2.OL小Ⅸ部分的设计与实现在USB设计中,PHYIP核属于模拟前端,主要完成USB线缆信号的采集和驱动。L烈KIP核执行USB的协议处理,负责协议处理、封包和与应用端的数据交互。4.4.1USBLINKIP核主要组成USBLINK部分结构如图4.12所示,它提供了一个与USB2.0PHYIP核单元的接口(UTMI规范versionv1.05),使得IP核可以连接到一个8位/16位高速/全速收发器,同时它还提供了一个API接口,用于内部控制寄存器和端点缓冲器与应用端微控制器之间的通信。在USBLNK中与UTMI相连的是数据包解码单元和数据包编码单元,收到的数据和发送的数据都要经过这两个模块处理,对数据中的协议部分进行分离、解释或者封包、集成。API模块是和应用程序的接口,通常和嵌入式的MCU连接,其数据位宽根据AP的要求由参数配置,可以是8/16/32位,对缓冲区和内部控制/状态寄存器的访问都是通过该总线接口完成的。LINKIP核提供USB协议规定的各种操作,包括数据包的编码、解码、校验和握手。在USB数据传送过程中,当端点数据传送成功,向AP发送中断,由AP准备后续数据,同时向USBHOST发送握手信号,确定下一个动作。当电源复位后,寄存器置位,IP核处于“Po、Ⅳered’’状态。Con们lEP(控制端点)是USBLmK的控制通道,支持控制传送模式,专门用于收发和解释执行控制信息,在USB协议中,其端点号约定为O。其它端点用作数据用途,编号为1~15,可以是输入端点或者输出端点,支持中断、批量、同步三种传送模式,支持用户功能。在USBL烈KIP核设计中,这些端点是可配置的,能够通过参数设置定义其在IP核实现中是否存在,其存在时的传输方向。有了这些参数定义,LINKIP核可以根据需要裁减,使用灵活方便,小配置时可以只针对单一端点单一用途,电路规模可以很小,大配置时可以支持16个端点,且每个端点支持输入/输出模式,可以满足多种应用场合14‘1J。 基于lP核的SOC设计关键技术研究图4.12USBL烈KIP核结构图UTM接口模块(UTMIntemce)该模块完成接口信号的UTMI封装,是LⅣK模块和PHY模块的接口,其信号、时序和USBPHY模块的UTMI耦合,输入/输出方向相对。并行接口引擎、校验模块(PIECRC)PIE(ParallelInternlceEngine,并行接口引擎)、CRC(CyclicRedundancyCheck,循环冗余校验)模块,该模块完成对数据的组织,进行循环冗余校验,并记录校验结果。净荷分离器(PayLoadDecoder)PLD模块完成USB数据解包,把传输的净荷数据和USB的协议管理字节分开,送往不同的处理模块。主要分离的管理字节有端点(EndPoint)和主机(Host)的握手信号(handshake),标记(token)等,同时还负责解释诸如USB软复位(USBreset)、挂起(suspend)、唤醒(resume)等命令。控制端点模块(ContmlEP0)控制端点模块是USB协议中指定的控制传送端点(EPO),其端点号固定为0,主要实现控制传送的建立(setup)、数据(data)传送、状态(statusstage)控制,也分析数据传送的标记包(tokenpackets)。其内部包含一个ROM(ReadOnlyMemoU),用于保存USB的信息描述表(Descriptor),在图4.12的框图中,该模块中的Descriptor即为信息描述表ROM,在实现时,ROM以IP核形式放在USBIP核外部,USBIP核留有ROM接口:在集成时,可以根据需要修改ROM的码 第四章USB2.0设备控制器lP核设计73点。通常主机使用端点0(EP0)读取设备的各种描述表,并按照获得的信息再通过端点O对USB器件进行配置。而AP端的微控制器通过端点0来支持所有标准的和特殊的USB请求。每一个USB设备都需要端点O这个特殊的控制端点,因此,在USB核中总是存在有端点0。端点0的数据缓冲大小也限定为64字节。端点模块(EPxControlIer)通用端点模块共有15个,其功能完全等同,实现时采用参数化设计一个覆盖全部端点功能的模块,把该模块实例化15次,即可实现15个端点设计。功能的裁减则通过在实例化时的参数重置实现。在USB协议中,这15个端点是完全平等的,分别可以是输入或者输出端点,可以支持中断传送(Interrupttransfer)、批量传送(BulktraJlsfer)和同步传送(Isochronoustmsfer)。数据缓冲器(DataBufrer)数据缓冲器是为了更大限度的利用AP(ApplicationProg阳mming)端的MCU(Micro.ControlUnit)性能,而在数据传输过程中进行的数据缓存,每个端点的数据缓存大小不同,小到4个字节,大到1024字节,根据它们的大小可以以寄存器的形式在IP核内部实现,也可以以S洲(StaticRauldomAccessMemory)形式实现。以SRAM形式实现时,SRAM作为独立IP核在集成时单独处理,USBLⅣK核留有和SRAM的数据接口。DMA控制器(DMAC仙tmUer,DMAC)DMA(DirectMemor),Access)控制器是数据缓冲模块的配套模块,完成数据缓冲器的直接存取。净荷封装模块(PayLoad缸sembIe)净荷封装模块PLA和净荷分离模块PLD耦合,完成净荷数据分离模块的相反过程,负责把USB要传送的净荷数据和USB协议管理字节按照协议规定的形式封装集成,形成USB格式的数据。再同步单元(ReSynchmnousUn“)由于USBIP核工作时钟为USB时钟(60MHz,或者30MHz),AP应用接口数据频率则由外部时钟确定,很可能和USB时钟不同步,从而形成两个时钟域,再同步单元完成USB时钟和外部AP之间控制数据的再同步,确保AP能够完成对USB内部寄存器的读写控制。对于需要传送的净荷则是由数据缓冲器通过双口RAM来实现的。 74基于IP核的SOC设计关键技术研究API模块(API,ApplicationProgrammingInterface)API模块是USBLINKIP核和应用程序的接口。通常USB作为微控制器的一个外设,通过该接口完成和微控制器的控制与数据交换。时钟模块USBLⅢKIP核有两个时钟域。与UTMI连接的模块负责接收协议控制(风Ctrl)(包括协议分解、译码、包数据处理引擎等)和发送协议控制(TxCtrl)(包括协议封装、数据净荷填入等),这些模块由PHY模块提供时钟,时钟为USBClk,频率为60MHz或者30MHz。端点有关寄存器、控制状态寄存器既有USB协议访问需求,也有AP端访问需求。AP端访问时时钟为APCIk,其频率由AP端决定,通常并不与USBClk同步。端点模块由于是数据通讯的核心部分,其控制寄存器、状态寄存器两个时钟都可能访问,其数据缓冲区,接收的时候由USBClk写入,APCIk读出;发送的时候由APCIk写入,USBClk读出。两个时钟域的逻辑划分如图4.13所示。图4.13USBLNKIP核两个时钟域示意图为了使得信号可以可靠的传输通过不同的时钟域,在本设计中采用了再同步器(如第三章所述),这样AP端的时钟频率(LINKIP核中该时钟命名为APCIk)不受USB时钟的频率相位(LmKIP核中该时钟命名为USBClk)的限制,两个时钟完全可以异步运行⋯84‘21】。不同时钟域的数据访问通过同步器来实现数据接收再同步。再同步器结构如图4.14所示⋯71。 第四章USB2.0设备控制器IP核设计来自U的数据APCIk。’一‘。’。。。’’1lIAPCIk域::◆啪呲≤图4.14不同时钟域的数据同步器结构测试模块(TestModeLogic)测试模块是关于IP核可测性设计接口以及IP核进行内建自测试(BIST,Build.In.Self二Test)的电路等,该模块可以根据需要保留或者删除。4.4.2USBLINKIP核参数化设计USB应用广泛,支持15个端点,四种不同的传送模式,然而,并不是在每个产品中都需要全部的15个端点和所有的工作模式,比如USB鼠标,只需要支持一个通用端点、输出工作模式、中断传送方式就足够了:而USB音响则需要支持较多的端点、输入/输出工作模式、中断传送方式和同步传送方式。在USBLINKIP核设计中,IP核要求适用尽可能广泛的应用,支持尽可能多的功能,也即支持尽可能全面的USB协议,同时,又要求能够简单快捷地实现自由剪裁,让用户能够在集成的时候方便地把不需要的电路模块去掉,定制功能,减小面积,降低成本。这样的IP核才具有商业价值,才有生命力。在USBL烈KIP核设计中,充分考虑了USB协议的整体要求,细分USB特征功能,针对各个细微功能设定了配置参数,集成者可以通过配置参数来定义IP核功能,精确匹配用户需求【4·1】【4·41。依据USB协议,定义了如下参数:1)端点配置参数端点编号参数全局参数,定义每个端点的编号。对USB的15个端点进行编号,在后续的设计中,端点的功能定义,资源配置等依据编号完成,端点编号方便文档说明,增加代码可读性和可维护性。 基于IP核的sOC设计关键技术研究,/EndpOIntsnumberparameterEPNUMBER0=0://控制端点专用parameterEPNUMBER1=1;pararneterEPNUMBER2=2;paramelerEPNUM【BERl5=15;端点方向参数全局参数,配置15个USB输入/输出端点。在集成的时候,可以通过设定这些参数,来控制某个端点是否需要。当该参数为“1”时,端点存在,其对应的代码将被包含在要集成的产品中,支持其对应的功能:为“0”时,关闭该端点对应的代码,其功能也被裁减。因为USB中的15个端点是对等的,都支持输入和输出,支持USB的四种传输模式,所以其代码是完全相同的,对于不同端点功能定义只是在端点内部进行功能裁减,这个工作是通过端点实例化时重置端点模块的内部参数来完成的。//EndpOintscOnnguratiOnparameterEPINDEFO=1;pararneterEPOUTDEF0=1;parameterEPINDEFl=l;parameterEPOUTDEFl=1;pa馏meterEPr卜DEF2=1;parameterEPOUTDEF2=l;parameterEPINDEFl5=1;parameterEPOUTDEFl5=1:端点缓存大小参数端点模块参数,配置每一个端点的缓冲区大小。用户可以针对不同的应用需求,不同的传输模式配置某个端点的缓冲区的大小。不同的端点,缓冲区的大小可能不一致,只需在模块调用的时候,进行端点缓存大小参数重置,就可以达到调整缓冲区大小的目的。//Endpointsbufrersize=(4,8,12⋯1024)B”es(multipleof4)pararneterEPINBUFO=64:p卸-舯eterEPOUTBUF0=64:pa_rameterEPn、JBUFl=1024:pm.ameterEPOUTBUF1=1024: 第四章USB2.0设备控制器IP核设计parameterEPlNBUFI5264:parameterEPOUTBUFl5264:端点缓存访问计数器深度参数端点缓存指针参数,配置访问每一个端点的缓冲区的计数器(即端点缓存指针)大小,和缓冲区的大小匹配。端点缓存的访问是通过端点缓存指针来完成的,计数器的计数范围和缓存器的容量是一种关联对应关系。//EndpointcounterwidthparameterEPll、IBCl=10;//EPbufrer1024parameterEPOUTBCl2lO;//EPbufl’er1024parameterEPlNBCl5=7;//EPbu胁r128parameterEPOUTBCl5=7;//EPbu髓r128端点类型参数端点模块参数,定义端点支持的传输类型。当为“l’’时,表示支持对应的传输,相关的代码在后续的综合等过程中被读入,产生相关电路,对应的功能有效;当为“O”时,表示不支持对应的传输,相关的代码在后续的过程中是被屏蔽的,因此也不会产生与其有关的电路。用户可以通过端点类型参数的重置来确定某端点支持的传输类型。//EndpointlypesencodingpararneterEPBULK=l;//批量传输parameterEPmT=1;//中断传输parameterEPISO=l;//同步传输parameterEPCTRL=1;//控伟0传输存储器总线配置参数全局参数,定义IP核和SRAM、FIFO等存储器之间的数据总线宽度(支持8/16/32位)与地址总线宽度。由于USB在进行批量传输、同步传输、中断传输时,需要的缓存比较大,而用作缓存的存储器通常是工艺相关的,因此在IP核设计中采取存储器外挂的形式,把缓存放在IP核之外,在IP核中留有存储器的访问接口,这样可以保证IP核的工艺无关性。总线配置参数就是完成IP核与外部存储器接口的数据总线宽度和地址范围定义的。//bu舵rSbuseswidthpafarneteruSBADDRwlDTH=8://USB数据存储器地址宽度parameterusBDAl’AwIDTH=32;//uSB数据存储器数据宽度 基丁二IP核的SOC设计关键技术研究以USB鼠标为例说明关于端点配置相关参数的配置方法,设该USB鼠标选用端点1,为输出端点,支持中断传送方式,端点缓存大小为4个字节,其对应的缓存指针深度为2比特,缓存以内部寄存器形式实现,寄存器宽度为8位,深度为4个字节,其参数定义如图4.15所示,除了必须存在的端点0为控制端点以外,其它未说明的参数,定义其为“O”,表示不支持该项参数定义的功能。端点编号参数EPNUMBERl=1端点传输类型EP州T=1端点方向参数EPOUTDEFl=l端点缓存大小EPOUTBUFl=4端点缓存指针EPOUTBUFBCl=2存储器总线USBADDRWIDTH=2IJSBDATAWIDTH=8图4.15USB鼠标参数配置示意2)API总线配置参数全局参数,定义IP核与应用模块接口的数据位宽和地址范围。其中,数据位宽支持8/16/32位。由于用户应用层的处理需求不同,可能会使用不同性能的处理器,这就导致了USBIP核会和不同数据带宽的AP连接,要求USBL烈KIP核支持8/16/32位的数据接口。API总线配置参数可以根据不同的AP进行重置,其中数据位宽参数APIDATAWIDTH可以配置成8/16/32,地址范围参数可以根据需求随意配置。//APIbuseswidthparameterAPIDA]rAwIDTH=8://8/16乃2API数据位宽par锄eterAPlADDRWlDTH=l3:∥API数据地址宽度3)中断向量参数全局参数,配置USB中支持的中断向量。在USB协议中规定了一些异常处理条件,与此匹配,在USBIP核中定义了不同的中断,中断向量参数是根据USB异常的级别对中断向量进行优先级编码,编码小的,优先级更高,在集成时,该向量优先级通常不作修改,当然,如果用户需要调整中断的优先级,也可以通过该部分向量的重置来完成,而无需重写代码。,,USBinterruptVectorSparameter【5:O】SOF—lRQ=6fb000000://parilmeter【5:O】HSPEEDLIRQ26.bOOO100;/, 第四章USB2.O设备控制器IP核设计4.4.3LINKIP核接口时序设计与仿真USBL附KIP核时序设计遵循第三章的IP接口时序设计原则。其中,UTMI信号时序如上节所述。API信号时序以AMBA总线规范为蓝本,按照接口信号尽可能同步的原则进行设计。4.43.1USBLlNKIP核接口描述关于USBL烈KIP核接口关键信号定义如表4.2所示⋯】1441。表4.2USBL烈KIP核接口描述UTMI信号信号名称类型描述USBClkIUSB时钟信号,由USBPHY模块提供。频率为30MHz或者60MHz。RstI硬件复位信号。ResumeI唤醒信号。ResumIntReqO唤醒中断请求信号。USBClk钟控输出。TxReadyI发送数据准备好信号,表明U1-MI数据总线已经准备好。USBClk钟控输入,属于和数据跟随的指示信号,需要增加弹性延迟单元。TxValidO发送有效信号,表明UTM数据总线有效。USBCIk钟控输出,属于和数据跟随的指示信号,需要增加弹性延迟单元。DataIn【7:O】IUTM接口,8位输入数据线。USBClk钟控输入。Dataout【7:O】OUTM接口,8位输出数据线。USBclk钟控输出。SuspendMo挂起UTM,0有效。USBClk钟控输出。OpMod【l:0】O设置UTM操作模式。oO:正常操作模式0l:无驱动lO:不支持位填充核M屹I编码ll:保留TennSelectO终端选择,全速或高速终端选择使能。。0:使能高速终端l:使能全速终端XcvrSelecto收发器选择,全速和高速收发器选择信号O:使能高速收发器1:使能全速收发器 基:I二lP核的SOC设计关键技术研究LineState【1:0】I线态,表明USB电缆的信号状态。00:SE001:J10:K11:SElRxActiveI接收激活。表示接受状态机已经探测到SYNC信号,并且被激活。USBClk钟控输入,属于和数据跟随的指示信号,需要增加弹性延迟单元。RxErrorI接受错误。表示在接受一个包过程中有错误发生。UsBClk钟控输入,属于和数据跟随的指示信号,需要增加弹性延迟单元。RxValidJ接受数据有效。表明总线是激活的。USBClk钟控输入,属于和数据跟随的指示信号,需要增加弹性延迟单元。AP接口信号信号名称类型描述APCIklAP端时钟信号,从API输入进来。APAdr【10:0】IAPI接口地址位。APCIk钟控输入。APDataIn【7:O】IAPI数据输入总线。APCIk钟控输入。APDataOut【7:O】OAPI数据输出总线。APclk钟控输出。APWRIAP端接口写信号。它标志数据输入总线数据有效。USBL烈KIP处于写状态。APCIk钟控输入,属于和数据跟随的指示信号,需要增加弹性延迟单元。APRDIAP端接口读信号。它标志数据输出总线数据有效。UsBLINKIP处于读状态。APCIk钟控输入,属于和数据跟随的指示信号,需要增加弹性延迟单元。APSize[1:0】I指示AP数据总线位宽。APclk钟控输入,属于和数据跟随的指示信号,需要增加弹性延迟单元。USBIntReqoUSB中断请求。APCIk钟控输出。USBIntvect【5:0]OUSB中断向量。APCIk钟控输出。Sl认M接口信号(双口RAM)信号名称类型描述mInAdrRD【l1:0】O输入端点bu仃er读地址。mInRDO输入端点bu舵r读控制信号。mInDataRD【7:O】l输入端点bu艉r读数据。mlnAdrwR【11:O】O输入端点bu髓r写地址。mInWRO输入端点bu肫r写控制信号。mInDatawR【7:0】O输入端点bu仃er写数据。 第四章USB2.0设备控制器IP核设计mlnDataV副O输入端点bu仃er数据有效标志信号。mOutAdrRD[1l:0】O输出端点bu仟er读地址。mOutRDO输出端点bu脏r读控制信号。mOutDataRD【7:O】I输出端点bu仃er读数据。mOu缓drWR【11:0]O输出端点bu髓r写地址。mOutWRO输出端点bu肫r写控制信号。mOutDataWR【7:0】O输出端点bu脆r写数据。romDataIn【7:O】l描述表rom数据输出。romAdr【9:O】O描述表rom地址。romRDO描述表rom读控制信号。4.43.2USBLINKIP核接口时序设计按照IP核设计的流程,在明确了IP核接口信号以后,进一步的工作就是约定IP核的接口时序。在USBL烈KIP核设计中,需要约定的时序分两部分:一部分是和USBPHY模块连接的接口时序,即UTMI时序,在上节USBPHYIP核中有详细描述,对于USBL烈KIP核来说,该部分接口时序是和USBPHYIP核耦合工作,完成两个模块之间的通讯的,所以其时序是相同的,但是输入/输出方向相反,在此不再赘述。另一部分是和AP端连接的接口时序,这部分又可以分成控制部分(MCU)和存储部分(SRAM)两部分来讨论,控制部分访问时序为外部应用对USB设备的访问,主要是读写寄存器操作。对于输入信号,采用再同步单元同步到USBClk:输出数据信号,也采用再同步单元同步到APCIk,输出控制信号同步到APCIk以后,再通过弹性延迟单元调整到AP外设要求的时序,其结构如图4.16所示,在API的读周期如图4.17所示,而图4.18则给出了写周期的情况【4·1l【441。一E_◆内部寄节。PDataInIKsul存器H图4.16AP端对内部寄存器的访问 基于lP核的SOC设计关键技术研究腆·k]厂]厂]厂]厂]厂]厂]厂]厂]厂APAd[]C亚二][][互叵][][玉匠[APsi冼二]工五二×二×二亟[×二义二三[[APDataIn;.。、,jAPD籼ut.二二]互D二二二]亘多[二二]亘亘)[二AP哩厂——]厂——]厂——]AP、VR图4.17AP控制读周期腆-k]厂]广]厂]厂]厂]厂]广]厂]厂APAdr二]互D[3④D[3匹DC!二三二二胭;ze二]互D[)互D[]匡D∈二二二二三APD砌n二]互D[3叵园[]@园[=三二二=APDataOut”.一撇、》.彳,or啪4_越州二、啪,jⅥh。。恤⋯.∥一·协‰。^宾,蝴矗扣竹~¨、,岬q罾APRDAP帆厂]厂]厂]图4.18AP控制写周期在AP读周期,为了保证接口信号能够正确的同步传输,读控制信号APRD需要至少保持两个APCIk时钟周期,当判断控制信号为高时,使能再同步单元,采样数据信息,在第二个周期输出数据APDataOut,因此对于AP端来说,在对APIⅢ为高的第二个周期采样的数据才是正确的。该时序中APSize控制接口数据总线位宽,APSize为“2’b00”时,当前传输数据是8位;APSize为“2’b01"时,当前传输数据是16位;APSize为“2’b10”时,当前传输数据是32位;APSize为“2’b11”保留,未定义【4·1】【4‘4】。在AP写周期,由APCIk时钟域来的数据APDataIn经过再同步单元同步到USBClk域,由USBClk完成写操作,所以对于写周期,在AP输出写控制信号以后,需要等待一个USBClk,才能开始下一个写操作。在USBLINKIP核中,状态寄存器由IP核完成控制,AP只进行读取操作,即USBClk控制写,APCIk控 第四章USB2.O设备控制器IP核设计83制读:控制寄存器,由AP端完成控制,IP核依据控制信息执行,即APCIk控制写,也可以读,USBClk只能读控制寄存器,不能修改它;数据寄存器对APCIk和USBClk都是可读可写的。在端点存储器需求较大时,外接SRAM,需要选用双口SRAM(Dualportsync.RAM),以支持USBClk和APCIk对数据的读写,其接口信号如图4.19所示,USBClk和APCu(访问SRAM周期必须与SRAM时序要求匹配。USBL小KIP核与双口SRAM接口时序如图4.20,图4.2l所示。双口SRAMadnvradrrddatawrdatarddaⅢalwrrdclkwrclkrd图4.19端点存储器SRAM接口图usBC呶APC哟]厂]厂]厂]厂]厂]厂]厂]厂]厂蚰以㈣cm—咂]至涎虱里涩型互)臣至三互叫山ata呱m㈨唾Ⅸ三炮型堕涎鳅堕憋三至三三至虽眦删栅删厂———]图4.20SRAM读时钟周期仙c瞰usBc-妁]厂]厂]厂]厂]厂]厂]厂]厂]厂一d州mm似匝×巫涎9匹焚互[x三!三二至二一ata嘲moutoata匝]匝焚弓匝殃垂烂]二二二二二二........一、-.......J、-.......J’L.......一1L.......J、-......一1L.......................k...二.....................一m·山at瞳二题残亘ⅪD匦X=匹====咖n帆cmout帆,厂—————]图4.2lSRAM写时钟周期 基于IP核的soc设计荒键技术研究4.433usBLINl(IP棱接口时序仿真结果usBLINKIP核的uTMI时序和usBPHYIP核的uTMI时序是一致的,唯一的区别是输入,输出相互耦合,此处不再赘述。关于AP接口,由于APRD、APwR、APslze是控制信号,在sOc集成时会连接到AP端的IP核或者外部信号,这些信号属于轻负载信号,如果布局位置接近.其延迟就非常短,为了保证时序正确性,不得不在这些控制信号上引入延迟,传统的1P核需要增加延迟单元,这种延迟单元变化范围很人,在IP核模块间加入这种零散的逻辑门每修改一次都必须重新布线和作s1A,需要多次反复才能侈时序收敛,耗时费力,给布局布线带来了很大田扰。采用TPcRIP核设计,在IP核内部引入延迟模块,减少粘合逻辑.使得IP核的时序约束更高效,布局更简洁,提高设计成功率。关于usBLINKIP核AP接口时序仿真结果如图422。r:舅i嚣A蕈而;.i纛而ii;-:图422usBLINKlP核AP接口时序后仿真结果图422所示的时序是usB设备控制器接收完数据,发出中断请求,AP响应中断请求,读取中断标志寄存器判断中断类型,并回写中断寄存器相戍的标志位(中断标志寄存器为写清零寄存器),从该时序仿真结果可以看出,仿真结果和设计时序是致的。sRAM通常是由foundry提供的IP核,其布局也同样会发生控制信号时序紧张,需要引入延迟的情况,但是sRAM对于设计者来说,很难改动设计,因此在usBLrNKIP核的sRAM接口,对于控制信号mIⅡRD、moutRD、mInwR、mOutwR、mhlD如Ⅷ也加入了弹性延迟单元,方便时序调整。该IP核硅验证时,采用sMIco25岬标准cMOs工艺,输入端点配置5KB数据存储器,输出端点配置5KB数据存储器,如果采用常规的接口设计.综合采用过约束技术,时钟周 第四章usB20设备控制器IP核设计期没为142ns(频率约为70MHz),得到满足约束的网表.针对该网表用cadence公司sOcEncounter进行布局布线,用sy“。p8ys公司PnmetlmeJj具检查时序,出于sRAM面积较大,占据芯片面积近三分之二,sRAM接口时序多次不能通过p丌mctlme检查,先后经过7次综合(打开mplace,不改变网表,只增加或者减少bu腩r)、优化增加延迟bu艉r和市线调整(布局币改变),才得到满足s1A通过bc-wc检查(bcstcase-worskase)的版图。采用TPcRIP棱技术,同样的设引仅仅在一次布线之后调整控制信号(mIrlRD、moutRD、mInwR、mOutwR)的FDu单元参数,就获得了时序更可靠的版图。该版图后仿真sRAM接口部分时序如图423,图424所示。鹾置量剿宣:■量虽图423usBL州KfP枝sRAM接口读时序后仿真结果2薷爱黑恿霁i面碰蕊盈菌菌函瞬嗣嗣鼍ol≈、x强羁≯鱼旦:·-]a·;;+∞目i·^^一h^打开i}’i丽mii.i_t‘_i图424usBLINKIP核s队M接口写时序后仿真结果 基丁IP核的SOC设计关键技术研究4.4.4综合结果及版图4.4.4.1综合对于USBLⅣKIP核的综合是基于SMICO.25“m标准CMOS工艺库的。其核心约束首先是对时钟USBClk的约束,采用过约束技术,时钟周期设定为14.Ons,对应70MHz频率,时钟不确定窗口为2.5ns,IP核的绝大多数时序单元工作在该时钟域。对于AP端时钟APCIk,周期约定为7ns,频率约140MHz,工作在APCIk时钟域的寄存器较少,其对IP核的寄存器访问通过再同步器完成,IP核对该时钟没有明确的频率要求,约束只是给出了AP端通讯的时钟上限而已。对于输入信号最小时间约束设定为0ns,不作限制,输出信号最大延迟约束设定为2.5ns,但对于轻负载控制信号增加FDU模块,在控制信号和时钟延迟失配时,通过修改参数对时序予以调整。Synopsys公司designcompile是市场占有率最高的综合工具。LINKIP核在该平台上的关键综合约束脚本表述如下【4·22】【4-23】://时钟约束create—plock-name”USBClk”-periodJ彳一waVef.o肌{”0”“7”){”USBClk”)set—dontjouch—net、Vorkfind(clock,”USBClk”)create—clock—narne”APCIk”-period7-waVefonn{”O”“3.5”}{”APCIk”)set—dontjouch—networknnd(clock,”APCIk”)//输出约束set--outpuLdelay·clockUSBClkclkusb_p—max—fall2.5”TXValidt’seLoutpui—delay—clockUSBClkclkusb—p—max-rise2.5”OpMod【l】”//输入约束seLinput’delay—clockUSBClkclkusb-p—min—fallO”TxReady”seLinput-delay—clockUSBClkclkusb—p—min-nse0”RⅨValid” 第四章USB2.O设备控制器IP核设计87//翻译、映射、优化compile.mape疗brtmedium通过上述约束,综合器完成电路的映射和优化,其结果报告如下:Designcompile面积报告:Numbefofports:l08N啪berofnets:30197Numberofcells:28343Numberofreferences:l37Combinationalarea:2l795.414843Noncombinational2Lrea:108100.570312NetIntercorulectarea:34530.34453l1btaicellarea:126895.984375Totalarea:161426.328125Primetime静态时序分析报告:OperatingConditions:WCCOMWireLoadModelMode:enclosedPathGroup:USBCIkPathType:ma)【PointLibra巧:smic25一ssFanout1’ransIncrPathclockUSBClk’(riseedge)clocknet、^,orl(delay(propagated)preg[1】/CK(FFEDHD2X)1.35U162/A(AND2HD2X)dataa丌ivaltimeclockUSBClk。(riseedge)clocknetworkdeIay(propagated)Ul62/A(AND2HD2X)cIockgatingsetuptimedatarequiredtimeO.002.360.002.36r2.720.01&10.07r10.078.302.3lO.OO8.3010.6lr10.6l10.61 88茎.!I!堡塑!旦竺堡生茎堡垫查婴壅一—————————————————————————————一。。datarequiredtime10·61da£a枷vallime’10·07一⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一⋯⋯⋯⋯⋯⋯⋯⋯⋯一⋯⋯⋯一⋯⋯一⋯⋯⋯⋯slack(MET)O·54OperatingConditions:WCCOMWireLoadModelMode:enclosedPalhGroup:APCIkPathType:maXPoint“brau叫:smic25一ssFanoutTransIncrPath一⋯⋯⋯一⋯⋯一一⋯⋯一⋯⋯⋯~一⋯一⋯⋯⋯⋯⋯⋯⋯一⋯⋯⋯一⋯。clockAPCIkt(riseed学)O.ooclocknetworkdelay(I)Topag砒ed)2.182·l8AP_bufreg【4】/CK(FFEDHD2X)1.41O·OO2·18rcrcreg_reg【1】/D(FFEDHD2X)dataa而valtimec】ockUSBClk’(riseedge)clocknetworkdelay(propagated)crcreg-reg【1】/CK(FFEDHD2X)1ibrarysetuptimedatarequiredtimedatarequiredtimedataarrivaItime一一⋯⋯⋯⋯⋯一⋯-slack(VIoLATED)0.06&0.150.00&7.002.18.0.099.17r9.17r9.177.OO9.18r9.09.9.17⋯⋯⋯⋯一⋯一⋯⋯⋯⋯⋯⋯~一⋯⋯‘。.O.08从sTA结果可知,该版图可以工作在时钟usBclk为60MHz的频率,满足usB2.O协议和UTMl规范要求。其APclk分析结果显示APclk可以运行在100MHz。 第四章usB20发薪控制器IP拄殴计44.4.2版图配合usBPHYIP核工主二的选择,便于进一步整体形成usB20产品,LsBLINKIP核sl验证选用了中芯国际(sMIc)o25um标准cMos工艺,参数殴定采用最』、配置,尽ur能全面测试II,陵的功能,其参数配置定义了15个输入/输出端点,配置5KB输入存储器和5KB输出存储器,支持四种传送方式,uTM接口采用8位数据线宽,AP接口采用32位数据总线宽度。在芯片验证时,其总线输入/输出合并为双向总线,控=|;|.端子有效时输出有效,否则输出为高阻忐,总线处十输入状态。验证样片首先采用syn。psys公司Deslgnc。mplle综合器对代码进行综合,然后用cadence公司sOcEncouncer布线工具完成布局布线,通过MentorGraphlcs公司callbre工具检查设¨规则,最后采用svnops?s公司PrimeT;me工具进行静态时序分析(slA,statlcT1mlngAnalysls)H2”¨”;在静态时序分析和后仿真满足要求后进行Tape,Ou{流H,其版图大小为:3103×3369um2,该版图经过svno口svs公司star.xT工具提T舣奇生参数,进行wc-bc条件F的静态时序分析,满足设计性能要求。通过sDF(slandardDelayFoⅡna【)参数标注和延迟拉偏的后仿真,验证版图功能和时序均符合设讨要求,毋终流片测试验证IP梭功能正确。图425给出了LINKIP梭硅验llF的版图,图426则是该版图流片样片的测试扳。剀k㈦一i罔425usBuNK仆)核版斟 基于【P核的soc设“关键控术研究圈426usBLINKIP核验证板4.5本章小结奉章依托国家863计划vLsI专项“usB20IP核开发”二Ⅲ目和“usB2OIP核产业化”项目,提出了针对usB的参数化可配置方法,并依据TPcRIP棱的设计方法设计了支持usB20协议规范的usBPHYIP檀和usBLINKIP核,给出了IP核的设计框图.得到如下结果:】)采用参数化设计对端点定义、端点类型、传送方式、输入/输出存储器、FIFO深度等细分功能都进行了可配置参数定义,通过参数配胃实现功能裁减。2)AP接口总线、uTMI数据总线采用参数实现可配置设训,支持与不同数据宽度的IP核接口。3)PHYIP核和LrNKIP核关键控制信号采用弹性延迟单元,实现控制信号延迟在IP核内部可调.该技术在sOc整体布图中优势突出,较大减轻固接口延时不匹配而带来的设计困扰。4)LrNKIP核AP数据接口采用再同步技术,隔离了usB时钟域和API时钟域.使得IP核可以平滑连接到AP模块,支持多时钟域工作,拓展了AP部件的频率选择范围。5)采用sM】co25umcMOs工艺完成了PHYIP枝和LINKIP枝的版图设计和流片实验。结果表明,采用TPcR设计方法,该LIsBIP枝接口时序范闭较宽、能够适应更多的外部IP时序,参数化配置使得IP核电路规模可伸缩,较好地匹配不同的应用需求。 第五章8位高性能CPUIP核——XDMARC设计9lIP核——XDMARC设计在IP核中,嵌入式MCU无疑是最关键的一种,也因而成功了像ARM这样的专业IP提供商。本章主要研究可配置MCUIP核的实现方法,并通过8位嵌入式的高性能MCUIP核来进一步验证前面提到的IP设计方法和时序模型。5.18位MCU体系结构XDMARC(XiDianMicroelectronicsAdvancedⅪSC)是针对嵌入式应用自主开发一款RISC(ReduceInstlllctionSetComputing)微处理器内核IP,采用Harvard结构,程序、数据分别具有各自独立的存储器和总线,如图5.I所示。以流水方式对存储器进行访问,当执行某一条指令时,下一条指令被预先从程序存储器中取出,使得MCU整体性能接近1IPC(InstmctionPerCycle)⋯弓’4I。数据存储空间连续编址,包括32个通用寄存器,64个I/O寄存器,64KBSRAM,数据空间可分页扩展容量上无理论上限限制。内部32个8bit通用寄存器全部直接与ALU相连,构成高速寻址寄存器堆,相当于32个累加器,因此只需要一个时钟周期的寻址时间,就可以完成一次数据完整运算,即寄存器堆寻址、取操作数、操作执行、结果回写寄存器堆只需一个时钟周期,使得该MCU结构简单,实现方便,性能优越!协处理器ll程序存储器PRoMlIsRAM堡!兰兰兰H兰堡望竺一8耐磊:’‘‘一i砖数据?总线1l、‘⋯⋯。,l_■●00{篓{据撵iI●时/计数器时/计数器lADC/DAC比较器中断控制器它控制逻时钟单元II测试单元lIGPIoIluARTI1watchDog图5.1XDMARc内核结构及其外围配置图葶o.~一一。。,一E竺一丁一rl一差 基丁JIP核的SOC设计关键技术研究XDMARCIP核遵循设计复用原则,接口丰富,配置灵活,可以内置FLASH,SRAM或EEPROM,用于ISP器件,令产品更容易升级;外围能够方便的挂接UART、ADC/EIAC、AnalogComparators、WatchDogTimer、Intem】ptController、Timer/Counters、SPI等,具有WDT、PWM、省电模式等功能⋯⋯,广泛适于通讯、军工、医疗、金融电子领域的研发。XDMARcIP核采用多寄存器式的刚SC结构,指令集兼容市场占有量巨大的AVR指令集,易于找到软件开发环境【5‘5巧舟J。5.2XDMARCIP核设计5.2.1xDMARCIP核接口定义XDMARCIP核实现了微处理器的计算与控制部分,其丰富的外围配置需要靠其它的IP核来配合完成,为此,XDMARCIP核设计了友好的接口,图5.2为XDMARCIP核接口配置图。作为IP核,其接口设计和芯片接口设计有很大的不同,芯片设计由于管脚数目、成本等限制,接口功能复用比较多,数量有限,而IP核作为SOC内部部件,要求接口功能简明,总线输入/输出分离,避免三态等不可测逻辑,对于S删、ROM、FIFO等工艺相关的IP核预留有接口,同时对IP核可测性设计部分要有和外部连接的接口。和芯片设计确定的接口时序不同,IP核也因应用场合的不同和连接其它IP核的不确定性,其接口时序要求更具弹性,要求适用范围更广。IP核接口定义如表5.1【55】【59】⋯o】【5171。clock(clkProgramMem。吐i嚣I/oRegistersDataMem0巧radrjioreIioweL厂ramreIramwe.Jramadr1dbuS0ut_buSinw缸chdog.[wdricore571coresl}.scanTestcoresejireset、迳甄u。}.c。ntrolirqlines1irqac!(.}.Intemlpoi确ackadI‘.,sleepi1j翠ok}.sleepcontr01globintJ图5.2XDMARCIP核接口配置图 第五章8位高性能CPUIP核——XDMARC设计93表5.1XDMARCIP核接口说明信号方向描述时钟端口clkinput时钟。整个IP核触发器通过时钟的上升沿驱动。控制端口input复位。高有效。当该信号为高时,程序计数器、状态寄存器、堆栈ireset指针被复位到“0”($0000)。数据总线dbusout输出为“0”($00)、I/O写控制信号iowe为高,I/o读控制信号iore和数据存储器控制信号(ramre,ramwe)为低。MCU等待信号。clk钟控输入。用于访问速度较慢的存储器(“ld”waitinput“st”指令)时。给MCU增加等待周期。wait为高时,IP核重复当前周期,否则正常执行。input隔离输出总线控制信号。clk钟控输入。用于控制数据输出总线。leavbus当为高时,数据输出总线dbusout直接连接到输入总线dbusin,I/O寄存器和数据存储器控制信号保持低。∞寄存器堆adr【5:0】outputI/o寄存器地址堆总线。clk钟控输出。是否有效由iore或iowe控制。I/o寄存器堆读使能。cIk钟控输出,属于和数据跟随的指示信号,lOreOutput需要增加弹性延迟单元。用于控制64个I/o寄存器读出。64个寄存器也被映射到数据存储器空间,Ⅲ核可以通过iore或者ramre信号控制读出I/O寄存器数据。帕寄存器堆写使能。clk钟控输出,属于和数据跟随的指示信号,10Weoutput需要增加弹性延迟单元。用于控制64个I/O寄存器写入。64个寄存器也被映射到数据存储器空间,IP核可以通过iowe或者r锄we信号控制写入I/o寄存器数据。数据存储器端口数据存储器地址总线。clk钟控输出。是否有效由r锄re或ramweramadr【15:0】Output控制。数据存储器读使能。clk钟控输出,属于和数据跟随的指示信号,需ramreOutput要增加弹性延迟单元。用于SRAM数据存储器读控制。IP核通过ramre信号控制读出数据存储器内容。数据存储器写使能。clk钟控输出,属于和数据跟随的指示信号,需riUnWe0utput要增加弹性延迟单元。用于SRAM数据存储器写控制。IP核通过姗we信号控制写入数据存储器内容。数据存储器输入数据总线。clk钟控输入。全部数据通过数据输入总dbusin【7:0】input线dbusin传送到IP核。传送地址由ioadr或者啪adr确定。数据存储器输出数据总线。clk钟控输出。全部数据通过数据输出总dbusout【7:0】0utput线dbusout送出IP核。读出地址由ioadr或者ramadr确定。 基丁.IP核的SOC设计关键技术研究表5.1XDMARC内核接口说明(续)信号方向描述中断控制端口中断请求线。clk钟控输入。可以定义7个中断请求总线,高位优先。irqlines【6:0】input当有中断发生且被响应时,程序保存现有运行状态,转入中断程序入口,进行中断处理,完成后恢复中断前状态,继续运行程序。中断响应。cIk钟控输出。当中断执行时,irqack保持高电平一个周irqackOutput期,指示清楚对应的中断标记位。信号irqackad在同一周期执行。irqackad[2:0】output中断响应地址。cJk钟控输出。仅仅在信号irqack为高时有效。低功耗控制端口睡眠模式使能。clk钟控输出。当执行睡眠模式指令“sleep”时,sleepioutput该信号为有效,IP核进入睡眠模式,时钟停止。中断请求发生信号。clk钟控输出。当lP核处于睡眠模式(时钟停irqOkourput止)时,如果该信号有效,表明有中断发生,睡眠控制器重新启动时钟信号,IP核进入工作模式。全局中断使能信号。clk钟控输出。该信号是状态寄存器的中断允globintOutput许比特“I,,的输出,控制是否允许中断发生。存储器编程端口程序计数器(pc)装入使能。clk钟控输入。该信号为高时,允许把pcJdeninput程序计数器内容装入数据输出总线。程序计数器(pc)装入指示。clk钟控输入。pcld【l】为高,装入Pcpcld【1:0】Input高8位,否则若pcld【o】为高装入PC低8位。看门狗端口Output看门狗复位指令。clk钟控输出。当执行看门狗复位指令“wdr”时,wdri该信号有效,用于控制看门狗电路复位。程序存储器端口output程序计数器。cJk钟控输出。程序存储器地址指针,该计数器大小pc【15:O】决定了程序存储器的容晕。程序存储器数据总线。clk钟控输入。从程序存储器读出的指令通inst【15:0】input过该总线输入到IP核。5.2.2XDMARCIP核参数化可配置设计方法XDMARCIP核属于嵌入式CPU核,其设计方法遵照第3章的IP设计方法,但又有其特殊性。首先进行系统设计,确定IP核的系统划分如图5.1(图中虚线框内为XDM√U池IP核内核),从图中可知,XDMARCcore包含9个部分,分别为:指令寄存器II江G(InstructionI迮Gister),16位,用于保存从程序存储器中 第五章8位高性能CPUIP核——XDMARC设计95读取出来的指令,包含操作码,立即数和通用寄存器或者I/O寄存器地址。指令译码器IDEC(InstructionDECode),将指令译成控制代码,送入控制器形成控制信号,控制IP核动作。通用寄存器GR(GeneralRegister),XDMARC中有32个通用寄存器,用于给算术逻辑单元(ALU)单元提供操作数,并保存运算结果。算术逻辑单元ALU(心itmeticLogicalUnit),直接和32个通用寄存器连接,在单周期内完成算术、逻辑和位操作。状态寄存器SREG(StatusRegister),状态寄存器记录运算或者操作的结果状奠cJLyO程序计数器PC(ProgramCounter),程序计数器计算程序入口地址,从而控制程序的执行。协处理器CoP(Coprocessor),处理乘法等特殊指令单元。指令寄存器IREG中检测到指令属于乘法等特殊指令,转移到协处理器进行译码执行等处理,结果完成以后,通过数据总线写入数据存储器中,包括通用寄存器、I/O寄存器和SRAM。堆栈指针SP(StackPionter),指示数据SRAM的堆栈顶地址。子程序和中断执行时程序出口被保存在该位置。执行控制器EC(ExecuteController),指令译码以后得到的控制信号,控制ALU动作,操作数选取等。伙)寄存器10REG(Input/OutputRegister),用于配备外围设备接口,是IP核和外围设备交互的数据通道。在这些模块中,指令寄存器IREG,指令译码器IDEC,通用寄存器GR,状态寄存器SREG,程序计数器PC,堆栈指针SP,执行控制器EC,算术逻辑单元ALU属于MCU结构的基本单元(文中称为XD眦CCore),要兼容AVR指令集,这些模块在IP核中必须存在,无配置参数开关。而对于I/O寄存器模块,和处理乘法指令等特殊指令的协处理器,会因为应用需求的不同而对I/O接口的要求不同,对于该部分可以根据客户需要通过参数定义来选取,只有定义过的I/O寄存器才包含到IP核中来,而不必要的I/0接口则予以舍弃,使得设计更精简,更经济。通过参数化配置,该款CPU内核最小配置可以裁减至大约8000门(支持基本AVR指令和GPIO),而最大配置可扩展至20000门以上(支持A、,R扩展乘法指令、更多外设)。其在SMIC0.25“mCMOS工艺条件下,其最小配置性能可达200MIPS。 基于lP核的SOC设计关键技术研究数据存储器32个通用寄存器64个¨.)寄仃嚣内部SRAM数据存储器(512x8)外部SRAM扩展存储器(a)全局地址$0000$001F$0020$005F$0060$025F$0260$FFFFI/O地址$00$01$3D$3E$3FSPLSPHSl迮G(b)全局地址$0020$0021图5.4(a)XDMARClP核存储器映射图(b)I/o寄存器堆组织结构图$005D$005E$005F在XDMARCIP核中,I/O寄存器空间为64个字节,既可以通过ioadr单独寻址,地址范围为$oo~$3F,也可以通过ramadr进行全局寻址,这时候是把I/O寄存器映射到全局数据存储器地址空间的,其地址范围为$0020~$005F。I/O寄存器在数据存储器中的全局映射如图5.4(a)所示,图5.4(b)则给出了I/O寄存器的组织结构。鉴于在ATMEL公司的AVRMCU产品中,不同型号其I/O寄存器地址、功能定义并不一致,但是它们都兼容相同的AVR指令集,因此,对于I/O空间地址和寄存器功能也采用参数化设计,在集成实现时,不必做代码修改,只需简单地进行参数重置就可以实现对ATMEL不同产品的兼容【5。5。5。8J,同样的道理,也可以通过参数设定定义不同性能的芯片,衍生出系列产品。在XDMARCIP中,我们定义了如表5.2,表5.3所列的参数。表5.2中参数的缺省值为“l”,表示该参数对应的功能包含在IP核中,为“0”,表示该参数对应的功能被去除。其中状态寄存器配置参数DEFSREG必须定义为“1”,因为状态寄存器SREG在MCU中是必须的,其地址参数SREGADR缺省定义为$3F($5F)。用户可以针对需求对缺省参数进行修改,达到精确匹配I/O外设,去除不必要的I/O寄存器的目的。对于的寄存器的地址,可以根据SOC整体的地址分配进行重新安排,通过修改地址参数定义就可以达到地址修改的目的,而无需修改具体代码,减少出错率15_llJ。 第五章8位高性能CPUIP核——XDMARC设计97表5.2XDMARCI/o空间配置参数与功能定义配置参数缺省值功能DEFSREGl状态寄存器配置,恒定为l。堆栈指针高位定义。为0时,子程序和中断程序空间只能开辟DEFSPHl在数据区的$96~$255区域。DEFSPL1堆栈指针低位定义。为0时,不允许程序嵌套。DEFGIMSK1全局中断屏蔽寄存器定义。确定全局中断是否被响应。DEFGIFRl全局中断标志寄存器定义。表明全局中断是否发生。定时器/计数器中断屏蔽寄存器定义。确定定时器/计数器中断DEFTlMSK1是否响应。定时器,计数器中断标志寄存器定义。表明定时器/计数器中断DEFTIFRI是否发生。MCU通用控制寄存器定义。用于SOC集成时MCU外部访问DEFMCUCRlSRAM时对外部管脚第二功能的控制。定时器/计数器O控制寄存器(8位)定义。定义定时器/计数器DEFTCCR0lO工作模式,触发方式等。DEFTCNTOl定时器/计数器O(8位)定义。定时器/计数器1控制寄存器A定义。定义定时器/计数器l工DEFTCCRlAl作模式,触发方式等。定时器/计数器l控制寄存器B定义。选取定时器/计数器l的DEFTCCRlBl计数时钟。DEFTCNTlHl定时器/计数器1高字节定义。DEFTCNTlL1定时器/计数器1低字节定义。定时器/计数器l输出比较寄存器A高字节定义。用于和定时器DEFOCRlAHl/计数器1高位比较。定时器/计数器1输出比较寄存器A低字节定义。用于和定时器DEFOCRlAL1/计数器l低位比较。定时器/计数器l输出比较寄存器B高字节定义。用于和定时器DEFOCRlBH1/计数器l高位比较。定时器/计数器l输出比较寄存器B低字节定义。用于和定时器DEFOCRlBLl/计数器l低位比较。定时器/计数器1输入捕获寄存器高字节定义。保存捕获的定时DEFICRlHl器/计数器高字节。定时器/计数器l输入捕获寄存器低字节定义。保存捕获的定时DEFICRlLl器/计数器低字节。DEF、vDTCR1看门狗定时控制寄存器定义。用于看门狗的定时控制。 98基于IP核的SOC设计关键技术研究表5.2XDMARCI/o空间配置参数与功能定义(续)配置参数缺省值功能DEFPORl.AlA端口数据寄存器定义。DEFDDRAlA端口数据方向定义。控制A端口的输入/输出状态。DEFPn、JAlA端口输入脚定义。引入A端口的信号。DEFPORTB1B端口数据寄存器定义。DEFDDRB1B端口数据方向定义。控制B端口的输入/输出状态。DEFPn、JBlB端口输入脚定义。引入B端口的信号。DEFPORTC1C端口数据寄存器定义。DEFDDRC1C端口数据方向定义。控制C端口的输入/输出状态。DEFPn、jC1C端口输入脚定义。引入C端口的信号。DEFPORTD1D端口数据寄存器定义。DEFDDRD1D端口数据方向定义。控制D端口的输入/输出状态。DEFPn、JD1D端口输入脚定义。引入D端口的信号。DEFUDR1UARTI/O数据寄存器定义。DEFUSR1UART状态寄存器定义。DEFUCRlUART控制寄存器定义。DEFUBBR1UART波特率寄存器定义。表5.3XDMARCI/O空间地址参数定义地址参数缺省值’功能SREGADR$3F($5F)状态寄存器地址。SPHADR$3E($5E)堆栈指针高位地址。SPLADR$3D($5D)堆栈指针低位地址。GIMSKADR$3B($5B)全局中断屏蔽寄存器地址。GIFRADR$3A($5A)全局中断标志寄存器地址。TIMSl诅DR$39($59)定时器/计数器中断屏蔽寄存器地址。TlFRADR$38($58)定时器/计数器中断标志寄存器地址。MCUCRADR$35($55)MCU通用控制寄存器地址。TCCROADR$33($53)定时器/计数器O控制寄存器(8位)地址。TCNTOADR$32($52)定时器/计数器0(8位)地址。 第五章8位高性能CPUIP核——XDMARC设计表5.3XDMARCI/o空间地址参数定义(续)TCCRlAADR$2F($4F)定时器/计数器l控制寄存器A地址。TCCRlBADR$2E($4E)定时器/计数器1控制寄存器B地址。TCNTlHADR$2D($4D)定时器/计数器l高字符地址。TCNTlLADR$2C($4C)定时器/计数器l低字:节地址。OCRlAHADR$2B($4B)定时器/计数器l输出比较寄存器A高字:肖地址。OCRlALADR$2A($4A)定时器/计数器l输出比较寄存器A低字节地址。OCRlBHADR$29($49)定时器/计数器l输出比较寄存器B高字节地址。OCRlBLADR$28($48)定时器/计数器1输出比较寄存器B低字节地址。ICRlHADR$25($45)定时器/计数器l输入捕获寄存器高字节地址。ICRlLADR$24($44)定时器/计数器1输入捕获寄存器低字节地址。WDTCRADR$21($41)看门狗定时控制寄存器地址。POIU’AADR$lB($3B)A端口数据寄存器地址。DDRAADR$1A($3A)A端口数据方向地址。PINAADR$19($39)A端口输入脚地址。PORTBADR$18($38)B端口数据寄存器地址。DDRBADR$17($37)B端口数据方向地址。PINBADR$16($36)B端口输入脚地址。PORTCADR$15($35)C端口数据寄存器地址。DDRCADR$14($34)C端口数据方向地址。Pn、jCADR$13($33)C端口输入脚地址。PoRTDADR$12($32)D端口数据寄存器地址。DDRDADR$11($31)D端口数据方向地址。PINDADR$1O($30)D端口输入脚地址。UDRADR$OC($2C)UARTI/o数据寄存器地址。USRADR$OB($2B)UART状态寄存器地址。UCRADR$OA($2A)UART控制寄存器地址。UBBRADR$09($29)UART波特率寄存器地址。注:括号外地址为I,O空间单独编址时的地址:括号内为统一编址时的地址。 100基于IP核的SOC设计关键技术研究5.23xDMARCIP核接口时序设计从图5.2可知XDMARCCore共有9种外部接口,其中时钟(clk)接口为IP核的时钟输入信号,扫描测试(ScanTest)接口为可测性设计接口,接口设计遵循同步设计原则15.9】。程序存储器(Progr锄memo巧)接口在时钟信号的上升沿,从外部程序存储器读入指令,保存在指令寄存器中,时序如图5.5所示。其接口输出信号为程序地址指针pc,采用钟控寄存器输出;输入信号为inst,在clk上升沿,采样保存在指令寄存器中。接口信号完全同步设计。图5.5程序存储器接口时序钟控I/O寄存器接口用于CPUIP核和I/O部件的连接,通常是一些外设IP核。在SOC集成时,这些I/o部件通常被集成在同一SOC中,XDMARCCore内核对I/O寄存器的访问和对CPU内部寄存器访问相似,其中控制信号iore、iowe通过弹性延迟单元FDU和其它IP核连接,其它控制信号和数据均采用钟控设计,其时序如图5.6,图5.7所示。图中虚线部分表示弹性延迟单元FDU对iore和iowe的调整范围。:cvclel:nextinstructjon:出厂]厂]厂]厂]mii[7—_弋∑i渤dr-二二二二D∈叵工K二=二二咖sin—_÷———k玉[∑卜_—一÷—一dbusin—————;.—————————;—一7valId:’卜———————}———————一·o、..............JJ·图5.6l/o寄存器堆接口读时序kCn眦弘嘣一 第五章8位高性能CPUIP核——XDMARC设计lol!c、,cIeI!nexlins£ruction!ctk广]广]广]广].owe!i[了1弋二二二.{iowe!/⋯⋯/??!\:二.ioaa二二£二二二)互叵=X二二£二二二dbu5叫‘——o———j_<气而—t卜——4——一———■——————_-弋翌!!璺:广————1————一图5.7∞寄存器堆接口写时厅DataMemory接口也就是SRAM接口,S黜州访问不像CPU内部寄存器那样采用简单寻址方式,有专门的指令“ld”和“st”,寻址方式比较复杂,其地址需要经过复杂运算,为了避免地址运算过程造成的总线频繁变化,SI认M读访问先对地址进行计算,保存,然后和控制信号、数据一起送出,因此SRAM读需要两个时钟周期:对于写,先从总线dbus伽t采集数据保存,然后计算写地址,写入数据。对于外部接口来说,写过程时先送出数据,再送出控制信号,单一字节操作需要两个周期,多字节操作则为流水作业,可以连续写入。SRAM外部时序信号如图5.8,图5.9所示。对于读写控制信号,考虑适应更多的SRAM接口要求,加入了弹性延迟单元FDU。图中虚线部分表示弹性延迟单元FDU对mmre和r锄we的调整范围。jcyclcl;cycle2{nextinstruction;c,k厂]厂]厂]厂]r矾re—L...1[7_1弋::∑ir矾re:://:\\:————。__o’T’‘’o。。。o。‘’‘-o’’’’一⋯⋯⋯⋯‘●’。‘。。——————1’————————‘—‘。。o。。一ramadr二二[二二j)5叵=X二二=二二dbus;n——÷.———卜(五j)——-÷——一图5.8数据SRAM接口读时序icycIclicyclc2inextin咖ction;ctk厂]厂]厂]厂]mmweil[7—卞∑l一舢we::Z⋯/:\∑一dr二j二二二DG叵=K二=二二dbusout———‘卜-<∑垒坚i>—————卜——————卜————一I..-_.._...__.。_-_.I..--JL—l图5.9数据SRAM接口写时序 基丁.IP核的SOC设计关键技术研究中断控制接口需要保存程序执行现场,IP核在侦测到中断以后,确定允许响应中断,第一步先保存程序指针PC,把PC寄存器的值送到数据总线dbusout,高位在先,低位在后,同时送出中断响应信号,指示中断源撤消中断请求:第二步确定PC保存地址,计算并发送堆栈指针SP到地址线,送出SRAM写控制信号,把PC值保存在sP指定的位置;第三步PC装入中断入口地址,程序进入中断程序处理。中断请求响应过程时序如图5.10所示。该时序和SRAM相关的部分必须符合SRAM的设计时序要求。oycIelcyclez:cycle3CycIe4-ItIlc,k厂]厂]厂]厂]广]in:‘?:‘三!————一厂五;品磊:-卜一Ir一一;.一一——土一一.№。y。I。———}弋竺!竺!i>-————÷-————■—————.}———一帅小,l/一—1——]『\{l●,。。‘——’。。-_。。—。。■_、,。__‘。-_。__···_’■、raJmdr————卜一——————{-———————}弋tackaddress:Xslackaddfess-Il>-——一●、-··__·—-_-·I_-。一、_-_____--—-_·_‘100怒三——}——_}∈五正参工五杰>-——÷一todbusout————寸———————’÷弋!!些!墨!X!!∑!墨!i户——————■———一⋯e;i[7.丁——.]_弋1mmwe:/\、——————’—T—————————————1——————。——’————r一⋯⋯⋯⋯。II一呻md二二二二二=K二二二二二j二二二!二jrq础i!厂—弋i№:,焉—一÷——-}——寸——_÷C五3一NextPc—————■—————————■——————————卜————————又valid:>———一vaIid::———■图510中断谙求晌府时序中断返回过程和中断响应过程相反,当中断程序执行完以后会有一条返回指令,该指令指示程序返回到中断点,恢复程序中断前的执行状态,其整个过程是中断请求响应过程的逆过程。5.2.4XDMARCIP核测试设计为了有效的使用IP核,必须提供一套完整的交付文件,包括设计数据、文档等。而成功使用IP核的基础是IP供应者必须提供一套集成者认可的、易于使用的测试向量。对于嵌入式CPUIP核,有许多可选的测试方法。从上节可知XDMARCIP核接口信号均与时钟同步,针对SOC集成时,外围设备多变和IP核自身的特点,专门设计了MTAI(Multi.TestAccessInte晌ce),其结构如图5.11所示。MTA(Multi.TestAccess)⋯2-5·141接口为IP核和它的外设提供了灵活的测试方式选择,既可以支持多路器隔离测试结构,如图5.12(a),也支持采用串行扫描测试结构,如图5.12(b)所示,或者基于总线(AMBA)的隔离测试结构,如图5.12(c)【5.15·5,161。 第五章8位高性能CPUIP核——Ⅺ)MARC设计103图5.11CPUIP核的MTA测试结构(a)mEE1149.1IIlterf砬e(c)图5.12(a)CPUm多路器隔离测试结构图(b)CPUIP串行扫描测试结构图●。(c)CPUm基于AⅧA总线隔离测试结构图 基丁IP核的SOC设计关键技术研究多路器隔离测试结构对于SOC中的IP核,使用多路器把IP核的输入/输出接口引出到芯片的外部I/O管脚,通过外部I/O管脚来加载IP核原有的测试向量,实现IP核可控制和可观察。该方法可以重用IP核现有的测试向量,也不会改变IP核的测试覆盖率,但是可能在关键路径引入附加逻辑,有时候需要很多的额外连线通道连接到外部管脚,而且外部管脚数目还可能不够测试使用。因此该方法经常在CPUIP核自身引出脚比较多,附加代价较小的时候使用。在XDMARCIP核中,TMASE[1:0】缺省值为2’boo,测试模式不使能,IP核处于正常功能状态,输入为功能连接的FunInput总线,IP核多路器旁路,功能输入直接接入XDMARCIP核,输出多路器旁路,输出由功能信号FunOutput送出,内核接入工作时钟CoreClk。CoreSE为内核扫描使能端,当内核电路加入扫描信号时为“1",内核进入扫描状态。当TMASE[1:0】_2’bOl时,进入多路器隔离测试模式,测试向量由外围I/O管脚加载,通过多路器接入IP内核,然后经过内核模块,由输出端多路器选通送出到外围I/O管脚进行结果检查,完成IP核的测试。串行扫描测试结构串行扫描测试技术需要IP核模块有边界扫描链,支持内部测试模式。对于管脚很多,和SOC外部管脚连接很少的IP核,由于通过并行测试技术把IP核信号引出到外部管脚代价太大,选择串行的扫描测试是比较可行的方法。串行扫描测试优点是结构简单,需要的外部管脚少,其缺点是需要大量的测试向量,大约是并行测试的几十甚至上百倍。XDMARCIP核也支持这种内建的扫描测试技术,接入方法完全兼容IEEE1149.1标准,只需把TAPController产生的扫描输入接入MTA结构的STInput端,而输出由STOutput端送回TAPController既可。当TMASE[1:0】=2’b11时,XDMARC进入串行扫描测试模式。基于总线隔离测试结构总线隔离测试技术是通过重用SOC的基本总线结构来达到引入测试输入和观察测试结果的目的的。在SOC中,最常用的总线结构是AMBA(AdvancedMicrocontrollerBus心chitecture)总线,通过重用AMBA总线可以方便的把测试激励加载到CPUIP核的输入,并由AMBA总线输出结果。其结构如图5.12(c)所示。其优点是对于AMBA总线兼容的模块产生的测试向量可以在基于AMBA的系统重用。测试向量的数目也因为采用32比特宽度的总线结构而比串行测试结构需要的测试向量大大减少。基于总线的测试结构外部测试引脚可以和SOC引脚复用。由于XDMARC内核采用全同步缓冲设计,其时序和AMBA总线兼容,在采用AMBA总线测试模式时,无需任何电路修改,只需设置TMASE[1:O]_2’b10, 第五章8位高性能CPUIP核——XDMARC设计105使得XDMARC进入测试模式,而外部则按照图5.12(c)加入测试接口既可。53.1时序仿真53仿真验证CPUIP核仿真验证是保障IP核设计的重要手段,其核心是围绕指令集测试各个指令的正确性和指令随机组合工作的正确性。论文着重论述关于接口时序方面的仿真验证。对于CPUIP核,由于CPU主要是围绕指令集进行设计和实现的,因此对于CPU各个模块的功能包括接口时序的验证也需要依靠程序设计来实现。对XDMARC核的I/O空间配置参数和地址参数按照ATMEL公司AT90S8515产品进行配置,就可以得到其兼容产品。为了验证XDMAIK时序的实际应用能力,接口SMICSRAM时序和AlteraFPGA内嵌SlUM进行仿真,并最终采用AlteraEPlKloo产品进行了完成性验证。针对I/O寄存器接口时序仿真,代码设计如下:程序地址@0003@0004@0005@O006@O007@o008指令指令解释bb05∥outPOR.TCADR($15),r16(FF)bbl2,/outPoRTDADR($12),r17(AA)b3f5//inPORTCADR($15),r31b3e2∥inPORTDADR($12),r30bb25∥outPORTCADR($15),r18(55)b3d5//inPORTCADR($l5),r29基于上述代码的仿真结果如图5.13所示,其波形显示了为CPU内核对PORTCADR寄存器写入0xFF,PORTDADR写入OxAA,然后读出;再对PORTCADR写入Ox55,读出的操作过程。在硅验证过程中,PORTC模拟驱动LED功能,作为单独的IP核实现,版图面积较大,集成布线时,数据、地址总线负载较重而延迟较多,时钟树也比读写控制信号后到达I/O寄存器所在的IP核,(这种情况是SOC实现中经常遇见的),因此,iore和iowe信号在CPUIP核实现时,增加了FDU,参照第三章结果,其参数设定为(a,b,c,d)=(o,o,l,1),增加0.56ns的延迟,使得I/O寄存器时序满足访问要求。 基于『P梭的soc设计关键技术研究邕固z幽5】3I/0寄存器访问时序仿真结果sRAM由于数据总线负载大而速度相对比较慢.在同步设讪理念中,其控制信号和数据、地址等信号都是基于同一个时钟沿输出的,负载大小的差异使得信号到达sRAMIP核的延迟差异比较大,在soc集成中出现ramre,rarllwe等控制信号超前的情况更加普遍,有经验的soc工程师在M表生成以后,会在这些信号前增加延迟单元,然后再进行版图布局布线,以期减少后端迭代的次数.然而增加延迟单元具有很大的不确定性,其延迟单元每次布线的位置也不确定.布局布线的约束不易加载,一般情况下,需要在一汝布局后,以其延迟作为约束重新迭代优化多次才能够得到满意的版图。采用TPcRIP核设计,在端口增加弹性延迟单元FDu,增加端口相对时钟沿的延迟.版图形成以后时序还可以通过修改FDu参数来再次调整,使得后端选代次数较少,增加巾图成功率。xDMARcIP核对sRAM访问的接口时序仿真结果如图514所示(FDu控制端参数设定为(a.b.c.d)=(o。o,1.¨.延迟增加055ns)。该段时序对应的程序为通过“st”指令对地址@0060写入ox02,对地址@0061写入0x04,清除寄存器r29,然后以“Id”指令分别从@0060、@006】读出数据,代码如下:程序地址指令指令解释@002e2e42Ⅳmovr4,r】8@002f8228∥s1xr2,@∞6022@0030923a/,st—xr3,@005f23@0∞1824aⅣsfdy+2,“,@0061=4@003227dd∥clrn9@003890da川dr13,-y,rl32@005H3)@003980eaⅣ1ddr14、y+2,r142@0061(4)@O∞ae向fⅣldIr16s口=岛.q蒂强.孑篙{三。‰一pB玉爵 第五章8位高性能cPulP核——xDMARc设计图514sRAM访问时序仿真结果图515是中断和子程序调用时序仿真结果.子程序调用涉及程序执行现场保存与恢复,其中中断请求是异步的,响应中断请求,发送握手信号,并对中断标志位完成写清除。相关代码如下:栏序地址●@000006指令指令解释950E∥ca||$20mm.20mm@20FOF3EFl7国20FOF8EF28国20FOF9BB26@20FOFA9508r17Snr19$0Pon‘rl9,ponc=$o川Ⅲ恤帅。川舢№ 基于IP梭的sOc设计关键技术研究{,曰s3.2soc集成验证图515中断和予程序调用时序仿真结果为了验证IP核在soc设计中的实际应用情况,论文设计了一款soc,完成usBOTG(OnTheGo)功能,也可以当成是兼容AvR指令集的微控制器,其功能框图如图516所示,其中usBPHYIP核是如上文所述完成布图的IP硬核,wmchDog模块包含内部生成时钟,属于模拟电路,也采用IP硬核形式,sRAM和ROM由Foundry厂提供,属于1P硬核,cPuIP核(xDMARcco陀)是整个sOc性能的关键,采用Bonom.U。方式,作为基本IP核先基于标准单元定制版图.确定性能指标,其余IP核和usBLINK部分为IP软核。在整个soc内,有数模混合的usBPHYIP核和wmchDog单元,也有协议处理的usBLINK,uART等数字模块,高性能要求的cPu模块,以及厂商提供的sRAM,RoM单元.这些功能部件共同构成了一个典型sOc设计。对该sOc设计的物理实现采用sMIc025um标准cMOs工艺,其布局立¨图517,由于只拿到了sMIc公司的8xlK,8x512的双口sRAM和32x4K大小的单口sRAM,所以在sOc中增加了32比特和8比特之间的转换功能,该sOc中,由于sRAM,ROM等IP硬桉占据面积比较大,采用自动布局布线的逻辑占少数,小规则的空问给时钟树布局带来困难,加之时钟树负载很重.导致时钟树不确定窗口(uncena;n)和延迟比较大,相反,控制信号如读使能(Te,限adenabk),写使能(we,wnleenable)负载轻,夼线线程较短,因此在sRAM接口发生时钟滞后于相应re和we信号的情况,采用常规设计,版图多次反复(7次以上)均不能通过sTA检查.而采用TPcRlP模型的FDu技术,则一次满足时序要求。 第五章8位高性能cPIJIP檀——xDMARc世计109程序存储器sRA”l■T■—_厂—广_r■圉匹臣圈5J6xDMARc验证sOc框圈幽517×DMARc验证sOc版图 110基于IP核的SOC设计关键技术研究5.4本章小结,本章研究可配置CPUIP核的参数化设计技术和TPCR设计技术,着重探讨了CPUIP核的可配置设计、CPUIP核的测试技术,弹性接口实现,对CPU内部核心的ALU单元、通用寄存器堆、指令译码器等组成核心IP核,外围功能部件采用参数化开关设计,结果如下:1)通过参数设置,能够选择IP核支持的指令集,精确裁减IP核的功能和支持的外围部件,使之和具体应用相匹配;其最小配置可以裁减至大约8000门(支持基本AVR指令和GPIO),而最大配置可扩展至20000门以上(支持AVR扩展乘法指令、更多外设)。仿真表明,在SMIC0.25“mCMOS工艺条件下,其最小配置性能可达200MIPS。2)采用TPCR技术进行了IP核接口设计,其接口延迟参数可以在系统设计阶段、仿真验证阶段、版图布图阶段修改,使得)①MARC对总线架构的适应性更广,在布局布线时自由度更大,减少SOC集成者因为信号间的相对延迟收敛要求而带来的设计反复;3)对所设计的USBIP核、XDMARCIP核和其它IP核(UART、SRAM等)进行了SOC集成验证。结果表明,采用TPCR设计技术可以有效地加速SOC设计中的时序收敛过程,提高IP核接口时序适应能力;采用参数化配置,IP核电路规模具有较好的伸缩性,能够匹配不同的应用需求,增强IP核的可重用性,灵活控制SOC的设计和制造成本。 第六章结束语6.1总结随着SOC技术的快速发展,对IP核提出了越来越多的规范化、标准化、鲁棒性要求,尤其IP核接口时序的柔性适应能力、IP核参数化可配置能力已经成为制约SOC技术发展的瓶颈,论文从SOC集成角度,系统地讨论了可复用IP核的弹性接口技术、再同步技术和参数化可配置技术,为改进IP核模型,消除IP核在SOC设计过程中的时序瓶颈和功能精确匹配应用需求的困扰作出了有益的探索;论文还采用弹性接口技术和参数化可配置技术设计了USB2.OIP核和8位嵌入式微处理器IP核,并进行了流片验证,通过典型设计实例验证了TPCRIP核模型的有效性。整篇论文的主要结果如下:1、提出了TPCR(时序弹性接口)IP核模型,给出了TPCRIP核模型的弹性延迟单元模块实现结构。弹性延迟单元是通过调整其数字控制端的输入信号来控制接入该单元的输入信号传递到输出的延迟,该数字控制端采用参数化设计,通过改变端子的参数设置可以调整信号延迟的大小。在各个设计阶段,包括在完成布局布线以后,控制端子参数都可以根据时序需要方便地修改。通过简单地参数重置,实现接口延迟在一定范围的修改,而无需对设计做大的变动,减少为SOC时序收敛而不得不重复的设计循环。2、给出了TPCRIP核模型再同步单元实现结构。再同步单元主要进行异步信号与多时钟域信号的时钟同步,可以采用两级触发器同步单元实现形式,通过两级数据采样之间的时间间隔确保信号稳定:也可以采用弹性延时同步单元实现形式,避免在信号亚稳态期间采样,更实时地进行信号响应,甚至打捞略小于被同步时钟周期的信号和同频不同源的畸变信号。再同步单元和弹性延迟单元既可以单独存在,也可以配合工作,根据应用需要可以方便地在SOC集成中调整。3、采用参数化可配置设计方法和TPCR设计技术,分PHYIP核和L烈KIP核两部分实现了USB2.0协议。探索了L烈KIP核的参数化设计方法,对端点定义、端点类型、传送方式、端点输入/输出存储器、FIF0深度等细分功能都进行了可配置的参数定义,通过参数配置实现功能裁减;L烈KIP核的AP端数据接口采用再同步技术,隔离了USB时钟域和AP时钟域,使得IP核可以平滑连接到AP模块,支持多时钟域工作,拓展了AP部件的选择范围。PHYIP核和LINKIP核接口采用弹性延迟技术,实现接口信号延迟在IP核内部可调整,减轻了因 基于IP核的SOC设计关键技术研究接口时序不匹配而带来的设计困扰。论文给出了IP核的接口时序设计与仿真结果,并基于SMICO.25umCMOS工艺,进一步完成了PHYIP核和L矾KIP核的版图设计和流片实验。结果表明,采用TPCR设计方法,该USBIP核接口时序范围较宽、能够适应更多的外部IP时序,参数化配置使得IP核电路规模可伸缩,较好地匹配不同的应用需求。4、探索了微处理器1P核参数化可配置设计技术,设计了一款兼容AVR指令集的嵌入式8位微处理器——-XDMARC,其内部核心ALU单元、通用寄存器堆、指令译码器等组成核心IP核,外围功能部件采用参数化开关设计,通过参数设置,能够选择实现IP核支持的指令集,精确裁减IP核的功能和支持的外围部件,使之与具体应用相匹配。该款CPU内核兼容AVR指令集,通过参数化配置,其最小配置可以裁减至大约8000门(支持基本AVR指令和GPIO),而最大配置可扩展至20000门以上(支持AVR扩展乘法指令、更多外设)。仿真表明,在SMIC0.25umCMOS工艺条件下,其最小配置性能可达200MIPS。对于CPU内核接口,采用TPCR技术设计,其输出信号全部采用钟控同步设计,其输入数据信号采用钟控同步采样输入,非数据信号采用参数化弹性延迟设计,弹性延迟参数可以在系统设计阶段、仿真验证阶段、版图布图阶段可以根据SOC集成需要修改,这样的接口设计使得XDMARC对总线架构的适应性更广,在布局布线时自由度更大,减少SOC集成者因为信号间的相对延迟收敛要求而带来的设计反复。文中给出了XDMARC的TPRC接口时序及仿真结果。5、对所设计的USBIP核、XDMARCIP核和其它IP核(UART、SRAM等)进行了SOC集成验证,结果表明,采用TPCR设计技术可以有效地加速SOC设计中的时序收敛过程,提高IP核接口时序适应能力:采用参数化配置,IP核电路规模具有较好的伸缩性,能够匹配不同的应用需求,增强IP核的可重用性,灵活控制SOC的设计和制造成本。6.2展望SOC设计是集成电路产业新的革命,是一个非常复杂的问题,它不仅与SOC集成有关,与IP核本身有关,还与相关EDA工具发展有关。IP核提供者需要提供高度柔性接口,功能可准确定制的IP核,这样的IP核才有市场生命力,SOC集成者才能基于IP核快捷经济地设计出需要的产品。论文提出的基于TPCR技术的IP核模型虽然能够有效的解决SOC集成时序方面面临的困境,但实际芯片非常复杂,包含的IP核也五花八门,基于论文的研究,进一步还可以进行以下方面的工作: 第六章结束语1)随着信息时代数据需求的急剧攀升,数据传输速度要求也越来越大,对SOC的处理能力也提出了更高的要求,特别是在异构多核等新体系新结构提出以后,SOC中集成了更多的IP核,核间的数据交换速率成几何级增长,如何改进IP核接口应对高带宽,高速率要求,适应NoC(NetworkonChip)是现今SOC集成和IP核接口设计面临的新挑战。2)针对基于TPCR技术的IP核模型,进一步完善在超深亚微米工艺条件下的弹性延迟模块电路与版图结构设计,使得延迟调整范围更大,精度更高给SOC后端布局布线留有充分的调整余地。3)针对弹性延迟单元,设计不同延迟级别的标准单元库和仿真模型,并把该思想应用到EDA技术中,通过综合工具和STA工具自动删减弹性延迟单元并修改参数。4)可配置设计,进一步研究IP核参数化可配置设计技术,探索不同类别IP核体系结构特点,细分功能模块,实现IP核模块的细微功能可配置技术,尤其是诸如CPU核,DSP核等常用控制器IP核和wirelessUSB,USBOTG(On11heGo)等一些通讯IP核,使得集成用户仅仅通过参数设置就能够精确定制IP核,准确、经济地实现SOC设计目标。 114基于IP核的SOC设计关键技术研究致谢在论文完成之际,我首先要感谢我的导师郝跃教授。自1994年我有幸受教于先生,深为先生正直无私、忧国忧民的高尚情操所震撼,八年前,蒙先生不弃,追随先生门下,得以深切感受先生的魅力。多年来,先生高瞻远瞩的学术视野,严谨勤勉的治学态度和宽厚仁爱的人生胸襟给我留下了深刻的印象,其追求真知、一丝不苟的科研作风是我终生学习的典范:先生为我提供了一个自由宽松的科学研究环境,在研究过程中给予悉心指导,给我的论文研究带来了巨大的帮助,论文中凝结着先生大量的智慧和心血,只是学生愚钝,论文所达到的学术水平与先生对我的期望相比可能还有差距,但先生勇于开拓严谨求真的治学精神与因人制宜谆谆善诱的师者风范无疑给我以极大感召,同时先生淡泊超然、坦诚待入、豁达大度的人品精神,也使学生受益无穷。衷心感谢过润秋教授在学习和生活上给予的关心和帮助。感谢西安电子科技大学微电子所的庄奕琪教授、杨银堂教授、张鹤呜教授、贾新章教授、张义门教授以及其他对我传道授业的恩师们,感谢他们的无私教诲和热情帮助。感谢赵天绪教授、马佩军博士、马晓华博士、李陪咸博士、张进城博士、朱志炜博士、方建平博士和他们之间对学业、人生等话题的讨论进一步遴清了我的学术思路,加强了我坚持学业的动力。感谢刘红侠教授、冯倩博士、高海霞博士、刘锋博士、代国定博士、李康博士、张弘博士、蔡觉平博士、杨林安博士、冯辉先生,和他(她)们一起度过了跌宕起伏、充实难忘的青春岁月。在完成论文的过程中,实验室的潘伟涛、谢元斌、郭晋亮、王磊、王晓岚诸同仁都同我进行过许多不无裨益的讨论,并在仿真和测试上给予诸多的帮助,在此谨致谢意。感谢实验室其他师弟师妹们,有缘和他(她)们一起成为郝老师的学生,是我一生中的荣幸。感谢我的妻子崔海燕女士,无论在生活还是在学习工作上,她都给予我极大的关心和帮助。感谢我所有的亲人们,是他(她)们的支持和鼓励帮助我重新回归求学读博之路,也是他(她)们的无私奉献造就我今天的一切!向所有关心和支持我的朋友们表示诚挚的谢意!感谢抽出宝贵时间对本论文进行评审的专家! 参考文献Il5第一荦【1.1】G.E.Moore,ProgressinDigitalIntegratedElectronics,IEEEIntemationalElectronDeVicesMeeting,IEDM,l975.Dec.Pl1【1.2】IntemationalTechnologyRoadmapforSemiconductors(ITRS).【Online】.AVailable:h!!仑;』』塑凸i!型:巳坠垫!i£:i!£§:n星!【1.3】IntemationalTechnologyRoadmapForSemiconductors,1995Edition【1.4】IntemationalTechnologyRoadmapForSemiconductors,1999Edition【1.5】IntemationalTechnologyRoadmapForSemiconductors,2003Edition[1.6】IntemationalTechnologyRoadmapForSemiconductors,2005Edition【1.7】2S.Thompson,P.Packan,andM.Bohr,IntelTechn01.J.Q3,l~l998.【1.8】S.Borkar,BLowpowerdesignchallengesforthedecade,inProc.DesignAutomationConf2001,pp.293—296.[1.9】薛宏熙,边计年,苏名,《数字系统设计自动化》,清华大学出版社,1996.10【1.10】Bass锄TabbaIAAbdallahTabbara,AlbertoSangioVaruli-Vincentelli,eta1.,Function几心cMtecmreOptimizationandCo—DesignofEmbeddedSystems,KluwerAcademicPublishers.2000[1.1l】沈绪榜,杜敏,《VLSI设计导论》,高等教育出版社,1995年10月【1.12】杨之廉,申明,《超大规模集成电路设计方法学导论》,清华大学出版社,1999年3月【1.13】HenryChang,SurviVingtheSOCI沁Volution,KluwerAcademicPublishers,Novemberl999[1.14】Hunt,M.Rowson,J.A.Blockinginsystemonachip.IEEESpectmm.Onpage(s):35—41.NoVl996(IP)【1.15】BricaudPJ.IPreusecreationf.orsystem-on-a-chipdesign.ProceedingsoftheIEEECustomIntegratedCircuits,l999,395-401.May1999【1.16】魏少军.新世纪电信网络的发展与SOC设计方法学.中国集成电路.2001年12月.P22.36[1.17】MichaelKeatingandPiellreBricaud,ReuseMethodologyManuaJforSystem·on—a.ChjpsDesigns,KluwerAcademicPublishers.1999,SecondPrinting.[1.18】VijayMadisettiandChonl锄ethA巾nikanondt,APlatfom-centricApproachtoSystem—on-chip(SOC)Design,SpringerPublisher,2005 116基丁.IP核的SOC设计关键技术研究【1.19】IEEEP1364.1/D1.4DraRSta皿dardf.0rVerilog吲RegisterTransf.erLevelSynthesis.IEEEl999【1.20】FarzadNekoohgar,TimingVeri6cationofApplicationspeci行cintegratedCircuit.PrenticeHa】JPTR.1999【1.21】IEEEDesignAutomationStandardCommittee.IEEEStandardHardwareDescriptionLanguageBasedontheVerilog@HardwareDesc—ptionLanguage,IEEE1996【1.22】EliSternheimeta1.DigitalDesignandSynthesiswithVerilogHDL.AutomataPublishingCompany,1993【1.23】Doug】asJ.Smith,HDLChipDesign.DoonePublicationl998【1.24】RochitRajsuman,System·on-a-chipdesignandtest,AdvantestAmericaR&DCenter.Inc.2000第二章【2.1】MichaelKeatingandPierreBricaud,ReuseMethodoIogyManualforSystem-on—a-ChipsDesigns,KluwerAcademicPublisherS.1999,SecondPrinting.【2.2】NIKOLAOSS.VOROSINTRACOMS.A.,Patra,Greece,SystemLevelDesignofRecon矗gurableSystem-on-chip,Sp—nger,2005【2.3】PrakashRashinkar,PeterPaterson,LeenaSingh,System.on.a—chipveri6cationmethodology,KluwerAcademicPublishers.2002【2.4】FarzadNekoogar,FromASICstoSOCsapracticalApproach,PrenticeHanPTR.2003【2.5】IUcardoReis,JochenA.G.Jess,DesignofSystemonachipDevices&Component,KluwerAcademicPublishers.2004[2.6】RochitRajsuman,System—on·a—chipdesignandtest,AdvantestAme—caR&DCenter.Inc.2000【2.7】Pien.eJ.Bricaud,IPReuseCreationforSystem-on—a-chipDesign,IEEE1999CustomIntergratedCircuilsConference,pages:395-40l【2.8】HimanshuBhatnagar,AdVancedASICChipSynthesisUsingSynopsys⑩DesignCompilerTMPhysicalCompiler丁MandPrimeTime⑧,Secondedition,KluwerAcademicPublisherS.2002【2.9】ChipSynthesisWorkshopStudentGuide,Synopsys⑧Co印.2003.06【2.10】A.P.NiraJljan,PaulWiscombe,IslandsofSynchronicity,aDesignMethodologyforSOCDesigll,Proceedingsoft11eDesign,AutomatjonandTestjnEuropeConferenceandExhibition(DATE’04),IEEE2004 一——一一.参考文献117一———————————————————————————————I_——--———————'●—__’-●———_—-——_———_—_——_—_—__————-_-●__●——__——_,———一[2.1l】FrancoisRemond,Pierre,SETTOPBOXSOCDESIGNMETHODOLOGYatSTMicroelectronics,ProceedingsoftheDesign,AutomationandTestinEuropeConferenceandExhibition(DATE’03),IEEE2003【2.12】b盟P;』』∑旦i凸型:QP星旦£Q!呈墨:Q!g【2.13】h业;』』塑型型:垦婴:垦Q也【2.14】DonaldE.Thomas,PhiIipR.Moorby,TheVerilogHardwareDescriptionLanguage,Fi{=thEdition,Klu、ⅣerAcademicPublisheI.s.2002【2.15】杨士元编著.数字系统的故障诊断与可靠性设计.清华大学出版社,2000年4月,第2版【2.16】C.·C.Lin,M.Marek—Sadowska,K.·T.Cheng,andM.Lee,Testpointinsertion:scanpathsthfoughcombinationallogic,Proc。ofDesignAutomationConf,l996.pp.268—273【2.17】IEEE(1994).Supplement(B)toIEEEstandardtestaccessponandboundaryscanarchitecnlre【2.18】H.Vranken,T.Waayers,H.FleuⅨandD.Lelouvier,EnhancedReducedPin—CountTestfofFull—ScanDesign,inProceedingsIEEEIntemationalTestConf.erence(ITC),IEEEComputerSOCietyPress,Oct.2001,pp.738.747【2.19】IEEEPl500Standardf.orEmbeddedCoreTest.Available:b!!P;』』g£Q堕巳曼[:i宝曼呈:Q£型g£Q坠P型!三QQ【2.20】E.J.M撕nissen,S.K.Goel,aIldM.Lousbe唱,、珊apperDesignforEmbeddedCore7I’est,inProceedingsIEEEIntemationalTestConf.erence(ITC),IEEEComputerSOCietyPress,Oct.2000【2.21】VIyeng甄K.Chakrab砸y,andE.J.M撕nissen,Co—OptimizationofTeStWrapper锄dTeStAccessArChitectureforEmbeddedCores,inProceedingsIEEEIntemational1’estConference(ITC),IEEEComputerSOCiet)rPress,Oct.200l,pp.1023一1032【2.22】B.Konem锄,J.Mucha’andG.Zwieho筑Build.inlogicblockobservationtechnique,Proc.ofInt.TestConf,1979,pp.37.41.【2.23】陈光禹,潘中良可测性设计技术.北京.电子工业出版社.1997年2月第三章[3.1】MichaelKe“ngandPie鹏Bricaud,ReuseMethodologyManualforSystem·on.a—ChipsDesigns,K]uwerAcademicPublisherS.1999,SecondPrinting.【3.2】RochitR旬suman,System·on·a-chipdesignandtest,AdvantestAmericaR&DCenter’Inc.2000 118基于IP核的SOC设计关键技术研究【3-3】Poulin,Jefjf.rey,“MeasuringSoRwareReuse”,Addison-Wesley,Janu踟了1997【3.4】Jones,Capers,“AppliedSo肌areMeasurement:AssuringProductiVityandQuality”,McGrawHillText,August1996【3.5】MichaelKeating,TheIPQualityReVolution,IEEE2004f3,61VSIAllianceTMArchitectureDocument,VbrSion1.O【3.7】VSIAllianceTMDeliverablesDoc啪ent,VerSion2.4.1,2001.2【3.8】System—LeVelInte而ceBehaVioralDocumentationStaJldard,Version1.0,VSIASLDDWG2000.3.24【3。9】SoaandHardVCStructural,PerfonnanceandPhysicalModelingSpecincation,Version2.1,VSIAI厂VDWG2001.1【3.10】On-ChipBusAttributesSpecification,V.ersion1.1,VSIAOCBDWG2001.1[3.11]CharlieChung-PingChen,EdCheng,FutureSOCDesignChallengesandSolutions,ProceedingsoftheIntemationalSymposiumonQuali妙ElectronicDesign(ISQED.02),IEEE2002【3.12】SteVenJ.E.Wilton,ResVeSaleh,Progr锄mableLogicIPCoresinSOCDesign:Oppor№itiesandChallenges,IEEE2001CustomIntergratedCircuitsConference,IEEE200l,Pages:63·66【3。13】Da而elD.Gajsld,AllenC.-H。、^,u,VirapholChaiyakul,EssentialIssuesforIPReuse,IEEE2000,pages:37—42【3.14】Jin-GyeongKimandC.-C.JayKuoMPEG-4VIDEOCODECIPDESIGNWITHACONFIGURABLEEMBEDDEDPROCESSOR,IEEE2003[3.15】b!!巳;丛竖型:垒匹:曼Q堡【3.16】b堕卫;丛坠尘盎坌型:i!£墨:卫星!【3.17】Willi锄J.DallyandJohnw.Poulton,DigitalSystemsEngineering,CambridgeUniVerSityPress,1998.【3.18】YaronElboim,AVinoamK010dny,RanGinosar,AClock-TuningCircuitforSystem-on-Chip,IEEETransactionsonVerylargescaleintegration(VLSI)systems,Vol:11,No.4,August2003,Pages:616—626[3.19】史江一,郝跃,朱志炜,潘伟涛,SOC中的IP核同步设计方法,电子器件,v01.30,No.3Jun.2007,pp.【3.20】ChrisJ.Myers,AsynchronousCircuitDesign,JOHNWILEY&SONS,mC.AWilcpIntersciencePublication,2001【3.21】CliffordE.Cun瑚ings,SynthesisandScriptingTechlljquesforDesigningMulti-AsynchronousClockDesigIls,Sunburstdesign,lnc.2001[3.22】HimanshuBhatnagar,AdVancedAsICChipSynthesisUsingSynopsys⑩ 参考文献119DesignCompilerTMPhysicalCompilerTMandPrimeTime⑧,Secondedition,KluwerAcademicPublishers.2002第四章[4.1】UniVersalSerialBusSpeciflcation.ReVisin2.0.AVailable:b!!卫;丛坠!竺型:坠墨坠:Q!g[4.2】IntelHelpedMakeItEasiertoConnectDevicestoPCs.Available:http://www.intel.com【4.3】Stong,N.UniVersalSerialbus(USB)touniVersalinte血ceusingneldprogr猢ablegatearrays(FPGA)tomimictraditionalhaurdw2ure[militaryaircraRtestingapplication】AUToTESTCON2003.IEEESystemsReadines’rechnologyConference.22—25Sept.2003Pages:386·39l【4.4】IntelCo叩orationUSB2.OTransceiVerMacrocellInterface(UTMI)Specification.Version1.05.Mar29,2001【4.5】BehzadRazaVi.Challengesinthedesignofhi曲-speedclockanddatarecove巧circuits.IEEE:ConununicationsMagazine,August2002pp.94—97【4.6】Chih·KongKenY抽gandMarkA.Horowitz.AO.8一umCMOS2.5Gb/sOVers锄plingReceiVerandTraJlsmitterforSerialLinks,IEEEJoumalofSolid-StateCircuits,、,oJ.3l,No.12,Dec1996[4.7】Horo丽tzM,eta1.Hi曲-SpeedElectronicalSignaling:OverviewandLimitations.IEEEMicro,、,oll8,No.1,Jan—Feb,1998pp.10—24[4.8】ParkJun-Y6ung,KangJin—Ku,eta1.A1.0GbpsCMOS0Vers锄plingDataRecoVeryCircuitwithFineDelayGenerationMethod.IEICETrans.FuIldamentals,Vr0I.E83.A.No.6Jun.2000【4.9】Jin-KuKangetal.ACMOShigh-speeddatarecoVe巧circuitusingmematcheddelays锄plingtechnique.IEEEJoumalofSolid·StateCircuits、内l32.No.1OOctober19971588~1595【4.10】SaJlg-Hyuneta1.A5Gb/sO.25“mCMOSjitte卜toleraJltV撕able—interValoVers锄plingclocl(/datarecoVerycircuit.Solid-StateCircuitsConference,2002.ISSCC.2002IEEEIntemational,、,01.1,3-7,Feb.2002pp.256—465【4.11】hnp:∥www.Vsi.o唱【4.12】MichaelKeatingandPierreBricaud,ReuseMethodologyManualforSystem—on—a-ChipsDesigns,KluwerAcademicPublishers.1999,SecondPrinting.【4.13】OrNeiU,B.C.Clark,K.L.Wong,SerialconlInullicationcircuit、vithoptimizedskewchauracteristics,CommunicationsLeners,IEEE,Vol:5Issue:6,June2001,pages:260—262 120基于IP核的SOC设计关键技术研究【4.14】X.Maillard,F.DeVisch,M.Kuijk,A900—Mb/sCMOSdatarecoVeD,DLLusinghalf.frequencyclock,IEEEJouralofSolid-StateCircuits,Vol:37,issue:6.June2002pages:71l-715【4.15】Chih-KongKenYang,R椰inFaJjad—Rad;Horowitz,A0.5·pmCMOS4.O-gbit/sseriallinktransceiverwithdatarecoVe巧usingOVers锄pling.IEEEJo啪alofSolid-StateCircuitsVol33.No.5Mayl9987l3~722[4.16】Jaf打SaVoj,BehzadRazaVi,A1O-Gb/sCMOSClockandDataRecoVeD,CircuitwithaHalf-RateLinearPhaseDetector.IEEEJoumalofSolid.StateCircuits,May2001【4.17】C1if.fordE.Cunlmings,SynthesisandScriptingTechniquesforDesigningMulti—AsynchronousClockDesigns,Sunburstdesign,Inc.2001[4.18】TangTC.ExperimentalStudiesofMetaStabilityBehaViorsofSub-MicronCMOSASICFlipFlops.In:ProceedingsofFounhA彻ualIEEEIntemationalASICConferenceandExhibit.NewYork:IEEE,1991.7-4/l~4[4.19]朱永峰,陆生礼,茆邦琴,SOC设计中的多时钟域处理,2003年第ll期[4.20】Duncan,L.剐chard,Shelor,F.Charles,Methodandsystemforteminatingurulecessar),processingofaconditionalinstructioninaprocessor,美国专利,专利号:20040255103【4.21】ChrisJ.Myers,AsynchronousCircuitDesign,JOHNWILEY&SONS,ⅢC.AWilcpIntersciencePublic“on,2001[4.22】HimanshuBhatnagar,AdVancedASICChipSynthesisUsingSynopsys⑩DesignCompilerTMPhysicalCompilerTMandPrimeTime⑩,Secondedition,KluwerAcademicPublishers.2002【4.23】ChipSynthesisWorkshopStudentGuide,Synopsys⑧Co叩.2003.06第五章【5.1】JohnP:Hayes,ComputerA』chitectureandOrganization,Thirdedition,McGrawHillCompanies,Inc.2001【5.2】李亚民等,《计算机组成与系统结构》,清华大学出版社,2000年4月[5.3】王爱英,《计算机组成与结构》,清华大学出版社,2003年2月【5.4】郑纬民,汤志忠,《计算机系统结构》,清华大学出版社,1998年9月【5.5】AVRInstructionSet,AVailable:b丛巳;丛望坐型:垒!婴星!:星Q堕【5.6】李万红,《嵌入式c编程与AtmeIA、佩》,清华大学出版社,2003年8月【5.7】宋建国,钱正,雷超,《AVR单片机原理及应用》,北京航空航天大学出版社,1998年6月 参考文献12l【5.8】耿德根,《AVR高速嵌入式单片机原理与应用》(修订版),北京航空航天大学出版社,2002年1月[5.9】HuimeiZheng,ASystem—on—Chip(SOC)DigitalInterfaceIPCore,UniversityofWindsor。Canada,2002【5.10】IlId(aSaast锄oinen,DaVidSiguenza—Tortosa,andJariNu丌ni,InterconnectIPNodeforFutureSystem—on—ChipDesigns,ElectronicDesign,TestandAppIications(DELTA’02),IEEE,2002[5.1l】ZHAOJunchao,CHENWeiliang,WEIShaojun,Par锄eterizedIPCoreDesign,The6thIntemationalConferenceonSolid—StateandIntegrated—CircuitTechnology(ICSICT2001),IEEE200lpages:744—747【5.12】M撕nissenE.J.;mendsen,R.Bos,G.Dingemanse,H.Lousbe唱,M.Wouters,Astmcturedandscalablemechanismf-orteStaccesstoembeddedreusablecores.IEEEIntemationalTestConference,1998,IEEEPages,284—293【5.13】VannaP,BhatiaB.Astructuredtestreusemethodo-109yforcore-baSedsystemchips.IEEEIntemationalTestConference,1998,IEEEPages,294.302[5.14】M撕nissenE.J.;GoelS.K.,Lousbe玛M.,Whpperdesignforembeddedcoretest.IEEEIntemationalTestConference,2000.Pages:91l·920【5.15】Md.Sa仃atQuaSem,ZhigangJiang,SandeepK.Gupta,BenefltsofaSOC—SpecificTestMethodology,IEEEDesign&TestofComputer,2003IEEE,pages:68—78【5.16】PeterHa】丌od,TestingReusableIP—Acasestudy,IEEEIntemationalTestConf.erence,1999.Pages:493-499【5.17】史江一,朱志炜,方建平,郝跃,基于IP核的8位微控制器设计,电子器件,V01.30,No.1Feb.2007,pp.148·15l 基于lP核的SOC设计关键技术研究研究成果、发表论文1.史江一,马晓华,郝跃,方建平,朱志炜,超深亚微米高速互连的信号串扰研究,固体电子学研究与进展,V01.26,No.4,2006年11月,pp.544—549(EI:070610415374)2.史江一,朱志炜,方建平,郝跃,基于IP核的8位微控制器设计,电子器件,V01.30,No.1Feb.2007,pp.148.15l(EI检索)3.史江一,郝跃,朱志炜,潘伟涛,SOC中的IP核同步设计方法,电子器件,V01.30,No.3Jull.2007,pp.(EI检索)4.史江一,马晓华,郝跃,主流ASIC设计流程,电子产品与技术,2004年第3期,pp.61.635.方建平,史江一,郝跃,DSP芯片中全加器电路的优化设计,电路与系统,V01.11,No.2,2006,pp.145-1486.谭润钦,史江一,马晓华,预充电型鉴频鉴相器pt—pFD的分析与改进,电子质量,2004年9期,pp.56.56,737.刘锋,庄奕琪,史江~,代国定,高速8位砌SC微控制器内核设计,微电子学,2002V01.32,No.6,pp.465.468二、发明专利1.双算术逻辑单元精简指令集8位微控制器,史江一、郝跃、马晓华、马佩军、刘锋,申请日期:2005年1月20日,申请号:200510041649.9三、参加的科研项目1.USB2.0IP核开发,国家863高科技VLSI重大专项,(编号:2002AAlZl310),2002.9—2003.12,项目负责人,2005年4月国家科技部验收。2.USB2.0IP核产业化,国家863高科技VLSI重大专项,(编号:2005从121193),2005.4—2005.12,项目负责人,2005年12月国家科技部验收。3.O.09微米MOS集成电路大生产工艺与可制造性技术,国家863高科技VLSI重大专项,(编号:2003AAlZl630),2003.8—2005.10,排名第三,2006 研究成果年4月国家科技部验收。4.基于IP复用的SOC设计技术研究,国家863高科技VLSI重大专项,(编号:2004AAlZll30),2004.7—2005.12,排名第五,2006年国家科技部验收。5.超深亚米集成电路铜互连可靠性研究,国家自然科学基金,(编号:60506020),2006.卜2008.12,排名第二。6.高性能军用网络处理器技术,装备预先研究项目总装预研,(编号:51308010301),2006.卜2008.12,排名第三。7.常用外设IP核开发,深圳市海思半导体有限公司,2005.6—2006.12,项目技术总监,2007年1月,全部IP核(5个)通过海思评审验收。 附录yj幽!LsBLlwJP梭碎啦砒样片,h‘Lt版 刚求附习:jIsn【1、KfP梧i}验,!样}测试平台附图4xDMARc删【^F心平台 基于IP核的SOC设计关键技术研究作者:史江义学位授予单位:西安电子科技大学相似文献(10条)1.期刊论文宋廷强.刘川来.李思昆.胡乃平SoC设计中的IP核复用技术研究-青岛科技大学学报(自然科学版)2003,24(3)论述了系统集成芯片设计中IP核复用的设计方法.以Estar1嵌入式微处理器设计为例,讨论了IP软核设计复用技术的应用方法及特点,并针对Estar1中IP核选择与实现进行了说明.2.会议论文贺鹏一种用于IP复用的SoC设计的信息预测软件2004本文首先介绍了IP核及其复用,考虑到IP核复用的SoC设计中存在的问题,提出了一种信息预测软件,分析了此软件的作用;随后研究了软件的操作流程、输入方式、输入和输出的内容;详细论述了软件中对IP核组合后面积、门数规模、上限工作频率和功耗进行估计的算法;最后,分析了软件中IP核信息库的分类与更新问题.3.学位论文王宁基于AHB总线的SD/SDHC/MMC控制器设计及验证2009随着SoC(SystemonChip)芯片复杂度的提高,IP核复用(IntellectualPropertyCoreReuse)技术开始成为当今SoC设计中的一个热点,它可以使设计者专注于整个系统的设计,充分利用已有资源,提高设计速度,降低芯片开发成本。为了满足SoC芯片对SD卡(SecureDigitalCard)/SDHC卡(SecureDigitalHighCapacityCard)/MMC(MultiMediaCard)高速存取数据的要求,本文设计了基于高速AHB(AdvancedHigh-PerformanceBus)总线并支持DMA(DirectMemoryAccess)传输的SD/SDHC/MMC控制器IP,借助于AHB的标准接口和丰富灵活的配置可以方便地将该IP集成于SoC芯片中。论文介绍了SD卡规范和AHB规范,并对其传输协议进行了简单分析。确定了控制器的接口和规格后,论文提出了控制器的设计方案,然后按自顶向下的设计思想对控制器进行了模块划分并给出了各模块的实现方法。在不致消耗过多硬件资源的前提下,控制器提供了尽可能多的可配置功能来提高其做为IP核的可重用性。控制器RTL(RegisterTransferLevel)级设计完成后,论文建立了SD卡模型和AHBMaster模型并通过所构建的仿真环境完成了控制器的功能仿真。同时,论文编写了控制器的驱动软件并完成了控制器的FPGA(FieldProgrammableGateArray)验证,实现了对SD卡的初始化和高速读写。论文所完成的SD/SDHC/MMC控制器IP设计达到了设计要求,并将被集成于某具有自主知识产权的多媒体SoC芯片中。4.期刊论文朱运航.李雪东.Zhu.Yunhang.Li.Xuedong基于IP核复用的SoC设计技术探讨-微计算机信息2006(8)以IP(IntellectualProperty)核复用为基础的SoC(SystemonaChip,简称SoC)设计是以软硬件协同设计为主要设计方法的芯片设计技术.本文从IP核复用技术、软硬件协同设计技术两个方面探讨了SoC设计中的关键技术.其中以OCP及Wishbone总线为例,总结了片上总线的特点及其接口技术,讨论了IP核复用技术的应用方法及优势;通过与传统的IC设计相比较,描述了软硬件协同设计的流程特征,并探讨了软硬件协同仿真技术,同时其发展趋势作了展望.5.学位论文朱建剑基于WISHBONE总线的8051SOC系统设计2008随着微电子技术的不断发展,集成电路设计已进入SOC时代,SOC设计技术己成为IC产业的主流技术和必然趋势。系统级芯片设计技术能够有效地缩小系统体积,减少芯片之间的互连延时,缩短设计周期,降低系统的功耗,提高系统的性能。因此,基于IP核复用的SOC设计方法已成为现代电子系统设计的主要方法。本论文简单回顾单片机以及可编程逻辑器件的发展历程,并且阐述单片机与可编程逻辑器件相结合的SOC设计思想。此外,介绍了SOC设计流程中的一些概念和原理,同时也研究了SOC设计的相关思想及IP设计和集成的方法。依照SOC设计方法及设计流程,本论文完成了8051SOC的设计工作。该设计由1个主控制器和5个外围设备构成,均采用VHDL语言进行设计描述,可读性好,便于扩展,易于升级,利于IP核的移植,它们适于基于IP核复用技术的SOC设计。微处理器(即主控制器)采用OREGANO公司设计的MC8051IP核,该IP核的指令系统与Intel公司的51系列单片机完全兼容。本文还设计了8051常用外围器件的IP模块,包括12C总线接口模块、LCD显示驱动接口模块、8位的PWM脉冲宽度调制模块、8位的DAC数模转换模块以及8Kbyte的RAM外部数据存储模块。此外,8051的内部RAM和ROM以及外部RAM均在FPGA上实现,从而无需在硬件外部扩展存储模块。为了实现IP复用的功能,所有IP核的设计均采用WISHBONE总线接口。根据自顶向下的层次化设计方法,首先是完成各个IP核的设计与验证,然后采用WISHBONE共享总线(ShareBus)的连接方式,将各IP集成为一个系统,并建立软件测试平台对该系统进行仿真验证。验证结果表明:设计效果良好。通过8051SOC系统设计,本文系统研究了SOC的设计技术。在系统规划与模块划分、IP设计与验证、IP复用以及系统集成与仿真验证等方面积累了一定的经验,为今后进行基于IP复用的SOC设计和验证提供了宝贵的思路。6.期刊论文王光.WANGGuangSoC设计中的片上通信体系结构研究-现代电子技术2009,32(17)以超深亚微米工艺和IP核复用技术为支撑的系统芯片(SoC)技术,是目前超大规模集成电路和嵌入式电子产品设计的主流.SoC中各IP核之间的片上通信体系结构是SoC设计关键技术之一,同时对SoC的性能起着至关重要的作用.提出一种SoC中的混合片上通信体系结构,该体系结构将传统的共享总线与片上网络相结合,既保留了片上共享总线面积小的优点,又具有片上网络的并行通信的优点.此外,该混合片上通信还可以扩展到二维网络.7.学位论文邢强IP软核复用技术研究2006随着半导体工艺的快速发展,基于IP核复用的SoC设计正逐渐成为集成电路设计的主流技术。作为IP核形式之一的IP软核,灵活性高,在IP核复用中有很大优势。然而,IP软核在实际应用中,存在很多挑战。使用高质量的IP软核,可以提高设计效率和设计质量,反之,可能导致设计失败。因此,对IP软核进行评估,判断IP软核的质量水平,为IP软核选择提供依据和便利,成为SoC设计的一项重要任务。本文基于可复用设计方法学,以IP软核使用者的角度,着重分析IP软核质量问题,提出IP软核质量指标,研究IP软核质量评估流程和方法。本文首先根据IP软核现状,总结IP软核复用过程中可能存在的质量问题。依据现状和IP软核使用者的要求,分析优秀IP软核的质量特性,并提出IP软核质量指标。然后以质量指标为指导,将IP软核评估工作分为可用性和性能考查两个方面,评估内容主要包括:交付项考查、验证文件考查和软核性能评估。给出各项评估内容的考核依据和评估方法,主要包括交付项质量评估、验证文件质量评估和IP软核功耗估算的方法,并对IP软核验证平台的规范进行研究。最后以8051IP软核的FPGA应用为例,提出8051IP软核通用验证策略和性能评估方法。根据提出的IP软核质量指标和评估流程,完成C8051IP软核可用性和性能评估,并对C8051IP软核的验证平台进行部分改善工作。评估和改善的结果,为C8051IP软核的后续工作提供数据资料和便利性。8.期刊论文冉峰.李润光.徐美华.康志英.RANFeng.LIRun-guang.XUMei-hua.KANGZhi-yingIP复用的FSPLC微处理器SOC设计-微电子学与计算机2007,24(11)设计了一种专用PLC微处理器SOC模块FSPLC,基于IP核复用方法和SOC技术复用第三方AVRAT90S1200IP核基础上集成了自行设计的IP、BP、MBI、CBI、BBI等模块,以AlteraNiosⅡ开发板作为验证平台对实际的PLC应用程序做了可行性验证,FSPLC具有快速处理PLC梯形图程序、快速处理指令表语句中复杂的嵌套逻辑运算、PLC之间CAN总线通讯等优点.9.学位论文张立超数字电视信源解码系统架构设计与总线分析2008 随着集成电路设计技术的发展和芯片集成度的提高,传统的ASIC设计方法已经不能满足系统设计复杂性和上市时间紧迫性的要求。在数字电视领域,数字电视的广泛普及和数字电视机顶盒技术的发展也给基于传统ASIC设计方法的数字电视信源解码器的设计带来了新的挑战。SoC设计理论和技术的发展则使得系统级芯片在集成电路的设计领域中越来越显现出其优势。本文基于SoC设计方法学对数字电视信源解码系统的架构设计做了理论分析和实践探索,研究了数字电视信源解码系统的设计、实现和验证分析问题。1.SoC设计主要研究系统设计方法和IP核复用等问题。基于系统设计方法,本文通过分析MPEG-2标准中信源解码系统的性能要求及当前的市场情况对信源解码SoC进行了需求分析,从系统功能和性能上定出了信源解码SoC的设计目标。然后结合软硬件划分理论及解码系统各子功能特点对系统进行了软硬件划分,提出了BTV3000信源解码SoC架构。2.BTV3000采用了基于ARM核的双核架构、基于AMBA2.0AHB的总线结构和基于DDRSDRAM的存储器结构。本文重点从软硬件划分的合理性、总线带宽和存储器吞吐率等系统性能因素方面对该架构设计方案进行了定性和定量的分析。3.在IP核复用技术上,主要以视频解码核作为研究对象分析了IP核设计和复用所需要考虑的问题。视频解码核是信源解码系统中最关键的功能模块,该模块对于系统的性能要求也最高。视频解码核的设计重点不仅仅是解码功能的实现,还需要从系统资源和性能角度去考虑。本文主要针对视频解码核中的基于桶型移位计数器的变长解码器的实现方法和基于流水线的运动补偿模块的设计方法做了分析。4.总线性能是SoC设计需要考虑的问题,特别是在基于AHB总线的系统中,总线利用率以及主设备间的总线竞争对系统性能影响很大。BTV3000采用了系统总线和存储总线分开的总线方案,系统总线采用单层AHB总线结构和延迟优先级总裁方案,存储总线采用单层AHB总线结构和简单优先级总裁方案。5.介绍了基于Mentor的Seamless软硬件协同验证平台,并基于此平台完成了BTV3000的系统级功能验证和性能分析,重点分析了总线仲裁方案对系统总线和存储总线的性能影响。10.期刊论文王强.龚龙庆.时晨.WANGQiang.GONGLongqing.SHIChen一种面向嵌入式SoC设计的混合级硬/软件协同验证技术-现代电子技术2007,30(9)SoC已经成为嵌入式系统必不可少的解决方案.验证如此复杂的嵌入式SoC是非常困难的,系统设计需要新的验证技术更快更好地完成系统功能验证任务.通过比较当前3种主要的嵌入式系统验证技术:软件仿真技术、硬件模拟技术、硬/软件协同验证仿真技术,介绍基于指令集仿真器和FPGA相结合的、面向IP核复用的混合级硬/软件协同验证环境,并提出混合级协同验证总线功能模块的构成.该技术不仅可以提高设计的可信性和验证速度,而且能够继承当前大多数硬件模拟验证方法.本文链接:http://d.wanfangdata.com.cn/Thesis_Y1432314.aspx授权使用:东南大学院图书馆(dndxytsg),授权号:56dc2136-60eb-4399-b7a8-9f0f008c080b下载时间:2011年6月27日

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭