rggen-verilog 0.13.0 → 0.13.1
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/verilog/rtl/bit_field/type/custom.erb +4 -3
- data/lib/rggen/verilog/rtl/bit_field/type/custom.rb +9 -0
- data/lib/rggen/verilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.erb +7 -5
- data/lib/rggen/verilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.rb +2 -2
- data/lib/rggen/verilog/rtl/bit_field/type/ro_rotrg.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/rof.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/rohw.erb +5 -4
- data/lib/rggen/verilog/rtl/bit_field/type/row0trg_row1trg.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/rowo_rowotrg.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/rs_w0s_w1s_ws_wos.erb +6 -5
- data/lib/rggen/verilog/rtl/bit_field/type/rs_w0s_w1s_ws_wos.rb +0 -4
- data/lib/rggen/verilog/rtl/bit_field/type/rw_rwtrg_w1.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/rwc.erb +4 -3
- data/lib/rggen/verilog/rtl/bit_field/type/rwe_rwl.erb +4 -3
- data/lib/rggen/verilog/rtl/bit_field/type/rwhw.erb +5 -4
- data/lib/rggen/verilog/rtl/bit_field/type/rws.erb +4 -3
- data/lib/rggen/verilog/rtl/bit_field/type/w0crs_w0src_w1crs_w1src_wcrs_wsrc.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/w0t_w1t.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/w0trg_w1trg.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/wo_wo1_wotrg.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type/wrc_wrs.erb +3 -3
- data/lib/rggen/verilog/rtl/bit_field/type.rb +6 -6
- data/lib/rggen/verilog/rtl/register/type/default.erb +18 -18
- data/lib/rggen/verilog/rtl/register/type/indirect.erb +19 -19
- data/lib/rggen/verilog/rtl/register/type/rw.erb +18 -18
- data/lib/rggen/verilog/rtl/register/type.rb +6 -6
- data/lib/rggen/verilog/rtl/register/verilog_top.rb +6 -6
- data/lib/rggen/verilog/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ce114ffe9df74368c2efa6381b5047dd1b9e986d7aece4ec65527e5688fef78
|
4
|
+
data.tar.gz: 3298da0b203debd3d77454ebc60a2b996481b67c09006d03573cc85656bd9af2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d04d88597e9fccedf359e58688a7e3c7c7df59d50ce46658800842944f7b4dc351d0ab5a8578bc202bb4c72e09004f7c277abd054e864b813b7762b4c7b633a
|
7
|
+
data.tar.gz: 924003d8e400828f112a141bcfc3bcc9d4fa5926183bea7fd752e44cadc5e1951fc6c97b6144345f9bc1e3da951c21a45b58be480a139f9c86debdf728a097c8
|
@@ -4,16 +4,17 @@ rggen_bit_field #(
|
|
4
4
|
.SW_READ_ACTION (<%= sw_read_action %>),
|
5
5
|
.SW_WRITE_ACTION (<%= sw_write_action %>),
|
6
6
|
.SW_WRITE_ONCE (<%= write_once %>),
|
7
|
+
.HW_ACCESS (<%= hw_access %>),
|
7
8
|
.STORAGE (<%= storage %>),
|
8
9
|
.EXTERNAL_READ_DATA (<%= external_read_data %>),
|
9
10
|
.TRIGGER (<%= trigger %>)
|
10
11
|
) u_bit_field (
|
11
12
|
.i_clk (<%= clock %>),
|
12
13
|
.i_rst_n (<%= reset %>),
|
13
|
-
.
|
14
|
-
.
|
14
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
15
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
15
16
|
.i_sw_write_enable (1'b1),
|
16
|
-
.
|
17
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
17
18
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
18
19
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
19
20
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -82,6 +82,15 @@ RgGen.define_list_item_feature(:bit_field, :type, :custom) do
|
|
82
82
|
bit_field.sw_write_once? && 1 || 0
|
83
83
|
end
|
84
84
|
|
85
|
+
def hw_access
|
86
|
+
values = [
|
87
|
+
bit_field.hw_clear? && 1 || 0,
|
88
|
+
bit_field.hw_set? && 1 || 0,
|
89
|
+
bit_field.hw_write? && 1 || 0
|
90
|
+
]
|
91
|
+
"3'b#{values.join}"
|
92
|
+
end
|
93
|
+
|
85
94
|
def storage
|
86
95
|
external_read_data? && 0 || 1
|
87
96
|
end
|
@@ -2,14 +2,16 @@ rggen_bit_field #(
|
|
2
2
|
.WIDTH (<%= width %>),
|
3
3
|
.INITIAL_VALUE (<%= initial_value %>),
|
4
4
|
.SW_READ_ACTION (<%= read_action %>),
|
5
|
-
.SW_WRITE_ACTION (<%= write_action %>)
|
5
|
+
.SW_WRITE_ACTION (<%= write_action %>),
|
6
|
+
.HW_ACCESS (3'b010),
|
7
|
+
.EXTERNAL_MASK (<%= external_mask %>)
|
6
8
|
) u_bit_field (
|
7
9
|
.i_clk (<%= clock %>),
|
8
10
|
.i_rst_n (<%= reset %>),
|
9
|
-
.
|
10
|
-
.
|
11
|
-
.i_sw_write_enable (
|
12
|
-
.
|
11
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
12
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
13
|
+
.i_sw_write_enable (1'b1),
|
14
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
13
15
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
14
16
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
15
17
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -40,8 +40,8 @@ RgGen.define_list_item_feature(:bit_field, :type, [:rc, :w0c, :w1c, :wc, :woc])
|
|
40
40
|
}[bit_field.type]
|
41
41
|
end
|
42
42
|
|
43
|
-
def
|
44
|
-
bit_field.
|
43
|
+
def external_mask
|
44
|
+
bit_field.reference? && bin(1, 1) || bin(0, 1)
|
45
45
|
end
|
46
46
|
|
47
47
|
def value_out_unmasked
|
@@ -6,10 +6,10 @@ rggen_bit_field #(
|
|
6
6
|
) u_bit_field (
|
7
7
|
.i_clk (<%= clock %>),
|
8
8
|
.i_rst_n (<%= reset %>),
|
9
|
-
.
|
10
|
-
.
|
9
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
10
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
11
11
|
.i_sw_write_enable (1'b0),
|
12
|
-
.
|
12
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
13
13
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
14
14
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
15
15
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -5,10 +5,10 @@ rggen_bit_field #(
|
|
5
5
|
) u_bit_field (
|
6
6
|
.i_clk (1'b0),
|
7
7
|
.i_rst_n (1'b0),
|
8
|
-
.
|
9
|
-
.
|
8
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
9
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
10
10
|
.i_sw_write_enable (1'b0),
|
11
|
-
.
|
11
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
12
12
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
13
13
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
14
14
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -1,14 +1,15 @@
|
|
1
1
|
rggen_bit_field #(
|
2
2
|
.WIDTH (<%= width %>),
|
3
3
|
.INITIAL_VALUE (<%= initial_value %>),
|
4
|
-
.SW_WRITE_ACTION (`RGGEN_WRITE_NONE)
|
4
|
+
.SW_WRITE_ACTION (`RGGEN_WRITE_NONE),
|
5
|
+
.HW_ACCESS (3'b001)
|
5
6
|
) u_bit_field (
|
6
7
|
.i_clk (<%= clock %>),
|
7
8
|
.i_rst_n (<%= reset %>),
|
8
|
-
.
|
9
|
-
.
|
9
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
10
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
10
11
|
.i_sw_write_enable (1'b1),
|
11
|
-
.
|
12
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
12
13
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
13
14
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
14
15
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -4,10 +4,10 @@ rggen_bit_field_w01trg #(
|
|
4
4
|
) u_bit_field (
|
5
5
|
.i_clk (<%= clock %>),
|
6
6
|
.i_rst_n (<%= reset %>),
|
7
|
-
.
|
8
|
-
.
|
7
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
8
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
9
9
|
.i_sw_write_enable (1'b1),
|
10
|
-
.
|
10
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
11
11
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
12
12
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
13
13
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -6,10 +6,10 @@ rggen_bit_field #(
|
|
6
6
|
) u_bit_field (
|
7
7
|
.i_clk (<%= clock %>),
|
8
8
|
.i_rst_n (<%= reset %>),
|
9
|
-
.
|
10
|
-
.
|
9
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
10
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
11
11
|
.i_sw_write_enable (1'b1),
|
12
|
-
.
|
12
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
13
13
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
14
14
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
15
15
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -2,14 +2,15 @@ rggen_bit_field #(
|
|
2
2
|
.WIDTH (<%= width %>),
|
3
3
|
.INITIAL_VALUE (<%= initial_value %>),
|
4
4
|
.SW_READ_ACTION (<%= read_action %>),
|
5
|
-
.SW_WRITE_ACTION (<%= write_action %>)
|
5
|
+
.SW_WRITE_ACTION (<%= write_action %>),
|
6
|
+
.HW_ACCESS (3'b100)
|
6
7
|
) u_bit_field (
|
7
8
|
.i_clk (<%= clock %>),
|
8
9
|
.i_rst_n (<%= reset %>),
|
9
|
-
.
|
10
|
-
.
|
11
|
-
.i_sw_write_enable (
|
12
|
-
.
|
10
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
11
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
12
|
+
.i_sw_write_enable (1'b1),
|
13
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
13
14
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
14
15
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
15
16
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -6,10 +6,10 @@ rggen_bit_field #(
|
|
6
6
|
) u_bit_field (
|
7
7
|
.i_clk (<%= clock %>),
|
8
8
|
.i_rst_n (<%= reset %>),
|
9
|
-
.
|
10
|
-
.
|
9
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
10
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
11
11
|
.i_sw_write_enable (1'b1),
|
12
|
-
.
|
12
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
13
13
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
14
14
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
15
15
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -1,14 +1,15 @@
|
|
1
1
|
rggen_bit_field #(
|
2
2
|
.WIDTH (<%= width %>),
|
3
3
|
.INITIAL_VALUE (<%= initial_value %>),
|
4
|
+
.HW_ACCESS (3'b100),
|
4
5
|
.HW_CLEAR_WIDTH (1)
|
5
6
|
) u_bit_field (
|
6
7
|
.i_clk (<%= clock %>),
|
7
8
|
.i_rst_n (<%= reset %>),
|
8
|
-
.
|
9
|
-
.
|
9
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
10
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
10
11
|
.i_sw_write_enable (1'b1),
|
11
|
-
.
|
12
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
12
13
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
13
14
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
14
15
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -1,14 +1,15 @@
|
|
1
1
|
rggen_bit_field #(
|
2
2
|
.WIDTH (<%= width %>),
|
3
3
|
.INITIAL_VALUE (<%= initial_value %>),
|
4
|
+
.SW_WRITE_CONTROL (1'b1),
|
4
5
|
.SW_WRITE_ENABLE_POLARITY (<%= control_signal_polarity %>)
|
5
6
|
) u_bit_field (
|
6
7
|
.i_clk (<%= clock %>),
|
7
8
|
.i_rst_n (<%= reset %>),
|
8
|
-
.
|
9
|
-
.
|
9
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
10
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
10
11
|
.i_sw_write_enable (<%= control_signal %>),
|
11
|
-
.
|
12
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
12
13
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
13
14
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
14
15
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -1,13 +1,14 @@
|
|
1
1
|
rggen_bit_field #(
|
2
2
|
.WIDTH (<%= width %>),
|
3
|
-
.INITIAL_VALUE (<%= initial_value %>)
|
3
|
+
.INITIAL_VALUE (<%= initial_value %>),
|
4
|
+
.HW_ACCESS (3'b001)
|
4
5
|
) u_bit_field (
|
5
6
|
.i_clk (<%= clock %>),
|
6
7
|
.i_rst_n (<%= reset %>),
|
7
|
-
.
|
8
|
-
.
|
8
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
9
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
9
10
|
.i_sw_write_enable (1'b1),
|
10
|
-
.
|
11
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
11
12
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
12
13
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
13
14
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -1,14 +1,15 @@
|
|
1
1
|
rggen_bit_field #(
|
2
2
|
.WIDTH (<%= width %>),
|
3
3
|
.INITIAL_VALUE (<%= initial_value %>),
|
4
|
+
.HW_ACCESS (3'b010),
|
4
5
|
.HW_SET_WIDTH (1)
|
5
6
|
) u_bit_field (
|
6
7
|
.i_clk (<%= clock %>),
|
7
8
|
.i_rst_n (<%= reset %>),
|
8
|
-
.
|
9
|
-
.
|
9
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
10
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
10
11
|
.i_sw_write_enable (1'b1),
|
11
|
-
.
|
12
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
12
13
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
13
14
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
14
15
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -6,10 +6,10 @@ rggen_bit_field #(
|
|
6
6
|
) u_bit_field (
|
7
7
|
.i_clk (<%= clock %>),
|
8
8
|
.i_rst_n (<%= reset %>),
|
9
|
-
.
|
10
|
-
.
|
9
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
10
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
11
11
|
.i_sw_write_enable (1'b1),
|
12
|
-
.
|
12
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
13
13
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
14
14
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
15
15
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -5,10 +5,10 @@ rggen_bit_field #(
|
|
5
5
|
) u_bit_field (
|
6
6
|
.i_clk (<%= clock %>),
|
7
7
|
.i_rst_n (<%= reset %>),
|
8
|
-
.
|
9
|
-
.
|
8
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
9
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
10
10
|
.i_sw_write_enable (1'b1),
|
11
|
-
.
|
11
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
12
12
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
13
13
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
14
14
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -4,10 +4,10 @@ rggen_bit_field_w01trg #(
|
|
4
4
|
) u_bit_field (
|
5
5
|
.i_clk (<%= clock %>),
|
6
6
|
.i_rst_n (<%= reset %>),
|
7
|
-
.
|
8
|
-
.
|
7
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
8
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
9
9
|
.i_sw_write_enable (1'b1),
|
10
|
-
.
|
10
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
11
11
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
12
12
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
13
13
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -7,10 +7,10 @@ rggen_bit_field #(
|
|
7
7
|
) u_bit_field (
|
8
8
|
.i_clk (<%= clock %>),
|
9
9
|
.i_rst_n (<%= reset %>),
|
10
|
-
.
|
11
|
-
.
|
10
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
11
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
12
12
|
.i_sw_write_enable (1'b1),
|
13
|
-
.
|
13
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
14
14
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
15
15
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
16
16
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -5,10 +5,10 @@ rggen_bit_field #(
|
|
5
5
|
) u_bit_field (
|
6
6
|
.i_clk (<%= clock %>),
|
7
7
|
.i_rst_n (<%= reset %>),
|
8
|
-
.
|
9
|
-
.
|
8
|
+
.i_sw_read_valid (<%= bit_field_read_valid %>),
|
9
|
+
.i_sw_write_valid (<%= bit_field_write_valid %>),
|
10
10
|
.i_sw_write_enable (1'b1),
|
11
|
-
.
|
11
|
+
.i_sw_mask (<%= bit_field_mask %>),
|
12
12
|
.i_sw_write_data (<%= bit_field_write_data %>),
|
13
13
|
.o_sw_read_data (<%= bit_field_read_data %>),
|
14
14
|
.o_sw_value (<%= bit_field_value %>),
|
@@ -44,16 +44,16 @@ RgGen.define_list_feature(:bit_field, :type) do
|
|
44
44
|
register_block.reset
|
45
45
|
end
|
46
46
|
|
47
|
-
def
|
48
|
-
register.
|
47
|
+
def bit_field_read_valid
|
48
|
+
register.bit_field_read_valid
|
49
49
|
end
|
50
50
|
|
51
|
-
def
|
52
|
-
register.
|
51
|
+
def bit_field_write_valid
|
52
|
+
register.bit_field_write_valid
|
53
53
|
end
|
54
54
|
|
55
|
-
def
|
56
|
-
register.
|
55
|
+
def bit_field_mask
|
56
|
+
register.bit_field_mask[lsb, width]
|
57
57
|
end
|
58
58
|
|
59
59
|
def bit_field_write_data
|
@@ -6,22 +6,22 @@ rggen_default_register #(
|
|
6
6
|
.BUS_WIDTH (<%= bus_width %>),
|
7
7
|
.DATA_WIDTH (<%= width %>)
|
8
8
|
) u_register (
|
9
|
-
.i_clk
|
10
|
-
.i_rst_n
|
11
|
-
.i_register_valid
|
12
|
-
.i_register_access
|
13
|
-
.i_register_address
|
14
|
-
.i_register_write_data
|
15
|
-
.i_register_strobe
|
16
|
-
.o_register_active
|
17
|
-
.o_register_ready
|
18
|
-
.o_register_status
|
19
|
-
.o_register_read_data
|
20
|
-
.o_register_value
|
21
|
-
.
|
22
|
-
.
|
23
|
-
.
|
24
|
-
.o_bit_field_write_data
|
25
|
-
.i_bit_field_read_data
|
26
|
-
.i_bit_field_value
|
9
|
+
.i_clk (<%= clock %>),
|
10
|
+
.i_rst_n (<%= reset %>),
|
11
|
+
.i_register_valid (<%= register_valid %>),
|
12
|
+
.i_register_access (<%= register_access %>),
|
13
|
+
.i_register_address (<%= register_address %>),
|
14
|
+
.i_register_write_data (<%= register_write_data %>),
|
15
|
+
.i_register_strobe (<%= register_strobe %>),
|
16
|
+
.o_register_active (<%= register_active %>),
|
17
|
+
.o_register_ready (<%= register_ready %>),
|
18
|
+
.o_register_status (<%= register_status %>),
|
19
|
+
.o_register_read_data (<%= register_read_data %>),
|
20
|
+
.o_register_value (<%= register_value %>),
|
21
|
+
.o_bit_field_read_valid (<%= bit_field_read_valid %>),
|
22
|
+
.o_bit_field_write_valid (<%= bit_field_write_valid %>),
|
23
|
+
.o_bit_field_mask (<%= bit_field_mask %>),
|
24
|
+
.o_bit_field_write_data (<%= bit_field_write_data %>),
|
25
|
+
.i_bit_field_read_data (<%= bit_field_read_data %>),
|
26
|
+
.i_bit_field_value (<%= bit_field_value %>)
|
27
27
|
);
|
@@ -7,23 +7,23 @@ rggen_indirect_register #(
|
|
7
7
|
.DATA_WIDTH (<%= width %>),
|
8
8
|
.INDIRECT_MATCH_WIDTH (<%= index_match_width %>)
|
9
9
|
) u_register (
|
10
|
-
.i_clk
|
11
|
-
.i_rst_n
|
12
|
-
.i_register_valid
|
13
|
-
.i_register_access
|
14
|
-
.i_register_address
|
15
|
-
.i_register_write_data
|
16
|
-
.i_register_strobe
|
17
|
-
.o_register_active
|
18
|
-
.o_register_ready
|
19
|
-
.o_register_status
|
20
|
-
.o_register_read_data
|
21
|
-
.o_register_value
|
22
|
-
.i_indirect_match
|
23
|
-
.
|
24
|
-
.
|
25
|
-
.
|
26
|
-
.o_bit_field_write_data
|
27
|
-
.i_bit_field_read_data
|
28
|
-
.i_bit_field_value
|
10
|
+
.i_clk (<%= clock %>),
|
11
|
+
.i_rst_n (<%= reset %>),
|
12
|
+
.i_register_valid (<%= register_valid %>),
|
13
|
+
.i_register_access (<%= register_access %>),
|
14
|
+
.i_register_address (<%= register_address %>),
|
15
|
+
.i_register_write_data (<%= register_write_data %>),
|
16
|
+
.i_register_strobe (<%= register_strobe %>),
|
17
|
+
.o_register_active (<%= register_active %>),
|
18
|
+
.o_register_ready (<%= register_ready %>),
|
19
|
+
.o_register_status (<%= register_status %>),
|
20
|
+
.o_register_read_data (<%= register_read_data %>),
|
21
|
+
.o_register_value (<%= register_value %>),
|
22
|
+
.i_indirect_match (<%= indirect_match %>),
|
23
|
+
.o_bit_field_read_valid (<%= bit_field_read_valid %>),
|
24
|
+
.o_bit_field_write_valid (<%= bit_field_write_valid %>),
|
25
|
+
.o_bit_field_mask (<%= bit_field_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
29
|
);
|
@@ -6,22 +6,22 @@ rggen_default_register #(
|
|
6
6
|
.BUS_WIDTH (<%= bus_width %>),
|
7
7
|
.DATA_WIDTH (<%= width %>)
|
8
8
|
) u_register (
|
9
|
-
.i_clk
|
10
|
-
.i_rst_n
|
11
|
-
.i_register_valid
|
12
|
-
.i_register_access
|
13
|
-
.i_register_address
|
14
|
-
.i_register_write_data
|
15
|
-
.i_register_strobe
|
16
|
-
.o_register_active
|
17
|
-
.o_register_ready
|
18
|
-
.o_register_status
|
19
|
-
.o_register_read_data
|
20
|
-
.o_register_value
|
21
|
-
.
|
22
|
-
.
|
23
|
-
.
|
24
|
-
.o_bit_field_write_data
|
25
|
-
.i_bit_field_read_data
|
26
|
-
.i_bit_field_value
|
9
|
+
.i_clk (<%= clock %>),
|
10
|
+
.i_rst_n (<%= reset %>),
|
11
|
+
.i_register_valid (<%= register_valid %>),
|
12
|
+
.i_register_access (<%= register_access %>),
|
13
|
+
.i_register_address (<%= register_address %>),
|
14
|
+
.i_register_write_data (<%= register_write_data %>),
|
15
|
+
.i_register_strobe (<%= register_strobe %>),
|
16
|
+
.o_register_active (<%= register_active %>),
|
17
|
+
.o_register_ready (<%= register_ready %>),
|
18
|
+
.o_register_status (<%= register_status %>),
|
19
|
+
.o_register_read_data (<%= register_read_data %>),
|
20
|
+
.o_register_value (<%= register_value %>),
|
21
|
+
.o_bit_field_read_valid (<%= bit_field_read_valid %>),
|
22
|
+
.o_bit_field_write_valid (<%= bit_field_write_valid %>),
|
23
|
+
.o_bit_field_mask (<%= bit_field_mask %>),
|
24
|
+
.o_bit_field_write_data (<%= bit_field_write_data %>),
|
25
|
+
.i_bit_field_read_data (<%= bit_field_read_data %>),
|
26
|
+
.i_bit_field_value (<%= bit_field_value %>)
|
27
27
|
);
|
@@ -60,16 +60,16 @@ RgGen.define_list_feature(:register, :type) do
|
|
60
60
|
register_block.register_value[[register.index], 0, width]
|
61
61
|
end
|
62
62
|
|
63
|
-
def
|
64
|
-
register.
|
63
|
+
def bit_field_read_valid
|
64
|
+
register.bit_field_read_valid
|
65
65
|
end
|
66
66
|
|
67
|
-
def
|
68
|
-
register.
|
67
|
+
def bit_field_write_valid
|
68
|
+
register.bit_field_write_valid
|
69
69
|
end
|
70
70
|
|
71
|
-
def
|
72
|
-
register.
|
71
|
+
def bit_field_mask
|
72
|
+
register.bit_field_mask
|
73
73
|
end
|
74
74
|
|
75
75
|
def bit_field_write_data
|
@@ -6,14 +6,14 @@ RgGen.define_simple_feature(:register, :verilog_top) do
|
|
6
6
|
|
7
7
|
build do
|
8
8
|
unless register.bit_fields.empty?
|
9
|
-
wire :
|
10
|
-
name: '
|
9
|
+
wire :bit_field_read_valid, {
|
10
|
+
name: 'w_bit_field_read_valid', width: 1
|
11
11
|
}
|
12
|
-
wire :
|
13
|
-
name: '
|
12
|
+
wire :bit_field_write_valid, {
|
13
|
+
name: 'w_bit_field_write_valid', width: 1
|
14
14
|
}
|
15
|
-
wire :
|
16
|
-
name: '
|
15
|
+
wire :bit_field_mask, {
|
16
|
+
name: 'w_bit_field_mask', width: register.width
|
17
17
|
}
|
18
18
|
wire :bit_field_write_data, {
|
19
19
|
name: 'w_bit_field_write_data', width: register.width
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rggen-verilog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taichi Ishitani
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-01 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rggen-systemverilog
|
@@ -15,14 +15,14 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - ">="
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 0.35.
|
18
|
+
version: 0.35.1
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 0.35.
|
25
|
+
version: 0.35.1
|
26
26
|
description: Verilog write plugin for RgGen
|
27
27
|
email:
|
28
28
|
- rggen@googlegroups.com
|
@@ -133,5 +133,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
requirements: []
|
134
134
|
rubygems_version: 3.6.2
|
135
135
|
specification_version: 4
|
136
|
-
summary: rggen-verilog-0.13.
|
136
|
+
summary: rggen-verilog-0.13.1
|
137
137
|
test_files: []
|