00001 #ifndef __GEN_ITEM_H__
00002 #define __GEN_ITEM_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00027 #include <stdio.h>
00028
00029 #include "defines.h"
00030
00031
00032
00034 void gen_item_display( gen_item* gi );
00035
00036
00038 void gen_item_display_block( gen_item* root );
00039
00041 gen_item* gen_item_find( gen_item* root, gen_item* gi );
00042
00044 void gen_item_remove_if_contains_expr_calling_stmt( gen_item* gi, statement* stmt );
00045
00047 bool gen_item_varname_contains_genvar( char* name );
00048
00051 char* gen_item_calc_signal_name( const char* name, func_unit* funit, int line, bool no_genvars );
00052
00054 gen_item* gen_item_create_expr( expression* expr );
00055
00057 gen_item* gen_item_create_sig( vsignal* sig );
00058
00060 gen_item* gen_item_create_stmt( statement* stmt );
00061
00063 gen_item* gen_item_create_inst( funit_inst* inst );
00064
00066 gen_item* gen_item_create_tfn( funit_inst* inst );
00067
00069 gen_item* gen_item_create_bind( const char* name, expression* expr );
00070
00072 void gen_item_resize_stmts_and_sigs( gen_item* gi, func_unit* funit );
00073
00075 void gen_item_assign_ids( gen_item* gi, func_unit* funit );
00076
00078 void gen_item_db_write( gen_item* gi, uint32 type, FILE* file );
00079
00081 void gen_item_db_write_expr_tree( gen_item* gi, FILE* file );
00082
00084 bool gen_item_connect( gen_item* gi1, gen_item* gi2, int conn_id, bool stop_on_null );
00085
00087 void gen_item_bind( gen_item* gi );
00088
00090 void generate_resolve( funit_inst* inst );
00091
00093 bool generate_remove_stmt( statement* stmt );
00094
00096 void gen_item_dealloc( gen_item* gi, bool rm_elem );
00097
00098 #endif
00099