当前位置:文档之家› 软硬件协同设计

软硬件协同设计


3. 软硬件划分 (HW/SW Partition)
是SOC设计中的一个重要课题 设计中的一个重要课题 其基本原则应该遵循高速、低功耗由硬件实现; 其基本原则应该遵循高速、低功耗由硬件实现; 多品种、小批量由软件对应; 多品种、小批量由软件对应; 处理器和专用硬件并用以提高处理速度和降低功耗。 处理器和专用硬件并用以提高处理速度和降低功耗。
系统任务描述 (System Task Description ) 软硬件划分 (Hardware/Software Partition) 软硬件协同综合 (Hardware/Software Co-synthesis ) 软硬件协同仿真 (Hardware/Software Co-simulation ) / 与系统设计相关的低压低功耗设计, 与系统设计相关的低压低功耗设计,可测性设计 等等。 等等。
到目前为止,商业系统的限制: 到目前为止,商业系统的限制:
1. 典型的手动划分 2. 固定应用领域(carefully very specialized) 固定应用领域 3. 逐渐增长的评估需求支持很弱 逐渐增长的评估需求支持很弱(no abstract models) 4. 主要强调性能 5. 模型的连贯性在设计重用中不被支持
Detail in web station Detail in web station
4. HW-SW co-simulation?
基本定义:
用软件控制硬件的仿真
目标: 把运行在一个可编程的处理器硬件上的虚弱的可 编程( 固定) 编程(or 固定)硬件子系统和仿真软件联结
4.1 Co-simulation Requirements
3.1 Hardware synthesis
开发领域 商业工具 抽象等级: 抽象等级 行为级综合: 行为级综合 algorithmic synthesis RTL综合 VHDL, Verilog 综合: 综合 逻辑级综合: 逻辑级综合 netlist 值得考虑的问题: 值得考虑的问题 reuse of hardware (Core)
Partitioning(划分) 划分)
方法 面向SW : 从SW to HW 满足时序要求 面向 面向HW: 从HW to SW 降低成本 面向 规模大小 任务级 操作级, 操作级 基本模块级 系统级 焦点问题 固定目标体系结构和未知目标体系结构 IPC 高层考虑 带有时序安排的划分 流水线 and/or 并行
Commercial(商业) 商业) ArchGen (Synergy System Design, Inc.), Mentor Graphics, Synopsys, Synthesia->Cadence, Codesign Automation->Synopsys, Celoxica, CoWare, etc.
All Interfaces for HW/SW Co-Design
Company Name CoWare Mentor Graphics Synopsys Member Product N2C Connection Cadence s Interface Products Integrator HDLI Nc-Sim
软硬件协同设计
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 : 目前支持软硬件协同设计的工具介绍。 目前支持软硬件协同设计的工具介绍。
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…
典型的 co-design 流程: 流程:
2. Contemporary Co-design Framework
System Specification Front end Compiler Behavior Description of Modules Partitioning Synthesis S/W Common H/W Integration Co-Simulation Constraint Verification Implementation CPU ASIC Memory Performance Estimation Validation
后者是一个软件固化的问题
实现的途径可以是采用一个与原有软件平台相同的硬件处理器, 实现的途径可以是采用一个与原有软件平台相同的硬件处理器, 并将软件代码存储于存储器当中, 并将软件代码存储于存储器当中,也可以是在充分理解软件的 内在功能之后完全用硬件来实现软件的功能。 内在功能之后完全用硬件来实现软件的功能。
3. Why co-design?
缩短开发周期 取得更好的设计效果 满足苛刻的设计限制 这种平台的推出将不仅包含芯片本身, 这种平台的推出将不仅包含芯片本身,还必须包含完整 的开发系统和典型应用实例, 的开发系统和典型应用实例,而供应商提供的服务和技 术支持也当然要成为产品不可分割的一部分。 术支持也当然要成为产品不可分割的一部分。
1. HW/SW Co-design 发展过程:
软硬件协同设计早期
主要是针对一个特定的硬件如何进行软件开发或根据一个已有 主要是针对一个特定的硬件如何进行软件开发或根据一个已有 的软件实现具体的硬件结构。 的软件实现具体的硬件结构。
前者是一个经典的软件开发问题
软件性能的好坏不仅仅取决于软件开发人员的技术水平, 软件性能的好坏不仅仅取决于软件开发人员的技术水平,更有 赖于所使用的硬件平台; 赖于所使用的硬件平台;
商业系统更强调协同验证(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
速度 在不同结构下能够快速测试输入的不同激励 交互式 快速改变结构参数 容易分析结果和调试 (graphical interface) 正确性 hardly compatible with speed and interactivity
5. 现有工具: 现有工具:
大学: 大学: --POLIS: U.C. Berkeley --PTOLEMY: U.C. Berkeley --VULCAN: Stanford U. (Hardware C) --CHINOOK:U. of Washington (VHDL) --COSYMA: U. of Braunschweig (C*) 商业: 商业: --Arexys: SDL.VHDL.C --Coware: C/C++ --LavalLogic: Java to Verilog --Cynlib: C++ to Verilog --Art, Algorithm to RT: C++ to RTL --SUPERLOG: System level description
协同任务描述
Problem: How do we find a linear execution order that satisfies the timing constraints? Use scheduling theory.
3.3 Interface synthesis
processor and ASIC接口 synthesis of software synthesis of “glue logic” 总线接口的自动生成 PCI, VME, …… sensors and actuators接口 挑战: SoC with many cores!
引子
SW/HW开发模型:
面临的问题
Break the wall today!
1. 软件硬件协同设计的设计流程
语言和C语言进行系统描述并进行模拟仿 用HDL语言和 语言进行系统描述并进行模拟仿 语言和 真和系统功能验证; 真和系统功能验证; 对软硬件实现进行功能划分, 对软硬件实现进行功能划分,分别用语言进行设 计并将其综合起来进行功能验证和性能预测等仿 真确认(协调模拟仿真 协调模拟仿真); 真确认 协调模拟仿真 ; 如无问题则进行软件和硬件详细设计; 如无问题则进行软件和硬件详细设计; 最后进行系统测试。 最后进行系统测试。
3.2 Software synthesis
估算困难 对于嵌入式系统来说,会有更多的限制:
no swapping devices no stacks only polling and static variables
相关主题