rggen-systemverilog 0.27.1 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b163ec13c4940ca6d489739aaae909dd3d189627eff20383cef519537bade127
4
- data.tar.gz: 6bdfd55721b6e7c1a7250eed73cb5ca6ce1a2dba28d57e134b06b601397afabe
3
+ metadata.gz: 7e5fc548cd3c93e80580efc9d2027ce309b9a6e8900078f3f5bf8bb157357e53
4
+ data.tar.gz: 4fb5af7f5ad76f4938406a553fe425767e2fc363ce79b79b07213fd292535efb
5
5
  SHA512:
6
- metadata.gz: f8327405b12e0d43ab8801772b85efd57f0a71f856f0f07efec961d97c7b70c4bacee05968303a41178201e9b90a16b289af24b23a71cb403ed5949fbeba0251
7
- data.tar.gz: be673375b40e9d4c8241be45a4feb8ee4a09d815bc4ecd0926759f058dea021e8588b270de22408f8a34fa8cb5f50772f51addc47b3cfa60dba0c858064bccbd
6
+ metadata.gz: 34cc65c49e1510303e8ca8ed7d16b941bfd331d66188602ecdf41a61cc9b1b0a627f56d33c3ba6b44b0c2e56ca1c44a896893ad3d82070a72b5cfb913e5a28b5
7
+ data.tar.gz: 55600c8bf365ffbbc2d8cc6b020e6cb13c33ebb91f49253d53cef0c5a7a5df86d639a61cc0a1eb2aa5d2a36d86530236e837735721da55def694c2a1c19c9d74
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2019-2022 Taichi Ishitani
3
+ Copyright (c) 2019-2023 Taichi Ishitani
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -35,7 +35,7 @@ Feedbacks, bug reports, questions and etc. are wellcome! You can post them by us
35
35
 
36
36
  ## Copyright & License
37
37
 
38
- Copyright © 2019-2022 Taichi Ishitani. RgGen::SystemVerilog is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
38
+ Copyright © 2019-2023 Taichi Ishitani. RgGen::SystemVerilog is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
39
39
 
40
40
  ## Code of Conduct
41
41
 
@@ -76,8 +76,8 @@ module RgGen
76
76
  def __serialized_lsb__(array_index, lsb)
77
77
  index =
78
78
  array_index
79
- .yield_self(&method(:__serialized_index__))
80
- .yield_self(&method(:__enclose_index_in_parenthesis))
79
+ .then(&method(:__serialized_index__))
80
+ .then(&method(:__enclose_index_in_parenthesis))
81
81
  array_lsb = __reduce_array__([@width, index], :*, 1)
82
82
  __reduce_array__([array_lsb, lsb], :+, 0)
83
83
  end
@@ -87,7 +87,7 @@ module RgGen
87
87
  .reverse
88
88
  .zip(__index_factors__)
89
89
  .map { |i, f| __calc_index_value__(i, f) }
90
- .yield_self { |values| __reduce_array__(values.reverse, :+, 0) }
90
+ .then { |values| __reduce_array__(values.reverse, :+, 0) }
91
91
  end
92
92
 
93
93
  def __enclose_index_in_parenthesis(index)
@@ -8,6 +8,7 @@ module RgGen
8
8
  define_attribute :name
9
9
  define_attribute :package_imports
10
10
  define_attribute :include_files
11
+ define_attribute :parameters
11
12
 
12
13
  def package_imports(packages)
13
14
  @package_imports ||= []
@@ -36,21 +37,28 @@ module RgGen
36
37
  def pre_body_code(code)
37
38
  package_import_declaration(code)
38
39
  file_include_directives(code)
40
+ parameter_declarations(code)
39
41
  end
40
42
 
41
43
  def package_import_declaration(code)
42
44
  declarations =
43
- Array(@package_imports)
44
- .map { |package| ['import', space, package, '::*'] }
45
- add_declarations_to_body(code, declarations)
45
+ @package_imports
46
+ &.map { |package| ['import', space, package, '::*'] }
47
+ declarations &&
48
+ add_declarations_to_body(code, declarations)
46
49
  end
47
50
 
48
51
  def file_include_directives(code)
49
- Array(@include_files).each do |file|
52
+ @include_files&.each do |file|
50
53
  code << ['`include', space, string(file), nl]
51
54
  end
52
55
  end
53
56
 
57
+ def parameter_declarations(code)
58
+ parameters &&
59
+ add_declarations_to_body(code, parameters)
60
+ end
61
+
54
62
  def footer_code
