rggen-systemverilog 0.23.0 → 0.23.1
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 +4 -4
- data/README.md +1 -1
- data/lib/rggen/systemverilog/common/utility/identifier.rb +19 -15
- data/lib/rggen/systemverilog/rtl.rb +3 -0
- data/lib/rggen/systemverilog/rtl/bit_field/sv_rtl_top.rb +10 -46
- data/lib/rggen/systemverilog/rtl/bit_field_index.rb +53 -0
- data/lib/rggen/systemverilog/rtl/indirect_index.rb +35 -0
- data/lib/rggen/systemverilog/rtl/register/type.rb +1 -56
- data/lib/rggen/systemverilog/rtl/register/type/external.rb +0 -4
- data/lib/rggen/systemverilog/rtl/register/type/indirect.rb +2 -26
- data/lib/rggen/systemverilog/rtl/register_block/protocol.rb +14 -8
- data/lib/rggen/systemverilog/rtl/register_index.rb +4 -4
- data/lib/rggen/systemverilog/rtl/register_type.rb +68 -0
- data/lib/rggen/systemverilog/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0674114b0b928f20b2d1cb809eddac46617f4386d35dd4ef44de793817943fd1
|
4
|
+
data.tar.gz: e8afca21a640eff2ce8f6cfc8058b9b96e87bba16351335c610e01e78a28fe91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52b28ccde37f6a73d570cd7b27fdf6e58c33622c8dce631915c200c272063b19e8c6a513fa286cc6017b96bab8579ac1c6a66d96bf937f45d730cdfa24613e27
|
7
|
+
data.tar.gz: daa6d28c95470347433adb1853e1d78c1b28b19722275e1e21523bfe13d19621753d0c11b454e97643fc189b48cfd717d3292beb7003b44a1220ae2c0eeb0cff
|
data/README.md
CHANGED
@@ -35,9 +35,9 @@ module RgGen
|
|
35
35
|
@name.to_s
|
36
36
|
end
|
37
37
|
|
38
|
-
def [](array_index_or_lsb, width = nil)
|
38
|
+
def [](array_index_or_lsb, lsb_or_width = nil, width = nil)
|
39
39
|
if array_index_or_lsb
|
40
|
-
__create_new_identifier__(array_index_or_lsb, width)
|
40
|
+
__create_new_identifier__(array_index_or_lsb, lsb_or_width, width)
|
41
41
|
else
|
42
42
|
self
|
43
43
|
end
|
@@ -45,35 +45,38 @@ module RgGen
|
|
45
45
|
|
46
46
|
private
|
47
47
|
|
48
|
-
def __create_new_identifier__(array_index_or_lsb, width)
|
49
|
-
select = __create_select__(array_index_or_lsb, width)
|
48
|
+
def __create_new_identifier__(array_index_or_lsb, lsb_or_width, width)
|
49
|
+
select = __create_select__(array_index_or_lsb, lsb_or_width, width)
|
50
50
|
Identifier.new("#{@name}#{select}") do |identifier|
|
51
51
|
identifier.__sub_identifiers__(@sub_identifiers)
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
def __create_select__(array_index_or_lsb, width)
|
55
|
+
def __create_select__(array_index_or_lsb, lsb_or_width, width)
|
56
56
|
if array_index_or_lsb.is_a?(::Array)
|
57
|
-
__array_select__(array_index_or_lsb)
|
58
|
-
elsif
|
59
|
-
"[#{array_index_or_lsb}+:#{
|
57
|
+
__array_select__(array_index_or_lsb, lsb_or_width, width)
|
58
|
+
elsif lsb_or_width
|
59
|
+
"[#{array_index_or_lsb}+:#{lsb_or_width}]"
|
60
60
|
else
|
61
61
|
"[#{array_index_or_lsb}]"
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
def __array_select__(array_index)
|
65
|
+
def __array_select__(array_index, lsb, width)
|
66
66
|
if @array_format == :serialized
|
67
|
-
"[#{__serialized_lsb__(array_index)}+:#{@width}]"
|
67
|
+
"[#{__serialized_lsb__(array_index, lsb)}+:#{width || @width}]"
|
68
68
|
else
|
69
|
-
|
70
|
-
.map { |index| "[#{index}]" }
|
71
|
-
|
69
|
+
[
|
70
|
+
*array_index.map { |index| "[#{index}]" },
|
71
|
+
lsb && __create_select__(lsb, width, nil)
|
72
|
+
].compact.join
|
72
73
|
end
|
73
74
|
end
|
74
75
|
|
75
|
-
def __serialized_lsb__(array_index)
|
76
|
-
|
76
|
+
def __serialized_lsb__(array_index, lsb)
|
77
|
+
serialized_index = __serialized_index__(array_index)
|
78
|
+
array_lsb = __reduce_array__([@width, serialized_index], :*, 1)
|
79
|
+
__reduce_array__([array_lsb, lsb], :+, 0)
|
77
80
|
end
|
78
81
|
|
79
82
|
def __serialized_index__(array_index)
|
@@ -97,6 +100,7 @@ module RgGen
|
|
97
100
|
end
|
98
101
|
|
99
102
|
def __reduce_array__(array, operator, initial_value)
|
103
|
+
array = array.compact
|
100
104
|
if array.all?(&method(:integer?))
|
101
105
|
array.reduce(initial_value, &operator)
|
102
106
|
else
|
@@ -4,6 +4,9 @@ require_relative 'common'
|
|
4
4
|
require_relative 'rtl/feature'
|
5
5
|
require_relative 'rtl/partial_sum'
|
6
6
|
require_relative 'rtl/register_index'
|
7
|
+
require_relative 'rtl/register_type'
|
8
|
+
require_relative 'rtl/indirect_index'
|
9
|
+
require_relative 'rtl/bit_field_index'
|
7
10
|
|
8
11
|
module RgGen
|
9
12
|
module SystemVerilog
|
@@ -2,10 +2,8 @@
|
|
2
2
|
|
3
3
|
RgGen.define_simple_feature(:bit_field, :sv_rtl_top) do
|
4
4
|
sv_rtl do
|
5
|
-
|
6
|
-
|
7
|
-
export :loop_variables
|
8
|
-
export :array_size
|
5
|
+
include RgGen::SystemVerilog::RTL::BitFieldIndex
|
6
|
+
|
9
7
|
export :value
|
10
8
|
|
11
9
|
build do
|
@@ -13,13 +11,13 @@ RgGen.define_simple_feature(:bit_field, :sv_rtl_top) do
|
|
13
11
|
localparam :initial_value, {
|
14
12
|
name: initial_value_name, data_type: :bit, width: bit_field.width,
|
15
13
|
array_size: initial_value_size, array_format: initial_value_format,
|
16
|
-
default:
|
14
|
+
default: initial_value_rhs
|
17
15
|
}
|
18
16
|
elsif initial_value?
|
19
17
|
parameter :initial_value, {
|
20
18
|
name: initial_value_name, data_type: :bit, width: bit_field.width,
|
21
19
|
array_size: initial_value_size, array_format: initial_value_format,
|
22
|
-
default:
|
20
|
+
default: initial_value_rhs
|
23
21
|
}
|
24
22
|
end
|
25
23
|
interface :bit_field_sub_if, {
|
@@ -42,31 +40,8 @@ RgGen.define_simple_feature(:bit_field, :sv_rtl_top) do
|
|
42
40
|
code << bit_field_if_connection << nl
|
43
41
|
end
|
44
42
|
|
45
|
-
def local_index
|
46
|
-
(index_name = local_index_name) &&
|
47
|
-
create_identifier(index_name)
|
48
|
-
end
|
49
|
-
|
50
|
-
def local_indices
|
51
|
-
[*register.local_indices, local_index_name]
|
52
|
-
end
|
53
|
-
|
54
|
-
def loop_variables
|
55
|
-
(inside_loop? || nil) &&
|
56
|
-
[*register.loop_variables, local_index].compact
|
57
|
-
end
|
58
|
-
|
59
|
-
def array_size
|
60
|
-
(inside_loop? || nil) &&
|
61
|
-
[
|
62
|
-
*register_files.flat_map(&:array_size),
|
63
|
-
*register.array_size,
|
64
|
-
*bit_field.sequence_size
|
65
|
-
].compact
|
66
|
-
end
|
67
|
-
|
68
43
|
def value(offsets = nil, width = nil)
|
69
|
-
value_lsb = bit_field.lsb(offsets&.last ||
|
44
|
+
value_lsb = bit_field.lsb(offsets&.last || local_index)
|
70
45
|
value_width = width || bit_field.width
|
71
46
|
register_if(offsets&.slice(0..-2)).value[value_lsb, value_width]
|
72
47
|
end
|
@@ -77,14 +52,6 @@ RgGen.define_simple_feature(:bit_field, :sv_rtl_top) do
|
|
77
52
|
define_method(m) { bit_field.__send__(__method__) }
|
78
53
|
end
|
79
54
|
|
80
|
-
def local_index_name
|
81
|
-
(bit_field.sequential? || nil) &&
|
82
|
-
begin
|
83
|
-
depth = (register.loop_variables&.size || 0) + 1
|
84
|
-
loop_index(depth)
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
55
|
def register_if(offsets)
|
89
56
|
index = register.index(offsets || register.local_indices)
|
90
57
|
register_block.register_if[index]
|
@@ -106,11 +73,11 @@ RgGen.define_simple_feature(:bit_field, :sv_rtl_top) do
|
|
106
73
|
configuration.array_port_format
|
107
74
|
end
|
108
75
|
|
109
|
-
def
|
110
|
-
initial_value_array? &&
|
76
|
+
def initial_value_rhs
|
77
|
+
initial_value_array? && initial_value_array_rhs || sized_initial_value
|
111
78
|
end
|
112
79
|
|
113
|
-
def
|
80
|
+
def initial_value_array_rhs
|
114
81
|
if fixed_initial_value?
|
115
82
|
array(sized_initial_values)
|
116
83
|
elsif initial_value_format == :unpacked
|
@@ -129,12 +96,9 @@ RgGen.define_simple_feature(:bit_field, :sv_rtl_top) do
|
|
129
96
|
bit_field.initial_values&.map { |v| hex(v, bit_field.width) }
|
130
97
|
end
|
131
98
|
|
132
|
-
def inside_loop?
|
133
|
-
register.array? || bit_field.sequential?
|
134
|
-
end
|
135
|
-
|
136
99
|
def loop_size
|
137
|
-
|
100
|
+
loop_variable = local_index
|
101
|
+
loop_variable &&
|
138
102
|
{ loop_variable => bit_field.sequence_size }
|
139
103
|
end
|
140
104
|
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RgGen
|
4
|
+
module SystemVerilog
|
5
|
+
module RTL
|
6
|
+
module BitFieldIndex
|
7
|
+
EXPORTED_METHODS = [
|
8
|
+
:local_index, :local_indices, :loop_variables, :array_size
|
9
|
+
].freeze
|
10
|
+
|
11
|
+
def self.included(feature)
|
12
|
+
feature.module_eval do
|
13
|
+
EXPORTED_METHODS.each { |m| export m }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def local_index
|
18
|
+
index_name = local_index_name
|
19
|
+
index_name && create_identifier(index_name)
|
20
|
+
end
|
21
|
+
|
22
|
+
def local_indices
|
23
|
+
[*register.local_indices, local_index_name]
|
24
|
+
end
|
25
|
+
|
26
|
+
def loop_variables
|
27
|
+
(inside_loop? || nil) &&
|
28
|
+
[*register.loop_variables, local_index].compact
|
29
|
+
end
|
30
|
+
|
31
|
+
def array_size
|
32
|
+
(inside_loop? || nil) &&
|
33
|
+
[
|
34
|
+
*register_files.flat_map(&:array_size),
|
35
|
+
*register.array_size,
|
36
|
+
*bit_field.sequence_size
|
37
|
+
].compact
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def local_index_name
|
43
|
+
(bit_field.sequential? || nil) &&
|
44
|
+
loop_index((register.loop_variables&.size || 0) + 1)
|
45
|
+
end
|
46
|
+
|
47
|
+
def inside_loop?
|
48
|
+
register.inside_loop? || bit_field.sequential?
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RgGen
|
4
|
+
module SystemVerilog
|
5
|
+
module RTL
|
6
|
+
module IndirectIndex
|
7
|
+
private
|
8
|
+
|
9
|
+
def index_fields
|
10
|
+
@index_fields ||=
|
11
|
+
register.collect_index_fields(register_block.bit_fields)
|
12
|
+
end
|
13
|
+
|
14
|
+
def index_width
|
15
|
+
@index_width ||= index_fields.sum(&:width)
|
16
|
+
end
|
17
|
+
|
18
|
+
def index_values
|
19
|
+
loop_variables = register.local_loop_variables
|
20
|
+
register.index_entries.zip(index_fields).map do |entry, field|
|
21
|
+
if entry.array_index?
|
22
|
+
loop_variables.shift[0, field.width]
|
23
|
+
else
|
24
|
+
hex(entry.value, field.width)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def indirect_index_assignment
|
30
|
+
assign(indirect_index, concat(index_fields.map(&:value)))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -3,65 +3,10 @@
|
|
3
3
|
RgGen.define_list_feature(:register, :type) do
|
4
4
|
sv_rtl do
|
5
5
|
base_feature do
|
6
|
-
include RgGen::SystemVerilog::RTL::
|
6
|
+
include RgGen::SystemVerilog::RTL::RegisterType
|
7
7
|
|
8
8
|
private
|
9
9
|
|
10
|
-
def readable
|
11
|
-
register.readable? && 1 || 0
|
12
|
-
end
|
13
|
-
|
14
|
-
def writable
|
15
|
-
register.writable? && 1 || 0
|
16
|
-
end
|
17
|
-
|
18
|
-
def bus_width
|
19
|
-
configuration.bus_width
|
20
|
-
end
|
21
|
-
|
22
|
-
def address_width
|
23
|
-
register_block.local_address_width
|
24
|
-
end
|
25
|
-
|
26
|
-
def offset_address
|
27
|
-
offsets = [*register_files, register].flat_map(&method(:collect_offsets))
|
28
|
-
offsets = partial_sums(offsets)
|
29
|
-
format_offsets(offsets)
|
30
|
-
end
|
31
|
-
|
32
|
-
def collect_offsets(component)
|
33
|
-
if component.register_file? && component.array?
|
34
|
-
[component.offset_address, byte_offset(component)]
|
35
|
-
else
|
36
|
-
component.offset_address
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def byte_offset(component)
|
41
|
-
"#{component.byte_size(false)}*(#{component.local_index})"
|
42
|
-
end
|
43
|
-
|
44
|
-
def format_offsets(offsets)
|
45
|
-
offsets.map(&method(:format_offset)).join('+')
|
46
|
-
end
|
47
|
-
|
48
|
-
def format_offset(offset)
|
49
|
-
offset.is_a?(Integer) ? hex(offset, address_width) : offset
|
50
|
-
end
|
51
|
-
|
52
|
-
def width
|
53
|
-
register.width
|
54
|
-
end
|
55
|
-
|
56
|
-
def valid_bits
|
57
|
-
bits = register.bit_fields.map(&:bit_map).inject(:|)
|
58
|
-
hex(bits, register.width)
|
59
|
-
end
|
60
|
-
|
61
|
-
def register_index
|
62
|
-
register.local_index || 0
|
63
|
-
end
|
64
|
-
|
65
10
|
def register_if
|
66
11
|
register_block.register_if[register.index]
|
67
12
|
end
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
RgGen.define_list_item_feature(:register, :type, :indirect) do
|
4
4
|
sv_rtl do
|
5
|
+
include RgGen::SystemVerilog::RTL::IndirectIndex
|
6
|
+
|
5
7
|
build do
|
6
8
|
logic :indirect_index, { width: index_width }
|
7
9
|
end
|
@@ -10,31 +12,5 @@ RgGen.define_list_item_feature(:register, :type, :indirect) do
|
|
10
12
|
code << indirect_index_assignment << nl
|
11
13
|
code << process_template
|
12
14
|
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def index_fields
|
17
|
-
@index_fields ||=
|
18
|
-
register.collect_index_fields(register_block.bit_fields)
|
19
|
-
end
|
20
|
-
|
21
|
-
def index_width
|
22
|
-
@index_width ||= index_fields.sum(&:width)
|
23
|
-
end
|
24
|
-
|
25
|
-
def index_values
|
26
|
-
loop_variables = register.local_loop_variables
|
27
|
-
register.index_entries.zip(index_fields).map do |entry, field|
|
28
|
-
if entry.array_index?
|
29
|
-
loop_variables.shift[0, field.width]
|
30
|
-
else
|
31
|
-
hex(entry.value, field.width)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def indirect_index_assignment
|
37
|
-
assign(indirect_index, concat(index_fields.map(&:value)))
|
38
|
-
end
|
39
15
|
end
|
40
16
|
end
|
@@ -2,19 +2,25 @@
|
|
2
2
|
|
3
3
|
RgGen.define_list_feature(:register_block, :protocol) do
|
4
4
|
shared_context do
|
5
|
-
def feature_registry(registry
|
6
|
-
|
7
|
-
@registry
|
5
|
+
def feature_registry(registry)
|
6
|
+
feature_registries << registry
|
8
7
|
end
|
9
8
|
|
10
9
|
def available_protocols
|
11
|
-
|
12
|
-
.
|
13
|
-
.select(&method(:valid_protocol?))
|
10
|
+
feature_registries
|
11
|
+
.map(&method(:collect_available_protocols)).inject(:&)
|
14
12
|
end
|
15
13
|
|
16
|
-
|
17
|
-
|
14
|
+
private
|
15
|
+
|
16
|
+
def feature_registries
|
17
|
+
@feature_registries ||= []
|
18
|
+
end
|
19
|
+
|
20
|
+
def collect_available_protocols(registry)
|
21
|
+
registry
|
22
|
+
.enabled_features(:protocol)
|
23
|
+
.select { |protocol| registry.feature?(:protocol, protocol) }
|
18
24
|
end
|
19
25
|
end
|
20
26
|
|
@@ -9,7 +9,7 @@ module RgGen
|
|
9
9
|
EXPORTED_METHODS = [
|
10
10
|
:loop_variables, :local_loop_variables,
|
11
11
|
:local_index, :local_indices,
|
12
|
-
:index, :
|
12
|
+
:index, :inside_loop?
|
13
13
|
].freeze
|
14
14
|
|
15
15
|
def self.included(feature)
|
@@ -23,7 +23,7 @@ module RgGen
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def loop_variables
|
26
|
-
(
|
26
|
+
(inside_loop? || nil) &&
|
27
27
|
[*upper_register_file&.loop_variables, *local_loop_variables]
|
28
28
|
end
|
29
29
|
|
@@ -59,8 +59,8 @@ module RgGen
|
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
|
-
def
|
63
|
-
component.array? || upper_register_file&.
|
62
|
+
def inside_loop?
|
63
|
+
component.array? || upper_register_file&.inside_loop? || false
|
64
64
|
end
|
65
65
|
|
66
66
|
private
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RgGen
|
4
|
+
module SystemVerilog
|
5
|
+
module RTL
|
6
|
+
module RegisterType
|
7
|
+
include PartialSum
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def readable
|
12
|
+
register.readable? && 1 || 0
|
13
|
+
end
|
14
|
+
|
15
|
+
def writable
|
16
|
+
register.writable? && 1 || 0
|
17
|
+
end
|
18
|
+
|
19
|
+
def bus_width
|
20
|
+
configuration.bus_width
|
21
|
+
end
|
22
|
+
|
23
|
+
def address_width
|
24
|
+
register_block.local_address_width
|
25
|
+
end
|
26
|
+
|
27
|
+
def offset_address
|
28
|
+
offsets = [*register_files, register].flat_map(&method(:collect_offsets))
|
29
|
+
offsets = partial_sums(offsets)
|
30
|
+
format_offsets(offsets)
|
31
|
+
end
|
32
|
+
|
33
|
+
def collect_offsets(component)
|
34
|
+
if component.register_file? && component.array?
|
35
|
+
[component.offset_address, byte_offset(component)]
|
36
|
+
else
|
37
|
+
component.offset_address
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def byte_offset(component)
|
42
|
+
"#{component.byte_size(false)}*(#{component.local_index})"
|
43
|
+
end
|
44
|
+
|
45
|
+
def format_offsets(offsets)
|
46
|
+
offsets.map(&method(:format_offset)).join('+')
|
47
|
+
end
|
48
|
+
|
49
|
+
def format_offset(offset)
|
50
|
+
offset.is_a?(Integer) ? hex(offset, address_width) : offset
|
51
|
+
end
|
52
|
+
|
53
|
+
def width
|
54
|
+
register.width
|
55
|
+
end
|
56
|
+
|
57
|
+
def valid_bits
|
58
|
+
bits = register.bit_fields.map(&:bit_map).inject(:|)
|
59
|
+
hex(bits, register.width)
|
60
|
+
end
|
61
|
+
|
62
|
+
def register_index
|
63
|
+
register.local_index || 0
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
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.23.
|
4
|
+
version: 0.23.1
|
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-
|
11
|
+
date: 2020-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docile
|
@@ -133,9 +133,11 @@ files:
|
|
133
133
|
- lib/rggen/systemverilog/rtl/bit_field/type/w0trg_w1trg.rb
|
134
134
|
- lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.erb
|
135
135
|
- lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.rb
|
136
|
+
- lib/rggen/systemverilog/rtl/bit_field_index.rb
|
136
137
|
- lib/rggen/systemverilog/rtl/feature.rb
|
137
138
|
- lib/rggen/systemverilog/rtl/global/array_port_format.rb
|
138
139
|
- lib/rggen/systemverilog/rtl/global/fold_sv_interface_port.rb
|
140
|
+
- lib/rggen/systemverilog/rtl/indirect_index.rb
|
139
141
|
- lib/rggen/systemverilog/rtl/partial_sum.rb
|
140
142
|
- lib/rggen/systemverilog/rtl/register/sv_rtl_top.rb
|
141
143
|
- lib/rggen/systemverilog/rtl/register/type.rb
|
@@ -153,6 +155,7 @@ files:
|
|
153
155
|
- lib/rggen/systemverilog/rtl/register_block/sv_rtl_top.rb
|
154
156
|
- lib/rggen/systemverilog/rtl/register_file/sv_rtl_top.rb
|
155
157
|
- lib/rggen/systemverilog/rtl/register_index.rb
|
158
|
+
- lib/rggen/systemverilog/rtl/register_type.rb
|
156
159
|
- lib/rggen/systemverilog/rtl/setup.rb
|
157
160
|
- lib/rggen/systemverilog/version.rb
|
158
161
|
homepage: https://github.com/rggen/rggen-systemverilog
|
@@ -181,5 +184,5 @@ requirements: []
|
|
181
184
|
rubygems_version: 3.1.2
|
182
185
|
signing_key:
|
183
186
|
specification_version: 4
|
184
|
-
summary: rggen-systemverilog-0.23.
|
187
|
+
summary: rggen-systemverilog-0.23.1
|
185
188
|
test_files: []
|