Copyright | (C) 2012-2016, University of Twente |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
Safe Haskell | None |
Language | Haskell2010 |
CLaSH.Driver
Description
Module that connects all the parts of the CLaSH compiler library
- generateHDL :: forall backend. Backend backend => BindingMap -> Maybe backend -> PrimMap Text -> HashMap TyConName TyCon -> IntMap TyConName -> (HashMap TyConName TyCon -> Type -> Maybe (Either String HWType)) -> (HashMap TyConName TyCon -> Bool -> Term -> Term) -> (TmName, Maybe TopEntity) -> Maybe TmName -> Maybe TmName -> CLaSHOpts -> IO ()
- parsePrimitive :: Primitive Text -> Primitive BlackBoxTemplate
- createHDL :: Backend backend => backend -> String -> [Component] -> [(String, Doc)]
- prepareDir :: Bool -> String -> String -> IO ()
- writeHDL :: Backend backend => backend -> FilePath -> (String, Doc) -> IO ()
- copyDataFiles :: FilePath -> [(String, FilePath)] -> IO ()
Documentation
Arguments
:: Backend backend | |
=> BindingMap | Set of functions |
-> Maybe backend | |
-> PrimMap Text | Primitive / BlackBox Definitions |
-> HashMap TyConName TyCon | TyCon cache |
-> IntMap TyConName | Tuple TyCon cache |
-> (HashMap TyConName TyCon -> Type -> Maybe (Either String HWType)) | |
-> (HashMap TyConName TyCon -> Bool -> Term -> Term) | Hardcoded evaluator (delta-reduction) |
-> (TmName, Maybe TopEntity) | topEntity bndr + (maybe) TopEntity annotation |
-> Maybe TmName | testInput bndr |
-> Maybe TmName | expectedOutput bndr |
-> CLaSHOpts | Debug information level for the normalization process |
-> IO () |
Create a set of target HDL files for a set of functions
Arguments
:: Backend backend | |
=> backend | Backend |
-> String | |
-> [Component] | List of components |
-> [(String, Doc)] |
Pretty print Components to HDL Documents
Arguments
:: Bool | Remove existing HDL files |
-> String | File extension of the HDL files. |
-> String | |
-> IO () |
Prepares the directory for writing HDL files. This means creating the dir if it does not exist and removing all existing .hdl files from it.