Class: SystemRDL::Evaluator::RegDefinition

Inherits:
ComponentDefinition show all
Includes:
AddressOperation, ArrayComponent, ContainerComponent
Defined in:
lib/systemrdl/evaluator/reg.rb

Instance Attribute Summary

Attributes inherited from ComponentDefinition

#definitions, #id

Attributes included from Common

#component, #parent, #token_range

Instance Method Summary collapse

Methods inherited from ComponentDefinition

#assign_default_property, #connect, #create_instances, #evaluate, #finalize, #find_default_property, #initialize, #upper_layers

Methods included from Common

#connect, #initialize

Constructor Details

This class inherits a constructor from SystemRDL::Evaluator::ComponentDefinition

Instance Method Details

#layerObject



26
27
28
# File 'lib/systemrdl/evaluator/reg.rb', line 26

def layer
  :reg
end

#revalidate(instance) ⇒ Object



20
21
22
23
24
# File 'lib/systemrdl/evaluator/reg.rb', line 20

def revalidate(instance)
  check_accesswidth(instance)
  check_fields_spanning_sub_word_boundary(instance)
  check_address_operations(instance)
end

#validate(instance) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/systemrdl/evaluator/reg.rb', line 10

def validate(instance)
  check_structural_component_instances(instance)
  check_regwidth(instance)
  check_accesswidth(instance)
  check_overlapping_fields(instance)
  check_fields_out_of_register(instance)
  check_fields_spanning_sub_word_boundary(instance)
  check_address_operations(instance)
end