Module: HDLRuby::Low

Defined in:
lib/HDLRuby/hruby_db.rb,
lib/HDLRuby/hruby_low.rb,
lib/HDLRuby/hruby_error.rb,
lib/HDLRuby/hruby_low2c.rb,
lib/HDLRuby/hruby_low2hdr.rb,
lib/HDLRuby/hruby_low2seq.rb,
lib/HDLRuby/hruby_low2sym.rb,
lib/HDLRuby/hruby_low2vhd.rb,
lib/HDLRuby/hruby_verilog.rb,
lib/HDLRuby/hruby_low2high.rb,
lib/HDLRuby/hruby_low_cleanup.rb,
lib/HDLRuby/hruby_low_mutable.rb,
lib/HDLRuby/hruby_low_resolve.rb,
lib/HDLRuby/hruby_low_skeleton.rb,
lib/HDLRuby/hruby_low_with_var.rb,
lib/HDLRuby/hruby_low_fix_types.rb,
lib/HDLRuby/hruby_low_with_bool.rb,
lib/HDLRuby/hruby_low_with_port.rb,
lib/HDLRuby/hruby_low_bool2select.rb,
lib/HDLRuby/backend/hruby_allocator.rb,
lib/HDLRuby/hruby_low_without_concat.rb,
lib/HDLRuby/hruby_low_without_select.rb,
lib/HDLRuby/backend/hruby_c_allocator.rb,
lib/HDLRuby/hruby_low_without_outread.rb,
lib/HDLRuby/hruby_low_without_parinseq.rb,
lib/HDLRuby/hruby_low_without_namespace.rb,
lib/HDLRuby/hruby_low_without_bit2vector.rb,
lib/HDLRuby/hruby_low_without_connection.rb,
lib/HDLRuby/hruby_low_casts_without_expression.rb

Overview

Ensures that there is no conversion of bit types to vector types.

NOTE: Used for instance for converting to old versions of VHDL where bit types cannot be casted to vector types.

Defined Under Namespace

Modules: ForceName, Hparent, LLeaf, Low2C, Low2HDR, Low2Symbol, Low2VHDL, LowWithoutSelect, Ltype, MutableConcat, OneChildMutable Classes: Allocator, AnyError, Behavior, Binary, Block, Case, Cast, Chunk, Code, Concat, Configure, Connection, Delay, Event, Expression, Fm, HashName, If, Operation, Print, Ref, RefConcat, RefIndex, RefName, RefRange, RefThis, Scope, Select, SignalC, SignalI, Statement, StringE, SystemI, SystemT, TimeBehavior, TimeBlock, TimeRepeat, TimeTerminate, TimeWait, Transmit, Truncers, Type, TypeDef, TypeFloat, TypeSigned, TypeStruct, TypeTuple, TypeUnsigned, TypeVector, Unary, Value, When

Constant Summary collapse

Base =
HDLRuby::Base
Integer =

Standard vector types.

TypeSigned.new(:integer)
Natural =
TypeUnsigned.new(:natural)
Bignum =
TypeSigned.new(:bignum,HDLRuby::Infinity..0)
Real =
TypeFloat.new(:float)
VERILOG_BASE_TYPES =

The list of base types used both in verilog and HDLRuby

["signed"]
VERILOG_REGS =

The list of signals that are actually verilog regs.

[]
FmI =

Declaration of fm to manage each hash. $fm = Fm.new

Fm.new
TruncersI =

Declaration of the truncating function generator.

Truncers.new

Class Method Summary collapse

Class Method Details

.v_string(str) ⇒ Object

Converts string +str+ to a Verilog-compatible string.



21
22
23
24
25
# File 'lib/HDLRuby/hruby_verilog.rb', line 21

def self.v_string(str)
    str = str.gsub(/\n/,"\\n")
    str.gsub!(/\t/,"\\t")
    return str
end