SystemC实例六:fifo
标签:
systemcchannelfifo |
分类: IC设计 |
本例子实现了一个简单的fifo,生产者和消费者利用fifo进行通信。系统原理如下图所示。
http://s11/middle/676fb938g8630882817da&690
系统共四个模块:fifo、producer、consumer和test。其中fifo为通信的channel,实现了读和写两个接口,而producer具有一个写接口的port,consumer具有一个读接口的port。
系统共四个模块:fifo、producer、consumer和test。其中fifo为通信的channel,实现了读和写两个接口,而producer具有一个写接口的port,consumer具有一个读接口的port。
1、read_if、write_if接口定义
读接口:read_if
class read_if: virtual public sc_interface
{
public:
};
写接口:write_if
class
write_if: virtual public sc_interface
{
public:
};
2、fifo channel
fifo模块继承sc_channel,并实现了read和write两个interface。
class read_if: virtual public sc_interface
{
public:
};
class write_if: virtual public
sc_interface
{
public:
};
class fifo: public sc_channel,public read_if,public_write_if
{
private:
public:
};
3、producer模块
producer模块定义了一个具有写接口的port。
SC_MODULE(producer)
{
public:
};
4、consumer模块
consumer模块定义了一个具有读接口的port。
SC_MODULE(producer)
{
public:
};
5、Test模块
Test模块中定义了producer、consumer和fifo三个实例
SC_MODULE(test)
{
public:
};
6、sc_main
int sc_main(int argc,char *argv[])
{
}
7、仿真测试结果

加载中…