rggen-verilog 0.10.0 → 0.11.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ae3ef0f79a6f941f4efa341eca05fb18fea782cfdab3992e4456c764aa3ba138
4
- data.tar.gz: ac2651f017ab663d7f6dd1cc652f9be843096eca7ce88641fbcef47f8fcab3d6
3
+ metadata.gz: c51f12437d8fa2b759cdac993be71633df8d140687b0d12a566ca8d56ed14ecc
4
+ data.tar.gz: 6e50f1af0dd65e009d53a9cf38778c99e3392fa4b0fc8ddf20ede72643e17664
5
5
  SHA512:
6
- metadata.gz: d3181cf232bb8370a0be9a634d59e3f6770f4e8529b39f6b50f83cca267b7baaad5d194586deaf92b97a47a388a50d0545ef0aca81eba948be9f10008067796d
7
- data.tar.gz: 1ca0607fb3c090e49ef057e2de426ec9c4ddc91080e3f39a5b21bc27480f828be89bb1f263e8314dbe26e2e3671f5c4db2ede7deadfc2a1b12f134f75abcbe09
6
+ metadata.gz: 87cb9445bc512d778e6992eaee5a86d67edcb5740c4cd5cc1a6c3bc4bbb35db743f74246b20b4397a436c17bdb2e85fcc3e310c87a47f473904fe21b7b2fab26
7
+ data.tar.gz: 03c553d8ce11624b400f3ebae46f18ea311bdfc71b4734ce1254d412b08815bdad4a21a33f87407b8da7aae15ffaa4e49fe8fb4d3a5ced553e87c1faa3617650
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020-2023 Taichi Ishitani
3
+ Copyright (c) 2020-2024 Taichi Ishitani
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -68,7 +68,7 @@ Feedbacks, bus reports, questions and etc. are welcome! You can post them bu usi
68
68
 
69
69
  ## Copyright & License
70
70
 
71
- Copyright © 2020-2023 Taichi Ishitani. RgGen::Verilog is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
71
+ Copyright © 2020-2024 Taichi Ishitani. RgGen::Verilog is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
72
72
 
73
73
  ## Code of Conduct
74
74
 
@@ -14,7 +14,7 @@ rggen_bit_field #(
14
14
  .o_sw_value (<%= bit_field_value %>),
15
15
  .o_write_trigger (),
16
16
  .o_read_trigger (),
17
- .i_hw_write_enable (<%= latch_signal %>),
17
+ .i_hw_write_enable (<%= valid_signal %>),
18
18
  .i_hw_write_data (<%= value_in[loop_variables] %>),
19
19
  .i_hw_set (<%= fill_0(width) %>),
20
20
  .i_hw_clear (<%= fill_0(width) %>),
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- RgGen.define_list_item_feature(:bit_field, :type, :rol) do
3
+ RgGen.define_list_item_feature(:bit_field, :type, :rohw) do
4
4
  verilog_rtl do
5
5
  build do
6
6
  unless bit_field.reference?
