summaryrefslogtreecommitdiff
path: root/rtl/cache
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-09-29 19:50:01 -0600
committerAlejandro Soto <alejandro@34project.org>2023-09-29 20:51:28 -0600
commitbc98bc905c2e796f0d587719196f7e4bf344510a (patch)
treef5859d0b2f4fd5ab8c785a7cbaffa54dc81bc797 /rtl/cache
parentf06c23ac1327850eeeb390e155bfc6330d302a77 (diff)
platform: add CPUs and caches to qsys
Diffstat (limited to 'rtl/cache')
-rw-r--r--rtl/cache/cache.sv64
-rw-r--r--rtl/cache/cache_control.sv (renamed from rtl/cache/control.sv)0
-rw-r--r--rtl/cache/defs.sv8
3 files changed, 40 insertions, 32 deletions
diff --git a/rtl/cache/cache.sv b/rtl/cache/cache.sv
index b84f844..e62a326 100644
--- a/rtl/cache/cache.sv
+++ b/rtl/cache/cache.sv
@@ -3,40 +3,40 @@
module cache
#(parameter TOKEN_AT_RESET=0)
(
- input logic clk,
- rst_n,
+ input logic clk,
+ rst_n,
- input ptr core_address,
- input logic core_read,
- core_write,
- input word core_writedata,
- input word_be core_byteenable,
- output logic core_waitrequest,
- output word core_readdata,
+ input ptr core_address,
+ input logic core_read,
+ core_write,
+ input word core_writedata,
+ input word_be core_byteenable,
+ output logic core_waitrequest,
+ output word core_readdata,
//TODO
- //input /*TODO*/ dbg_address,
- input logic dbg_read,
- dbg_write,
- input word dbg_writedata,
- output logic dbg_waitrequest,
- output word dbg_readdata,
-
- input logic mem_waitrequest,
- input line mem_readdata,
- output word mem_address,
- output logic mem_read,
- mem_write,
- output line mem_writedata,
- output line_be mem_byteenable,
-
- input logic in_data_valid,
- input ring_req in_data,
- output logic in_data_ready,
-
- input logic out_data_ready,
- output ring_req out_data,
- output logic out_data_valid,
+ /*input TODO/ dbg_address,
+ input logic dbg_read,
+ dbg_write,
+ input word dbg_writedata,
+ output logic dbg_waitrequest,
+ output word dbg_readdata,*/
+
+ input logic mem_waitrequest,
+ input line mem_readdata,
+ output word mem_address,
+ output logic mem_read,
+ mem_write,
+ output line mem_writedata,
+ output line_be mem_byteenable,
+
+ input logic in_data_valid,
+ input ring_req in_data,
+ output logic in_data_ready,
+
+ input logic out_data_ready,
+ output ring_req out_data,
+ output logic out_data_valid,
input ring_token in_token,
input logic in_token_valid,
@@ -46,7 +46,7 @@ module cache
);
//TODO
- assign dbg_waitrequest = 1;
+ //assign dbg_waitrequest = 1;
logic write_data, write_state;
line data_wr, data_rd;
diff --git a/rtl/cache/control.sv b/rtl/cache/cache_control.sv
index 73eb644..73eb644 100644
--- a/rtl/cache/control.sv
+++ b/rtl/cache/cache_control.sv
diff --git a/rtl/cache/defs.sv b/rtl/cache/defs.sv
index 6fdb719..bfefb88 100644
--- a/rtl/cache/defs.sv
+++ b/rtl/cache/defs.sv
@@ -38,6 +38,10 @@ typedef enum logic[1:0]
typedef struct packed
{
+`ifndef VERILATOR
+ // Error: data width (158) must be a multiple of bitsPerSymbol (8)
+ logic[1:0] padding;
+`endif
logic[1:0] ttl;
logic read,
inval,
@@ -59,6 +63,10 @@ typedef struct packed
typedef struct packed
{
+`ifndef VERILATOR
+ // Error: data width (78) must be a multiple of bitsPerSymbol (8)
+ logic[1:0] padding;
+`endif
token_lock e2, e1, e0;
} ring_token;