《电子系统级设计课程论文》由会员分享,可在线阅读,更多相关《电子系统级设计课程论文(15页珍藏版)》请在金锄头文库上搜索。
1、 研研 究究 生生 课课 程程 论论 文文(2010-2011 学年第二学期学年第二学期)电子系统级(电子系统级(ESLESL)设计)设计研究生:研究生: 提交日期:提交日期: 2011 年年 6 月月 20 日日 研究生签名:研究生签名:学学 号号学学 院院电子与信息学院电子与信息学院课程编号课程编号S0809070课程名称课程名称集成电路与片上系统设计集成电路与片上系统设计学位类别学位类别硕士硕士任课教师任课教师教师评语:教师评语:成绩评定:成绩评定: 分分 任课教师签名:任课教师签名: 年年 月月 日日1电子系统级(电子系统级(ESL)设计)设计研究生姓名研究生姓名 摘要:摘要:电子系统
2、级设计(ESL,Electronic System Level)设计是能够让 SOC 设计工程师以紧密耦合方式开发、优化和验证复杂系统架构和嵌入式软件的一套方法学,并提供下游寄存器传输级(RTL)实现的验证基础。ESL 牵涉到比 RTL 级别更高层次的电路设计,其基本的关注点在于系统架构的优化、软硬件划分、系统架构原型建模、以及软硬件协同仿真验证。SystemC 是一种很好的软硬件联合设计语言,它不仅可以帮助设计人员完成一个复杂的系统设计,还可以避免传统设计中的各种弊端,并提高设计效率。关键词:关键词:电子系统级设计;SOC;SystemC1 1引言引言目前,高质量的电子系统设计变得越来越复杂
3、和困难。功能更繁杂的设计需求,更短的上市时间,不断增加的成本压力使这种趋势看起来还在加速。从应用概念到硅片实现的过程已经不能仅仅靠工程师聪明的大脑来完成,而更需要依赖于严格完善的设计方法学。随着片上系统(SoC,System on Chip)设计复杂度的不断提高,设计前期在系统级别进行软硬件划分对 SoC 各方面性能的影响日趋增加,迫切需要高效快速性能分析和验证方法学。传统的 RTL 仿真平台不能提供较快的仿真速度与较大的仿真规模,FPGA 平台则不能提供详细的性能分析指标,而电子系统级设计(Electronic System Level,ESL)方法,不仅提供高速的仿真验证手段还提供详细的性
4、能分析指标,已经成为当今 SoC 设计领域最前沿的设计方法,它是能够让 SoC 设计工程师以紧密耦合方式开发、优化和验证复杂系统架构和嵌入式软件的一套方法学。2电子系统级设计(ESL,Electronic System Level)牵涉到比 RTL 级别更高层次的电路设计,其基本的关注点在于系统架构的优化、软硬件划分、系统架构原型建模、以及软硬件协同仿真验证。全新的 ESL 工具为电路系统级建模提供了虚拟原型的基本仿真平台。电子系统级设计正在从学术研究的课题变成业界广为接受的建模手段,它完成从理想应用优化到目标体系结构建立。而后依据预期产量规模的不同,用 SoC 芯片或可编程平台实现。2 .传
5、统传统 SOC 设计方法的局限设计方法的局限目前的设计方法不能充分利用设计能力来快速构建满足市场需求的 SoC。而只有快速适应消费电子市场的变化,商业系统设计公司才能在竞争中胜出。这使 SoC设计方法的研究具有重要的现实意义。目前在技术上,SoC 设计面临的主要挑战是在系统建模和硬件设计之间的不连续性。通常系统是使用 C 语言或其他系统描述语言定义的。而系统的集成电路实现却使用硬件描述语言,因此导致转换和重写系统的负担。这样的流程使得设计过程中容易出错而且耗时。验证流程中需要仿真大规模系统,仿真速度难以需满足设计需求。HDL 模型仿真效率低,需要提高抽象层次。SoC 系统中的组件具有多样性异质
6、性,包括各个专业的设计,模拟和数字设计等等,需要提供异质的仿真环境以及对系统级设计空间的探索复杂性的管理。千万门级的规模使得设计本身的管理成为问题深亚微米集成电路中,沿线延迟的增加使时序收敛问题显得更加突出,需要消除前端逻辑设计和后端物理设计的反复返工问题传统的设计重用方法需要适应规模的增长。系统设计需要具有竞争力,从基于芯片的设计方法,过渡到基于 IP 核的设计也是必然趋势。虽然可以使用标准接口,但是更理想的办法是分离出通讯部分,使用接口综合技术。因此需要设计工具重点面向模块间的通讯和互连,门级和寄存3器传输级(RTL)仿真速度太慢,不适合系统设计。需要提高设计的抽象层次。SoC 设计的趋势
7、是向高层抽象移动,更强调芯片级的规划和验证。强调早期芯片级规划,以及软硬件系统验证。软硬件协同设计方法是 SoC 设计方法学研究的重要领域。主要目的是开发适应设计需求的设计方法和相应的电子设计自动化软件。在设计中通常一种技术是不能满足设计要求的,因此要结合研发成本和开发周期等等因素,综合考虑各种技术。3. ESL 设计的基本概念设计的基本概念ESL 设计指系统级的设计方法,从算法建模演变而来。ESL 设计已经演变为嵌入式系统软硬件设计、验证、调试的一种补充方法学。在 ESL 设计中能够实现软硬件的交互和较高层次上的设计抽象。ESL 设计能够让 SoC 设计工程师以紧密耦合方式开发、优化和验证复
8、杂系统架构和嵌入式软件,并能够为下游的寄存器传输级(RTL)实现提供验证基础。ESL 设计以抽象方式来描述系统单芯片(SoC)设计。在 ESL 设计中,系统的描述和仿真的速度快,让设计工程师有充裕的时间分析设计内容。并且能提供足够精度的虚拟原型,以配合软件的设计。ESL 设计不仅能应用在设计初期与系统架构规划阶段,亦能支持整个硬件与软件互动设计的流程。ESL 设计技术与 IP 模块能将流程融入现有的硬件与软件设计与工具流程,在SoC 开发流程中扮演协调统合的角色。它们让工程师能开发含有数百万逻辑门与数十万行程序代码的设计,并提供一套理想平台,用来进行验证,满足客户持续成长的需求。4. ESL
9、设计的特点设计的特点ESL 设计之所以会受欢迎,主要源于以下五方面功能:功能正确和时钟精确型4的执行环境使提前开发软件成为可能,缩短了软硬件集成的时间。系统设计更早地和验证流程相结合,能确定工程开发产品的正确性。在抽象层设置的约束和参数可以被传递到各种用于设计实现的工具中。(1)更早地进行软件开发有了虚拟的原型平台意味着可以更早地开始软件开发。对于目前基于 SystemC 语言的 ESL 设计方法学来说,ESL 设计工程师可用 SystemC 生成一个用来仿真 SoC行为的事务级模型。由于事务级模型的开发速度比 RTL 模型要快得多。在 RTL 实现以前,完成 TLM 建模后的系统就可以开始软
10、件的开发。这样软件的开发可以和RTL 实现同时展开,而不是传统上的在 RTL 实现完成以后才开始软件的开发。虽然部分和硬件实现细节有关的软件要在 RTL 完成以后才能开始,但还是可以节省大量的开发时间。(2)更高层次上的硬件设计为了适应不断变化的市场要求,需要不断推出新产品或经过改进的产品。在 SoC设计中可以通过改进一些模块的性能、增加功能模块或存储器、甚至在体系结构上做出重大的调整。因此设计工程师必须拥有可实现的快速硬件设计方法。为了实现快速的硬件设计,在 ESL 设计须建立在较高层次上的抽象如事务级建模(TLM) 。事务级模型应用于函数调用和数据包传输层。传输级模型可以分为事件触发型和时
11、钟精确型,这些模型能够提供比 RTL 级模型快好几个数量级的仿真速度。ESL 工具的挑战就是既要保持足够精度的时序信息来帮助设计决策,又要提供足够的仿真速度以满足大型的系统软件(如 OS 启动)在可接受的时间内的完整运行。只要掌握了这种平衡,就可以在高级设计中验证时序和设置约束条件,再将这些优化的设计分割、分配到各个不同的软、硬件设计工作组去加以实现。RTL 仿真通常只能提供510MIPS 到数百 MIPS 左右的性能;然而,时钟精确型的 ESL 仿真却能达到100KMIPS 到 1MMIPS 的仿真速度。(3)设计的可配置性和自动生成越来越多的系统强调自己的可配置性,诸如:不同的处理器、不同
12、的总线带宽、不同的存储器容量、无数的外设。配置和生成出来的设计必须和验证环境得到的结果完全一致,并延续到整个设计流程中。通过 ESL 模型,结构设计师能够找到最好的配置方案。但是,这样产生出来的结果需要和一套骨架的验证环境同步到设计实现中去。如 ARM 已经实现了从 RealView SoC Designer ESL 环境中自动导入SynopsysDesignWare coreAssembler SoC 的集成和综合流程,并且可以从coreAssembler 或 Mentor Graphics 公司的 Platform Express 中启动 ARM PL300 AXI可配置互联生成器,来生成
13、 AXI 总线系统。(4)方便的架构设计ESL 架构设计能完成功能到运算引擎的映射。这里的引擎指的是那些可编程的目标如处理器、可配置的 DSP 协处理器,或者是特殊的硬件模块如 UART 外设、互连系统和存储器结构。这是系统设计的开始环节,从行为上划分系统,验证各种配置选择的可行性及优化程度。ESL 工具对于开发可配置结构体系是非常关键的。它使系统结构从抽象的行为级很容易地映射到具体的硬件设计,从而方便决定哪些模块可以被复用,哪些新模块需要设计。还能提供必要信息指导最优化的通讯、调度和仲裁机制。(5)快速测试和验证由于 ESL 设计中的抽象级别明显高于 RTL 设计抽象级别,ESL 设计中可以
14、做到描述模块内的电路状态、精确到纳秒的转换以及精确到位的总线行为。相比使用6RTL,使用周期精确的事务级模型将使硬件验证和硬件/软件协同验证速度快 1000倍或者更多。这种方法不仅可产生用于验证系统行为,它还支持与较低抽象级别的RTL 模型的协同仿真。如果 ESL 设计抽象级别被当作一个测试台的话,当下游的RTL 实现模块可用时,它们便可在这个测试台上进行验证。系统级的 HW/SW 协同验证要优于 C/RTL 实现级的 HW/SW 协同验证。因为在系统级的验证可以在较早的展开,而不必等到底层的实现完成后才开始。在底层实现没有开始前的协同验证可以及时修改体系结构或软硬件划分中的不合理因素。越高层
15、次上的验证,可以越大程度上减少修改设计带来的损失。5.ESL 设计方法设计方法ESL 作为一种先进的设计方法学,能够用于硬件的功能建模与体系结构的探察,给硬件架构设计人员提供准确可靠的设计依据,因此在本章的内容里将将详细介绍ESL 设计的基本流程与 ESL 的核心方法利用 SystemC 实现事务级建模的基本理念。首先要指出的是在设计的哪个阶段使用 ESL 设计方法和 ESL 设计工具。每一个电子产品的设计过程以某一种形式的顶层定义开始。这个定义过程可以以文本的形式描述,也可以用图表、状态图、算法描述,或者利用工具如 MATLAB 等描述。ESL 设计并不是定位在这个层次上的设计。而是通过描述
16、系统怎样工作,并为进一步的实现提供一个解决方案。ESL 设计成为系统和更加底层设计之间的桥梁。ESL设计包括功能设计和体系结构设计两大领域。系统的行为由功能模块实现,功能模块设计必须关注系统的应用。功能设计不考虑硬件和软件,物理和工艺。功能设计包括实现功能模块结构、模块之间的通信和它们的基本行为。在 ESL 中一个硬件功能模块的设计包括定义正确的功能,确定输入和输出,划分子模块,确定子模块的结构、数据流和控制逻辑,还要为其模块7建立测试环境。这个设计过程和 RTL 的设计流程相似,但他们在不同的抽象层次上,使用不同的设计语言,例如,在 ESL 的功能模块建模过程中使用 SystemC 或SystemVerilog,而 RTL 级建模则使用 Verilog 或者 VHDL。体系结构设计首先要建立平台的描述。接着将应用的功能部件影射到平台。验证体系结构模型,并根据成本和性能优化这个结构。在体系结构设计中需要考虑处理器的类型、处理器的数量、存储器的大小、Cache