Skip to content

Instantly share code, notes, and snippets.

@expipiplus1
Created March 6, 2017 16:14
Show Gist options
  • Save expipiplus1/a5fb31488213536e1a1381b8ca5c2b25 to your computer and use it in GitHub Desktop.
Save expipiplus1/a5fb31488213536e1a1381b8ca5c2b25 to your computer and use it in GitHub Desktop.
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE NoImplicitPrelude #-}
module NN where
import Availability
import CLaSH.Annotations.TopEntity
import CLaSH.Prelude
import CLaSH.Prelude.Explicit
import CLaSH.Promoted.Nat
import CLaSH.Signal
import CLaSH.Signal.Explicit
import CLaSH.Sized.Internal.BitVector
import CLaSH.Sized.Vector
import Data.List.NonEmpty
import GHC.Base
import GHC.Types
import Numeric.Half
import RLE
import Text.Read
import qualified CLaSH.FIFO
import qualified CNN.Constant
import qualified CNN.LineBuffer
import qualified CNN.PatternGenerator
import qualified CNN.Pooling
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Types
nn :: () -> CLaSH.Signal.Signal (GHC.Base.Maybe Numeric.Half.Half)
nn =
\(()) ->
let v0_0 :: CLaSH.Signal.Signal (GHC.Base.Maybe Numeric.Half.Half)
v1_1 :: CLaSH.Signal.Signal (GHC.Base.Maybe Numeric.Half.Half)
v2_2 :: CLaSH.Signal.Signal (GHC.Base.Maybe Numeric.Half.Half)
v3_3 :: CLaSH.Signal.Signal (GHC.Base.Maybe Numeric.Half.Half)
v4_4 :: CLaSH.Signal.Signal (GHC.Base.Maybe Numeric.Half.Half)
v5_5 :: CLaSH.Signal.Signal (GHC.Base.Maybe Numeric.Half.Half)
v6_6 :: CLaSH.Signal.Signal (GHC.Base.Maybe Numeric.Half.Half)
v0_0 =
CNN.Constant.constantFunction
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 154587)
"W6LiBYqcnP8HvU9p8kqjMLGsoOD0TRN1Cs0mDCqeGc4=.mif"
(GHC.Base.fmap
((GHC.Classes.==) Availability.Present)
(CNN.PatternGenerator.generatePatternAfter
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1)
(CNN.PatternGenerator.repeatPattern
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1)
(CNN.PatternGenerator.singletonPattern Availability.Present))))
v1_1 =
GHC.Base.flip
(CLaSH.FIFO.blockFIFO
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1))
(GHC.Base.fmap
((GHC.Classes.==) Availability.Present)
(CNN.PatternGenerator.generatePatternAfter
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 3)
(CNN.PatternGenerator.repeatPattern
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1)
(CNN.PatternGenerator.singletonPattern Availability.Present))))
v0_0
v2_2 =
CNN.LineBuffer.poolingLineBufferCircuit
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 11)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 0)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 226)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 3)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 227)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 154587)
v1_1
v3_3 =
CNN.Pooling.avgPoolCircuit
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 227)
(GHC.Base.pure GHC.Types.True)
v2_2
v4_4 =
GHC.Base.flip
(CLaSH.FIFO.blockFIFO
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1))
(GHC.Base.fmap
((GHC.Classes.==) Availability.Present)
(CNN.PatternGenerator.generatePatternAfter
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 926)
(CNN.PatternGenerator.thenPattern
(CNN.PatternGenerator.repeatPattern
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1)
(CNN.PatternGenerator.singletonPattern
Availability.Present))
(CNN.PatternGenerator.repeatPattern
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 226)
(CNN.PatternGenerator.singletonPattern
Availability.Absent)))))
v3_3
v5_5 =
CNN.LineBuffer.poolingLineBufferCircuit
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 11)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 0)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 0)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 3)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 0)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 1)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 227)
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 154587)
v4_4
v6_6 =
CNN.Pooling.avgPoolCircuit
(CLaSH.Promoted.Nat.SNat :: CLaSH.Promoted.Nat.SNat 227)
(GHC.Base.pure GHC.Types.True)
v5_5
in v6_6
type InputUnbundledType = ()
type OutputUnbundledType = GHC.Base.Maybe Numeric.Half.Half
inputAvailabilities :: ()
inputAvailabilities = ()
outputAvailabilities :: Availability.Availability
outputAvailabilities =
Availability.Availability
(Availability.Nested
(RLE.RLE
(RLE.Run
1
(Availability.Flat
(RLE.RLE
(RLE.Run 226 Availability.Absent Data.List.NonEmpty.:|
[RLE.Run 1 Availability.Present]))) Data.List.NonEmpty.:|
[ RLE.Run
1
(Availability.Flat
(RLE.RLE
(RLE.Run 51302 Availability.Absent Data.List.NonEmpty.:| [])))
])))
3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment