瀏覽代碼

Fixed L2 cache state machine issue which was only present in the previous commit.

bart 1 年之前
父節點
當前提交
f78729ea77
共有 6 個文件被更改,包括 6 次插入6 次删除
  1. 二進制
      Quartus/FPGC.qws
  2. 3 3
      Quartus/modules/Memory/L2cache.v
  3. 二進制
      Quartus/output_files/output_file.jic
  4. 二進制
      Verilog/memory/code.bin
  5. 0 0
      Verilog/memory/spi.txt
  6. 3 3
      Verilog/modules/Memory/L2cache.v

二進制
Quartus/FPGC.qws


+ 3 - 3
Quartus/modules/Memory/L2cache.v

@@ -188,7 +188,7 @@ begin
             begin
                 if (sdc_done)
                 begin
-                    state <= state_idle;
+                    state <= state_done_high;
 
                     sdc_addr_reg <= 24'd0;
                     sdc_we_reg <= 1'b0;
@@ -206,7 +206,7 @@ begin
                 // check cache. if hit, return cached item
                 if (cache_q[46] && sdc_addr_reg[23:index_size] == cache_q[45:32]) // valid and tag check
                 begin
-                    state <= state_idle;
+                    state <= state_done_high;
 
                     l2_done_reg <= 1'b1;
                     l2_q_reg <= cache_q[31:0];
@@ -224,7 +224,7 @@ begin
             begin
                 if (sdc_done)
                 begin
-                    state <= state_idle;
+                    state <= state_done_high;
 
                     // we received item from ram, now write to cache and return
                     sdc_addr_reg <= 24'd0;

二進制
Quartus/output_files/output_file.jic


二進制
Verilog/memory/code.bin


File diff suppressed because it is too large
+ 0 - 0
Verilog/memory/spi.txt


+ 3 - 3
Verilog/modules/Memory/L2cache.v

@@ -188,7 +188,7 @@ begin
             begin
                 if (sdc_done)
                 begin
-                    state <= state_idle;
+                    state <= state_done_high;
 
                     sdc_addr_reg <= 24'd0;
                     sdc_we_reg <= 1'b0;
@@ -206,7 +206,7 @@ begin
                 // check cache. if hit, return cached item
                 if (cache_q[46] && sdc_addr_reg[23:index_size] == cache_q[45:32]) // valid and tag check
                 begin
-                    state <= state_idle;
+                    state <= state_done_high;
 
                     l2_done_reg <= 1'b1;
                     l2_q_reg <= cache_q[31:0];
@@ -224,7 +224,7 @@ begin
             begin
                 if (sdc_done)
                 begin
-                    state <= state_idle;
+                    state <= state_done_high;
 
                     // we received item from ram, now write to cache and return
                     sdc_addr_reg <= 24'd0;

Some files were not shown because too many files changed in this diff