diff options
| author | Julian Blake Kongslie | 2022-06-05 15:34:23 -0700 |
|---|---|---|
| committer | Julian Blake Kongslie | 2022-06-05 15:42:26 -0700 |
| commit | 9ce65b7d3573d92e1d98a13b58a5d5763ba073c5 (patch) | |
| tree | 7486552ff9428dcb76e22593f445a657b121f443 /hdl/top.sv | |
| parent | SMC micro. (diff) | |
| download | multipdp8-9ce65b7d3573d92e1d98a13b58a5d5763ba073c5.tar.xz | |
Working L1 cache.
Diffstat (limited to '')
| -rw-r--r-- | hdl/top.sv | 51 |
1 files changed, 45 insertions, 6 deletions
| @@ -470,6 +470,45 @@ module top | |||
| 470 | bit rx_valid; | 470 | bit rx_valid; |
| 471 | uart_byte_t rx_data; | 471 | uart_byte_t rx_data; |
| 472 | 472 | ||
| 473 | bit cache_command_ready; | ||
| 474 | bit cache_command_valid; | ||
| 475 | pdp_command_t cache_command_data; | ||
| 476 | |||
| 477 | bit cache_response_ready; | ||
| 478 | bit cache_response_valid; | ||
| 479 | pdp_read_response_t cache_response_data; | ||
| 480 | |||
| 481 | `ifdef NO_L1_CACHE | ||
| 482 | assign cache_command_ready = pdp_command_ready[i]; | ||
| 483 | assign pdp_command_valid[i] = cache_command_valid; | ||
| 484 | assign pdp_command_data[i] = cache_command_data; | ||
| 485 | |||
| 486 | assign pdp_response_ready[i] = cache_response_ready; | ||
| 487 | assign cache_response_valid = pdp_response_valid[i]; | ||
| 488 | assign cache_response_data = pdp_response_data[i]; | ||
| 489 | `else | ||
| 490 | mem_cache cache | ||
| 491 | ( .clock(internal_clock) | ||
| 492 | , .reset(internal_reset) | ||
| 493 | |||
| 494 | , .core_command_ready(cache_command_ready) | ||
| 495 | , .core_command_valid(cache_command_valid) | ||
| 496 | , .core_command_data(cache_command_data) | ||
| 497 | |||
| 498 | , .ram_command_ready(pdp_command_ready[i]) | ||
| 499 | , .ram_command_valid(pdp_command_valid[i]) | ||
| 500 | , .ram_command_data(pdp_command_data[i]) | ||
| 501 | |||
| 502 | , .ram_response_ready(pdp_response_ready[i]) | ||
| 503 | , .ram_response_valid(pdp_response_valid[i]) | ||
| 504 | , .ram_response_data(pdp_response_data[i]) | ||
| 505 | |||
| 506 | , .core_response_ready(cache_response_ready) | ||
| 507 | , .core_response_valid(cache_response_valid) | ||
| 508 | , .core_response_data(cache_response_data) | ||
| 509 | ); | ||
| 510 | `endif | ||
| 511 | |||
| 473 | core cpu | 512 | core cpu |
| 474 | ( .clk(internal_clock) | 513 | ( .clk(internal_clock) |
| 475 | , .reset(internal_reset) | 514 | , .reset(internal_reset) |
| @@ -482,13 +521,13 @@ module top | |||
| 482 | , .uart_rx_valid(rx_valid) | 521 | , .uart_rx_valid(rx_valid) |
| 483 | , .uart_rx_data(rx_data) | 522 | , .uart_rx_data(rx_data) |
| 484 | 523 | ||
| 485 | , .mem_command_ready(pdp_command_ready[i]) | 524 | , .mem_command_ready(cache_command_ready) |
| 486 | , .mem_command_valid(pdp_command_valid[i]) | 525 | , .mem_command_valid(cache_command_valid) |
| 487 | , .mem_command(pdp_command_data[i]) | 526 | , .mem_command(cache_command_data) |
| 488 | 527 | ||
| 489 | , .mem_read_ready(pdp_response_ready[i]) | 528 | , .mem_read_ready(cache_response_ready) |
| 490 | , .mem_read_valid(pdp_response_valid[i]) | 529 | , .mem_read_valid(cache_response_valid) |
| 491 | , .mem_read(pdp_response_data[i]) | 530 | , .mem_read(cache_response_data) |
| 492 | 531 | ||
| 493 | , .switch_df(0) | 532 | , .switch_df(0) |
| 494 | , .switch_if(0) | 533 | , .switch_if(0) |
