rggen-systemverilog 0.30.1 → 0.31.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: eabc1a7fe3c4b18369e5a28a4b7cf3be8f3c39535bc675ccb96852142d23ea9f
4
- data.tar.gz: 9cd3d819ee42f7f91a920694f74c1cafcd78b3727c762947adcefa4899100721
3
+ metadata.gz: 58a725dee672c4e2153845b860d7bd846593dc993d37b4dc521a34647679d641
4
+ data.tar.gz: 5641e7e6c48c1ad49b82942fca87751abf01bcdee820d791e76c4e2669d9445b
5
5
  SHA512:
6
- metadata.gz: 1798f396c34dedcba253e799ae1123c0e53c885b1a6378bff22a6cce9655dfd3793e119b532fbc8e97fbbf89405c5c6a5d5abaa2eed7881cb115361eb9424481
7
- data.tar.gz: d8dc3fff2fd630f789a616ab3fb9880a8c8863d34ef21a0f6787ae0247db1ae451a161a7557957b33a51e9650ca7e47b2352ac4c3dcae1874b5a8b05dcd6ad7d
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
@@ -5,7 +5,7 @@ RgGen.define_list_item_feature(:register_block, :protocol, :axi4lite) do
5
5
  verify(:component) do
6
6
  error_condition { ![32, 64].include?(configuration.bus_width) }
7
7
  message do
8
- 'bus width eigher 32 bit or 64 bit is only supported: ' \
8
+ 'bus width either 32 bit or 64 bit is only supported: ' \
9
9
  "#{configuration.bus_width}"
10
10
  end
11
11
  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.1'
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.1
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-06-09 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
@@ -164,8 +166,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
166
  - !ruby/object:Gem::Version
165
167
  version: '0'
166
168
  requirements: []
167
- rubygems_version: 3.4.10
169
+ rubygems_version: 3.4.17
168
170
  signing_key:
169
171
  specification_version: 4
170
- summary: rggen-systemverilog-0.30.1
172
+ summary: rggen-systemverilog-0.31.0
171
173
  test_files: []