rggen-vhdl 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rggen/vhdl/bit_field/type/custom.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rc_w0c_w1c_wc_woc.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/ro_rotrg.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rof.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rohw.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/row0trg_row1trg.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rowo_rowotrg.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rs_w0s_w1s_ws_wos.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rw_rwtrg_w1.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rwc.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rwe_rwl.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rwhw.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/rws.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/w0t_w1t.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/w0trg_w1trg.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/wo_wo1_wotrg.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type/wrc_wrs.erb +1 -1
- data/lib/rggen/vhdl/bit_field/type.rb +4 -0
- data/lib/rggen/vhdl/global/library_name.rb +16 -0
- data/lib/rggen/vhdl/register/type/default.erb +1 -1
- data/lib/rggen/vhdl/register/type/external.erb +1 -1
- data/lib/rggen/vhdl/register/type/indirect.erb +1 -1
- data/lib/rggen/vhdl/register/type/rw.erb +1 -1
- data/lib/rggen/vhdl/register/type.rb +12 -0
- data/lib/rggen/vhdl/register_block/protocol/apb.erb +1 -1
- data/lib/rggen/vhdl/register_block/protocol/axi4lite.erb +1 -1
- data/lib/rggen/vhdl/register_block/protocol/wishbone.erb +1 -1
- data/lib/rggen/vhdl/register_block/protocol.rb +4 -0
- data/lib/rggen/vhdl/register_block/vhdl_top.erb +4 -1
- data/lib/rggen/vhdl/register_block/vhdl_top.rb +8 -0
- data/lib/rggen/vhdl/version.rb +1 -1
- data/lib/rggen/vhdl.rb +1 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9872f0da195fb312788f08dd53b41e3336cc5ce3b2ad38faa8e91c20320a263
|
4
|
+
data.tar.gz: 75bcb850c0004427eb846bbc21fb44f6745a15f1e9ad3b0f31ba91e0b242fb6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0df2d72d345c9e4b81dc0955f8424d0d3706f0128fa9ea5789c2be6b5ae90dc9fb149a916fdee54a0765ab0b036bc7730fdfcd65487a6fa0b9c53b208212ffe
|
7
|
+
data.tar.gz: d84282983bf6b39be7c753fc1de6195d3f4d35457903a81896562ae759c02dd30c41fd5da637458b784aa5ee5de0bc015773f267b464f244db80036b10016e21
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RgGen.define_simple_feature(:global, :library_name) do
|
4
|
+
configuration do
|
5
|
+
property :library_name, default: 'work'
|
6
|
+
property :use_default_library?, body: -> { library_name.casecmp?('work') }
|
7
|
+
|
8
|
+
input_pattern variable_name
|
9
|
+
|
10
|
+
build do |value|
|
11
|
+
pattern_matched? ||
|
12
|
+
(error "illegal input value for library name: #{value.inspect}")
|
13
|
+
@library_name = match_data.to_s
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% index_fields_and_values.each_with_index do |(field, value), i| %>
|
2
2
|
<%= indirect_match[i] %> <= '1' when unsigned(<%= field %>) = <%= value %> else '0';
|
3
3
|
<% end %>
|
4
|
-
u_register: entity
|
4
|
+
u_register: entity <%= library_name %>.rggen_indirect_register
|
5
5
|
generic map (
|
6
6
|
READABLE => <%= readable? %>,
|
7
7
|
WRITABLE => <%= writable? %>,
|
@@ -20,6 +20,10 @@ RgGen.define_list_feature(:register, :type) do
|
|
20
20
|
register.writable?
|
21
21
|
end
|
22
22
|
|
23
|
+
def library_name
|
24
|
+
configuration.library_name
|
25
|
+
end
|
26
|
+
|
23
27
|
def clock
|
24
28
|
register_block.clock
|
25
29
|
end
|
@@ -91,6 +95,14 @@ RgGen.define_list_feature(:register, :type) do
|
|
91
95
|
def bit_field_value
|
92
96
|
register.bit_field_value
|
93
97
|
end
|
98
|
+
|
99
|
+
def format_offsets(offsets)
|
100
|
+
if integer?(offsets.first)
|
101
|
+
super(offsets)
|
102
|
+
else
|
103
|
+
super([0, *offsets])
|
104
|
+
end
|
105
|
+
end
|
94
106
|
end
|
95
107
|
|
96
108
|
default_feature do
|
@@ -2,7 +2,10 @@ library ieee;
|
|
2
2
|
use ieee.std_logic_1164.all;
|
3
3
|
use ieee.numeric_std.all;
|
4
4
|
|
5
|
-
|
5
|
+
<% unless use_default_library? %>
|
6
|
+
library <%= library_name %>;
|
7
|
+
<% end %>
|
8
|
+
use <%= library_name %>.rggen_rtl.all;
|
6
9
|
|
7
10
|
entity <%= register_block.name %> is
|
8
11
|
generic (
|
@@ -42,6 +42,14 @@ RgGen.define_simple_feature(:register_block, :vhdl_top) do
|
|
42
42
|
|
43
43
|
private
|
44
44
|
|
45
|
+
def use_default_library?
|
46
|
+
configuration.use_default_library?
|
47
|
+
end
|
48
|
+
|
49
|
+
def library_name
|
50
|
+
configuration.library_name
|
51
|
+
end
|
52
|
+
|
45
53
|
def total_registers
|
46
54
|
register_block.files_and_registers.sum(&:count)
|
47
55
|
end
|
data/lib/rggen/vhdl/version.rb
CHANGED
data/lib/rggen/vhdl.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rggen-vhdl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.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: 2024-
|
11
|
+
date: 2024-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rggen-systemverilog
|
@@ -76,6 +76,7 @@ files:
|
|
76
76
|
- lib/rggen/vhdl/component.rb
|
77
77
|
- lib/rggen/vhdl/factories.rb
|
78
78
|
- lib/rggen/vhdl/feature.rb
|
79
|
+
- lib/rggen/vhdl/global/library_name.rb
|
79
80
|
- lib/rggen/vhdl/register/tie_off_unused_signals.erb
|
80
81
|
- lib/rggen/vhdl/register/type.rb
|
81
82
|
- lib/rggen/vhdl/register/type/default.erb
|
@@ -125,8 +126,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
126
|
- !ruby/object:Gem::Version
|
126
127
|
version: '0'
|
127
128
|
requirements: []
|
128
|
-
rubygems_version: 3.5.
|
129
|
+
rubygems_version: 3.5.5
|
129
130
|
signing_key:
|
130
131
|
specification_version: 4
|
131
|
-
summary: rggen-vhdl-0.
|
132
|
+
summary: rggen-vhdl-0.10.0
|
132
133
|
test_files: []
|