⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tan_noc_worm_node_arbiter.pr.c

📁 片上网络
💻 C
📖 第 1 页 / 共 3 页
字号:
			FSM_STATE_EXIT_FORCED (8, "corssbar_busy_0", "tan_noc_worm_node_arbiter [corssbar_busy_0 exit execs]")


			/** state (corssbar_busy_0) transition processing **/
			FSM_TRANSIT_FORCE (7, state7_enter_exec, ;, "default", "", "corssbar_busy_0", "wait")
				/*---------------------------------------------------------*/



			/** state (crossbar_free_0) enter executives **/
			FSM_STATE_ENTER_FORCED (9, "crossbar_free_0", state9_enter_exec, "tan_noc_worm_node_arbiter [crossbar_free_0 enter execs]")
				FSM_PROFILE_SECTION_IN ("tan_noc_worm_node_arbiter [crossbar_free_0 enter execs]", state9_enter_exec)
				{
				
				crossbar_busy = 0;
				}
				FSM_PROFILE_SECTION_OUT (state9_enter_exec)

			/** state (crossbar_free_0) exit executives **/
			FSM_STATE_EXIT_FORCED (9, "crossbar_free_0", "tan_noc_worm_node_arbiter [crossbar_free_0 exit execs]")


			/** state (crossbar_free_0) transition processing **/
			FSM_TRANSIT_FORCE (5, state5_enter_exec, ;, "default", "", "crossbar_free_0", "arbiter")
				/*---------------------------------------------------------*/



			/** state (flow_control_0) enter executives **/
			FSM_STATE_ENTER_FORCED (10, "flow_control_0", state10_enter_exec, "tan_noc_worm_node_arbiter [flow_control_0 enter execs]")
				FSM_PROFILE_SECTION_IN ("tan_noc_worm_node_arbiter [flow_control_0 enter execs]", state10_enter_exec)
				{
				/*modify the flag value about next_fifo state*/
				if(op_stat_read(FIFO_next)==1)
					next_fifo_full = 1;
				else
					next_fifo_full = 0;
				}
				FSM_PROFILE_SECTION_OUT (state10_enter_exec)

			/** state (flow_control_0) exit executives **/
			FSM_STATE_EXIT_FORCED (10, "flow_control_0", "tan_noc_worm_node_arbiter [flow_control_0 exit execs]")


			/** state (flow_control_0) transition processing **/
			FSM_TRANSIT_FORCE (1, state1_enter_exec, ;, "default", "", "flow_control_0", "idel")
				/*---------------------------------------------------------*/



			}


		FSM_EXIT (0,"tan_noc_worm_node_arbiter")
		}
	}




void
tan_noc_worm_node_arbiter_diag (OP_SIM_CONTEXT_ARG_OPT)
	{
	/* No Diagnostic Block */
	}




void
tan_noc_worm_node_arbiter_terminate (OP_SIM_CONTEXT_ARG_OPT)
	{

#if !defined (VOSD_NO_FIN)
	int _op_block_origin = __LINE__;
#endif

	FIN_MT (tan_noc_worm_node_arbiter_terminate ())


	/* No Termination Block */

	Vos_Poolmem_Dealloc_MT (OP_SIM_CONTEXT_THREAD_INDEX_COMMA pr_state_ptr);

	FOUT
	}


/* Undefine shortcuts to state variables to avoid */
/* syntax error in direct access to fields of */
/* local variable prs_ptr in tan_noc_worm_node_arbiter_svar function. */
#undef next_fifo_full
#undef crossbar_busy
#undef t_flag
#undef req_pk_num
#undef wait
#undef priority
#undef mid_allow
#undef east_allow
#undef south_allow
#undef west_allow
#undef north_allow
#undef flag_mid
#undef flag_east
#undef flag_south
#undef flag_west
#undef flag_north
#undef dest_address_mid
#undef dest_address_east
#undef dest_address_south
#undef dest_address_west
#undef dest_address_north
#undef isoccupy
#undef isoccupy_mid
#undef isoccupy_east
#undef isoccupy_south
#undef isoccupy_west
#undef isoccupy_north
#undef req_east
#undef req_mid
#undef req_south
#undef req_west
#undef req_north

#undef FIN_PREAMBLE_DEC
#undef FIN_PREAMBLE_CODE

#define FIN_PREAMBLE_DEC
#define FIN_PREAMBLE_CODE

