sim.h

Go to the documentation of this file.
00001 #ifndef __SIM_H__
00002 #define __SIM_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 
00027 #include "defines.h"
00028 
00029 
00031 void sim_display_thread(
00032   const thread* thr,
00033   bool          show_queue,
00034   bool          endl
00035 );
00036 
00038 void sim_display_active_queue();
00039 
00041 void sim_display_delay_queue();
00042 
00044 void sim_display_all_list();
00045 
00047 thread* sim_current_thread();
00048 
00050 void sim_thread_insert_into_delay_queue(
00051   thread*         thr,
00052   const sim_time* time
00053 );
00054 
00056 void sim_expr_changed(
00057   expression*     expr,
00058   const sim_time* time
00059 );
00060 
00062 thread* sim_add_thread(
00063   thread*         parent,
00064   statement*      stmt,
00065   func_unit*      funit,
00066   const sim_time* time
00067 );
00068 
00070 void sim_kill_thread_with_funit(
00071   func_unit* funit
00072 );
00073 
00075 void sim_thread_push(
00076   thread*         thr,
00077   const sim_time* time
00078 );
00079 
00081 bool sim_expression(
00082   expression*     expr,
00083   thread*         thr,
00084   const sim_time* time,
00085   bool            lhs
00086 );
00087 
00089 void sim_thread(
00090   thread*         thr,
00091   const sim_time* time
00092 );
00093 
00095 bool sim_simulate(
00096   const sim_time* time
00097 );
00098 
00100 void sim_initialize();
00101 
00103 void sim_stop();
00104 
00106 void sim_finish();
00107 
00109 void sim_add_nonblock_assign(
00110   nonblock_assign* nba,
00111   int              lhs_lsb,
00112   int              lhs_msb,
00113   int              rhs_lsb,
00114   int              rhs_msb
00115 );
00116 
00118 void sim_perform_nba(
00119   const sim_time* time
00120 );
00121 
00123 void sim_dealloc();
00124 
00125 #endif
00126 
Generated on Sun Nov 21 00:55:36 2010 for Covered by  doxygen 1.6.3