Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | #define OUTPUT_EDGE PHOLD |
2 | #define INPUT_EDGE PSAMPLE #-1 | |
3 | #define OUTPUT_SKEW #1 | |
4 | ||
5 | ||
6 | #define META_DUV_PATH NIU_DUV_PATH.tds | |
7 | // #define META_DUV_PATH "meta_tb | |
8 | ||
9 | #ifdef NIU_GATE | |
10 | ||
11 | interface meta_write_if { | |
12 | ||
13 | input clk CLOCK verilog_node META_DUV_PATH.iol2clk"; | |
14 | ||
15 | // These inputs are no longer used but since we don't want to rip them off | |
16 | // they will be tied to "0" to get them to compile. VJH | |
17 | ||
18 | input dmc_meta0_req INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req"; | |
19 | input [7:0] dmc_meta0_req_cmd INPUT_EDGE verilog_node "{ 2'b0, tb_top.cpu.tds.dmc_meta0_req_cmd_5_, tb_top.cpu.tds.dmc_meta0_req_cmd_4_, 1'b0, tb_top.cpu.tds.dmc_meta0_req_cmd_2_, tb_top.cpu.tds.dmc_meta0_req_cmd_1_, tb_top.cpu.tds.dmc_meta0_req_cmd_0_}"; | |
20 | ||
21 | //input [5:0] dmc_meta0_transid INPUT_EDGE verilog_node "{ 1'b0, tb_top.cpu.tds.dmc_meta0_req_transID[4], tb_top.cpu.tds.dmc_meta0_req_transID[3], tb_top.cpu.tds.dmc_meta0_req_transID[2], tb_top.cpu.tds.dmc_meta0_req_transID[1], tb_top.cpu.tds.dmc_meta0_req_transID[0] }"; | |
22 | input [5:0] dmc_meta0_transid INPUT_EDGE verilog_node "{ 6'b0}"; | |
23 | ||
24 | input [1:0] dmc_meta0_port_num INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_port_num"; | |
25 | input [4:0] dmc_meta0_dma_num INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_dma_num"; | |
26 | input [13:0] dmc_meta0_req_length INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_length"; | |
27 | ||
28 | input [63:0] dmc_meta0_req_address INPUT_EDGE verilog_node "{ tb_top.cpu.tds.dmc_meta0_req_address_63_, tb_top.cpu.tds.dmc_meta0_req_address_62_, tb_top.cpu.tds.dmc_meta0_req_address_61_, tb_top.cpu.tds.dmc_meta0_req_address_60_, tb_top.cpu.tds.dmc_meta0_req_address_59_, tb_top.cpu.tds.dmc_meta0_req_address_58_, tb_top.cpu.tds.dmc_meta0_req_address_57_, tb_top.cpu.tds.dmc_meta0_req_address_56_, tb_top.cpu.tds.dmc_meta0_req_address_55_, tb_top.cpu.tds.dmc_meta0_req_address_54_, tb_top.cpu.tds.dmc_meta0_req_address_53_, tb_top.cpu.tds.dmc_meta0_req_address_52_, tb_top.cpu.tds.dmc_meta0_req_address_51_, tb_top.cpu.tds.dmc_meta0_req_address_50_, tb_top.cpu.tds.dmc_meta0_req_address_49_, tb_top.cpu.tds.dmc_meta0_req_address_48_, tb_top.cpu.tds.dmc_meta0_req_address_47_, tb_top.cpu.tds.dmc_meta0_req_address_46_, tb_top.cpu.tds.dmc_meta0_req_address_45_, tb_top.cpu.tds.dmc_meta0_req_address_44_, tb_top.cpu.tds.dmc_meta0_req_address_43_, tb_top.cpu.tds.dmc_meta0_req_address_42_, tb_top.cpu.tds.dmc_meta0_req_address_41_, tb_top.cpu.tds.dmc_meta0_req_address_40_, tb_top.cpu.tds.dmc_meta0_req_address_39_, tb_top.cpu.tds.dmc_meta0_req_address_38_, tb_top.cpu.tds.dmc_meta0_req_address_37_, tb_top.cpu.tds.dmc_meta0_req_address_36_, tb_top.cpu.tds.dmc_meta0_req_address_35_, tb_top.cpu.tds.dmc_meta0_req_address_34_, tb_top.cpu.tds.dmc_meta0_req_address_33_, tb_top.cpu.tds.dmc_meta0_req_address_32_, tb_top.cpu.tds.dmc_meta0_req_address_31_, tb_top.cpu.tds.dmc_meta0_req_address_30_, tb_top.cpu.tds.dmc_meta0_req_address_29_, tb_top.cpu.tds.dmc_meta0_req_address_28_, tb_top.cpu.tds.dmc_meta0_req_address_27_, tb_top.cpu.tds.dmc_meta0_req_address_26_, tb_top.cpu.tds.dmc_meta0_req_address_25_, tb_top.cpu.tds.dmc_meta0_req_address_24_, tb_top.cpu.tds.dmc_meta0_req_address_23_, tb_top.cpu.tds.dmc_meta0_req_address_22_, tb_top.cpu.tds.dmc_meta0_req_address_21_, tb_top.cpu.tds.dmc_meta0_req_address_20_, tb_top.cpu.tds.dmc_meta0_req_address_19_, tb_top.cpu.tds.dmc_meta0_req_address_18_, tb_top.cpu.tds.dmc_meta0_req_address_17_, tb_top.cpu.tds.dmc_meta0_req_address_16_, tb_top.cpu.tds.dmc_meta0_req_address_15_, tb_top.cpu.tds.dmc_meta0_req_address_14_, tb_top.cpu.tds.dmc_meta0_req_address_13_, tb_top.cpu.tds.dmc_meta0_req_address_12_, tb_top.cpu.tds.dmc_meta0_req_address_11_, tb_top.cpu.tds.dmc_meta0_req_address_10_,tb_top.cpu.tds.dmc_meta0_req_address_9_, tb_top.cpu.tds.dmc_meta0_req_address_8_, tb_top.cpu.tds.dmc_meta0_req_address_7_, tb_top.cpu.tds.dmc_meta0_req_address_6_, 6'b0}"; | |
29 | ||
30 | // For I6.0 input [7:0] dmc_meta0_clientid INPUT_EDGE verilog_node "{ 3'b0, tb_top.cpu.tds.dmc_meta0_req_client[4:2], 2'b0}"; | |
31 | #ifdef POST_LAYOUT // netlist changed via AStro | |
32 | input [7:0] dmc_meta0_clientid INPUT_EDGE verilog_node "{ 3'b0, tb_top.cpu.tds.dmc_meta0_req_client_4_, tb_top.cpu.tds.niu_meta_arb_niu_wr_meta_arb_n267, tb_top.cpu.tds.dmc_meta0_req_client_2_, 2'b0}"; | |
33 | #else | |
34 | //For 6.1 pre-layout back to _'s | |
35 | input [7:0] dmc_meta0_clientid INPUT_EDGE verilog_node "{ 3'b0, tb_top.cpu.tds.dmc_meta0_req_client_4_, tb_top.cpu.tds.dmc_meta0_req_client_3_, tb_top.cpu.tds.dmc_meta0_req_client_2_, 2'b0}"; | |
36 | #endif | |
37 | ||
38 | //input [127:0] dmc_meta0_data INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_data"; | |
39 | input [127:0] dmc_meta0_data INPUT_EDGE verilog_node "{128'b0}"; | |
40 | ||
41 | input dmc_meta0_data_valid INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_data_valid"; | |
42 | ||
43 | //input dmc_meta0_transfer_complete INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_transfer_complete"; | |
44 | input dmc_meta0_transfer_complete INPUT_EDGE verilog_node "{1'b0}"; | |
45 | ||
46 | //input [3:0] dmc_meta0_status INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_status"; | |
47 | input [3:0] dmc_meta0_status INPUT_EDGE verilog_node "{4'b0}"; | |
48 | ||
49 | //input [15:0] dmc_meta0_req_byteenable INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_byteenable"; | |
50 | input [15:0] dmc_meta0_req_byteenable INPUT_EDGE verilog_node "{16'b0}"; | |
51 | ||
52 | output meta0_dmc_req_accept OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc0_req_accept"; | |
53 | output meta0_dmc_data_req OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc0_data_req"; | |
54 | //output meta0_dmc_req_errors OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc0_req_errors"; | |
55 | ||
56 | } | |
57 | ||
58 | #else | |
59 | ||
60 | interface meta_write_if { | |
61 | ||
62 | input clk CLOCK verilog_node META_DUV_PATH.niu_smx.niu_clk"; | |
63 | ||
64 | input dmc_meta0_req INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req"; | |
65 | input [7:0] dmc_meta0_req_cmd INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_cmd"; | |
66 | input [5:0] dmc_meta0_transid INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_transID"; | |
67 | input [1:0] dmc_meta0_port_num INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_port_num"; | |
68 | input [4:0] dmc_meta0_dma_num INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_dma_num"; | |
69 | input [13:0] dmc_meta0_req_length INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_length"; | |
70 | input [63:0] dmc_meta0_req_address INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_address"; | |
71 | input [7:0] dmc_meta0_clientid INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_client"; | |
72 | input [127:0] dmc_meta0_data INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_data"; | |
73 | input dmc_meta0_data_valid INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_data_valid"; | |
74 | input dmc_meta0_transfer_complete INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_transfer_complete"; | |
75 | input [3:0] dmc_meta0_status INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_status"; | |
76 | input [15:0] dmc_meta0_req_byteenable INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta0_req_byteenable"; | |
77 | ||
78 | output meta0_dmc_req_accept OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc0_req_accept"; | |
79 | output meta0_dmc_data_req OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc0_data_req"; | |
80 | //output meta0_dmc_req_errors OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc0_req_errors"; | |
81 | ||
82 | } | |
83 | #endif | |
84 | ||
85 | ||
86 | ||
87 | port dmc_write_port { | |
88 | ||
89 | clk ; | |
90 | command; | |
91 | address; | |
92 | command_request; | |
93 | length; | |
94 | dma_num; | |
95 | port_num; | |
96 | transid; | |
97 | client_id; | |
98 | data; | |
99 | data_valid; | |
100 | byte_enable; | |
101 | ||
102 | command_accept; | |
103 | data_req; | |
104 | ||
105 | ||
106 | } | |
107 | ||
108 | bind dmc_write_port meta_write_pbind { | |
109 | ||
110 | clk meta_write_if.clk; | |
111 | command_request meta_write_if.dmc_meta0_req; | |
112 | command meta_write_if.dmc_meta0_req_cmd; | |
113 | address meta_write_if.dmc_meta0_req_address; | |
114 | length meta_write_if.dmc_meta0_req_length; | |
115 | dma_num meta_write_if.dmc_meta0_dma_num; | |
116 | port_num meta_write_if.dmc_meta0_port_num; | |
117 | transid meta_write_if.dmc_meta0_transid; | |
118 | client_id meta_write_if.dmc_meta0_clientid; | |
119 | data meta_write_if.dmc_meta0_data; | |
120 | data_valid meta_write_if.dmc_meta0_data_valid; | |
121 | byte_enable meta_write_if.dmc_meta0_req_byteenable; | |
122 | ||
123 | command_accept meta_write_if.meta0_dmc_req_accept; | |
124 | data_req meta_write_if.meta0_dmc_data_req; | |
125 | ||
126 | } | |
127 | ||
128 | ||
129 | ||
130 | #ifdef NIU_GATE | |
131 | ||
132 | interface meta_read_if { | |
133 | ||
134 | input clk CLOCK verilog_node META_DUV_PATH.iol2clk"; | |
135 | ||
136 | input dmc_meta1_req INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req"; | |
137 | input [7:0] dmc_meta1_req_cmd INPUT_EDGE verilog_node "{ 2'b0, tb_top.cpu.tds.dmc_meta1_req_cmd_5_, tb_top.cpu.tds.dmc_meta1_req_cmd_4_, 1'b0, tb_top.cpu.tds.dmc_meta1_req_cmd_2_, tb_top.cpu.tds.dmc_meta1_req_cmd_1_, tb_top.cpu.tds.dmc_meta1_req_cmd_0_}"; | |
138 | input [5:0] dmc_meta1_transid INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_trans_id"; | |
139 | //input [5:0] dmc_meta1_transid INPUT_EDGE verilog_node "{tb_top.cpu.tds.dmc_meta1_req_transID[5], tb_top.cpu.tds.dmc_meta1_req_transID[4], tb_top.cpu.tds.dmc_meta1_req_transID[3], tb_top.cpu.tds.dmc_meta1_req_transID[2], tb_top.cpu.tds.dmc_meta1_req_transID[1], tb_top.cpu.tds.dmc_meta1_req_transID[0]}"; | |
140 | input [1:0] dmc_meta1_port_num INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_port_num"; | |
141 | input [4:0] dmc_meta1_dma_num INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_dma_num"; | |
142 | input [13:0] dmc_meta1_req_length INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_length"; | |
143 | input [63:0] dmc_meta1_req_address INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_address"; | |
144 | ||
145 | // For I6.0 use ['s input [7:0] dmc_meta1_clientid INPUT_EDGE verilog_node "{ 2'b0, tb_top.cpu.tds.dmc_meta1_req_client[5], 2'b0, tb_top.cpu.tds.dmc_meta1_req_client[2], tb_top.cpu.tds.dmc_meta1_req_client[1], 1'b0}"; | |
146 | //For I6.1 back to _'s. ALso tied bit 1 to zero since not in netlist input [7:0] dmc_meta1_clientid INPUT_EDGE verilog_node "{ 2'b0, tb_top.cpu.tds.dmc_meta1_req_client_5_, 2'b0, tb_top.cpu.tds.dmc_meta1_req_client_2_, 2'b0}"; | |
147 | // For PRE_TO_1.0 only bits dmc_meta1_req_client_[5,1 & 0] are available | |
148 | ||
149 | #ifdef POST_LAYOUT | |
150 | input [7:0] dmc_meta1_clientid INPUT_EDGE verilog_node "{ 2'b0, tb_top.cpu.tds.dmc_meta1_req_client_5_, 2'b0, tb_top.cpu.tds.niu_meta_arb_niu_rd_meta_arb_n485ASThfnNet2721, 2'b0}"; | |
151 | #else | |
152 | input [7:0] dmc_meta1_clientid INPUT_EDGE verilog_node "{ 2'b0, tb_top.cpu.tds.dmc_meta1_req_client_5_, 3'b0, tb_top.cpu.tds.dmc_meta1_req_client_1_, tb_top.cpu.tds.dmc_meta1_req_client_0_}"; | |
153 | #endif | |
154 | ||
155 | output meta1_dmc_req_accept OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc1_req_accept"; | |
156 | ||
157 | } | |
158 | ||
159 | #else | |
160 | ||
161 | interface meta_read_if { | |
162 | ||
163 | input clk CLOCK verilog_node META_DUV_PATH.niu_smx.niu_clk"; | |
164 | ||
165 | input dmc_meta1_req INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req"; | |
166 | input [7:0] dmc_meta1_req_cmd INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_cmd"; | |
167 | input [5:0] dmc_meta1_transid INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_trans_id"; | |
168 | input [1:0] dmc_meta1_port_num INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_port_num"; | |
169 | input [4:0] dmc_meta1_dma_num INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_dma_num"; | |
170 | input [13:0] dmc_meta1_req_length INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_length"; | |
171 | input [63:0] dmc_meta1_req_address INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_address"; | |
172 | input [7:0] dmc_meta1_clientid INPUT_EDGE verilog_node META_DUV_PATH.dmc_meta1_req_client"; | |
173 | ||
174 | output meta1_dmc_req_accept OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc1_req_accept"; | |
175 | ||
176 | } | |
177 | #endif | |
178 | ||
179 | port dmc_read_port { | |
180 | ||
181 | clk ; | |
182 | command; | |
183 | address; | |
184 | command_request; | |
185 | length; | |
186 | dma_num; | |
187 | port_num; | |
188 | transid; | |
189 | client_id; | |
190 | ||
191 | command_accept; | |
192 | } | |
193 | ||
194 | bind dmc_read_port meta_read_pbind { | |
195 | ||
196 | clk meta_read_if.clk; | |
197 | command_request meta_read_if.dmc_meta1_req; | |
198 | command meta_read_if.dmc_meta1_req_cmd; | |
199 | address meta_read_if.dmc_meta1_req_address; | |
200 | length meta_read_if.dmc_meta1_req_length; | |
201 | dma_num meta_read_if.dmc_meta1_dma_num; | |
202 | port_num meta_read_if.dmc_meta1_port_num; | |
203 | transid meta_read_if.dmc_meta1_transid; | |
204 | client_id meta_read_if.dmc_meta1_clientid; | |
205 | command_accept meta_read_if.meta1_dmc_req_accept; | |
206 | ||
207 | } | |
208 | ||
209 | ||
210 | ||
211 | #ifdef NIU_GATE | |
212 | ||
213 | interface meta_read_resp_if { | |
214 | ||
215 | input clk CLOCK verilog_node META_DUV_PATH.iol2clk"; | |
216 | ||
217 | output meta_dmc_resp_ready OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_ready"; | |
218 | output [7:0] meta_dmc_resp_cmd OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_cmd"; | |
219 | output [5:0] meta_dmc_resp_transid OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_trans_id"; | |
220 | output [1:0] meta_dmc_resp_port_num OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_port_num"; | |
221 | output [4:0] meta_dmc_resp_dma_num OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_dma_num"; | |
222 | output [13:0] meta_dmc_resp_length OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_length"; | |
223 | output [63:0] meta_dmc_resp_address OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_address"; | |
224 | ||
225 | // Missing bits not used and eatten up by synopsys. Tie to so pin of origating FF since no q pins | |
226 | // in netlist VJH | |
227 | output [7:0] meta_dmc_resp_clientid OUTPUT_EDGE verilog_node "{ tb_top.cpu.tds.niu_smx_resp_dmc_resp_cmdlaunch_smx_dmc_client_reg_7_.so, tb_top.cpu.tds.niu_smx_resp_dmc_resp_cmdlaunch_smx_dmc_client_reg_6_.so, tb_top.cpu.tds.niu_smx_resp_dmc_resp_cmdlaunch_smx_dmc_client_reg_5_.so, tb_top.cpu.tds.meta_dmc_resp_client_tdmc, tb_top.cpu.tds.niu_smx_resp_dmc_resp_cmdlaunch_smx_dmc_client_reg_3_.so, tb_top.cpu.tds.meta_dmc_resp_client_txc, tb_top.cpu.tds.niu_smx_resp_dmc_resp_cmdlaunch_smx_dmc_client_reg_1_.so, tb_top.cpu.tds.meta_dmc_resp_client_rdmc }"; | |
228 | ||
229 | output [15:0] meta_dmc_resp_byteenable OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_byteenable"; | |
230 | output [127:0] meta_dmc_resp_data OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_data"; | |
231 | ||
232 | // Missing bits not used and eatten up by synopsys Tie to so pin of origating FF since no q pins | |
233 | // in netlist VJH | |
234 | output [7:0] meta_dmc_resp_data_valid OUTPUT_EDGE verilog_node "{ tb_top.cpu.tds.niu_smx_resp_dmc_resp_dv_smx_dmc_dv_reg_7_.so, tb_top.cpu.tds.niu_smx_resp_dmc_resp_dv_smx_dmc_dv_reg_6_.so, tb_top.cpu.tds.niu_smx_resp_dmc_resp_dv_smx_dmc_dv_reg_5_.so, tb_top.cpu.tds.meta_dmc_data_valid_tdmc, tb_top.cpu.tds.niu_smx_resp_dmc_resp_dv_smx_dmc_dv_reg_3_.so, tb_top.cpu.tds.meta_dmc_data_valid_txc, tb_top.cpu.tds.niu_smx_resp_dmc_resp_dv_smx_dmc_dv_reg_1_.so, tb_top.cpu.tds.meta_dmc_data_valid_rdmc }"; | |
235 | ||
236 | output [3:0] meta_dmc_status OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_data_status"; | |
237 | ||
238 | output [7:0] meta_dmc_resp_complete OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_complete_tdmc"; | |
239 | output [7:0] meta_dmc_trans_complete OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_transfer_cmpl_tdmc"; | |
240 | ||
241 | input rdmc_meta_resp_accept INPUT_EDGE verilog_node META_DUV_PATH.rdmc_meta_resp_accept"; | |
242 | input txc_meta_resp_accept INPUT_EDGE verilog_node META_DUV_PATH.txc_meta_resp_accept"; | |
243 | ||
244 | } | |
245 | ||
246 | #else | |
247 | ||
248 | interface meta_read_resp_if { | |
249 | ||
250 | input clk CLOCK verilog_node META_DUV_PATH.niu_smx.niu_clk"; | |
251 | ||
252 | output meta_dmc_resp_ready OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_ready"; | |
253 | output [7:0] meta_dmc_resp_cmd OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_cmd"; | |
254 | output [5:0] meta_dmc_resp_transid OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_trans_id"; | |
255 | output [1:0] meta_dmc_resp_port_num OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_port_num"; | |
256 | output [4:0] meta_dmc_resp_dma_num OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_dma_num"; | |
257 | output [13:0] meta_dmc_resp_length OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_length"; | |
258 | output [63:0] meta_dmc_resp_address OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_address"; | |
259 | output [7:0] meta_dmc_resp_clientid OUTPUT_EDGE verilog_node META_DUV_PATH.niu_smx.meta_dmc_resp_client"; | |
260 | output [15:0] meta_dmc_resp_byteenable OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_resp_byteenable"; | |
261 | output [127:0] meta_dmc_resp_data OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_data"; | |
262 | output [7:0] meta_dmc_resp_data_valid OUTPUT_EDGE verilog_node META_DUV_PATH.niu_smx.meta_dmc_data_valid"; | |
263 | output [3:0] meta_dmc_status OUTPUT_EDGE verilog_node META_DUV_PATH.meta_dmc_data_status"; | |
264 | ||
265 | output [7:0] meta_dmc_resp_complete OUTPUT_EDGE verilog_node META_DUV_PATH.niu_smx.meta_dmc_resp_complete"; | |
266 | output [7:0] meta_dmc_trans_complete OUTPUT_EDGE verilog_node META_DUV_PATH.niu_smx.meta_dmc_resp_transfer_cmpl"; | |
267 | ||
268 | input rdmc_meta_resp_accept INPUT_EDGE verilog_node META_DUV_PATH.rdmc_meta_resp_accept"; | |
269 | input txc_meta_resp_accept INPUT_EDGE verilog_node META_DUV_PATH.txc_meta_resp_accept"; | |
270 | ||
271 | } | |
272 | #endif | |
273 | port dmc_read_resp_port { | |
274 | ||
275 | clk ; | |
276 | resp_command; | |
277 | address; | |
278 | resp_ready; | |
279 | length; | |
280 | dma_num; | |
281 | port_num; | |
282 | transid; | |
283 | client_id; | |
284 | resp_accept; | |
285 | data; | |
286 | byte_enables; | |
287 | status; | |
288 | data_valid; | |
289 | resp_complete; | |
290 | trans_complete; | |
291 | ||
292 | } | |
293 | ||
294 | bind dmc_read_resp_port meta_resp_pbind { | |
295 | clk meta_read_resp_if.clk; | |
296 | resp_command meta_read_resp_if.meta_dmc_resp_cmd; | |
297 | address meta_read_resp_if.meta_dmc_resp_address; | |
298 | resp_ready meta_read_resp_if.meta_dmc_resp_ready; | |
299 | length meta_read_resp_if.meta_dmc_resp_length; | |
300 | dma_num meta_read_resp_if.meta_dmc_resp_dma_num; | |
301 | port_num meta_read_resp_if.meta_dmc_resp_port_num; | |
302 | transid meta_read_resp_if.meta_dmc_resp_transid; | |
303 | client_id meta_read_resp_if.meta_dmc_resp_clientid; | |
304 | resp_accept meta_read_resp_if.txc_meta_resp_accept; | |
305 | data meta_read_resp_if.meta_dmc_resp_data; | |
306 | byte_enables meta_read_resp_if.meta_dmc_resp_byteenable; | |
307 | status meta_read_resp_if.meta_dmc_status; | |
308 | data_valid meta_read_resp_if.meta_dmc_resp_data_valid; | |
309 | resp_complete meta_read_resp_if.meta_dmc_resp_complete; | |
310 | trans_complete meta_read_resp_if.meta_dmc_trans_complete; | |
311 | } | |
312 | ||
313 | #ifdef NIU_GATE | |
314 | ||
315 | interface rdmc_pio_intr_intf { | |
316 | input clk CLOCK verilog_node NIU_DUV_PATH.rdp.iol2clk "; | |
317 | ||
318 | // input [31:0] rdmc_pio_intr_ldf_a INPUT_EDGE verilog_node "{tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_31_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_30_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_29_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_28_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_27_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_26_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_25_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_24_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_23_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_22_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_21_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_20_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_19_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_18_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_17_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_a_16_, 16'b0 }"; | |
319 | ||
320 | // input [31:0] rdmc_pio_intr_ldf_b INPUT_EDGE verilog_node "{tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_31_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_30_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_29_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_28_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_27_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_26_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_25_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_24_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_23_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_22_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_21_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_20_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_19_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_18_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_17_, tb_top.cpu.rdp.niu_rdmc_rdmc_pio_intr_ldf_b_16_, 16'b0 }"; | |
321 | ||
322 | } | |
323 | ||
324 | #else | |
325 | ||
326 | interface rdmc_pio_intr_intf { | |
327 | input clk CLOCK verilog_node NIU_DUV_PATH.rdp.niu_rdmc.niu_clk "; | |
328 | input [31:0] rdmc_pio_intr_ldf_a INPUT_EDGE verilog_node NIU_DUV_PATH.rdp.niu_rdmc.rdmc_pio_intr_ldf_a"; | |
329 | input [31:0] rdmc_pio_intr_ldf_b INPUT_EDGE verilog_node NIU_DUV_PATH.rdp.niu_rdmc.rdmc_pio_intr_ldf_b"; | |
330 | } | |
331 | ||
332 | #endif | |
333 | ||
334 | port rdmc_intr { | |
335 | ||
336 | clk; | |
337 | #ifdef NIU_GATE | |
338 | #else | |
339 | rdmc_pio_intr_ldf_a; | |
340 | rdmc_pio_intr_ldf_b; | |
341 | #endif | |
342 | } | |
343 | ||
344 | bind rdmc_intr rdmc_intr_pbind { | |
345 | clk rdmc_pio_intr_intf.clk; | |
346 | #ifdef NIU_GATE | |
347 | #else | |
348 | rdmc_pio_intr_ldf_a rdmc_pio_intr_intf.rdmc_pio_intr_ldf_a; | |
349 | rdmc_pio_intr_ldf_b rdmc_pio_intr_intf.rdmc_pio_intr_ldf_b; | |
350 | #endif | |
351 | ||
352 | } | |
353 |