SystemC片上系统设计科学出版社2003本大部分内容-Read.PPT

SystemC片上系统设计科学出版社2003本大部分内容-Read.PPT

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SystemC片上系统设计科学出版社2003本大部分内容-Read

系统级设计描述语言SystemC 徐宁仪 xuny97@mails.tsinghua.edu.cn Xuny @ smth 东主楼9区324房间课程主要内容 共讲4次,争取讲清楚WhyHow, 重点是Concept 第三部分 SystemC行为建模基础 一些重要概念回顾 SystemC是一种系统描述语言,而不仅仅是一种新的硬件描述语言。 行为建模的目的 系统体系结构探索 当要建模的目标系统十分复杂时,利用行为模型迅速建模,使得设计者对目标设计有更清楚的理解则有利于软硬件划分、减少系统功耗 。 SystemC 行为建模 SystemC行为级建模中一个很重要的概念被称为交易级建模 (Transaction Level Modeling或者TLM) 。(稍后讲述) 系统抽象:行为,通信和时序 系统抽象的三个关键元素 行为:算法(运算,控制…) 通信:各个算法模块之间的数据交互,控制配合 时序:行为和通信的在时间域上的协调 举例 系统抽象的三个元素-举例-存储器 存储器的行为 读:read (address) 写: write (address, data) 复位:reset 存储器的通信 RTL级: 地址总线,数据总线,读信号,写信号,复位信号 交易级:目的地址,数据 时序 信号配合时序 读写速度 复位时间 系统抽象的三个元素-举例-OFDM接收机 系统抽象的三个元素-举例-嵌入式处理器 行为: 完成汇编语言描述的程序 通信: Flash ? CPU CPU??RAM DMA??RAM IO??CPU 时序: 系统总线 行为建模对语言的要求(1 of 2) 行为和通信分离(分开描述,时序隐含) 系统体系结构探索,需要对行为和通信的各种组合进行探索(1CPU? 3CPU?共享总线?直接通道?) 嵌入式软件开发与调试(软件开发不关心具体硬件通信细节) 优点 行为(或者计算)和通信分开,称为正交化处理。可以分别在各自的部分进行修改,而不影响另外一部分的功能和完整性。 处理复杂问题的方法 - 分而治之 时间:分步骤 细节:分层 本质:正交 行为建模对语言的要求(2 of 2) 接口方法调用(Interface Method Call) 解决”行为和通信分离后,通信如何进行”的问题 一组给定的通信方法(method)被称为接口(interface) 接口(或者说通信方法)由通道实现。 模块能够使用它们的端口(port)来与实现相应接口的通道进行互连。 SystemC的行为建模语言支持 模块(module)是系统行为的主要载体。 通道(channel)是通信的主要载体。 时序隐含在模块和通道的描述中。 特点 行为和通信分开 支持接口方法调用 Big Picture 接口(Interface) 接口的实现: C++中的抽象类 。(抽象类和纯虚函数) 接口(Interface) 存储器接口实例 存储器接口实例 存储器写接口: template class T class mem_write_if: public sc_interface {public: virtual transfer_status write( \ unsigned int address, \ T data) = 0; }; 存储器接口实例 存储器接口实例 结论 我们将mem_read_if和mem_write_if定义为模板类是因为抽象的存储器的每一个单元可以存储的内容可以是任何类,如存储一个字节char,一个半字short,一个字int,一个packet 。 端口(port) 基本的SystemC端口类型:sc_inT、sc_outT、sc_inoutT 端口 端口 端口必须与特定的通道接口相连,或者同父模块的端口相连。一个模块的端口连接到零个、一个或者多个通道,或者零个、一个或者多个父模块的端口,但必须至少连接到1个通道或者父模块的端口上 。 端口实例-RAM读写端口 SC_MODULE(Master){ sc_in_clk clk; sc_portram_ifint ram_port;//端口实例 void main_action( );//见下一页 int data; unsigned int address; SC_CTOR(){ SC_CTHREAD(main_action,clk.pos()); } }; 端口实例-RAM读写端口 通道基础 在SystemC中,接口本身只是定义了一组通信方法,而不具体负责这些方法如何实现。通道才是这些

文档评论(0)

fengruiling + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档