收藏 分享(赏)

软硬件协同设计.ppt

上传人:Facebook 文档编号:3284901 上传时间:2018-10-10 格式:PPT 页数:42 大小:380.50KB
下载 相关 举报
软硬件协同设计.ppt_第1页
第1页 / 共42页
软硬件协同设计.ppt_第2页
第2页 / 共42页
软硬件协同设计.ppt_第3页
第3页 / 共42页
软硬件协同设计.ppt_第4页
第4页 / 共42页
软硬件协同设计.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、软硬件协同设计,HW/SW Co-designBy yuhong_hao12.12.2002,Contents:,Part one : 软硬件协同设计的引入; Part two : 软硬件协同设计所涉及到的内容:1. HW-SW Co-design Flow 2. Contemporary Co-design Framework3. HW-SW partition4. HW-SW Co-synthesis 5. HW-SW co-simulation Part three : 目前支持软硬件协同设计的工具介绍。,Part One,软硬件协同设计的引入,系统集成芯片设计方法学的内容,1. 以软硬

2、件协同设计(Software/Hardware Co-Design)2. 具有知识产权的内核(Intellectual Property Core简称IP核) 复用3. 超深亚微米(Very Deep Sub-Micron,简称VDSM)技术为 支撑的系统集成芯片是国际超大规模集成电路的发 展趋势和新世纪集成电路的主流,Problems with Past Design Method,缺少统一的软硬件表示方法 划分依靠先验定义 不能够验证整个系统 通过 HW/SW 边界时很难发现不兼容问题 缺少成熟的设计流程 上市时间问题 描述更改变得困难Need Hardware-Software Co-D

3、esign,软硬件协同设计理论体系,系统任务描述 (System Task Description )软硬件划分 (Hardware/Software Partition) 软硬件协同综合 (Hardware/Software Co-synthesis ) 软硬件协同仿真 (HardwareSoftware Co-simulation )与系统设计相关的低压低功耗设计,可测性设计等等。,1. HW/SW Co-design 发展过程:,软硬件协同设计早期主要是针对一个特定的硬件如何进行软件开发或根据一个 已有 的软件实现具体的硬件结构。前者是一个经典的软件开发问题软件性能的好坏不仅仅取决于软件

4、开发人员的技术水平,更有 赖于所使用的硬件平台;后者是一个软件固化的问题实现的途径可以是采用一个与原有软件平台相同的硬件处理器, 并将软件代码存储于存储器当中,也可以是在充分理解软件的 内在功能之后完全用硬件来实现软件的功能。,2. 了解,HW-SW Co-design?HW-SW Co-design目的是为hardware和software的协同描述,验证和综合提供一种集成环境。 How can this be achieved? 涉及以下技术 嵌入式系统设计, 实时系统设计, 硬件设计, 软件设计.,Concurrent design(并行设计),Traditional design fl

5、ow,Concurrent (codesign) flow,HW,SW,Start,Start,HW,SW,Designed by independentgroups of experts,Designed by Same group of experts with cooperation,3. Why co-design?,缩短开发周期取得更好的设计效果满足苛刻的设计限制 这种平台的推出将不仅包含芯片本身,还必须包含完整的开发系统和典型应用实例,而供应商提供的服务和技术支持也当然要成为产品不可分割的一部分。,4. Hardware/Software Co-Design Goals and R

6、equirements,统一的设计方法执行独立设计/执行验证自动生成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 Commercial(商业) ArchGen (Synergy System Design, Inc.), Mentor Gra

7、phics, Synopsys, Synthesia-Cadence, Co-design Automation-Synopsys, Celoxica, CoWare, etc.,到目前为止,商业系统的限制:,1. 典型的手动划分2. 固定应用领域(carefully very specialized)3. 逐渐增长的评估需求支持很弱(no abstract models)4. 主要强调性能5. 模型的连贯性在设计重用中不被支持商业系统更强调协同验证(co-verification)方面(more achievable goal),Part two,软硬件协同设计所涉及到的内容:1. HW-S

8、W Co-design Flow 2. Contemporary Co-design Framework3. HW-SW partition4. HW-SW Co-synthesis 5. HW-SW co-simulation,引子 SW/HW开发模型:,面临的问题,Break the wall today!,1. 软件硬件协同设计的设计流程,用HDL语言和C语言进行系统描述并进行模拟仿真和系统功能验证; 对软硬件实现进行功能划分,分别用语言进行设计并将其综合起来进行功能验证和性能预测等仿真确认(协调模拟仿真); 如无问题则进行软件和硬件详细设计; 最后进行系统测试。,典型的 co-desi

9、gn 流程:,2. Contemporary Co-design Framework,System Specification,Front end Compiler,Synthesis S/W Common H/W,Partitioning,Behavior Description of Modules,Performance Estimation,Validation,Integration,Co-Simulation,Implementation CPU ASIC Memory,Constraint Verification,3. 软硬件划分 (HW/SW Partition),是SOC设

