我是靠谱客的博主 搞怪仙人掌,最近开发中收集的这篇文章主要介绍Chapter 11 -- SystemC From Gound 读书心得,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 概念的引入:

port是一个指针,它指向模块外部的channel。 sc_export<T>是一个指针,它指向其他模块内部的channel。

interface是一个抽象类(定义了一些纯虚函数),它也可被看成API,可派生出各个类。

 

2. 定义:

A SystemC interface is an abstract class that inherits from sc_interface and provides only pure virtual declarations of methods referenced by SystemC channels and ports. No implementations or data are provided in a SystemC interface.

 

SystemC interface 是个抽象类,它由sc_interface派生而来,仅仅声明了纯虚函数(这些纯虚函数会被channel以及port引用),而不含有任何数据成员。

 

A SystemC channel is a class that inherits from either sc_channel or from sc_prim_channel, and the channel should1 inherit and implement one or more SystemC interface classes. A channel implements all the pure virtual methods of the inherited interface classes.

 

SystemC channel 由sc_channel或sc_prim_channel派生而来,channel必须至少由一个interface派生而来,并实现interface class 中定义的所有纯虚函数。

 

A SystemC port is a class templated with and inheriting from a SystemC interface. Ports allow access of channels across module boundaries.

 

SystemC port 绑定了interface,并重载了->运算符。语法如下:

  

 

 

当进行端口连接时(sc_port例化执行时),sc_port重载了()运算符,保存了channel object的指针。因此sc_port可看成一个interface pointer指向了channel。sc_port还重载了->,让sc_port表现得更像一个指针。

 

3. process间的通讯

1. 和同层process通讯是通过event以及interface. 如下

      process<-->interface<-->channel<-->interface<-->process。

2. 通过port和module外部通讯

3.和同层子module通讯是通过interface。 如下

      process<-->interface<--->channel<--->submodule port    或者

      process<-->interface<---> sc_export

 

 

 

最后

以上就是搞怪仙人掌为你收集整理的Chapter 11 -- SystemC From Gound 读书心得的全部内容,希望文章能够帮你解决Chapter 11 -- SystemC From Gound 读书心得所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部