rggen-systemverilog 0.30.2 → 0.32.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: 44cb0bb8b5630c4f76b065c1bb5a541fe09d2b2051e870c1455f73f453f52265
4
- data.tar.gz: 6918d6388832b42972f2df649309afdaa2e3693421cc027d758051ad7fd6d6c1
3
+ metadata.gz: c295b2c383ee9a080cf33b8faf85f81ed3946cf607be733a1a0ff44d43fdf456
4
+ data.tar.gz: a38e7790669fe49a736076383a627f87e6468e38635376f2a07e79ca1a372884
5
5
  SHA512:
6
- metadata.gz: aec090b8fa506f778b1379ac1c78e006a4e4bb24ba24f38b1029b25bfa353430cff32db9270443630fcfed9f2ed59c909155ce8f06e775447291a12aef8c0476
7
- data.tar.gz: 7283b69a353d24d0fb2c74fc1b3e0d42dffa3dbdf23ee57447e0a14f5510443e9d21a0d5cf1f7d0892a62671019a3aa8ee5eb85e4c3c33ec338dae2c4d9d00ad
6
+ metadata.gz: '0876b350261500e1c6f9ca6614713c3a251c7c779d656150301972b1be9f4b7defd044df1a37cecd1d70860fa92a09adbcad4abad0654386f2c7416387c6710a'
7
+ data.tar.gz: 7dbd42dcfa9fc6285a9d0790f92c9543007b3d472a57f2ce8f06e7fb967bff4094a55ff0ee8eb7cbcf2d050b496bbf30dbbed41f08714dc4a7976adf820b9314
data/README.md CHANGED
@@ -2,7 +2,6 @@
2
2
  [![CI](https://github.com/rggen/rggen-systemverilog/workflows/CI/badge.svg)](https://github.com/rggen/rggen-systemverilog/actions?query=workflow%3ACI)
3
3
  [![Maintainability](https://api.codeclimate.com/v1/badges/88086c5be538a1564a35/maintainability)](https://codeclimate.com/github/rggen/rggen-systemverilog/maintainability)
4
4
  [![codecov](https://codecov.io/gh/rggen/rggen-systemverilog/branch/master/graph/badge.svg)](https://codecov.io/gh/rggen/rggen-systemverilog)
5
- [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=rggen_rggen-systemverilog&metric=alert_status)](https://sonarcloud.io/dashboard?id=rggen_rggen-systemverilog)
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
  # RgGen::SystemVerilog
@@ -10,9 +10,8 @@ module RgGen
10
10
  define_attribute :arguments
11
11
 
12
12
  def return_type(**attributes)
13
- attributes.size.zero? || (
14
- @return_type = DataObject.new(:variable, **attributes)
15
- )
13
+ attributes.empty? ||
14
+ (@return_type = DataObject.new(:variable, **attributes))
16
15
  @return_type
17
16
  end
18
17
 
@@ -2,6 +2,7 @@ rggen_external_register #(
2
2
  .ADDRESS_WIDTH (<%= address_width %>),
3
3
  .BUS_WIDTH (<%= bus_width %>),
4
4
  .VALUE_WIDTH (<%= value_width %>),
5
+ .STROBE_WIDTH (<%= strobe_width %>),
5
6
  .START_ADDRESS (<%= start_address %>),
6
7
  .BYTE_SIZE (<%= byte_size %>)
7
8
  ) u_register (
@@ -3,10 +3,13 @@
3
3
  RgGen.define_list_item_feature(:register, :type, :external) do
4
4
  sv_rtl do
5
5
  build do
6
+ parameter :strobe_width, {
7
+ name: "#{register.name}_strobe_width".upcase,
8
+ data_type: :int, default: configuration.bus_width / 8
9
+ }
6
10
  interface_port :bus_if, {
7
11
  name: "#{register.name}_bus_if",
8
- interface_type: 'rggen_bus_if',
9
- modport: 'master'
12
+ interface_type: 'rggen_bus_if', modport: 'master'
10
13
  }
11
14
  end
12
15
 
@@ -0,0 +1,14 @@
1
+ rggen_default_register #(
2
+ .READABLE (1),
3
+ .WRITABLE (1),
4
+ .ADDRESS_WIDTH (<%= address_width %>),
5
+ .OFFSET_ADDRESS (<%= offset_address %>),
6
+ .BUS_WIDTH (<%= bus_width %>),
7
+ .DATA_WIDTH (<%= width %>),
8
+ .VALUE_WIDTH (<%= value_width %>)
9
+ ) u_register (
10
+ .i_clk (<%= register_block.clock %>),
11
+ .i_rst_n (<%= register_block.reset %>),
12
+ .register_if (<%= register_if %>),
13
+ .bit_field_if (<%= bit_field_if %>)
14
+ );
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:register, :type, :rw) do
4
+ sv_rtl do
5
+ main_code :register, from_template: true
6
+ end
7
+ end
@@ -31,6 +31,7 @@ RgGen.setup_plugin :'rggen-sv-rtl' do |plugin|
31
31
  'rtl/register/type',
32
32
  'rtl/register/type/external',
33
33
  'rtl/register/type/indirect',
34
+ 'rtl/register/type/rw',
34
35
  'rtl/bit_field/sv_rtl_top',
35
36
  'rtl/bit_field/type',
36
37
  'rtl/bit_field/type/custom',
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module SystemVerilog
5
- VERSION = '0.30.2'
5
+ VERSION = '0.32.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen-systemverilog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.2
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-08-08 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
+ dependencies: []
27
13
  description: 'SystemVerilog RTL and UVM RAL model generators for RgGen.
28
14
 
29
15
  '
@@ -123,6 +109,8 @@ files:
123
109
  - lib/rggen/systemverilog/rtl/register/type/external.rb
124
110
  - lib/rggen/systemverilog/rtl/register/type/indirect.erb
125
111
  - lib/rggen/systemverilog/rtl/register/type/indirect.rb
112
+ - lib/rggen/systemverilog/rtl/register/type/rw.erb
113
+ - lib/rggen/systemverilog/rtl/register/type/rw.rb
126
114
  - lib/rggen/systemverilog/rtl/register_block/protocol.rb
127
115
  - lib/rggen/systemverilog/rtl/register_block/protocol/apb.erb
128
116
  - lib/rggen/systemverilog/rtl/register_block/protocol/apb.rb
@@ -157,15 +145,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
145
  requirements:
158
146
  - - ">="
159
147
  - !ruby/object:Gem::Version
160
- version: '2.7'
148
+ version: '3.0'
161
149
  required_rubygems_version: !ruby/object:Gem::Requirement
162
150
  requirements:
163
151
  - - ">="
164
152
  - !ruby/object:Gem::Version
165
153
  version: '0'
166
154
  requirements: []
167
- rubygems_version: 3.4.17
155
+ rubygems_version: 3.5.3
168
156
  signing_key:
169
157
  specification_version: 4
170
- summary: rggen-systemverilog-0.30.2
158
+ summary: rggen-systemverilog-0.32.0
171
159
  test_files: []