|
30 | 30 | * unrecognized opcodes are forwarded to a drop port |
31 | 31 | * |
32 | 32 | * Parameters: |
33 | | - * CW - UMI command width (default 32) |
34 | | - * DW - Data width in bits, must be <= 128 |
35 | | - * AW - Address width in bits (default 64) |
36 | | - * IDW - AXI ID width (default 8) |
37 | | - * HOSTADDR - UMI source address used by both write and read sub-modules |
38 | | - * (default MSB set). The lower DW/8 bits are reserved per the |
39 | | - * UMI spec; the write path uses those bits to encode the AXI |
40 | | - * write strobe value. |
| 33 | + * CW - UMI command width (default 32) |
| 34 | + * DW - Data width in bits, must be <= 128 |
| 35 | + * AW - Address width in bits (default 64) |
| 36 | + * IDW - AXI ID width (default 8) |
| 37 | + * |
| 38 | + * Config Ports: |
| 39 | + * hostaddr - UMI source address forwarded to both write and read sub-modules. |
| 40 | + * The lower DW/8 bits are reserved per the UMI spec; the write |
| 41 | + * path replaces those bits with the AXI write strobe value. |
| 42 | + * Typically static; if changed, must be synchronous to clk. |
41 | 43 | * |
42 | 44 | * Response Routing: |
43 | 45 | * UMI responses are routed back to the correct channel by inspecting the |
|
49 | 51 | ******************************************************************************/ |
50 | 52 |
|
51 | 53 | module axi2umi #( |
52 | | - parameter CW = 32, |
53 | | - parameter DW = 128, |
54 | | - parameter AW = 64, |
55 | | - parameter IDW = 8, |
56 | | - /* Note the bottom DW/8 bits of HOSTADDR are ignored |
57 | | - * per UMI spec. The spec recommendation is to set the bottom |
58 | | - * DW/8 bits of srcaddr to the AXI write channels strobe value */ |
59 | | - parameter [AW-1:0] HOSTADDR = {AW{1'b0}} |
| 54 | + parameter CW = 32, |
| 55 | + parameter DW = 128, |
| 56 | + parameter AW = 64, |
| 57 | + parameter IDW = 8 |
60 | 58 | )( |
61 | 59 | input clk, |
62 | 60 | input nreset, |
63 | 61 |
|
| 62 | + /* UMI source address for all requests. |
| 63 | + * The bottom DW/8 bits are replaced with the AXI write strobe on the |
| 64 | + * write path (per UMI spec). Typically static if changed, must be |
| 65 | + * synchronous to clk. */ |
| 66 | + input [AW-1:0] hostaddr, |
| 67 | + |
64 | 68 | input [1:0] arbmode, |
65 | 69 |
|
66 | 70 | //#################################### |
@@ -190,14 +194,14 @@ module axi2umi #( |
190 | 194 | //#################################### |
191 | 195 |
|
192 | 196 | axiwr2umi #( |
193 | | - .CW (CW), |
194 | | - .DW (DW), |
195 | | - .AW (AW), |
196 | | - .IDW (IDW), |
197 | | - .HOSTADDR (HOSTADDR) |
| 197 | + .CW (CW), |
| 198 | + .DW (DW), |
| 199 | + .AW (AW), |
| 200 | + .IDW (IDW) |
198 | 201 | ) u_axiwr2umi ( |
199 | 202 | .clk (clk), |
200 | 203 | .nreset (nreset), |
| 204 | + .hostaddr (hostaddr), |
201 | 205 | // AXI4 Write Address Channel |
202 | 206 | .s_axi_awid (s_axi_awid), |
203 | 207 | .s_axi_awaddr (s_axi_awaddr), |
@@ -243,14 +247,14 @@ module axi2umi #( |
243 | 247 | //#################################### |
244 | 248 |
|
245 | 249 | axird2umi #( |
246 | | - .CW (CW), |
247 | | - .DW (DW), |
248 | | - .AW (AW), |
249 | | - .IDW (IDW), |
250 | | - .HOSTADDR (HOSTADDR) |
| 250 | + .CW (CW), |
| 251 | + .DW (DW), |
| 252 | + .AW (AW), |
| 253 | + .IDW (IDW) |
251 | 254 | ) u_axird2umi ( |
252 | 255 | .clk (clk), |
253 | 256 | .nreset (nreset), |
| 257 | + .hostaddr (hostaddr), |
254 | 258 | // AXI4 Read Address Channel |
255 | 259 | .s_axi_arid (s_axi_arid), |
256 | 260 | .s_axi_araddr (s_axi_araddr), |
|
0 commit comments