欢迎来到天天文库
浏览记录
ID:37970344
大小:243.50 KB
页数:36页
时间:2019-06-04
《软硬件划分_SystemC》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SystemC时正吴昊PartOne软硬件协同设计的引入ProblemswithPastDesignMethod缺少统一的软硬件表示方法划分依靠先验定义不能够验证整个系统通过HW/SW边界时很难发现不兼容问题上市时间问题描述更改比较困难NeedHardware-SoftwareCo-Design软硬件协同设计理论体系系统任务描述(SystemTaskDescription)软硬件划分(Hardware/SoftwarePartition)软硬件协同综合(Hardware/SoftwareCo-syn
2、thesis)软硬件协同仿真(Hardware/SoftwareCo-simulation )与系统设计相关的低压低功耗设计,可测性设计等等。Concurrentdesign(并行设计)TraditionaldesignflowConcurrent(codesign)flowHWSWStartStartHWSWDesignedbyindependentgroupsofexpertsDesignedbySamegroupofexpertswithcooperation软件硬件协同设计的设计流程用HDL
3、语言和C语言进行系统描述并进行模拟仿真和系统功能验证;对软硬件实现进行功能划分,分别用语言进行设计,并将其综合起来进行功能验证和性能预测等仿真确认(协调模拟仿真);如无问题则进行软件和硬件详细设计;最后进行系统测试。Hardwaresynthesis抽象等级:系统级设计行为级综合:algorithmicsynthesisRTL综合逻辑级综合:netlist值得考虑的问题:reuseofhardware(Core)什么是SystemC?SystemC是一个开发硬件的面向对象的新型建模方法,建立在C++
4、基础上,是为了方便系统级设计。SystemC是一个开放的标准,由13家EDA和电子行业的公司共同控制。包括:ARMLtd.CadenceDesignSystems,Inc.CoWareFujitsuMentorGraphicsMotorolaNECSynopsysSystemC的源码可以从http://www.systemc.org/网站上免费下载。PartTwoSystemC是由一些C++的类库组成SystemCLanguageArchitectureMethodology-Specifi
5、cLibrariesMaster/Slavelibrary,etcLayeredLibrariesVerificationlibraryTLMlibrary,etcPrimitiveChannelsSignal,Fifo,Mutex,Semaphore,etcStructuralElementsModulesPortsInterfacesChannelsDataTypes4-valuedlogicBitsandBitVectorsArbitraryPrecisionIntegersFi
6、xed-pointtypesEvent-drivenSimulationEventsProcessesC++LanguageStandard用SystemC开发的硬件模型可以用标准的C++编译器来编译:Unix/Linux/Solaris:gccWindows:MSVC经编译后形成一个可执行的应用程序使用SystemC设计流程SystemC基本语法模块的定义SC_MODULE(mmu){……//Detailsofthedesign}SC_MODULE是SystemC库中的一个宏,使用它定义一个模块
7、实际上以sc_module为基类,定义了一个新的C++类。classmmu:publicsc_module{……//Detailsofthedesign}数据类型允许C++的基本数据类型,bool、int、short、char等;SystemC的专有数据类型sc_int、sc_bit、sc_logic等,时钟作为一个特殊的对象处理sc_clock;用户自定义类型structpacket{char[6]source_address;chardestination_address;chardata[15
8、14];}模块的端口模块的端口使数据能够在模块间通过,模块之间通过信号将端口连接起来。SystemC的类库中预先定义的端口包括sc_in(输入端口),sc_out(输出端口),sc_inout(双向端口)。SystemC允许通过对基本端口类型sc_port扩展生成更复杂的端口。模块的信号一个顶层模块可能有几个模块组成,这些模块需要信号相互连接。SystemC用sc_signal来定义信号。端口和信号的绑定位置关联:所有的端口都是按照申明的顺序位置进行
此文档下载收益归作者所有