rggen 0.22.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +66 -0
  3. data/LICENSE +1 -1
  4. data/README.md +27 -17
  5. data/lib/rggen/version.rb +1 -1
  6. metadata +15 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be22d67ba08a64cc04e330eeacf65055a507b76905bcc4bc2025b5d137ed5b46
4
- data.tar.gz: c184356e22a0e0e54a786e417c2c3164e5734e8ffeeec5c5720fc3b7eabde36e
3
+ metadata.gz: b52b2a9f17c8ad13e4bb79b2ce15ed67107598a728c4a0e9391e1bfdcbc1e6f8
4
+ data.tar.gz: 179a4a5cc6f93005a0a00dc27a2acdfcf2a5cf2c38f724237fd036e9ea1ff026
5
5
  SHA512:
6
- metadata.gz: 3f9b51494e51c2fbe872b3c8f484f1d5123ec0e4a7c07929fa6ac61c40f6257ef9116d99d48bd1e44cd929707d677d5c5ea619f8f1119698fa1a61738aacefe2
7
- data.tar.gz: a48281121af3feae6e199db30aaf389919616223b65da4bd09076b5f6538a4c05e5cbdf24e1c189eda874401396049bab9edd3cfaaf33fe9c8d969f29f39a0d8
6
+ metadata.gz: fcaa357f4358aed00e9f822c65337947844868443ddf8ada9740e938e9e9f138b6f054eea5fabb737273611b7f67f2f6ca13b2cdda448728d64a5a50106f3633
7
+ data.tar.gz: 23068a492c0dd75a4589260e3b2ec862d533697796331ef2c384ef6b7e97f2afcf3f7d6d05e1a8f2decec82806c96d15ba251ec2b6293aa2c620ee2016920be0
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,66 @@
1
+ # Contributing
2
+
3
+ Your contributions are welcome!
4
+
5
+ ## Bug Report
6
+
7
+ You can submit bug reports on [GitHub Issue Tracker](https://github.com/rggen/rggen/issues).
8
+ Please include information below in your report:
9
+
10
+ * How to reproduce the bug which you found
11
+ * test code
12
+ * command
13
+ * Information about your environment
14
+ * Ruby/RgGen version
15
+ * OS
16
+ * etc.
17
+ * Expected result
18
+
19
+ ## Question
20
+
21
+ Questions are accepted on following channels:
22
+
23
+ * [GitHub Discussions](https://github.com/rggen/rggen/discussions)
24
+ * [GitHub Issue Tracker](https://github.com/rggen/rggen/issues)
25
+ * [Gitter Chat Room](https://gitter.im/rggen/rggen)
26
+
27
+ ## Enhancement Request
28
+
29
+ You can submit your enhancement request on [GitHub Issue Tracker](https://github.com/rggen/rggen/issues).
30
+
31
+ ## Pull Request
32
+
33
+ You can also submit pull requests on [GitHub Issue Tracker](https://github.com/rggen/rggen/pulls)
34
+ to fix the bug which you found or implement enhancements which you want.
35
+
36
+ 1. Fork the repositories which you will change
37
+ 2. Setup your working environment
38
+ * See the next section
39
+ 3. Add your change to the repositories
40
+ * You need to add RSpec exmaples if you add new features
41
+ * You need to make sure all existing RSpec examples pass
42
+ * Invoke `rake spec` on the repositry root
43
+ 4. Make sure all existing RSpec exmaples for other repositories pass
44
+ * Invoke command below on the working directory
45
+ * `./rggen-devtools/bin/run_all_spec.rb`
46
+ 5. Commit your changes and submit a pull request
47
+
48
+ ### Setup Working Environment
49
+
50
+ 1. Create a working directory
51
+ 2. Clone your forked version of the repositories to the working directory
52
+ 3. Clone folloiwng repositories for development tools to the working directory
53
+ * https://github.com/rggen/rggen-devtools
54
+ * https://github.com/rggen/rggen-checkout
55
+ 4. Clone other RgGen's repositories
56
+ * Invoke commnad below on to the working directory
57
+ * `./rggen-devtools/bin/checkout --list ./rggen-checkout/all.yml --dir .`
58
+
59
+ ```
60
+ $ mkdir work
61
+ $ cd work
62
+ $ git clone git@github.com:yourname/your_repository.git
63
+ $ git clone git@github.com:rggen/rggen-devtools.git
64
+ $ git clone git@github.com:rggen/rggen-checkout.git
65
+ $ ./rggen-devtools/bin/checkout.rb --list ./rggen-checkout/all.yml --dir .
66
+ ```
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
 
@@ -28,7 +34,7 @@ RgGen has following features:
28
34
 
29
35
  ### Ruby
30
36
 
31
- RgGen is written in the [Ruby](https://www.ruby-lang.org/en/about/) programing language and its required version is 2.4 or later. You need to install any of these versions of Ruby before installing RgGen tool. To install Ruby, see [this page](https://www.ruby-lang.org/en/downloads/).
37
+ RgGen is written in the [Ruby](https://www.ruby-lang.org/en/about/) programing language and its required version is 2.5 or later. You need to install any of these versions of Ruby before installing RgGen tool. To install Ruby, see [this page](https://www.ruby-lang.org/en/downloads/).
32
38
 
33
39
  ### Installatin Command
34
40
 
@@ -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,28 +107,31 @@ 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
118
122
  * https://github.com/rggen/rggen-sample/blob/master/block_0.md
119
123
  * https://github.com/rggen/rggen-sample/blob/master/block_1.md
120
124
 
125
+ ## Contributing
126
+
127
+ See [Contributing Guide](CONTRIBUTING.md).
128
+
121
129
  ## Contact
122
130
 
123
131
  Feedbacks, bug reports, questions and etc. are wellcome! You can post them by using following ways:
124
132
 
125
133
  * [GitHub Issue Tracker](https://github.com/rggen/rggen/issues)
134
+ * [GitHub Discussions](https://github.com/rggen/rggen/discussions)
126
135
  * [Chat Room](https://gitter.im/rggen/rggen)
127
136
  * [Mailing List](https://groups.google.com/d/forum/rggen)
128
137
  * [Mail](mailto:rggen@googlegroups.com)
@@ -134,12 +143,13 @@ Feedbacks, bug reports, questions and etc. are wellcome! You can post them by us
134
143
  * https://github.com/rggen/rggen-systemverilog
135
144
  * https://github.com/rggen/rggen-markdown
136
145
  * https://github.com/rggen/rggen-spreadsheet-loader
137
-
146
+ * https://github.com/rggen/rggen-duh
147
+ * https://github.com/rggen/rggen-verilog
138
148
 
139
149
  ## Copyright & License
140
150
 
141
- Copyright © 2019-2020 Taichi Ishitani. RgGen is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher detils.
151
+ Copyright © 2019-2021 Taichi Ishitani. RgGen is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher detils.
142
152
 
143
153
  ## Code of Conduct
144
154
 
145
- Everyone interacting in the RgGen project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rggen/rggen/blob/master/CODE_OF_CONDUCT.md).
155
+ Everyone interacting in the RgGen project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](CODE_OF_CONDUCT.md).
data/lib/rggen/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RgGen
4
- VERSION = '0.22.0'
4
+ VERSION = '0.25.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.22.0
4
+ version: 0.25.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-08-17 00:00:00.000000000 Z
11
+ date: 2021-02-28 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.22.0
19
+ version: 0.25.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.22.0
26
+ version: 0.25.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.22.0
33
+ version: 0.25.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.22.0
40
+ version: 0.25.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.19.0
47
+ version: 0.21.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.19.0
54
+ version: 0.21.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.18.0
61
+ version: 0.20.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.18.0
68
+ version: 0.20.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.22.0
75
+ version: 0.25.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.22.0
82
+ version: 0.25.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -105,6 +105,7 @@ extensions: []
105
105
  extra_rdoc_files: []
106
106
  files:
107
107
  - CODE_OF_CONDUCT.md
108
+ - CONTRIBUTING.md
108
109
  - LICENSE
109
110
  - README.md
110
111
  - lib/rggen.rb
@@ -126,14 +127,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
126
127
  requirements:
127
128
  - - ">="
128
129
  - !ruby/object:Gem::Version
129
- version: '2.4'
130
+ version: '2.5'
130
131
  required_rubygems_version: !ruby/object:Gem::Requirement
131
132
  requirements:
132
133
  - - ">="
133
134
  - !ruby/object:Gem::Version
134
135
  version: '0'
135
136
  requirements: []
136
- rubygems_version: 3.1.2
137
+ rubygems_version: 3.2.3
137
138
  signing_key:
138
139
  specification_version: 4
139
140
  summary: Code generation tool for configuration and status registers