rggen 0.21.1 → 0.24.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: a18626dec0ea2a24e6f903ccf7e0358d336c792bdcdfb16d81069bed457aebaf
4
- data.tar.gz: bc6778b78ae229dc3b06ae73381e751acffae2b46e30d274b522f980fb488277
3
+ metadata.gz: 047c661382bb6d82aad5f9b53f1585ef1d74ddec0c214db705ce89995206c40d
4
+ data.tar.gz: 33c9b71866b88141abbea7763e7b68fded4b1813619b5fc63cb6ffac9d0b9b71
5
5
  SHA512:
6
- metadata.gz: 02b3ff51a83d42465c0b5f731ecbe83cd5f9ab5744019d1742af4b7fea0e61d971ea6eee4d9d93d21baf70a700399d1b84fbab7cc328b3983fd2f3f96360256c
7
- data.tar.gz: bc467c5809fed7ac7e20754c6268e7bb20f1f9380db575eea6c2df4cd5472cb158301fff2f018293d046a671dccbe92bba6ddee69d14ae6fbaf63544404f025d
6
+ metadata.gz: 4570c9d46069b2456ca16e42a7537ab0b8cd2852f264e29159ee72e13e9e3af6945ce882bbfa7bcd5860d65b5df2c3c4ef883bf5d1ec6ec7c8c48a95e62dffe5
7
+ data.tar.gz: 6acb861778c064e8d133bb73ee195630727036f92150563d757568100e2e60756c75964a4a047375c79b0a30f5fb73851bead56281b379b823fbed53e91ae498
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2019-2020 Taichi Ishitani
3
+ Copyright (c) 2019-2021 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
@@ -5,22 +5,28 @@
5
5
  [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=rggen_rggen&metric=alert_status)](https://sonarcloud.io/dashboard?id=rggen_rggen)
6
6
  [![Gitter](https://badges.gitter.im/rggen/rggen.svg)](https://gitter.im/rggen/rggen?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
7
7
 
8
+ [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/A0A231E3I)
9
+
8
10
  # RgGen
9
11
 
10
- RgGen is a code generation tool for ASIC/IP/FPGA/RTL engineers. It will automatically generate soruce code related to configuration and status registers (CSR), e.g. SytemVerilog RTL, UVM RAL model, Wiki documents, from human readable register map specifications.
12
+ RgGen is a code generation tool for ASIC/IP/FPGA/RTL engineers. It will automatically generate soruce code related to configuration and status registers (CSR), e.g. SytemVerilog RTL, UVM register model (UVM RAL), Wiki documents, from human readable register map specifications.
11
13
 
12
14
  RgGen has following features:
13
15
 
14
16
  * Generate source files related to CSR from register map specifications
15
17
  * SystemVerilog RTL
16
- * UVM RAL model
18
+ * Verilog RTL
19
+ * Need [rggen-verilog](https://github.com/rggen/rggen-verilog) plugin
20
+ * UVM register model (UVM RAL)
17
21
  * Register map documents written in Markdown
18
22
  * Register map specifications can be written in human readable format
19
- * Supported formats are listed below:
20
- * Ruby with APIs to describe register map information
21
- * YAML
22
- * JSON
23
- * Spreadsheet (XLSX, XLS, OSD, CSV)
23
+ * Ruby with APIs to describe register map information
24
+ * YAML
25
+ * JSON
26
+ * TOML
27
+ * Spreadsheet (XLSX, XLS, OSD, CSV)
28
+ * [SiFive DUH](https://github.com/sifive/duh)
29
+ * Need [rggen-duh](https://github.com/rggen/rggen-duh) plugin
24
30
  * Costomize RgGen for you environment
25
31
  * E.g. add special bit field types
26
32
 
@@ -77,7 +83,7 @@ Following EDA tools can accept the generated source files.
77
83
  * Cadence Xcelium
78
84
  * Xilinx Vivado Simulator
79
85
  * Confirmed RTL only
80
- * Not sure if RAL models are accepted
86
+ * Not sure if UVM register models are accepted
81
87
  * Verilator
82
88
  * Need `-Wno-fatal` switch
83
89
  * Synthesis tools
@@ -101,17 +107,15 @@ By using these example files, you can try to use RgGen. Hit command below:
101
107
  $ rggen -c config.yml -o out block_0.yml block_1.yml
102
108
  ```
103
109
 
104
- * `-c`
105
- * Specify path to your configuration file
106
- * `-o`
107
- * Specify path to the directory where generated files will be written to
110
+ * `-c`: Specify path to your configuration file
111
+ * `-o`: Specify path to the directory where generated files will be written to
108
112
 
109
113
  Then, generated files listed below will be written to `out` directory.
110
114
 
111
115
  * SystemVerilog RTL
112
116
  * https://github.com/rggen/rggen-sample/blob/master/block_0.sv
113
117
  * https://github.com/rggen/rggen-sample/blob/master/block_1.sv
114
- * UVM RAL model
118
+ * UVM register model
115
119
  * https://github.com/rggen/rggen-sample/blob/master/block_0_ral_pkg.sv
116
120
  * https://github.com/rggen/rggen-sample/blob/master/block_1_ral_pkg.sv
117
121
  * Markdown document
@@ -123,6 +127,7 @@ Then, generated files listed below will be written to `out` directory.
123
127
  Feedbacks, bug reports, questions and etc. are wellcome! You can post them by using following ways:
124
128
 
125
129
  * [GitHub Issue Tracker](https://github.com/rggen/rggen/issues)
130
+ * [GitHub Discussions](https://github.com/rggen/rggen/discussions)
126
131
  * [Chat Room](https://gitter.im/rggen/rggen)
127
132
  * [Mailing List](https://groups.google.com/d/forum/rggen)
128
133
  * [Mail](mailto:rggen@googlegroups.com)
@@ -134,11 +139,12 @@ Feedbacks, bug reports, questions and etc. are wellcome! You can post them by us
134
139
  * https://github.com/rggen/rggen-systemverilog
135
140
  * https://github.com/rggen/rggen-markdown
136
141
  * https://github.com/rggen/rggen-spreadsheet-loader
137
-
142
+ * https://github.com/rggen/rggen-duh
143
+ * https://github.com/rggen/rggen-verilog
138
144
 
139
145
  ## Copyright & License
140
146
 
141
- Copyright © 2019-2020 Taichi Ishitani. RgGen is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher detils.
147
+ Copyright © 2019-2021 Taichi Ishitani. RgGen is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher detils.
142
148
 
143
149
  ## Code of Conduct
144
150
 
@@ -1,4 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'rggen/version'
4
- require_relative 'rggen/default_setup_file'
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.load_plugin 'rggen-default-register-map'
4
+ RgGen.load_plugin 'rggen-systemverilog/rtl'
5
+ RgGen.load_plugin 'rggen-systemverilog/ral'
6
+ RgGen.load_plugin 'rggen-markdown'
7
+ RgGen.load_plugin 'rggen-spreadsheet-loader'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RgGen
4
- VERSION = '0.21.1'
4
+ VERSION = '0.24.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.1
4
+ version: 0.24.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: 2020-07-24 00:00:00.000000000 Z
11
+ date: 2021-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rggen-core
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.21.0
19
+ version: 0.24.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.21.0
26
+ version: 0.24.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rggen-default-register-map
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.21.0
33
+ version: 0.24.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.21.0
40
+ version: 0.24.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rggen-markdown
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.18.0
47
+ version: 0.20.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.18.0
54
+ version: 0.20.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rggen-spreadsheet-loader
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.17.0
61
+ version: 0.19.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.17.0
68
+ version: 0.19.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rggen-systemverilog
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.21.1
75
+ version: 0.24.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.21.1
82
+ version: 0.24.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -108,8 +108,7 @@ files:
108
108
  - LICENSE
109
109
  - README.md
110
110
  - lib/rggen.rb
111
- - lib/rggen/default.rb
112
- - lib/rggen/default_setup_file.rb
111
+ - lib/rggen/setup.rb
113
112
  - lib/rggen/version.rb
114
113
  homepage: https://github.com/rggen/rggen
115
114
  licenses:
@@ -134,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
133
  - !ruby/object:Gem::Version
135
134
  version: '0'
136
135
  requirements: []
137
- rubygems_version: 3.1.2
136
+ rubygems_version: 3.2.3
138
137
  signing_key:
139
138
  specification_version: 4
140
139
  summary: Code generation tool for configuration and status registers
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rggen/default_register_map/setup'
4
- require 'rggen/systemverilog/rtl/setup'
5
- require 'rggen/systemverilog/ral/setup'
6
- require 'rggen/markdown/setup'
7
- require 'rggen/spreadsheet_loader/setup'
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RgGen
4
- DEFAULT_SETUP_FILE = File.join(__dir__, 'default.rb').freeze
5
- end