Wired-0.2.1: Wire-aware hardware descriptionSource codeContentsIndex
Wired.Model
Synopsis
class CellLibrary lib => WiredLibrary lib where
featureSize :: Res lib Length
guideLength :: Layer -> Res lib Length
rowHeight :: Res lib Height
type Guide = (Signal, Layer_, Direction, Length)
type Wired lib = LayoutT Guide CellId (Lava lib)
class (MonadLava lib m, WiredLibrary lib, MonadLayout Guide CellId m) => MonadWired lib m
runWired :: CellLibrary lib => Wired lib a -> (a, (DesignDB lib, Floorplan Guide CellId))
convertGuide :: (Position, AbsBlock Guide CellId) -> (Signal, (Layer_, Position, Position))
mkGuideDB :: Floorplan Guide CellId -> Map Signal [(Layer_, Position, Position)]
renderWired :: forall lib a. WiredLibrary lib => Name -> Wired lib a -> IO ()
fpToLines :: (Signal -> Maybe Color) -> Floorplan Guide CellId -> [([(Position, Position)], Color)]
renderWiredWithNetsCol :: forall lib a. WiredLibrary lib => Maybe Color -> (Tag -> Maybe Color) -> Name -> Wired lib a -> IO ()
renderWiredWithNets :: forall lib a. WiredLibrary lib => Name -> Wired lib a -> IO ()
wire__ :: (MonadWired lib m, PortStruct p Signal t) => Direction -> Length -> Layer_ -> Width -> p -> m p
wire_ :: (MonadWired lib m, PortStruct p Signal t) => Direction -> Length -> Layer -> Width -> p -> m p
wireS :: (MonadWired lib m, PortStruct p Signal t) => Length -> Layer -> Width -> p -> m p
wireW :: (MonadWired lib m, PortStruct p Signal t) => Length -> Layer -> Width -> p -> m p
wireE :: (MonadWired lib m, PortStruct p Signal t) => Length -> Layer -> Width -> p -> m p
wireN :: (MonadWired lib m, PortStruct p Signal t) => Length -> Layer -> Width -> p -> m p
guide__ :: forall lib m p t. (MonadWired lib m, PortStruct p Signal t) => Direction -> Layer_ -> Width -> p -> m p
guide_ :: (MonadWired lib m, PortStruct p Signal t) => Direction -> Layer -> Width -> p -> m p
guideN :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m p
guideS :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m p
guideW :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m p
guideE :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m p
guide :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m p
mkCell :: MonadWired lib m => Name -> Width -> Height -> m a -> m a
Documentation
class CellLibrary lib => WiredLibrary lib whereSource
Methods
featureSize :: Res lib LengthSource
guideLength :: Layer -> Res lib LengthSource
rowHeight :: Res lib HeightSource
show/hide Instances
type Guide = (Signal, Layer_, Direction, Length)Source
type Wired lib = LayoutT Guide CellId (Lava lib)Source
class (MonadLava lib m, WiredLibrary lib, MonadLayout Guide CellId m) => MonadWired lib m Source
runWired :: CellLibrary lib => Wired lib a -> (a, (DesignDB lib, Floorplan Guide CellId))Source
convertGuide :: (Position, AbsBlock Guide CellId) -> (Signal, (Layer_, Position, Position))Source
mkGuideDB :: Floorplan Guide CellId -> Map Signal [(Layer_, Position, Position)]Source
renderWired :: forall lib a. WiredLibrary lib => Name -> Wired lib a -> IO ()Source
fpToLines :: (Signal -> Maybe Color) -> Floorplan Guide CellId -> [([(Position, Position)], Color)]Source
renderWiredWithNetsCol :: forall lib a. WiredLibrary lib => Maybe Color -> (Tag -> Maybe Color) -> Name -> Wired lib a -> IO ()Source
renderWiredWithNets :: forall lib a. WiredLibrary lib => Name -> Wired lib a -> IO ()Source
wire__ :: (MonadWired lib m, PortStruct p Signal t) => Direction -> Length -> Layer_ -> Width -> p -> m pSource
wire_ :: (MonadWired lib m, PortStruct p Signal t) => Direction -> Length -> Layer -> Width -> p -> m pSource
wireS :: (MonadWired lib m, PortStruct p Signal t) => Length -> Layer -> Width -> p -> m pSource
wireW :: (MonadWired lib m, PortStruct p Signal t) => Length -> Layer -> Width -> p -> m pSource
wireE :: (MonadWired lib m, PortStruct p Signal t) => Length -> Layer -> Width -> p -> m pSource
wireN :: (MonadWired lib m, PortStruct p Signal t) => Length -> Layer -> Width -> p -> m pSource
guide__ :: forall lib m p t. (MonadWired lib m, PortStruct p Signal t) => Direction -> Layer_ -> Width -> p -> m pSource
guide_ :: (MonadWired lib m, PortStruct p Signal t) => Direction -> Layer -> Width -> p -> m pSource
guideN :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m pSource
guideS :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m pSource
guideW :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m pSource
guideE :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m pSource
guide :: (MonadWired lib m, PortStruct p Signal t) => Layer -> Width -> p -> m pSource
mkCell :: MonadWired lib m => Name -> Width -> Height -> m a -> m aSource
To be used when direction doesn't matter (e.g. when guideLength = 0).
Produced by Haddock version 2.4.2