2010-10-05 21:02:04 +02:00
|
|
|
// -*- mode: c++ -*-
|
2008-05-28 18:17:39 +02:00
|
|
|
#ifndef INC_VHDL_TARGET_H
|
|
|
|
|
#define INC_VHDL_TARGET_H
|
|
|
|
|
|
|
|
|
|
#include "vhdl_config.h"
|
|
|
|
|
#include "ivl_target.h"
|
|
|
|
|
|
2008-07-19 21:49:55 +02:00
|
|
|
#include "support.hh"
|
2009-01-31 22:00:39 +01:00
|
|
|
#include "vhdl_syntax.hh"
|
2008-07-19 21:49:55 +02:00
|
|
|
|
2008-06-02 17:17:01 +02:00
|
|
|
#include <string>
|
|
|
|
|
|
2008-05-29 17:24:16 +02:00
|
|
|
void error(const char *fmt, ...);
|
2008-11-29 23:16:46 +01:00
|
|
|
void debug_msg(const char *fmt, ...);
|
2008-05-29 17:24:16 +02:00
|
|
|
|
2008-05-31 16:28:25 +02:00
|
|
|
int draw_scope(ivl_scope_t scope, void *_parent);
|
2010-05-13 02:06:46 +02:00
|
|
|
extern "C" int draw_process(ivl_process_t net, void *cd);
|
2008-06-24 21:01:06 +02:00
|
|
|
int draw_stmt(vhdl_procedural *proc, stmt_container *container,
|
2008-08-05 12:02:36 +02:00
|
|
|
ivl_statement_t stmt, bool is_last = false);
|
2008-06-16 20:41:01 +02:00
|
|
|
int draw_lpm(vhdl_arch *arch, ivl_lpm_t lpm);
|
2008-07-30 11:13:08 +02:00
|
|
|
void draw_logic(vhdl_arch *arch, ivl_net_logic_t log);
|
2008-05-31 16:28:25 +02:00
|
|
|
|
2008-06-04 15:59:04 +02:00
|
|
|
vhdl_expr *translate_expr(ivl_expr_t e);
|
2008-07-23 17:18:49 +02:00
|
|
|
vhdl_expr *translate_time_expr(ivl_expr_t e);
|
2008-06-04 15:59:04 +02:00
|
|
|
|
2008-06-17 21:16:16 +02:00
|
|
|
ivl_design_t get_vhdl_design();
|
2008-06-24 19:52:25 +02:00
|
|
|
vhdl_var_ref *nexus_to_var_ref(vhdl_scope *arch_scope, ivl_nexus_t nexus);
|
2009-01-25 10:30:21 +01:00
|
|
|
vhdl_var_ref* readable_ref(vhdl_scope* scope, ivl_nexus_t nex);
|
2021-11-04 18:01:16 +01:00
|
|
|
std::string make_safe_name(ivl_signal_t sig);
|
2008-07-19 21:49:55 +02:00
|
|
|
void require_support_function(support_function_t f);
|
2008-07-19 16:15:16 +02:00
|
|
|
|
2008-05-28 18:17:39 +02:00
|
|
|
#endif /* #ifndef INC_VHDL_TARGET_H */
|