Name: clash-prelude Version: 0.99.1 Synopsis: CAES Language for Synchronous Hardware - Prelude library Description: CλaSH (pronounced ‘clash’) is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. The CλaSH compiler transforms these high-level descriptions to low-level synthesizable VHDL, Verilog, or SystemVerilog. . Features of CλaSH: . * Strongly typed, but with a very high degree of type inference, enabling both safe and fast prototyping using concise descriptions. . * Interactive REPL: load your designs in an interpreter and easily test all your component without needing to setup a test bench. . * Higher-order functions, with type inference, result in designs that are fully parametric by default. . * Synchronous sequential circuit design based on streams of values, called @Signal@s, lead to natural descriptions of feedback loops. . * Support for multiple clock domains, with type safe clock domain crossing. . . This package provides: . * Prelude library containing datatypes and functions for circuit design . To use the library: . * Import "Clash.Prelude" . * Alternatively, if you want to explicitly route clock and reset ports, for more straightforward multi-clock designs, you can import the "Clash.Explicit.Prelude" module. Note that you should not import "Clash.Prelude" and "Clash.Explicit.Prelude" at the same time as they have overlapping definitions. . A preliminary version of a tutorial can be found in "Clash.Tutorial", for a general overview of the library you should however check out "Clash.Prelude". Some circuit examples can be found in "Clash.Examples". Homepage: http://www.clash-lang.org/ bug-reports: http://github.com/clash-lang/clash-prelude/issues License: BSD2 License-file: LICENSE Author: Christiaan Baaij Maintainer: Christiaan Baaij Copyright: Copyright © 2013-2016, University of Twente, 2016-2017, Myrtle Software Ltd, 2017 , QBayLogic, Google Inc. Category: Hardware Build-type: Simple Extra-source-files: README.md CHANGELOG.md AUTHORS.md extra-doc-files: doc/*.svg Cabal-version: 1.18 Tested-with: GHC == 8.2.2, GHC == 8.4.1, GHC == 8.5 source-repository head type: git location: https://github.com/clash-lang/clash-prelude.git flag doctests description: You can disable testing with doctests using `-f-doctests`. default: True manual: True flag benchmarks description: You can disable testing with benchmarks using `-f-benchmarks`. default: True manual: True Library HS-Source-Dirs: src default-language: Haskell2010 ghc-options: -Wall -fexpose-all-unfoldings -fno-worker-wrapper Exposed-modules: Clash.Annotations.TopEntity Clash.Annotations.Primitive Clash.Class.BitPack Clash.Class.Num Clash.Class.Resize Clash.Explicit.BlockRam Clash.Explicit.BlockRam.File Clash.Explicit.DDR Clash.Explicit.Mealy Clash.Explicit.Moore Clash.Explicit.RAM Clash.Explicit.ROM Clash.Explicit.ROM.File Clash.Explicit.Prelude Clash.Explicit.Prelude.Safe Clash.Explicit.Signal Clash.Explicit.Signal.Delayed Clash.Explicit.Synchronizer Clash.Explicit.Testbench Clash.Hidden Clash.Intel.ClockGen Clash.Intel.DDR Clash.NamedTypes Clash.Prelude Clash.Prelude.BitIndex Clash.Prelude.BitReduction Clash.Prelude.BlockRam Clash.Prelude.BlockRam.File Clash.Prelude.DataFlow Clash.Prelude.Mealy Clash.Prelude.Moore Clash.Prelude.RAM Clash.Prelude.ROM Clash.Prelude.ROM.File Clash.Prelude.Safe Clash.Prelude.Testbench Clash.Promoted.Nat Clash.Promoted.Nat.Literals Clash.Promoted.Nat.TH Clash.Promoted.Nat.Unsafe Clash.Promoted.Symbol Clash.Signal Clash.Signal.Bundle Clash.Signal.Delayed Clash.Signal.Internal Clash.Sized.BitVector Clash.Sized.Fixed Clash.Sized.Index Clash.Sized.RTree Clash.Sized.Signed Clash.Sized.Unsigned Clash.Sized.Vector Clash.Sized.Internal.BitVector Clash.Sized.Internal.Index Clash.Sized.Internal.Signed Clash.Sized.Internal.Unsigned Clash.XException Clash.Xilinx.ClockGen Clash.Xilinx.DDR Clash.Tutorial Clash.Examples other-extensions: CPP BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveTraversable DeriveLift FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures MagicHash MultiParamTypeClasses PatternSynonyms Rank2Types ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators UndecidableInstances ViewPatterns Build-depends: array >= 0.5.1.0 && < 0.6, base >= 4.8.0.0 && < 5, bifunctors >= 5.4.0 && < 6.0, constraints >= 0.8 && < 1.0, data-binary-ieee754 >= 0.4.4 && < 0.6, data-default >= 0.5.3 && < 0.8, integer-gmp >= 0.5.1.0 && < 1.1, deepseq >= 1.4.1.0 && < 1.5, ghc-prim >= 0.3.1.0 && < 0.6, ghc-typelits-extra >= 0.2.5 && < 0.3, ghc-typelits-knownnat >= 0.5 && < 0.6, ghc-typelits-natnormalise >= 0.6 && < 0.7, half >= 0.2.2.3 && < 1.0, lens >= 4.9 && < 4.17, QuickCheck >= 2.7 && < 2.12, reflection >= 2 && < 2.2, singletons >= 1.0 && < 3.0, template-haskell >= 2.12.0.0 && < 2.14, transformers >= 0.4.2.0 && < 0.6, vector >= 0.11 && < 1.0 test-suite doctests type: exitcode-stdio-1.0 default-language: Haskell2010 main-is: doctests.hs ghc-options: -Wall hs-source-dirs: tests if !flag(doctests) buildable: False else build-depends: base >= 4 && < 5, doctest >= 0.9.1 && < 0.16, clash-prelude benchmark benchmark-clash-prelude type: exitcode-stdio-1.0 default-language: Haskell2010 main-is: benchmark-main.hs ghc-options: -Wall hs-source-dirs: benchmarks if !flag(benchmarks) buildable: False else build-depends: base >= 4 && < 5, clash-prelude, criterion >= 1.3.0.0 && < 1.6, deepseq >= 1.4.0.1 && < 1.5, template-haskell >= 2.9.0.0 && < 2.14 Other-Modules: BenchBitVector BenchFixed BenchSigned