rggen 0.22.0 → 0.25.0
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 +27 -17
- 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: b52b2a9f17c8ad13e4bb79b2ce15ed67107598a728c4a0e9391e1bfdcbc1e6f8
|
4
|
+
data.tar.gz: 179a4a5cc6f93005a0a00dc27a2acdfcf2a5cf2c38f724237fd036e9ea1ff026
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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-
|
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
|
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
|
-
|
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.
|
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
|
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
|
-
|
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
|
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-
|
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](
|
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.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:
|
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.
|
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.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.
|
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.
|
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
|