clash-protocols
Safe HaskellNone
LanguageGHC2021

Protocols.Experimental.PacketStream

Description

Experimental simulation and generic Hedgehog support for Protocols.PacketStream.

Documentation

Orphan instances

(KnownNat dataWidth, NFDataX meta, NFData meta, ShowX meta, Show meta, Eq meta, KnownDomain dom) => Test (PacketStream dom dataWidth meta) Source # 
Instance details

Methods

expectN :: (HasCallStack, MonadTest m) => Proxy (PacketStream dom dataWidth meta) -> ExpectOptions -> SimulateFwdType (PacketStream dom dataWidth meta) -> m (ExpectType (PacketStream dom dataWidth meta)) Source #

Backpressure (PacketStream dom dataWidth meta) Source # 
Instance details

Methods

boolsToBwd :: Proxy (PacketStream dom dataWidth meta) -> [Bool] -> Bwd (PacketStream dom dataWidth meta) Source #

KnownDomain dom => Drivable (PacketStream dom dataWidth meta) Source # 
Instance details

Associated Types

type ExpectType (PacketStream dom dataWidth meta) 
Instance details

Defined in Protocols.Experimental.PacketStream

type ExpectType (PacketStream dom dataWidth meta) = [PacketStreamM2S dataWidth meta]

Methods

toSimulateType :: Proxy (PacketStream dom dataWidth meta) -> ExpectType (PacketStream dom dataWidth meta) -> SimulateFwdType (PacketStream dom dataWidth meta) Source #

fromSimulateType :: Proxy (PacketStream dom dataWidth meta) -> SimulateFwdType (PacketStream dom dataWidth meta) -> ExpectType (PacketStream dom dataWidth meta) Source #

driveC :: SimulationConfig -> SimulateFwdType (PacketStream dom dataWidth meta) -> Circuit () (PacketStream dom dataWidth meta) Source #

sampleC :: SimulationConfig -> Circuit () (PacketStream dom dataWidth meta) -> SimulateFwdType (PacketStream dom dataWidth meta) Source #

KnownDomain dom => Simulate (PacketStream dom dataWidth meta) Source # 
Instance details

Associated Types

type SimulateFwdType (PacketStream dom dataWidth meta) 
Instance details

Defined in Protocols.Experimental.PacketStream

type SimulateFwdType (PacketStream dom dataWidth meta) = [Maybe (PacketStreamM2S dataWidth meta)]
type SimulateBwdType (PacketStream dom dataWidth meta) 
Instance details

Defined in Protocols.Experimental.PacketStream

type SimulateBwdType (PacketStream dom dataWidth meta) = [PacketStreamS2M]
type SimulateChannels (PacketStream dom dataWidth meta) 
Instance details

Defined in Protocols.Experimental.PacketStream

type SimulateChannels (PacketStream dom dataWidth meta) = 1

Methods

simToSigFwd :: Proxy (PacketStream dom dataWidth meta) -> SimulateFwdType (PacketStream dom dataWidth meta) -> Fwd (PacketStream dom dataWidth meta) Source #

simToSigBwd :: Proxy (PacketStream dom dataWidth meta) -> SimulateBwdType (PacketStream dom dataWidth meta) -> Bwd (PacketStream dom dataWidth meta) Source #

sigToSimFwd :: Proxy (PacketStream dom dataWidth meta) -> Fwd (PacketStream dom dataWidth meta) -> SimulateFwdType (PacketStream dom dataWidth meta) Source #

sigToSimBwd :: Proxy (PacketStream dom dataWidth meta) -> Bwd (PacketStream dom dataWidth meta) -> SimulateBwdType (PacketStream dom dataWidth meta) Source #

stallC :: SimulationConfig -> Vec (SimulateChannels (PacketStream dom dataWidth meta)) (StallAck, [Int]) -> Circuit (PacketStream dom dataWidth meta) (PacketStream dom dataWidth meta) Source #