1 // -*- mode: c++ -*- 2 #ifndef INC_VHDL_TARGET_H 3 #define INC_VHDL_TARGET_H 4 5 #include "vhdl_config.h" 6 #include "ivl_target.h" 7 8 #include "support.hh" 9 #include "vhdl_syntax.hh" 10 11 #include <string> 12 13 using namespace std; 14 15 void error(const char *fmt, ...); 16 void debug_msg(const char *fmt, ...); 17 18 int draw_scope(ivl_scope_t scope, void *_parent); 19 extern "C" int draw_process(ivl_process_t net, void *cd); 20 int draw_stmt(vhdl_procedural *proc, stmt_container *container, 21 ivl_statement_t stmt, bool is_last = false); 22 int draw_lpm(vhdl_arch *arch, ivl_lpm_t lpm); 23 void draw_logic(vhdl_arch *arch, ivl_net_logic_t log); 24 25 vhdl_expr *translate_expr(ivl_expr_t e); 26 vhdl_expr *translate_time_expr(ivl_expr_t e); 27 28 ivl_design_t get_vhdl_design(); 29 vhdl_var_ref *nexus_to_var_ref(vhdl_scope *arch_scope, ivl_nexus_t nexus); 30 vhdl_var_ref* readable_ref(vhdl_scope* scope, ivl_nexus_t nex); 31 string make_safe_name(ivl_signal_t sig); 32 void require_support_function(support_function_t f); 33 34 #endif /* #ifndef INC_VHDL_TARGET_H */ 35