rggen-systemverilog 0.30.2 → 0.31.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: 58a725dee672c4e2153845b860d7bd846593dc993d37b4dc521a34647679d641
4
+ data.tar.gz: 5641e7e6c48c1ad49b82942fca87751abf01bcdee820d791e76c4e2669d9445b
5
5
  SHA512:
6
- metadata.gz: aec090b8fa506f778b1379ac1c78e006a4e4bb24ba24f38b1029b25bfa353430cff32db9270443630fcfed9f2ed59c909155ce8f06e775447291a12aef8c0476
7
- data.tar.gz: 7283b69a353d24d0fb2c74fc1b3e0d42dffa3dbdf23ee57447e0a14f5510443e9d21a0d5cf1f7d0892a62671019a3aa8ee5eb85e4c3c33ec338dae2c4d9d00ad
6
+ metadata.gz: 6dceef1d3d02176039c1894d88cd8b138a4db62fd1591c4afe233a59f2acdda80f7daa37328232ae71f4f1bfa171645f990e54c66c2aa0764d681e4276a8c0dc
7
+ data.tar.gz: 2718107de54e94abf23b58348565a4d6b0ef6f5aded9468fe47dd3d294af805a829756dcbbcb3b5d98025b45b75da6a28bf415337f1ca11c84d480fcb7887886
@@ -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.31.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.30.2
4
+ version: 0.31.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
11
+ date: 2023-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -123,6 +123,8 @@ files:
123
123
  - lib/rggen/systemverilog/rtl/register/type/external.rb
124
124
  - lib/rggen/systemverilog/rtl/register/type/indirect.erb
125
125
  - lib/rggen/systemverilog/rtl/register/type/indirect.rb
126
+ - lib/rggen/systemverilog/rtl/register/type/rw.erb
127
+ - lib/rggen/systemverilog/rtl/register/type/rw.rb
126
128
  - lib/rggen/systemverilog/rtl/register_block/protocol.rb
127
129
  - lib/rggen/systemverilog/rtl/register_block/protocol/apb.erb
128
130
  - lib/rggen/systemverilog/rtl/register_block/protocol/apb.rb
@@ -167,5 +169,5 @@ requirements: []
167
169
  rubygems_version: 3.4.17
168
170
  signing_key:
169
171
  specification_version: 4
170
- summary: rggen-systemverilog-0.30.2
172
+ summary: rggen-systemverilog-0.31.0
171
173
  test_files: []