rggen-systemverilog 0.21.1 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +2 -2
  4. data/lib/rggen/systemverilog/common.rb +0 -24
  5. data/lib/rggen/systemverilog/common/factories.rb +1 -1
  6. data/lib/rggen/systemverilog/common/feature.rb +3 -3
  7. data/lib/rggen/systemverilog/common/utility.rb +5 -1
  8. data/lib/rggen/systemverilog/common/utility/class_definition.rb +12 -4
  9. data/lib/rggen/systemverilog/common/utility/data_object.rb +1 -2
  10. data/lib/rggen/systemverilog/common/utility/function_definition.rb +16 -4
  11. data/lib/rggen/systemverilog/common/utility/identifier.rb +25 -22
  12. data/lib/rggen/systemverilog/common/utility/local_scope.rb +9 -7
  13. data/lib/rggen/systemverilog/common/utility/module_definition.rb +12 -4
  14. data/lib/rggen/systemverilog/common/utility/package_definition.rb +4 -4
  15. data/lib/rggen/systemverilog/ral.rb +20 -26
  16. data/lib/rggen/systemverilog/ral/bit_field/type.rb +2 -2
  17. data/lib/rggen/systemverilog/ral/bit_field/type/rof.rb +5 -0
  18. data/lib/rggen/systemverilog/ral/setup.rb +1 -1
  19. data/lib/rggen/systemverilog/rtl.rb +37 -41
  20. data/lib/rggen/systemverilog/rtl/bit_field/sv_rtl_top.rb +11 -47
  21. data/lib/rggen/systemverilog/rtl/bit_field/type.rb +1 -2
  22. data/lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.erb +19 -0
  23. data/lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.rb +54 -0
  24. data/lib/rggen/systemverilog/rtl/bit_field/type/ro.erb +15 -4
  25. data/lib/rggen/systemverilog/rtl/bit_field/type/ro.rb +1 -1
  26. data/lib/rggen/systemverilog/rtl/bit_field/type/rof.erb +15 -4
  27. data/lib/rggen/systemverilog/rtl/bit_field/type/rs_w0s_w1s_ws_wos.erb +19 -0
  28. data/lib/rggen/systemverilog/rtl/bit_field/type/rs_w0s_w1s_ws_wos.rb +44 -0
  29. data/lib/rggen/systemverilog/rtl/bit_field/type/rw_w1_wo_wo1.erb +15 -7
  30. data/lib/rggen/systemverilog/rtl/bit_field/type/rw_w1_wo_wo1.rb +3 -3
  31. data/lib/rggen/systemverilog/rtl/bit_field/type/rwc.erb +15 -7
  32. data/lib/rggen/systemverilog/rtl/bit_field/type/rwc.rb +2 -2
  33. data/lib/rggen/systemverilog/rtl/bit_field/type/rwe_rwl.erb +18 -0
  34. data/lib/rggen/systemverilog/rtl/bit_field/type/rwe_rwl.rb +34 -0
  35. data/lib/rggen/systemverilog/rtl/bit_field/type/rws.erb +13 -7
  36. data/lib/rggen/systemverilog/rtl/bit_field/type/rws.rb +3 -3
  37. data/lib/rggen/systemverilog/rtl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc.erb +19 -0
  38. data/lib/rggen/systemverilog/rtl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc.rb +37 -0
  39. data/lib/rggen/systemverilog/rtl/bit_field/type/w0t_w1t.erb +18 -0
  40. data/lib/rggen/systemverilog/rtl/bit_field/type/{w0crs_w1crs.rb → w0t_w1t.rb} +7 -5
  41. data/lib/rggen/systemverilog/rtl/bit_field/type/w0trg_w1trg.rb +1 -1
  42. data/lib/rggen/systemverilog/rtl/bit_field/type/wrc_wrs.erb +18 -0
  43. data/lib/rggen/systemverilog/rtl/bit_field/type/{w0src_w1src.rb → wrc_wrs.rb} +7 -5
  44. data/lib/rggen/systemverilog/rtl/bit_field_index.rb +52 -0
  45. data/lib/rggen/systemverilog/rtl/feature.rb +8 -6
  46. data/lib/rggen/systemverilog/rtl/indirect_index.rb +35 -0
  47. data/lib/rggen/systemverilog/rtl/partial_sum.rb +5 -6
  48. data/lib/rggen/systemverilog/rtl/register/type.rb +1 -56
  49. data/lib/rggen/systemverilog/rtl/register/type/external.rb +8 -20
  50. data/lib/rggen/systemverilog/rtl/register/type/indirect.rb +2 -26
  51. data/lib/rggen/systemverilog/rtl/register_block/protocol.rb +14 -8
  52. data/lib/rggen/systemverilog/rtl/register_block/protocol/apb.rb +10 -10
  53. data/lib/rggen/systemverilog/rtl/register_block/protocol/axi4lite.rb +52 -50
  54. data/lib/rggen/systemverilog/rtl/register_block/sv_rtl_top.rb +3 -7
  55. data/lib/rggen/systemverilog/rtl/register_index.rb +17 -15
  56. data/lib/rggen/systemverilog/rtl/register_type.rb +69 -0
  57. data/lib/rggen/systemverilog/rtl/setup.rb +1 -1
  58. data/lib/rggen/systemverilog/version.rb +1 -1
  59. metadata +21 -48
  60. data/lib/rggen/systemverilog/ral/bit_field/type/reserved_rof.rb +0 -5
  61. data/lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c.erb +0 -15
  62. data/lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c.rb +0 -43
  63. data/lib/rggen/systemverilog/rtl/bit_field/type/reserved.erb +0 -3
  64. data/lib/rggen/systemverilog/rtl/bit_field/type/reserved.rb +0 -7
  65. data/lib/rggen/systemverilog/rtl/bit_field/type/rs_w0s_w1s.erb +0 -13
  66. data/lib/rggen/systemverilog/rtl/bit_field/type/rs_w0s_w1s.rb +0 -32
  67. data/lib/rggen/systemverilog/rtl/bit_field/type/rwe.erb +0 -10
  68. data/lib/rggen/systemverilog/rtl/bit_field/type/rwe.rb +0 -26
  69. data/lib/rggen/systemverilog/rtl/bit_field/type/rwl.erb +0 -10
  70. data/lib/rggen/systemverilog/rtl/bit_field/type/rwl.rb +0 -26
  71. data/lib/rggen/systemverilog/rtl/bit_field/type/w0crs_w1crs.erb +0 -10
  72. data/lib/rggen/systemverilog/rtl/bit_field/type/w0src_w1src.erb +0 -10
