rggen-verilog 0.8.1 → 0.10.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: 501905cb54813b90fc9080c475f4c1b14c341ede3538e10628e9e30d0cb39c24
4
- data.tar.gz: bfe15d77b852c68ba19b8a4f17e8f9cf961e218c21c294d752268add08262a95
3
+ metadata.gz: ae3ef0f79a6f941f4efa341eca05fb18fea782cfdab3992e4456c764aa3ba138
4
+ data.tar.gz: ac2651f017ab663d7f6dd1cc652f9be843096eca7ce88641fbcef47f8fcab3d6
5
5
  SHA512:
6
- metadata.gz: '024865e81e0e44340b062633e411e4bd1b5db96e67d72e10aeacce980610f0d6a0cdd2db273dcf33e1fd4fca9a96a8a43a23bf7722b4e4b097853a80d403e7c2'
7
- data.tar.gz: 2bee917871bf9e33cc311aa84fe7bc39e6a8cfff18ec9ee7e0e970f01a5efbfde923aa2271e257032d5af5a271a9b12507afde8c65ff8cee8a3d39fc917d769f
6
+ metadata.gz: d3181cf232bb8370a0be9a634d59e3f6770f4e8529b39f6b50f83cca267b7baaad5d194586deaf92b97a47a388a50d0545ef0aca81eba948be9f10008067796d
7
+ data.tar.gz: 1ca0607fb3c090e49ef057e2de426ec9c4ddc91080e3f39a5b21bc27480f828be89bb1f263e8314dbe26e2e3671f5c4db2ede7deadfc2a1b12f134f75abcbe09
@@ -1,6 +1,7 @@
1
1
  rggen_external_register #(
2
2
  .ADDRESS_WIDTH (<%= address_width %>),
3
3
  .BUS_WIDTH (<%= bus_width %>),
4
+ .STROBE_WIDTH (<%= strobe_width %>),
4
5
  .START_ADDRESS (<%= start_address %>),
5
6
  .BYTE_SIZE (<%= byte_size %>)
6
7
  ) u_register (
@@ -3,6 +3,10 @@
3
3
  RgGen.define_list_item_feature(:register, :type, :external) do
4
4
  verilog_rtl do
5
5
  build do
6
+ parameter :strobe_width, {
7
+ name: "#{register.name}_strobe_width".upcase,
8
+ default: configuration.bus_width / 8
9
+ }
6
10
  output :external_valid, {
7
11
  name: "o_#{register.name}_valid", width: 1
8
12
  }
@@ -16,7 +20,7 @@ RgGen.define_list_item_feature(:register, :type, :external) do
16
20
  name: "o_#{register.name}_data", width: bus_width
17
21
  }
18
22
  output :external_strobe, {
19
- name: "o_#{register.name}_strobe", width: bus_width / 8
23
+ name: "o_#{register.name}_strobe", width: strobe_width
20
24
  }
21
25
  input :external_ready, {
22
26
  name: "i_#{register.name}_ready", width: 1
@@ -0,0 +1,27 @@
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
+ ) u_register (
9
+ .i_clk (<%= clock %>),
10
+ .i_rst_n (<%= reset %>),
11
+ .i_register_valid (<%= register_valid %>),
12
+ .i_register_access (<%= register_access %>),
13
+ .i_register_address (<%= register_address %>),
14
+ .i_register_write_data (<%= register_write_data %>),
15
+ .i_register_strobe (<%= register_strobe %>),
16
+ .o_register_active (<%= register_active %>),
17
+ .o_register_ready (<%= register_ready %>),
18
+ .o_register_status (<%= register_status %>),
19
+ .o_register_read_data (<%= register_read_data %>),
20
+ .o_register_value (<%= register_value %>),
21
+ .o_bit_field_valid (<%= bit_field_valid %>),
22
+ .o_bit_field_read_mask (<%= bit_field_read_mask %>),
23
+ .o_bit_field_write_mask (<%= bit_field_write_mask %>),
24
+ .o_bit_field_write_data (<%= bit_field_write_data %>),
25
+ .i_bit_field_read_data (<%= bit_field_read_data %>),
26
+ .i_bit_field_value (<%= bit_field_value %>)
27
+ );
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:register, :type, :rw) do
4
+ verilog_rtl do
5
+ main_code :register, from_template: true
6
+ end
7
+ end
@@ -23,7 +23,7 @@ RgGen.define_simple_feature(:register_block, :verilog_top) do
23
23
  name: 'w_register_write_data', width: bus_width
24
24
  }
25
25
  wire :register_strobe, {
26
- name: 'w_register_strobe', width: bus_width / 8
26
+ name: 'w_register_strobe', width: bus_width
27
27
  }
28
28
  wire :register_active, {
29
29
  name: 'w_register_active', width: 1, array_size: [total_registers]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module Verilog
5
- VERSION = '0.8.1'
5
+ VERSION = '0.10.0'
6
6
  end
7
7
  end
data/lib/rggen/verilog.rb CHANGED
@@ -31,6 +31,7 @@ RgGen.setup_plugin :'rggen-verilog' do |plugin|
31
31
  'verilog/rtl/register/type',
32
32
  'verilog/rtl/register/type/external',
33
33
  'verilog/rtl/register/type/indirect',
34
+ 'verilog/rtl/register/type/rw',
34
35
  'verilog/rtl/bit_field/verilog_top',
35
36
  'verilog/rtl/bit_field/type',
36
37
  'verilog/rtl/bit_field/type/custom',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen-verilog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.10.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-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rggen-systemverilog
@@ -16,28 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.30.1
19
+ version: 0.32.0
20
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.30.1
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
26
+ version: 0.32.0
41
27
  description: Verilog write plugin for RgGen
42
28
  email:
43
29
  - rggen@googlegroups.com
@@ -94,6 +80,8 @@ files:
94
80
  - lib/rggen/verilog/rtl/register/type/external.rb
95
81
  - lib/rggen/verilog/rtl/register/type/indirect.erb
96
82
  - lib/rggen/verilog/rtl/register/type/indirect.rb
83
+ - lib/rggen/verilog/rtl/register/type/rw.erb
84
+ - lib/rggen/verilog/rtl/register/type/rw.rb
97
85
  - lib/rggen/verilog/rtl/register/verilog_top.rb
98
86
  - lib/rggen/verilog/rtl/register_block/protocol.rb
99
87
  - lib/rggen/verilog/rtl/register_block/protocol/apb.erb
@@ -130,15 +118,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
118
  requirements:
131
119
  - - ">="
132
120
  - !ruby/object:Gem::Version
133
- version: '2.7'
121
+ version: '3.0'
134
122
  required_rubygems_version: !ruby/object:Gem::Requirement
135
123
  requirements:
136
124
  - - ">="
137
125
  - !ruby/object:Gem::Version
138
126
  version: '0'
139
127
  requirements: []
140
- rubygems_version: 3.4.10
128
+ rubygems_version: 3.5.3
141
129
  signing_key:
142
130
  specification_version: 4
143
- summary: rggen-verilog-0.8.1
131
+ summary: rggen-verilog-0.10.0
144
132
  test_files: []