From 5088967b9db6e8bcc5feddbea6f53da5b33cb77c Mon Sep 17 00:00:00 2001 From: Nathan Ringo Date: Tue, 24 Sep 2024 00:47:49 -0500 Subject: Another reorg. --- fpga/src/CPU.bs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 fpga/src/CPU.bs (limited to 'fpga/src/CPU.bs') diff --git a/fpga/src/CPU.bs b/fpga/src/CPU.bs new file mode 100644 index 0000000..566ae92 --- /dev/null +++ b/fpga/src/CPU.bs @@ -0,0 +1,20 @@ +package CPU where + +import GetPut + +-- | The interface the CPU exposes. +interface CPU = + -- UART + uart_tx :: Get (Bit 8) + uart_rx :: Put (Bit 8) + +mkCPU :: Module CPU +mkCPU = module + byte :: Reg (Bit 8) <- mkReg 0 + + interface CPU + uart_tx = toGet byte + uart_rx = toPut $ \b -> do + byte := b + +-- vim: set ft=haskell : -- cgit v1.2.3