rggen-systemverilog 0.33.1 → 0.35.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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +2 -2
  4. data/lib/rggen/systemverilog/common/feature.rb +20 -13
  5. data/lib/rggen/systemverilog/common/utility/data_object.rb +1 -1
  6. data/lib/rggen/systemverilog/common/utility/structure_definition.rb +2 -2
  7. data/lib/rggen/systemverilog/common/utility.rb +2 -2
  8. data/lib/rggen/systemverilog/ral/bit_field/type.rb +18 -10
  9. data/lib/rggen/systemverilog/ral/feature.rb +4 -6
  10. data/lib/rggen/systemverilog/ral/register/type.rb +3 -3
  11. data/lib/rggen/systemverilog/ral/register_block/sv_ral_model.rb +1 -1
  12. data/lib/rggen/systemverilog/ral/register_common.rb +1 -1
  13. data/lib/rggen/systemverilog/ral/register_file/sv_ral_model.rb +4 -4
  14. data/lib/rggen/systemverilog/ral.rb +5 -0
  15. data/lib/rggen/systemverilog/register_map/keyword_checker.rb +62 -0
  16. data/lib/rggen/systemverilog/register_map/name.rb +9 -0
  17. data/lib/rggen/systemverilog/rtl/bit_field/sv_rtl_top.rb +15 -23
  18. data/lib/rggen/systemverilog/rtl/bit_field/type/custom.rb +8 -16
  19. data/lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.rb +3 -6
  20. data/lib/rggen/systemverilog/rtl/bit_field/type/ro_rotrg.rb +2 -4
  21. data/lib/rggen/systemverilog/rtl/bit_field/type/rohw.rb +3 -6
  22. data/lib/rggen/systemverilog/rtl/bit_field/type/row0trg_row1trg.rb +2 -4
  23. data/lib/rggen/systemverilog/rtl/bit_field/type/rowo_rowotrg.rb +4 -8
  24. data/lib/rggen/systemverilog/rtl/bit_field/type/rs_w0s_w1s_ws_wos.rb +2 -4
  25. data/lib/rggen/systemverilog/rtl/bit_field/type/rw_rwtrg_w1.rb +3 -6
  26. data/lib/rggen/systemverilog/rtl/bit_field/type/rwc.rb +2 -4
  27. data/lib/rggen/systemverilog/rtl/bit_field/type/rwe_rwl.rb +2 -4
  28. data/lib/rggen/systemverilog/rtl/bit_field/type/rwhw.rb +3 -6
  29. data/lib/rggen/systemverilog/rtl/bit_field/type/rws.rb +2 -4
  30. data/lib/rggen/systemverilog/rtl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc.rb +1 -2
  31. data/lib/rggen/systemverilog/rtl/bit_field/type/w0t_w1t.rb +1 -2
  32. data/lib/rggen/systemverilog/rtl/bit_field/type/w0trg_w1trg.rb +1 -2
  33. data/lib/rggen/systemverilog/rtl/bit_field/type/wo_wo1_wotrg.rb +2 -4
  34. data/lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.rb +1 -2
  35. data/lib/rggen/systemverilog/rtl/bit_field/type.rb +2 -6
  36. data/lib/rggen/systemverilog/rtl/bit_field_index.rb +18 -9
  37. data/lib/rggen/systemverilog/rtl/feature.rb +11 -15
  38. data/lib/rggen/systemverilog/rtl/register/type/external.rb +1 -1
  39. data/lib/rggen/systemverilog/rtl/register_block/protocol/apb.rb +11 -5
  40. data/lib/rggen/systemverilog/rtl/register_block/protocol/avalon.erb +17 -0
  41. data/lib/rggen/systemverilog/rtl/register_block/protocol/avalon.rb +37 -0
  42. data/lib/rggen/systemverilog/rtl/register_block/protocol/axi4lite.rb +6 -3
  43. data/lib/rggen/systemverilog/rtl/register_block/protocol/native.erb +19 -0
  44. data/lib/rggen/systemverilog/rtl/register_block/protocol/native.rb +19 -0
  45. data/lib/rggen/systemverilog/rtl/register_block/protocol/wishbone.rb +7 -4
  46. data/lib/rggen/systemverilog/rtl/register_block/protocol.rb +45 -26
  47. data/lib/rggen/systemverilog/rtl/register_block/sv_rtl_top.rb +1 -1
  48. data/lib/rggen/systemverilog/rtl/register_index.rb +8 -8
  49. data/lib/rggen/systemverilog/rtl/register_type.rb +1 -1
  50. data/lib/rggen/systemverilog/rtl.rb +7 -1
  51. data/lib/rggen/systemverilog/rtl_package/feature.rb +3 -3
  52. data/lib/rggen/systemverilog/rtl_package/register/sv_rtl_package.rb +2 -2
  53. data/lib/rggen/systemverilog/version.rb +1 -1
  54. metadata +11 -9
  55. data/lib/rggen/systemverilog/rtl/global/array_port_format.rb +0 -21
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'common'
4
+ require_relative 'register_map/keyword_checker'
4
5
  require_relative 'rtl/feature'
