Class: HDLRuby::Low::TypeSigned

Inherits:
TypeVector show all
Includes:
Ltype
Defined in:
lib/HDLRuby/hruby_db.rb,
lib/HDLRuby/hruby_low.rb,
lib/HDLRuby/hruby_low2high.rb

Overview

Add the conversion to high.

Constant Summary

Constants included from Low2Symbol

Low2Symbol::Low2SymbolPrefix, Low2Symbol::Low2SymbolTable, Low2Symbol::Symbol2LowTable

Instance Attribute Summary

Attributes inherited from TypeVector

#base, #range

Attributes inherited from Type

#name

Attributes included from Hparent

#parent

Instance Method Summary collapse

Methods included from Ltype

included, #ltype?

Methods inherited from TypeVector

#base?, #break_types!, #dir, #direction, #each_type_deep, #eql?, #equivalent?, #fixed?, #float?, #hash, #max, #min, #set_base!, #set_range!, #signed?, #size, #to_c, #to_hdr, #to_verilog, #to_vhdl, #unsigned?, #vector?, #width

Methods inherited from Type

#base, #base?, #boolean?, #break_types!, #direction, #each_type_deep, #eql?, #equivalent?, #fixed?, #float?, #hash, #hierarchical?, #leaf?, #max, #min, #range, #range?, #regular?, #set_name!, #signed?, #struct?, #to_c, #to_hdr, #to_vector, #to_verilog, #to_vhdl, #types?, #unsigned?, #vector?, #width

Methods included from Low2Symbol

#to_sym

Methods included from Hparent

#hierarchy, #no_parent!, #scope

Constructor Details

#initialize(name, range = 31..0) ⇒ TypeSigned

Creates a new vector type named +name+ from +base+ type and with +range+.

NOTE:

  • The default range is 32-bit.


1808
1809
1810
1811
# File 'lib/HDLRuby/hruby_low.rb', line 1808

def initialize(name,range = 31..0)
    # Initialize the type.
    super(name,Signed,range)
end

Instance Method Details

#to_highObject

Creates a new high type signed.



90
91
92
# File 'lib/HDLRuby/hruby_low2high.rb', line 90

def to_high
    return HDLRuby::High::TypeSigned.new(self.name,self.range)
end