已阅读5页,还剩71页未读, 继续免费阅读
(电路与系统专业论文)大规模soc设计的高效的fpga验证技术研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海交通大学硕士学位论文 摘要 第 iv 页 大规模 soc 设计的高效的 fpga 验证技术研究与实现 摘 大规模 soc 设计的高效的 fpga 验证技术研究与实现 摘 要要 近几年来,soc 设计已经成为当今集成电路设计中的一大亮点。其 于平台的设计解决方案,加上丰富的第三方 ip,可以快速的构建一个满 足市场需求的 soc 芯片。但是随着市场对 soc 功能的要求逐渐加大以及 工艺的提高,soc 的设计规模也将越来越大。而在 soc 的设计过程中, 验证工作要占到整个设计周期的 80%以上的时间,成为了当前设计中的 瓶颈。传统的基于仿真的方法,已经逐渐不能满足 soc 设计时间短和质 量要求高的特点。 fpga 验证是 soc 设计过程中经常用到的一种验证方法,fpga 以其 灵活组态、快速实现、验证结果真实有效的优势在 soc 验证过程中发挥 着相当重要的作用。而且随着 soc 规模的扩大和验证难度的增加,fpga 验证的高速度和高效性将变得越来越突出了。然而,fpga 验证在 soc 设 计过程中还没有扮演足够重要的角色。 大多数 soc 设计公司由于其成本、 fpga 开发板设计与调试、仿真环境构建等方面技术的限制,常常不能做 到用 fpga 平台对整个 soc 应用系统进行全面的验证。然而,随着市场压 力的增加,fpga 验证技术已在 soc 设计中应用已经越来越显得重要了。 本文首先从 soc 设计方法和流程出发,指出 fpga 验证在 soc 设计 上海交通大学硕士学位论文 摘要 第 v 页 中所起到的不可或缺的重要作用, 并指出当前 soc 设计中 fpga 验证的三 种流程。进而,本文指出了采用 fpga 验证的最佳设计流程是软硬件协同 验证,同时针对该设计流程的实现提出了若干技术课题。在之后的章节, 本文分别针对这些技术课题中从硬件平台开发、软件环境建设等多个方 面进行了深入的研究,提出了很多解决方案和提高验证效率的方法。最 终以项目实例来说明如何把这些技术和方法具体地应用到实际 soc 设计 项目中,同时也验证了本文所提出的 fpga 验证流程和解决方案是合理 的、高效的。可以预见,fpga 验证将在未来的 soc 设计过程中发挥更加 关键的作用。 关键词:片上系统 fpga 验证 软硬件协同验证 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 vi 页 high efficient fpga verification technology research and realization in large scale soc design abstract soc design is the spark of modern ic design. adopting platform-based design methodology and many ip available, we can develop a soc quickly. with the higher requirement from the market and more advanced technology, the scale in soc design is becoming larger and larger. unfortunately, the verification of soc consumes over 80% of the whole design efforts becomes the bottleneck in designs. the simulation based verification can meet neither the time-to market nor the high quality. the fpga verification is a much popular verification methodology in soc design. because fpga has flexible configuration, quickly realization and high reliability advantages, it plays a key role in soc verification flow. as the scale of soc growths and verification becomes more and more difficult in soc design, fpgas high speed and high efficiency are more and more significant. but fpga verification does not play an important role enough, as it should play now. because of their consideration in cost and the technical limits such as design, debug, simulation environments on fpga development board, most of companies in soc design usually can not realize a thorough flow to verify the whole soc system. 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 vii 页 but the market pressure is increasing, and also fpga verification technology is becoming more and more important. from the soc design methodology and flow point of view, this thesis points out that the fpga verification plays an indispensable role in soc design. it also introduces three types of fpga verification flow in current soc design. furthermore, it points out that the best design flow which use fpga verification is software and hardware co-verification. at the same time, the paper brings out several technical issues in the design flow. in the following sections, it investigates these issues deeply by either hardware platform building or software environment building, then draws some conclusions and gives some high efficient verification methods. at last, the paper introduces 2 soc project examples by the fpga verification scenario brought in this paper previously, which have proven the solutions and methods are useful and high efficient. it can be see that the fpga verification technology will play a more important role in upcoming soc design. key words:key words: soc, fpga verification, software and hardware co-verification 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 4 页 图片目录 图片目录 图 1 soc 技术在标准的 cmos 工艺下的集成趋势图.2 图 2 软硬件协同设计流程图.4 图 3 soc 设计流程图.6 图 4 带有 fpga 验证的简单 soc 设计流程图.9 图 5 带有 fpga 验证的复杂 soc 设计流程图.10 图 6 采用 fpga 软硬件协同设计的 soc 设计流程图. 11 图 7 virtexii 系列芯片架构图.17 图 8 virtex-ii 系列芯片 io 模块图.18 图 9 virtex-ii 系列 fpga 可编程逻辑模块示意图.19 图 10 virtexii 芯片中的 ram 资源示意图.20 图 11 virtexii 芯片中乘法器资源示意图.21 图 12 virtex-ii 芯片中时钟管理资源示意图.21 图 13 virtex-ii 芯片中时钟拓扑示意图.22 图 14 virtexii 中的布线资源示意图.23 图 15 virtexii 的组态模式和下载方式示意图.24 图 16 fpga 设计流程图.25 图 17 fpga 设计验证方法和流程图.25 图 18 常用的多 fpga 互连的框图.34 图 19 fpga 的 io 需要连接的资源示意图.36 图 20 1156 引脚 fpga 在 6mil 线宽时最佳出线示意图.37 图 21 信号匹配分析示意图.38 图 22 串扰分析示意图.39 图 23 经多电容去耦的电源阻抗频谱分析图.41 图 24 pcb 板设计针对 fpga 芯片的去耦电容放置示意图.41 图 25 fpga 软件工作流程图.43 图 26 门控时钟的处理示意图.45 图 27 blackbox 门控时钟处理示意图.47 图 28 双时钟输入 blackbox 的门控时钟处理示意图.48 图 29 fpga 中 ram 的实现例图.50 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 5 页 图 30 fpga 开发板架构图.54 图 31 项目架构图.56 图 32 基于 arm922t 的 soc 在 fpga 实现框架图.57 图 33 双核 soc 在 fpga 实现框架图.59 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 6 页 表格目录 表格目录 表 1 软件和硬件的优缺点.5 表 2 virtex-ii 系列 fpga 资源分布表.16 表 3 soc 设计基于芯片实现和 fpga 实现的异同.27 上海交通大学硕士学位论文 摘要 第 ii 页 上海交通大学上海交通大学 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。 除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成 果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本 声明的法律结果由本人承担。 学位论文作者签名: 丰玉田 日期: 2006 年 1 月 19 日 上海交通大学硕士学位论文 摘要 第 iii 页 附件五附件五 上海交通大学上海交通大学 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、 使用学位论文的规定, 同意学校保留并向国家有关 部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。 本人授权上海交通大学可 以将本学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、 缩印或扫描等 复制手段保存和汇编本学位论文。 保密保密,在 年解密后适用本授权书。 本学位论文属于 不保密 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 丰玉田 付宇卓 日期: 2006 年 1 月 19 日 日期: 2006 年 1 月 19 日 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 1 页 1 绪论 1.1 soc 设计是将来芯片设计的趋势 1.1.1 soc 的概念 soc 即片上系统,是一种专门用来描述高集成度器件的术语,也称为 sli (system level integration) 。soc 将系统的主要功能综合到一块或一组芯片中, 本质上是在做一种复杂的 ic 设计。soc 是集成电路设计和工艺发展的产物,它 可以将整个系统集成在一个芯片上。 1995 年的 dataquest 对 soc 的定义是:包括一个或多个计算“引擎” (微处 理器/微控制器/数字信号处理器) 、至少十万门的用户门和相当数量的存储器;要 在芯片上整体实现 cpu、dsp、数字电路、模拟电路、存储器等多种电路;综合 实现图像处理、语音处理、通信协议、通信机能、数据处理等功能。目前的 soc 可以在一个芯片上集成上百万个晶体管,由不同的组成模块可以实现各种功能1。 soc 按用途的不同可以分为两种类型, 一种是专用 soc 芯片, 是专用集成电 路(asic)向系统级集成的自然发展。另一种是通用 soc 芯片,将绝大部分部 件,如 mcu、dsp、ram、i/o 等集成在芯片上,同时提供用户设计所需要的逻 辑资源和软件编程所需的软件资源。 1.1.2 soc 的构成 在目前的集成电路设计理念中,ip(intelligent property)是构成 soc 的基本 单元。所谓 ip 是指由各种超级宏单元模块电路组成并经过验证(verfication)的 芯核,也可以理解为是满足特定规范,并能在设计中复用的功能模块,又称 ip 核 (ip core)。 从 ip 的角度出发,soc 可以定义为基于 ip 模块的复用技术,以嵌入式系统 为核心, 把整个系统集成在单个(或少数几个)芯片上完成整个系统功能的复杂的集 成电路。目前的 soc 集成了诸如处理器、存储器以及输入输出端口等多种 ip1。 1.1.3 soc 的优势 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 2 页 与传统设计相比较,由于 soc 将整个系统集成在一个芯片上,使得产品的性 能大为提高,体积显著缩小。此外,soc 适用于更复杂的系统,具有更低的设计 成本和更高的可靠性,因此具有广阔的应用前景。 soc 可以实现更为复杂的系统 图图 1 soc 技术在标准的技术在标准的 cmos 工艺下的集成趋势图工艺下的集成趋势图 figure 1 the trend of soc technique in normal cmos technology 从图 1 中(源自 2003 itrs roadmap)我们可以看到 soc 已经把功能逻辑, sram,flash,e-dram,cmos rf,fpga fram,mems 集成到一个芯片上, 甚至在近两年化学传感器,光电器件也被集成到 soc 中。预计到 2006 年,电子 生物芯片也会集成到 soc 中。可见 soc 不仅仅是各种模块的集成,更是各类技 术的相互集成,因此它可以完成更为复杂的系统功能2。 1.2 soc 设计所面临的挑战 1.2.1 更大的电路规模 根据市场和产品的需要,芯片必须实现越来越多的功能,因此设计规模迅速 提升,通常一块 soc 芯片往往由十几个模块和上百万的门单元组成,而且这个规 模还在进一步加大。电路规模的增加延长了产品的设计周期,同时产品的更新换 代仍在不断加快,可以说电路规模增大给 ttm(time to market)带来了巨大的 压力1。 其次, 电路尺寸的不断增大带来的是庞大的设计数据和更为复杂的验证过程, 一般来说,整个电路会分成不同的部分进行设计和验证,这就要求各个设计小组 能同时获得必要的数据,验证过程也必须同步进行,因此使得数据的管理更加困 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 3 页 难,设计过程也必须更多的依靠 cad 软件。 1.2.2 更高的集成度 soc 的集成度在增长。 目前的技术水平下, 典型的 soc 有数十个系统单元组 成,而且数量在未来可能增加到上百个,整个系统包括数字部分和模拟部分,其 中数字部分主要由处理器、存储器、外围接口组成,模拟部分包含了射频电路以 及模数、数模转换电路。因此 soc 设计者需要更加广泛的设计知识,譬如板级设 计经验。soc 集成时也带来一些和互连相关的物理和电路验证的挑战。时序收敛 要求从设计的一开始就作全局的考虑,否则在完成版图设计后的抽取分析中将出 现意想不到的麻烦1。 soc 集成的另外一个挑战是数字模拟的混合电路的集成。近年来市场对通信 产品如手机、蓝牙产品等有着强劲的需求。预测在未来的几年,超过 70的 soc 设计包括有混合信号的内容。为满足日益增长的混合信号 soc 的市场需求,必须 提出新的加工工艺、开发工具和验证流程等。而一直以来 ic 工业是被数字应用所 推动,设计工具、设计规则、加工流程、封装标准,无论在前端或在后端都是以 数字产品开发为目标。这些数字设计方法要适应模拟技术并不是简单的事。如数 字设计部分可以进行的综合、静态时序分析等都无法用在模拟电路上2。 1.2.3 软硬件、数模设计的结合 电子产品设计开发过程中, 要求实现从设计到制造整个设计链上的协同工作, 以便开发更有竞争力的产品并加快产品进入市场的时间。随着各种设计技术的结 合,也给如今的 eda 工具提出了挑战2。 (1)硬件与软件的结合 今天的复杂 ic 包含了比硬件更多的软件内容,而且所占比重快速增长。目前 soc 的设计流程也主要采取了软硬件协同设计、验证的方法。但是,现在还没有 哪一家 eda 公司完全解决了硬件软件共同开发的问题。 (2)数字与模拟的结合 混合信号 ic 所占份额从今天的约 20到 5 年后将提高到接近 70。以前模 拟 ic 和数字 ic 有着完全不同的设计环境,现在必须将它们结合起来,解决集成 可能出现的问题(如封装,灵活性,噪声等) , 建立从上至下的混合信号设计环境, 以及解决芯片制造过程中的问题。这就要求 eda 厂商为复杂混合信号和 soc 设 计人员提供相应的工具,解决系统级芯片上 rf、模拟和数字合并的设计问题。 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 4 页 1.2.4 软硬件协同设计方法 目前的 soc 设计必须采用与传统设计不同的方法,因为纯粹的“自顶向下” 或“自底向上”的设计方法不适用于基于嵌入式处理器核的 soc 设计。其主要原 因在于,在处理器核的设计阶段,不可能想象出其所有可能的应用。在整个设计 过程中,soc 通常采用软硬件协同设计、协同验证的方法,如图 22。 软硬件协同设计指的是软硬件的设计同步进行,在系统的初始阶段两者就紧 密相连。近年来,由于硬件描述语言的广泛使用和数字仿真技术的长足发展,软 硬件协同设计成为可能。软件设计者在硬件设计完成之前就可以获得软件开发的 虚拟硬件平台,在虚拟平台开发应用软件,从而使硬件设计者和软件设计工程师 联合进行 soc 系统芯片的开发。这种设计方法与传统的按部就班的 asic 设计理 念差别非常大。具体过程分为三步: 图图 2 软硬件协同设计流程图软硬件协同设计流程图 figure 2 software and hardware co-design flow (1)设计前期:将用户要求转换为用于设计的技术规范。 (2)软/硬件划分过程:系统及算法定义,并进行算法级的仿真验证。 在这一环节中,软硬件的划分至关重要。通常,在复杂的系统中,软件和硬 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 5 页 件都比较复杂。有些功能可以用软件实现,也可以用硬件实现。同一功能用软件 和硬件实现的效率不同,其代价和成本也不同。一般来讲,对于能够用软件达到 系统性能要求的任务,应尽可能用软件完成,以降低系统的成本。而对于一些用 软件难以达到系统性能指标的功能,则应用专门的硬件完成,使得划分后的软硬 件功能满足关键路径的技术要求。表 1 说明了软件和硬件各自的优缺点。 表 1 软件和硬件的优缺点 table 1 the advantage and shortage of software and hardware 优点 速度快,可以实现 10 倍、100 倍的提升 对于处理器复杂度的要求比较低、系统整体简单 相应的软件设计时间较少 硬件 缺点 成本较高,需要额外的硬件资源、nre 费用、ip 权益金 研发周期较长,通常需要 3 个月以上 良品率较低,通常只有 50%的 asic 可以在一次流片后能正常工作 辅助设计工具的成本也非常高 优点 成本较低,不会随着芯片量产而变化 通常来说,软件设计的相关辅助工具较便宜 容易调试,不需要考虑设计时序、功耗等问题 软件 缺点 比起同样用硬件实现,性能较差 算法实现对处理器速度、存储容量提出很高要求,通常需要实时操 作系统的支持 开发进度表很难确定,通常在规定时间内无法达到预定性能要求 (3)软硬件设计验证:进行软硬件开发并且验证,同时进行软硬件设计节省 了开发时间,并且协同验证可以找出更多的设计缺陷。 1.3 soc 设计流程 由于 soc 设计是一个非常复杂的过程,若想成功设计一个 soc 产品,必须 有一套系统的设计方法学来保证 soc 设计中的每个环节都正确。如图 3,是当前 soc 设计中通常的设计流程,本文只着重介绍其中重要一些步骤2。 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 6 页 图图 3 soc 设计流程图设计流程图 figure3 soc design flow 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 7 页 (一)系统设计 定义产品总体结构的规格参数,划分不同的模块,确定使用的总线以及 ip, 并对各个模块进行详细的定义和说明。 (二)ip 模块设计及复用 根据系统设计所划分出的功能模块,确定需要重新设计的部分及现有的可利 用的 ip 核。ip 核可由自主研发或者复用其他公司的 ip。 (三)顶层模块集成 将各个不同的功能模块,包括重新设计的与复用的集成整合成在一起,形成 一个完整的设计。通常采用 hdl 硬件描述语言给出对电路的描述,其中需要考虑 不同时钟频率、io 复用等问题。 (四)rtl 仿真 也叫前仿真,功能仿真。验证电路功能是否有效,即电路描述是否符合设计 所定义的功能期望。 (五)逻辑综合 是指面向给定的设计约束, 使用 eda 工具把较高级别的电路描述自动转换成 较低级别的描述,即从 rtl 级 hdl 描述通过编译产生符合特定工艺的门级网表。 网表(netlist)是一种描述逻辑单元和它们之间互连的数据文件。综合约束包括时 序、面积和功耗的约束。其中,时序是最复杂和最关键的约束,决定了整个芯片 的性能。时序约束中,输入输出的约束由芯片的应用环境决定,通常需要抽象出 输入的驱动和输出的负载信息。另外在综合过程中,eda 工具会根据约束条件对 电路进行优化,通常来说,综合过程用公式表示就是: 综合 = 翻译 + 优化 + 映射 (六)ic 布局布线 其完成任务是确定设计中各个模块的位置,定义单个元件的位置大小及相关 的连线,并完成所有节点的连接。 (七)静态验证 静态验证包括形式验证和静态时序分析。形势验证也就是等效性检查,对设 计过程中每一步的设计输入和输出间进行逻辑功能的等效检查。静态时序分析技 术是一种穷尽分析方法,用以衡量电路性能。它提取整个电路的所有时序路径, 通过计算信号沿在路径上的延迟传播找出违背时序约束的错误,主要是检查建立 时间(setup time)和保持时间(hold time)是否满足要求,而它们又分别通过对 最大路径延迟和最小路径延迟的分析得到。 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 8 页 (八)后仿真 也叫后仿真,时序仿真。需要利用在布局布线中获得的精确参数再次验证电 路的时序,查看加了负载后设计是否还正常工作。所有时序的仿真,一般是使用 sdf(标准延时)文件来输入延时信息。 1.4 fpga 验证的是 soc 设计中至关重要的步骤 由上节可知,在 soc 的后端设计过程中,有一整套完善的设计方法,它可以 保证后端所设计出来的产品与前端的 rtl 代码所实现的功能一致。 但对 rtl 代码 的验证往往由于其复杂的功能而得不到充分的验证,事实证明,数字芯片设计中 绝大多数问题都是 rtl 代码设计的错误而造成的。 目前对 rtl 代码功能的验证大 多是在软件平台上的仿真来验证,但由于软件仿真的速度难以达到实际的要求, 芯片设计公司又面临着来自于市场的压力而不得不尽快推出 soc 设计产品, 所以 很难有时间对 soc 设计进行非常完善的验证。所以 soc 设计公司非常需要一种 高效的验证方法,它保证能够在比较短的时间内运行绝大多数的测试程序,并能 容易、快速地找到 soc 设计中的问题。基于上述的要求,fpga 验证则是最佳选 择,fpga 凭借其速度快、易于组态、易于调试的优势,已成为了 soc 设计中至 关重要的环节。 以下本文将进一步研究加入 fpga 验证环节后的 soc 的设计流程 3。 1.4.1 采用 fpga 验证的简单 soc 设计流程 如图 4,当在软件环境下的 rtl 级仿真完成后,把 rtl 级代码在 fpga 环境 中实现,并在 fpga 开发板上进行调试,凭借 fpga 的速度优势,可以大量地在 fpga 平台上运行测试程序,当所有测试程序全部正确运行后,即可证明该 rtl 级设计完全符合要求,然后进行 ic 的综合和布局布线,直至最终成功流片。但该 流程只适用于结构简单且对设计周期要求不高的应用。但当芯片比较复杂时,在 fpga 开发板上的调试将花费大量时间。并且由于 fpga 本身的局限性,它并不 能完美的验证 soc 设计的某些特殊目标,如:低功耗设计、多时钟域交互、数模 混和等。 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 9 页 图图 4 带有带有 fpga 验证的简单验证的简单 soc 设计流程图设计流程图 figure 4 simple soc design flow with fpga verification 1.4.2 采用 fpga 验证的大规模复杂 soc 设计流程 对于大规模且有特殊设计要求的 soc 的设计可采用流程如图 5 所示流程, 它 要求建立一个完善的软件验证环境,soc 设计的主要功能都可以在软件虚拟平台 上得到比较全面的验证。然后再把该设计在 fpga 平台上实现,凭借 fpga 速度 快和结果真实的优势,可在 fpga 平台上运行大量的测试程序,提高了验证的完 备性。但该流程要求花费很多经费和时间构建硬件平台,并且在验证过程中,研 究如何产生激励和分析 fpga 运行情况,也将花费非常多的时间。考虑到项目周 期和经费等因素,这种 fpga 验证流程很难对 soc 设计进行彻底的验证。同时, 软件人员必须在流片后才能在真实的环境下调试应用程序,一旦发现设计中出现 问题, 就不得不考虑重新设计 soc 硬件, 这将花费大量时间和金钱。 大多情况下, 这将会对 soc 设计公司造成致命的打击。 fpga验证与实现 系统定义 ip模块设计与ip重用设计 顶层模块集成 rtl级仿真 ic布局布线 流片 逻辑综合 静态验证与后仿真 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 10 页 图图 5 带有带有 fpga 验证的复杂验证的复杂 soc 设计流程图设计流程图 figure 5 complex soc design flow with fpga verification 1.4.3 采用 fpga 软硬件协同设计的 soc 设计流程 随着市场竞争日趋激烈,芯片设计公司越来越需要找到一种更加完备的验证 方法来提高 soc 设计的效率和可靠性,采用如图 6 验证流程则是最好的选择。在 完成 rtl 级设计和仿真后,即把整个 soc 在 fpga 平台上实现,并作为软件开 发的平台,通过系统软件的设计与调试来实现对 soc 的验证。同时,还可以方便 地在 fpga 中加入一些监测模块来协助分析 soc 内部的工作情况。 这些都将充分 发挥 fpga 的优势,使 soc 的设计与验证变得更加完备和高效。 软 硬 件 协 同 调 试 软 件 开 发 与 demo板 开 发 fpga验 证 系 统 定 义 ip模 块 设 计 与 ip重 用 设 计 顶 层 模 块 集 成 rtl级 仿 真 ic布 局 布 线 流 片 逻 辑 综 合 静 态 验 证 与 后 仿 真 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 11 页 图图 6 采用采用 fpga 软硬件协同设计的软硬件协同设计的 soc 设计流程图设计流程图 figure 6 soc design flow with software and hardware co-design on fpga 综上所述,采用如图 6 的 soc 设计流程是最高效的 soc 设计流程。该流 程保证可以非常早地为软件开发提供硬件平台,使得软件可以有一个非常真实的 环境,这提高了软件开发的速度和效率。更重要的是,通过软件的设计与调试, soc 设计能够得以充分的验证,这充分地保证了 soc 设计的成功流片。另外,由 于 fpga 具有易于组态,设计灵活的特点,可以在 fpga 中加入某些监控模块来 调试芯片内部的程序,并把芯片内部运行情况信息及时反馈给设计人员,这使设 计人员能够更容易地发现设计中的问题,也更方便了软件人员了解程序运行的情 况,从而开发出性能更加优化的软件。 1.5 fpga 验证中的问题 上节已详细阐述了最高效的 soc 设计流程, 但该流程的实现为 fpga 验证工 作提出了更高的要求。 软硬件协同调试 软件开发 fpga验证 与原型机 搭建 系统定义 ip模块设计与ip重用设计 顶层模块集成 rtl级仿真 ic布局布线 流片 逻辑综合 静态验证与后仿真 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 12 页 1.5.1 fpga 硬件平台建设中的问题 为了保证实现上节中提到的最高效的 soc 设计流程,fpga 硬件平台不仅要 包括大容量的 fpga 来实现 soc 设计的功能,而且还要求包含 soc 应用中的各 种外设、存储器、接口等资源。而且,对于大规模 soc 设计,往往因其规模巨大 而必须采用多片 fpga 芯片协同实现。还因为这种复杂的硬件开发板往往需要较 多的时间和较大的成本来实现。这都决定了必须建立一个具有多片大容量 fpga 和各种外设和接口资源的通用的 fpga 硬件平台,使之保证可以承担各种设计要 求和设计规模的复杂 soc 设计的 fpga 验证。事实上,这种包含了多片大容量 fpga、 各种外设和应用资源的 fpga 硬件平台往往不得不采用多块开发板协同实 现,根据不同的 soc 项目的要求,对它们进行组合,来达到设计要求。 能够满足以上要求的 fpga 硬件平台设计必然带来许多设计难题: 如何设计多块开发板的结构,使它们有机的结合成一个整体,即灵活又高效 的承载 soc 整个应用方案; 多片 fpga、多开发板的硬件平台将必然带来复杂的连接关系,而 fpga 间 和板间的连线也必然导致 pcb 传输线具有复杂的阻抗特性。如何保证每根传输线 的信号质量都能满足要求, 这对开发板的pcb的layout 设计来说是很困难的工作; 随着项目的进行,很可能会 fpga 硬件平台的提出更多的要求,此时再花大 量人力物力重新设计 fpga 平台是不现实的,这就要求 fpga 硬件平台设计之初 就要充分考虑到可扩展性,保证随着项目的需要,只设计小部分硬件电路即可接 到原硬件平台上工作,并满足新的项目要求; 1.5.2 fpga 软件环境建设中的问题 当一个通用的、完善的 fpga 硬件平台设计完成后,fpga 软件部分的工作 就变得至关重要了。这部分工作涉及 fpga 硬件特性、soc 设计特性、soc 应用 特性等许多方面,它涉及从 rtl 输入、综合直至布局布线仿真等诸多步骤,工作 量很大,许多具体环节的实现都需要有特别的技巧。而且,这些工作中任何一个 细节出现问题都可能造成整个项目的延期。因此,这部分工作必然要求建立一个 完善的软件环境,它保证在尽量少的人为干预下,依靠工具软件和自动化的脚本 来自动完成大部分的工作。 建立一个高度自动化的 fpga 软件环境主要的涉及如下设计难题: 时钟树实现:soc 设计中,时钟树是用工具软件自动生成的,它采用时钟树 专用的驱动器和布线,还允许门控时钟模块存在;fpga 中也具有全局和局部两 上海交通大学硕士学位论文 大规模 soc 的 fpga 验证技术研究与实现 第 13 页 种布线资源,但需要指定如何使用,并且 fpga 内部没有专门的门控时钟模块。 所以, fpga 中时钟线的实现和对门控时钟的处理成为了 fpga 设计的难题; 针对多 fpga 的资源划分: 对于要求采用多片 fpga 实现的项目, 必须对 soc 设计进行合理的资源划分,把各个子模块分别在特定的 fpga 中实现。这涉及到 硬件的布线资源和延时情况以及 soc 设计模块间的互连要求和时序要求等诸多 因素,是 fpga 软件工作的难点; 资源使用的技巧:不同的 rtl 代码风格和约束会对设计的实现结果产生非常 大的影响, 由于 fpga 中用来实现逻辑的电路与芯片中完全不同。 如何针对 fpga 结构特点把 soc 设计在 fpga 平台上高效的实现,是个比较难的课题; 数模混和 soc 设计的实现:很多 soc 设计都包含模拟电路模块,它们无法 用 fpga 片内的资源实现,只能借助硬件平台采用专用的模拟电路芯片与 fpga 协同实现 soc 设计。这要求 fpga 软件工作有特殊的考虑; 约束的移植: soc 设计必然带有很多的综合、 时序等方面的约束, 而在 fpga 平台实现时, 必须把这些 soc 设计中的约束合理地带到 fpga 平台, 这也是 fpga 软件工作需要考虑的地方; 仿真和调试:因为 fpga 实现的电路结构和生成的仿真模型都与芯片设计不 同,针对 fpga 设计进行仿真和调试也必然有其独特的方法,这是 fpga 软件工 作需要重点考虑的地方; 1.5.3 fpga 验证中软硬件工作的衔接 事实上,不可能有一种理想的、可以承载任何 soc 设计的 fpga 硬件平台, 所以找到合理的方式实现 fpga 硬件设计的最大的性能价格比和时间价格比是非 常重要的。而硬件平台中所提出的解决方案都要求软件工作来具体实现,在实现 过程中, 要保证 fpga 实现与 soc 设计一致, 并能够容易地进行仿真和分析结果, 这都为 fpga 软件环境的建设提出了很高的要求。 综上,fpga 的软硬件协同验证的平台要求实现大量的复杂的工作,其中很 多技术细节的实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国污水处理行业市场现状竞争格局与产业发展前景评估规划报告
- 2026中国物流仓储行业市场供需结构及投资发展评估报告
- 2026太原站客服面试题及答案
- 2026特殊情况面试题及答案
- 2026及未来5年中国去水器不锈钢圈数据监测研究报告
- 2026及未来5年中国剪刀型卧式带锯床数据监测研究报告
- 2026及未来5年中国冻畜肉数据监测研究报告
- 2026事业单位工勤技能-广西-广西医技工一级(高级技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-广东-广东殡葬服务工一级(高级技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-广东-广东兽医防治员三级(高级工)历年参考题库含答案详解3套试卷
- ISO22301-2019业务连续性内审及管理评审全套资料
- 河南省新乡市第二十二中学2023-2024学年九年级上学期10月月考数学试题
- C反应蛋白临床意义课件
- 文学教育与文学类文本阅读北京大学中文系吴晓东课件
- 牛羊布病流行病学调查表
- 外科学教学课件:乳房疾病
- 塔山煤矿综合物探施工设计说明
- 2023年司法考试真题卷二答案及详解
- 2023年公务员体检表
- JJG 596-2012电子式交流电能表
- GB/T 1095-2003平键键槽的剖面尺寸
评论
0/150
提交评论