rggen-systemverilog 0.30.2 → 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: 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: []