Class: SystemRDL::Evaluator::RegDefinition
Instance Attribute Summary
#definitions, #id
Attributes included from Common
#component, #parent, #token_range
Instance Method Summary
collapse
#assign_default_property, #connect, #create_instances, #evaluate, #find_default_property, #initialize, #upper_layers
Methods included from Common
#connect, #initialize
Instance Method Details
#finalize(instance) ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/systemrdl/evaluator/reg.rb', line 26
def finalize(instance)
check_field_ordering(instance)
allocate_bits(instance)
check_overlapping_fields(instance)
check_fields_out_of_register(instance)
check_fields_spanning_sub_word_boundary(instance)
end
|
#layer ⇒ Object
34
35
36
|
# File 'lib/systemrdl/evaluator/reg.rb', line 34
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
|
#support_inst_type?(_inst_type) ⇒ Boolean
38
39
40
|
# File 'lib/systemrdl/evaluator/reg.rb', line 38
def support_inst_type?(_inst_type)
true
end
|
#validate(instance) ⇒ Object
11
12
13
14
15
16
17
18
|
# File 'lib/systemrdl/evaluator/reg.rb', line 11
def validate(instance)
check_structural_component_instances(instance)
check_regwidth(instance)
check_accesswidth(instance)
check_fields_out_of_register(instance)
check_fields_spanning_sub_word_boundary(instance)
check_address_operations(instance)
end
|