/* Copyright (c) 1992, 1993 Regents of the University of California All rights reserved. Use and copying of this software and preparation of derivative works based upon this software are permitted. However, any distribution of this software or derivative works must include the above copyright notice. This software is made available AS IS, and neither the Electronics Research Laboratory or the Universify of California make any warranty about the software, its performance or its conformity to any specification. Author: Szu-Tsung Cheng, stcheng@ic.Berkeley.EDU 10/92 10/93 $Header: /projects/development/hsv/CVSRepository/vl2mv/src/parser/vl_write.h,v 1.3 2009/03/09 20:25:58 fabio Exp $ */ #define S_MUX (1) #define B_MUX (1<<1) EXTERN enum st_retval vl_write_desc ARGS((char *, char *, char *)); EXTERN void vl_write_module ARGS((FILE *, vl_module *)); EXTERN void vl_write_primitive ARGS((FILE *, vl_primitive *)); EXTERN void vl_write_function ARGS((FILE *, vl_function *)); EXTERN char *vl_write_prim_table_header ARGS((FILE *, vl_primitive *)); EXTERN void vl_write_mod_item_list ARGS((FILE *, lsList)); EXTERN st_table *vl_write_mod_item ARGS((FILE *, vl_decl *, st_table *)); EXTERN void vl_write_expr ARGS ((FILE *, vl_expr *, st_table *)); EXTERN void vl_write_expr_list ARGS((FILE *, lsList, st_table *)); EXTERN st_table *vl_write_procstmt ARGS((FILE*, vl_procstmt*, st_table*)); EXTERN st_table *vl_write_begin_end_stmt ARGS((FILE*, vl_begin_end_stmt*, int, vl_term*, st_table*)); EXTERN st_table *vl_write_if_else_stmt ARGS((FILE *, vl_if_else_stmt *, st_table *)); EXTERN st_table *vl_write_case_stmt ARGS((FILE *, vl_case_stmt *, st_table *)); EXTERN st_table *vl_write_event_control_stmt ARGS((FILE*, vl_event_control_stmt*, st_table*)); EXTERN void vl_write_cont_assign ARGS((FILE *, vl_cont_assign *, st_table *)); EXTERN void vl_write_wiring_assign ARGS((FILE *, vl_netdecl *, st_table *)); EXTERN vl_term *vl_write_assign ARGS((FILE *, vl_bassign_stmt *, int, vl_term *, st_table *)); EXTERN st_table *vl_write_stmt ARGS((FILE *, void *, int, vl_term *, st_table *)); EXTERN st_table *vl_write_decl_list ARGS((FILE*, void*, int, vl_term*, st_table*)); EXTERN st_table *vl_write_stmt_list ARGS((FILE*, lsList, int, vl_term*, st_table*)); EXTERN set_t *vl_write_event_expr ARGS((FILE*, vl_event_expr*)); EXTERN char *vl_write_vector_bop ARGS((FILE *, short, vl_term *, vl_term *, vl_term *)); EXTERN char *vl_write_bop ARGS((FILE *, short, char *, char *, char *, char *, int)); EXTERN void vl_write_bit_connect ARGS((FILE *, char *, char *, int)); EXTERN vl_term *write_case_comparator ARGS((FILE*, vl_term*, lsList, st_table*)); EXTERN void write_comparator ARGS((FILE*, vl_term*, vl_term*, vl_term*)); EXTERN int vl_eval_expr ARGS((vl_expr *)); EXTERN vl_term *instantiate_function ARGS((FILE*, vl_function*, lsList, st_table*)); EXTERN void vl_put_lib ARGS((FILE*, ...)); EXTERN st_table *create_var_muxes ARGS((FILE*, vl_term*, st_table*, st_table*, st_table*)); EXTERN void instantiate_latch ARGS((FILE*, st_table*)); EXTERN void vl_write_mv_lib ARGS((FILE*, short, vl_term*, vl_term*, vl_term*)); EXTERN st_table *conflict_arbitrator ARGS((FILE*, array_t*)); EXTERN st_table *func_conflict_arbitrator ARGS((FILE*, vl_id_range*, array_t*)); EXTERN void vl_write_reset ARGS((FILE *, vl_procstmt *)); EXTERN void vl_write_reset_stmt ARGS((FILE *, void *, st_table *)); EXTERN void vl_write_io_list ARGS((FILE *)); EXTERN void vl_write_mod_inst_list ARGS((FILE *, vl_mod_prim_inst_list *)); EXTERN void vl_write_mod_inst ARGS((FILE *, vl_module *, vl_mod_prim_inst *)); EXTERN void vl_write_svar ARGS((FILE *)); EXTERN vl_term *sensitive_control ARGS((FILE *, st_table *)); EXTERN vl_term *test_against_lc_init ARGS((FILE*)); EXTERN FILE *openStream ARGS(()); EXTERN void closeStream ARGS(()); EXTERN void dumpStream ARGS((FILE *to, FILE *from)); EXTERN char *cfsm_inputs ARGS((char *inputs)); EXTERN char *cfsm_ports ARGS((char *inputs)); EXTERN FILE *vl_begin_buffer ARGS(()); EXTERN void vl_close_buffer ARGS((FILE *buffer)); EXTERN void vl_append_buffer ARGS((FILE *main_stream, FILE *buffer));