- computeNetlist :: String -> XilinxArchitecture -> Out () -> Netlist
- preLayoutNetlist :: String -> XilinxArchitecture -> Out () -> Netlist
- data Component
- = Lut1 [Int] Int Int String
- | Lut2 [Int] Int Int Int String
- | Lut2_l [Int] Int Int Int String
- | Lut3 [Int] Int Int Int Int String
- | Lut4 [Int] Int Int Int Int Int String
- | Lut5 [Int] Int Int Int Int Int Int String
- | Lut6 [Int] Int Int Int Int Int Int Int String
- | PrimitiveGate [(String, Int)] [(String, Int)]
- data Dir
- data NetType
- data PortDirection
- = InputPort
- | OutputPort
- | LocalInput
- | LocalOutput
- data PortDeclaration = Port String PortDirection NetType [Int]
- data Position
- = NoPlacement
- | Unplaced
- | Placed
- data Layout
- data CondShiftFn = CondShiftFn (Int -> Bool, Int -> Int) (Int -> Bool, Int -> Int)
- sizeOfLayout :: Layout -> (Int, Int)
- data XilinxArchitecture
- data Instance = Instance {
- component :: Component
- componentName :: String
- instanceNumber :: Int
- position :: Position
- componentSize :: Maybe (Int, Int)
- data Netlist = Netlist {
- circuitName :: String
- ports :: [PortDeclaration]
- instances :: [Instance]
- netCount :: Int
- instCount :: Int
- layout :: [Layout]
- layoutNesting :: Int
- computedShifts :: (Array Int Int, Array Int Int)
- xilinxArchitecture :: XilinxArchitecture
- subCircuits :: [Netlist]
- setCircuitName :: String -> Out ()
- addInstance :: Instance -> Out ()
- getNetCount :: Out Int
- getInstCount :: Out Int
- incrementInstCount :: Out ()
- incrementNetCount :: Int -> Out ()
- pushLayout :: Layout -> Out ()
- popLayout :: Out Layout
- incrementLayoutNesting :: Out ()
- decrementLayoutNesting :: Out ()
- type Out a = State Netlist a
- type Bit = Int
- type BitVec = (Int, Dir, Int)
- zero :: Bit
- one :: Bit
Generating a Lava netlist
computeNetlist :: String -> XilinxArchitecture -> Out () -> NetlistSource
preLayoutNetlist :: String -> XilinxArchitecture -> Out () -> NetlistSource
The Lava Netlist representation
data PortDirection Source
data PortDeclaration Source
data CondShiftFn Source
sizeOfLayout :: Layout -> (Int, Int)Source
data XilinxArchitecture Source
Instance | |
|
Netlist | |
|
setCircuitName :: String -> Out ()Source
addInstance :: Instance -> Out ()Source
incrementNetCount :: Int -> Out ()Source
pushLayout :: Layout -> Out ()Source