5
6
  require_relative 'rtl/partial_sum'
6
7
  require_relative 'rtl/register_index'
@@ -20,12 +21,13 @@ RgGen.setup_plugin :'rggen-sv-rtl' do |plugin|
20
21
  end
21
22
 
22
23
  plugin.files [
23
- 'rtl/global/array_port_format',
24
24
  'rtl/register_block/sv_rtl_top',
25
25
  'rtl/register_block/protocol',
26
26
  'rtl/register_block/protocol/apb',
27
27
  'rtl/register_block/protocol/axi4lite',
28
+ 'rtl/register_block/protocol/avalon',
28
29
  'rtl/register_block/protocol/wishbone',
30
+ 'rtl/register_block/protocol/native',
29
31
  'rtl/register_file/sv_rtl_top',
30
32
  'rtl/register/sv_rtl_top',
31
33
  'rtl/register/type',
@@ -66,4 +68,8 @@ RgGen.setup_plugin :'rggen-sv-rtl' do |plugin|
66
68
  'rtl_package/register/sv_rtl_package',
67
69
  'rtl_package/register_block/sv_rtl_package'
68
70
  ]
71
+
72
+ plugin.files [
73
+ 'register_map/name'
74
+ ]
69
75
  end
@@ -10,14 +10,14 @@ module RgGen
10
10
  component.full_name(separator)
11
11
  end
12
12
 
13
- def create_parameter(parameter_type, attributes, &block)
13
+ def create_parameter(parameter_type, attributes, &)
14
14
  attributes =
15
15
  attributes.merge(
16
- parameter_type: parameter_type, array_format: :unpacked,
16
+ parameter_type:, array_format: :unpacked,
17
17
  name: attributes[:name].upcase
18
18
  )
19
19
  DataObject.new(
20
- :parameter, attributes, &block
20
+ :parameter, attributes, &
21
21
  )
22
22
  end
23
23
 
@@ -41,7 +41,7 @@ RgGen.define_simple_feature(:register, :sv_rtl_package) do
41
41
  value_list = group_address_list(address_list, size_list).first
42
42
  localparam :__offset, {
43
43
  name: "#{full_name}_byte_offset",
44
- data_type: :bit, width: width, array_size: size_list, default: value_list
44
+ data_type: :bit, width:, array_size: size_list, default: value_list
45
45
  }
46
46
  end
47
47
 
@@ -68,7 +68,7 @@ RgGen.define_simple_feature(:register, :sv_rtl_package) do
68
68
  value = address_list.first
69
69
  localparam :__offset, {
70
70
  name: "#{full_name}_byte_offset",
71
- data_type: :bit, width: width, default: value
71
+ data_type: :bit, width:, default: value
72
72
  }
73
73
  end
74
74
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module SystemVerilog
5
- VERSION = '0.33.1'
5
+ VERSION = '0.35.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen-systemverilog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.33.1
4
+ version: 0.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taichi Ishitani
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-11-28 00:00:00.000000000 Z
10
+ date: 2025-02-19 00:00:00.000000000 Z
12
11
  dependencies: []
13
12
  description: 'SystemVerilog RTL and UVM RAL model generators for RgGen.
