软硬件协同设计
Need Hardware-Software Co-Design
软硬件协同设计理论体系
系统任务描述 (System Task Description )
软硬件划分 (Hardware/Software Partition) 软硬件协同综合 (Hardware/Software Co-synthesis ) 软硬件协同仿真 (Hardware/Software Co-simulation )
软硬件协同设计
HW/SW Co-design
By yuhong_hao
12.12.2002
Contents:
Part one : 软硬件协同设计的引入; Part two : 软硬件协同设计所涉及到的内容:
1. HW-SW Co-design Flow 2. Contemporary Co-design Framework 3. HW-SW partition 4. HW-SW Co-synthesis 5. HW-SW co-simulation Part three : 目前支持软硬件协同设计的工具介绍。
Part One
软硬件协同设计的引入
系统集成芯片设计方法学的内容
1. 以软硬件协同设计(Software/Hardware Co-Design) 2. 具有知识产权的内核(Intellectual Property Core简称IP核)
复用 3. 超深亚微米(Very Deep Sub-Micron,简称VDSM)技术为
面临的问题
Break the wall today!
1. 软件硬件协同设计的设计流程
用HDL语言和C语言进行系统描述并进行模拟仿 真和系统功能验证;
对软硬件实现进行功能划分,分别用语言进行设 计并将其综合起来进行功能验证和性能预测等仿 真确认(协调模拟仿真);
如无问题则进行软件和硬件详细设计; 最后进行系统测试。
后者是一个软件固化的问题
实现的途径可以是采用一个与原有软件平台相同的硬件处理器, 并将软件代码存储于存储器当中,也可以是在充分理解软件的 内在功能之后完全用硬件来实现软件的功能。
2. 了解
HW-SW Co-design? HW-SW Co-design目的是为hardware和software的协 同描述,验证和综合提供一种集成环境。
典型的 co-design 流程:
2. Contemporary Co-design Framework
System Specification
Front end Compiler Behavior Description
Commercial(商业) ArchGen (Synergy System Design, Inc.), Mentor Graphics, Synopsys, Synthesia->Cadence, Codesign Automation->Synopsys, Celoxica, CoWare, etc.
支撑的系统集成芯片是国际超大规模集成电路的发 展趋势和新世纪集成电路的主流
Problems with Past Design Method
缺少统一的软硬件表示方法 划分依靠先验定义 不能够验证整个系统 通过 HW/SW 边界时很难发现不兼容问题 缺少成熟的设计流程 上市时间问题 描述更改变得困难
HW
SW
Designed by independent groups of experts
HW SW
Designed by Same group of experts with cooperation
3. Why co-design?
缩短开发周期
取得更好的设计效果
满足苛刻的设计限制
这种平台的推出将不仅包含芯片本身,还必须包含完整 的开发系统和典型应用实例,而供应商提供的服务和技 术支持也当然要成为产品不可分割的一部分。
到目前为止,商业系统的限制:
1. 典型的手动划分
2. 固定应用领域(carefully very specialized) 3. 逐渐增长的评估需求支持很弱(no abstract models) 4. 主要强调性能 5. 模型的连贯性在设计重用中不被支持
商业系统更强调协同验证(co-verification)方面(more achievable goal)
Part two
软硬件协同设计所涉及到的内容: 1. HW-SW Co-design Flow 2. Contemporary Co-design Framework 3. HW-SW partition 4. HW-SW Co-synthesis 5. HW-SW co-simulation
引子 SW/HW开发模型:
与系统设计相关的低压低功耗设计,可测性设计 等等。
1. HW/SW Co-design 发展过程:
软硬件协同设计早期
主要是针对一硬件结构。
前者是一个经典的软件开发问题
软件性能的好坏不仅仅取决于软件开发人员的技术水平,更有 赖于所使用的硬件平台;
4. Hardware/Software Co-Design Goals and Requirements
统一的设计方法 执行独立 设计/执行验证 自动生成Hardware and Software 综合
5. Co-design 环境:
Research(研究) CADLab, SIR/CASTLE (Germany), Chinook, COSMOS, COSYMA, CoWare, DICE, COMET, LYCOS (Denmark), POLIS, Ptolemy, Riley, TOSCA, AKKA, CODES, VIOOL, COOL…
How can this be achieved? 涉及以下技术 嵌入式系统设计, 实时系统设计, 硬件设计, 软件设计.
Concurrent design(并行设计)
Traditional design flow Concurrent (codesign)
Start
flow
Start