rggen-vhdl 0.7.0 → 0.9.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: 4faaef428fbba048c4000898fc4bb25625d9734eec168da0b7e276250fd1458a
4
- data.tar.gz: 01b24c92db5237ce7e6e712323b344fc1b99dcac793344d776a1dbe4eef6af25
3
+ metadata.gz: 82e1e01c9df0b2b6f6fdc9d53f7b0b662ebd5f1bc48299b5c38a53e4da1a2137
4
+ data.tar.gz: be850f4ac1b090d779803da9e01f3204e8f852aef9238b2589130ded97782a84
5
5
  SHA512:
6
- metadata.gz: 9a8e30cc40d73c1f74be2c121e4730c8d79fcae51ff9404e8815d16d1e719d5089b418493a973899c8263c0873fe55c5d3139fa0ef3808f083707edd4374d7b9
7
- data.tar.gz: 894de4ef4fda8f945455fb1555ff8583abb84cadaf47cdf1552b1e048020de544f4682617ace6cea1979f3d8628ee50fb72c2cbdad483f9216ec9dfb91dd77b3
6
+ metadata.gz: be576540bdcfbb183c974affd2532fe2c46717507dec07512ff240e6b01e812b7d368081d51c2b4ecf7e637e40a699c0454b2b1fb5781d169e4c8f70eba8ab92
7
+ data.tar.gz: c60ed6476f70dc145d7497fd0624a26021996091a27579779f08832d27103809b5e095fe0c3b9d581e852e25066c17e392f87af979e3ef2f3a37abf68b2aaa32
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2021-2023 Taichi Ishitani
3
+ Copyright (c) 2021-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 © 2021-2023 Taichi Ishitani. RgGen::VHDL is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
71
+ Copyright © 2021-2024 Taichi Ishitani. RgGen::VHDL 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
 
@@ -16,7 +16,7 @@ u_bit_field: entity work.rggen_bit_field
16
16
  o_sw_value => <%= bit_field_value %>,
17
17
  o_write_trigger => open,
18
18
  o_read_trigger => open,
19
- i_hw_write_enable => <%= latch_signal %>,
19
+ i_hw_write_enable => <%= valid_signal %>,
20
20
  i_hw_write_data => <%= value_in[loop_variables] %>,
21
21
  i_hw_set => (others => '0'),
22
22
  i_hw_clear => (others => '0'),
@@ -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
  vhdl 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, {
@@ -20,8 +20,8 @@ RgGen.define_list_item_feature(:bit_field, :type, :rol) do
20
20
 
21
21
  private
22
22
 
23
- def latch_signal
24
- reference_bit_field || latch[loop_variables]
23
+ def valid_signal
24
+ reference_bit_field || valid[loop_variables]
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,26 @@
1
+ u_bit_field: entity work.rggen_bit_field
2
+ generic map (
3
+ WIDTH => <%= width %>,
4
+ INITIAL_VALUE => <%= initial_value %>
5
+ )
6
+ port map (
7
+ i_clk => <%= clock %>,
8
+ i_rst_n => <%= reset %>,
9
+ i_sw_valid => <%= bit_field_valid %>,
10
+ i_sw_read_mask => <%= bit_field_read_mask %>,
11
+ i_sw_write_enable => "1",
12
+ i_sw_write_mask => <%= bit_field_write_mask %>,
13
+ i_sw_write_data => <%= bit_field_write_data %>,
14
+ o_sw_read_data => <%= bit_field_read_data %>,
15
+ o_sw_value => <%= bit_field_value %>,
16
+ o_write_trigger => open,
17
+ o_read_trigger => open,
18
+ i_hw_write_enable => <%= valid_signal %>,
19
+ i_hw_write_data => <%= value_in[loop_variables] %>,
20
+ i_hw_set => (others => '0'),
21
+ i_hw_clear => (others => '0'),
22
+ i_value => (others => '0'),
23
+ i_mask => (others => '1'),
24
+ o_value => <%= value_out[loop_variables] %>,
25
+ o_value_unmasked => open
26
+ );
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:bit_field, :type, :rwhw) do
4
+ vhdl 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,7 +1,8 @@
1
1
  u_bit_field: entity work.rggen_bit_field
