rggen 0.23.0 → 0.25.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +66 -0
- data/LICENSE +1 -1
- data/README.md +26 -18
- data/lib/rggen/version.rb +1 -1
- metadata +15 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 147c36b9a7ceb0524adf5645ea90506daaf41b8255f4b4f49edfa5f9153033ca
|
4
|
+
data.tar.gz: c58afb983c9b6e8524ef68c391eb06038bdc37c9f8838e38e4a101ee1275008b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14a7ecbac475586af147de21e07cc5decbf1518e2f153e6d7e0718a15b1ecf4a108eba9fcd21b6fcdedc528b361d8f3e02d12a1fb8b4a45de3e1e3f3678b8210
|
7
|
+
data.tar.gz: 23ceba9ff7a579e5ef7d06acf89b3f00d38af3f6a59c32ef535a9a797f608ce9bbfb62b3843112e2b919a3a6d21f670a214fdebf718ade6a2f27215461f89cef
|
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-
|
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,24 +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
|
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
|
-
*
|
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
|
-
*
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
26
30
|
* Costomize RgGen for you environment
|
27
31
|
* E.g. add special bit field types
|
28
32
|
|
@@ -30,7 +34,7 @@ RgGen has following features:
|
|
30
34
|
|
31
35
|
### Ruby
|
32
36
|
|
33
|
-
RgGen is written in the [Ruby](https://www.ruby-lang.org/en/about/) programing language and its required version is 2.
|
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/).
|
34
38
|
|
35
39
|
### Installatin Command
|
36
40
|
|
@@ -79,7 +83,7 @@ Following EDA tools can accept the generated source files.
|
|
79
83
|
* Cadence Xcelium
|
80
84
|
* Xilinx Vivado Simulator
|
81
85
|
* Confirmed RTL only
|
82
|
-
* Not sure if
|
86
|
+
* Not sure if UVM register models are accepted
|
83
87
|
* Verilator
|
84
88
|
* Need `-Wno-fatal` switch
|
85
89
|
* Synthesis tools
|
@@ -103,28 +107,31 @@ By using these example files, you can try to use RgGen. Hit command below:
|
|
103
107
|
$ rggen -c config.yml -o out block_0.yml block_1.yml
|
104
108
|
```
|
105
109
|
|
106
|
-
* `-c
|
107
|
-
|
108
|
-
* `-o`
|
109
|
-
* 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
|
110
112
|
|
111
113
|
Then, generated files listed below will be written to `out` directory.
|
112
114
|
|
113
115
|
* SystemVerilog RTL
|
114
116
|
* https://github.com/rggen/rggen-sample/blob/master/block_0.sv
|
115
117
|
* https://github.com/rggen/rggen-sample/blob/master/block_1.sv
|
116
|
-
* UVM
|
118
|
+
* UVM register model
|
117
119
|
* https://github.com/rggen/rggen-sample/blob/master/block_0_ral_pkg.sv
|
118
120
|
* https://github.com/rggen/rggen-sample/blob/master/block_1_ral_pkg.sv
|
119
121
|
* Markdown document
|
120
122
|
* https://github.com/rggen/rggen-sample/blob/master/block_0.md
|
121
123
|
* https://github.com/rggen/rggen-sample/blob/master/block_1.md
|
122
124
|
|
125
|
+
## Contributing
|
126
|
+
|
127
|
+
See [Contributing Guide](CONTRIBUTING.md).
|
128
|
+
|
123
129
|
## Contact
|
124
130
|
|
125
131
|
Feedbacks, bug reports, questions and etc. are wellcome! You can post them by using following ways:
|
126
132
|
|
127
133
|
* [GitHub Issue Tracker](https://github.com/rggen/rggen/issues)
|
134
|
+
* [GitHub Discussions](https://github.com/rggen/rggen/discussions)
|
128
135
|
* [Chat Room](https://gitter.im/rggen/rggen)
|
129
136
|
* [Mailing List](https://groups.google.com/d/forum/rggen)
|
130
137
|
* [Mail](mailto:rggen@googlegroups.com)
|
@@ -137,11 +144,12 @@ Feedbacks, bug reports, questions and etc. are wellcome! You can post them by us
|
|
137
144
|
* https://github.com/rggen/rggen-markdown
|
138
145
|
* https://github.com/rggen/rggen-spreadsheet-loader
|
139
146
|
* https://github.com/rggen/rggen-duh
|
147
|
+
* https://github.com/rggen/rggen-verilog
|
140
148
|
|
141
149
|
## Copyright & License
|
142
150
|
|
143
|
-
Copyright © 2019-
|
151
|
+
Copyright © 2019-2021 Taichi Ishitani. RgGen is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher detils.
|
144
152
|
|
145
153
|
## Code of Conduct
|
146
154
|
|
147
|
-
Everyone interacting in the RgGen project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](
|
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
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.
|
4
|
+
version: 0.25.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taichi Ishitani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-02 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.
|
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.
|
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.
|
33
|
+
version: 0.25.1
|
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.
|
40
|
+
version: 0.25.1
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
|