rggen-verilog 0.8.0 → 0.8.1

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: 3c4b37181e16fd1f97b0cbfc7fa45f58d7c69677930907dde6e60d2064d9842a
4
- data.tar.gz: 4b245b8815da6fca8ea8bc4abf4c67c83f56c1534693c24851a767e22175e471
3
+ metadata.gz: 501905cb54813b90fc9080c475f4c1b14c341ede3538e10628e9e30d0cb39c24
4
+ data.tar.gz: bfe15d77b852c68ba19b8a4f17e8f9cf961e218c21c294d752268add08262a95
5
5
  SHA512:
6
- metadata.gz: 6fc8c0cc66ae71e65543274c7f50f3cd9876355528e6a55c71c83f8d75876f05a26518f357b8c7370710496c568a2b87305b8d3a0b5bc440c451e8a6838e0908
7
- data.tar.gz: 8416671228b6589ee79b1db4f505d3c0af7053ca0ce4aedfa1c4e6dacc1b8210aa8e6a8d5dc8e12b6a1ae97a8836af07a61cd77b56ba49da2af014c368cf7dc4
6
+ metadata.gz: '024865e81e0e44340b062633e411e4bd1b5db96e67d72e10aeacce980610f0d6a0cdd2db273dcf33e1fd4fca9a96a8a43a23bf7722b4e4b097853a80d403e7c2'
7
+ data.tar.gz: 2bee917871bf9e33cc311aa84fe7bc39e6a8cfff18ec9ee7e0e970f01a5efbfde923aa2271e257032d5af5a271a9b12507afde8c65ff8cee8a3d39fc917d769f
@@ -22,8 +22,17 @@ RgGen.define_list_feature(:bit_field, :type) do
22
22
  end
23
23
 
24
24
  def initial_value
25
- index = bit_field.initial_value_array? && bit_field.local_index || 0
26
- macro_call('rggen_slice', [bit_field.initial_value, width, index])
25
+ if multiple_initial_values?
26
+ index = bit_field.local_index
27
+ total_bits = width * bit_field.sequence_size
28
+ macro_call('rggen_slice', [bit_field.initial_value, total_bits, width, index])
29
+ else
30
+ bit_field.initial_value
31
+ end
32
+ end
33
+
34
+ def multiple_initial_values?
35
+ bit_field.initial_value_array? && bit_field.sequence_size > 1
27
36
  end
28
37
 
29
38
  def clock
@@ -2,7 +2,7 @@ rggen_external_register #(
2
2
  .ADDRESS_WIDTH (<%= address_width %>),
3
3
  .BUS_WIDTH (<%= bus_width %>),
4
4
  .START_ADDRESS (<%= start_address %>),
5
- .END_ADDRESS (<%= end_address %>)
5
+ .BYTE_SIZE (<%= byte_size %>)
6
6
  ) u_register (
7
7
  .i_clk (<%= clock %>),
8
8
  .i_rst_n (<%= reset %>),
@@ -37,8 +37,8 @@ RgGen.define_list_item_feature(:register, :type, :external) do
37
37
  hex(register.address_range.begin, address_width)
38
38
  end
39
39
 
40
- def end_address
41
- hex(register.address_range.last, address_width)
40
+ def byte_size
41
+ register.total_byte_size
42
42
  end
43
43
  end
44
44
  end
@@ -16,6 +16,10 @@ module RgGen
16
16
  def fill_1(width)
17
17
  "{#{width}{1'b1}}"
18
18
  end
19
+
20
+ def width_cast(expression, _width)
21
+ expression
22
+ end
19
23
  end
20
24
  end
21
25
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module Verilog
5
- VERSION = '0.8.0'
5
+ VERSION = '0.8.1'
6
6
  end
7
7
  end
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.0
4
+ version: 0.8.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: 2023-04-28 00:00:00.000000000 Z
11
+ date: 2023-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rggen-systemverilog
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.30.0
19
+ version: 0.30.1
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.0
26
+ version: 0.30.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -140,5 +140,5 @@ requirements: []
140
140
  rubygems_version: 3.4.10
141
141
  signing_key:
142
142
  specification_version: 4
143
- summary: rggen-verilog-0.8.0
143
+ summary: rggen-verilog-0.8.1
144
144
  test_files: []