rggen-vhdl 0.2.1 → 0.3.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: c74cc68ef729bcf49af9fbfb49184006e2f145408fa67d77adf96cd85ab07510
4
- data.tar.gz: e113dc0c84be1b6646ae0d876e4f0cb920680c0bba12d71d434fbd6d168e6f42
3
+ metadata.gz: a3fe2a4f117ebddd32c38f4e65d042c845f81e85f6130d7f85ebf94f7b12868f
4
+ data.tar.gz: 55c35ac2e82232c2fba80da4ec23ad0bb417cb35c228b3e94a76ee134f747f54
5
5
  SHA512:
6
- metadata.gz: fc44aaaafada6892281fc6f608af510e051bfb46aa00331dd4f1ac727c551d49d27dff01fd5f775cf5dc998c552553b1d30c682764e730696306c4ccf6ee2901
7
- data.tar.gz: d378636891636a4609d1a40a4878ffd4a2edde73c5c30335d9e2a45265203de768db5f34d42a2dbbc8cea9b46e6b2f82416d9f43d2d185dc5d7c9d9204f7513b
6
+ metadata.gz: 1e1d50c4f6eea7cfd80de27beac4e2f451d8913d13b77976776e0c021252dc53da2aa1227ed5b587f905d30aa54d66437e4af795bc15cea9626f8a7076bc521f
7
+ data.tar.gz: 0fa49c35d10ddfe2c4d680780dd3f40ef0a8dc64aa4808cc352c55261ccf9d8d754aa450643bdacf1072b86f88ce880050851afcf09001a091ea25f0439353e3
data/README.md CHANGED
@@ -60,7 +60,8 @@ $ simulator \
60
60
 
61
61
  Feedbacks, bus reports, questions and etc. are welcome! You can post them bu using following ways:
62
62
 