55
63
  'endpackage'
56
64
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:bit_field, :type, :custom) do
4
+ sv_ral do
5
+ model_name do
6
+ 'rggen_ral_custom_field ' \
7
+ "#(#{sw_read}, #{sw_write}, #{write_once}, #{hw_update})"
8
+ end
9
+
10
+ private
11
+
12
+ def sw_read
13
+ string(bit_field.sw_read.upcase)
14
+ end
15
+
16
+ def sw_write
17
+ string(bit_field.sw_write.upcase)
18
+ end
19
+
20
+ def write_once
21
+ bit_field.sw_write_once? && 1 || 0
22
+ end
23
+
24
+ def hw_update
25
+ bit_field.hw_update? && 1 || 0
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:bit_field, :type, [:rof, :rol]) do
4
+ sv_ral { access 'RO' }
5
+ end
@@ -22,7 +22,8 @@ RgGen.setup_plugin :'rggen-sv-ral' do |plugin|
22
22
  'ral/register/type/external',
23
23
  'ral/register/type/indirect',
24
24
  'ral/bit_field/type',
25
- 'ral/bit_field/type/rof',
25
+ 'ral/bit_field/type/custom',
26
+ 'ral/bit_field/type/rof_rol',
26
27
  'ral/bit_field/type/rotrg_rwtrg_wotrg',
27
28
  'ral/bit_field/type/row0trg_row1trg_w0trg_w1trg',
28
29
  'ral/bit_field/type/rowo_rowotrg',
