Skip to content

Commit

Permalink
allow to spscify config parameters on register map (#41, rggen/rggen#221
Browse files Browse the repository at this point in the history
)
  • Loading branch information
taichi-ishitani authored Jan 21, 2025
1 parent 3b6f53e commit 3e9f006
Show file tree
Hide file tree
Showing 16 changed files with 31 additions and 31 deletions.
2 changes: 1 addition & 1 deletion lib/rggen/vhdl/register/type/external.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
build do
generic :strobe_width, {
name: "#{register.name}_STROBE_WIDTH".upcase,
type: :positive, default: configuration.bus_width / 8
type: :positive, default: register_block.byte_width
}
output :external_valid, {
name: "o_#{register.name}_valid"
Expand Down
6 changes: 3 additions & 3 deletions lib/rggen/vhdl/register_block/protocol.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def library_name
end

def bus_width
configuration.bus_width
register_block.bus_width
end

def local_address_width
Expand All @@ -47,8 +47,8 @@ def byte_size
end

factory do
def target_feature_key(configuration, _register_block)
configuration.protocol
def target_feature_key(_configuration, register_block)
register_block.protocol
end
end
end
Expand Down
2 changes: 1 addition & 1 deletion lib/rggen/vhdl/register_block/vhdl_top.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def address_width
end

def bus_width
configuration.bus_width
register_block.bus_width
end

def value_width
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/bit_field/vhdl_top_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'clean-up builder'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :byte_size])
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :byte_size, :bus_width])
RgGen.enable(:register_file, [:name, :offset_address, :size])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:bit_field, [:name, :bit_assignment, :type, :initial_value, :reference])
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register/type/default_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'vhdl common'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, :byte_size)
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:byte_size, :bus_width])
RgGen.enable(:register_file, [:name, :offset_address, :size])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:bit_field, [:name, :bit_assignment, :type, :initial_value, :reference])
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register/type/external_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'vhdl common'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, :byte_size)
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:byte_size, :bus_width])
RgGen.enable(:register, [:name, :type, :offset_address, :size])
RgGen.enable(:register, :type, :external)
RgGen.enable(:bit_field, :name)
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register/type/indirect_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'vhdl common'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, :byte_size)
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:byte_size, :bus_width])
RgGen.enable(:register_file, [:name, :offset_address, :size])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:register, :type, [:indirect])
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register/type/rw_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'vhdl common'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, :byte_size)
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:byte_size, :bus_width])
RgGen.enable(:register_file, [:name, :offset_address, :size])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:register, :type, :rw)
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register/vhdl_top_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'clean-up builder'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :byte_size])
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :byte_size, :bus_width])
RgGen.enable(:register_file, [:name, :offset_address, :size])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:register, :type, [:external, :indirect])
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register_block/protocol/apb_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'clean-up builder'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :protocol, :byte_size])
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :protocol, :byte_size, :bus_width])
RgGen.enable(:register_block, :protocol, [:apb])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:register, :type, [:external])
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register_block/protocol/axi4lite_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'clean-up builder'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :protocol, :byte_size])
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :protocol, :byte_size, :bus_width])
RgGen.enable(:register_block, :protocol, [:axi4lite])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:register, :type, [:external])
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register_block/protocol/native_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'clean-up builder'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :protocol, :byte_size])
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :protocol, :byte_size, :bus_width])
RgGen.enable(:register_block, :protocol, [:native])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:register, :type, [:external])
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register_block/protocol/wishbone_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'clean-up builder'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :protocol, :byte_size])
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :protocol, :byte_size, :bus_width])
RgGen.enable(:register_block, :protocol, [:wishbone])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:register, :type, [:external])
Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register_block/protocol_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
vhdl {}
end

RgGen.enable(:global, [:bus_width, :address_width])
RgGen.enable(:register_block, [:protocol, :byte_size])
RgGen.enable(:global, [:address_width])
RgGen.enable(:register_block, [:protocol, :byte_size, :bus_width])
RgGen.enable(:register_block, :protocol, :foo)
end

Expand Down
4 changes: 2 additions & 2 deletions spec/rggen/vhdl/register_file/vhdl_top_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
include_context 'clean-up builder'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :byte_size])
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:name, :byte_size, :bus_width])
RgGen.enable(:register_file, [:name, :offset_address, :size])
RgGen.enable(:register, [:name, :offset_address, :size, :type])
RgGen.enable(:register, :type, [:external, :indirect])
Expand Down
4 changes: 2 additions & 2 deletions spec/support/shared_context.rb
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ def not_have_signal(*args, &body)
include_context 'vhdl common'

before(:all) do
RgGen.enable(:global, [:bus_width, :address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, :byte_size)
RgGen.enable(:global, [:address_width, :enable_wide_register, :library_name])
RgGen.enable(:register_block, [:byte_size, :bus_width])
RgGen.enable(:register_file, [:name, :size, :offset_address])
RgGen.enable(:register, [:name, :size, :type, :offset_address])
RgGen.enable(:bit_field, [:name, :bit_assignment, :initial_value, :reference, :type])
Expand Down

0 comments on commit 3e9f006

Please sign in to comment.