7
- input :latch, {
8
- name: "i_#{full_name}_latch", width: 1, array_size: array_size
7
+ input :valid, {
8
+ name: "i_#{full_name}_valid", width: 1, array_size: array_size
9
9
  }
10
10
  end
11
11
  input :value_in, {
@@ -18,8 +18,8 @@ RgGen.define_list_item_feature(:bit_field, :type, :rol) do
18
18
 
19
19
  main_code :bit_field, from_template: true
20
20
 
21
- def latch_signal
22
- reference_bit_field || latch[loop_variables]
21
+ def valid_signal
22
+ reference_bit_field || valid[loop_variables]
23
23
  end
24
24
  end
25
25
  end
@@ -0,0 +1,24 @@
1
+ rggen_bit_field #(
2
+ .WIDTH (<%= width %>),
3
+ .INITIAL_VALUE (<%= initial_value %>)
4
+ ) u_bit_field (
5
+ .i_clk (<%= clock %>),
6
+ .i_rst_n (<%= reset %>),
7
+ .i_sw_valid (<%= bit_field_valid %>),
8
+ .i_sw_read_mask (<%= bit_field_read_mask %>),
9
+ .i_sw_write_enable (1'b1),
10
+ .i_sw_write_mask (<%= bit_field_write_mask %>),
11
+ .i_sw_write_data (<%= bit_field_write_data %>),
12
+ .o_sw_read_data (<%= bit_field_read_data %>),
13
+ .o_sw_value (<%= bit_field_value %>),
14
+ .o_write_trigger (),
15
+ .o_read_trigger (),
16
+ .i_hw_write_enable (<%= valid_signal %>),
17
+ .i_hw_write_data (<%= value_in[loop_variables] %>),
18
+ .i_hw_set (<%= fill_0(width) %>),
19
+ .i_hw_clear (<%= fill_0(width) %>),
20
+ .i_value (<%= fill_0(width) %>),
21
+ .i_mask (<%= fill_1(width) %>),
22
+ .o_value (<%= value_out[loop_variables] %>),
23
+ .o_value_unmasked ()
24
+ );
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:bit_field, :type, :rwhw) do
4
+ verilog_rtl do
5
+ build do
6
+ unless bit_field.reference?
7
+ input :valid, {
8
+ name: "i_#{full_name}_valid", width: 1, array_size: array_size
9
+ }
10
+ end
11
+ input :value_in, {
12
+ name: "i_#{full_name}", width: width, array_size: array_size
13
+ }
14
+ output :value_out, {
15
+ name: "o_#{full_name}", width: width, array_size: array_size
16
+ }
17
+ end
18
+
19
+ main_code :bit_field, from_template: true
20
+
21
+ private
22
+
23
+ def valid_signal
24
+ reference_bit_field || valid[loop_variables]
25
+ end
26
+ end
27
+ end
@@ -1,6 +1,7 @@
1
1
  rggen_bit_field #(
2
2
  .WIDTH (<%= width %>),
3
- .INITIAL_VALUE (<%= initial_value %>)
3
+ .INITIAL_VALUE (<%= initial_value %>),
4
+ .HW_SET_WIDTH (1)
4
5
  ) u_bit_field (
5
6
  .i_clk (<%= clock %>),
6
7
  .i_rst_n (<%= reset %>),
@@ -13,9 +14,9 @@ rggen_bit_field #(
13
14
  .o_sw_value (<%= bit_field_value %>),
14
15
  .o_write_trigger (),
15
16
  .o_read_trigger (),
16
- .i_hw_write_enable (<%= set_signal %>),
17
- .i_hw_write_data (<%= value_in[loop_variables] %>),
18
- .i_hw_set (<%= fill_0(width) %>),
17
+ .i_hw_write_enable (1'b0),
18
+ .i_hw_write_data (<%= fill_0(width) %>),
19
+ .i_hw_set (<%= set_signal %>),
19
20
  .i_hw_clear (<%= fill_0(width) %>),
20
21
  .i_value (<%= fill_0(width) %>),
21
22
  .i_mask (<%= fill_1(width) %>),
@@ -8,9 +8,6 @@ RgGen.define_list_item_feature(:bit_field, :type, :rws) do
8
8
  name: "i_#{full_name}_set", width: 1, array_size: array_size
9
9
  }
10
10
  end
11
- input :value_in, {
12
- name: "i_#{full_name}", width: width, array_size: array_size
13
- }
14
11
  output :value_out, {
15
12
  name: "o_#{full_name}", width: width, array_size: array_size
16
13
  }
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module Verilog
5
- VERSION = '0.10.0'
5
+ VERSION = '0.11.0'
6
6
  end
7
7
  end
data/lib/rggen/verilog.rb CHANGED
@@ -38,13 +38,14 @@ RgGen.setup_plugin :'rggen-verilog' do |plugin|
38
38
  'verilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc',
39
39
  'verilog/rtl/bit_field/type/ro_rotrg',
40
40
  'verilog/rtl/bit_field/type/rof',
41
- 'verilog/rtl/bit_field/type/rol',
41
+ 'verilog/rtl/bit_field/type/rohw',
42
42
  'verilog/rtl/bit_field/type/row0trg_row1trg',
43
43
  'verilog/rtl/bit_field/type/rowo_rowotrg',
44
44
  'verilog/rtl/bit_field/type/rs_w0s_w1s_ws_wos',
45
45
  'verilog/rtl/bit_field/type/rw_rwtrg_w1',
46
46
  'verilog/rtl/bit_field/type/rwc',
47
47
  'verilog/rtl/bit_field/type/rwe_rwl',
48
+ 'verilog/rtl/bit_field/type/rwhw',
48
49
  'verilog/rtl/bit_field/type/rws',
49
50
  'verilog/rtl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc',
50
51
  'verilog/rtl/bit_field/type/w0t_w1t',
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.10.0
4
+ version: 0.11.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-12-28 00:00:00.000000000 Z
11
+ date: 2024-01-22 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.32.0
19
+ version: 0.33.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.32.0
26
+ version: 0.33.0
27
27
  description: Verilog write plugin for RgGen
28
28
  email:
29
29
  - rggen@googlegroups.com
@@ -45,8 +45,8 @@ files:
45
45
  - lib/rggen/verilog/rtl/bit_field/type/ro_rotrg.rb
46
46
  - lib/rggen/verilog/rtl/bit_field/type/rof.erb
47
47
  - lib/rggen/verilog/rtl/bit_field/type/rof.rb
48
- - lib/rggen/verilog/rtl/bit_field/type/rol.erb
49
- - lib/rggen/verilog/rtl/bit_field/type/rol.rb
48
+ - lib/rggen/verilog/rtl/bit_field/type/rohw.erb
49
+ - lib/rggen/verilog/rtl/bit_field/type/rohw.rb
50
50
  - lib/rggen/verilog/rtl/bit_field/type/row0trg_row1trg.erb
51
51
  - lib/rggen/verilog/rtl/bit_field/type/row0trg_row1trg.rb
52
52
  - lib/rggen/verilog/rtl/bit_field/type/rowo_rowotrg.erb
@@ -59,6 +59,8 @@ files:
59
59
  - lib/rggen/verilog/rtl/bit_field/type/rwc.rb
60
60
  - lib/rggen/verilog/rtl/bit_field/type/rwe_rwl.erb
61
61
  - lib/rggen/verilog/rtl/bit_field/type/rwe_rwl.rb
62
+ - lib/rggen/verilog/rtl/bit_field/type/rwhw.erb
63
+ - lib/rggen/verilog/rtl/bit_field/type/rwhw.rb
62
64
  - lib/rggen/verilog/rtl/bit_field/type/rws.erb
63
65
  - lib/rggen/verilog/rtl/bit_field/type/rws.rb
64
66
  - lib/rggen/verilog/rtl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc.erb
@@ -128,5 +130,5 @@ requirements: []
128
130
  rubygems_version: 3.5.3
129
131
  signing_key:
130
132
  specification_version: 4
131
- summary: rggen-verilog-0.10.0
133
+ summary: rggen-verilog-0.11.0
132
134
  test_files: []