summaryrefslogtreecommitdiff
path: root/rtl/core/cp15/far.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-12-10 19:36:38 -0600
committerAlejandro Soto <alejandro@34project.org>2022-12-10 19:36:38 -0600
commit8026947ecdf9b023c3720b26bf257bf46f7a2805 (patch)
tree8b2fbd0beb29c575730a76b010e8aa35977d5417 /rtl/core/cp15/far.sv
parent02f76bae32e295bf1da04e38dfa12dfbc5832aec (diff)
Implement rest of cp15 registers
Diffstat (limited to '')
-rw-r--r--rtl/core/cp15/far.sv27
1 files changed, 27 insertions, 0 deletions
diff --git a/rtl/core/cp15/far.sv b/rtl/core/cp15/far.sv
new file mode 100644
index 0000000..b90dc0f
--- /dev/null
+++ b/rtl/core/cp15/far.sv
@@ -0,0 +1,27 @@
+`include "core/uarch.sv"
+`include "core/cp15/map.sv"
+
+module core_cp15_far
+(
+ input logic clk,
+ rst_n,
+
+ input logic load,
+ transfer,
+ input cp_opcode op2,
+ input word write,
+
+ output word read
+);
+
+ word far;
+
+ assign read = far;
+
+ always @(posedge clk or negedge rst_n)
+ if(!rst_n)
+ far <= 0;
+ else if(transfer && !load)
+ far <= write;
+
+endmodule