@@ -0,0 +1,25 @@
1
+ rggen_bit_field #(
2
+ .WIDTH (<%= width %>),
3
+ .INITIAL_VALUE (<%= initial_value %>),
4
+ .SW_READ_ACTION (<%= sw_read_action %>),
5
+ .SW_WRITE_ACTION (<%= sw_write_action %>),
6
+ .SW_WRITE_ONCE (<%= write_once %>),
7
+ .STORAGE (<%= storage %>),
8
+ .EXTERNAL_READ_DATA (<%= external_read_data %>),
9
+ .TRIGGER (<%= trigger %>)
10
+ ) u_bit_field (
11
+ .i_clk (i_clk),
12
+ .i_rst_n (i_rst_n),
13
+ .bit_field_if (bit_field_sub_if),
14
+ .o_write_trigger (<%= output_port(:write_trigger) %>),
15
+ .o_read_trigger (<%= output_port(:read_trigger) %>),
16
+ .i_sw_write_enable ('1),
17
+ .i_hw_write_enable (<%= input_port(:hw_write_enable) %>),
18
+ .i_hw_write_data (<%= input_port(:hw_write_data) %>),
19
+ .i_hw_set (<%= input_port(:hw_set) %>),
20
+ .i_hw_clear (<%= input_port(:hw_clear) %>),
21
+ .i_value (<%= input_port(:value_in) %>),
22
+ .i_mask ('1),
23
+ .o_value (<%= output_port(:value_out) %>),
24
+ .o_value_unmasked ()
25
+ );
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:bit_field, :type, :custom) do
4
+ sv_rtl do
5
+ build do
6
+ if external_read_data?
7
+ input :value_in, {
8
+ name: "i_#{full_name}", width: width,
9
+ array_size: array_size, array_format: array_port_format
10
+ }
11
+ else
12
+ output :value_out, {
13
+ name: "o_#{full_name}", width: width,
14
+ array_size: array_size, array_format: array_port_format
15
+ }
16
+ end
17
+ if bit_field.hw_write?
18
+ input :hw_write_enable, {
19
+ name: "i_#{full_name}_hw_write_enable", width: 1,
20
+ array_size: array_size, array_format: array_port_format
21
+ }
22
+ input :hw_write_data, {
23
+ name: "i_#{full_name}_hw_write_data", width: width,
24
+ array_size: array_size, array_format: array_port_format
25
+ }
26
+ end
27
+ if bit_field.hw_set?
28
+ input :hw_set, {
29
+ name: "i_#{full_name}_hw_set", width: width,
30
+ array_size: array_size, array_format: array_port_format
31
+ }
32
+ end
33
+ if bit_field.hw_clear?
34
+ input :hw_clear, {
35
+ name: "i_#{full_name}_hw_clear", width: width,
36
+ array_size: array_size, array_format: array_port_format
37
+ }
38
+ end
39
+ if bit_field.write_trigger?
40
+ output :write_trigger, {
41
+ name: "o_#{full_name}_write_trigger", width: 1,
42
+ array_size: array_size, array_format: array_port_format
43
+ }
44
+ end
45
+ if bit_field.read_trigger?
46
+ output :read_trigger, {
47
+ name: "o_#{full_name}_read_trigger", width: 1,
48
+ array_size: array_size, array_format: array_port_format
49
+ }
50
+ end
51
+ end
52
+
53
+ main_code :bit_field, from_template: true
54
+
55
+ private
56
+
57
+ def external_read_data?
58
+ !bit_field.sw_update? && !bit_field.hw_update?
59
+ end
60
+
61
+ def initial_value
62
+ external_read_data? && all_bits_0 || super
63
+ end
64
+
65
+ def sw_read_action
66
+ {
67
+ none: 'RGGEN_READ_NONE',
68
+ default: 'RGGEN_READ_DEFAULT',
69
+ set: 'RGGEN_READ_SET',
70
+ clear: 'RGGEN_READ_CLEAR'
71
+ }[bit_field.sw_read]
72
+ end
73
+
74
+ def sw_write_action
75
+ {
76
+ none: 'RGGEN_WRITE_NONE',
77
+ default: 'RGGEN_WRITE_DEFAULT',
78
+ clear_0: 'RGGEN_WRITE_0_CLEAR',
79
+ clear_1: 'RGGEN_WRITE_1_CLEAR',
80
+ clear: 'RGGEN_WRITE_CLEAR',
81
+ set_0: 'RGGEN_WRITE_0_SET',
82
+ set_1: 'RGGEN_WRITE_1_SET',
83
+ set: 'RGGEN_WRITE_SET',
84
+ toggle_0: 'RGGEN_WRITE_0_TOGGLE',
85
+ toggle_1: 'RGGEN_WRITE_1_TOGGLE'
86
+ }[bit_field.sw_write]
87
+ end
88
+
89
+ def write_once
90
+ bit_field.sw_write_once? && 1 || 0
91
+ end
92
+
93
+ def storage
94
+ external_read_data? && 0 || 1
95
+ end
96
+
97
+ def external_read_data
98
+ external_read_data? && 1 || 0
99
+ end
100
+
101
+ def trigger?
102
+ bit_field.write_trigger? || bit_field.read_trigger?
103
+ end
104
+
105
+ def trigger
106
+ trigger? && 1 || 0
107
+ end
108
+
109
+ def input_port(name)
110
+ find_port(name, all_bits_0)
111
+ end
112
+
113
+ def output_port(name)
114
+ find_port(name, '')
115
+ end
116
+
117
+ def find_port(name, default_value)
118
+ respond_to?(name) && __send__(name)[loop_variables] || default_value
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,20 @@
1
+ rggen_bit_field #(
2
+ .WIDTH (<%= width %>),
3
+ .INITIAL_VALUE (<%= initial_value %>),
4
+ .SW_WRITE_ACTION (RGGEN_WRITE_NONE)
5
+ ) u_bit_field (
6
+ .i_clk (<%= clock %>),
7
+ .i_rst_n (<%= reset %>),
8
+ .bit_field_if (<%= bit_field_if %>),
9
+ .o_write_trigger (),
10
+ .o_read_trigger (),
11
+ .i_sw_write_enable ('1),
12
+ .i_hw_write_enable (<%= latch_signal %>),
13
+ .i_hw_write_data (<%= value_in[loop_variables] %>),
14
+ .i_hw_set ('0),
15
+ .i_hw_clear ('0),
16
+ .i_value ('0),
17
+ .i_mask ('1),
18
+ .o_value (<%= value_out[loop_variables] %>),
19
+ .o_value_unmasked ()
20
+ );
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:bit_field, :type, :rol) do
4
+ sv_rtl do
5
+ build do
6
+ unless bit_field.reference?
7
+ input :latch, {
8
+ name: "i_#{full_name}_latch", width: 1,
9
+ array_size: array_size, array_format: array_port_format
10
+ }
11
+ end
12
+ input :value_in, {
13
+ name: "i_#{full_name}", width: width,
14
+ array_size: array_size, array_format: array_port_format
15
+ }
16
+ output :value_out, {
17
+ name: "o_#{full_name}", width: width,
18
+ array_size: array_size, array_format: array_port_format
19
+ }
20
+ end
21
+
22
+ main_code :bit_field, from_template: true
23
+
24
+ private
25
+
26
+ def latch_signal
27
+ reference_bit_field || latch[loop_variables]
28
+ end
29
+ end
30
+ end
@@ -20,7 +20,7 @@ RgGen.define_list_item_feature(
20
20
  end
21
21
 
22
22
  def read_set?
23
- [:w0crs, :w1crs, :wcrs].include?(bit_field.type)
23
+ [:w0crs, :w1crs, :wcrs].any? { |type| bit_field.type == type }
24
24
  end
25
25
 
26
26
  def write_action
@@ -51,9 +51,9 @@ module RgGen
51
51
 
52
52
  def index(offset_or_offsets = nil)
53
53
  offset_or_offsets
54
- .yield_self(&method(:index_operands))
55
- .yield_self(&method(:partial_sums))
56
- .yield_self(&method(:reduce_indices))
54
+ .then(&method(:index_operands))
55
+ .then(&method(:partial_sums))
56
+ .then(&method(:reduce_indices))
57
57
  end
58
58
 
59
59
  def inside_loop?
@@ -27,8 +27,8 @@ module RgGen
27
27
  def offset_address
28
28
  [*register_files, register]
29
29
  .flat_map(&method(:collect_offsets))
30
- .yield_self(&method(:partial_sums))
31
- .yield_self(&method(:format_offsets))
30
+ .then(&method(:partial_sums))
31
+ .then(&method(:format_offsets))
32
32
  end
33
33
 
34
34
  def collect_offsets(component)
@@ -7,6 +7,7 @@ require_relative 'rtl/register_index'
7
7
  require_relative 'rtl/register_type'
8
8
  require_relative 'rtl/indirect_index'
9
9
  require_relative 'rtl/bit_field_index'
10
+ require_relative 'rtl_package/feature'
10
11
 
11
12
  RgGen.setup_plugin :'rggen-sv-rtl' do |plugin|
12
13
  plugin.version RgGen::SystemVerilog::VERSION
@@ -32,9 +33,11 @@ RgGen.setup_plugin :'rggen-sv-rtl' do |plugin|
32
33
  'rtl/register/type/indirect',
33
34
  'rtl/bit_field/sv_rtl_top',
34
35
  'rtl/bit_field/type',
36
+ 'rtl/bit_field/type/custom',
35
37
  'rtl/bit_field/type/rc_w0c_w1c_wc_woc',
36
38
  'rtl/bit_field/type/ro_rotrg',
37
39
  'rtl/bit_field/type/rof',
40
+ 'rtl/bit_field/type/rol',
38
41
  'rtl/bit_field/type/row0trg_row1trg',
39
42
  'rtl/bit_field/type/rowo_rowotrg',
40
43
  'rtl/bit_field/type/rs_w0s_w1s_ws_wos',
@@ -48,4 +51,17 @@ RgGen.setup_plugin :'rggen-sv-rtl' do |plugin|
48
51
  'rtl/bit_field/type/wo_wo1_wotrg',
49
52
  'rtl/bit_field/type/wrc_wrs'
50
53
  ]
54
+
55
+ plugin.register_component :sv_rtl_package do
56
+ component RgGen::SystemVerilog::Common::Component,
57
+ RgGen::SystemVerilog::Common::ComponentFactory
58
+ feature RgGen::SystemVerilog::RTLPackage::Feature,
59
+ RgGen::SystemVerilog::Common::FeatureFactory
60
+ end
61
+
62
+ plugin.files [
63
+ 'rtl_package/bit_field/sv_rtl_package',
64
+ 'rtl_package/register/sv_rtl_package',
65
+ 'rtl_package/register_block/sv_rtl_package'
66
+ ]
51
67
  end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_simple_feature(:bit_field, :sv_rtl_package) do
4
+ sv_rtl_package do
5
+ build do
6
+ localparam :__width, {
7
+ name: "#{full_name}_bit_width",
8
+ data_type: :int, default: bit_field.width
9
+ }
10
+ localparam :__mask, {
11
+ name: "#{full_name}_bit_mask",
12
+ data_type: :bit, width: bit_field.width, default: mask_value
13
+ }
14
+ define_offset_localparam
15
+ define_label_localparams
16
+ end
17
+
18
+ private
19
+
20
+ def mask_value
21
+ hex((1 << bit_field.width) - 1, bit_field.width)
22
+ end
23
+
24
+ def define_offset_localparam
25
+ if bit_field.sequential?
26
+ define_sequential_offset_localparam
27
+ else
28
+ define_single_offset_localparam
29
+ end
30
+ end
31
+
32
+ def define_sequential_offset_localparam
33
+ size = bit_field.sequence_size
34
+ localparam :__offset, {
35
+ name: "#{full_name}_bit_offset",
36
+ data_type: :int, array_size: [size], default: offset_value(size)
37
+ }
38
+ end
39
+
40
+ def offset_value(size)
41
+ array(Array.new(size, &bit_field.method(:lsb)))
42
+ end
43
+
44
+ def define_single_offset_localparam
45
+ localparam :__offset, {
46
+ name: "#{full_name}_bit_offset",
47
+ data_type: :int, default: bit_field.lsb
48
+ }
49
+ end
50
+
51
+ def define_label_localparams
52
+ bit_field.labels
53
+ .each { |label| define_label_localparam(label) }
54
+ end
55
+
56
+ def define_label_localparam(label)
57
+ identifier = "label_#{label.name}".downcase.to_sym
58
+ value = hex(label.value, bit_field.width)
59
+ localparam identifier, {
60
+ name: "#{full_name}_#{label.name}",
61
+ data_type: :bit, width: bit_field.width, default: value
62
+ }
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RgGen
4
+ module SystemVerilog
5
+ module RTLPackage
6
+ class Feature < Common::Feature
7
+ private
8
+
9
+ def full_name(separator = '_')
10
+ component.full_name(separator)
11
+ end
12
+
13
+ def create_parameter(parameter_type, attributes, &block)
14
+ attributes =
15
+ attributes.merge(
16
+ parameter_type: parameter_type, array_format: :unpacked,
17
+ name: attributes[:name].upcase
18
+ )
19
+ DataObject.new(
20
+ :parameter, attributes, &block
21
+ )
22
+ end
23
+
24
+ define_entity :localparam, :create_parameter, :parameter, -> { register_block }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_simple_feature(:register, :sv_rtl_package) do
4
+ sv_rtl_package do
5
+ build do
6
+ localparam :__byte_width, {
7
+ name: "#{full_name}_byte_width",
8
+ data_type: :int, default: register.byte_width
9
+ }
10
+ localparam :__byte_size, {
11
+ name: "#{full_name}_byte_size",
12
+ data_type: :int, default: register.byte_size(hierarchical: true)
13
+ }
14
+ define_array_size_localparam
15
+ define_offset_localparams
16
+ end
17
+
18
+ private
19
+
20
+ def define_array_size_localparam
21
+ return unless array?
22
+
23
+ list = array_size_list
24
+ localparam :__array_size, {
25
+ name: "#{full_name}_array_size",
26
+ data_type: :int, array_size: [list.size], default: array(list)
27
+ }
28
+ end
29
+
30
+ def define_offset_localparams
31
+ if array?
32
+ define_array_offset_localparams
33
+ else
34
+ define_single_offset_localparam
35
+ end
36
+ end
37
+
38
+ def define_array_offset_localparams
39
+ width = register_block.local_address_width
40
+ size_list = array_size_list
41
+ value_list = group_address_list(address_list, size_list).first
42
+ localparam :__offset, {
43
+ name: "#{full_name}_byte_offset",
44
+ data_type: :bit, width: width, array_size: size_list, default: value_list
45
+ }
46
+ end
47
+
48
+ def address_list
49
+ register
50
+ .expanded_offset_addresses
51
+ .map { |address| hex(address, register_block.local_address_width) }
52
+ end
53
+
54
+ def group_address_list(address_list, size_list)
55
+ list =
56
+ if size_list.size > 1
57
+ group_address_list(address_list, size_list[1..])
58
+ else
59
+ address_list
60
+ end
61
+ list
62
+ .each_slice(size_list.first)
63
+ .map(&method(:array))
64
+ end
65
+
66
+ def define_single_offset_localparam
67
+ width = register_block.local_address_width
68
+ value = address_list.first
69
+ localparam :__offset, {
70
+ name: "#{full_name}_byte_offset",
71
+ data_type: :bit, width: width, default: value
72
+ }
73
+ end
74
+
75
+ def array?
76
+ register.array?(hierarchical: true)
77
+ end
78
+
79
+ def array_size_list
80
+ register.array_size(hierarchical: true)
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_simple_feature(:register_block, :sv_rtl_package) do
4
+ sv_rtl_package do
5
+ write_file '<%= package_name %>.sv' do |file|
6
+ file.body { sv_rtl_package_definition }
7
+ end
8
+
9
+ private
10
+
11
+ def sv_rtl_package_definition
12
+ package_definition(package_name) do |package|
13
+ package.parameters parameters
14
+ end
15
+ end
16
+
17
+ def package_name
18
+ "#{register_block.name}_rtl_pkg"
19
+ end
20
+
21
+ def parameters
22
+ register_block.declarations[:parameter]
23
+ end
24
+ end
25
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module SystemVerilog
5
- VERSION = '0.27.1'
5
+ VERSION = '0.29.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen-systemverilog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.1
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taichi Ishitani
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-30 00:00:00.000000000 Z
11
+ date: 2023-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -55,7 +55,8 @@ files:
55
55
  - lib/rggen/systemverilog/common/utility/structure_definition.rb
56
56
  - lib/rggen/systemverilog/ral.rb
57
57
  - lib/rggen/systemverilog/ral/bit_field/type.rb
58
- - lib/rggen/systemverilog/ral/bit_field/type/rof.rb
58
+ - lib/rggen/systemverilog/ral/bit_field/type/custom.rb
59
+ - lib/rggen/systemverilog/ral/bit_field/type/rof_rol.rb
59
60
  - lib/rggen/systemverilog/ral/bit_field/type/rotrg_rwtrg_wotrg.rb
60
61
  - lib/rggen/systemverilog/ral/bit_field/type/row0trg_row1trg_w0trg_w1trg.rb
61
62
  - lib/rggen/systemverilog/ral/bit_field/type/rowo_rowotrg.rb
@@ -76,12 +77,16 @@ files:
76
77
  - lib/rggen/systemverilog/rtl.rb
77
78
  - lib/rggen/systemverilog/rtl/bit_field/sv_rtl_top.rb
78
79
  - lib/rggen/systemverilog/rtl/bit_field/type.rb
80
+ - lib/rggen/systemverilog/rtl/bit_field/type/custom.erb
81
+ - lib/rggen/systemverilog/rtl/bit_field/type/custom.rb
79
82
  - lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.erb
80
83
  - lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.rb
81
84
  - lib/rggen/systemverilog/rtl/bit_field/type/ro_rotrg.erb
82
85
  - lib/rggen/systemverilog/rtl/bit_field/type/ro_rotrg.rb
83
86
  - lib/rggen/systemverilog/rtl/bit_field/type/rof.erb
84
87
  - lib/rggen/systemverilog/rtl/bit_field/type/rof.rb
88
+ - lib/rggen/systemverilog/rtl/bit_field/type/rol.erb
89
+ - lib/rggen/systemverilog/rtl/bit_field/type/rol.rb
85
90
  - lib/rggen/systemverilog/rtl/bit_field/type/row0trg_row1trg.erb
86
91
  - lib/rggen/systemverilog/rtl/bit_field/type/row0trg_row1trg.rb
87
92
  - lib/rggen/systemverilog/rtl/bit_field/type/rowo_rowotrg.erb
@@ -130,6 +135,10 @@ files:
130
135
  - lib/rggen/systemverilog/rtl/register_file/sv_rtl_top.rb
131
136
  - lib/rggen/systemverilog/rtl/register_index.rb
132
137
  - lib/rggen/systemverilog/rtl/register_type.rb
138
+ - lib/rggen/systemverilog/rtl_package/bit_field/sv_rtl_package.rb
139
+ - lib/rggen/systemverilog/rtl_package/feature.rb
140
+ - lib/rggen/systemverilog/rtl_package/register/sv_rtl_package.rb
141
+ - lib/rggen/systemverilog/rtl_package/register_block/sv_rtl_package.rb
133
142
  - lib/rggen/systemverilog/version.rb
134
143
  homepage: https://github.com/rggen/rggen-systemverilog
135
144
  licenses:
@@ -148,15 +157,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
148
157
  requirements:
149
158
  - - ">="
150
159
  - !ruby/object:Gem::Version
151
- version: '2.6'
160
+ version: '2.7'
152
161
  required_rubygems_version: !ruby/object:Gem::Requirement
153
162
  requirements:
154
163
  - - ">="
155
164
  - !ruby/object:Gem::Version
156
165
  version: '0'
157
166
  requirements: []
158
- rubygems_version: 3.3.7
167
+ rubygems_version: 3.4.1
159
168
  signing_key:
160
169
  specification_version: 4
161
- summary: rggen-systemverilog-0.27.1
170
+ summary: rggen-systemverilog-0.29.0
162
171
  test_files: []
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RgGen.define_list_item_feature(:bit_field, :type, :rof) do
4
- sv_ral { access 'RO' }
5
- end