@@ -69,6 +69,18 @@ module up_delay_cntrl #(
69
69
output [31 :0 ] up_rdata,
70
70
output up_rack);
71
71
72
+ generate
73
+ if (DISABLE == 1 ) begin
74
+ assign up_wack = 1'd0 ;
75
+ assign up_rack = 1'd0 ;
76
+ assign up_rdata = 32'd0 ;
77
+
78
+ assign up_dld = 'd0;
79
+ assign up_dwdata = 'd0;
80
+
81
+ assign delay_rst = 1'd0 ;
82
+
83
+ end else begin
72
84
// internal registers
73
85
74
86
reg up_preset = 'd0;
@@ -112,21 +124,19 @@ module up_delay_cntrl #(
112
124
assign up_rdata_s[1 ] = | up_drdata1_s;
113
125
assign up_rdata_s[0 ] = | up_drdata0_s;
114
126
115
- generate
116
127
for (n = 0 ; n < DATA_WIDTH; n = n + 1 ) begin : g_drd
117
128
assign up_drdata4_s[n] = (up_raddr[7 :0 ] == n) ? up_drdata[((n* 5 )+ 4 )] : 1'd0 ;
118
129
assign up_drdata3_s[n] = (up_raddr[7:0 ] == n) ? up_drdata[((n* 5 )+ 3 )] : 1'd0 ;
119
130
assign up_drdata2_s[n] = (up_raddr[7 :0 ] == n) ? up_drdata[((n* 5 )+ 2 )] : 1'd0 ;
120
131
assign up_drdata1_s[n] = (up_raddr[7 :0 ] == n) ? up_drdata[((n* 5 )+ 1 )] : 1'd0 ;
121
132
assign up_drdata0_s[n] = (up_raddr[7 :0 ] == n) ? up_drdata[((n* 5 )+ 0 )] : 1'd0 ;
122
133
end
123
- endgenerate
124
134
125
135
// processor interface
126
136
127
- assign up_wack = (DISABLE == 1 ) ? 1'd0 : up_wack_int;
128
- assign up_rack = (DISABLE == 1 ) ? 1'd0 : up_rack_int;
129
- assign up_rdata = (DISABLE == 1 ) ? 32'd0 : up_rdata_int;
137
+ assign up_wack = up_wack_int;
138
+ assign up_rack = up_rack_int;
139
+ assign up_rdata = up_rdata_int;
130
140
131
141
always @(posedge up_clk) begin
132
142
if (up_rstn == 0 ) begin
@@ -160,25 +170,21 @@ module up_delay_cntrl #(
160
170
161
171
// init delay values (after delay locked)
162
172
163
- generate
164
173
for (n = 0 ; n < DATA_WIDTH; n = n + 1 ) begin : g_dinit
165
174
assign up_dinit_s[n] = up_dlocked_m2 & ~ up_dlocked_m3;
166
175
assign up_dinitdata_s[((n* 5 )+ 4 ):(n* 5 )] = INIT_DELAY;
167
176
end
168
- endgenerate
169
177
170
178
// write does not hold- read back what goes into effect.
171
179
172
- generate
173
180
for (n = 0 ; n < DATA_WIDTH; n = n + 1 ) begin : g_dwr
174
181
assign up_dld_s[n] = (up_waddr[7 :0 ] == n) ? up_wreq_s : 1'b0 ;
175
182
assign up_dwdata_s[((n* 5 )+ 4 ):(n* 5 )] = (up_waddr[7 :0 ] == n) ?
176
183
up_wdata[4 :0 ] : up_dwdata_int[((n* 5 )+ 4 ):(n* 5 )];
177
184
end
178
- endgenerate
179
185
180
- assign up_dld = (DISABLE == 1 ) ? 'd0 : up_dld_int;
181
- assign up_dwdata = (DISABLE == 1 ) ? 'd0 : up_dwdata_int;
186
+ assign up_dld = up_dld_int;
187
+ assign up_dwdata = up_dwdata_int;
182
188
183
189
always @(posedge up_clk) begin
184
190
if (up_rstn == 0 ) begin
@@ -196,12 +202,14 @@ module up_delay_cntrl #(
196
202
197
203
// resets
198
204
199
- assign delay_rst = (DISABLE == 1 ) ? 1'd0 : delay_rst_s;
205
+ assign delay_rst = delay_rst_s;
200
206
201
207
ad_rst i_delay_rst_reg (
202
208
.preset (up_preset),
203
209
.clk (delay_clk),
204
210
.rst (delay_rst_s));
211
+ end
212
+ endgenerate
205
213
206
214
endmodule
207
215
0 commit comments