vsignal.h
Go to the documentation of this file.00001 #ifndef __VSIGNAL_H__
00002 #define __VSIGNAL_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00026 #include <stdio.h>
00027
00028 #include "defines.h"
00029
00030
00032 vsignal* vsignal_create(
00033 const char* name,
00034 unsigned int type,
00035 unsigned int width,
00036 unsigned int line,
00037 unsigned int col
00038 );
00039
00041 void vsignal_create_vec(
00042 vsignal* sig
00043 );
00044
00046 vsignal* vsignal_duplicate(
00047 vsignal* sig
00048 );
00049
00051 void vsignal_db_write(
00052 vsignal* sig,
00053 FILE* file
00054 );
00055
00057 void vsignal_db_read(
00058 char** line,
00059 func_unit* curr_funit
00060 );
00061
00063 void vsignal_db_merge(
00064 vsignal* base,
00065 char** line,
00066 bool same
00067 );
00068
00070 void vsignal_merge(
00071 vsignal* base,
00072 vsignal* other
00073 );
00074
00076 void vsignal_propagate(
00077 vsignal* sig,
00078 const sim_time* time
00079 );
00080
00082 void vsignal_vcd_assign(
00083 vsignal* sig,
00084 const char* value,
00085 unsigned int msb,
00086 unsigned int lsb,
00087 const sim_time* time
00088 );
00089
00091 void vsignal_add_expression(
00092 vsignal* sig,
00093 expression* expr
00094 );
00095
00097 void vsignal_display(
00098 vsignal* sig
00099 );
00100
00102 vsignal* vsignal_from_string(
00103 char** str
00104 );
00105
00107 int vsignal_calc_width_for_expr(
00108 expression* expr,
00109 vsignal* sig
00110 );
00111
00113 int vsignal_calc_lsb_for_expr(
00114 expression* expr,
00115 vsignal* sig,
00116 int lsb_val
00117 );
00118
00120 void vsignal_dealloc(
00121 vsignal* sig
00122 );
00123
00124 #endif
00125