vsignal.h

Go to the documentation of this file.
00001 #ifndef __VSIGNAL_H__
00002 #define __VSIGNAL_H__
00003 
00004 /*
00005  Copyright (c) 2006-2010 Trevor Williams
00006 
00007  This program is free software; you can redistribute it and/or modify
00008  it under the terms of the GNU General Public License as published by the Free Software
00009  Foundation; either version 2 of the License, or (at your option) any later version.
00010 
00011  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
00012  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00013  See the GNU General Public License for more details.
00014 
00015  You should have received a copy of the GNU General Public License along with this program;
00016  if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
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   /*@null@*/ 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 
Generated on Sun Nov 21 00:55:36 2010 for Covered by  doxygen 1.6.3