Safe HaskellNone

LSC.Model

Documentation

data RTL Source #

Instances

Instances details
Show RTL Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> RTL -> ShowS

show :: RTL -> String

showList :: [RTL] -> ShowS

Generic RTL Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep RTL :: Type -> Type

Methods

from :: RTL -> Rep RTL x

to :: Rep RTL x -> RTL

Default RTL Source # 
Instance details

Defined in LSC.Model

Methods

def :: RTL

HasIdentifier RTL Identifier Source # 
Instance details

Defined in LSC.Model

Methods

identifier :: Lens' RTL Identifier Source #

HasDescription RTL AbstractGate Source # 
Instance details

Defined in LSC.Model

HasSubcircuits RTL (HashMap Identifier RTL) Source # 
Instance details

Defined in LSC.Model

Methods

subcircuits :: Lens' RTL (HashMap Identifier RTL) Source #

type Rep RTL Source # 
Instance details

Defined in LSC.Model

type Rep RTL = D1 ('MetaData "RTL" "LSC.Model" "main" 'False) (C1 ('MetaCons "RTL" 'PrefixI 'True) (S1 ('MetaSel ('Just "_identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier) :*: (S1 ('MetaSel ('Just "_description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbstractGate) :*: S1 ('MetaSel ('Just "_subcircuits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Identifier RTL)))))

data AbstractGate Source #

Constructors

AbstractGate [LogicPort] [Expr] 

Instances

Instances details
Show AbstractGate Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> AbstractGate -> ShowS

show :: AbstractGate -> String

showList :: [AbstractGate] -> ShowS

Generic AbstractGate Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep AbstractGate :: Type -> Type

Semigroup AbstractGate Source # 
Instance details

Defined in LSC.Model

Monoid AbstractGate Source # 
Instance details

Defined in LSC.Model

HasDescription RTL AbstractGate Source # 
Instance details

Defined in LSC.Model

type Rep AbstractGate Source # 
Instance details

Defined in LSC.Model

type Rep AbstractGate = D1 ('MetaData "AbstractGate" "LSC.Model" "main" 'False) (C1 ('MetaCons "AbstractGate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LogicPort]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Expr])))

data LogicPort Source #

Constructors

LogicPort 

Instances

Instances details
Show LogicPort Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> LogicPort -> ShowS

show :: LogicPort -> String

showList :: [LogicPort] -> ShowS

Generic LogicPort Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep LogicPort :: Type -> Type

Methods

from :: LogicPort -> Rep LogicPort x

to :: Rep LogicPort x -> LogicPort

HasIdentifier LogicPort Identifier Source # 
Instance details

Defined in LSC.Model

HasDir LogicPort Dir Source # 
Instance details

Defined in LSC.Model

Methods

dir :: Lens' LogicPort Dir Source #

type Rep LogicPort Source # 
Instance details

Defined in LSC.Model

type Rep LogicPort = D1 ('MetaData "LogicPort" "LSC.Model" "main" 'False) (C1 ('MetaCons "LogicPort" 'PrefixI 'True) (S1 ('MetaSel ('Just "_identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier) :*: S1 ('MetaSel ('Just "_dir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dir)))

data Expr Source #

Instances

Instances details
Show Expr Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Expr -> ShowS

show :: Expr -> String

showList :: [Expr] -> ShowS

Generic Expr Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Expr :: Type -> Type

Methods

from :: Expr -> Rep Expr x

to :: Rep Expr x -> Expr

type Rep Expr Source # 
Instance details

Defined in LSC.Model

type Rep Expr = D1 ('MetaData "Expr" "LSC.Model" "main" 'False) (C1 ('MetaCons "Assign" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: (C1 ('MetaCons "Ref" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier)) :+: C1 ('MetaCons "And" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Expr]))))

data NetGraph Source #

Constructors

NetGraph 

Instances

Instances details
Show NetGraph Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> NetGraph -> ShowS

show :: NetGraph -> String

showList :: [NetGraph] -> ShowS

Generic NetGraph Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep NetGraph :: Type -> Type

Methods

from :: NetGraph -> Rep NetGraph x

to :: Rep NetGraph x -> NetGraph

NFData NetGraph Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: NetGraph -> ()

FromJSON NetGraph Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser NetGraph

parseJSONList :: Value -> Parser [NetGraph]

ToJSON NetGraph Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: NetGraph -> Value

toEncoding :: NetGraph -> Encoding

toJSONList :: [NetGraph] -> Value

toEncodingList :: [NetGraph] -> Encoding

Default NetGraph Source # 
Instance details

Defined in LSC.Model

Methods

def :: NetGraph

HasIdentifier NetGraph Identifier Source # 
Instance details

Defined in LSC.Model

HasSupercell NetGraph AbstractCell Source # 
Instance details

Defined in LSC.Model

HasGates NetGraph (Vector Gate) Source # 
Instance details

Defined in LSC.Model

Methods

gates :: Lens' NetGraph (Vector Gate) Source #

HasSubcells NetGraph (HashMap Identifier NetGraph) Source # 
Instance details

Defined in LSC.Model

Methods

subcells :: Lens' NetGraph (HashMap Identifier NetGraph) Source #

HasNets NetGraph (HashMap Identifier Net) Source # 
Instance details

Defined in LSC.Model

Methods

nets :: Lens' NetGraph (HashMap Identifier Net) Source #

type Rep NetGraph Source # 
Instance details

Defined in LSC.Model

type Rep NetGraph = D1 ('MetaData "NetGraph" "LSC.Model" "main" 'False) (C1 ('MetaCons "NetGraph" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier) :*: S1 ('MetaSel ('Just "_supercell") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbstractCell)) :*: (S1 ('MetaSel ('Just "_subcells") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Identifier NetGraph)) :*: (S1 ('MetaSel ('Just "_gates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Gate)) :*: S1 ('MetaSel ('Just "_nets") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Identifier Net))))))

data Net Source #

Constructors

Net 

Fields

Instances

Instances details
Show Net Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Net -> ShowS

show :: Net -> String

showList :: [Net] -> ShowS

Generic Net Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Net :: Type -> Type

Methods

from :: Net -> Rep Net x

to :: Rep Net x -> Net

Semigroup Net Source # 
Instance details

Defined in LSC.Model

Methods

(<>) :: Net -> Net -> Net

sconcat :: NonEmpty Net -> Net

stimes :: Integral b => b -> Net -> Net

Monoid Net Source # 
Instance details

Defined in LSC.Model

Methods

mempty :: Net

mappend :: Net -> Net -> Net

mconcat :: [Net] -> Net

NFData Net Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: Net -> ()

FromJSON Net Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser Net

parseJSONList :: Value -> Parser [Net]

ToJSON Net Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: Net -> Value

toEncoding :: Net -> Encoding

toJSONList :: [Net] -> Value

toEncodingList :: [Net] -> Encoding

HasIdentifier Net Identifier Source # 
Instance details

Defined in LSC.Model

Methods

identifier :: Lens' Net Identifier Source #

HasGeometry Net [Polygon' Layer Int] Source # 
Instance details

Defined in LSC.Model

Methods

geometry :: Lens' Net [Polygon' Layer Int] Source #

HasNetSegments Net [Line' Int] Source # 
Instance details

Defined in LSC.Model

Methods

netSegments :: Lens' Net [Line' Int] Source #

HasMembers Net [Gate] Source # 
Instance details

Defined in LSC.Model

Methods

members :: Lens' Net [Gate] Source #

HasNets NetGraph (HashMap Identifier Net) Source # 
Instance details

Defined in LSC.Model

Methods

nets :: Lens' NetGraph (HashMap Identifier Net) Source #

HasContacts Net (HashMap Number [Pin]) Source # 
Instance details

Defined in LSC.Model

Methods

contacts :: Lens' Net (HashMap Number [Pin]) Source #

type Rep Net Source # 
Instance details

Defined in LSC.Model

type Rep Net = D1 ('MetaData "Net" "LSC.Model" "main" 'False) (C1 ('MetaCons "Net" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier) :*: S1 ('MetaSel ('Just "_geometry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Polygon' Layer Int])) :*: (S1 ('MetaSel ('Just "_netSegments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Line' Int]) :*: (S1 ('MetaSel ('Just "_members") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Gate]) :*: S1 ('MetaSel ('Just "_contacts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Number [Pin]))))))

type Number = Int Source #

type Identifier = Text Source #

data Gate Source #

Constructors

Gate 

Fields

Instances

Instances details
Eq Gate Source # 
Instance details

Defined in LSC.Model

Methods

(==) :: Gate -> Gate -> Bool

(/=) :: Gate -> Gate -> Bool

Show Gate Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Gate -> ShowS

show :: Gate -> String

showList :: [Gate] -> ShowS

Generic Gate Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Gate :: Type -> Type

Methods

from :: Gate -> Rep Gate x

to :: Rep Gate x -> Gate

NFData Gate Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: Gate -> ()

FromJSON Gate Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser Gate

parseJSONList :: Value -> Parser [Gate]

ToJSON Gate Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: Gate -> Value

toEncoding :: Gate -> Encoding

toJSONList :: [Gate] -> Value

toEncodingList :: [Gate] -> Encoding

Default Gate Source # 
Instance details

Defined in LSC.Model

Methods

def :: Gate

HasIdentifier Gate Identifier Source # 
Instance details

Defined in LSC.Model

HasNumber Gate Number Source # 
Instance details

Defined in LSC.Model

Methods

number :: Lens' Gate Number Source #

HasFixed Gate Bool Source # 
Instance details

Defined in LSC.Model

Methods

fixed :: Lens' Gate Bool Source #

HasFeedthrough Gate Bool Source # 
Instance details

Defined in LSC.Model

Methods

feedthrough :: Lens' Gate Bool Source #

HasGates NetGraph (Vector Gate) Source # 
Instance details

Defined in LSC.Model

Methods

gates :: Lens' NetGraph (Vector Gate) Source #

HasMembers Net [Gate] Source # 
Instance details

Defined in LSC.Model

Methods

members :: Lens' Net [Gate] Source #

HasWires Gate (HashMap Identifier Identifier) Source # 
Instance details

Defined in LSC.Model

Methods

wires :: Lens' Gate (HashMap Identifier Identifier) Source #

HasSpace Gate (Component' Layer Int) Source # 
Instance details

Defined in LSC.Model

Methods

space :: Lens' Gate (Component' Layer Int) Source #

type Rep Gate Source # 
Instance details

Defined in LSC.Model

type Rep Gate = D1 ('MetaData "Gate" "LSC.Model" "main" 'False) (C1 ('MetaCons "Gate" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier) :*: (S1 ('MetaSel ('Just "_space") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Component' Layer Int)) :*: S1 ('MetaSel ('Just "_wires") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Identifier Identifier)))) :*: (S1 ('MetaSel ('Just "_number") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Number) :*: (S1 ('MetaSel ('Just "_fixed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "_feedthrough") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

data Track Source #

Constructors

Track 

Fields

Instances

Instances details
Show Track Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Track -> ShowS

show :: Track -> String

showList :: [Track] -> ShowS

Generic Track Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Track :: Type -> Type

Methods

from :: Track -> Rep Track x

to :: Rep Track x -> Track

NFData Track Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: Track -> ()

FromJSON Track Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser Track

parseJSONList :: Value -> Parser [Track]

ToJSON Track Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: Track -> Value

toEncoding :: Track -> Encoding

toJSONList :: [Track] -> Value

toEncodingList :: [Track] -> Encoding

HasZ Track IntSet Source # 
Instance details

Defined in LSC.Model

Methods

z :: Lens' Track IntSet Source #

HasStabs Track IntSet Source # 
Instance details

Defined in LSC.Model

Methods

stabs :: Lens' Track IntSet Source #

HasTracks AbstractCell [Either Track Track] Source # 
Instance details

Defined in LSC.Model

Methods

tracks :: Lens' AbstractCell [Either Track Track] Source #

type Rep Track Source # 
Instance details

Defined in LSC.Model

type Rep Track = D1 ('MetaData "Track" "LSC.Model" "main" 'False) (C1 ('MetaCons "Track" 'PrefixI 'True) (S1 ('MetaSel ('Just "_stabs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntSet) :*: S1 ('MetaSel ('Just "_z") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntSet)))

data Row Source #

Constructors

Row 

Fields

Instances

Instances details
Show Row Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Row -> ShowS

show :: Row -> String

showList :: [Row] -> ShowS

Generic Row Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Row :: Type -> Type

Methods

from :: Row -> Rep Row x

to :: Rep Row x -> Row

NFData Row Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: Row -> ()

FromJSON Row Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser Row

parseJSONList :: Value -> Parser [Row]

ToJSON Row Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: Row -> Value

toEncoding :: Row -> Encoding

toJSONList :: [Row] -> Value

toEncodingList :: [Row] -> Encoding

Default Row Source # 
Instance details

Defined in LSC.Model

Methods

def :: Row

HasOrientation Row Orientation Source # 
Instance details

Defined in LSC.Model

HasL Row Int Source # 
Instance details

Defined in LSC.Model

Methods

l :: Lens' Row Int Source #

HasB Row Int Source # 
Instance details

Defined in LSC.Model

Methods

b :: Lens' Row Int Source #

HasIdentifier Row Identifier Source # 
Instance details

Defined in LSC.Model

Methods

identifier :: Lens' Row Identifier Source #

HasNumber Row Number Source # 
Instance details

Defined in LSC.Model

Methods

number :: Lens' Row Number Source #

HasGranularity Row Int Source # 
Instance details

Defined in LSC.Model

Methods

granularity :: Lens' Row Int Source #

HasCardinality Row Int Source # 
Instance details

Defined in LSC.Model

Methods

cardinality :: Lens' Row Int Source #

HasRows AbstractCell (IntMap Row) Source # 
Instance details

Defined in LSC.Model

Methods

rows :: Lens' AbstractCell (IntMap Row) Source #

type Rep Row Source # 
Instance details

Defined in LSC.Model

type Rep Row = D1 ('MetaData "Row" "LSC.Model" "main" 'False) (C1 ('MetaCons "Row" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier) :*: (S1 ('MetaSel ('Just "_number") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Number) :*: S1 ('MetaSel ('Just "_l") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: ((S1 ('MetaSel ('Just "_b") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "_orientation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Orientation)) :*: (S1 ('MetaSel ('Just "_cardinality") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "_granularity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))

data AbstractCell Source #

Constructors

AbstractCell 

Fields

Instances

Instances details
Show AbstractCell Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> AbstractCell -> ShowS

show :: AbstractCell -> String

showList :: [AbstractCell] -> ShowS

Generic AbstractCell Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep AbstractCell :: Type -> Type

NFData AbstractCell Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: AbstractCell -> ()

FromJSON AbstractCell Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser AbstractCell

parseJSONList :: Value -> Parser [AbstractCell]

ToJSON AbstractCell Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: AbstractCell -> Value

toEncoding :: AbstractCell -> Encoding

toJSONList :: [AbstractCell] -> Value

toEncodingList :: [AbstractCell] -> Encoding

Default AbstractCell Source # 
Instance details

Defined in LSC.Model

Methods

def :: AbstractCell

HasSupercell NetGraph AbstractCell Source # 
Instance details

Defined in LSC.Model

HasVdd AbstractCell Pin Source # 
Instance details

Defined in LSC.Model

Methods

vdd :: Lens' AbstractCell Pin Source #

HasGnd AbstractCell Pin Source # 
Instance details

Defined in LSC.Model

Methods

gnd :: Lens' AbstractCell Pin Source #

HasTracks AbstractCell [Either Track Track] Source # 
Instance details

Defined in LSC.Model

Methods

tracks :: Lens' AbstractCell [Either Track Track] Source #

HasRows AbstractCell (IntMap Row) Source # 
Instance details

Defined in LSC.Model

Methods

rows :: Lens' AbstractCell (IntMap Row) Source #

HasGeometry AbstractCell [Component' Layer Int] Source # 
Instance details

Defined in LSC.Model

HasPins AbstractCell (HashMap Identifier Pin) Source # 
Instance details

Defined in LSC.Model

Methods

pins :: Lens' AbstractCell (HashMap Identifier Pin) Source #

type Rep AbstractCell Source # 
Instance details

Defined in LSC.Model

type Rep AbstractCell = D1 ('MetaData "AbstractCell" "LSC.Model" "main" 'False) (C1 ('MetaCons "AbstractCell" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_geometry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Component' Layer Int]) :*: (S1 ('MetaSel ('Just "_tracks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Either Track Track]) :*: S1 ('MetaSel ('Just "_rows") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IntMap Row)))) :*: (S1 ('MetaSel ('Just "_vdd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pin) :*: (S1 ('MetaSel ('Just "_gnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pin) :*: S1 ('MetaSel ('Just "_pins") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Identifier Pin))))))

data Cell Source #

Constructors

Cell 

Fields

Instances

Instances details
Show Cell Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Cell -> ShowS

show :: Cell -> String

showList :: [Cell] -> ShowS

Generic Cell Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Cell :: Type -> Type

Methods

from :: Cell -> Rep Cell x

to :: Rep Cell x -> Cell

NFData Cell Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: Cell -> ()

FromJSON Cell Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser Cell

parseJSONList :: Value -> Parser [Cell]

ToJSON Cell Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: Cell -> Value

toEncoding :: Cell -> Encoding

toJSONList :: [Cell] -> Value

toEncodingList :: [Cell] -> Encoding

Default Cell Source # 
Instance details

Defined in LSC.Model

Methods

def :: Cell

HasVdd Cell Pin Source # 
Instance details

Defined in LSC.Model

Methods

vdd :: Lens' Cell Pin Source #

HasGnd Cell Pin Source # 
Instance details

Defined in LSC.Model

Methods

gnd :: Lens' Cell Pin Source #

HasPins Cell (HashMap Identifier Pin) Source # 
Instance details

Defined in LSC.Model

Methods

pins :: Lens' Cell (HashMap Identifier Pin) Source #

HasDims Cell (Int, Int) Source # 
Instance details

Defined in LSC.Model

Methods

dims :: Lens' Cell (Int, Int) Source #

HasStdCells Technology (HashMap Identifier Cell) Source # 
Instance details

Defined in LSC.Model

Methods

stdCells :: Lens' Technology (HashMap Identifier Cell) Source #

type Rep Cell Source # 
Instance details

Defined in LSC.Model

type Rep Cell = D1 ('MetaData "Cell" "LSC.Model" "main" 'False) (C1 ('MetaCons "Cell" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_pins") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Identifier Pin)) :*: S1 ('MetaSel ('Just "_vdd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pin)) :*: (S1 ('MetaSel ('Just "_gnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pin) :*: S1 ('MetaSel ('Just "_dims") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)))))

data Dir Source #

Constructors

In 
Out 
InOut 

Instances

Instances details
Eq Dir Source # 
Instance details

Defined in LSC.Model

Methods

(==) :: Dir -> Dir -> Bool

(/=) :: Dir -> Dir -> Bool

Show Dir Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Dir -> ShowS

show :: Dir -> String

showList :: [Dir] -> ShowS

Generic Dir Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Dir :: Type -> Type

Methods

from :: Dir -> Rep Dir x

to :: Rep Dir x -> Dir

NFData Dir Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: Dir -> ()

FromJSON Dir Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser Dir

parseJSONList :: Value -> Parser [Dir]

ToJSON Dir Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: Dir -> Value

toEncoding :: Dir -> Encoding

toJSONList :: [Dir] -> Value

toEncodingList :: [Dir] -> Encoding

HasDir LogicPort Dir Source # 
Instance details

Defined in LSC.Model

Methods

dir :: Lens' LogicPort Dir Source #

HasDir Pin (Maybe Dir) Source # 
Instance details

Defined in LSC.Model

Methods

dir :: Lens' Pin (Maybe Dir) Source #

type Rep Dir Source # 
Instance details

Defined in LSC.Model

type Rep Dir = D1 ('MetaData "Dir" "LSC.Model" "main" 'False) (C1 ('MetaCons "In" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Out" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InOut" 'PrefixI 'False) (U1 :: Type -> Type)))

data Pin Source #

Constructors

Pin 

Fields

Instances

Instances details
Show Pin Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Pin -> ShowS

show :: Pin -> String

showList :: [Pin] -> ShowS

Generic Pin Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Pin :: Type -> Type

Methods

from :: Pin -> Rep Pin x

to :: Rep Pin x -> Pin

NFData Pin Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: Pin -> ()

FromJSON Pin Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser Pin

parseJSONList :: Value -> Parser [Pin]

ToJSON Pin Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: Pin -> Value

toEncoding :: Pin -> Encoding

toJSONList :: [Pin] -> Value

toEncodingList :: [Pin] -> Encoding

Default Pin Source # 
Instance details

Defined in LSC.Model

Methods

def :: Pin

HasIdentifier Pin Identifier Source # 
Instance details

Defined in LSC.Model

Methods

identifier :: Lens' Pin Identifier Source #

HasVdd Cell Pin Source # 
Instance details

Defined in LSC.Model

Methods

vdd :: Lens' Cell Pin Source #

HasVdd AbstractCell Pin Source # 
Instance details

Defined in LSC.Model

Methods

vdd :: Lens' AbstractCell Pin Source #

HasGnd Cell Pin Source # 
Instance details

Defined in LSC.Model

Methods

gnd :: Lens' Cell Pin Source #

HasGnd AbstractCell Pin Source # 
Instance details

Defined in LSC.Model

Methods

gnd :: Lens' AbstractCell Pin Source #

HasDir Pin (Maybe Dir) Source # 
Instance details

Defined in LSC.Model

Methods

dir :: Lens' Pin (Maybe Dir) Source #

HasGeometry Pin [Port] Source # 
Instance details

Defined in LSC.Model

Methods

geometry :: Lens' Pin [Port] Source #

HasPins Cell (HashMap Identifier Pin) Source # 
Instance details

Defined in LSC.Model

Methods

pins :: Lens' Cell (HashMap Identifier Pin) Source #

HasPins AbstractCell (HashMap Identifier Pin) Source # 
Instance details

Defined in LSC.Model

Methods

pins :: Lens' AbstractCell (HashMap Identifier Pin) Source #

HasContacts Net (HashMap Number [Pin]) Source # 
Instance details

Defined in LSC.Model

Methods

contacts :: Lens' Net (HashMap Number [Pin]) Source #

type Rep Pin Source # 
Instance details

Defined in LSC.Model

type Rep Pin = D1 ('MetaData "Pin" "LSC.Model" "main" 'False) (C1 ('MetaCons "Pin" 'PrefixI 'True) (S1 ('MetaSel ('Just "_identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Identifier) :*: (S1 ('MetaSel ('Just "_dir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Dir)) :*: S1 ('MetaSel ('Just "_geometry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Port]))))

data Technology Source #

Constructors

Technology 

Fields

Instances

Instances details
Show Technology Source # 
Instance details

Defined in LSC.Model

Methods

showsPrec :: Int -> Technology -> ShowS

show :: Technology -> String

showList :: [Technology] -> ShowS

Generic Technology Source # 
Instance details

Defined in LSC.Model

Associated Types

type Rep Technology :: Type -> Type

Methods

from :: Technology -> Rep Technology x

to :: Rep Technology x -> Technology

NFData Technology Source # 
Instance details

Defined in LSC.Model

Methods

rnf :: Technology -> ()

FromJSON Technology Source # 
Instance details

Defined in LSC.Model

Methods

parseJSON :: Value -> Parser Technology

parseJSONList :: Value -> Parser [Technology]

ToJSON Technology Source # 
Instance details

Defined in LSC.Model

Methods

toJSON :: Technology -> Value

toEncoding :: Technology -> Encoding

toJSONList :: [Technology] -> Value

toEncodingList :: [Technology] -> Encoding

Default Technology Source # 
Instance details

Defined in LSC.Model

Methods

def :: Technology

HasScaleFactor Technology Double Source # 
Instance details

Defined in LSC.Model

Methods

scaleFactor :: Lens' Technology Double Source #

HasStdCells Technology (HashMap Identifier Cell) Source # 
Instance details

Defined in LSC.Model

Methods

stdCells :: Lens' Technology (HashMap Identifier Cell) Source #

type Rep Technology Source # 
Instance details

Defined in LSC.Model

type Rep Technology = D1 ('MetaData "Technology" "LSC.Model" "main" 'False) (C1 ('MetaCons "Technology" 'PrefixI 'True) (S1 ('MetaSel ('Just "_scaleFactor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "_stdCells") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Identifier Cell))))

type Workers = MSem Word Source #

createWorkers :: Word -> IO (Maybe Workers) Source #

rtsWorkers :: IO (Maybe Workers) Source #

data CompilerOpts Source #

Constructors

CompilerOpts 

Fields

Instances

Instances details
Default CompilerOpts Source # 
Instance details

Defined in LSC.Model

Methods

def :: CompilerOpts

HasRowCapacity CompilerOpts Double Source # 
Instance details

Defined in LSC.Model

Methods

rowCapacity :: Lens' CompilerOpts Double Source #

HasLogLevel CompilerOpts LogLevel Source # 
Instance details

Defined in LSC.Model

HasIterations CompilerOpts Word Source # 
Instance details

Defined in LSC.Model

Methods

iterations :: Lens' CompilerOpts Word Source #

HasEnableVisuals CompilerOpts Bool Source # 
Instance details

Defined in LSC.Model

Methods

enableVisuals :: Lens' CompilerOpts Bool Source #

HasWorkers CompilerOpts (Maybe Workers) Source # 
Instance details

Defined in LSC.Model

Methods

workers :: Lens' CompilerOpts (Maybe Workers) Source #

HasSeedHandle CompilerOpts (Maybe Handle) Source # 
Instance details

Defined in LSC.Model

Methods

seedHandle :: Lens' CompilerOpts (Maybe Handle) Source #

class HasDescription s a | s -> a where Source #

Methods

description :: Lens' s a Source #

Instances

Instances details
HasDescription RTL AbstractGate Source # 
Instance details

Defined in LSC.Model

class HasIdentifier s a | s -> a where Source #

Methods

identifier :: Lens' s a Source #

Instances

Instances details
HasIdentifier Pin Identifier Source # 
Instance details

Defined in LSC.Model

Methods

identifier :: Lens' Pin Identifier Source #

HasIdentifier Row Identifier Source # 
Instance details

Defined in LSC.Model

Methods

identifier :: Lens' Row Identifier Source #

HasIdentifier Gate Identifier Source # 
Instance details

Defined in LSC.Model

HasIdentifier Net Identifier Source # 
Instance details

Defined in LSC.Model

Methods

identifier :: Lens' Net Identifier Source #

HasIdentifier NetGraph Identifier Source # 
Instance details

Defined in LSC.Model

HasIdentifier LogicPort Identifier Source # 
Instance details

Defined in LSC.Model

HasIdentifier RTL Identifier Source # 
Instance details

Defined in LSC.Model

Methods

identifier :: Lens' RTL Identifier Source #

class HasSubcircuits s a | s -> a where Source #

Methods

subcircuits :: Lens' s a Source #

Instances

Instances details
HasSubcircuits RTL (HashMap Identifier RTL) Source # 
Instance details

Defined in LSC.Model

Methods

subcircuits :: Lens' RTL (HashMap Identifier RTL) Source #

class HasDir s a | s -> a where Source #

Methods

dir :: Lens' s a Source #

Instances

Instances details
HasDir LogicPort Dir Source # 
Instance details

Defined in LSC.Model

Methods

dir :: Lens' LogicPort Dir Source #

HasDir Pin (Maybe Dir) Source # 
Instance details

Defined in LSC.Model

Methods

dir :: Lens' Pin (Maybe Dir) Source #

class HasGates s a | s -> a where Source #

Methods

gates :: Lens' s a Source #

Instances

Instances details
HasGates NetGraph (Vector Gate) Source # 
Instance details

Defined in LSC.Model

Methods

gates :: Lens' NetGraph (Vector Gate) Source #

class HasNets s a | s -> a where Source #

Methods

nets :: Lens' s a Source #

Instances

Instances details
HasNets NetGraph (HashMap Identifier Net) Source # 
Instance details

Defined in LSC.Model

Methods

nets :: Lens' NetGraph (HashMap Identifier Net) Source #

class HasSubcells s a | s -> a where Source #

Methods

subcells :: Lens' s a Source #

Instances

Instances details
HasSubcells NetGraph (HashMap Identifier NetGraph) Source # 
Instance details

Defined in LSC.Model

Methods

subcells :: Lens' NetGraph (HashMap Identifier NetGraph) Source #

class HasSupercell s a | s -> a where Source #

Methods

supercell :: Lens' s a Source #

Instances

Instances details
HasSupercell NetGraph AbstractCell Source # 
Instance details

Defined in LSC.Model

class HasStabs s a | s -> a where Source #

Methods

stabs :: Lens' s a Source #

Instances

Instances details
HasStabs Track IntSet Source # 
Instance details

Defined in LSC.Model

Methods

stabs :: Lens' Track IntSet Source #

class HasCardinality s a | s -> a where Source #

Methods

cardinality :: Lens' s a Source #

Instances

Instances details
HasCardinality Row Int Source # 
Instance details

Defined in LSC.Model

Methods

cardinality :: Lens' Row Int Source #

class HasGranularity s a | s -> a where Source #

Methods

granularity :: Lens' s a Source #

Instances

Instances details
HasGranularity Row Int Source # 
Instance details

Defined in LSC.Model

Methods

granularity :: Lens' Row Int Source #

class HasNumber s a | s -> a where Source #

Methods

number :: Lens' s a Source #

Instances

Instances details
HasNumber Row Number Source # 
Instance details

Defined in LSC.Model

Methods

number :: Lens' Row Number Source #

HasNumber Gate Number Source # 
Instance details

Defined in LSC.Model

Methods

number :: Lens' Gate Number Source #

class HasGeometry s a | s -> a where Source #

Methods

geometry :: Lens' s a Source #

Instances

Instances details
HasGeometry Pin [Port] Source # 
Instance details

Defined in LSC.Model

Methods

geometry :: Lens' Pin [Port] Source #

HasGeometry AbstractCell [Component' Layer Int] Source # 
Instance details

Defined in LSC.Model

HasGeometry Net [Polygon' Layer Int] Source # 
Instance details

Defined in LSC.Model

Methods

geometry :: Lens' Net [Polygon' Layer Int] Source #

class HasGnd s a | s -> a where Source #

Methods

gnd :: Lens' s a Source #

Instances

Instances details
HasGnd Cell Pin Source # 
Instance details

Defined in LSC.Model

Methods

gnd :: Lens' Cell Pin Source #

HasGnd AbstractCell Pin Source # 
Instance details

Defined in LSC.Model

Methods

gnd :: Lens' AbstractCell Pin Source #

class HasPins s a | s -> a where Source #

Methods

pins :: Lens' s a Source #

Instances

Instances details
HasPins Cell (HashMap Identifier Pin) Source # 
Instance details

Defined in LSC.Model

Methods

pins :: Lens' Cell (HashMap Identifier Pin) Source #

HasPins AbstractCell (HashMap Identifier Pin) Source # 
Instance details

Defined in LSC.Model

Methods

pins :: Lens' AbstractCell (HashMap Identifier Pin) Source #

class HasRows s a | s -> a where Source #

Methods

rows :: Lens' s a Source #

Instances

Instances details
HasRows AbstractCell (IntMap Row) Source # 
Instance details

Defined in LSC.Model

Methods

rows :: Lens' AbstractCell (IntMap Row) Source #

class HasTracks s a | s -> a where Source #

Methods

tracks :: Lens' s a Source #

Instances

Instances details
HasTracks AbstractCell [Either Track Track] Source # 
Instance details

Defined in LSC.Model

Methods

tracks :: Lens' AbstractCell [Either Track Track] Source #

class HasVdd s a | s -> a where Source #

Methods

vdd :: Lens' s a Source #

Instances

Instances details
HasVdd Cell Pin Source # 
Instance details

Defined in LSC.Model

Methods

vdd :: Lens' Cell Pin Source #

HasVdd AbstractCell Pin Source # 
Instance details

Defined in LSC.Model

Methods

vdd :: Lens' AbstractCell Pin Source #

class HasDims s a | s -> a where Source #

Methods

dims :: Lens' s a Source #

Instances

Instances details
HasDims Cell (Int, Int) Source # 
Instance details

Defined in LSC.Model

Methods

dims :: Lens' Cell (Int, Int) Source #

class HasFeedthrough s a | s -> a where Source #

Methods

feedthrough :: Lens' s a Source #

Instances

Instances details
HasFeedthrough Gate Bool Source # 
Instance details

Defined in LSC.Model

Methods

feedthrough :: Lens' Gate Bool Source #

class HasFixed s a | s -> a where Source #

Methods

fixed :: Lens' s a Source #

Instances

Instances details
HasFixed Gate Bool Source # 
Instance details

Defined in LSC.Model

Methods

fixed :: Lens' Gate Bool Source #

class HasSpace s a | s -> a where Source #

Methods

space :: Lens' s a Source #

Instances

Instances details
HasSpace Gate (Component' Layer Int) Source # 
Instance details

Defined in LSC.Model

Methods

space :: Lens' Gate (Component' Layer Int) Source #

class HasWires s a | s -> a where Source #

Methods

wires :: Lens' s a Source #

Instances

Instances details
HasWires Gate (HashMap Identifier Identifier) Source # 
Instance details

Defined in LSC.Model

Methods

wires :: Lens' Gate (HashMap Identifier Identifier) Source #

class HasContacts s a | s -> a where Source #

Methods

contacts :: Lens' s a Source #

Instances

Instances details
HasContacts Net (HashMap Number [Pin]) Source # 
Instance details

Defined in LSC.Model

Methods

contacts :: Lens' Net (HashMap Number [Pin]) Source #

class HasMembers s a | s -> a where Source #

Methods

members :: Lens' s a Source #

Instances

Instances details
HasMembers Net [Gate] Source # 
Instance details

Defined in LSC.Model

Methods

members :: Lens' Net [Gate] Source #

class HasNetSegments s a | s -> a where Source #

Methods

netSegments :: Lens' s a Source #

Instances

Instances details
HasNetSegments Net [Line' Int] Source # 
Instance details

Defined in LSC.Model

Methods

netSegments :: Lens' Net [Line' Int] Source #

class HasEnableVisuals s a | s -> a where Source #

Methods

enableVisuals :: Lens' s a Source #

Instances

Instances details
HasEnableVisuals CompilerOpts Bool Source # 
Instance details

Defined in LSC.Model

Methods

enableVisuals :: Lens' CompilerOpts Bool Source #

class HasIterations s a | s -> a where Source #

Methods

iterations :: Lens' s a Source #

Instances

Instances details
HasIterations CompilerOpts Word Source # 
Instance details

Defined in LSC.Model

Methods

iterations :: Lens' CompilerOpts Word Source #

class HasLogLevel s a | s -> a where Source #

Methods

logLevel :: Lens' s a Source #

Instances

Instances details
HasLogLevel CompilerOpts LogLevel Source # 
Instance details

Defined in LSC.Model

class HasRowCapacity s a | s -> a where Source #

Methods

rowCapacity :: Lens' s a Source #

Instances

Instances details
HasRowCapacity CompilerOpts Double Source # 
Instance details

Defined in LSC.Model

Methods

rowCapacity :: Lens' CompilerOpts Double Source #

class HasSeedHandle s a | s -> a where Source #

Methods

seedHandle :: Lens' s a Source #

Instances

Instances details
HasSeedHandle CompilerOpts (Maybe Handle) Source # 
Instance details

Defined in LSC.Model

Methods

seedHandle :: Lens' CompilerOpts (Maybe Handle) Source #

class HasWorkers s a | s -> a where Source #

Methods

workers :: Lens' s a Source #

Instances

Instances details
HasWorkers CompilerOpts (Maybe Workers) Source # 
Instance details

Defined in LSC.Model

Methods

workers :: Lens' CompilerOpts (Maybe Workers) Source #

class HasScaleFactor s a | s -> a where Source #

Methods

scaleFactor :: Lens' s a Source #

Instances

Instances details
HasScaleFactor Technology Double Source # 
Instance details

Defined in LSC.Model

Methods

scaleFactor :: Lens' Technology Double Source #

class HasStdCells s a | s -> a where Source #

Methods

stdCells :: Lens' s a Source #

Instances

Instances details
HasStdCells Technology (HashMap Identifier Cell) Source # 
Instance details

Defined in LSC.Model

Methods

stdCells :: Lens' Technology (HashMap Identifier Cell) Source #