14
13
 
@@ -60,6 +59,8 @@ files:
60
59
  - lib/rggen/systemverilog/ral/register_common.rb
61
60
  - lib/rggen/systemverilog/ral/register_file/sv_ral_model.erb
62
61
  - lib/rggen/systemverilog/ral/register_file/sv_ral_model.rb
62
+ - lib/rggen/systemverilog/register_map/keyword_checker.rb
63
+ - lib/rggen/systemverilog/register_map/name.rb
63
64
  - lib/rggen/systemverilog/rtl.rb
64
65
  - lib/rggen/systemverilog/rtl/bit_field/sv_rtl_top.rb
65
66
  - lib/rggen/systemverilog/rtl/bit_field/type.rb
@@ -101,7 +102,6 @@ files:
101
102
  - lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.rb
102
103
  - lib/rggen/systemverilog/rtl/bit_field_index.rb
103
104
  - lib/rggen/systemverilog/rtl/feature.rb
104
- - lib/rggen/systemverilog/rtl/global/array_port_format.rb
105
105
  - lib/rggen/systemverilog/rtl/indirect_index.rb
106
106
  - lib/rggen/systemverilog/rtl/partial_sum.rb
107
107
  - lib/rggen/systemverilog/rtl/register/sv_rtl_top.rb
@@ -116,8 +116,12 @@ files:
116
116
  - lib/rggen/systemverilog/rtl/register_block/protocol.rb
117
117
  - lib/rggen/systemverilog/rtl/register_block/protocol/apb.erb
118
118
  - lib/rggen/systemverilog/rtl/register_block/protocol/apb.rb
119
+ - lib/rggen/systemverilog/rtl/register_block/protocol/avalon.erb
120
+ - lib/rggen/systemverilog/rtl/register_block/protocol/avalon.rb
119
121
  - lib/rggen/systemverilog/rtl/register_block/protocol/axi4lite.erb
120
122
  - lib/rggen/systemverilog/rtl/register_block/protocol/axi4lite.rb
123
+ - lib/rggen/systemverilog/rtl/register_block/protocol/native.erb
124
+ - lib/rggen/systemverilog/rtl/register_block/protocol/native.rb
121
125
  - lib/rggen/systemverilog/rtl/register_block/protocol/wishbone.erb
122
126
  - lib/rggen/systemverilog/rtl/register_block/protocol/wishbone.rb
123
127
  - lib/rggen/systemverilog/rtl/register_block/sv_rtl_macros.erb
@@ -139,7 +143,6 @@ metadata:
139
143
  rubygems_mfa_required: 'true'
140
144
  source_code_uri: https://github.com/rggen/rggen-systemverilog
141
145
  wiki_uri: https://github.com/rggen/rggen/wiki
142
- post_install_message:
143
146
  rdoc_options: []
144
147
  require_paths:
145
148
  - lib
@@ -147,15 +150,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
147
150
  requirements:
148
151
  - - ">="
149
152
  - !ruby/object:Gem::Version
150
- version: '3.0'
153
+ version: '3.1'
151
154
  required_rubygems_version: !ruby/object:Gem::Requirement
152
155
  requirements:
153
156
  - - ">="
154
157
  - !ruby/object:Gem::Version
155
158
  version: '0'
156
159
  requirements: []
157
- rubygems_version: 3.5.16
158
- signing_key:
160
+ rubygems_version: 3.6.2
159
161
  specification_version: 4
160
- summary: rggen-systemverilog-0.33.1
162
+ summary: rggen-systemverilog-0.35.0
161
163
  test_files: []
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RgGen.define_simple_feature(:global, :array_port_format) do
4
- configuration do
5
- property :array_port_format, default: :packed
6
-
7
- input_pattern /(packed|unpacked|serialized)/i
8
- ignore_empty_value false
9
-
10
- build do |value|
11
- @array_port_format =
12
- if pattern_matched?
13
- match_data[1].downcase.to_sym
14
- else
15
- error "illegal input value for array port format: #{value.inspect}"
16
- end
17
- end
18
-
19
- printable :array_port_format
20
- end
21
- end