x393  1.0
FPGAcodeforElphelNC393camera
sata_ahci_top.v
Go to the documentation of this file.
1 
39 `timescale 1ns/1ps
40 /*
41  Takes commands from axi iface as a slave, transfers data with another axi iface as a master
42  */
43  module sata_ahci_top#(
44  parameter PREFETCH_ALWAYS = 0,
45 // parameter READ_REG_LATENCY = 2, // 0 if reg_rdata is available with reg_re/reg_addr, 2 with re/regen
46 // parameter READ_CT_LATENCY = 1, // 0 if ct_rdata is available with reg_re/reg_addr, 2 with re/regen
47  parameter ADDRESS_BITS = 10, // number of memory address bits - now fixed. Low half - RO/RW/RWC,RW1 (2-cycle write), 2-nd just RW (single-cycle)
48 `ifdef USE_DATASCOPE
49  parameter DATASCOPE_START_BIT = 14, // bit of DRP "other_control" to start recording after 0->1 (needs DRP)
50  parameter DATASCOPE_POST_MEAS = 256, // 16, // number of measurements to perform after event
51 `endif
52 
53  parameter HBA_RESET_BITS = 9, // duration of HBA reset in aclk periods (9: ~10usec)
54  parameter RESET_TO_FIRST_ACCESS = 1, // keep port reset until first R/W any register by software
55  parameter BITS_TO_START_XMIT = 6, // wait H2D FIFO to have 1 << BITS_TO_START_XMIT to start FIS transmission (or all FIS fits)
56  parameter DATA_BYTE_WIDTH = 4,
57  parameter ELASTIC_DEPTH = 4, // 4, //5, With 4/7 got infrequent overflows!
58  parameter ELASTIC_OFFSET = 7, // 5 //10
59  parameter FREQ_METER_WIDTH = 16
60  )(
61  output wire sata_clk,
62  output wire sata_rst,
63  input wire arst, // extrst,
64 
65  // reliable clock to source drp and cpll lock det circuits
66  input wire reliable_clk,
67 
68  input wire hclk,
69 
70 /*
71  Commands interface
72  */
73  input wire ACLK, // AXI PS Master GP1 Clock , input
74  input wire ARESETN, // AXI PS Master GP1 Reset, output // @SuppressThisWarning VEditor unused (arst instead)
75 // AXI PS Master GP1: Read Address
76  input wire [31:0] ARADDR, // AXI PS Master GP1 ARADDR[31:0], output
77  input wire ARVALID, // AXI PS Master GP1 ARVALID, output
78  output wire ARREADY, // AXI PS Master GP1 ARREADY, input
79  input wire [11:0] ARID, // AXI PS Master GP1 ARID[11:0], output
80  input wire [3:0] ARLEN, // AXI PS Master GP1 ARLEN[3:0], output
81  input wire [1:0] ARSIZE, // AXI PS Master GP1 ARSIZE[1:0], output
82  input wire [1:0] ARBURST, // AXI PS Master GP1 ARBURST[1:0], output
83 // AXI PS Master GP1: Read Data
84  output wire [31:0] RDATA, // AXI PS Master GP1 RDATA[31:0], input
85  output wire RVALID, // AXI PS Master GP1 RVALID, input
86  input wire RREADY, // AXI PS Master GP1 RREADY, output
87  output wire [11:0] RID, // AXI PS Master GP1 RID[11:0], input
88  output wire RLAST, // AXI PS Master GP1 RLAST, input
89  output wire [1:0] RRESP, // AXI PS Master GP1 RRESP[1:0], input
90 // AXI PS Master GP1: Write Address
91  input wire [31:0] AWADDR, // AXI PS Master GP1 AWADDR[31:0], output
92  input wire AWVALID, // AXI PS Master GP1 AWVALID, output
93  output wire AWREADY, // AXI PS Master GP1 AWREADY, input
94  input wire [11:0] AWID, // AXI PS Master GP1 AWID[11:0], output
95  input wire [3:0] AWLEN, // AXI PS Master GP1 AWLEN[3:0], outpu:t
96  input wire [1:0] AWSIZE, // AXI PS Master GP1 AWSIZE[1:0], output
97  input wire [1:0] AWBURST, // AXI PS Master GP1 AWBURST[1:0], output
98 // AXI PS Master GP1: Write Data
99  input wire [31:0] WDATA, // AXI PS Master GP1 WDATA[31:0], output
100  input wire WVALID, // AXI PS Master GP1 WVALID, output
101  output wire WREADY, // AXI PS Master GP1 WREADY, input
102  input wire [11:0] WID, // AXI PS Master GP1 WID[11:0], output
103  input wire WLAST, // AXI PS Master GP1 WLAST, output
104  input wire [3:0] WSTRB, // AXI PS Master GP1 WSTRB[3:0], output
105 // AXI PS Master GP1: Write response
106  output wire BVALID, // AXI PS Master GP1 BVALID, input
107  input wire BREADY, // AXI PS Master GP1 BREADY, output
108  output wire [11:0] BID, // AXI PS Master GP1 BID[11:0], input
109  output wire [1:0] BRESP, // AXI PS Master GP1 BRESP[1:0], input
110 
111 /*
112  Data interface
113  */
114  output wire [31:0] afi_awaddr,
115  output wire afi_awvalid,
116  input wire afi_awready,
117  output wire [5:0] afi_awid,
118  output wire [1:0] afi_awlock,
119  output wire [3:0] afi_awcache,
120  output wire [2:0] afi_awprot,
121  output wire [3:0] afi_awlen,
122  output wire [1:0] afi_awsize,
123  output wire [1:0] afi_awburst,
124  output wire [3:0] afi_awqos,
125  // write data
126  output wire [63:0] afi_wdata,
127  output wire afi_wvalid,
128  input wire afi_wready,
129  output wire [5:0] afi_wid,
130  output wire afi_wlast,
131  output wire [7:0] afi_wstrb,
132  // write response
133  input wire afi_bvalid,
134  output wire afi_bready,
135  input wire [5:0] afi_bid,
136  input wire [1:0] afi_bresp,
137  // PL extra (non-AXI) signals
138  input wire [7:0] afi_wcount,
139  input wire [5:0] afi_wacount,
140  output wire afi_wrissuecap1en,
141  // AXI_HP signals - read channel
142  // read address
143  output wire [31:0] afi_araddr,
144  output wire afi_arvalid,
145  input wire afi_arready,
146  output wire [5:0] afi_arid,
147  output wire [1:0] afi_arlock,
148  output wire [3:0] afi_arcache,
149  output wire [2:0] afi_arprot,
150  output wire [3:0] afi_arlen,
151  output wire [1:0] afi_arsize,
152  output wire [1:0] afi_arburst,
153  output wire [3:0] afi_arqos,
154  // read data
155  input wire [63:0] afi_rdata,
156  input wire afi_rvalid,
157  output wire afi_rready,
158  input wire [5:0] afi_rid,
159  input wire afi_rlast,
160  input wire [1:0] afi_rresp,
161  // PL extra (non-AXI) signals
162  input wire [7:0] afi_rcount,
163  input wire [2:0] afi_racount,
164  output wire afi_rdissuecap1en,
165 
166  output wire irq,
167 /*
168  PHY
169  */
170  output wire TXN,
171  output wire TXP,
172  input wire RXN,
173  input wire RXP,
174 
175  input wire EXTCLK_P,
176  input wire EXTCLK_N
177  );
178 
179 // wire sata_clk;
180 // wire sata_rst;
181 
182  wire hba_arst; // @S uppressThisWarning VEditor unused
183  wire port_arst; // @SuppressThisWarning VEditor unused
185 // wire exrst = port_arst_any; // now both hba_arst and port_arst are the same?
186  wire exrst = port_arst_any || hba_arst; // now both hba_arst and port_arst are the same (only difference in fsm)
187 
188 
189 
190 // Data/type FIFO, host -> device
191  // Data System memory or FIS -> device
192  wire [31:0] h2d_data; // 32-bit data from the system memory to HBA (dma data)
193  wire [ 1:0] h2d_type; // 0 - data, 1 - FIS head, 2 - FIS END (make FIS_Last?)
194  wire h2d_valid; // output register full
195  wire h2d_ready; // send FIFO has room for data (>= 8? dwords)
196 
197 // Data/type FIFO, device -> host
198  wire [31:0] d2h_data; // FIFO output data
199  wire [ 1:0] d2h_type; // 0 - data, 1 - FIS head, 2 - R_OK, 3 - R_ERR
200  wire d2h_valid; // Data available from the transport layer in FIFO
201  wire d2h_many; // Multiple DWORDs available from the transport layer in FIFO
202  wire d2h_ready; // This module or DMA consumes DWORD
203 
204  // communication with transport/link/phys layers
205 // wire phy_rst; // frome phy, as a response to hba_arst || port_arst. It is deasserted when clock is stable
206  wire [ 1:0] phy_speed; // 0 - not ready, 1..3 - negotiated speed
207  wire xmit_ok; // FIS transmission acknowledged OK
208  wire xmit_err; // Error during sending of a FIS
209  wire syncesc_recv; // These two inputs interrupt transmit
210  wire pcmd_st_cleared; // bit was cleared by software
211  wire syncesc_send; // Send sync escape
212  wire syncesc_send_done; // "SYNC escape until the interface is quiescent..."
213  wire comreset_send; // Not possible yet?
215  wire set_offline; // electrically idle
216  wire x_rdy_collision; // X_RDY/X_RDY collision on interface
217 
218  wire send_R_OK; // Should it be originated in this layer SM?
220 
221  // additional errors from SATA layers (single-clock pulses):
222  wire serr_DT; // RWC: Transport state transition error
223  wire serr_DS; // RWC: Link sequence error
224  wire serr_DH; // RWC: Handshake Error (i.e. Device got CRC error)
225  wire serr_DC; // RWC: CRC error in Link layer
226  wire serr_DB; // RWC: 10B to 8B decode error
227  wire serr_DW; // RWC: COMMWAKE signal was detected
228  wire serr_DI; // RWC: PHY Internal Error
229  // sirq_PRC,
230  wire serr_EE; // RWC: Internal error (such as elastic buffer overflow or primitive mis-alignment)
231  wire serr_EP; // RWC: Protocol Error - a violation of SATA protocol detected
232  wire serr_EC; // RWC: Persistent Communication or Data Integrity Error
233  wire serr_ET; // RWC: Transient Data Integrity Error (error not recovered by the interface)
234  wire serr_EM; // RWC: Communication between the device and host was lost but re-established
235  wire serr_EI; // RWC: Recovered Data integrity Error
236  // additional control signals for SATA layers
237  wire [3:0] sctl_ipm; // Interface power management transitions allowed
238  wire [3:0] sctl_spd; // Interface maximal speed
239 
240  reg [2:0] nhrst_r;
241  wire hrst = !nhrst_r[2];
242 
244 `ifdef USE_DATASCOPE
245 // Datascope interface (write to memory that can be software-read)
249  wire [31:0] datascope_di;
250 `endif
251 
252 `ifdef USE_DRP
253  wire drp_en;
254  wire drp_we;
255  wire [14:0] drp_addr;
256  wire [15:0] drp_di;
257  wire drp_rdy;
258  wire [15:0] drp_do;
259 `endif
260 
261 
262  wire [31:0] debug_phy;
263  wire [31:0] debug_link;
264 
265  always @ (posedge hclk or posedge arst) begin
266  if (arst) nhrst_r <= 0;
267  else nhrst_r <= (nhrst_r << 1) | 1;
268  end
269 
270 
273 // .READ_REG_LATENCY (READ_REG_LATENCY),
274 // .READ_CT_LATENCY (READ_CT_LATENCY),
279  ) ahci_top_i (
280  .aclk (ACLK), // input
281  .arst (arst), // input
282  .mclk (sata_clk), // input
283  .mrst (sata_rst), // input
284  .hba_arst (hba_arst), // output
285  .port_arst (port_arst), // output
286  .port_arst_any (port_arst_any), // port0 async set by software and by arst
287 
288  .hclk (hclk), // input
289  .hrst (hrst), // input
290 
291  .awaddr (AWADDR), // input[31:0]
292  .awvalid (AWVALID), // input
293  .awready (AWREADY), // output
294  .awid (AWID), // input[11:0]
295  .awlen (AWLEN), // input[3:0]
296  .awsize (AWSIZE), // input[1:0]
297  .awburst (AWBURST), // input[1:0]
298  .wdata (WDATA), // input[31:0]
299  .wvalid (WVALID), // input
300  .wready (WREADY), // output
301  .wid (WID), // input[11:0]
302  .wlast (WLAST), // input
303  .wstb (WSTRB), // input[3:0]
304  .bvalid (BVALID), // output
305  .bready (BREADY), // input
306  .bid (BID), // output[11:0]
307  .bresp (BRESP), // output[1:0]
308  .araddr (ARADDR), // input[31:0]
309  .arvalid (ARVALID), // input
310  .arready (ARREADY), // output
311  .arid (ARID), // input[11:0]
312  .arlen (ARLEN), // input[3:0]
313  .arsize (ARSIZE), // input[1:0]
314  .arburst (ARBURST), // input[1:0]
315  .rdata (RDATA), // output[31:0]
316  .rvalid (RVALID), // output
317  .rready (RREADY), // input
318  .rid (RID), // output[11:0]
319  .rlast (RLAST), // output
320  .rresp (RRESP), // output[1:0]
321  .afi_awaddr (afi_awaddr), // output[31:0]
322  .afi_awvalid (afi_awvalid), // output
323  .afi_awready (afi_awready), // input
324  .afi_awid (afi_awid), // output[5:0]
325  .afi_awlock (afi_awlock), // output[1:0]
326  .afi_awcache (afi_awcache), // output[3:0]
327  .afi_awprot (afi_awprot), // output[2:0]
328  .afi_awlen (afi_awlen), // output[3:0]
329  .afi_awsize (afi_awsize), // output[1:0]
330  .afi_awburst (afi_awburst), // output[1:0]
331  .afi_awqos (afi_awqos), // output[3:0]
332  .afi_wdata (afi_wdata), // output[63:0]
333  .afi_wvalid (afi_wvalid), // output
334  .afi_wready (afi_wready), // input
335  .afi_wid (afi_wid), // output[5:0]
336  .afi_wlast (afi_wlast), // output
337  .afi_wstrb (afi_wstrb), // output[7:0]
338  .afi_bvalid (afi_bvalid), // input
339  .afi_bready (afi_bready), // output
340  .afi_bid (afi_bid), // input[5:0]
341  .afi_bresp (afi_bresp), // input[1:0]
342  .afi_wcount (afi_wcount), // input[7:0]
343  .afi_wacount (afi_wacount), // input[5:0]
345  .afi_araddr (afi_araddr), // output[31:0]
346  .afi_arvalid (afi_arvalid), // output
347  .afi_arready (afi_arready), // input
348  .afi_arid (afi_arid), // output[5:0]
349  .afi_arlock (afi_arlock), // output[1:0]
350  .afi_arcache (afi_arcache), // output[3:0]
351  .afi_arprot (afi_arprot), // output[2:0]
352  .afi_arlen (afi_arlen), // output[3:0]
353  .afi_arsize (afi_arsize), // output[1:0]
354  .afi_arburst (afi_arburst), // output[1:0]
355  .afi_arqos (afi_arqos), // output[3:0]
356  .afi_rdata (afi_rdata), // input[63:0]
357  .afi_rvalid (afi_rvalid), // input
358  .afi_rready (afi_rready), // output
359  .afi_rid (afi_rid), // input[5:0]
360  .afi_rlast (afi_rlast), // input
361  .afi_rresp (afi_rresp), // input[1:0]
362  .afi_rcount (afi_rcount), // input[7:0]
363  .afi_racount (afi_racount), // input[2:0]
365 
366  .h2d_data (h2d_data), // output[31:0]
367  .h2d_type (h2d_type), // output[1:0]
368  .h2d_valid (h2d_valid), // output
369  .h2d_ready (h2d_ready), // input
370 
371  .d2h_data (d2h_data), // input[31:0]
372  .d2h_type (d2h_type), // input[1:0]
373  .d2h_valid (d2h_valid), // input
374  .d2h_many (d2h_many), // input
375  .d2h_ready (d2h_ready), // output
376 
377  .phy_ready (phy_speed), // input[1:0]
378  .xmit_ok (xmit_ok), // input
379  .xmit_err (xmit_err), // input
380  .syncesc_recv (syncesc_recv), // input
381  .pcmd_st_cleared (pcmd_st_cleared), // output
382  .syncesc_send (syncesc_send), // output
384  .comreset_send (comreset_send), // output
385  .cominit_got (cominit_got), // input
386  .set_offline (set_offline), // output
387  .x_rdy_collision (x_rdy_collision), // input
388  .send_R_OK (send_R_OK), // output
389  .send_R_ERR (send_R_ERR), // output
390  .serr_DT (serr_DT), // input
391  .serr_DS (serr_DS), // input
392  .serr_DH (serr_DH), // input
393  .serr_DC (serr_DC), // input
394  .serr_DB (serr_DB), // input
395  .serr_DW (serr_DW), // input
396  .serr_DI (serr_DI), // input
397  .serr_EE (serr_EE), // input
398  .serr_EP (serr_EP), // input
399  .serr_EC (serr_EC), // input
400  .serr_ET (serr_ET), // input
401  .serr_EM (serr_EM), // input
402  .serr_EI (serr_EI), // input
403  .sctl_ipm (sctl_ipm), // output[3:0]
404  .sctl_spd (sctl_spd), // output[3:0]
405  .irq (irq), // output
406 
407 `ifdef USE_DATASCOPE
408  .datascope1_clk (datascope_clk), // input
409  .datascope1_waddr (datascope_waddr), // input[9:0]
410  .datascope1_we (datascope_we), // input
411  .datascope1_di (datascope_di), // input[31:0]
412 `endif
413 
414 `ifdef USE_DRP
415  .drp_en (drp_en), // output reg
416  .drp_we (drp_we), // output reg
417  .drp_addr (drp_addr), // output[14:0] reg
418  .drp_di (drp_di), // output[15:0] reg
419  .drp_rdy (drp_rdy), // input
420  .drp_do (drp_do), // input[15:0]
421 `endif
422  .xclk_period (xclk_period), // input[11:0]
423  .debug_in_phy (debug_phy), // input[31:0]
424  .debug_in_link (debug_link) // input[31:0]
425  );
426 
428 `ifdef USE_DATASCOPE
429  .ADDRESS_BITS (ADDRESS_BITS), // for datascope
430  .DATASCOPE_START_BIT (DATASCOPE_START_BIT), // bit of DRP "other_control" to start recording after 0->1 (needs DRP)
431  .DATASCOPE_POST_MEAS (DATASCOPE_POST_MEAS), // number of measurements to perform after event
432 `endif
438  ) ahci_sata_layers_i (
439  .exrst (exrst), // input
440  .reliable_clk (reliable_clk), // input
441  .rst (sata_rst), // output
442  .clk (sata_clk), // output
443 
444  .h2d_data (h2d_data), // input[31:0]
445  .h2d_mask (2'h3), //h2d_mask), // input[1:0]
446  .h2d_type (h2d_type), // input[1:0]
447  .h2d_valid (h2d_valid), // input
448  .h2d_ready (h2d_ready), // output
449 
450  .d2h_data (d2h_data), // output[31:0]
451  .d2h_mask (), // 2h_mask), // output[1:0]
452  .d2h_type (d2h_type), // output[1:0]
453  .d2h_valid (d2h_valid), // output
454  .d2h_many (d2h_many), // output
455  .d2h_ready (d2h_ready), // input
456 
457  .phy_speed (phy_speed), // output[1:0]
458  .gtx_ready(), // output
459  .xmit_ok (xmit_ok), // output
460  .xmit_err (xmit_err), // output
461  .x_rdy_collision (x_rdy_collision), // output
462  .syncesc_recv (syncesc_recv), // output
463  .pcmd_st_cleared (pcmd_st_cleared), // input
464  .syncesc_send (syncesc_send), // input
466  .comreset_send (comreset_send), // input
467  .cominit_got (cominit_got), // output
468  .set_offline (set_offline), // input
469  .send_R_OK (send_R_OK), // input
470  .send_R_ERR (send_R_ERR), // input
471  .serr_DT (serr_DT), // output
472  .serr_DS (serr_DS), // output
473  .serr_DH (serr_DH), // output
474  .serr_DC (serr_DC), // output
475  .serr_DB (serr_DB), // output
476  .serr_DW (serr_DW), // output
477  .serr_DI (serr_DI), // output
478  .serr_EE (serr_EE), // output
479  .serr_EP (serr_EP), // output
480  .serr_EC (serr_EC), // output
481  .serr_ET (serr_ET), // output
482  .serr_EM (serr_EM), // output
483  .serr_EI (serr_EI), // output
484  .sctl_ipm (sctl_ipm), // input[3:0]
485  .sctl_spd (sctl_spd), // input[3:0]
486  .extclk_p (EXTCLK_P), // input wire
487  .extclk_n (EXTCLK_N), // input wire
488  .txp_out (TXP), // output wire
489  .txn_out (TXN), // output wire
490  .rxp_in (RXP), // input wire
491  .rxn_in (RXN), // input wire
492 `ifdef USE_DATASCOPE
493  .datascope_clk (datascope_clk), // output
494  .datascope_waddr (datascope_waddr), // output[9:0]
495  .datascope_we (datascope_we), // output
496  .datascope_di (datascope_di), // output[31:0]
497 `endif
498 `ifdef USE_DRP
499  .drp_rst (arst), // input
500  .drp_clk (ACLK), // input
501  .drp_en (drp_en), // input
502  .drp_we (drp_we), // input
503  .drp_addr (drp_addr), // input[14:0]
504  .drp_di (drp_di), // input[15:0]
505  .drp_rdy (drp_rdy), // output
506  .drp_do (drp_do), // output[15:0]
507 `endif
508  .xclk_period (xclk_period), // output[11:0]
509  .debug_phy (debug_phy), // output[31:0]
510  .debug_link (debug_link) // output[31:0]
511  ,.hclk(hclk)
512  );
513 
514 
515 endmodule
516 
14369debug_linkwire[31:0]
[ 1:0] 13720bresp
Definition: ahci_top.v:69
13730rready
Definition: ahci_top.v:81
wire 14227sata_rst
Definition: sata_ahci_top.v:62
[11:0] 13719bid
Definition: ahci_top.v:68
wire [1:0] 14272afi_awburst
wire [3:0] 14273afi_awqos
13703hrst
Definition: ahci_top.v:48
13701port_arst_any
Definition: ahci_top.v:46
wire [1:0] 14291afi_arlock
[ 5:0] 13753afi_bid
Definition: ahci_top.v:109
[31:0] 13782d2h_data
Definition: ahci_top.v:147
wire [1:0] 14251AWSIZE
Definition: sata_ahci_top.v:96
13696arst
Definition: ahci_top.v:40
wire [5:0] 14277afi_wid
14225FREQ_METER_WIDTH16
Definition: sata_ahci_top.v:59
[ 1:0] 13754afi_bresp
Definition: ahci_top.v:110
13697mclk
Definition: ahci_top.v:41
wire [7:0] 14304afi_rcount
wire 14276afi_wready
[11:0] 13724arid
Definition: ahci_top.v:74
13784d2h_valid
Definition: ahci_top.v:149
13700port_arst
Definition: ahci_top.v:45
[ 7:0] 13775afi_rcount
Definition: ahci_top.v:136
[ 7:0] 13750afi_wstrb
Definition: ahci_top.v:105
13715wlast
Definition: ahci_top.v:63
wire [1:0] 14267afi_awlock
[14:0] 13822drp_addr
Definition: ahci_top.v:206
wire [5:0] 14282afi_bid
14354sctl_spdwire[3:0]
13812serr_EI
Definition: ahci_top.v:185
wire [31:0] 14233ARADDR
Definition: sata_ahci_top.v:76
[ 1:0] 13727arburst
Definition: ahci_top.v:77
14316port_arst_anywire
wire [31:0] 14240RDATA
Definition: sata_ahci_top.v:84
13818datascope1_we
Definition: ahci_top.v:198
14319h2d_typewire[1:0]
14318h2d_datawire[31:0]
14323d2h_typewire[1:0]
13791pcmd_st_cleared
Definition: ahci_top.v:159
[3:0] 13814sctl_spd
Definition: ahci_top.v:188
[ 1:0] 13709awsize
Definition: ahci_top.v:56
wire 14289afi_arready
wire [1:0] 14295afi_arsize
[ADDRESS_BITS-1:0] 13614datascope_waddr
[11:0] 13707awid
Definition: ahci_top.v:54
13760afi_arready
Definition: ahci_top.v:119
wire [2:0] 14269afi_awprot
[31:0] 13711wdata
Definition: ahci_top.v:59
14357xclk_periodwire[FREQ_METER_WIDTH-1:0]
[15:0] 13825drp_do
Definition: ahci_top.v:209
13695aclk
Definition: ahci_top.v:39
[ 1:0] 13787phy_ready
Definition: ahci_top.v:155
13752afi_bready
Definition: ahci_top.v:108
[31:0] 13758afi_araddr
Definition: ahci_top.v:117
wire [3:0] 14270afi_awlen
wire [3:0] 14237ARLEN
Definition: sata_ahci_top.v:80
13780h2d_valid
Definition: ahci_top.v:143
wire [5:0] 14301afi_rid
13785d2h_many
Definition: ahci_top.v:150
[31:0] 13778h2d_data
Definition: ahci_top.v:141
13698mrst
Definition: ahci_top.v:42
13713wready
Definition: ahci_top.v:61
wire [63:0] 14274afi_wdata
wire [1:0] 14303afi_rresp
14355nhrst_rreg[2:0]
[ 3:0] 13744afi_awqos
Definition: ahci_top.v:98
[ 5:0] 13748afi_wid
Definition: ahci_top.v:103
wire [31:0] 14263afi_awaddr
wire 14300afi_rready
13798send_R_OK
Definition: ahci_top.v:167
13790syncesc_recv
Definition: ahci_top.v:158
wire 14226sata_clk
Definition: sata_ahci_top.v:61
[ 5:0] 13737afi_awid
Definition: ahci_top.v:91
wire [1:0] 14296afi_arburst
[ 1:0] 13743afi_awburst
Definition: ahci_top.v:97
[63:0] 13769afi_rdata
Definition: ahci_top.v:129
wire [5:0] 14285afi_wacount
13796set_offline
Definition: ahci_top.v:164
13786d2h_ready
Definition: ahci_top.v:151
wire [1:0] 14262BRESP
wire [63:0] 14298afi_rdata
13718bready
Definition: ahci_top.v:67
wire 14280afi_bvalid
wire [3:0] 14250AWLEN
Definition: sata_ahci_top.v:95
13816datascope1_clk
Definition: ahci_top.v:196
13717bvalid
Definition: ahci_top.v:66
wire [1:0] 14245RRESP
Definition: sata_ahci_top.v:89
13821drp_we
Definition: ahci_top.v:205
14364drp_addrwire[14:0]
13747afi_wready
Definition: ahci_top.v:102
13770afi_rvalid
Definition: ahci_top.v:130
wire 14281afi_bready
13809serr_EC
Definition: ahci_top.v:182
13789xmit_err
Definition: ahci_top.v:157
13802serr_DH
Definition: ahci_top.v:173
13712wvalid
Definition: ahci_top.v:60
13805serr_DW
Definition: ahci_top.v:176
13751afi_bvalid
Definition: ahci_top.v:107
14353sctl_ipmwire[3:0]
13793syncesc_send_done
Definition: ahci_top.v:161
[3:0] 13813sctl_ipm
Definition: ahci_top.v:187
14220RESET_TO_FIRST_ACCESS1
Definition: sata_ahci_top.v:54
wire 14306afi_rdissuecap1en
13794comreset_send
Definition: ahci_top.v:162
14359datascope_waddrwire[ADDRESS_BITS-1:0]
wire [2:0] 14293afi_arprot
13788xmit_ok
Definition: ahci_top.v:156
13723arready
Definition: ahci_top.v:73
13729rvalid
Definition: ahci_top.v:80
13706awready
Definition: ahci_top.v:53
[ 2:0] 13776afi_racount
Definition: ahci_top.v:137
14361datascope_diwire[31:0]
wire [7:0] 14279afi_wstrb
[ 1:0] 13766afi_arsize
Definition: ahci_top.v:125
14358datascope_clkwire
13736afi_awready
Definition: ahci_top.v:90
[ 5:0] 13756afi_wacount
Definition: ahci_top.v:113
13807serr_EE
Definition: ahci_top.v:180
14367drp_dowire[15:0]
[31:0] 13819datascope1_di
Definition: ahci_top.v:199
[11:0] 13731rid
Definition: ahci_top.v:82
[ 1:0] 13710awburst
Definition: ahci_top.v:57
13824drp_rdy
Definition: ahci_top.v:208
wire [7:0] 14284afi_wcount
14337x_rdy_collisionwire
[ 1:0] 13726arsize
Definition: ahci_top.v:76
wire 14288afi_arvalid
13759afi_arvalid
Definition: ahci_top.v:118
wire [3:0] 14297afi_arqos
13757afi_wrissuecap1en
Definition: ahci_top.v:114
wire [11:0] 14236ARID
Definition: sata_ahci_top.v:79
wire 14229reliable_clk
Definition: sata_ahci_top.v:66
wire [5:0] 14266afi_awid
[ 3:0] 13716wstb
Definition: ahci_top.v:64
wire 14299afi_rvalid
wire [1:0] 14271afi_awsize
14365drp_diwire[15:0]
[ 3:0] 13708awlen
Definition: ahci_top.v:55
wire [11:0] 14256WID
wire [31:0] 14253WDATA
Definition: sata_ahci_top.v:99
13702hclk
Definition: ahci_top.v:47
13806serr_DI
Definition: ahci_top.v:177
wire [3:0] 14268afi_awcache
[ 1:0] 13762afi_arlock
Definition: ahci_top.v:121
wire [31:0] 14246AWADDR
Definition: sata_ahci_top.v:91
13804serr_DB
Definition: ahci_top.v:175
13810serr_ET
Definition: ahci_top.v:183
13820drp_en
Definition: ahci_top.v:204
[ 1:0] 13733rresp
Definition: ahci_top.v:84
13735afi_awvalid
Definition: ahci_top.v:89
13803serr_DC
Definition: ahci_top.v:174
14334comreset_sendwire
13749afi_wlast
Definition: ahci_top.v:104
[11:0] 13714wid
Definition: ahci_top.v:62
[ 5:0] 13761afi_arid
Definition: ahci_top.v:120
[31:0] 13721araddr
Definition: ahci_top.v:71
[63:0] 13745afi_wdata
Definition: ahci_top.v:100
13732rlast
Definition: ahci_top.v:83
14368debug_phywire[31:0]
13795cominit_got
Definition: ahci_top.v:163
[FREQ_METER_WIDTH - 1:0] 13625xclk_period
wire [1:0] 14283afi_bresp
[ 7:0] 13755afi_wcount
Definition: ahci_top.v:112
wire [3:0] 14292afi_arcache
13808serr_EP
Definition: ahci_top.v:181
wire 14286afi_wrissuecap1en
[31:0] 13704awaddr
Definition: ahci_top.v:51
13777afi_rdissuecap1en
Definition: ahci_top.v:138
wire [5:0] 14290afi_arid
13699hba_arst
Definition: ahci_top.v:44
[31:0] 13827debug_in_phy
Definition: ahci_top.v:212
[ 1:0] 13767afi_arburst
Definition: ahci_top.v:126
wire 14264afi_awvalid
[31:0] 13828debug_in_link
Definition: ahci_top.v:213
13792syncesc_send
Definition: ahci_top.v:160
[ 3:0] 13741afi_awlen
Definition: ahci_top.v:95
[ 3:0] 13768afi_arqos
Definition: ahci_top.v:127
13773afi_rlast
Definition: ahci_top.v:133
14218DATASCOPE_POST_MEAS256
Definition: sata_ahci_top.v:50
[ 3:0] 13739afi_awcache
Definition: ahci_top.v:93
14333syncesc_send_donewire
wire 14275afi_wvalid
14331pcmd_st_clearedwire
[ 2:0] 13740afi_awprot
Definition: ahci_top.v:94
[ADDRESS_BITS-1:0] 13817datascope1_waddr
Definition: ahci_top.v:197
[ 1:0] 13774afi_rresp
Definition: ahci_top.v:134
14327phy_speedwire[1:0]
13722arvalid
Definition: ahci_top.v:72
[ 1:0] 13742afi_awsize
Definition: ahci_top.v:96
[ 3:0] 13725arlen
Definition: ahci_top.v:75
wire [1:0] 14239ARBURST
Definition: sata_ahci_top.v:82
wire [1:0] 14252AWBURST
Definition: sata_ahci_top.v:97
wire [1:0] 14238ARSIZE
Definition: sata_ahci_top.v:81
[ 3:0] 13763afi_arcache
Definition: ahci_top.v:122
[ 2:0] 13764afi_arprot
Definition: ahci_top.v:123
13800serr_DT
Definition: ahci_top.v:171
13811serr_EM
Definition: ahci_top.v:184
[15:0] 13823drp_di
Definition: ahci_top.v:207
wire [31:0] 14287afi_araddr
[ 1:0] 13783d2h_type
Definition: ahci_top.v:148
13797x_rdy_collision
Definition: ahci_top.v:165
13801serr_DS
Definition: ahci_top.v:172
ahci_top_i ahci_top
wire [2:0] 14305afi_racount
13746afi_wvalid
Definition: ahci_top.v:101
wire [3:0] 14294afi_arlen
[ 3:0] 13765afi_arlen
Definition: ahci_top.v:124
14322d2h_datawire[31:0]
[31:0] 13734afi_awaddr
Definition: ahci_top.v:88
[ 1:0] 13779h2d_type
Definition: ahci_top.v:142
13799send_R_ERR
Definition: ahci_top.v:168
13781h2d_ready
Definition: ahci_top.v:144
[31:0] 13728rdata
Definition: ahci_top.v:79
wire [3:0] 14258WSTRB
wire 14265afi_awready
wire [11:0] 14261BID
14217DATASCOPE_START_BIT14
Definition: sata_ahci_top.v:49
wire [11:0] 14249AWID
Definition: sata_ahci_top.v:94
wire [11:0] 14243RID
Definition: sata_ahci_top.v:87
[ 5:0] 13772afi_rid
Definition: ahci_top.v:132
13771afi_rready
Definition: ahci_top.v:131
13705awvalid
Definition: ahci_top.v:52
ahci_sata_layers_i ahci_sata_layers
[ 1:0] 13738afi_awlock
Definition: ahci_top.v:92
[FREQ_METER_WIDTH - 1:0] 13826xclk_period
Definition: ahci_top.v:211