summaryrefslogtreecommitdiff
path: root/mk/builtin/peakrdl_intfs/apb3_intf.sv
diff options
context:
space:
mode:
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