{- | Copyright : (C) 2024, QBayLogic B.V. License : BSD2 (see the file LICENSE) Maintainer : QBayLogic B.V. <devops@qbaylogic.com> Provides the PacketStream protocol, a simple streaming protocol for transferring packets of data between components. Apart from the protocol definition, some components, all of which are generic in @dataWidth@, are also provided: 1. Several small utilities such as filtering a stream based on its metadata. 2. FIFOs 3. Components which upsize or downsize @dataWidth@ 4. Components which read from the stream (depacketizers) 5. Components which write to the stream (packetizers) 6. Components which split and merge a stream based on its metadata -} module Protocols.PacketStream ( module Protocols.PacketStream.Base, -- * FIFOs module Protocols.PacketStream.PacketFifo, module Protocols.PacketStream.AsyncFifo, -- * Converters module Protocols.PacketStream.Converters, -- * Depacketizers module Protocols.PacketStream.Depacketizers, -- * Packetizers module Protocols.PacketStream.Packetizers, -- * Padding removal module Protocols.PacketStream.Padding, -- * Routing components module Protocols.PacketStream.Routing, ) where import Protocols.PacketStream.AsyncFifo import Protocols.PacketStream.Base import Protocols.PacketStream.Converters import Protocols.PacketStream.Depacketizers import Protocols.PacketStream.PacketFifo import Protocols.PacketStream.Packetizers import Protocols.PacketStream.Padding import Protocols.PacketStream.Routing