@@ -63,9 +63,9 @@ module tang20k_scr1
63
63
logic sys_rst_n;
64
64
65
65
66
- logic dmem_ready;
67
- logic dmem_resp;
68
- logic dmem_hsel;
66
+ logic dmem_ready;
67
+ logic dmem_resp;
68
+ logic dmem_hsel;
69
69
`endif // SCR1_DBG_EN
70
70
71
71
// --- SCR1 ---------------------------------------------
@@ -124,6 +124,9 @@ module tang20k_scr1
124
124
logic [31 : 0 ] rtc_counter;
125
125
logic tick_2Hz;
126
126
logic heartbeat;
127
+
128
+ logic [31 : 0 ] core_frq = FPGA_TANG20K_CORE_CLK_FREQ ;
129
+ logic ahb_core_frq_sel;
127
130
128
131
// == == == == == == == == == == == == == == == == == == == == == == == == == == == =
129
132
// Resets
@@ -288,6 +291,7 @@ module tang20k_scr1
288
291
assign jtag_tck = JTAG_TCK ;
289
292
assign jtag_tms = JTAG_TMS ;
290
293
assign jtag_tdi = JTAG_TDI ;
294
+
291
295
assign JTAG_TDO = (jtag_tdo_en == 1'b1 ) ? jtag_tdo : 1'bZ ;;
292
296
293
297
assign LED2 = jtag_tck;
@@ -302,13 +306,14 @@ module tang20k_scr1
302
306
assign LED5 = 1'b1 ;
303
307
304
308
309
+ assign ahb_core_frq_sel = ahb_dmem_haddr[31 : 16 ] == 16'b1111_1111_0000_0000 ;
305
310
assign uart_hsel = ahb_dmem_haddr[31 : 16 ] == 16'b1111_1111_0000_0001 ; // uart
306
311
assign dmem_hsel = ahb_dmem_haddr[31 : 16 ] == 16'b1111_1111_1111_1111 ; // rom
307
312
assign imem_hsel = ahb_imem_haddr[31 : 16 ] == 16'b1111_1111_1111_1111 ;
308
313
309
- assign hsel_ = { dmem_hsel, uart_hsel} ;
310
- assign hreadyout = { dmem_ready, uart_hready} ;
311
- assign hresp = { dmem_resp, uart_hresp} ;
314
+ assign hsel_ = { ahb_core_frq_sel, dmem_hsel, uart_hsel} ;
315
+ assign hreadyout = { 1'b1 , dmem_ready, uart_hready} ;
316
+ assign hresp = { 1'b0 , dmem_resp, uart_hresp} ;
312
317
313
318
314
319
ahb_lite_uart16550
@@ -373,6 +378,7 @@ module tang20k_scr1
373
378
.hsel_s (hsel_),
374
379
.rdata_0 (hrdata_0),
375
380
.rdata_1 (hrdata_1),
381
+ .rdata_2 (core_frq),
376
382
.resp (hresp),
377
383
.readyout (hreadyout),
378
384
0 commit comments