$display now (mostly) working

This commit is contained in:
Nick Gasson 2008-06-04 20:42:44 +01:00
parent 6e448da90d
commit 7bd1565cfb
3 changed files with 7 additions and 6 deletions

View File

@ -79,7 +79,6 @@ static int draw_module(ivl_scope_t scope, ivl_scope_t parent)
vhdl_entity *parent_ent = find_entity(ivl_scope_tname(parent)); vhdl_entity *parent_ent = find_entity(ivl_scope_tname(parent));
assert(parent_ent != NULL); assert(parent_ent != NULL);
// Make sure we only collect instantiations from *one* // Make sure we only collect instantiations from *one*
// example of this module in the hieararchy // example of this module in the hieararchy
if (parent_ent->get_derived_from() == ivl_scope_name(parent)) { if (parent_ent->get_derived_from() == ivl_scope_name(parent)) {

View File

@ -57,10 +57,8 @@ static int draw_stask_display(vhdl_process *proc, ivl_statement_t stmt)
// Write the data into the line // Write the data into the line
int count = ivl_stmt_parm_count(stmt); int count = ivl_stmt_parm_count(stmt);
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
// TODO: This is a bit simplistic since it will only // TODO: Need to add a call to Type'Image for types not
// work with strings // supported by std.textio
// --> Need to add a call to Type'Image for non-string
// expressions
vhdl_expr *e = translate_expr(ivl_stmt_parm(stmt, i)); vhdl_expr *e = translate_expr(ivl_stmt_parm(stmt, i));
if (NULL == e) if (NULL == e)
return 1; return 1;

View File

@ -357,5 +357,9 @@ void vhdl_var_ref::emit(std::ofstream &of, int level) const
void vhdl_const_string::emit(std::ofstream &of, int level) const void vhdl_const_string::emit(std::ofstream &of, int level) const
{ {
of << "\"" << value_ << "\""; // In some instances a string literal can be ambiguous between
// a String type and some other types (e.g. std_logic_vector)
// The explicit cast to String removes this ambiguity (although
// isn't always strictly necessary)
of << "String'(\"" << value_ << "\")";
} }