summaryrefslogtreecommitdiff
path: root/mk/builtin/peakrdl_intfs/apb3_intf.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2024-04-27 11:30:47 -0600
committerAlejandro Soto <alejandro@34project.org>2024-04-27 11:30:47 -0600
commita4b94d40e61e634aa8e970af3911a7671e7d8d50 (patch)
treee7fc9b2b9d84a32aa9f01aa744008d3308feac92 /mk/builtin/peakrdl_intfs/apb3_intf.sv
parentd5dd7bf1879c2a99779b70b8f063f3f16d8b2df8 (diff)
mk: implement peakrdl support
Diffstat (limited to 'mk/builtin/peakrdl_intfs/apb3_intf.sv')
-rw-r--r--mk/builtin/peakrdl_intfs/apb3_intf.sv40
1 files changed, 40 insertions, 0 deletions
diff --git a/mk/builtin/peakrdl_intfs/apb3_intf.sv b/mk/builtin/peakrdl_intfs/apb3_intf.sv
new file mode 100644
index 0000000..d18d3a0
--- /dev/null
+++ b/mk/builtin/peakrdl_intfs/apb3_intf.sv
@@ -0,0 +1,40 @@
+interface apb3_intf #(
+ parameter DATA_WIDTH = 32,
+ parameter ADDR_WIDTH = 32
+);
+ // Command
+ logic PSEL;
+ logic PENABLE;
+ logic PWRITE;
+ logic [ADDR_WIDTH-1:0] PADDR;
+ logic [DATA_WIDTH-1:0] PWDATA;
+
+ // Response
+ logic [DATA_WIDTH-1:0] PRDATA;
+ logic PREADY;
+ logic PSLVERR;
+
+ modport master (
+ output PSEL,
+ output PENABLE,
+ output PWRITE,
+ output PADDR,
+ output PWDATA,
+
+ input PRDATA,
+ input PREADY,
+ input PSLVERR
+ );
+
+ modport slave (
+ input PSEL,
+ input PENABLE,
+ input PWRITE,
+ input PADDR,
+ input PWDATA,
+
+ output PRDATA,
+ output PREADY,
+ output PSLVERR
+ );
+endinterface