summaryrefslogtreecommitdiff
path: root/rtl/gfx/skid_buf.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-10-25 19:13:19 -0600
committerAlejandro Soto <alejandro@34project.org>2023-10-25 19:13:19 -0600
commit5202bce32bd9157508ed48da37e114b7ade0ec70 (patch)
treebc5eeac42915e5e2ddf2cd6fb8d17f9dc6053eb5 /rtl/gfx/skid_buf.sv
parentc1c1f1e823099c82d02e94827a64d7a0b223048e (diff)
rtl/gfx: implement skid buffers
Diffstat (limited to 'rtl/gfx/skid_buf.sv')
-rw-r--r--rtl/gfx/skid_buf.sv20
1 files changed, 20 insertions, 0 deletions
diff --git a/rtl/gfx/skid_buf.sv b/rtl/gfx/skid_buf.sv
new file mode 100644
index 0000000..6e7ffbb
--- /dev/null
+++ b/rtl/gfx/skid_buf.sv
@@ -0,0 +1,20 @@
+module skid_buf
+#(parameter WIDTH=0)
+(
+ input logic clk,
+
+ input logic[WIDTH - 1:0] in,
+ input logic stall,
+
+ output logic[WIDTH - 1:0] out
+);
+
+ logic[WIDTH - 1:0] skid;
+
+ assign out = stall ? skid : in;
+
+ always_ff @(posedge clk)
+ if (!stall)
+ skid <= in;
+
+endmodule