徐欣 第三讲: 主讲教员: 软硬件协同设计技术 Hardware-Software Codesign 国防科大电子科学与工程学院嵌入式系统开放研究小组 面向二十一世纪的嵌入式系统设计技术 软硬件协同设计定义与主要概念 软硬件协同设计定义 The meeting of system-level objectives by exploiting the trade-offs between hardware and software in a system through their concurrent design 主要概念 Concurrent(并发): hardware and software developed at the same time on parallel paths Integrated(交互): interaction between hardware and software developments to produce designs that meet performance criteria and functional specifications 嵌入式系统快速原型设计过程 REUSE DESIGN LIBRARIES AND DATABASE Primarily Primarily software VIRTUAL PROTOTYPE hardware HW HW DESIGN FAB SYSTEM FUNCTION HW & INTEG. DEF. DESIGN SW & TEST PART. SW SW HW & SW DESIGN CODE CODESIGN HW & SW Partitioning & Codesign 嵌入式系统快速原型开发的基本要素 系统定义(需求分析) 软硬件划分 结构规划–处理器类型, 软硬件之间的接口类型, 等. 划分目的–满足系统速度,延迟, 体积,成本等方面的要求. 划分策略- high level partitioning by hand, automated partitioning using various techniques, etc. 调度 Operation scheduling in hardware Instruction scheduling pilers Process scheduling in operating systems 软硬件设计过程中的建模 传统的嵌入式系统设计模型 DOD-STD-2167A HWCI HW Development Testing Fabric. Detailed Design Prelim. Design Hardware Require. Sys/HW Analysis Require. Analysis System System Operation. Concepts Integ. and Testing and Sys/SW test Eval. Require. Analysis Software Require. Analysis Prelim. Design Detailed Design Coding, Unit test., SW Development Integ. test CSCI Testing 传统的嵌入式系统设计过程 传统软硬件设计过程的基本特征: 系统在一开始就被划分为软件和硬件两大部分 软件和硬件独立进行开发设计 “Hardware first” approach often adopted 隐含的一些问题: 软硬件之间的交互受到很大限制 软硬件之间的相互性能影响很难评估 系统集成相对滞后,NRE较大 因此: Poor quality designs(设计质量差) Costly modifications(设计修改难) Schedule slippages(研制周期不能有效保障) 传统设计过程中的尖锐矛盾 随着设计复杂程度的提高,软硬件设计中的 一些错误将使开发过程付出昂贵的代价 “Hardware first” approach pounds software cost because softwa