10、计中的一个重要课题 其基本原则应该遵循高速、低功耗由硬件实现;多品种、小批量由软件对应;处理器和专用硬件并用以提高处理速度和降低功耗。,Partitioning(划分),方法 面向SW : 从SW to HW 满足时序要求 面向HW: 从HW to SW 降低成本 规模大小 任务级 操作级, 基本模块级 系统级 焦点问题 固定目标体系结构和未知目标体系结构 IPC 高层考虑 带有时序安排的划分 流水线 and/or 并行,Hardware - Software Architecture,Hardware:一个或多个微控制器 ASICs, DSPs Software:concurrent tas

11、ks 调度程序集合定制操作系统 Interfaces:Hardware 模块Software 程序(polling, interrupt handlers, .),3.1 Hardware synthesis,开发领域商业工具抽象等级: 行为级综合: algorithmic synthesisRTL综合: VHDL, Verilog逻辑级综合: netlist值得考虑的问题: reuse of hardware (Core),3.2 Software synthesis,估算困难 对于嵌入式系统来说,会有更多的限制: no swapping devices no stacks only pol

12、ling and static variables 简单的算法 Translating FSMs to programs especially simple 协同任务描述 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” 总线接口的自动生成

13、PCI, VME, sensors and actuators接口 挑战: SoC with many cores!,All Interfaces for HW/SW Co-Design,4. HW-SW co-simulation?,基本定义: 用软件控制硬件的仿真目标:把运行在一个可编程的处理器硬件上的虚弱的可编程(or 固定)硬件子系统和仿真软件联结,4.1 Co-simulation Requirements,速度在不同结构下能够快速测试输入的不同激励 交互式快速改变结构参数容易分析结果和调试 (graphical interface) 正确性hardly compatible wit

14、h speed and interactivity,5. 现有工具:,大学: 商业: -POLIS: U.C. -Arexys: SDL.VHDL.CBerkeley -Coware: C/C+ -PTOLEMY: U.C. -LavalLogic: Java to Berkeley Verilog -VULCAN: Stanford U. -Cynlib: C+ to Verilog (Hardware C) -Art, Algorithm to -CHINOOK:U. of RT: C+ to RTLWashington (VHDL) -SUPERLOG: System -COSYMA:

15、U. of level descriptionBraunschweig (C*),Available tools,Cadance (basic and VCC)INRIA CADPXtensa from TensilicaVxWorks, Montavista RTOSIBM PowerPC development platformXilinxs FPGA ExpressPtolemy, Polis environmentCode Composer from TI,6. Introduction to POLIS,高级语言翻译 形式验证 系统协同仿真 设计划分 硬件综合 软件综合 接口连接执行

16、领域,Continued,描述: FSM-based languages (Esterel, .) 内部表示法: CFSM network Validation:high-level co-simulationFSM-based formal verification 划分: by hand, based on co-simulation estimates 时序安排: classical RT algorithms 综合:S-graph-based code synthesis for softwarelogic synthesis for hardware Main emphasis on

17、 unbiased verifiable specification,Part Three,目前支持软硬件协同设计的工具介绍,1. 什么是SystemC?,SystemC是一个开发硬件的面向对象的新型建模方法,建立在C+基础上,是为了方便系统级设计和IP交换。System C是一个开放的标准,由13家EDA和电子行业的公司共同控制。 包括: ARM Ltd. Cadence Design Systems, Inc. CoWare Fujitsu Mentor Graphics Motorola NEC Synopsys System C的源码可以从http:/www.systemc.org/网

18、站上免费下载。,Continued,CoCentric System C Compiler (Synopsys) 可以使用System C源码来综合硬件 可以把用System C写的硬件描综合成门级网表以便IC实现或综合成一个Verilog或VHDL的RTL描述以便FPGA综合。,硬件描述能力,Modules Processes Ports Signals Rich set of port and signal types Rich set of data types Clocks Cycle-based simulation Multiple abstraction levels Commu

19、nication Protocols Debugging Supports Waveform Tracing,SystemC是由一些C+的类库组成,Continued,用System C开发的硬件模型可以用标准的C+编译器来编译: Unix/Solaris: bcc,gcc Windows: MSVC 经编译后形成一个可执行的应用程序,设计人员可以通过console来观察系统的行为,验证系统功能和结构.,System C的建模方法,System C#include “systemc.h” SC_MODULE(dff) sc_in din;sc_in clock;sc_out dout;void

20、 doit(); / Member functionSC_CTOR(dff) SC_METHOD(doit); / Processsensitive_pos clock; / Sensitize to ;void dff:doit() / Member function as Process bodydout = din; ,VHDLentity dff is port ( din, clock : in bit; dout : out bit ); end dff; architecture dff of dff is begin doit : process(clock) Sensitiv

21、ity List begin if (clockevent and clock=1) then dout = din; end if; end process; end dff;,SystemC的建模实例,2. CADENCE VIRTUAL COMPONENT CO-DESIGN (VCC),Cadence Virtual Component Co-design (VCC) 是第一个为IP复用所设计的工业系统级 HW/SW co-design开发平台环境。Cadence VCC使设计师在早期设计第一代产品和相关产品时,就可以确认 HW/SW划分的临界体系结构。Cadence VCC 为 system houses and SOC providers,通过the electronic supply chain进行交流和交换设计信息,提供必要的框架。http:/ end!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报