63
- * [GitHub Issue Tracker](https://github.com/rggen/rggen-vhdl/issues)
63
+ * [GitHub Issue Tracker](https://github.com/rggen/rggen/issues)
64
+ * [GitHub Discussions](https://github.com/rggen/rggen/discussions)
64
65
  * [Chat Room](https://gitter.im/rggen/rggen)
65
66
  * [Mailing List](https://groups.google.com/d/forum/rggen)
66
67
  * [Mail](mailto:rggen@googlegroups.com)
@@ -0,0 +1,18 @@
1
+ u_bit_field: entity work.rggen_bit_field_w01trg
2
+ generic map (
3
+ WRITE_ONE_TRIGGER => <%= write_one_trigger? %>,
4
+ WIDTH => <%= width %>
5
+ )
6
+ port map (
7
+ i_clk => i_clk,
8
+ i_rst_n => i_rst_n,
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
+ i_value => <%= reference_or_value_in %>,
17
+ o_trigger => <%= trigger[loop_variables] %>
18
+ );
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:bit_field, :type, [:row0trg, :row1trg]) do
4
+ vhdl do
5
+ build do
6
+ unless bit_field.reference?
7
+ input :value_in, {
8
+ name: "i_#{full_name}", width: width, array_size: array_size
9
+ }
10
+ end
11
+ output :trigger, {
12
+ name: "o_#{full_name}_trigger", width: width, array_size: array_size
13
+ }
14
+ end
15
+
16
+ main_code :bit_field, from_template: true
17
+
18
+ private
19
+
20
+ def write_one_trigger?
21
+ bit_field.type == :row1trg
22
+ end
23
+
24
+ def reference_or_value_in
25
+ reference_bit_field || value_in[loop_variables]
26
+ end
27
+ end
28
+ end
@@ -13,5 +13,6 @@ u_bit_field: entity work.rggen_bit_field_w01trg
13
13
  i_sw_write_data => <%= bit_field_write_data %>,
14
14
  o_sw_read_data => <%= bit_field_read_data %>,
15
15
  o_sw_value => <%= bit_field_value %>,
16
+ i_value => (others => '0'),
16
17
  o_trigger => <%= trigger[loop_variables] %>
17
18
  );
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module VHDL
5
- VERSION = '0.2.1'
5
+ VERSION = '0.3.0'
6
6
  end
7
7
  end
data/lib/rggen/vhdl.rb CHANGED
@@ -10,44 +10,43 @@ require_relative 'vhdl/component'
10
10
  require_relative 'vhdl/feature'
11
11
  require_relative 'vhdl/factories'
12
12
 
13
- module RgGen
14
- module VHDL
15
- extend Core::Plugin
13
+ RgGen.setup_plugin :'rggen-vhdl' do |plugin|
14
+ plugin.version RgGen::VHDL::VERSION
16
15
 
17
- setup_plugin :'rggen-vhdl' do |plugin|
18
- plugin.register_component :vhdl do
19
- component Component, ComponentFactory
20
- feature Feature, FeatureFactory
21
- end
22
-
23
- plugin.files [
24
- 'vhdl/bit_field/type',
25
- 'vhdl/bit_field/type/rc_w0c_w1c_wc_woc',
26
- 'vhdl/bit_field/type/ro_rotrg',
27
- 'vhdl/bit_field/type/rof',
28
- 'vhdl/bit_field/type/rowo_rowotrg',
29
- 'vhdl/bit_field/type/rs_w0s_w1s_ws_wos',
30
- 'vhdl/bit_field/type/rw_rwtrg_w1',
31
- 'vhdl/bit_field/type/rwc',
32
- 'vhdl/bit_field/type/rwe_rwl',
33
- 'vhdl/bit_field/type/rws',
34
- 'vhdl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc',
35
- 'vhdl/bit_field/type/w0t_w1t',
36
- 'vhdl/bit_field/type/w0trg_w1trg',
37
- 'vhdl/bit_field/type/wo_wo1_wotrg',
38
- 'vhdl/bit_field/type/wrc_wrs',
39
- 'vhdl/bit_field/vhdl_top',
40
- 'vhdl/register/type',
41
- 'vhdl/register/type/external',
42
- 'vhdl/register/type/indirect',
43
- 'vhdl/register/vhdl_top',
44
- 'vhdl/register_block/protocol',
45
- 'vhdl/register_block/protocol/apb',
46
- 'vhdl/register_block/protocol/axi4lite',
47
- 'vhdl/register_block/protocol/wishbone',
48
- 'vhdl/register_block/vhdl_top',
49
- 'vhdl/register_file/vhdl_top'
50
- ]
51
- end
16
+ plugin.register_component :vhdl do
17
+ component RgGen::VHDL::Component,
18
+ RgGen::VHDL::ComponentFactory
19
+ feature RgGen::VHDL::Feature,
20
+ RgGen::VHDL::FeatureFactory
52
21
  end
22
+
23
+ plugin.files [
24
+ 'vhdl/register_block/vhdl_top',
25
+ 'vhdl/register_block/protocol',
26
+ 'vhdl/register_block/protocol/apb',
27
+ 'vhdl/register_block/protocol/axi4lite',
28
+ 'vhdl/register_block/protocol/wishbone',
29
+ 'vhdl/register_file/vhdl_top',
30
+ 'vhdl/register/vhdl_top',
31
+ 'vhdl/register/type',
32
+ 'vhdl/register/type/external',
33
+ 'vhdl/register/type/indirect',
34
+ 'vhdl/bit_field/vhdl_top',
35
+ 'vhdl/bit_field/type',
36
+ 'vhdl/bit_field/type/rc_w0c_w1c_wc_woc',
37
+ 'vhdl/bit_field/type/ro_rotrg',
38
+ 'vhdl/bit_field/type/rof',
39
+ 'vhdl/bit_field/type/row0trg_row1trg',
40
+ 'vhdl/bit_field/type/rowo_rowotrg',
41
+ 'vhdl/bit_field/type/rs_w0s_w1s_ws_wos',
42
+ 'vhdl/bit_field/type/rw_rwtrg_w1',
43
+ 'vhdl/bit_field/type/rwc',
44
+ 'vhdl/bit_field/type/rwe_rwl',
45
+ 'vhdl/bit_field/type/rws',
46
+ 'vhdl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc',
47
+ 'vhdl/bit_field/type/w0t_w1t',
48
+ 'vhdl/bit_field/type/w0trg_w1trg',
49
+ 'vhdl/bit_field/type/wo_wo1_wotrg',
50
+ 'vhdl/bit_field/type/wrc_wrs'
51
+ ]
53
52
  end
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.2.1
4
+ version: 0.3.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: 2022-06-07 00:00:00.000000000 Z
11
+ date: 2022-07-05 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.26.0
19
+ version: 0.27.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.26.0
26
+ version: 0.27.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -56,6 +56,8 @@ files:
56
56
  - lib/rggen/vhdl/bit_field/type/ro_rotrg.rb
57
57
  - lib/rggen/vhdl/bit_field/type/rof.erb
58
58
  - lib/rggen/vhdl/bit_field/type/rof.rb
59
+ - lib/rggen/vhdl/bit_field/type/row0trg_row1trg.erb
60
+ - lib/rggen/vhdl/bit_field/type/row0trg_row1trg.rb
59
61
  - lib/rggen/vhdl/bit_field/type/rowo_rowotrg.erb
60
62
  - lib/rggen/vhdl/bit_field/type/rowo_rowotrg.rb
61
63
  - lib/rggen/vhdl/bit_field/type/rs_w0s_w1s_ws_wos.erb
@@ -100,7 +102,6 @@ files:
100
102
  - lib/rggen/vhdl/register_block/vhdl_top.erb
101
103
  - lib/rggen/vhdl/register_block/vhdl_top.rb
102
104
  - lib/rggen/vhdl/register_file/vhdl_top.rb
103
- - lib/rggen/vhdl/setup.rb
104
105
  - lib/rggen/vhdl/utility.rb
105
106
  - lib/rggen/vhdl/utility/data_object.rb
106
107
  - lib/rggen/vhdl/utility/identifier.rb
@@ -110,7 +111,7 @@ homepage: https://github.com/rggen/rggen-vhdl
110
111
  licenses:
111
112
  - MIT
112
113
  metadata:
113
- bug_tracker_uri: https://github.com/rggen/rggen-vhdl/issues
114
+ bug_tracker_uri: https://github.com/rggen/rggen/issues
114
115
  mailing_list_uri: https://groups.google.com/d/forum/rggen
115
116
  rubygems_mfa_required: 'true'
116
117
  source_code_uri: https://github.com/rggen/rggen-vhdl
@@ -133,5 +134,5 @@ requirements: []
133
134
  rubygems_version: 3.3.3
134
135
  signing_key:
135
136
  specification_version: 4
136
- summary: rggen-vhdl-0.2.1
137
+ summary: rggen-vhdl-0.3.0
137
138
  test_files: []
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rggen/vhdl'
4
-
5
- RgGen.register_plugin RgGen::VHDL do |builder|
6
- builder.load_plugin 'rggen/systemverilog/rtl/setup'
7
- builder.enable :register_block, [:vhdl_top]
8
- builder.enable :register_file, [:vhdl_top]
9
- builder.enable :register, [:vhdl_top]
10
- builder.enable :bit_field, [:vhdl_top]
11
- end