rggen-default-register-map 0.30.0 → 0.32.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be43004d8b1df104e27297ada8b6d05aaddd6760c19ba7154f6135d5c1b439e6
4
- data.tar.gz: aa9397333b02a0cf35bb317850c33aa7f73374a9fd4a54a03f2b5cf010ce2848
3
+ metadata.gz: 6af9013ab819309f2f249035a8ceb8a4d231e21bf5db6948705bd2306e9c08e0
4
+ data.tar.gz: a3384b3c2abdeb0bc26e661664d42fc0b5aedffcbd5f3c0a177d52f7f2c75619
5
5
  SHA512:
6
- metadata.gz: d341422b65c405dafdb8bd204d73096a4d8f180e4fba5acaec427005e439f8d8a511389701a36fea114d8be470dd4ef1ae9b82e7bf869743520d4e4cfedeb39e
7
- data.tar.gz: d09c07d111c8beac793caf717a8a1dc53b722c6ce81a9cbff27667f5f193bf199dbedc58c191b0ea7d80a08c38f414f163c27b63602616b149aa7c85aaca9674
6
+ metadata.gz: 033a5c5a4762b828dfcb62ff7d993739d58d2450ad7573c6423b8b9221cb8c06dda384e424c7cb239025533e4228aaf898918856da6e7eac9da9cad29752dda6
7
+ data.tar.gz: 52662e28c09f79971892d84f36fd227b8261fd9221939ae7a7317840085e12d8ac82d9e4e563fbcdf65d032ef7023bf6bc2555b7477bcf40cf11a0538e2fe822
data/README.md CHANGED
@@ -2,7 +2,6 @@
2
2
  [![CI](https://github.com/rggen/rggen-default-register-map/workflows/CI/badge.svg)](https://github.com/rggen/rggen-default-register-map/actions?query=workflow%3ACI)
3
3
  [![Maintainability](https://api.codeclimate.com/v1/badges/73177494e096af47f09e/maintainability)](https://codeclimate.com/github/rggen/rggen-default-register-map/maintainability)
4
4
  [![codecov](https://codecov.io/gh/rggen/rggen-default-register-map/branch/master/graph/badge.svg)](https://codecov.io/gh/rggen/rggen-default-register-map)
5
- [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=rggen_rggen-default-register-map&metric=alert_status)](https://sonarcloud.io/dashboard?id=rggen_rggen-default-register-map)
6
5
  [![Gitter](https://badges.gitter.im/rggen/rggen.svg)](https://gitter.im/rggen/rggen?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
7
6
 
8
7
 
@@ -92,16 +92,10 @@ RgGen.define_simple_feature(:register, :offset_address) do
92
92
  end
93
93
 
94
94
  def overlap_address_range?(other, shareable)
95
- overlap_range?(other) &&
95
+ address_range.overlap?(other.address_range) &&
96
96
  (exclusive_range?(other) || !shareable_access?(other, shareable))
97
97
  end
98
98
 
99
- def overlap_range?(other)
100
- self_range = address_range
101
- othre_range = other.address_range
102
- self_range.include?(othre_range.first) || othre_range.include?(self_range.first)
103
- end
104
-
105
99
  def exclusive_range?(other)
106
100
  other.register_file? || other.reserved? || register.reserved?
107
101
  end
@@ -199,10 +199,6 @@ RgGen.define_list_item_feature(:register, :type, :indirect) do
199
199
  (string?(field_name) || symbol?(field_name)) && match_pattern(field_name)
200
200
  end
201
201
 
202
- def sting_or_symbol?(value)
203
- string?(value) || symbol?(value)
204
- end
205
-
206
202
  def convert_index_value(value)
207
203
  to_int(value) { |v| "cannot convert #{v.inspect} into indirect index value" }
208
204
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:register, :type, :rw) do
4
+ register_map do
5
+ writable? { true }
6
+ readable? { true }
7
+ support_array_register
8
+ end
9
+ end
@@ -38,7 +38,7 @@ RgGen.define_simple_feature(:register_file, :offset_address) do
38
38
 
39
39
  verify(:component) do
40
40
  error_condition do
41
- files_and_registers.any?(&method(:overlap_address_range?))
41
+ files_and_registers.any? { |other| address_range.overlap?(other.address_range) }
42
42
  end
43
43
  message do
44
44
  'offset address range overlaps with other offset address range: ' \
@@ -81,12 +81,6 @@ RgGen.define_simple_feature(:register_file, :offset_address) do
81
81
  end
82
82
  end
83
83
 
84
- def overlap_address_range?(other)
85
- self_range = address_range
86
- other_range = other.address_range
87
- self_range.include?(other_range.first) || other_range.include?(self_range.first)
88
- end
89
-
90
84
  def bus_width
91
85
  configuration.bus_width
92
86
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module DefaultRegisterMap
5
- VERSION = '0.30.0'
5
+ VERSION = '0.32.0'
6
6
  end
7
7
  end
@@ -1,5 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.3.0')
4
+ require 'facets/range/overlap'
5
+ end
6
+
3
7
  require_relative 'default_register_map/version'
4
8
  require_relative 'default_register_map/comment'
5
9
 
@@ -23,6 +27,7 @@ RgGen.setup_plugin :'rggen-default-register-map' do |plugin|
23
27
  'default_register_map/register/type/external',
24
28
  'default_register_map/register/type/indirect',
25
29
  'default_register_map/register/type/reserved',
30
+ 'default_register_map/register/type/rw',
26
31
  'default_register_map/register/comment',
27
32
  'default_register_map/bit_field/name',
28
33
  'default_register_map/bit_field/bit_assignment',
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen-default-register-map
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0
4
+ version: 0.32.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: 2023-04-28 00:00:00.000000000 Z
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: facets
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
19
+ version: '3.0'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '3.0'
27
27
  description: Default register map implementation for RgGen
28
28
  email:
29
29
  - rggen@googlegroups.com
@@ -75,6 +75,7 @@ files:
75
75
  - lib/rggen/default_register_map/register/type/external.rb
76
76
  - lib/rggen/default_register_map/register/type/indirect.rb
77
77
  - lib/rggen/default_register_map/register/type/reserved.rb
78
+ - lib/rggen/default_register_map/register/type/rw.rb
78
79
  - lib/rggen/default_register_map/register_block/byte_size.rb
79
80
  - lib/rggen/default_register_map/register_block/comment.rb
80
81
  - lib/rggen/default_register_map/register_block/name.rb
@@ -100,15 +101,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
101
  requirements:
101
102
  - - ">="
102
103
  - !ruby/object:Gem::Version
103
- version: '2.7'
104
+ version: '3.0'
104
105
  required_rubygems_version: !ruby/object:Gem::Requirement
105
106
  requirements:
106
107
  - - ">="
107
108
  - !ruby/object:Gem::Version
108
109
  version: '0'
109
110
  requirements: []
110
- rubygems_version: 3.4.10
111
+ rubygems_version: 3.5.3
111
112
  signing_key:
112
113
  specification_version: 4
113
- summary: rggen-default-register-map-0.30.0
114
+ summary: rggen-default-register-map-0.32.0
114
115
  test_files: []