关闭

关闭

关闭

封号提示

内容

首页 SOPC中FPGA+IP核配置方案研究与实现.pdf

SOPC中FPGA+IP核配置方案研究与实现.pdf

SOPC中FPGA+IP核配置方案研究与实现.pdf

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

简介:本文档为《SOPC中FPGA+IP核配置方案研究与实现pdf》,可适用于IT/计算机领域,主题内容包含西安电子科技大学硕士学位论文SOPC中FPGAIP核配置方案研究与实现姓名:梁颖申请学位级别:硕士专业:软件工程(微电子)指导教师:张鹤鸣王佩宁摘要符等。

西安电子科技大学硕士学位论文SOPC中FPGAIP核配置方案研究与实现姓名:梁颖申请学位级别:硕士专业:软件工程(微电子)指导教师:张鹤鸣王佩宁摘要摘要本论文首先介绍SOPC的发展、应用及IP核复用技术在研究FPGA的配置流程和C数据总线协议的基础上提出了在SOPC系统中用C总线对FPGA进行配置的方案。接着采用自顶向下的IC设计方法通过VerilogHDL语言编程设计了C的主、从IP固核。利用FPGA软硬件接口系统机制的规律建立了CIP固核与FPGA配置部分、配置控制部分的连接将CIP核嵌入到FPGAIP核中让C充当FPGAIP核的一个扩展配置接口。最后对配置方案所用到的“FPGAMCUFLASH”结构的SOPC系统进行了全面的分析研究搭建了配置方案的验证系统。为了验证配置结果的正确性本文对配置位流以及回读位流的结构进行了深入浅出的分析并在此基础上检验C接口配置和回读FPGA方案的正确性。该配置方案实现了微处理器对FPGA配置寄存器的配置和回读为SOPC中系统总线对FPGAIP核的配置访问提供了一种新的方案。关键字:SOPCFPGAIP核C配置方案ABSTRACTABSTRACTThepaperintroducesthedevelopmentandapplicationofSOPCtheIPcoresreusetechniquefirglyafterthatresearchesabouttheFPGAconfigurationflowandCdatabusstandardandthenthepaperputsforwardanewconfigurationprojectthatusingtheCbusconfigurestheFPGAonaSOPC.Thisprojectmakesuseofthetopdowndesignflow,designstheCbusinterface(includingmasterIPandslaveIP)throughvefilogHDL.ThesoftandhardwareconnectmechanismdesigntheconnectlogicbetweenCIPcoreandFPGAconfigurationlogicFPGAconfigurationcontrollogic.ThesecoursesofactionsettheCsmallIPintotheFPGAIP.CpresentstobeaconfigureinterfaceofFPGAIP.Thenintroducethe“FPGAMCUFLASH”SOPCsystemthatwasusedinthispaper.InordertoverifythecorrectnessofconfigureresultsstructureofconfigurationbitstreamandreadbackbitstreamWasanalysisinsimpleterms.AndonthisbasistestthecorrectnessoftheresearchthatconfigureandreadbacktheFPGAthroughCinterface.ThisconfigurationprojectcancarryouttheconfigurationandreadbackofFPGA.TheproductionwillprovideanewmethodforFPGAIPconfigurationonSOPC.Keywords:SOPCFPGAIPcoreCConfiguration西安电子科技大学学位论文创新性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知除了文中特别加以标注和致谢中所罗列的内容以外论文中不包含其它人已经发表或撰写过的研究成果也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。申请学位论文与资料若有不实之处本人签名:邈本人签名:绳逖本人承担一切相关责任。西安电子科技大学关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业离校后发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学校有权保留送交论文的复印件允许查阅和借阅论文学校可以公布论文的全部或部分内容可以允许采用影印、缩印或其它复制手段保存论文。(保密的论文在解密后遵守此规定)本学位论文属于保密在一年解密后适用本授权书。本人签名:爨塾日期量!!:墨:Z导师签名:日期第一章绪论第一章绪论可编程的片上系统(即SOPC)是在一块现场可编程芯片上提供产品所需的系统级集成以FPGA现场可编程逻辑门阵列作为物理载体进行芯片设计的可编程片上系统。SOPC结合了SOC和FPGA的优点丰富的IP核资源和IP复用技术大大缩短了开发周期:灵活的可编程性降低了设计成本和设计风险足够的片上可编程逻辑资源突破了以往硬件设计中器件性能和硬件结构的诸多限制为设计人员提供了更为能动的创作空间也为日后的系统维护和升级留出了更大的余地。本章首先介绍了片上可编程系统SOPC的发展状况、应用领域等内容指出SOPC技术是今后集成电路的发展方向。接着对论文的选题依据及研究意义进行分析最后介绍了论文总体结构和开展的工作。..SOPC的发展.SOPC概述过去为了设计一种嵌入式系统设计人员需要选择三类不同的硬件器件一一处理器、逻辑器件和存储器。上世纪年代为了克服多芯片集成系统设计所产生的一些困难通过提高芯片集成的系统功能以获得更高的系统性能减少电路板面积降低制造成本J传统的芯片设计方法正在进行一场革命:提出了利用电子设计自动化(ElectronicDesignAutomationEDA)工具和硬件描述语言HDL(HardwareDescriptionLanguage)根据产品的特定要求设计包含有MCU、逻辑器件和存储器件的片上系统即SOC解决方案。现在嵌入式开发小体积、低功耗、高性能、短周期的发展趋势对芯片的性能、规模等提出了更高的要求芯片设计业又面临新一轮的挑战:)设计成本越来越趋于高昂。大规模的系统开发要求投入更多的人力和更长的设计时间而开发周期的延长直接导致了产品上市时间的推迟缩短了产品的市场寿命增加了产品的成本。)设计质量越来越难于控制。对于一些仅为小批量应用或处于开发阶段的SOC若马上投入流片生产需要投入较多的资金成功率不高承担较大的试制风险。)设计升级难度大。成品的SOC产品不可能改变其硬件结构来提升产品的性能只能够做软件升一SOPC中FPGAIP核配置方案研究与实现级升级的空间有限产品被淘汰的风险增大。)设计范围受限。SOC方式的硬件设计只能是流于拼装和连接选定的硬件系统结构根据指令系统来进行编程指令不可更改。设计人员的创造发挥自由度狭小限制了人的能动性在设计中应有的作用【】。为了解决芯片设计的一系列问题在IP核的开发、软硬件协同设计、IP复用、VDSM设计、新工艺新器件等方面我国都布置了预研性课题其中IP核的设计和制造是SOC技术中最为关键的部分。。SOPC技术是在SOC的基础上发展起来。作为可编程逻辑器件之一的FPGA由于其强大的并行计算能力和方便灵活的动态可重构性得到了越来越广泛的应用。同时深亚微米技术的发展使得FPGA芯片密度不断增加FPGA的逻辑容量大幅度的提升为SOPC技术的发展提供了物质基础。SOPC技术正是在可编程逻辑器件的基础上发展起来的一种灵活、高效的嵌入式系统解决方案。它将系统的处理机制、模型算法、芯片结构、各层次电路及器件的设计紧密结合把处理器、存储器、I/O口、LVDS、UART、DSP等系统设计所需要的部件集成到一片FPGA上大量采用IP复用、软硬件协同设计、自项向下和自底向上混合设计的方法使得整个设计在规模、可靠性、体积、功耗、功能、性能指标、上市周期、开发成本、产品维护及其硬件升级等多方面实现最优化。可以毫不夸张的说SOPC是嵌入式和SOC发展的方向是“半导体产业的未来”。..SOPC的应用SOPC的应用之一主要集中在soc的验证上。由于soc芯片的规模越来越大其验证工作已成为芯片设计中的重要环节越来越多的soc设计师通过设计仿真来执行功能验证以避免代价高昂的ASIC重复投片。采用FPGA设计系统可以非常真实地模拟各种SOC设计的功能和应用平台用实际或接近实际速度运行在发现错误时重新编程并且能够帮助发现仿真期间未找到的缺陷从而可以对其进行全面的验证。同时设计者可以在短时间内改变其设计而不需要通过ASIC设计的长达几个月的循环】。随着大容量高速度的FPGA的出现在流片前建立一个高性价比的SOPC验证系统已经成为缩短SOC验证时间的重要方法。另外SOPC已成为嵌入式系统的一种比较流行的解决方案【丌。一般的电子系统都包括有微处理器、存储器、DSP和各种接口若能将这些部件集成到一块芯片当中获得的性能将比用传统方法设计出来的系统提高很多。有数据显示采用.umSOPC技术设计的电路其性能将相当于O.urn或O.urn的采用通常第~章绪论方法设计的电路并且完成同样的功能所需的元件数要少很多。IBM公司发布的一款将逻辑电路和存储器集成在一起的单系统芯片集成度为万门其速度相当于PC处理速度的倍存储容量提高了倍存取速度提高了倍婵J。目前SOPC技术已经广泛应用于从消费类产品(如数字蜂窝手机和数字电视机顶盒)、工业、办公自动化、汽车到高端通信LAN/WAN设备的诸多嵌入式控制当中。目前Altem、ARM、ARCCores等公司都推出了各种可配置处理器内核。Altera和Xilinx公司将自己生产的FPGA与可配置处理器内核结合在一起推出了SOPC解决方案。SOPC技术在我国也受到前所未有的重视嵌入式微处理器IP核方面有了长足进展。如北大计算机系的JBCore、中芯微系统的方舟一号、二号、中科院计算机所的GODSON等等这些位微处理器核可以证明我国的IC设计人员已具有了设计较高性能的微处理器核的能力。..C总线现状.选题依据和所做工作C总线英文名为“INTER一CBUS”或“ICTOBUS”是由NXP(恩智浦)半导体于年代发明的意思是“内部集成电路总线”或“集成电路问总线”是近年来在微电子通信控制领域广泛采用的一种新型总线标准。C总线提供了较完善的总线协议、最简单的串行连接方式并提供了总线操作的状态处理软件包为各种应用系统设计提供了一种完善的集成电路间的串行总线扩展技术大大简化了应用系统的硬件设计为实现应用系统的模块化设计提供了极为有利的条件。因此它快速崛起成为业界嵌入式应用的标准解决方案被广泛地应用在各式各样基于微控器的专业、消费与电信产品中作为控制、诊断与电源管理总线。..C总线配置FPGAIP核意义C串行总线是用于IC器件间传送数据的一个国际标准协议它具有严格的规范如接口的电器特性、信号时序、信号传输的定义、总线状态的设置、总线管理规则及总线状态处理等。当前国际上有超过家的半导体公司的多种芯片上集成了C接口现代数字系统中C器件几乎无处不在。遗憾的是目前广泛应用在数字系统开发中的可编程逻辑器件FPGA却没有包含这样一个国际性标准协议的通用接口使得在FPGA开发和应用的过程中还得花费时间和人力去进行CIP核的开发而FPGA的应用也会因为引脚数量、接口不匹配等问题而受到了一定SOPC中FPGAP核配置方案研究与实现的限制。本论文的研究就是基于这样的应用需求通过在FPGAq丁增NC接作为FPGA的又一个可选配置方案提高FPGA在SOPC开发中的适用范围和可靠性节约SOPC开发时间具有很高的参考设计价值和工程实用价值。..本课题的研究工作本课题采用了自顶向下的IC设计方法利用VerilogHDL语言编程设计了C的主IP核和从IP核。主IP核兼具协议所要求的仲裁功能能够实现标准、快速两种波特率要求。从IP核能根据主IP核的要求做出读、写响应在处理速度跟不上主IP核的要求时能够通过拉低时钟线自动调节数据的传递速度。两个IP核均在ModelSim中进行了功能仿真并用DesignCompiler进行了综合和静态时序分析而后在NC.Verilog中进行了后仿真。CIP核设计完成以后深入研究了Virtex系列FPGA的配置流程并对FPGA配置部分的模块连接和信号控制进行了一定的分析研究在此基础上编程建立了CIP固核与FPGA配置部分、配置控制部分的桥接将C的小IP核嵌入到FPGA的大IP核当中让C充当FPGAIP核的一个扩展配置接口为SOPC中系统总线对FPGAIP核的配置访问提供了一种新的方案。本文内容安排如下:()第一章:“绪论’’主要阐述了SOPC的发展和在电子设计、验证方面的应用并对总线接口研究的意义和本文所研究的内容做了简单的论述。()第二章:“SOPCIP核复用技术"就什么是IP核IP核的开发流程等IP相关知识进行了简单介绍着重介绍了SOPC中的IP核复用技术。()第三章:“FPGA配置方案设计"在深入研究FPGA的配置流程和C数据总线协议的基础上提出了采用C总线对FPGA进行配置的配置方案并对其可行性进行了分析。()第四章:“CIP核设计"给出了C总线接口的具体设计包括主模式和从模式两部分。对各个模块的结构设计做了详细的阐述并对设计过程中涉及的难点进行了分析最后给出了仿真波形图和综合结果。()第五章:“接口逻辑设计”对FPGA的软硬件接口系统机制进行了分析并在此基础上设计了C.FPGA的粘合逻辑实现C对FPGA的配置和回读。()第六章:“FPGA配置方案实现"首先介绍了配置位流方面的知识然后结合本论文验证所用到的SOPC系统对其内部结构做了系统性的介绍最后对验证的结果进行分析。()第七章:“结论”总结了本文的研究设计工作并对将来进一步的工作做了展望。第二章SOPCIP核复用技术第二章SOPClP核复用技术IP核是基于SOC发展起来的近几年在SOPC技术领域得到了广泛的应用。本章将从IP核的基本概念出发总结IP核的基本特征并给出IP核的开发流程最后研究基于SOPC的IP核复用技术以及明确开发FPGAIP核在嵌入式中的应用方法。.IP核概述IP核可以认为是封装在硬件设计中的可重复利用的软件就功能而言IP核可以定义为SOPC的基本电路功能块如图.【所示又称为内核可由用户、专用IC公司或独立的公司开发而成IP核的显著特点是具有重用性(REUSE)。工艺设计封爱软棱墁援圃棱图.IP核与SOPC的关系’根据IP核所在集成电路的设计层次IP分为硬核(HardCores)、软核(SoftCores)和固核(FirmCores)】。软核是以可综合的RTL级描述提交的核。由于软核不依赖于最终的实现工艺因此具有很大的灵活性。使用者可以非常方便地将其映射到自己所使用的工艺上可复用性最高。此外软核的使用者完全拥有源代码使用者可以通过修改源代码并对源代码进行优化生成自己的软核。硬核是以电路版图形式提交的核。硬核总是与特定的实现工艺相关而且核的形状、大小以及核的端口位置都是固定的。因此它的灵活性最小可复用性最低但正是硬核具有不可更改性所以它的性能最稳定可靠性最高。固核介于软核和硬核之间它一般是以门级网表的形式提交。固核通常对应于某种特定的实现工艺与软核相比它的性能更加可靠。固核一般由使用者来完成布局布线因此核的形状、大小以及核的端口位置都是不固定的故与硬核相比它有更大的灵活性。由于软核、硬核、固核各有各的优点又都各自存在着缺陷在SOPCIP核复用时设计者应根据自身的需要选择IP核。SOPC中FPGAIP核配置方案研究与实现..IP基本特征随着SOC规模的扩大和复杂程度的不断提高基于可复用IP核的系统集成技术成为当今大规模集成电路设计的重要方法【I。可重用IP设计是基于重用的SOC设计方法学的基础它的基本目标是要确保IP库中的IP具备较高的可重用性并易于集成到芯片设中【lIl】。IP的本质特征是可重用性【l具有以下几个重要特征。通用性好:IP的功能在应用领域广泛通用IP的实现一般满足子功能可配置、甚至可编程的特点。正确性有%的保证:IP的实现严格遵守一系列的可重用设计开发规范验证用例具有完备性功能覆盖率、测试覆盖率都能够达到loo%。可移植性好:IP的实现如行为描述、网表、GDSII文件具有可移植性其设计输入可在不同的开发平台上重现综合用批处理文件具有可移植性IP综合的结果可用不同的综合工具、在不同的综合库条件下正确重现:仿真、测试用例可重用测试环境可以很方便的重现IP的验证可以用不同的仿真器在不同的仿真库件下重现引。..IP开发流程可重用IP核大量应用在SOPC的设计之中基于应用需求、规范协议和行业标准的不同IPCore的内容也是千差万别的。除了购买使用现有的IP资源外设计者可能还需要自己进行IP的设计。一般地为了使IPCore易于访问和集成并具有良好的复用性其设计必须严格按照“设计复用方法学”的要求按照一定的规范和准则进行设计。开发的流程如图.【】所示。靓格确定设计计划编码集成产品化第二章SOPCIP核复用技术图.驴开发流程规格确定:规格确定主要完成可行性分析和确定系统特征的工作。比如系统概述、功能需求、性能需求、物理需求、详细的结构模块框图、对外系统接口的详细定义、可配置功能详细描述、需要支持的制造测试方法、需要支持的验证策略等。确定规格的过程一般又包括行为建模进行功能论证可行性分析就性能和成本进行折中等工作。设计计划:设计计划主要完成架构设计、模块划分和开发计划。规划师在给出IP结构模块框图的同时对于每个子模块给出一个详细的功能描述同时必须明确子模块之间的接口的时序要求。只有规划好才能够建设好。设计小组对所有子模块的规格进行讨论和审查重点检查时序接口和功能接口的一致性。设计者随后整理出子模块的详细设计方案。编码:设计者按照实现方案编写RTL代码、编写时间约束文件、综合的批处理文件、子模块验证用测试平台(test.bench)和测试套件(test.suite)等。当这些工作完成并通过代码规范性检查、测试覆盖率检查、功能覆盖率检查、性能分析包括DFT、STA检查、功耗分析检查等验收后这个子模块就可用来与其他模块一起集成了。集成:集成就是把子模块集成起来产生顶层模块并对它做综合处理和功能验证。综合过程包括编写综合的批处理文件在不同的参考库上综合针对在制造上的可测试性插入扫描链、ARPG并进行最终的性能分析和功耗分析等。验证过程包括根据由行为模型发展来的测试向量对顶层模块进行仿真测试针对IP模块的可配置选项进行多种配置条件下的回归测试利用仿真工具检验测试向量的覆盖率等。产品化:IP产品化的过程包括以下几个部分:提供IP设计和验证用测试平台用商用转换器进行打包提交但转换后需要重新验证比如做回归测试以确保转换有效并强调在几个主流仿真器上做仿真在几种主要工艺库上做综合做门级仿真做形式验证以保证网表和RTL级的一致性产生或更新用户文档等。如果是硬IP的开发还需要在顶层模块(软IP)的基础上进行布局布线版图提取时序分析和形式验证集成到试用该IP的原型芯片内进行试制投片并在演示板上得到验证。.IP核复用技术鉴于SOPC系统设计者很难独自开发、维护和移植所有必须的IP核所以在SOPC设计中必然要用到第三方的IP核。当IP核被转移到用户设计与制造工艺SOPC中FPGAIP核配置方案研究与实现中时我们称IP核被重复利用了。具有自主知识产权的IP核的复用是SOPC设计中解决设计层次、产品成本、设计周期和降低风险的关键环节是SOPC设计中的关键技术us】。IP核重复利用可以提高设计能力节省设计人员可以缩短上市时间更好的利用现有的工艺技术降低成本。在SOPC的设计中人们着重的不再是某个新功能的实现而是如何去评估、验证和集成多个已经存在的软硬件模块也就是从以功能设计为基础的传统设计流程转变为以功能组装为基础的全新流程。IP复用中存在三种主要角色:IP提供方、IP集成者和IP工具开发商。复用实际上包含两方面含义:一方面是面向复用的IP核设计(IPCoreDesignforReuse)即对于IP核提供者来说如何确保自己设计出的IP核是可复用的另一方面作为芯片集成者如何在设计中成功复用别人设计的IP核(ReuseIPCore)。为了使所设计的IP核具有可复用性需要注意以下几点:.IP核应该是用于解决某一个通用问题这意味着所设计的IP核易于被配置以适合于不同的应用场合。.IP核要针对不同工艺有不同版本的数据库。对于软核需要有针对不同工艺库(Library)的不同综合脚本(SynthesisScripts):对于硬核这意味着要有一个有效的移植策略将硬核映射到新工艺。.IP核允许在多种仿真器上进行仿真。仅仅适合在某一种仿真器上仿真的IP核的测试台(Testbench)的复用性较差。一个具有良好复用性的设计不仅有Verilog模型而且有VHDL模型并有相应的验证测试台。要求在一些主要的仿真器上都能够很好运行。SOPC一般采用基于IP核设计它将一个系统按功能划分成若干模块然后直接利用第三方设计好的IP核并将它们在FPGA上集成为一个具有特定功能芯片的过程。设计复用技术使得系统设计者可以更多地考虑系统结构而不必深陷于模块实现从而使系统设计的复杂性大大降低。但IP核复用绝不等同于集成电路设计中的单元库的使用它所涉及的内容几乎涵盖了集成电路设计中所有的经典课题包括测试。换句话说IP核的复用决不是一些IP核的简单堆砌它还包含着IP核测试复用。为了实现IP核的测试复用需要在结构上进行精心设计这给SOPC设计带来巨大的挑战。.本章小结本章着重介绍了硬核、软核、固核等IP核的相关概念总结了IP核所具有的基本特征详细讲解了IP核开发中所应做的工作最后介绍了SOPC中IP核的复用技术为第四章中FPGAIP核开发提供了理论指导。第三章FPGA配置方案设计第三章FPGA配置方案设计配置方案设计是设计的第一步方案的好坏将直接影响设计的执行。本章将对FPGA配置、回读过程C总线的工作原理等理论问题进行深入的研究提出采用C配置FPGA的方案然后将就市场需求和技术实现两方面分析配置方案的可行性最后给出配置方案的设计方法。.FPGA配置和回读配置是用外部的数据源将设计的位流下载到FPGA内部配置存储器中的一个过程。回读是将存储在配置存储器当中的位流文件读出的过程】。..FPGA配置模式Virtex系列的FPGA可以用八种不同的模式进行配置。主要包括了以下四种基本的模式:Jg串(MasterSerial)、从串(SlaveSerial)、SelectMAP边界扫描(BoundaryScan)如表.所示。每一种模式均可以选择I/O在配置期间所处的状态:确定状态或浮空状态。如果配置时上拉(pullup)被选中它们只在配罱期间有效。配置完成后不用的I/O将会被浮空。表.Virtex的配置配置模式MMIMO上拉主串OO否从串lll否SelectMAPllO否边界}j描lOl否主串(加J二拉)lO足从串(加上拉)OIl足SelectMAP(加一J:拉)OO足边界手描(加一h拉)l足主串模式主串模式是FPGA配置的一个最简单的方法被Xilinx的所有的FPGA系列的器件所支持。下载来自串行PROM的配置数据时FPGA提供所有的控制逻辑提供时钟利用驱动配置时钟的内部振荡器自行下载。在该模式下数据在每个CCLK的周期被载入一个比特。SOPC中FPGAIP核配置方案研究与实现从串模式从串模式被Xilinx的所有除CPLD外的FPGA系列器件所支持。它利用外部时钟被允许以菊花链的方式配置。该模式需要一个外部时钟、微处理器、另外的FPGA或下载电缆来配合完成配置数据在每个CCLK周期被载入一个比特。SelectMAP模式SelectMAP模式允许进行一个字节宽的端口的并行读、写操作每个CCLK周期载入一个字节数据。该配置模式需要一个外部时钟源微处理器下载电缆或其它的FPGA。当配置速度是一个关键因素时通常采用这种配置模式。边界扫描模式(JTAG)JTAG是一个工业界标准(IEEEll.或)的串行编程模式。来自电缆、微处理器或其它器件的外部逻辑被用来驱动特定的JTAG引脚:测试数据输入(TDI)、测试模式选择(TMS)和测试时钟(TCK)。在这种模式下每个TCK载入一个比特的数据【】。..FPGA配置引脚在FPGA中有一些管脚是指定给配置用的如表.中所列。一些管脚是配置功能专用的而另外一些则是具有双重功能的管脚在配置后可以被用作用户I/O。表.配置管脚列表名称方向驱动器类型描述专用管脚CCLK输入/输出自.源配置时钟。在主模式下为输出。PROGRAM输入配置逻辑的异步复位信订J。DONE输入/输出有源/开漏配置状态指示和启动控制。M.M.M输入配置模式选择。TMS输入边界}l描模式选择。TCK输入边界}j描时钟。TDI输入边界手j描数据输入.TD输出有源边界}描数据输出。双重功能管脚DIN(D)输入串行配置数据输入.Dl:D输入/输出有源(双向)SelectMAP配置数据输入回读数据输出。CS输入JI.选(只在SelectMAP模式下使用)。低电平有效写/读选择信号(只在WRITE输入SelectMAP模式下使用).BUSYDOUTSelectMAP模式下Busy/Ready状态指示。串输出三态行菊花链情况下为串行数据输出。(有源)INIT输入输出开漏延时配置指示配置错误。第三章FPGA配置方案设计..FPGA配置流程以Virtex系列的FPGA为例整个配置过程如图.所示。、’ESII~I刊l脚蹙岛Il确定相应c瞄I脚H配胃投式翟样卜.叫麓嚣芸君箸写l上拙照既定校j弋F筏^ld箕他渣上l为找入有效教掘帧咖带蔷配前逻埘II藏入有效瞰胃致拟帧l上lCRC校骏Im叫I~IT引脚拉低l季确士l启动时Fl(终Ii配宵)广设i始J竹)图.配置工作流程图.初始化在上电时INIT信号保持低电平同时FPGA初始化内部电路并且清除内部配置存储器。这个环节完成时INIT信号会有一个正跳变来指示直到这时配置开始。然而Virtex的配置逻辑需要多个CCLK周期来进行自身的初始化。因此Virtex的位流在其开始部分会添加多个空闲数据字。上电(PowerUp)VCCint电源引脚必须用.V的电源供电。核电压的上升(指的是从.OV上升到.V)时间最长不超过ms。Bank的lOB输出电压的输入(vcco)也被作为上电复位电路的逻辑输入这个值必须大于.以使上电过.(POR)OV程继续。清除配置存储器上电完成后配置存储器将会被自动清空。当清空配置存储器的动作完成时INIT引脚变为高电平。PROGRAM输入上的逻辑低电平将会复位配置逻辑并且使FPGA保持在清空配置存储器的状态。只要PROG嘶引脚保持低电平则FPGA将继续清空它的配置存储器并使INIT信号保持为低电平以表明配置存储器SOPC中FPGAIP核配置方案研究与实现在被清空。当PROGRAM被释放时成清空所有的配置存储器。延时配置FPGA将继续使INIT保持为低电平直到完除了电路自身控制把NIT引脚变低以外也可以从外部使INIT引脚保持低电平以延时FPGA的配置。FPGA在INIT信号的上升沿检测其模式引脚在NIT信号变为高电平后配置就可以开始了不需要额外的暂停或等待周期。但是配置过程不必在INIT变化之后立即开始配置逻辑只有在来自位流的同步字被载入时才开始处理数据。.配置过程和流程外部配置过程事实上是软件和硬件相互协调工作的过程使用选定的配置模式就能将配置位流通过选定的接口载入至tJFPGA中。载入配置数据载入配置数据的细节将在后面的第五章中进行讨论详见“.节FPGA软硬件接口系统机制”。CRC差错校验在载入配置数据期间嵌入的CRC值与内部算出的CRC值进行两次比较。第一次校验是在最后一个配置帧载入前而第二次是在配置过程的最后。如果CRC值不匹配则INIT信号会变低以表明发生了CRC错误。这时启动将会被终止并且FPGA也不会被激活。为了重新配置该器件PROGRAM引脚必须被拉低以复位配置逻辑。重新上电也可复位FPGA。.启动时序。当最后的CRC校验成功完成后FPGA进入启动时序。启动是从配置状态到操作状态的转换。这个时序期间将会释放DONE引脚(它将变为高电平)、激活I/O、停用GSR以及确定GWE。这时配置完成FPGA被激活并根据所载入的设计进行工作。..回读回读是将内部配置存储器中存储的所有数据读出的过程。回读可以用来检验当前的配置数据是否正确也可以读出所有内部CLB、lOB寄存器的当前状态不仅如此回读还可以读出基于LUT的RAM和块状RAM的当前值。在Virtex系列中回读只能通过SelectMAP和边界扫描接口来进行。回读有以下两种方式:回读验证:回读验证被用来验证被存储的配置数据的有效性。第三章FPGA配置方案设计回读抓取:回读抓取被用来列出所有的内部触发器的状态。回读是配置验证必不可少的一个过程。..总线定义.C总线工作原理C总线协议规定由两根信号线即串行时钟线SCL和串行数据线SDA完成C总线的数据发送与接收SCL和SDA必须满足C总线协议的时序要求。数据传输时SCL传送时钟脉冲SDA传送器件地址和数据。总线传输数据以帧格式进行每帧数据均为一个字节高位在前低位在后。C总线对传输字节数没有限制但要求每传送一个字节数据或器件地址后从器件必须回送一个应答位。每个从器件都有唯一的地址主模式和从模式作为发送器或接收器取决于芯片启动数据的传输还是仅仅被寻址。C是一个多主总线即它可以由多个连接的器件控制。..外部连接图.C总线信号连接示意图在系统中C总线的典型接法如图.【】所示一般具有C总线的器件其SDA和SCL管脚都是漏极开路(或集电极开路)输出结构。因此实际使用时SDA和SCL信号线都必须要加上拉电阻Rp。注意连接时需要共地。..总线工作时序l基本操作)起始条件S/重复起始条件Sr(由主机产生)当SCL为高电平时SDA线从高电平向低电平切换表示起始条件。总线在起始SOPC中FPGAIP核配置方案研究与实现条件后被认为处于忙的状态。如果产生重复起始Sr条件而不产生停止条件总线会一直处于忙的状态。此时的起始条件S和重复起始Sr条件在功能上是一样的。当需要切换数据传输方向时可以不用产生终止信号P使总线闲只需重新产生起始条件SrOP可带有重复起始条件的多字节数据传输如图.所示。图.带有重复起始条件的多字节数据传输格式)寻址从机地址产生起始条件后紧接下来的一个字节是从机地址寻址。其高七位为从机地址最低位为数据传输方向。一般情况下从机地址的前三位为从机器件自带的地址编码后四位是通过编程得到的。数据传输方向由最后一位确定为l时表示主机从从机读取数据为O表示主机向从机写数据。)数据传输C总线上的数据传输无论接收还是发送都是按从MSB到LSB的顺序进行的总线的响应如图.所示。为了确保总线上的数据都是有效数据必须在SCL上升沿之前先改变SDA线上的数据在SCL为高电平时SDA保持稳定。相当于在SCL的每一个上升沿传递一位SDA数据。传输数据的格式:每一个数据包包括lbyte数据和lbit应答。对于主机.发送器来说数据是主机传送给从机从机发出应答信号:对于主机.接收器来说数据是从机给主机主机发出应答信号。ABY附一一飞i二巫二X二二X::汇二二=厂、l仃A列艇锄住}{竺竺!等j卜r斗斗i:。^>i:LFRO^SCI..一嗽呵永几风爪仃i嗽ls!\/\/\/\/\/:p:订^‘:=.“‘‘k二.kirropc...tt一图.C总线的响应数据传输模式:总线上的数据传输按传输方向改变与否可分为两种方式【J:A主机发送.从机接收(寻址后传输方向不发生改变)一lsStaveAddressR^V^Dn扎^D^TA~APIo’wrl旧Datatransferred口‰蜘to~:辩勰等图.主机.发送器用位地址寻址从机接收器传输方向不变第三章FPGA配置方案设计主机发送.从机接收的传输模式如图.所示从机地址是由主机发送的从机接收到主机发送的地址数据和写选择命令后做出应答数据从主机输送到从机直至产生结束条件或重复起始条件。B主机接收.从机发送(寻址后传输方向发生改变)图.在第一个字节后主机立即读从机主机接收.从机发送的传输模式如图.所示从机地址由主机发送从机在接收到地址数据和读选择命令后做出应答数据改变方向从从机输送往主机直至结束信号产生。)产生终止信号PSCL为高电平时若SDA出现上升沿数据传输终止。终止信号产生后SCL和SDA都处于高电平状态总线闲。产生终止信号的具体操作是:先让SCL为然后使SDA为接下来将SCL置为l最后将SDA置为。这样就在SCL为高时创建了SDA的上升沿产生了停止信号。主机会在如下三种情况下发出停止信号:从机正忙不能响应从机地址从机SDA保持高电平主机产生终止条件或者重复起始条件。从机接收器符合从机地址但是从机接收器已满不能再接收数据从机将在第一个字节后产生非响应使从机保持高电平主机产生终止信号或者重复起始条件。数据传送完毕主机产生停止条件。时钟同步所有主机在SCL线上产生它们自己的时钟来传输C数据线上的报文。数据只在时钟的高电平周期有效因此在多个主机控制的情况下需要一个确定的时钟对数据传输的速度进行控制。)正常情况通常情况下时钟同步通过线与连接C接口的SCL线来完成也就是说SCL线的高到低切换会使器件开始对自己的低电平周期进行计数而且一旦器件时钟变为低电平它会使SCL线保持这种状态直到到达时钟高电平周期。但是如果另一个时钟仍处于低电平周期这个时钟从低到高的切换不会改变SCL线的状态因此SCL线的低电平周期与低电平周期最长的器件保持一致低电平周期短的器件会进入高电平的等待状态。SOPC中FPGAIP核配置方案研究与实现)主机产生的时钟信号只有在以下两种情况下才会发生改变:慢的从机器件控制并延长时钟信号(通常都是拉长低电平)迫使主机进入等待状态。发生仲裁时时钟信号被获得仲裁权的另外一个主机改变。仲裁逻辑当C总线上挂接的器件中有两个或两个以上的主机同时申请控制总线时总线上就会产生竞争此时仲裁逻辑生效。)仲裁发生的时间总线闲时才会发生仲裁。仲裁只能发生在相同的帧格式位置上当多个竞争主机发送不同命令试图对总线操作时仲裁侦测信号不会发生变化。也就是说当出现以下的情况时不会发生仲裁:一个主机发送重复起始条件一个主机发送数据位。一个主机发送停止条件另外一个主机发送数据传输条件。一个主机发送重复起始条件另外一个主机发送停止条件。)参与仲裁竞争的器件任何挂接在C总线上能够产生SCL时钟的器件都能充当备选主机参与仲裁竞争。备选主机通过SDA向仲裁逻辑发送仲裁请求失去仲裁权的器件可以立即充当从机参与到从机的寻址中去。)仲裁规则关于仲裁判断先判断总线上的SCL再判断SDA仲裁发生在SDA上。SCL:SCL总线上的时钟是由连接到总线上各主机的线与得到。如图.所示SCL的低电平周期由低电平周期最长的器件决定SCL的高电平周期是由高电平周期最短的器件决定。SCL与最先变低最后变高的时钟保持一致。/II一么一.、。。。。。}R””‘//\\V驴图.仲裁过程中的时钟同步SDA:在SCL总线的上升沿首先发射SDA=I的主机丢失仲裁权发射SDA=主机继续充当备选主机参与仲裁竞争。两个主机仲裁的过程如图.所示只要没有丢失仲裁权器件就仍然为主机因此可能会出现多主机的情况。当出现多主机状态时仍然和上面一样首先发出SDA=I信号的主机丢失仲裁权这种情况在寻址状态和数据发送状态、数据接收状态同样适用也就是说仲裁可以出现在寻址状态、数据发送状态、数据接收状态。D^TIDATASDAScL图.两个主机的仲裁过程数据流方向图.包括了主机发送模式、主机接收模式、从机发送模式和从机接收模式。它表明了主机和从机交互的整个过程。这个过程中主机和从机各自的执行顺序、状态的判断条件主机、从机的交互都在图中明确的表示出来。图.C总线控制接口的流程图SOPC中FPGAIP核配置方案研究与实现.C配置FPGA方案可行性分析..配置方案可行性分析l、市场需求分析当今变化的市场环境对电子元器件提出了越来越高的要求。产品是否便于现场升级是否便于灵活使用已成为产品能否进入市场的关键因素。在这种背景下基于SRAMLUT结构的FPGA器件得到了广泛的应用。但由于大多数FPGA内部均采用SRAM工艺FPGA配置数据存储在SRAM中SRAM的易失性使得每次系统上电时FPGA必须重新装载配置数据即ICR(InCircuitRe.configurability)。系统只有在数据配置正确的情况下才能正常工作因此能否方便的实现在线配置是FPGA争取市场的一个关键因素。在线配置方式一般有两类:一是通过下载电缆由计算机直接对其进行配置二是通过配置芯片对其进行配置。通过PC机对FPGA进行在线系统重配置虽然在调试时非常方便但这对于应用现场是很不现实的。上电后通过配置芯片的控制自动加载配置对FPGA应用来说是必需的。这种基于配置芯片控制的配置实现方案中目前比较常用的控制器是微处理器和单片机。要实现数据的交换往往要求控制器件和受控制器件采用统一的接口标准。虽然作为控制器的微处理器和单片机都拥有着众多的外部接口但作为受控端的FPGA接口仅仅提供了主串、从串、SelectMAP、边界扫描四种配置模式受控器件的接口限制使得控制器件的选择范围大大缩小。即使不考虑接口匹配的问题采用自行开发的IP与受控器件连接这样的人力和财力的耗费也会让客户在选择受控器件时多做斟酌。C接口作为一个成熟的国际标准规范接口在微处理器和单片机中拥有着广泛的客户群。选择C作为FPGAIP核的配置方案利于拥有C接口的微处理器和单片机在FPGA现场配置的方案中的应用为FPGA在SOPC系统中的配置应用争取更广泛的客户群。、技术可行性分析通过“.FPGA配置和回读’’对FPGA配置过程的分析知道FPGA的配置过程可以分为:初始化、配置和启动时序三个阶段。在这三个阶段里关键信号:INIT、PROGRAM、DONE、GSR、GWE、EOS和BitGen的跳变组合作为开启各个配置阶段的开关控制着配置过程按照预定的步骤进行最终完成FPGA配置。因此在引入新的配置方案时如何在配置过程的相关节点上控制好这些关键信号进行正确的跳变组合是实现新配置方案的保证。首先这些配置节点是可侦测的。FPGA软硬件接口的机制使得配置的每个第三章FPGA配置方案设计阶段都能够通过位流文件来判断因此配置节点可以从位流文件中提取出来。再次关键信号是可控的。这些关键信号都是由FPGA内部逻辑产生的可以产生一组新的关键信号通过选择端口选择采用与之配套的一组关键信号即可控制配置过程中关键信号的正确跳变。也就是说在原有结构上构造新的配置接口对FPGA进行配置在技术上说是可行的。接下来将从片上总线的角度来分析选用C总线作为配置接口是否可行。片上总线的一般特点:)、采用主从式结构并且都支持多个主单元各个主单元可以同时与相应的从单元进行数据交易以提高数据吞吐率。)、片上总线要尽可能简单。酋先总线的时序本身要简单便于使用者学习和接受这样IP核的设计者就可以把主要精力集中于IP本身功能的设计其次由于片上总线集成于一块芯片内因此它不能占用太多的逻辑单元最后接口要简单这样可以减少与IP核连接的复杂度。)、片上总线要尽可能降低功耗。为了降低功耗各种信号一般都尽可能保持不变并且多采用单向信号线这样也利于结构的简化以及时钟的同步。)、在批量数据交易时一般都采用流水线方式即当前的地址与上一次的数据交叠在一起从而实现一个时钟周期传送一次数据。)、支持可变宽度的地址和数据线。片上总线将改变人们的思维方式一数据宽度是可配置(改变)的。从“.C总线工作原理”的分析可知C总线具有以上所列的片上总线的特点因此采用C作为片上总线配置FPGA是可行的。..设计方法研究为了实现C配蜀FPGAIP核的方案本论文计划分为两步走。首先采用数字ASIC设计流程设计C的IP固核将主机IP核与微处理器连接作为配置控制端微处理器将配置数据从FLASH中取出再经由C总线向外输送给FPGAIP核。而从机IP核则嵌入到FPGAIP核当中与FPGA的配置、回读控制逻辑连接充当FPGA的拓展配置接口完成接收配置数据发送配置数据的功能。在配置阶段通过C接口接收到的配置数据和其它接口接收到的配置数据一样被存放在FPGA的配置存储器当中。在回读阶段存储在FPGA配置存储器的配置数据将通过C接口送出经由微处理器又回读到FLASH中这就是整个FPGA的C配置方案的验证流程。在IP固核设计方面先是针对协议进行结构设计再在ModleSim.中将设计结构用VerilogHDL语言转为代码实现并搭建相应的测试平台进行功能前仿SOPC中FPGAIP核配置方案研究与实现真。在前仿结果正确的情况下采用Synopsys公司的综合工具DesignCompiler对设计进行逻辑综合和静态时序分析然后把带有延时参数的网表反标回代码中在ModleSim里进行后仿真这就是IP固核设计的计划流程。与FPGA接口的粘合逻辑的设计也将按照此流程进行。在代码设计完成以后计划将设计好的各个模块与公司研制的FPGAIP核拼接起来建立微处理器module和FLASHmodule在FLASH中存放配置流文件使用Cadence公司的仿真工具NC.Verilog对该配置方案进行综合后仿真。.本章小结本章首先在深入研究FPGA配置和回读过程、C总线的工作原理等理论问题的基础上提出了采用C配置FPGA的方案。针对目前市场上FPGA器件没有集成C接口而现场编程又存在这方面需求的情况对在FPGA中集成C接口的技术实现可行性进行了分析最终确定配置方案可行并给出了该配置方案的具体实施办法。第四章CIP核设计第四章ICIP核设计C总线接口兼具主机功能和从机功能在传输过程中既可以充当控制者又可以充当受控者。由于主机和从机在结构上存在差异因此本章将分别给出C主模式和从模式IP核的具体设计过程。.MASTER设计本节将进行CIP核MASTER模式的

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/14
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部