2
2
  generic map (
3
3
  WIDTH => <%= width %>,
4
- INITIAL_VALUE => <%= initial_value %>
4
+ INITIAL_VALUE => <%= initial_value %>,
5
+ HW_SET_WIDTH => 1
5
6
  )
6
7
  port map (
7
8
  i_clk => <%= clock %>,
@@ -15,9 +16,9 @@ u_bit_field: entity work.rggen_bit_field
15
16
  o_sw_value => <%= bit_field_value %>,
16
17
  o_write_trigger => open,
17
18
  o_read_trigger => open,
18
- i_hw_write_enable => <%= set_signal %>,
19
- i_hw_write_data => <%= value_in[loop_variables] %>,
20
- i_hw_set => (others => '0'),
19
+ i_hw_write_enable => "0",
20
+ i_hw_write_data => (others => '0'),
21
+ i_hw_set => <%= set_signal %>,
21
22
  i_hw_clear => (others => '0'),
22
23
  i_value => (others => '0'),
23
24
  i_mask => (others => '1'),
@@ -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 VHDL
5
- VERSION = '0.7.0'
5
+ VERSION = '0.9.0'
6
6
  end
7
7
  end
data/lib/rggen/vhdl.rb CHANGED
@@ -38,13 +38,14 @@ RgGen.setup_plugin :'rggen-vhdl' do |plugin|
38
38
  'vhdl/bit_field/type/rc_w0c_w1c_wc_woc',
39
39
  'vhdl/bit_field/type/ro_rotrg',
40
40
  'vhdl/bit_field/type/rof',
41
- 'vhdl/bit_field/type/rol',
41
+ 'vhdl/bit_field/type/rohw',
42
42
  'vhdl/bit_field/type/row0trg_row1trg',
43
43
  'vhdl/bit_field/type/rowo_rowotrg',
44
44
  'vhdl/bit_field/type/rs_w0s_w1s_ws_wos',
45
45
  'vhdl/bit_field/type/rw_rwtrg_w1',
46
46
  'vhdl/bit_field/type/rwc',
47
47
  'vhdl/bit_field/type/rwe_rwl',
48
+ 'vhdl/bit_field/type/rwhw',
48
49
  'vhdl/bit_field/type/rws',
49
50
  'vhdl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc',
50
51
  'vhdl/bit_field/type/w0t_w1t',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen-vhdl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.9.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-09-12 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,28 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.31.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.31.0
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.33.0
41
27
  description: VHDL writer plugin for RgGen
42
28
  email:
43
29
  - rggen@googlegroups.com
@@ -58,8 +44,8 @@ files:
58
44
  - lib/rggen/vhdl/bit_field/type/ro_rotrg.rb
59
45
  - lib/rggen/vhdl/bit_field/type/rof.erb
60
46
  - lib/rggen/vhdl/bit_field/type/rof.rb
61
- - lib/rggen/vhdl/bit_field/type/rol.erb
62
- - lib/rggen/vhdl/bit_field/type/rol.rb
47
+ - lib/rggen/vhdl/bit_field/type/rohw.erb
48
+ - lib/rggen/vhdl/bit_field/type/rohw.rb
63
49
  - lib/rggen/vhdl/bit_field/type/row0trg_row1trg.erb
64
50
  - lib/rggen/vhdl/bit_field/type/row0trg_row1trg.rb
65
51
  - lib/rggen/vhdl/bit_field/type/rowo_rowotrg.erb
@@ -72,6 +58,8 @@ files:
72
58
  - lib/rggen/vhdl/bit_field/type/rwc.rb
73
59
  - lib/rggen/vhdl/bit_field/type/rwe_rwl.erb
74
60
  - lib/rggen/vhdl/bit_field/type/rwe_rwl.rb
61
+ - lib/rggen/vhdl/bit_field/type/rwhw.erb
62
+ - lib/rggen/vhdl/bit_field/type/rwhw.rb
75
63
  - lib/rggen/vhdl/bit_field/type/rws.erb
76
64
  - lib/rggen/vhdl/bit_field/type/rws.rb
77
65
  - lib/rggen/vhdl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc.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.0
121
+ version: 3.0.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.17
128
+ rubygems_version: 3.5.3
141
129
  signing_key:
142
130
  specification_version: 4
143
- summary: rggen-vhdl-0.7.0
131
+ summary: rggen-vhdl-0.9.0
144
132
  test_files: []