rggen-systemverilog 0.22.0 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rggen/systemverilog/rtl.rb +5 -4
- data/lib/rggen/systemverilog/rtl/bit_field/type/{rc_w0c_w1c.erb → rc_w0c_w1c_wc_woc.erb} +2 -1
- data/lib/rggen/systemverilog/rtl/bit_field/type/{rc_w0c_w1c.rb → rc_w0c_w1c_wc_woc.rb} +8 -7
- data/lib/rggen/systemverilog/rtl/bit_field/type/{rs_w0s_w1s.erb → rs_w0s_w1s_ws_wos.erb} +2 -1
- data/lib/rggen/systemverilog/rtl/bit_field/type/{rs_w0s_w1s.rb → rs_w0s_w1s_ws_wos.rb} +8 -7
- data/lib/rggen/systemverilog/rtl/bit_field/type/{w0crs_w1crs.erb → w0crs_w1crs_wcrs.erb} +1 -1
- data/lib/rggen/systemverilog/rtl/bit_field/type/{w0crs_w1crs.rb → w0crs_w1crs_wcrs.rb} +3 -3
- data/lib/rggen/systemverilog/rtl/bit_field/type/{w0src_w1src.erb → w0src_w1src_wsrc.erb} +1 -1
- data/lib/rggen/systemverilog/rtl/bit_field/type/{w0src_w1src.rb → w0src_w1src_wsrc.rb} +3 -3
- data/lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.erb +9 -0
- data/lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.rb +14 -0
- data/lib/rggen/systemverilog/rtl/register/type/indirect.rb +1 -1
- data/lib/rggen/systemverilog/rtl/register_block/sv_rtl_top.rb +1 -1
- data/lib/rggen/systemverilog/version.rb +1 -1
- metadata +13 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f00d208ebd7482486fc99dd9b7fcf787ca74b668c5a4fbbe60879cc6f497607d
|
4
|
+
data.tar.gz: af34bfc503ddaba18d7e696c14cef77f8979f53aaf05d7b6cd5a2f570dedfa33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65ab0f8c1a60dd50e7d0731491c396b9f4531ec4c1b9d1ed7d8ecebac4d8e57e4e8367763be85660d0ddb373f38371cf4ea373130514763c00e2cf6432928523
|
7
|
+
data.tar.gz: 4aafce8907c363d82c219d1aae0dbb5d43681d1fc05726e9e877a6b1ee894cbe1d63ddf5c295e152d8cdc1cd9cb2b5154fa470dbce81f75b65211dba8b635e86
|
@@ -13,20 +13,21 @@ module RgGen
|
|
13
13
|
FEATURES = [
|
14
14
|
'rtl/bit_field/sv_rtl_top',
|
15
15
|
'rtl/bit_field/type',
|
16
|
-
'rtl/bit_field/type/
|
16
|
+
'rtl/bit_field/type/rc_w0c_w1c_wc_woc',
|
17
17
|
'rtl/bit_field/type/reserved',
|
18
18
|
'rtl/bit_field/type/ro',
|
19
19
|
'rtl/bit_field/type/rof',
|
20
|
-
'rtl/bit_field/type/
|
20
|
+
'rtl/bit_field/type/rs_w0s_w1s_ws_wos',
|
21
21
|
'rtl/bit_field/type/rw_w1_wo_wo1',
|
22
22
|
'rtl/bit_field/type/rwc',
|
23
23
|
'rtl/bit_field/type/rwe',
|
24
24
|
'rtl/bit_field/type/rwl',
|
25
25
|
'rtl/bit_field/type/rws',
|
26
|
-
'rtl/bit_field/type/
|
27
|
-
'rtl/bit_field/type/
|
26
|
+
'rtl/bit_field/type/w0crs_w1crs_wcrs',
|
27
|
+
'rtl/bit_field/type/w0src_w1src_wsrc',
|
28
28
|
'rtl/bit_field/type/w0t_w1t',
|
29
29
|
'rtl/bit_field/type/w0trg_w1trg',
|
30
|
+
'rtl/bit_field/type/wrc_wrs',
|
30
31
|
'rtl/global/array_port_format',
|
31
32
|
'rtl/global/fold_sv_interface_port',
|
32
33
|
'rtl/register/sv_rtl_top',
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RgGen.define_list_item_feature(:bit_field, :type, [:rc, :w0c, :w1c]) do
|
3
|
+
RgGen.define_list_item_feature(:bit_field, :type, [:rc, :w0c, :w1c, :wc, :woc]) do
|
4
4
|
sv_rtl do
|
5
5
|
build do
|
6
6
|
input :set, {
|
@@ -24,15 +24,16 @@ RgGen.define_list_item_feature(:bit_field, :type, [:rc, :w0c, :w1c]) do
|
|
24
24
|
private
|
25
25
|
|
26
26
|
def module_name
|
27
|
-
|
28
|
-
'rggen_bit_field_rc'
|
29
|
-
else
|
30
|
-
'rggen_bit_field_w01c'
|
31
|
-
end
|
27
|
+
bit_field.type == :rc && 'rggen_bit_field_rc' || 'rggen_bit_field_w01c_wc_woc'
|
32
28
|
end
|
33
29
|
|
34
30
|
def clear_value
|
35
|
-
|
31
|
+
value = { w0c: 0b00, w1c: 0b01, wc: 0b10, woc: 0b10 }[bit_field.type]
|
32
|
+
bin(value, 2)
|
33
|
+
end
|
34
|
+
|
35
|
+
def write_only
|
36
|
+
bit_field.write_only? && 1 || 0
|
36
37
|
end
|
37
38
|
|
38
39
|
def value_out_unmasked
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RgGen.define_list_item_feature(:bit_field, :type, [:rs, :w0s, :w1s]) do
|
3
|
+
RgGen.define_list_item_feature(:bit_field, :type, [:rs, :w0s, :w1s, :ws, :wos]) do
|
4
4
|
sv_rtl do
|
5
5
|
build do
|
6
6
|
input :clear, {
|
@@ -18,15 +18,16 @@ RgGen.define_list_item_feature(:bit_field, :type, [:rs, :w0s, :w1s]) do
|
|
18
18
|
private
|
19
19
|
|
20
20
|
def module_name
|
21
|
-
|
22
|
-
'rggen_bit_field_rs'
|
23
|
-
else
|
24
|
-
'rggen_bit_field_w01s'
|
25
|
-
end
|
21
|
+
bit_field.type == :rs && 'rggen_bit_field_rs' || 'rggen_bit_field_w01s_ws_wos'
|
26
22
|
end
|
27
23
|
|
28
24
|
def set_value
|
29
|
-
|
25
|
+
value = { w0s: 0b00, w1s: 0b01, ws: 0b10, wos: 0b10 }[bit_field.type]
|
26
|
+
bin(value, 2)
|
27
|
+
end
|
28
|
+
|
29
|
+
def write_only
|
30
|
+
bit_field.write_only? && 1 || 0
|
30
31
|
end
|
31
32
|
end
|
32
33
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RgGen.define_list_item_feature(:bit_field, :type, [:w0crs, :w1crs]) do
|
3
|
+
RgGen.define_list_item_feature(:bit_field, :type, [:w0crs, :w1crs, :wcrs]) do
|
4
4
|
sv_rtl do
|
5
5
|
build do
|
6
6
|
output :value_out, {
|
@@ -14,8 +14,8 @@ RgGen.define_list_item_feature(:bit_field, :type, [:w0crs, :w1crs]) do
|
|
14
14
|
private
|
15
15
|
|
16
16
|
def clear_value
|
17
|
-
value =
|
18
|
-
bin(value,
|
17
|
+
value = { w0crs: 0b00, w1crs: 0b01, wcrs: 0b10 }[bit_field.type]
|
18
|
+
bin(value, 2)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RgGen.define_list_item_feature(:bit_field, :type, [:w0src, :w1src]) do
|
3
|
+
RgGen.define_list_item_feature(:bit_field, :type, [:w0src, :w1src, :wsrc]) do
|
4
4
|
sv_rtl do
|
5
5
|
build do
|
6
6
|
output :value_out, {
|
@@ -14,8 +14,8 @@ RgGen.define_list_item_feature(:bit_field, :type, [:w0src, :w1src]) do
|
|
14
14
|
private
|
15
15
|
|
16
16
|
def set_value
|
17
|
-
value =
|
18
|
-
bin(value,
|
17
|
+
value = { w0src: 0b00, w1src: 0b01, wsrc: 0b10 }[bit_field.type]
|
18
|
+
bin(value, 2)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
rggen_bit_field_<%= bit_field.type %> #(
|
2
|
+
.WIDTH (<%= width %>),
|
3
|
+
.INITIAL_VALUE (<%= initial_value %>)
|
4
|
+
) u_bit_field (
|
5
|
+
.i_clk (<%= clock %>),
|
6
|
+
.i_rst_n (<%= reset %>),
|
7
|
+
.bit_field_if (<%= bit_field_if %>),
|
8
|
+
.o_value (<%= value_out[loop_variables] %>)
|
9
|
+
);
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RgGen.define_list_item_feature(:bit_field, :type, [:wrc, :wrs]) do
|
4
|
+
sv_rtl do
|
5
|
+
build do
|
6
|
+
output :value_out, {
|
7
|
+
name: "o_#{full_name}", data_type: :logic, width: width,
|
8
|
+
array_size: array_size, array_format: array_port_format
|
9
|
+
}
|
10
|
+
end
|
11
|
+
|
12
|
+
main_code :bit_field, from_template: true
|
13
|
+
end
|
14
|
+
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.
|
4
|
+
version: 0.23.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: 2020-08-
|
11
|
+
date: 2020-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docile
|
@@ -103,16 +103,16 @@ files:
|
|
103
103
|
- lib/rggen/systemverilog/rtl.rb
|
104
104
|
- lib/rggen/systemverilog/rtl/bit_field/sv_rtl_top.rb
|
105
105
|
- lib/rggen/systemverilog/rtl/bit_field/type.rb
|
106
|
-
- lib/rggen/systemverilog/rtl/bit_field/type/
|
107
|
-
- lib/rggen/systemverilog/rtl/bit_field/type/
|
106
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.erb
|
107
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.rb
|
108
108
|
- lib/rggen/systemverilog/rtl/bit_field/type/reserved.erb
|
109
109
|
- lib/rggen/systemverilog/rtl/bit_field/type/reserved.rb
|
110
110
|
- lib/rggen/systemverilog/rtl/bit_field/type/ro.erb
|
111
111
|
- lib/rggen/systemverilog/rtl/bit_field/type/ro.rb
|
112
112
|
- lib/rggen/systemverilog/rtl/bit_field/type/rof.erb
|
113
113
|
- lib/rggen/systemverilog/rtl/bit_field/type/rof.rb
|
114
|
-
- lib/rggen/systemverilog/rtl/bit_field/type/
|
115
|
-
- lib/rggen/systemverilog/rtl/bit_field/type/
|
114
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/rs_w0s_w1s_ws_wos.erb
|
115
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/rs_w0s_w1s_ws_wos.rb
|
116
116
|
- lib/rggen/systemverilog/rtl/bit_field/type/rw_w1_wo_wo1.erb
|
117
117
|
- lib/rggen/systemverilog/rtl/bit_field/type/rw_w1_wo_wo1.rb
|
118
118
|
- lib/rggen/systemverilog/rtl/bit_field/type/rwc.erb
|
@@ -123,14 +123,16 @@ files:
|
|
123
123
|
- lib/rggen/systemverilog/rtl/bit_field/type/rwl.rb
|
124
124
|
- lib/rggen/systemverilog/rtl/bit_field/type/rws.erb
|
125
125
|
- lib/rggen/systemverilog/rtl/bit_field/type/rws.rb
|
126
|
-
- lib/rggen/systemverilog/rtl/bit_field/type/
|
127
|
-
- lib/rggen/systemverilog/rtl/bit_field/type/
|
128
|
-
- lib/rggen/systemverilog/rtl/bit_field/type/
|
129
|
-
- lib/rggen/systemverilog/rtl/bit_field/type/
|
126
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/w0crs_w1crs_wcrs.erb
|
127
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/w0crs_w1crs_wcrs.rb
|
128
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/w0src_w1src_wsrc.erb
|
129
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/w0src_w1src_wsrc.rb
|
130
130
|
- lib/rggen/systemverilog/rtl/bit_field/type/w0t_w1t.erb
|
131
131
|
- lib/rggen/systemverilog/rtl/bit_field/type/w0t_w1t.rb
|
132
132
|
- lib/rggen/systemverilog/rtl/bit_field/type/w0trg_w1trg.erb
|
133
133
|
- lib/rggen/systemverilog/rtl/bit_field/type/w0trg_w1trg.rb
|
134
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.erb
|
135
|
+
- lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.rb
|
134
136
|
- lib/rggen/systemverilog/rtl/feature.rb
|
135
137
|
- lib/rggen/systemverilog/rtl/global/array_port_format.rb
|
136
138
|
- lib/rggen/systemverilog/rtl/global/fold_sv_interface_port.rb
|
@@ -179,5 +181,5 @@ requirements: []
|
|
179
181
|
rubygems_version: 3.1.2
|
180
182
|
signing_key:
|
181
183
|
specification_version: 4
|
182
|
-
summary: rggen-systemverilog-0.
|
184
|
+
summary: rggen-systemverilog-0.23.0
|
183
185
|
test_files: []
|