rggen 0.26.0 → 0.27.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +20 -11
- data/lib/rggen/{setup.rb → default.rb} +1 -0
- data/lib/rggen/version.rb +1 -1
- metadata +27 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3d98004ada53592cc11d8301f01a549ab864231cc0bf5230ce56ee7e1dc4902
|
4
|
+
data.tar.gz: d9fe6befd5c5a12de06f8c3d9f53c35e606b66fcb86b9a4c1281da4e0852aa4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92914751ec660f93b86ba835fb688afbebad015e22a7f8eb6c7cfa932ade187f7d0dc7c2579240c33c00622e1208505e5bbf91017f2b79ec860de33ba6142b8c
|
7
|
+
data.tar.gz: d17f8758bcd7e05392a79cfacc5f5c20edb6e103515abb56882fc7aab50919e469f1ca3094bf38d9b45350f462bce7dbe3ab9197b5a22587bb1c8b6245f108ce
|
data/README.md
CHANGED
@@ -11,17 +11,23 @@
|
|
11
11
|
|
12
12
|
# RgGen
|
13
13
|
|
14
|
-
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.
|
14
|
+
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/uvm_reg), C header file, Wiki documents, from human readable register map specifications.
|
15
15
|
|
16
16
|
RgGen has following features:
|
17
17
|
|
18
18
|
* Generate source files related to CSR from register map specifications
|
19
|
-
*
|
20
|
-
|
21
|
-
*
|
22
|
-
|
23
|
-
*
|
24
|
-
|
19
|
+
* RTL module
|
20
|
+
* SystemVerilog
|
21
|
+
* Verilog
|
22
|
+
* Need [rggen-verilog](https://github.com/rggen/rggen-verilog) plugin
|
23
|
+
* VHDL
|
24
|
+
* Need [rggen-vhdl](https://github.com/rggen/rggen-vhdl) plugin
|
25
|
+
* Supports standard bus protocols
|
26
|
+
* AMBA APB
|
27
|
+
* AMBA AXI4-Lite
|
28
|
+
* Wishbone
|
29
|
+
* UVM register model (UVM RAL/uvm_reg)
|
30
|
+
* C header file
|
25
31
|
* Register map documents written in Markdown
|
26
32
|
* Register map specifications can be written in human readable format
|
27
33
|
* Ruby with APIs to describe register map information
|
@@ -47,6 +53,7 @@ RgGen depends on following sub components and other Ruby libraries.
|
|
47
53
|
* [rggen-core](https://github.com/rggen/rggen-core)
|
48
54
|
* [rggen-default-register-map](https://github.com/rggen/rggen-default-register-map)
|
49
55
|
* [rggen-systemverilog](https://github.com/rggen/rggen-systemverilog)
|
56
|
+
* [rggen-c-header](https://github.com/rggen/rggen-c-header)
|
50
57
|
* [rggen-markdown](https://github.com/rggen/rggen-markdown)
|
51
58
|
* [rggen-spreadsheet-loader](https://github.com/rggen/rggen-spreadsheet-loader)
|
52
59
|
|
@@ -92,8 +99,6 @@ Following EDA tools can accept the generated source files.
|
|
92
99
|
* Synopsys VCS
|
93
100
|
* Cadence Xcelium
|
94
101
|
* Xilinx Vivado Simulator
|
95
|
-
* Confirmed RTL only
|
96
|
-
* Not sure if UVM register models are accepted
|
97
102
|
* Verilator
|
98
103
|
* Need `-Wno-fatal` switch
|
99
104
|
* Icarus Verilog
|
@@ -107,7 +112,7 @@ Following EDA tools can accept the generated source files.
|
|
107
112
|
|
108
113
|
## Example
|
109
114
|
|
110
|
-
You can get example configuration file and register map
|
115
|
+
You can get an example configuration file and register map specifications listed below:
|
111
116
|
|
112
117
|
* Configuration file
|
113
118
|
* https://github.com/rggen/rggen-sample/blob/master/config.yml
|
@@ -115,7 +120,7 @@ You can get example configuration file and register map specification listed bel
|
|
115
120
|
* https://github.com/rggen/rggen-sample/blob/master/block_0.yml
|
116
121
|
* https://github.com/rggen/rggen-sample/blob/master/block_1.yml
|
117
122
|
|
118
|
-
|
123
|
+
You can try to use RgGen by uisng these example files. Hit command below:
|
119
124
|
|
120
125
|
```
|
121
126
|
$ rggen -c config.yml -o out block_0.yml block_1.yml
|
@@ -132,6 +137,9 @@ Then, generated files listed below will be written to `out` directory.
|
|
132
137
|
* UVM register model
|
133
138
|
* https://github.com/rggen/rggen-sample/blob/master/block_0_ral_pkg.sv
|
134
139
|
* https://github.com/rggen/rggen-sample/blob/master/block_1_ral_pkg.sv
|
140
|
+
* C header file
|
141
|
+
* https://github.com/rggen/rggen-sample/blob/master/block_0.h
|
142
|
+
* https://github.com/rggen/rggen-sample/blob/master/block_1.h
|
135
143
|
* Markdown document
|
136
144
|
* https://github.com/rggen/rggen-sample/blob/master/block_0.md
|
137
145
|
* https://github.com/rggen/rggen-sample/blob/master/block_1.md
|
@@ -155,6 +163,7 @@ Feedbacks, bug reports, questions and etc. are wellcome! You can post them by us
|
|
155
163
|
* https://github.com/rggen/rggen-core
|
156
164
|
* https://github.com/rggen/rggen-default-register-map
|
157
165
|
* https://github.com/rggen/rggen-systemverilog
|
166
|
+
* https://github.com/rggen/rggen-c-header
|
158
167
|
* https://github.com/rggen/rggen-markdown
|
159
168
|
* https://github.com/rggen/rggen-spreadsheet-loader
|
160
169
|
* https://github.com/rggen/rggen-duh
|
data/lib/rggen/version.rb
CHANGED
metadata
CHANGED
@@ -1,85 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rggen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.27.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-
|
11
|
+
date: 2022-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rggen-c-header
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.2.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.2.0
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rggen-core
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
31
|
- - "~>"
|
18
32
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
33
|
+
version: 0.27.0
|
20
34
|
type: :runtime
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
38
|
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
40
|
+
version: 0.27.0
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rggen-default-register-map
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
45
|
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
47
|
+
version: 0.27.0
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
54
|
+
version: 0.27.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rggen-markdown
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
61
|
+
version: 0.23.0
|
48
62
|
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
68
|
+
version: 0.23.0
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rggen-spreadsheet-loader
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
75
|
+
version: 0.22.0
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
82
|
+
version: 0.22.0
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rggen-systemverilog
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
89
|
+
version: 0.27.0
|
76
90
|
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
96
|
+
version: 0.27.0
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: bundler
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,7 +123,7 @@ files:
|
|
109
123
|
- LICENSE
|
110
124
|
- README.md
|
111
125
|
- lib/rggen.rb
|
112
|
-
- lib/rggen/
|
126
|
+
- lib/rggen/default.rb
|
113
127
|
- lib/rggen/version.rb
|
114
128
|
- logo/rggen.png
|
115
129
|
homepage: https://github.com/rggen/rggen
|