rggen-vhdl 0.6.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a722ba50ddeb4d183734a880ecae7b0f8677d2314c6a192381602423d792727
4
- data.tar.gz: 88c8b14b0e942aaae285bd114c2a8d6b2f9c985d7ac375aa1f323428a9cafebe
3
+ metadata.gz: 906e28d5d0068a76fbcf2f75df32990ad6e9e53867e2a308801f1b690a3ad819
4
+ data.tar.gz: f4215e40f90090ed02e18a24943051437a46b6b6e5294fc594a5f8ebe0529a90
5
5
  SHA512:
6
- metadata.gz: 7965c9b5838750fefcf84ca7b3b2c4318687588368ec8b3d2c564fd73b23c3272a0059410c037a370fbd1c7f49e7d8e12931f9ac5c2fa13f6cb9a99ebebe5a79
7
- data.tar.gz: ca18b18a63b826b2114e485eca9b14edc75175b62e433815f94ebafc8218a00cbe1b07dc9ffc028e625e774fb865e4475dd4b19cb9912fd881f885d1c735a280
6
+ metadata.gz: f0e512732e78c0cb65ae173e762de123359d5e3a49c5c26f53eef0abb168f78e44e327e490c5702db6d1b018e678ff38b83a39d91b74b16a611726334e4bf0e9
7
+ data.tar.gz: 2d7265a0341b2e32d0ba8041cf46a27a9adef6ffa85c94af13de21a5e0805f4db91aaa5d0a85498359e935d88fd6af4c066db050a60b6a346409b26a6e76081f
@@ -2,6 +2,7 @@ u_register: entity work.rggen_external_register
2
2
  generic map (
3
3
  ADDRESS_WIDTH => <%= address_width %>,
4
4
  BUS_WIDTH => <%= bus_width %>,
5
+ STROBE_WIDTH => <%= strobe_width %>,
5
6
  START_ADDRESS => <%= start_address %>,
6
7
  BYTE_SIZE => <%= byte_size %>
7
8
  )
@@ -3,6 +3,10 @@
3
3
  RgGen.define_list_item_feature(:register, :type, :external) do
4
4
  vhdl do
5
5
  build do
6
+ generic :strobe_width, {
7
+ name: "#{register.name}_STROBE_WIDTH".upcase,
8
+ type: :positive, default: configuration.bus_width / 8
9
+ }
6
10
  output :external_valid, {
7
11
  name: "o_#{register.name}_valid"
8
12
  }
@@ -16,7 +20,7 @@ RgGen.define_list_item_feature(:register, :type, :external) do
16
20
  name: "o_#{register.name}_data", width: bus_width
17
21
  }
18
22
  output :external_strobe, {
19
- name: "o_#{register.name}_strobe", width: bus_width / 8
23
+ name: "o_#{register.name}_strobe", width: strobe_width
20
24
  }
21
25
  input :external_ready, {
22
26
  name: "i_#{register.name}_ready"
@@ -0,0 +1,29 @@
1
+ u_register: entity work.rggen_default_register
2
+ generic map (
3
+ READABLE => true,
4
+ WRITABLE => true,
5
+ ADDRESS_WIDTH => <%= address_width %>,
6
+ OFFSET_ADDRESS => <%= offset_address %>,
7
+ BUS_WIDTH => <%= bus_width %>,
8
+ DATA_WIDTH => <%= width %>
9
+ )
10
+ port map (
11
+ i_clk => <%= clock %>,
12
+ i_rst_n => <%= reset %>,
13
+ i_register_valid => <%= register_valid %>,
14
+ i_register_access => <%= register_access %>,
15
+ i_register_address => <%= register_address %>,
16
+ i_register_write_data => <%= register_write_data %>,
17
+ i_register_strobe => <%= register_strobe %>,
18
+ o_register_active => <%= register_active %>,
19
+ o_register_ready => <%= register_ready %>,
20
+ o_register_status => <%= register_status %>,
21
+ o_register_read_data => <%= register_read_data %>,
22
+ o_register_value => <%= register_value %>,
23
+ o_bit_field_valid => <%= bit_field_valid %>,
24
+ o_bit_field_read_mask => <%= bit_field_read_mask %>,
25
+ o_bit_field_write_mask => <%= bit_field_write_mask %>,
26
+ o_bit_field_write_data => <%= bit_field_write_data %>,
27
+ i_bit_field_read_data => <%= bit_field_read_data %>,
28
+ i_bit_field_value => <%= bit_field_value %>
29
+ );
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ RgGen.define_list_item_feature(:register, :type, :rw) do
4
+ vhdl do
5
+ main_code :register, from_template: true
6
+ end
7
+ end
@@ -17,7 +17,7 @@ RgGen.define_simple_feature(:register_block, :vhdl_top) do
17
17
  width: bus_width
18
18
  }
19
19
  signal :register_strobe, {
20
- width: bus_width / 8
20
+ width: bus_width
21
21
  }
22
22
  signal :register_active, {
23
23
  array_size: [total_registers]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RgGen
4
4
  module VHDL
5
- VERSION = '0.6.1'
5
+ VERSION = '0.8.0'
6
6
  end
7
7
  end
data/lib/rggen/vhdl.rb CHANGED
@@ -31,6 +31,7 @@ RgGen.setup_plugin :'rggen-vhdl' do |plugin|
31
31
  'vhdl/register/type',
32
32
  'vhdl/register/type/external',
33
33
  'vhdl/register/type/indirect',
34
+ 'vhdl/register/type/rw',
34
35
  'vhdl/bit_field/vhdl_top',
35
36
  'vhdl/bit_field/type',
36
37
  'vhdl/bit_field/type/custom',
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.6.1
4
+ version: 0.8.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: 2023-06-09 00:00:00.000000000 Z
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rggen-systemverilog
@@ -16,28 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.30.1
19
+ version: 0.32.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.30.1
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
26
+ version: 0.32.0
41
27
  description: VHDL writer plugin for RgGen
42
28
  email:
43
29
  - rggen@googlegroups.com
@@ -95,6 +81,8 @@ files:
95
81
  - lib/rggen/vhdl/register/type/external.rb
96
82
  - lib/rggen/vhdl/register/type/indirect.erb
97
83
  - lib/rggen/vhdl/register/type/indirect.rb
84
+ - lib/rggen/vhdl/register/type/rw.erb
85
+ - lib/rggen/vhdl/register/type/rw.rb
98
86
  - lib/rggen/vhdl/register/vhdl_top.rb
99
87
  - lib/rggen/vhdl/register_block/protocol.rb
100
88
  - lib/rggen/vhdl/register_block/protocol/apb.erb
@@ -128,15 +116,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
116
  requirements:
129
117
  - - ">="
130
118
  - !ruby/object:Gem::Version
131
- version: 2.7.0
119
+ version: 3.0.0
132
120
  required_rubygems_version: !ruby/object:Gem::Requirement
133
121
  requirements:
134
122
  - - ">="
135
123
  - !ruby/object:Gem::Version
136
124
  version: '0'
137
125
  requirements: []
138
- rubygems_version: 3.4.10
126
+ rubygems_version: 3.5.3
139
127
  signing_key:
140
128
  specification_version: 4
141
- summary: rggen-vhdl-0.6.1
129
+ summary: rggen-vhdl-0.8.0
142
130
  test_files: []