VosT_Obtype
tan_noc_worm_node_arbiter_init (int * init_block_ptr)
	{

#if !defined (VOSD_NO_FIN)
	int _op_block_origin = 0;
#endif
	VosT_Obtype obtype = OPC_NIL;
	FIN_MT (tan_noc_worm_node_arbiter_init (init_block_ptr))

	obtype = Vos_Define_Object_Prstate ("proc state vars (tan_noc_worm_node_arbiter)",
		sizeof (tan_noc_worm_node_arbiter_state));
	*init_block_ptr = 0;

	FRET (obtype)
	}

VosT_Address
tan_noc_worm_node_arbiter_alloc (VOS_THREAD_INDEX_ARG_COMMA VosT_Obtype obtype, int init_block)
	{

#if !defined (VOSD_NO_FIN)
	int _op_block_origin = 0;
#endif
	tan_noc_worm_node_arbiter_state * ptr;
	FIN_MT (tan_noc_worm_node_arbiter_alloc (obtype))

	ptr = (tan_noc_worm_node_arbiter_state *)Vos_Alloc_Object_MT (VOS_THREAD_INDEX_COMMA obtype);
	if (ptr != OPC_NIL)
		ptr->_op_current_block = init_block;
	FRET ((VosT_Address)ptr)
	}



void
tan_noc_worm_node_arbiter_svar (void * gen_ptr, const char * var_name, void ** var_p_ptr)
	{
	tan_noc_worm_node_arbiter_state		*prs_ptr;

	FIN_MT (tan_noc_worm_node_arbiter_svar (gen_ptr, var_name, var_p_ptr))

	if (var_name == OPC_NIL)
		{
		*var_p_ptr = (void *)OPC_NIL;
		FOUT
		}
	prs_ptr = (tan_noc_worm_node_arbiter_state *)gen_ptr;

	if (strcmp ("next_fifo_full" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->next_fifo_full);
		FOUT
		}
	if (strcmp ("crossbar_busy" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->crossbar_busy);
		FOUT
		}
	if (strcmp ("t_flag" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->t_flag);
		FOUT
		}
	if (strcmp ("req_pk_num" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->req_pk_num);
		FOUT
		}
	if (strcmp ("wait" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->wait);
		FOUT
		}
	if (strcmp ("priority" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->priority);
		FOUT
		}
	if (strcmp ("mid_allow" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->mid_allow);
		FOUT
		}
	if (strcmp ("east_allow" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->east_allow);
		FOUT
		}
	if (strcmp ("south_allow" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->south_allow);
		FOUT
		}
	if (strcmp ("west_allow" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->west_allow);
		FOUT
		}
	if (strcmp ("north_allow" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->north_allow);
		FOUT
		}
	if (strcmp ("flag_mid" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->flag_mid);
		FOUT
		}
	if (strcmp ("flag_east" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->flag_east);
		FOUT
		}
	if (strcmp ("flag_south" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->flag_south);
		FOUT
		}
	if (strcmp ("flag_west" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->flag_west);
		FOUT
		}
	if (strcmp ("flag_north" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->flag_north);
		FOUT
		}
	if (strcmp ("dest_address_mid" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->dest_address_mid);
		FOUT
		}
	if (strcmp ("dest_address_east" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->dest_address_east);
		FOUT
		}
	if (strcmp ("dest_address_south" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->dest_address_south);
		FOUT
		}
	if (strcmp ("dest_address_west" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->dest_address_west);
		FOUT
		}
	if (strcmp ("dest_address_north" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->dest_address_north);
		FOUT
		}
	if (strcmp ("isoccupy" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->isoccupy);
		FOUT
		}
	if (strcmp ("isoccupy_mid" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->isoccupy_mid);
		FOUT
		}
	if (strcmp ("isoccupy_east" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->isoccupy_east);
		FOUT
		}
	if (strcmp ("isoccupy_south" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->isoccupy_south);
		FOUT
		}
	if (strcmp ("isoccupy_west" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->isoccupy_west);
		FOUT
		}
	if (strcmp ("isoccupy_north" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->isoccupy_north);
		FOUT
		}
	if (strcmp ("req_east" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->req_east);
		FOUT
		}
	if (strcmp ("req_mid" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->req_mid);
		FOUT
		}
	if (strcmp ("req_south" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->req_south);
		FOUT
		}
	if (strcmp ("req_west" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->req_west);
		FOUT
		}
	if (strcmp ("req_north" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->req_north);
		FOUT
		}
	*var_p_ptr = (void *)OPC_NIL;

	FOUT
	}

⌨️ 快捷键说明

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