arbiter.h

来自「SystemC可以由C语言直接开发硬件」· C头文件 代码 · 共 56 行

H
56
字号
/************************************************************************
 * file name:
 * description:
 *
 * modification history
 * --------------------
 * 2004-1-13 16:38:39, created by zhuwei
 */ 

#ifndef _ARBITER_H
#define _ARBITER_H

/* includes----------------------------------------------------------- */
#include "systemc.h"

/* defines------------------------------------------------------------ */
/* typedefs----------------------------------------------------------- */
enum state_t
{
	STATE_0,
	STATE_1,
	STATE_2,
	STATE_3
};

struct arbiter: sc_module
{
	sc_in<bool>	clk; 
	sc_in<bool>	rst_n;
	sc_in<sc_bit>	req[3];
	sc_out<int>	sel;

	sc_signal<int>	state;
	int		new_state;
	int		new_sel;
	
	void reg_fun();
	void comb_fun();

	// Constructor
	SC_CTOR(arbiter) 
	{
		SC_METHOD(reg_fun);
		sensitive_pos << clk;
		sensitive << rst_n;

		SC_METHOD(comb_fun);
		sensitive << req[0] << req[1] << req[2] << state;
	}
};

/* externs------------------------------------------------------------ */
/* globals------------------------------------------------------------ */
/* forward declarations----------------------------------------------- */

#endif /* _ARBITER_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?