|
7 | 7 |
|
8 | 8 | `include "common_cells/registers.svh" |
9 | 9 |
|
10 | | -module snitch_icache #( |
| 10 | +module snitch_icache import snitch_icache_pkg::*; #( |
11 | 11 | /// Number of request (fetch) ports |
12 | 12 | parameter int unsigned NR_FETCH_PORTS = -1, |
13 | 13 | /// L0 Cache Line Count (L0 is fully associative) |
@@ -61,8 +61,9 @@ module snitch_icache #( |
61 | 61 | input logic clk_d2_i, |
62 | 62 | input logic rst_ni, |
63 | 63 |
|
64 | | - input logic enable_prefetching_i, |
65 | | - output snitch_icache_pkg::icache_events_t [NR_FETCH_PORTS-1:0] icache_events_o, |
| 64 | + input logic enable_prefetching_i, |
| 65 | + output icache_l0_events_t [NR_FETCH_PORTS-1:0] icache_l0_events_o, |
| 66 | + output icache_l1_events_t icache_l1_events_o, |
66 | 67 |
|
67 | 68 | input logic [NR_FETCH_PORTS-1:0] flush_valid_i, |
68 | 69 | output logic [NR_FETCH_PORTS-1:0] flush_ready_o, |
@@ -235,25 +236,25 @@ module snitch_icache #( |
235 | 236 | ) i_snitch_icache_l0 ( |
236 | 237 | .clk_i ( clk_d2_i ), |
237 | 238 | .rst_ni, |
238 | | - .flush_valid_i ( flush_valid_i[i] ), |
| 239 | + .flush_valid_i ( flush_valid_i [i] ), |
239 | 240 | .enable_prefetching_i, |
240 | | - .icache_events_o ( icache_events_o [i] ), |
241 | | - .in_addr_i ( inst_addr_i [i] ), |
242 | | - .in_data_o ( in_cache_data [i] ), |
243 | | - .in_error_o ( in_cache_error [i] ), |
244 | | - .in_valid_i ( in_cache_valid [i] ), |
245 | | - .in_ready_o ( in_cache_ready [i] ), |
246 | | - |
247 | | - .out_req_addr_o ( local_prefetch_req.addr ), |
248 | | - .out_req_id_o ( local_prefetch_req.id ), |
| 241 | + .icache_events_o ( icache_l0_events_o [i] ), |
| 242 | + .in_addr_i ( inst_addr_i [i] ), |
| 243 | + .in_data_o ( in_cache_data [i] ), |
| 244 | + .in_error_o ( in_cache_error [i] ), |
| 245 | + .in_valid_i ( in_cache_valid [i] ), |
| 246 | + .in_ready_o ( in_cache_ready [i] ), |
| 247 | + |
| 248 | + .out_req_addr_o ( local_prefetch_req.addr ), |
| 249 | + .out_req_id_o ( local_prefetch_req.id ), |
249 | 250 | .out_req_valid_o ( local_prefetch_req_valid ), |
250 | 251 | .out_req_ready_i ( local_prefetch_req_ready ), |
251 | 252 |
|
252 | | - .out_rsp_data_i ( local_prefetch_rsp.data ), |
253 | | - .out_rsp_error_i ( local_prefetch_rsp.error ), |
254 | | - .out_rsp_id_i ( local_prefetch_rsp.id ), |
255 | | - .out_rsp_valid_i ( local_prefetch_rsp_valid ), |
256 | | - .out_rsp_ready_o ( local_prefetch_rsp_ready ) |
| 253 | + .out_rsp_data_i ( local_prefetch_rsp.data ), |
| 254 | + .out_rsp_error_i ( local_prefetch_rsp.error ), |
| 255 | + .out_rsp_id_i ( local_prefetch_rsp.id ), |
| 256 | + .out_rsp_valid_i ( local_prefetch_rsp_valid ), |
| 257 | + .out_rsp_ready_o ( local_prefetch_rsp_ready ) |
257 | 258 | ); |
258 | 259 |
|
259 | 260 | isochronous_spill_register #( |
@@ -527,75 +528,77 @@ module snitch_icache #( |
527 | 528 |
|
528 | 529 | if (SERIAL_LOOKUP) begin : gen_serial_lookup |
529 | 530 | snitch_icache_lookup_serial #( |
530 | | - .CFG (CFG), |
531 | | - .sram_cfg_tag_t (sram_cfg_tag_t), |
532 | | - .sram_cfg_data_t (sram_cfg_data_t) |
| 531 | + .CFG ( CFG ), |
| 532 | + .sram_cfg_tag_t ( sram_cfg_tag_t ), |
| 533 | + .sram_cfg_data_t ( sram_cfg_data_t ) |
533 | 534 | ) i_lookup ( |
534 | 535 | .clk_i, |
535 | 536 | .rst_ni, |
536 | 537 |
|
537 | | - .flush_valid_i (flush_valid_lookup ), |
538 | | - .flush_ready_o (flush_ready_lookup ), |
539 | | - |
540 | | - .in_addr_i ( prefetch_lookup_req.addr ), |
541 | | - .in_id_i ( prefetch_lookup_req.id ), |
542 | | - .in_valid_i ( prefetch_lookup_req_valid ), |
543 | | - .in_ready_o ( prefetch_lookup_req_ready ), |
544 | | - |
545 | | - .out_addr_o ( lookup_addr ), |
546 | | - .out_id_o ( lookup_id ), |
547 | | - .out_set_o ( lookup_set ), |
548 | | - .out_hit_o ( lookup_hit ), |
549 | | - .out_data_o ( lookup_data ), |
550 | | - .out_error_o ( lookup_error ), |
551 | | - .out_valid_o ( lookup_valid ), |
552 | | - .out_ready_i ( lookup_ready ), |
553 | | - |
554 | | - .write_addr_i ( write_addr ), |
555 | | - .write_set_i ( write_set ), |
556 | | - .write_data_i ( write_data ), |
557 | | - .write_tag_i ( write_tag ), |
558 | | - .write_error_i ( write_error ), |
559 | | - .write_valid_i ( write_valid ), |
560 | | - .write_ready_o ( write_ready ), |
| 538 | + .flush_valid_i ( flush_valid_lookup ), |
| 539 | + .flush_ready_o ( flush_ready_lookup ), |
| 540 | + .icache_events_o ( icache_l1_events_o ), |
| 541 | + |
| 542 | + .in_addr_i ( prefetch_lookup_req.addr ), |
| 543 | + .in_id_i ( prefetch_lookup_req.id ), |
| 544 | + .in_valid_i ( prefetch_lookup_req_valid ), |
| 545 | + .in_ready_o ( prefetch_lookup_req_ready ), |
| 546 | + |
| 547 | + .out_addr_o ( lookup_addr ), |
| 548 | + .out_id_o ( lookup_id ), |
| 549 | + .out_set_o ( lookup_set ), |
| 550 | + .out_hit_o ( lookup_hit ), |
| 551 | + .out_data_o ( lookup_data ), |
| 552 | + .out_error_o ( lookup_error ), |
| 553 | + .out_valid_o ( lookup_valid ), |
| 554 | + .out_ready_i ( lookup_ready ), |
| 555 | + |
| 556 | + .write_addr_i ( write_addr ), |
| 557 | + .write_set_i ( write_set ), |
| 558 | + .write_data_i ( write_data ), |
| 559 | + .write_tag_i ( write_tag ), |
| 560 | + .write_error_i ( write_error ), |
| 561 | + .write_valid_i ( write_valid ), |
| 562 | + .write_ready_o ( write_ready ), |
561 | 563 |
|
562 | 564 | .sram_cfg_tag_i, |
563 | 565 | .sram_cfg_data_i |
564 | 566 | ); |
565 | 567 |
|
566 | 568 | end else begin : gen_parallel_lookup |
567 | 569 | snitch_icache_lookup_parallel #( |
568 | | - .CFG (CFG), |
569 | | - .sram_cfg_tag_t (sram_cfg_tag_t), |
570 | | - .sram_cfg_data_t (sram_cfg_data_t) |
| 570 | + .CFG ( CFG ), |
| 571 | + .sram_cfg_tag_t ( sram_cfg_tag_t ), |
| 572 | + .sram_cfg_data_t ( sram_cfg_data_t ) |
571 | 573 | ) i_lookup ( |
572 | 574 | .clk_i, |
573 | 575 | .rst_ni, |
574 | 576 |
|
575 | | - .flush_valid_i (flush_valid_lookup ), |
576 | | - .flush_ready_o (flush_ready_lookup ), |
577 | | - |
578 | | - .in_addr_i ( prefetch_lookup_req.addr ), |
579 | | - .in_id_i ( prefetch_lookup_req.id ), |
580 | | - .in_valid_i ( prefetch_lookup_req_valid ), |
581 | | - .in_ready_o ( prefetch_lookup_req_ready ), |
582 | | - |
583 | | - .out_addr_o ( lookup_addr ), |
584 | | - .out_id_o ( lookup_id ), |
585 | | - .out_set_o ( lookup_set ), |
586 | | - .out_hit_o ( lookup_hit ), |
587 | | - .out_data_o ( lookup_data ), |
588 | | - .out_error_o ( lookup_error ), |
589 | | - .out_valid_o ( lookup_valid ), |
590 | | - .out_ready_i ( lookup_ready ), |
591 | | - |
592 | | - .write_addr_i ( write_addr ), |
593 | | - .write_set_i ( write_set ), |
594 | | - .write_data_i ( write_data ), |
595 | | - .write_tag_i ( write_tag ), |
596 | | - .write_error_i ( write_error ), |
597 | | - .write_valid_i ( write_valid ), |
598 | | - .write_ready_o ( write_ready ), |
| 577 | + .flush_valid_i ( flush_valid_lookup ), |
| 578 | + .flush_ready_o ( flush_ready_lookup ), |
| 579 | + .icache_events_o ( icache_l1_events_o ), |
| 580 | + |
| 581 | + .in_addr_i ( prefetch_lookup_req.addr ), |
| 582 | + .in_id_i ( prefetch_lookup_req.id ), |
| 583 | + .in_valid_i ( prefetch_lookup_req_valid ), |
| 584 | + .in_ready_o ( prefetch_lookup_req_ready ), |
| 585 | + |
| 586 | + .out_addr_o ( lookup_addr ), |
| 587 | + .out_id_o ( lookup_id ), |
| 588 | + .out_set_o ( lookup_set ), |
| 589 | + .out_hit_o ( lookup_hit ), |
| 590 | + .out_data_o ( lookup_data ), |
| 591 | + .out_error_o ( lookup_error ), |
| 592 | + .out_valid_o ( lookup_valid ), |
| 593 | + .out_ready_i ( lookup_ready ), |
| 594 | + |
| 595 | + .write_addr_i ( write_addr ), |
| 596 | + .write_set_i ( write_set ), |
| 597 | + .write_data_i ( write_data ), |
| 598 | + .write_tag_i ( write_tag ), |
| 599 | + .write_error_i ( write_error ), |
| 600 | + .write_valid_i ( write_valid ), |
| 601 | + .write_ready_o ( write_ready ), |
599 | 602 |
|
600 | 603 | .sram_cfg_tag_i, |
601 | 604 | .sram_cfg_data_i |
|
0 commit comments