关闭

关闭

关闭

封号提示

内容

首页 SoC中应用类IP核高级综合技术研究.pdf

SoC中应用类IP核高级综合技术研究.pdf

SoC中应用类IP核高级综合技术研究.pdf

上传者: xl46512 2012-05-08 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《SoC中应用类IP核高级综合技术研究pdf》,可适用于IT/计算机领域,主题内容包含Illllllllll$tllllllllllllllllLIIIlllllllllY分类号UDC工学博士学位论文学号密级公开SoC中应用类IP核高符等。

Illllllllll$tllllllllllllllllLIIIlllllllllY分类号UDC工学博士学位论文学号密级公开SoC中应用类IP核高级综合技术研究博士生姓名董亚卓学科专业计算机科学与技术研究方向计算机系统结构指导教师窦勇研究员国防科学技术大学研究生院二OOJL年四月国防科学技术大学研究生院博十学位论文摘要近年来随着集成电路设计和工艺技术水平的快速提高片上系统SoC设计技术得到越来越广泛的应用已经逐步涉及到电子设计技术的诸多领域。SoC设计技术已经成为当今超大规模集成电路的发展趋势。在SoC设计中IP核是其设计的基础和核心SoC设计需要尽可能地使用现有IP以搭积木的方式完成大部分设计。其中应用类IP核设计是SoC创新性的体现也是制约SoC快速构建的关键。IP核高级综合技术实现将硬件行为级描述转化为结构描述甚至布图描述提高了抽象级别使设计者从繁杂的底层设计细节中解脱出来更加专注于整个系统的设计提高了设计的效率和正确率降低了设计成本。IP核高级综合技术自提出以来引起了学术界和工业界的高度重视并且在未来的设计中将占据更加重要的地位。本文主要面向一类应用程序类型滑动窗口应用展开研究。滑动窗口广泛应用于图像处理、模式识别和数字信号处理领域它具有数据量大计算密集等特点。滑动窗口应用因其访存的特殊性而成为很多高级综合工具研究的入手点。令人遗憾的是现有的高级综合系统在解决滑动窗口应用中还存在各种不足或者没有明确的体系结构模型或者没有充分开发数据重用或者为实现数据重用使用了过多的硬件资源或者没有进行设计空间探索优化。本文在现有工作的基础上系统的研究了面向滑动窗口应用的IP核的高级综合技术主要对以下几个方面的问题进行了研究。针对现有体系结构模型的不足本文首先提出了IP核的参数化三层存储结构模型设计目标是充分开发滑动窗口应用中存在的数据重用减少访存次数加快程序执行速度。该模型采用三级存储层次和寄存器轮转策略充分开发循环层内和循环层间数据重用其具体结构由若干参数确定参数值由编译器根据具体滑动窗口应用的特点在编译阶段确定。本文针对不同类型的数据重用提出了参数提取算法。实验结果表明与相关工作相比本文提出的存储结构模型使用相对较少的存储单元将程序执行节拍减少了.到.倍将程序执行频率由MHz提升到了MHz以上。在参数化三层存储结构模型的基础上本文研究了IP核RTL级硬件描述文件的自动生成。设计目标是实现IP核的可综合Verilog代码自动生成。该过程包括三部分:控制状态机自动生成、运算流水线自动生成和整体封装模块生成。首先编译器将滑动窗口应用源程序划分为控制部分和运算部分。通过在编译平台上对程序控制部分进行分析获得循环信息(循环初值、终值和步进值)和数据重用信息本文提出的控制状态机自动生成算法根据这些信息实现控制状态机的自第i页国防科学技术大学研究生院博士学位论文动生成。源程序运算部分在编译平台上经过数据结构定义、相关性分析等操作输出数据流图描述文件再经过运算流水段划分生成新的程序中间表述IR(IntermediateRepresentation)最后调用相应的运算单元IP函数实现运算流水线的自动生成。整体封装模块将控制单元、运算流水线和暂存单元等模块集成实现RTL级IP核硬件描述文件的生成。这种方法避免了手工映射的复杂性和低效性实现自动映射并且结果比较优化。在此基础上本文进一步研究了片上资源足够和不足两种情况下的设计空间探索技术。当片上资源足够时本文设计了一种基于硬件流水结构的设计空间探索方法设计目标是充分利用片上资源提高算法并行度减少程序执行节拍。其基本思想为在程序正式加载到目标开发板之前综合考虑片上系统提供的各种资源(主要为芯片面积、存储带宽和存储资源本文用片上逻辑计算部件个数来衡量片上面积资源)生成能充分利用片上资源的底层硬件结构。如果片上资源有余则最大化循环展开增加程序并行性。如果面积资源有余而存储资源不足本文将输入数组沿水平方向分块并实现块内部的数据流水化调度以尽可能的减少重复访问片外存储系统的次数。实验证明本文提出的设计空间探索方法可以将片上资源利用率提高到%以上同时本文的阵列分块方法与相关工作相比可以将访存次数降低%到%。在一些大规模应用中存在大量包含多个循环基本块的程序由于片上资源有限并不能将这些循环基本块同时映射到目标芯片上。在这种情况下如果为每个循环基本块设计一个专用IP核显然是不实际的。本文在片上资源受限的情况下针对多循环程序设计了一个参数化的流水线模板该模板结构对特定目标应用中所有循环基本块通用能够实现对所有循环基本块的顺序映射。该模板根据目标应用需求和片上资源数量确定底层运算单元的配置并基于软件流水的迭代模调度思想和ShiftQ体系结构模型实现对各个循环基本块的指令调度和中间暂存寄存器自动生成。实验表明针对每个循环基本块本文设计的流水线模板能达到与专用硬件结构相当的执行节拍同时本文提出的通用模板结构简化了为每个循环设计专用IP这一过程降低了设计复杂度缩短了设计周期。综上所述本文面向滑动窗口应用研究其IP核的高级综合技术对存储结构模型、RTL级硬件描述文件自动生成和两种情况下的设计空间探索方法等问题提出了有效的解决方案对于推进应用类IP核高级综合技术的研究和实用化具有一定的理论意义和应用价值。主题词:SoCIP核高级综合滑动窗口应用数据重用设计空间探索国防科学技术大学研究生院博士学位论文ABSTRACTInrecentyearswiththerapiddevelopmentofIC(integratecircuit)designthetechnologyofsystemonchip(SoC)hasbeenwidelyusedandincreasinglyinvolovedinmanyfieldsofelectronictechnology.InfactSoChasbecomeatrendofcurrentVLSI(verylargescaleintegration)design.TheIP(intellectualproperty)coreisthebasisandkernelofSoCdesign.DesignersofSoCtrytoreuseexistingIPcoresasmuchaspossibletofinishthewholeprojectsimplybygettingthemtogether.TheseIPcoresorientedatspecialapplicationsembodytheinnovationofSoCandarealsoakeyfactortothedesignspeed.TheHLS(highlevelsynthesis)ofIPcoreraisethelevelofdesignfromtransformingbehaviorleveldescriptiontostructurelevelevenlayoutdescription.HLSCanhelpthedesignersbereleasedfromthecomplicatedhardwaredesignandfocusonthehighlevelsystemdesignwhichincreasestheefficiencyandvalidityofSoCdesignandreducesthecostatthesametime.Asaresultthistechnologyhasgotmuchrecognitionfromacademeandindustrysinceitisbroughtforwardandwillbepromisinginthefuture.Ofparticularintereststothispaperareslidingwindowapplicationswhichiswidelyusedinsignalimageandvideoprocessingandrequiresmuchcomputationanddatamanipulation.ManyHLSsystemsstal't、析ththiskindofapplicationbecauseofitsparticularityofmemoryaccessing.Unfortunatelytherearestillvariouslimitationsofcurrentworks.Someofthemdonotporwardthememoryarchitecturedefinitelysomedonotrealizedatareuseadequatelysomeuselargenumbersofmemoryelementsandregistersandsomeofthemdonotdiscusstheproblemofdesignspaceexploration.WedeeplystudysomekeyproblemsinHLSofIPcoreforslidingwindowoperationsiIltisthesiswhichisoutlinedasfollowed.Aimingattheinherentcharacteristicsofslidingwindowoperationsandthelimitationofcurrentworksweproposeaparameterizedmemoryarchitecturetogeneratethehardwareframesforallslidingwindowapplicationsautomatically.Theobjectof"workistorealizedatareuseasfullyaspossibleSOastoreducethenumberofmemoryaccessesandspeeduptheexecution.Athreelevelsmemorystructureisdesignedtorealizeinnerloopandouterloopdatareuseandatthesametimeshiftedregistersareusedtomakehardwaredesignsimpler.Thearchitectureisdecidedbysomeparametersthevaluesofwhichareachievedfromthecompiler.Weproposedtheparameters’Sgenerationalgorithmaccordingtodifferentkindsofdatareuse.ComparedtorelatedworksOUrapproachwhichusesonlyasmallnumberofmemoryelememtsandregistersCanreducetheexecutionclockcyclesby.Xandupto.X。andenhancethefrequencyfromMHztomorethanMHz.BasedontheparameterizedmemoryarchitecturewestudythegenerationofRTL第iii页国防科学技术大学研究生院博十学位论文levelhardwaredescriptiontheaimofwhichistogenerateVerilogcodeofIPcoreautomatically.Therearethreepartsofwork:automaticgenerationofcontrollersautomaticgenerationofpipelinedoperationsandgenerationofholisticencapsulationmodule.Firstlythecompilerpartitionsthesourcecodesintotwoparts:controlcellandoperationcell.Thecontrolcellisanalyzedinthecompilerthenthevalueofsomeparametersareobtainedincludingtheinformationofloop(theinitialvalueendvalueandsteplen舒hvalueoftheloop)andtheinformationofdatareuse.Aalgorithmofcontrollers’generationispresentedinthispaperandthecontrollersCanbegeneratedautomaticallyaccordingtotheseparameters.Theoperationcellisdisposedinthecompilerviaaseriesofsteps:definingdatastructureanalyzingdependencythenthedescriptionofdatadependenceflowiscreated.BasedonitwepartitionthedatapathintopipelinedstagesandexpressthesourceprograminanewIR(intermediaterepresentation).Andthenthepipelinedoperationsaregenerated.FinallytheholisticencapsulationmoduleintegratesthecontrollermoduleoperationmoduleandRammoduleetcandrealizetheRTLlevelhardwaredescription’Sgeneration.OurapproachCanavoidthecomplexityandinefficientofhandiworkandtheresultiscomparativelybetter.Thenthispaperstudiesthedesignspaceexplorationtechnologyfurtheraccordingtothesufficiencyofresourcesonchip.Wepresentadesignspaceexplorationapproachwhentheresourcesonchipisabundanttheaimofwhichistousetheresourcescompletelyincreaseparallelismandreducetheclockcyclesofexecution.Byfindingthreeupperboundsaccordingtoareaconstraints(whichisscaledbythenumberoflogicoperationunits)memorybandwidthconstraintsandonchipmemoryconstraintstheblockstructureofthedesignwhichCanfullyutilizedtheavailableresourcesontheboardisdetermined.Loopunrollingisadoptedasmuchaspossiblewhentheareaonchipisabundant.Theinputdataarrayispartitionedintoseveralpieceshorizontallyoncethememoryelementsareinsufficient.Andthedatainapieceisprocessedinpipelineinordertoreducethenumberofmemoryaccessesasmanyaspossible.ExperimentsshowthattheefficiencyofmemoryusingcanincreasetO%andcomparedtOcurrentworkthenumberofmemoryaccessescanreduceby%to%.Therearesomelargeapplicationswhichconsistofmanyloopnests.Maptheseloopnestsinanapplicationontoatargetchipmaybeimpracticalbecauseofthearealimitationonchip.TraditionalmethodofdesigningspecialIPcoreforeveryloopnestisawkward.Thispaperpresentsapipelinedtemplatewhichisuniversaltoallloopnestsinanapplication.TheseloopnestsCallbeexecutedonthetemplateorderly.WedecidethenumberofFUs(functionunits)accordingtotheresourcesonchipandthecharacterofspecificapplication.BasedontheiterativemoduloschedulingofsoftwarepipelingingandtheShiftQarchitecturewescheduletheinstructionsofeachloopnestandrealizetheautomaticgenerationoftheregisterswhichareusedtokeepthe第iV页国防科学技术大学研究生院博十学位论文intermediateresults.ExperimentsshowthatthepipelinedtemplatecanachieveacomparativeexecutioncyclesforaloopcomparingwiththespecialhardwareandatthesametimeourapproachsavethetimeofdesigningspecificIPcoreforeveryloopnests.InsummaryourworksstudytheHLSofIPcoreforslidingwindowoperationspresentsolutionstoseveralkeyproblemsofmemoryarchitecturehardwaredescriptioncodegenerationanddesignspaceexplorationoftwosituations.OurworkshaveacademicandpracticalvalueforadvancingthetheoryandpracticabilityofHLSofIPcoreforspecificapplications.KeyWords:SoCIPcorehighlevelsynthesisslidingwindowoperationdatareusedesignspaceexploration.第v页国防科学技术大学研究生院博士学位论文表目录表.几种典型的直接编译系统小结.表.几种典型类C语言小结表.数字图像处理中部分应用程序分析.表Mediabench中部分应用程序分析.表.LFK应用程序分析l表.几种典型的没有数据重用的程序示例表.几种典型的只有层内数据重用的程序示例表.典型的只有层间数据重用的程序示例表.典型的既有层内数据重用又有层间数据重用的程序示例表.问题规模表.寄存器资源使用数量表.存储单元的使用数量表.本文的方法与ROCCC系统的比较。表.运算部件和控制部件的开销表.几个典型程序的综合结果表.输入变量.表.中间变量表.输出变量表.控制逻辑和运算流水线所占用的资源比较.表.八个测试程序经过设计空间探索后的资源使用情况表.我们的输入数组划分方法与SWOOP的比较表.边延迟计算公式表.几个运算部件的权重和执行延迟表.FU配置算法的执行结果..表优化算法执行结果..第V页国防科学技术大学研究生院博士学位论文图目录图.直接编译技术执行流程.图.滑动窗口应用示意图.图.Sobel边缘检测程序及其滑动窗口示意图图.SoC框架结构.图.TrscendA的SoC框架结构【.图.IP核体系结构.图.IP核高级综合工具构成图.数据相关图实例.图.Sobel程序窗口计算示意图图.Sobel程序的数据输入相关及其数据重用图.没有数据重用的方法为Sobel程序设计的体系结构模型..图.传统的数据重用方法为Sobel程序设计的体系结构模型。图.ROCCC为Sobel程序设计的体系结构模型图ROCCC实现Sobel程序的数据调度流图图.本文为Sobel程序设计的体系结构模型。图.本文的方法解决Sobel程序的数据调度流图。图参数化三层存储体系结构模型.图.DLowpassfilter程序源代码一图.DLowpassfilter程序的数据调度流图一图.tapFIR程序源代码.图.示例程序.图.三种方法的执行速度比较.l图.硬件描述文件生成流程.图.灰度变换程序..图.变换后的灰度变换程序.图.表达式树示例.图Sobel程序的部分数据相关图描述语句图.Sobel程序的数据通路流水段划分结果图.Sobel程序的中间表示描述图整体封装模块接口示意图.图.*循环展开的低通滤波程序及其滑动窗口操作..图.SWOOP方法输入数组分块示意图笫v页国防科学技术大学研究生院博十学位论文图.本文的方法输入数组分块示意图.图.将Sobel边缘检测程序输入数组分块后数据调度流图..图.面积、时钟频率和吞吐率随循环展开的变化情况.图.软件流水指令调度示例.图.迭代模调度函数图。查找时间槽算法.图.Measpos循环程序源代码图.Measpos数据相关图图.Measpos程度调度时间步和模保留表图.ShiftQ结构及其buffer控制.图.Measjaos循环软件流水电路结构图参数化流水线模板体系结构.图.参数提取算法流程.图.示例程序..第vi页独创性声明本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研究成果.尽我所知除了文中特别加以标注和致谢的地方外论文中不包含其他人已经发表和撰写过的研究成果也不包含为获得国防科学技术大学或其它教育机构的学位或证书而使用过的材料.与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意.学位论文题目:曼丛生廑围差!£挞直熟绫佥挂苤珏窀学位论文版权使用授权书本人完全了解国防科学技术大学有关保留使用学位论文的规定.本人授.权国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档允许论文被查阅和借阅可以将学位论文的全部或部分内容编入有关数据库进行检索可以采用影印、缩印或扫描等复制手段保存、汇编学位论文.(保密学位论文在解密后适用本授权书.)学位论文题目:墨鳗生壅围差!里楚直熟绫佥挂苤叠窀学位论文作者签名:作者指导教师签名:日期:佃譬年毕月g日日期:加徉妒月夕日r国防科学技术大学研究生院博士学位论文第一童绪论随着集成电路(IntegratedCircuitIC)设计和工艺技术水平的快速提高片上系统(SystemonChipSoC)设计技术得到越来越广泛的应用已经逐步涉及到电子技术及电子设计技术的诸多领域。SoC设计技术已经成为当今超大规模集成电路的发展趋势。其中IP核(IntellectualProperty)是SoC设计的基础和核心。SoC设计需要尽可能地使用现有IP以搭积木的方式完成大部分设计。应用类IP核设计是SoC创新性的体现也是制约SoC快速构建的关键。IP核高级综合技术将寄存器传输级以上的硬件行为级描述转换成结构描述甚至布图描述使设计者从繁杂的底层设计细节中解脱出来更加专注于整个系统的设计提高了设计效率降低了设计成本。IP核高级综合技术自提出以来引起了学术界和工业界的高度重视并且将在未来的设计中占据更加重要的地位J。本章将首先介绍SoC技术的基本概念、特点及其面临的挑战之后详细介绍IP核高级综合技术包括IP核的基本概念和特点IP核高级综合技术的研究意义、研究现状、关键技术问题及其面临的挑战。之后介绍本文所面向的应用程序类型一一滑动窗口应用包括滑动窗口应用的定义、应用领域和研究意义。最后概述了本文的主要工作。..基本概念和特点.SoC技术概述多年来集成电路技术发生了惊人的变化它经历了小规模(SSI)、中规模(MSI)、大规模(LSI)和超大规模(VLSI)几个阶段目前己进入了特大规模(ULSI)发展阶段。集成技术的不断发展和集成度的迅速提高使整个系统的片上集成成为了可能J。与此同时市场上的一些消费类电子设备象G移动通信设备、高清晰度电视、Bluetooth等产品都要求进行百万门级的集成电路设计这些设备要求设计时间、投放市场时间尽量短还要求开发过程部分可预测、制造风险尽量小、质量尽可能高。在这种情况下传统的以单元库(CellLibrary)为基础的ASIC设计方法已经逐渐跟不上需求系统集成芯片设计技术应运而生而且正在逐渐成为集成电路设计的主流【卅。SoC将电子系统的几乎全部功能集成到一块芯片上在单个硅芯片上实现信号采集、转换、存储、处理和FO等功能从而实现一个系统的功能【。SoC具有如下特征:>实现复杂系统功能的VLSI。能在单一芯片上实现信号采集、转换、存储、第页国防科学技术大学研究生院博士学位论文处理和I/O等多种功能>采用超深亚微米工艺技术。特征尺寸一般都在.m以下工艺技术难度大需要考虑因工艺加工线宽的减少而带来的互连、串扰等影响>使用一个或多个嵌入式微处理器或数字信号处理器完成某一特定领域或特殊任务的功能:>具备外部对芯片进行编程的功能从而定制部分应用程序软件以满足应用的特殊需求>主要采用第三方IP核或已有的模块进行设计利用重用技术缩短设计周期降低设计复杂性。SoC具有速度快、集成度高、功耗低等优点此外由于SoC集成了多个功能使整机成本和体积都大大降低加快了整机更新换代的速度。这些优点顺应了通讯、电脑、消费电子产品向高性能、低功耗和低成本方向发展的趋势使SoC成为VLSI与微电子技术研究的重要方向。但目前IC设计与验证技术的发展越来越落后于IC制造技术的发展这种现象己成为SoC发展面临的重大问题。提高设计层次并采用IP核设计重用技术是解决此问题的关键J。..SoC设计面临的挑战SoC是软件和硬件一体化的系统是基于IP核设计的专用系统芯片。其设计面临的挑战主要有【】:()基于IP核的可重用设计随着嵌入式产品更新速度加快系统设计周期不断缩短新产品问世时间不断减少系统设计更加强调设计重用。目前SoC硬件部分广泛采用了IP核重用技术。IP核是预先设计好、经过验证的可重复使用的核嵌入式产品的各部分都可以用这些核完成以便系统灵活地集成在一块芯片上。设计人员用覆盖了系统各功能的核来搭建系统而只需要在必要的地方书写少量的用户自定义逻辑(UserDefinedLogics)模块。因此IP核是SoC设计的基础性能优良的IP核设计是构建高效SoC系统的关键。()系统软件/硬件的更紧密联系llJ嵌入式产品对功能和性能的需求不断增加正向着高性能、低功耗、低成本、小体积等方向发展然而这些需求本身是相互制约、互为矛盾的这给设计者带来了巨大的挑战。在SoC系统中许多功能既可以由软件完成也可以由硬件完成而它们所表现出来的性能就千差万别。例如硬件速度更快而软件成本更低。这就需要在SoC系统设计中充分权衡其构成的IP核的时间特性以及成本、功耗、面积等众多因素。第页国防科学技术大学研究生院博士学位论文()系统级的综合设计基于IP核的设计使设计者从繁琐的底层设计细节中解脱出来更多的关注系统体系结构和功能模块之间的联系从而达到降低系统设计复杂性的目的。然而SoC设计并不是简单的IP核的堆砌必须处在系统级的高度上对系统的性能和功能进行综合考虑这对IP核的设计和互联提出了较高要求引。()可测性的特殊设计由于IP核的来源不同因此其提交形式、规模和测试要求各不相同设计者必须完成从单独IP核到整个系统的测试转换和再利用。与此同时一旦IP核被集成IP核的输入输出就会被嵌入至lJSoC中这样从SoC)f、部是无法对具体的IP核进行单独访问的IP核的可测试性将发生变化失去了原来的可控制性和可观察性。因此SoC的测试同传统的嵌入式系统测试相比其复杂度更高、难度更大在从事SoC设计开发时必须探索新的测试体系结构及测试方法来解决千万门级甚至更高的SoC芯片的可测试性问题。()越来越多的功能需求随着嵌入式产品深入到人们生产生活的各个领域人们对新产品的功能需求越来越多呈指数型增长用户往往希望一个产品不仅使用方便而且还可以包含他们要使用的全部功能不断提高的功能需求要求IP核处理能力更密集、更完善对SoC设计提出了更高的要求。()更加苛刻的性能指标要求现代的嵌入式产品不仅有着繁多的功能需求还向着高速度、低功耗、低成本、轻量型、移动化方向发展。为了在竞争中取胜设计者总是希望自己的产品拥有比同类产品更好的性能因此体积、功耗、成本、速度等都是在SoC设计开发过程中不断求精的指标。通过以上对SoC设计开发特点的分析可以发现与传统嵌入式系统设计开发方法相比SoC产品功能密集、性能指标繁多因此SoC设计开发技术涉及范围广泛强调在更高的抽象层次上进行设计开发同时还提倡尽可能利用己有的设计资源。在这种思想指导下采用第三方IP核成为SoC设计的必然。高度复杂的系统功能和越来越紧的产品面市时间不允许芯片设计者一切从零开始必须借鉴和利用已经成熟的设计为自己的产品开发服务。.IP核高级综合技术SoC核心技术之~是IP核重用。目前开发硬件IP核仍然沿用传统RTL级硬件设计的方法随着问题规模的不断扩大其设计的复杂性和较长的设计周期已经越来越成为困扰IP开发人员的难题。传统的设计方法使得在软件和硬件之间第页国防科学技术大学研究生院博士学位论文很难进行早期的平衡和优化并严重影响开发成本和开发周期。因此在系统级设计与电路级设计之间架设一座桥梁已经成为集成电路设计领域极为迫切的任务IP核高级综合技术成为系统级设计的前沿研究课题【l。..lP核的基本概念和特点IP核是具有知识产权的集成电路芯核的简称其作用是把一组拥有知识产权的电路设计集合在一起构成芯片的基本单位。在SoC设计中可以使用现有的IP核以搭积木的方式完成大部分设计下面分别从实现功能和实现形式两个角度讨论IP核的分类。按照实现功能的不同IP核可以分为中心处理器类IP、通信接NIP、应用类IP等等许多芯片设计厂商可以向这些IP拥有厂商购买所需要的IP再加上一些外围IP以制成一个高度整合性的SoC嵌入式系统。()中心处理器类IP中心处理器类IP主要负责整个运算流程的控制。这个处理器既可以是一个普通的微处理器核也可以是一个数字信号处理器(DSP)的核还可以是一个专用的运算控制逻辑芯片。如:ARM公司的RISC架构的ARM核【l酬MIPS公司的MIPSRISC核fJ等。()通信接口IP通信接口IP负责实现中心处理器和其他功能单元的通信包括通用串行总线端口USB、MAC/PHY、GSM/GPRS通信接口、IEEE接口、蓝牙模块接口等等。将这些接口单元按照各自的功能做成一个IP核集成在SoC系统中相对于传统的接口芯片设计方法可以大幅度减少整个系统所占用的面积降低成本。()应用类IP应用类IP核是针对特定需要设计的专门的IP核结构。SoC的应用领域越来越广泛对面向特定应用的IP核的需求也越来越多。应用类IP核设计是SoC创新性的体现也是制约SoC快速构建的关键。本文将面向一种应用程序类型一一滑动窗口应用研究其IP核的高级综合技术。从实现形式看IP核有三种不同的表现形式:软核(Soft.Core)、固核(Finn.Core)和硬核(Hard.Core)】。()软核软核以HDL的方式提交不依赖于任何实现工艺或实现技术具有很大的灵活性。使用者可以方便地将其映射到自己所使用的工艺上去可复用性很高。同时软核使用者可以拥有全部源代码可以通过增加自己的知识和经验生产出新的软核。第页国防科学技术大学研究生院博士学位论文()硬核硬核以IC版图的形式提交并经过实际工艺流片验证。显然硬核强烈地依赖于某一个特定的实现工艺而且在具体的物理尺寸物理形态及性能上具有不可更改性。这些特点对使用者来说有利有弊。有利的是硬核已经过验证并具有最优的面积代价和性能使用者不需考虑相关的优化问题。不利的是硬核与工艺的强相关性迫使使用者只能使用对应工艺完成电路其它部分的设计而且要在布局布线时遵守硬核的物理限制。()固核处于软核和硬核之间的固核以电路网表的形式提交。固核往往对应于某一特定的实现工艺在该实现工艺条件下该固核具有最优的面积和性能特性。对于使用者来说不需要对固核的功能给于过多地关注可以减少许多相关的设计工作。同时由于固核的时序特性是经过严格检验的设计者只要保证在布局布线过程中电路关键路径的分布参数不会引起时序混乱就可以保证芯片的成功设计。IP的基本特征是可复用性【博J。P复用与传统的IC设计复用概念完全不同。首先IP复用的规模更大范围更广其次传统的设计复用往往局限在同一设计小组的内部或者特定工艺的设计复用是在封闭的设计流程中的复用技术。而IP复用技术中的IP核则是一个开放的概念IP供应商提供的设计可以用于任何一个设计团队因此IP核的特征与设计方法都与一般电路不同。一个可复用性的IP必须具备几个特征:高质量、标准化、可预见性和灵活性【】。高质量是指:功能正确、面积小、速度快、功耗低、工艺适应性佳这也是IP设计优化的目标。在标准化方面RAPID(ReusableApplicationspecificIntellectual.propertyDevelopers)、VSI等组织相继成立旨在制订IP复用所需的参数、文档、检验方式等形式化的标准以及IP标准接口、片内总线等技术性的标准。虽然这些工作己经开展了几年也制订了一些标准但至今仍有大量问题有待进一步解决。..IP核高级综合的研究意义随着问题规模的不断扩大IP核的设计越来越复杂性设计周期越来越长。传统的设计方法使得在软件和硬件之间很难进行早期的平衡和优化并有可能严重影响开发成本和开发周期【,】。首先软件开发人员在系统级使用诸如C/C抖等高级编程语言进行系统描述和算法仿真并分析系统在软件层面的各项指标撰写系统设计书再将其移交给硬件设计工程师。硬件设计师要花大量的时间理解系统设计书再利用VHDL或Verilog硬件描述语言进行电路设计。在此手工转换的过程中可能会引入人为的错误因素。最后为了验证软件开发的正确性必须等第页国防科学技术大学研究生院博士学位论文到硬件全部完成之后才能}:始进行软件测试和系统集成大大延长了设计岗期。根据有关统计从系统级设计到电路级设计所花费的时间一般是系统级设计所花时间的倍左右【。因此在系统级设计与电路级设计之间架设一座桥梁已经成为集成电路设计领域极为迫切的任务。IP核高级综合技术成为系统级设计的前沿研究课题。所谓高级综合是将寄存器传输级以上的硬件行为级描述转换成结构描述甚至布图描述。使硬件设计者只需要着重考虑高层次的硬件设计和总体规划引。高级综合的目标是提高系统抽象级别简化硬件开发过程缩短设计周期【引。其首要任务是利用系统级设计中提供的各种资源(系统功能描述、可使用的软/硬件模块等)同时满足系统性能与代价约束找到一个最好的平衡点(合理的设计表示模型、优化的体系结构等)实现从功能到结构再到实现的转换。这种转化的结果应在软/硬件划分的基础上在已有的设计规则和既定的设计目标前提下决定系统中软件部分的具体实现方案即采用什么类型的微处理器架构硬件部分的详细设计实现采用哪种类型的软/硬件单元生成符合应用需求的互连体系结构等同时给出应用中的性能/开销瓶颈【z引。高级综合在行为功能描述与其硬件结构实现之间架起了一座桥梁使得硬件设计者只需要着重考虑高层次的硬件设计和总体规划。高级综合的引入大大减轻了设计者的工作量显著缩短了设计周期提高了设计质量因此高级综合技术已经同益引起研究人员的重视并逐渐走向成熟和实用。..高级综合的研究现状现有的高级综合技术按照输入语言及其综合过程的不同可以分为两种类型:一种是起步较早的类C语言即设计一种新的软/硬件描述语言再使用专门的硬件综合工具实现布局布线另外一种是最近几年发展起来的直接在高级语言(CC抖Matlab)程序中增加注释或约束将高级语言程序翻译成HDL硬件描述语言再使用现有的商用综合工具进行综合。下面将对这两种类型的高级综合技术的研究现状进行介绍。...类C语言技术按照时间顺序对类C语言的发展历程及其研究成果进行简要说明【。Conesl】是最早的类C语言是C的严格子集实现将单一功ill!I组合逻辑的映射可以实现条件分支、循环等操作。Ku和DeMicheli开发HardwareCl】作为他们所设计的Olympussynthesis系统的输入HardwareC使用了类C的语法是一种行为级的描述语言增加了部分第页国防科学技术大学研究生院博十学位论文对硬件结构描述和硬件层次描述的语法支持。Galloway提出的TransmogrifierC是C的一个较小子集支持整数运算、条件分支和循环操作。与Cones的不同之处在于在遇到函数调用和while循环时TransmogrifierC通过推断产生顺序操作。SystemC】是建立在C基础上的开放的系统级设计语言。SystemC由一系列用来进行系统描述的C类构成并包含了一个用来对系统行为进行模拟的仿真核支持系统级软/硬件协同设计仿真和验证。在SystemC语言描述中最基本的构造块是进程。一个完整的系统描述包含几个并发进程进程之间通过信号互相联系通过外在时钟确定事件的顺序和进程同步。SystemC源码可以用来综合硬件把SystemC写的硬件描述综合成门级网表以便FPGA综合。用SystemC开发的硬件模型可以用标准的C编译器编译经编译后形成一个可执行的应用程序设计人员可以观察系统的行为验证系统功能和结构。IMEC的【J系统也是建立在C抖基础上的但处理过程与SystemC有所不同。Ocapi扩充了C程序使之能够产生片上存储数据结构用于表示硬件系统。定义特定的类用于表示数据通路有限状态机等类似的结构这些数据结构被翻译为Verilog语言再传输给硬件综合工具。Lipton等所设计的PDL【】系统使用了类似的方法。CVerilogtJ由CompiLogic公司开发对ANSIC提供了更广泛的支持可以实现指针、递归、动态存储分配和其他一些C结构有独立的编译器但CVerilog不支持循环展开。Bach.C语法中没有显示时钟便于设计大规模电路包括多个并行执行的线程通过通道和共享变量实现交互提供了更大的设计空间其他类似于HandelC有自己的编译器和模拟器。Gajski等设计的SpecCl】增加了有限状态机结构实现运算流水化有个关键字定义可综合的子系统。ASClJ输入程序为受限的C代码将其转换为中间ASC代码再进一步生成RTL级代码。允许用户在三个层次上实现硬件加速:体系结构级、功能模块级和比特级。执行的算法分析包括:存储控制、硬件可综合的指针分析、循环传输、数据结构传输和体系结构选择。半自动地设计空间开发以增加设计产出率在所有抽象层次上支持优化处理面向对象的设计有利于实现代码重用提供了一个有多个不同浮点部件的浮点库有任意比特带宽的指数和尾数表示。ASC并没有实现设计空间的自动开发同时在算法分析层次上的优化如循环展开和融合等有待加强。Handel.C【J由Celoxica开发是ANSIC的扩充支持灵活的变量带宽、信号、第页国防科学技术大学研究生院博:}学位论文并行模块、bit处理操作和通道交互。类似于HDL它允许程序员手动调度硬件资源Handel.C将产生自动设计的控制路径允许使用者开发精细的优化控制以产生比较优化的设计。其显著的特点是时钟固定在每一条语句中程序中的每一个assignment语句映射为一个触发器。控制触发器捕捉控制流如果相对于某一语句的控制触发器处于活跃状态就将控制信号传递给这条语句对这条语句的电路编译就被激活。当这条语句执行

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/27
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部