From 2d3e55c69d8ff08af0bc0363dd70879b8b6dc873 Mon Sep 17 00:00:00 2001 From: tzlil Date: Fri, 23 Feb 2024 16:28:14 +0200 Subject: rename stuff, add SSAM2603 ADC/DAC chip docs --- src/Blinker.hs | 71 ---------------------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 src/Blinker.hs (limited to 'src/Blinker.hs') diff --git a/src/Blinker.hs b/src/Blinker.hs deleted file mode 100644 index 9dc9778..0000000 --- a/src/Blinker.hs +++ /dev/null @@ -1,71 +0,0 @@ -{-# LANGUAGE ImplicitParams #-} -{-# LANGUAGE NumericUnderscores #-} -{-# LANGUAGE AllowAmbiguousTypes #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE LambdaCase #-} -{-# OPTIONS_GHC -option #-} -module Blinker where - -import Clash.Prelude -import Clash.Annotations.SynthesisAttributes -import Clash.Cores.UART -import Data.Char (ord) -import Control.Monad.Trans.State.Strict - --- 50 MHz -createDomain vSystem{vName="Input", vPeriod=20_000} - -{-# ANN topEntity - (Synthesize - { t_name = "Blinker" - , t_inputs = [ - PortName "CLK0", - PortName "UART_RX" - ] - , t_output = PortName "UART_TX" - }) #-} -topEntity :: - "CLK" ::: Clock Input - `Annotate` 'StringAttr "chip_pin" "R20" - `Annotate` 'StringAttr - "altera_attribute" "-name IO_STANDARD \"3.3-V LVTTL\"" - -> "RX" ::: Signal Input Bit - `Annotate` 'StringAttr - "chip_pin" "M9" - `Annotate` 'StringAttr - "altera_attribute" "-name IO_STANDARD \"2.5V\"" - -> "KEY0" ::: Signal Input Bit - `Annotate` 'StringAttr - "chip_pin" "P11" - `Annotate` 'StringAttr - "altera_attribute" "-name IO_STANDARD \"1.2V\"" - -> Signal Input Bit - `Annotate` 'StringAttr - "chip_pin" "L9" - `Annotate` 'StringAttr - "altera_attribute" "-name IO_STANDARD \"2.5V\"" -topEntity clk rx key0 = txBit - where - baud = SNat @115200 - uart' = exposeClockResetEnable (uart baud) clk resetGen enableGen - (rxWord, txBit, ack) = uart' rx txM - txM = (exposeClockResetEnable mealyS clk resetGen enableGen) cpu Listening (CPUIn <$> key0 <*> ack <*> rxWord) - - -data CPUIn = CPUIn { - key0 :: Bit, - ack :: Bool, - rx :: Maybe (BitVector 8) -} - -data CPUState = Transmitting (BitVector 8) | Listening deriving (Generic, NFDataX) -cpu :: CPUIn -> State CPUState (Maybe (BitVector 8)) -cpu CPUIn{rx=Just rx} = do - put $ Transmitting $ rx - return Nothing - -cpu CPUIn{ack=True} = put Listening >> return Nothing - -cpu CPUIn{ack=False,rx=Nothing} = get >>= \case - Transmitting s -> return $ Just s - Listening -> return Nothing \ No newline at end of file -- cgit 1.4.1