@@ -1,10 +0,0 @@
1
- rggen_bit_field_rwl #(
2
- .WIDTH (<%= width %>),
3
- .INITIAL_VALUE (<%= initial_value %>)
4
- ) u_bit_field (
5
- .i_clk (<%= clock %>),
6
- .i_rst_n (<%= reset %>),
7
- .bit_field_if (<%= bit_field_if %>),
8
- .i_lock (<%= lock_signal %>),
9
- .o_value (<%= value_out[loop_variables] %>)
10
- );
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RgGen.define_list_item_feature(:bit_field, :type, :rwl) do
4
- sv_rtl do
5
- build do
6
- unless bit_field.reference?
7
- input :lock, {
8
- name: "i_#{full_name}_lock", data_type: :logic, width: 1,
9
- array_size: array_size, array_format: array_port_format
10
- }
11
- end
12
- output :value_out, {
13
- name: "o_#{full_name}", data_type: :logic, width: width,
14
- array_size: array_size, array_format: array_port_format
15
- }
16
- end
17
-
18
- main_code :bit_field, from_template: true
19
-
20
- private
21
-
22
- def lock_signal
23
- reference_bit_field || lock[loop_variables]
24
- end
25
- end
26
- end
@@ -1,10 +0,0 @@
1
- rggen_bit_field_w01crs #(
2
- .CLEAR_VALUE (<%= clear_value %>),
3
- .WIDTH (<%= width %>),
4
- .INITIAL_VALUE (<%= initial_value %>)
5
- ) u_bit_field (
6
- .i_clk (<%= clock %>),
7
- .i_rst_n (<%= reset %>),
8
- .bit_field_if (<%= bit_field_if %>),
9
- .o_value (<%= value_out[loop_variables] %>)
10
- );
@@ -1,10 +0,0 @@
1
- rggen_bit_field_w01src #(
2
- .SET_VALUE (<%= set_value %>),
3
- .WIDTH (<%= width %>),
4
- .INITIAL_VALUE (<%= initial_value %>)
5
- ) u_bit_field (
6
- .i_clk (<%= clock %>),
7
- .i_rst_n (<%= reset %>),
8
- .bit_field_if (<%= bit_field_if %>),
9
- .o_value (<%= value_out[loop_variables] %>)
10
- );