clash-prelude 0.9.1 → 0.9.2
raw patch · 8 files changed
+37/−24 lines, 8 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- CLaSH.Annotations.TopEntity: [ClockSource] :: String -> Maybe (String, String) -> [(String, String)] -> Maybe (String, String) -> String -> Bool -> ClockSource
- CLaSH.Annotations.TopEntity: [TopEntity] :: String -> [String] -> [String] -> [(String, Int)] -> [(String, Int)] -> [ClockSource] -> TopEntity
- CLaSH.Annotations.TopEntity: instance [safe] Data ClockSource
- CLaSH.Annotations.TopEntity: instance [safe] Data TopEntity
- CLaSH.Annotations.TopEntity: instance [safe] Show ClockSource
- CLaSH.Annotations.TopEntity: instance [safe] Show TopEntity
- CLaSH.Class.BitPack: instance (KnownNat (BitSize b), BitPack a, BitPack b) => BitPack (a, b)
- CLaSH.Class.BitPack: instance BitPack (BitVector n)
- CLaSH.Class.BitPack: instance BitPack Bool
- CLaSH.Class.Num: [SatBound] :: SaturationMode
- CLaSH.Class.Num: [SatSymmetric] :: SaturationMode
- CLaSH.Class.Num: [SatWrap] :: SaturationMode
- CLaSH.Class.Num: [SatZero] :: SaturationMode
- CLaSH.Class.Num: instance [safe] Eq SaturationMode
- CLaSH.Prelude.DataFlow: instance [safe] (LockStep a x, LockStep b y) => LockStep (a, b) (x, y)
- CLaSH.Prelude.DataFlow: instance [safe] LockStep Bool c
- CLaSH.Promoted.Nat: [SNat] :: (Proxy n) -> SNat
- CLaSH.Promoted.Nat: [USucc] :: UNat n -> UNat (n + 1)
- CLaSH.Promoted.Nat: [UZero] :: UNat 0
- CLaSH.Promoted.Nat: instance Show (SNat n)
- CLaSH.Promoted.Symbol: [SSymbol] :: (Proxy s) -> SSymbol
- CLaSH.Promoted.Symbol: instance [safe] Show (SSymbol s)
- CLaSH.Signal.Bundle: instance Bundle ()
- CLaSH.Signal.Bundle: instance Bundle (BitVector n)
- CLaSH.Signal.Bundle: instance Bundle (Either a b)
- CLaSH.Signal.Bundle: instance Bundle (Fixed rep int frac)
- CLaSH.Signal.Bundle: instance Bundle (Index n)
- CLaSH.Signal.Bundle: instance Bundle (Maybe a)
- CLaSH.Signal.Bundle: instance Bundle (Signed n)
- CLaSH.Signal.Bundle: instance Bundle (Unsigned n)
- CLaSH.Signal.Bundle: instance Bundle (a, b)
- CLaSH.Signal.Bundle: instance Bundle (a, b, c)
- CLaSH.Signal.Bundle: instance Bundle (a, b, c, d)
- CLaSH.Signal.Bundle: instance Bundle (a, b, c, d, e)
- CLaSH.Signal.Bundle: instance Bundle (a, b, c, d, e, f)
- CLaSH.Signal.Bundle: instance Bundle (a, b, c, d, e, f, g)
- CLaSH.Signal.Bundle: instance Bundle (a, b, c, d, e, f, g, h)
- CLaSH.Signal.Bundle: instance Bundle Bool
- CLaSH.Signal.Bundle: instance Bundle Double
- CLaSH.Signal.Bundle: instance Bundle Float
- CLaSH.Signal.Bundle: instance Bundle Int
- CLaSH.Signal.Bundle: instance Bundle Integer
- CLaSH.Signal.Bundle: instance KnownNat n => Bundle (Vec n a)
- CLaSH.Signal.Delayed: instance (Num a, Ord a) => Real (DSignal delay a)
- CLaSH.Signal.Delayed: instance Applicative (DSignal delay)
- CLaSH.Signal.Delayed: instance Arbitrary a => Arbitrary (DSignal delay a)
- CLaSH.Signal.Delayed: instance Bits a => Bits (DSignal delay a)
- CLaSH.Signal.Delayed: instance Bounded a => Bounded (DSignal delay a)
- CLaSH.Signal.Delayed: instance CoArbitrary a => CoArbitrary (DSignal delay a)
- CLaSH.Signal.Delayed: instance Default a => Default (DSignal delay a)
- CLaSH.Signal.Delayed: instance Enum a => Enum (DSignal delay a)
- CLaSH.Signal.Delayed: instance Eq (DSignal delay a)
- CLaSH.Signal.Delayed: instance ExtendingNum a b => ExtendingNum (DSignal n a) (DSignal n b)
- CLaSH.Signal.Delayed: instance FiniteBits a => FiniteBits (DSignal delay a)
- CLaSH.Signal.Delayed: instance Foldable (DSignal delay)
- CLaSH.Signal.Delayed: instance Fractional a => Fractional (DSignal delay a)
- CLaSH.Signal.Delayed: instance Functor (DSignal delay)
- CLaSH.Signal.Delayed: instance Integral a => Integral (DSignal delay a)
- CLaSH.Signal.Delayed: instance Lift a => Lift (DSignal delay a)
- CLaSH.Signal.Delayed: instance Num a => Num (DSignal delay a)
- CLaSH.Signal.Delayed: instance Ord a => Ord (DSignal delay a)
- CLaSH.Signal.Delayed: instance SaturatingNum a => SaturatingNum (DSignal delay a)
- CLaSH.Signal.Delayed: instance Show a => Show (DSignal delay a)
- CLaSH.Signal.Delayed: instance Traversable (DSignal delay)
- CLaSH.Signal.Explicit: [Clk] :: Symbol -> Nat -> Clock
- CLaSH.Signal.Explicit: [SClock] :: SSymbol name -> SNat period -> SClock (Clk name period)
- CLaSH.Signal.Internal: [:-] :: a -> Signal' clk a -> Signal' a
- CLaSH.Signal.Internal: [Clk] :: Symbol -> Nat -> Clock
- CLaSH.Signal.Internal: [SClock] :: SSymbol name -> SNat period -> SClock (Clk name period)
- CLaSH.Signal.Internal: instance (Num a, Ord a) => Real (Signal' clk a)
- CLaSH.Signal.Internal: instance Applicative (Signal' clk)
- CLaSH.Signal.Internal: instance Arbitrary a => Arbitrary (Signal' clk a)
- CLaSH.Signal.Internal: instance Bits a => Bits (Signal' clk a)
- CLaSH.Signal.Internal: instance Bounded a => Bounded (Signal' clk a)
- CLaSH.Signal.Internal: instance CoArbitrary a => CoArbitrary (Signal' clk a)
- CLaSH.Signal.Internal: instance Default a => Default (Signal' clk a)
- CLaSH.Signal.Internal: instance Enum a => Enum (Signal' clk a)
- CLaSH.Signal.Internal: instance Eq (Signal' clk a)
- CLaSH.Signal.Internal: instance ExtendingNum a b => ExtendingNum (Signal' clk a) (Signal' clk b)
- CLaSH.Signal.Internal: instance FiniteBits a => FiniteBits (Signal' clk a)
- CLaSH.Signal.Internal: instance Foldable (Signal' clk)
- CLaSH.Signal.Internal: instance Fractional a => Fractional (Signal' clk a)
- CLaSH.Signal.Internal: instance Functor (Signal' clk)
- CLaSH.Signal.Internal: instance Integral a => Integral (Signal' clk a)
- CLaSH.Signal.Internal: instance Lift a => Lift (Signal' clk a)
- CLaSH.Signal.Internal: instance Num a => Num (Signal' clk a)
- CLaSH.Signal.Internal: instance Ord a => Ord (Signal' clk a)
- CLaSH.Signal.Internal: instance SaturatingNum a => SaturatingNum (Signal' clk a)
- CLaSH.Signal.Internal: instance Show (SClock clk)
- CLaSH.Signal.Internal: instance Show a => Show (Signal' clk a)
- CLaSH.Signal.Internal: instance Traversable (Signal' clk)
- CLaSH.Sized.Fixed: [Fixed] :: rep (int + frac) -> Fixed
- CLaSH.Sized.Fixed: instance (Lift (rep (int + frac)), KnownNat frac, KnownNat int, Typeable rep) => Lift (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance (size ~ (int + frac), KnownNat frac, Integral (rep size)) => Show (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance Arbitrary (rep (int + frac)) => Arbitrary (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance BitPack (rep (int + frac)) => BitPack (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance Bits (rep (int + frac)) => Bits (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance Bounded (rep (int + frac)) => Bounded (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance CoArbitrary (rep (int + frac)) => CoArbitrary (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance Default (rep (int + frac)) => Default (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance ENumFixedC rep int1 frac1 int2 frac2 => ExtendingNum (Fixed rep int1 frac1) (Fixed rep int2 frac2)
- CLaSH.Sized.Fixed: instance Enum (rep (int + frac)) => Enum (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance Eq (rep (int + frac)) => Eq (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance FracFixedC rep int frac => Fractional (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance NumFixedC rep int frac => Num (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance NumFixedC rep int frac => SaturatingNum (Fixed rep int frac)
- CLaSH.Sized.Fixed: instance Ord (rep (int + frac)) => Ord (Fixed rep int frac)
- CLaSH.Sized.Internal.BitVector: [BV] :: Integer -> BitVector
- CLaSH.Sized.Internal.BitVector: instance (KnownNat (Max m n + 1), KnownNat (m + n)) => ExtendingNum (BitVector m) (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance (KnownNat n, KnownNat (n + 1), KnownNat (n + n)) => SaturatingNum (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance Eq (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Arbitrary (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Bits (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Bounded (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => CoArbitrary (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Default (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Enum (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => FiniteBits (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Integral (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Ixed (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Lift (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Num (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Real (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance KnownNat n => Show (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance Ord (BitVector n)
- CLaSH.Sized.Internal.BitVector: instance Resize BitVector
- CLaSH.Sized.Internal.Index: [I] :: Integer -> Index
- CLaSH.Sized.Internal.Index: instance Eq (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => Arbitrary (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => Bounded (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => CoArbitrary (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => Default (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => Enum (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => Integral (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => Lift (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => Num (Index n)
- CLaSH.Sized.Internal.Index: instance KnownNat n => Real (Index n)
- CLaSH.Sized.Internal.Index: instance Ord (Index n)
- CLaSH.Sized.Internal.Index: instance Show (Index n)
- CLaSH.Sized.Internal.Signed: [S] :: Integer -> Signed
- CLaSH.Sized.Internal.Signed: instance (KnownNat (1 + Max m n), KnownNat (m + n)) => ExtendingNum (Signed m) (Signed n)
- CLaSH.Sized.Internal.Signed: instance (KnownNat n, KnownNat (1 + n), KnownNat (n + n)) => SaturatingNum (Signed n)
- CLaSH.Sized.Internal.Signed: instance Eq (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Arbitrary (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => BitPack (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Bits (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Bounded (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => CoArbitrary (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Default (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Enum (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => FiniteBits (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Integral (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Ixed (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Lift (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Num (Signed n)
- CLaSH.Sized.Internal.Signed: instance KnownNat n => Real (Signed n)
- CLaSH.Sized.Internal.Signed: instance Ord (Signed n)
- CLaSH.Sized.Internal.Signed: instance Resize Signed
- CLaSH.Sized.Internal.Signed: instance Show (Signed n)
- CLaSH.Sized.Internal.Unsigned: [U] :: Integer -> Unsigned
- CLaSH.Sized.Internal.Unsigned: instance (KnownNat (1 + Max m n), KnownNat (m + n)) => ExtendingNum (Unsigned m) (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance (KnownNat n, KnownNat (1 + n), KnownNat (n + n)) => SaturatingNum (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance BitPack (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance Eq (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Arbitrary (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Bits (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Bounded (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => CoArbitrary (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Default (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Enum (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => FiniteBits (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Integral (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Ixed (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Lift (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Num (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance KnownNat n => Real (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance Ord (Unsigned n)
- CLaSH.Sized.Internal.Unsigned: instance Resize Unsigned
- CLaSH.Sized.Internal.Unsigned: instance Show (Unsigned n)
- CLaSH.Sized.Vector: [:>] :: a -> Vec n a -> Vec (n + 1) a
- CLaSH.Sized.Vector: [Nil] :: Vec 0 a
- CLaSH.Sized.Vector: instance (Default a, KnownNat n) => Default (Vec n a)
- CLaSH.Sized.Vector: instance (KnownNat n, Arbitrary a) => Arbitrary (Vec n a)
- CLaSH.Sized.Vector: instance (KnownNat n, KnownNat (BitSize a), BitPack a) => BitPack (Vec n a)
- CLaSH.Sized.Vector: instance CoArbitrary a => CoArbitrary (Vec n a)
- CLaSH.Sized.Vector: instance Eq a => Eq (Vec n a)
- CLaSH.Sized.Vector: instance Foldable (Vec n)
- CLaSH.Sized.Vector: instance Functor (Vec n)
- CLaSH.Sized.Vector: instance KnownNat n => Applicative (Vec n)
- CLaSH.Sized.Vector: instance KnownNat n => Ixed (Vec n a)
- CLaSH.Sized.Vector: instance Lift a => Lift (Vec n a)
- CLaSH.Sized.Vector: instance Ord a => Ord (Vec n a)
- CLaSH.Sized.Vector: instance Show a => Show (Vec n a)
- CLaSH.Sized.Vector: instance Traversable (Vec n)
+ CLaSH.Annotations.TopEntity: ClockSource :: String -> Maybe (String, String) -> [(String, String)] -> Maybe (String, String) -> String -> Bool -> ClockSource
+ CLaSH.Annotations.TopEntity: TopEntity :: String -> [String] -> [String] -> [(String, Int)] -> [(String, Int)] -> [ClockSource] -> TopEntity
+ CLaSH.Annotations.TopEntity: instance Data.Data.Data CLaSH.Annotations.TopEntity.ClockSource
+ CLaSH.Annotations.TopEntity: instance Data.Data.Data CLaSH.Annotations.TopEntity.TopEntity
+ CLaSH.Annotations.TopEntity: instance GHC.Show.Show CLaSH.Annotations.TopEntity.ClockSource
+ CLaSH.Annotations.TopEntity: instance GHC.Show.Show CLaSH.Annotations.TopEntity.TopEntity
+ CLaSH.Class.BitPack: instance (GHC.TypeLits.KnownNat (CLaSH.Class.BitPack.BitSize b), CLaSH.Class.BitPack.BitPack a, CLaSH.Class.BitPack.BitPack b) => CLaSH.Class.BitPack.BitPack (a, b)
+ CLaSH.Class.BitPack: instance CLaSH.Class.BitPack.BitPack (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Class.BitPack: instance CLaSH.Class.BitPack.BitPack GHC.Types.Bool
+ CLaSH.Class.Num: SatBound :: SaturationMode
+ CLaSH.Class.Num: SatSymmetric :: SaturationMode
+ CLaSH.Class.Num: SatWrap :: SaturationMode
+ CLaSH.Class.Num: SatZero :: SaturationMode
+ CLaSH.Class.Num: instance GHC.Classes.Eq CLaSH.Class.Num.SaturationMode
+ CLaSH.Prelude.DataFlow: instance (CLaSH.Prelude.DataFlow.LockStep a x, CLaSH.Prelude.DataFlow.LockStep b y) => CLaSH.Prelude.DataFlow.LockStep (a, b) (x, y)
+ CLaSH.Prelude.DataFlow: instance CLaSH.Prelude.DataFlow.LockStep GHC.Types.Bool c
+ CLaSH.Promoted.Nat: SNat :: (Proxy n) -> SNat
+ CLaSH.Promoted.Nat: USucc :: UNat n -> UNat (n + 1)
+ CLaSH.Promoted.Nat: UZero :: UNat 0
+ CLaSH.Promoted.Nat: instance GHC.Show.Show (CLaSH.Promoted.Nat.SNat n)
+ CLaSH.Promoted.Symbol: SSymbol :: (Proxy s) -> SSymbol
+ CLaSH.Promoted.Symbol: instance GHC.Show.Show (CLaSH.Promoted.Symbol.SSymbol s)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle ()
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (Data.Either.Either a b)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (GHC.Base.Maybe a)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (a, b)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (a, b, c)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (a, b, c, d)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (a, b, c, d, e)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (a, b, c, d, e, f)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (a, b, c, d, e, f, g)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle (a, b, c, d, e, f, g, h)
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle GHC.Integer.Type.Integer
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle GHC.Types.Bool
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle GHC.Types.Double
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle GHC.Types.Float
+ CLaSH.Signal.Bundle: instance CLaSH.Signal.Bundle.Bundle GHC.Types.Int
+ CLaSH.Signal.Bundle: instance GHC.TypeLits.KnownNat n => CLaSH.Signal.Bundle.Bundle (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Signal.Delayed: instance (GHC.Num.Num a, GHC.Classes.Ord a) => GHC.Real.Real (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance CLaSH.Class.Num.ExtendingNum a b => CLaSH.Class.Num.ExtendingNum (CLaSH.Signal.Delayed.DSignal n a) (CLaSH.Signal.Delayed.DSignal n b)
+ CLaSH.Signal.Delayed: instance CLaSH.Class.Num.SaturatingNum a => CLaSH.Class.Num.SaturatingNum (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance Data.Bits.Bits a => Data.Bits.Bits (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance Data.Bits.FiniteBits a => Data.Bits.FiniteBits (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance Data.Default.Class.Default a => Data.Default.Class.Default (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance Data.Foldable.Foldable (CLaSH.Signal.Delayed.DSignal delay)
+ CLaSH.Signal.Delayed: instance Data.Traversable.Traversable (CLaSH.Signal.Delayed.DSignal delay)
+ CLaSH.Signal.Delayed: instance GHC.Base.Applicative (CLaSH.Signal.Delayed.DSignal delay)
+ CLaSH.Signal.Delayed: instance GHC.Base.Functor (CLaSH.Signal.Delayed.DSignal delay)
+ CLaSH.Signal.Delayed: instance GHC.Classes.Eq (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance GHC.Classes.Ord a => GHC.Classes.Ord (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance GHC.Enum.Enum a => GHC.Enum.Enum (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance GHC.Num.Num a => GHC.Num.Num (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance GHC.Real.Fractional a => GHC.Real.Fractional (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance GHC.Real.Integral a => GHC.Real.Integral (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance GHC.Show.Show a => GHC.Show.Show (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Delayed: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (CLaSH.Signal.Delayed.DSignal delay a)
+ CLaSH.Signal.Explicit: Clk :: Symbol -> Nat -> Clock
+ CLaSH.Signal.Explicit: SClock :: SSymbol name -> SNat period -> SClock (Clk name period)
+ CLaSH.Signal.Internal: (:-) :: a -> Signal' clk a -> Signal' a
+ CLaSH.Signal.Internal: Clk :: Symbol -> Nat -> Clock
+ CLaSH.Signal.Internal: SClock :: SSymbol name -> SNat period -> SClock (Clk name period)
+ CLaSH.Signal.Internal: instance (GHC.Num.Num a, GHC.Classes.Ord a) => GHC.Real.Real (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance CLaSH.Class.Num.ExtendingNum a b => CLaSH.Class.Num.ExtendingNum (CLaSH.Signal.Internal.Signal' clk a) (CLaSH.Signal.Internal.Signal' clk b)
+ CLaSH.Signal.Internal: instance CLaSH.Class.Num.SaturatingNum a => CLaSH.Class.Num.SaturatingNum (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance Data.Bits.Bits a => Data.Bits.Bits (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance Data.Bits.FiniteBits a => Data.Bits.FiniteBits (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance Data.Default.Class.Default a => Data.Default.Class.Default (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance Data.Foldable.Foldable (CLaSH.Signal.Internal.Signal' clk)
+ CLaSH.Signal.Internal: instance Data.Traversable.Traversable (CLaSH.Signal.Internal.Signal' clk)
+ CLaSH.Signal.Internal: instance GHC.Base.Applicative (CLaSH.Signal.Internal.Signal' clk)
+ CLaSH.Signal.Internal: instance GHC.Base.Functor (CLaSH.Signal.Internal.Signal' clk)
+ CLaSH.Signal.Internal: instance GHC.Classes.Eq (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance GHC.Classes.Ord a => GHC.Classes.Ord (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance GHC.Enum.Enum a => GHC.Enum.Enum (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance GHC.Num.Num a => GHC.Num.Num (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance GHC.Real.Fractional a => GHC.Real.Fractional (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance GHC.Real.Integral a => GHC.Real.Integral (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance GHC.Show.Show (CLaSH.Signal.Internal.SClock clk)
+ CLaSH.Signal.Internal: instance GHC.Show.Show a => GHC.Show.Show (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Signal.Internal: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (CLaSH.Signal.Internal.Signal' clk a)
+ CLaSH.Sized.Fixed: Fixed :: rep (int + frac) -> Fixed
+ CLaSH.Sized.Fixed: instance (Language.Haskell.TH.Syntax.Lift (rep (int GHC.TypeLits.+ frac)), GHC.TypeLits.KnownNat frac, GHC.TypeLits.KnownNat int, Data.Typeable.Internal.Typeable rep) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance (size ~ (int GHC.TypeLits.+ frac), GHC.TypeLits.KnownNat frac, GHC.Real.Integral (rep size)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance CLaSH.Class.BitPack.BitPack (rep (int GHC.TypeLits.+ frac)) => CLaSH.Class.BitPack.BitPack (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance CLaSH.Sized.Fixed.ENumFixedC rep int1 frac1 int2 frac2 => CLaSH.Class.Num.ExtendingNum (CLaSH.Sized.Fixed.Fixed rep int1 frac1) (CLaSH.Sized.Fixed.Fixed rep int2 frac2)
+ CLaSH.Sized.Fixed: instance CLaSH.Sized.Fixed.FracFixedC rep int frac => GHC.Real.Fractional (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance CLaSH.Sized.Fixed.NumFixedC rep int frac => CLaSH.Class.Num.SaturatingNum (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance CLaSH.Sized.Fixed.NumFixedC rep int frac => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance Data.Bits.Bits (rep (int GHC.TypeLits.+ frac)) => Data.Bits.Bits (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance Data.Default.Class.Default (rep (int GHC.TypeLits.+ frac)) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance GHC.Classes.Eq (rep (int GHC.TypeLits.+ frac)) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance GHC.Classes.Ord (rep (int GHC.TypeLits.+ frac)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance GHC.Enum.Bounded (rep (int GHC.TypeLits.+ frac)) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance GHC.Enum.Enum (rep (int GHC.TypeLits.+ frac)) => GHC.Enum.Enum (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance Test.QuickCheck.Arbitrary.Arbitrary (rep (int GHC.TypeLits.+ frac)) => Test.QuickCheck.Arbitrary.Arbitrary (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Fixed: instance Test.QuickCheck.Arbitrary.CoArbitrary (rep (int GHC.TypeLits.+ frac)) => Test.QuickCheck.Arbitrary.CoArbitrary (CLaSH.Sized.Fixed.Fixed rep int frac)
+ CLaSH.Sized.Internal.BitVector: BV :: Integer -> BitVector
+ CLaSH.Sized.Internal.BitVector: instance (GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max m n GHC.TypeLits.+ 1), GHC.TypeLits.KnownNat (m GHC.TypeLits.+ n)) => CLaSH.Class.Num.ExtendingNum (CLaSH.Sized.Internal.BitVector.BitVector m) (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance (GHC.TypeLits.KnownNat n, GHC.TypeLits.KnownNat (n GHC.TypeLits.+ 1), GHC.TypeLits.KnownNat (n GHC.TypeLits.+ n)) => CLaSH.Class.Num.SaturatingNum (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance CLaSH.Class.Resize.Resize CLaSH.Sized.Internal.BitVector.BitVector
+ CLaSH.Sized.Internal.BitVector: instance GHC.Classes.Eq (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.Classes.Ord (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => Control.Lens.At.Ixed (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => Data.Bits.Bits (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => Data.Bits.FiniteBits (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => Data.Default.Class.Default (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => GHC.Enum.Bounded (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => GHC.Enum.Enum (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => GHC.Num.Num (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => GHC.Real.Integral (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => GHC.Real.Real (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => GHC.Show.Show (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => Test.QuickCheck.Arbitrary.Arbitrary (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.BitVector: instance GHC.TypeLits.KnownNat n => Test.QuickCheck.Arbitrary.CoArbitrary (CLaSH.Sized.Internal.BitVector.BitVector n)
+ CLaSH.Sized.Internal.Index: I :: Integer -> Index
+ CLaSH.Sized.Internal.Index: instance GHC.Classes.Eq (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.Classes.Ord (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.Show.Show (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => Data.Default.Class.Default (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => GHC.Enum.Bounded (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => GHC.Enum.Enum (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => GHC.Num.Num (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => GHC.Real.Integral (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => GHC.Real.Real (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => Test.QuickCheck.Arbitrary.Arbitrary (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Index: instance GHC.TypeLits.KnownNat n => Test.QuickCheck.Arbitrary.CoArbitrary (CLaSH.Sized.Internal.Index.Index n)
+ CLaSH.Sized.Internal.Signed: S :: Integer -> Signed
+ CLaSH.Sized.Internal.Signed: instance (GHC.TypeLits.KnownNat (1 GHC.TypeLits.+ CLaSH.Promoted.Ord.Max m n), GHC.TypeLits.KnownNat (m GHC.TypeLits.+ n)) => CLaSH.Class.Num.ExtendingNum (CLaSH.Sized.Internal.Signed.Signed m) (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance (GHC.TypeLits.KnownNat n, GHC.TypeLits.KnownNat (1 GHC.TypeLits.+ n), GHC.TypeLits.KnownNat (n GHC.TypeLits.+ n)) => CLaSH.Class.Num.SaturatingNum (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance CLaSH.Class.Resize.Resize CLaSH.Sized.Internal.Signed.Signed
+ CLaSH.Sized.Internal.Signed: instance GHC.Classes.Eq (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.Classes.Ord (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.Show.Show (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => CLaSH.Class.BitPack.BitPack (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => Control.Lens.At.Ixed (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => Data.Bits.Bits (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => Data.Bits.FiniteBits (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => Data.Default.Class.Default (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => GHC.Enum.Bounded (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => GHC.Enum.Enum (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => GHC.Num.Num (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => GHC.Real.Integral (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => GHC.Real.Real (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => Test.QuickCheck.Arbitrary.Arbitrary (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Signed: instance GHC.TypeLits.KnownNat n => Test.QuickCheck.Arbitrary.CoArbitrary (CLaSH.Sized.Internal.Signed.Signed n)
+ CLaSH.Sized.Internal.Unsigned: U :: Integer -> Unsigned
+ CLaSH.Sized.Internal.Unsigned: instance (GHC.TypeLits.KnownNat (1 GHC.TypeLits.+ CLaSH.Promoted.Ord.Max m n), GHC.TypeLits.KnownNat (m GHC.TypeLits.+ n)) => CLaSH.Class.Num.ExtendingNum (CLaSH.Sized.Internal.Unsigned.Unsigned m) (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance (GHC.TypeLits.KnownNat n, GHC.TypeLits.KnownNat (1 GHC.TypeLits.+ n), GHC.TypeLits.KnownNat (n GHC.TypeLits.+ n)) => CLaSH.Class.Num.SaturatingNum (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance CLaSH.Class.BitPack.BitPack (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance CLaSH.Class.Resize.Resize CLaSH.Sized.Internal.Unsigned.Unsigned
+ CLaSH.Sized.Internal.Unsigned: instance GHC.Classes.Eq (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.Classes.Ord (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.Show.Show (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => Control.Lens.At.Ixed (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => Data.Bits.Bits (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => Data.Bits.FiniteBits (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => Data.Default.Class.Default (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => GHC.Enum.Bounded (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => GHC.Enum.Enum (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => GHC.Num.Num (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => GHC.Real.Integral (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => GHC.Real.Real (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => Test.QuickCheck.Arbitrary.Arbitrary (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Internal.Unsigned: instance GHC.TypeLits.KnownNat n => Test.QuickCheck.Arbitrary.CoArbitrary (CLaSH.Sized.Internal.Unsigned.Unsigned n)
+ CLaSH.Sized.Vector: (:>) :: a -> Vec n a -> Vec (n + 1) a
+ CLaSH.Sized.Vector: Nil :: Vec 0 a
+ CLaSH.Sized.Vector: instance (Data.Default.Class.Default a, GHC.TypeLits.KnownNat n) => Data.Default.Class.Default (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Sized.Vector: instance (GHC.TypeLits.KnownNat n, GHC.TypeLits.KnownNat (CLaSH.Class.BitPack.BitSize a), CLaSH.Class.BitPack.BitPack a) => CLaSH.Class.BitPack.BitPack (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Sized.Vector: instance (GHC.TypeLits.KnownNat n, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Sized.Vector: instance Data.Foldable.Foldable (CLaSH.Sized.Vector.Vec n)
+ CLaSH.Sized.Vector: instance Data.Traversable.Traversable (CLaSH.Sized.Vector.Vec n)
+ CLaSH.Sized.Vector: instance GHC.Base.Functor (CLaSH.Sized.Vector.Vec n)
+ CLaSH.Sized.Vector: instance GHC.Classes.Eq a => GHC.Classes.Eq (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Sized.Vector: instance GHC.Classes.Ord a => GHC.Classes.Ord (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Sized.Vector: instance GHC.Show.Show a => GHC.Show.Show (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Sized.Vector: instance GHC.TypeLits.KnownNat n => Control.Lens.At.Ixed (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Sized.Vector: instance GHC.TypeLits.KnownNat n => GHC.Base.Applicative (CLaSH.Sized.Vector.Vec n)
+ CLaSH.Sized.Vector: instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Vector.Vec n a)
+ CLaSH.Sized.Vector: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (CLaSH.Sized.Vector.Vec n a)
- CLaSH.Prelude: asyncRam :: (KnownNat n, Enum addr) => SNat n -> Signal addr -> Signal addr -> Signal Bool -> Signal a -> Signal a
+ CLaSH.Prelude: asyncRam :: Enum addr => SNat n -> Signal addr -> Signal addr -> Signal Bool -> Signal a -> Signal a
- CLaSH.Prelude.Explicit: asyncRam' :: (KnownNat n, Enum addr) => SClock wclk -> SClock rclk -> SNat n -> Signal' wclk addr -> Signal' rclk addr -> Signal' wclk Bool -> Signal' wclk a -> Signal' rclk a
+ CLaSH.Prelude.Explicit: asyncRam' :: Enum addr => SClock wclk -> SClock rclk -> SNat n -> Signal' wclk addr -> Signal' rclk addr -> Signal' wclk Bool -> Signal' wclk a -> Signal' rclk a
- CLaSH.Prelude.Explicit.Safe: asyncRam' :: (KnownNat n, Enum addr) => SClock wclk -> SClock rclk -> SNat n -> Signal' wclk addr -> Signal' rclk addr -> Signal' wclk Bool -> Signal' wclk a -> Signal' rclk a
+ CLaSH.Prelude.Explicit.Safe: asyncRam' :: Enum addr => SClock wclk -> SClock rclk -> SNat n -> Signal' wclk addr -> Signal' rclk addr -> Signal' wclk Bool -> Signal' wclk a -> Signal' rclk a
- CLaSH.Prelude.RAM: asyncRam :: (KnownNat n, Enum addr) => SNat n -> Signal addr -> Signal addr -> Signal Bool -> Signal a -> Signal a
+ CLaSH.Prelude.RAM: asyncRam :: Enum addr => SNat n -> Signal addr -> Signal addr -> Signal Bool -> Signal a -> Signal a
- CLaSH.Prelude.RAM: asyncRam' :: (KnownNat n, Enum addr) => SClock wclk -> SClock rclk -> SNat n -> Signal' wclk addr -> Signal' rclk addr -> Signal' wclk Bool -> Signal' wclk a -> Signal' rclk a
+ CLaSH.Prelude.RAM: asyncRam' :: Enum addr => SClock wclk -> SClock rclk -> SNat n -> Signal' wclk addr -> Signal' rclk addr -> Signal' wclk Bool -> Signal' wclk a -> Signal' rclk a
- CLaSH.Prelude.Safe: asyncRam :: (KnownNat n, Enum addr) => SNat n -> Signal addr -> Signal addr -> Signal Bool -> Signal a -> Signal a
+ CLaSH.Prelude.Safe: asyncRam :: Enum addr => SNat n -> Signal addr -> Signal addr -> Signal Bool -> Signal a -> Signal a
Files
- CHANGELOG.md +3/−0
- clash-prelude.cabal +1/−1
- src/CLaSH/Examples.hs +3/−3
- src/CLaSH/Prelude/BlockRam.hs +6/−6
- src/CLaSH/Prelude/RAM.hs +2/−2
- src/CLaSH/Signal/Internal.hs +6/−0
- src/CLaSH/Sized/Vector.hs +5/−5
- src/CLaSH/Tutorial.hs +11/−7
CHANGELOG.md view
@@ -1,5 +1,8 @@ # Changelog for [`clash-prelude` package](http://hackage.haskell.org/package/clash-prelude) +## 0.9.2 *August 2nd 2015*+* Disable strictness analysis in `CLaSH.Signal.Internal`, this allows turning on strictness analysis in the GHC front-end of the CLaSH compiler.+ ## 0.9.1 *June 26th 2015* * Updated documentation on data-file support on Altera/Quartus
clash-prelude.cabal view
@@ -1,5 +1,5 @@ Name: clash-prelude-Version: 0.9.1+Version: 0.9.2 Synopsis: CAES Language for Synchronous Hardware - Prelude library Description: CλaSH (pronounced ‘clash’) is a functional hardware description language that
src/CLaSH/Examples.hs view
@@ -350,7 +350,7 @@ The following property holds: -prop> decoderShift enable binaryIn === decoderCase enable binaryIn+prop> \enable binaryIn -> decoderShift enable binaryIn === decoderCase enable binaryIn = Encoder @@ -381,7 +381,7 @@ The following property holds: -prop> en ==> (encoderCase en (decoderCase en decIn) === decIn)+prop> \en decIn -> en ==> (encoderCase en (decoderCase en decIn) === decIn) -} {- $counters@@ -424,7 +424,7 @@ The following property holds: -prop> en ==> testFor 1000 (upCounter (signal en) .==. upDownCounter (signal en))+prop> \en -> en ==> testFor 1000 (upCounter (signal en) .==. upDownCounter (signal en)) = LFSR
src/CLaSH/Prelude/BlockRam.hs view
@@ -84,7 +84,7 @@ -> ( Vec 7 Value , (MemAddr,MemAddr,Bool,Value,InstrAddr) )-cpu regbank (memOut,instr) = ((regbank',(rdAddr,wrAddr,wrEn,aluOut,fromIntegral ipntr))+cpu regbank (memOut,instr) = (regbank',(rdAddr,wrAddr,wrEn,aluOut,fromIntegral ipntr)) where -- Current instruction pointer ipntr = regbank '!!' PC@@ -146,7 +146,7 @@ system instrs = memOut where memOut = dataMem wrAddr rdAddr wrEn aluOut- (rdAddr,wrAddr,wrEn,aluOut,ipntr) = 'CLaSH.Prelude.Mealy.mealyB' cpu (('replicate' d7 0),Zero) (memOut,instr)+ (rdAddr,wrAddr,wrEn,aluOut,ipntr) = 'CLaSH.Prelude.Mealy.mealyB' cpu ('replicate' d7 0) (memOut,instr) instr = 'CLaSH.Prelude.ROM.asyncRom' instrs '<$>' ipntr @ @@ -207,7 +207,7 @@ system2 instrs = memOut where memOut = 'CLaSH.Prelude.RAM.asyncRam' d32 wrAddr rdAddr wrEn aluOut- (rdAddr,wrAddr,wrEn,aluOut,ipntr) = 'mealyB' cpu (('replicate' d7 0),Zero) (memOut,instr)+ (rdAddr,wrAddr,wrEn,aluOut,ipntr) = 'mealyB' cpu ('replicate' d7 0) (memOut,instr) instr = 'CLaSH.Prelude.ROM.asyncRom' instrs '<$>' ipntr @ @@ -247,7 +247,7 @@ -> ( (Vec 7 Value,Reg) , (MemAddr,MemAddr,Bool,Value,InstrAddr) )-cpu2 (regbank,ldRegD) (memOut,instr) = (((regbank',ldRegD'),(rdAddr,wrAddr,wrEn,aluOut,fromIntegral ipntr))+cpu2 (regbank,ldRegD) (memOut,instr) = ((regbank',ldRegD'),(rdAddr,wrAddr,wrEn,aluOut,fromIntegral ipntr)) where -- Current instruction pointer ipntr = regbank '!!' PC@@ -287,7 +287,7 @@ system3 instrs = memOut where memOut = 'blockRam' (replicate d32 0) wrAddr rdAddr wrEn aluOut- (rdAddr,wrAddr,wrEn,aluOut,ipntr) = 'mealyB' cpu (('replicate' d7 0),Zero) (memOut,instr)+ (rdAddr,wrAddr,wrEn,aluOut,ipntr) = 'mealyB' cpu2 (('replicate' d7 0),Zero) (memOut,instr) instr = 'CLaSH.Prelude.ROM.asyncRom' instrs '<$>' ipntr @ @@ -336,7 +336,7 @@ also 'undefined'. @-__>>> L.take 33 $ L.tail $ sample $ system3 prog2__+__>>> L.take 32 $ L.tail $ sample $ system3 prog2__ [4,4,4,4,4,4,4,4,4,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2] @
src/CLaSH/Prelude/RAM.hs view
@@ -49,7 +49,7 @@ -- -- * See "CLaSH.Prelude.BlockRam#usingrams" for more information on how to use a -- RAM.-asyncRam :: (KnownNat n, Enum addr)+asyncRam :: Enum addr => SNat n -- ^ Size @n@ of the RAM -> Signal addr -- ^ Write address @w@ -> Signal addr -- ^ Read address @r@@@ -108,7 +108,7 @@ -- -- * See "CLaSH.Prelude.BlockRam#usingrams" for more information on how to use a -- RAM.-asyncRam' :: (KnownNat n, Enum addr)+asyncRam' :: Enum addr => SClock wclk -- ^ 'Clock' to which to synchronise the write -- port of the RAM -> SClock rclk -- ^ 'Clock' to which the read address signal,
src/CLaSH/Signal/Internal.hs view
@@ -10,6 +10,12 @@ {-# LANGUAGE Unsafe #-} +-- Until we have a -fcpr-off DynFlag (it currently exists only as a StaticFlag),+-- we just disable strictness analysis for this module completely. See+-- https://github.com/clash-lang/clash-compiler/commit/721fcfa9198925661cd836668705f817bddaae3c+-- for more details+{-# OPTIONS_GHC -fno-strictness #-}+ {-# OPTIONS_HADDOCK show-extensions #-} {-|
src/CLaSH/Sized/Vector.hs view
@@ -1140,12 +1140,12 @@ -- >>> let append' xs ys = foldr (:>) ys xs -- <BLANKLINE> -- <interactive>:...--- Occurs check: cannot construct the infinite type: n1 ~ n1 + 1--- Expected type: a -> Vec n1 a -> Vec n1 a--- Actual type: a -> Vec n1 a -> Vec (n1 + 1) a+-- Occurs check: cannot construct the infinite type: ... ~ ... + 1+-- Expected type: a -> Vec ... a -> Vec ... a+-- Actual type: a -> Vec ... a -> Vec (... + 1) a -- Relevant bindings include--- ys :: Vec n1 a (bound at ...)--- append' :: Vec n a -> Vec n1 a -> Vec n1 a+-- ys :: Vec ... a (bound at ...)+-- append' :: Vec n a -> Vec ... a -> Vec ... a -- (bound at ...) -- In the first argument of ‘foldr’, namely ‘(:>)’ -- In the expression: foldr (:>) ys xs
src/CLaSH/Tutorial.hs view
@@ -39,7 +39,7 @@ -- * Composition of sequential circuits -- $composition_sequential - -- * TopEntity annotations: controlling the VHDL\/Verilog\/SystemVerilog generation.+ -- * TopEntity annotations: controlling the VHDL\/(System)Verilog generation. -- $annotations -- * Multiple clock domains@@ -167,7 +167,7 @@ * Make sure that the @bin@ directory of __GHC__ is in your @PATH@. - The following are alternative options, if the cannot find what you are looking for on <http://www.haskell.org/ghc/download>+ The following are alternative options, if you cannot find what you are looking for on <http://www.haskell.org/ghc/download> * Ubuntu: @@ -180,7 +180,7 @@ * OS X: - * Follow the instructions on: <https://ghcformacosx.github.io/ Haskell for Max OS X>+ * Follow the instructions on: <https://ghcformacosx.github.io/ Haskell for Mac OS X> * Run: @cabal update@ * Skip step 2. @@ -212,7 +212,11 @@ (2) Install __CλaSH__ - * Run @cabal install clash-ghc --enable-documentation@+ * Run:++ * /i386/ Linux: @cabal install clash-ghc --enable-documentation --enable-executable-dynamic@+ * Other: @cabal install clash-ghc --enable-documentation@+ * /This is going to take awhile, so have a refreshment/ (4) Verify that everything is working by:@@ -239,7 +243,7 @@ @ For those familiar with Haskell/GHC, this is indeed just @GHCi@, with three-added command (@:vhdl@, @:verilog@, and @:systemverilog@). You can load files+added commands (@:vhdl@, @:verilog@, and @:systemverilog@). You can load files into the interpreter using the @:l \<FILENAME\>@ command. Now, depending on your choice in editor, the following @edit-load-run@ cycle probably work best for you: @@ -783,7 +787,7 @@ We can exert some control how the top level function is created by the CλaSH compiler by annotating the @topEntity@ function with a 'TopEntity' annotation.-You apply these annotation using the @ANN@ pragma like so:+You apply these annotations using the @ANN@ pragma like so: @ {\-\# ANN topEntity (TopEntity {t_name = ..., ... }) \#-\}@@ -858,7 +862,7 @@ , t_extraIn = [ (\"CLOCK_50\", 1) , (\"KEY0\" , 1) ]- , t_clocks = [ 'defClkAltera' "altpll50" "CLOCK_50(0)" "not KEY0(0)" ]+ , t_clocks = [ 'altpll' "altpll50" "CLOCK_50(0)" "not KEY0(0)" ] }) \#-\} @