summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthewNaylor <>2009-09-15 13:14:34 (GMT)
committerLuite Stegeman <luite@luite.com>2009-09-15 13:14:34 (GMT)
commitf18cac32ad6f45c498e22c7defdfebc27b8fd8b1 (patch)
tree83cd3682aa93623d27996a639c5a11061d7445a3
parenta3a42203905beb951809c53e0a241dc21e68cf7f (diff)
version 0.2HEAD0.2master
-rw-r--r--modules/Lava/Bit.hs9
-rw-r--r--york-lava.cabal12
2 files changed, 13 insertions, 8 deletions
diff --git a/modules/Lava/Bit.hs b/modules/Lava/Bit.hs
index dfce61e..5722657 100644
--- a/modules/Lava/Bit.hs
+++ b/modules/Lava/Bit.hs
@@ -249,9 +249,14 @@ makeComponent comp inps numOuts sim params k = k outBits
-- Output signals
outSigs = sim (map outputSignal inps)
- -- Use of unsafePerformIO to implement Observable Sharing
+ -- For observable sharing. (Pass "outSigs" to prevent full-laziness.)
{-# NOINLINE ref #-}
- ref = unsafePerformIO (newIORef Nothing)
+ ref = newRef outSigs Nothing
+
+-- Use of unsafePerformIO to implement Observable Sharing
+{-# NOINLINE newRef #-}
+newRef :: a -> Maybe InstanceId -> IORef (Maybe InstanceId)
+newRef s x = unsafePerformIO (newIORef x)
-- | Logic '0'.
low :: Bit
diff --git a/york-lava.cabal b/york-lava.cabal
index ada09b9..e65fec7 100644
--- a/york-lava.cabal
+++ b/york-lava.cabal
@@ -1,23 +1,23 @@
Name: york-lava
-Version: 0.1
+Version: 0.2
Author: Matthew Naylor
Maintainer: Matthew Naylor <mfn@cs.york.ac.uk>
License: BSD3
License-file: LICENSE
-Synopsis: A library for circuit description.
+Synopsis: A library for digital circuit description.
Description:
York Lava is library for describing digital circuits. Descriptions
can be simulated in Hugs or GHC, and converted to VHDL compatible with
- XST, the Xilinx Synthesis Tool. It is largely compatible with Chalmers
- Lava, but omits some features and offers a few new ones. It is
- haddocked, documented, and has been sucessfully used to create a
- fairly hefty FPGA design.
+ XST, the Xilinx Synthesis Tool. It is similar to Chalmers
+ Lava, but omits some features and offers a few new ones.
+ See the top-level module "Lava" for pointers to futher information.
Category: Hardware
Build-Depends: base < 5, haskell98, containers
Build-Type: Simple
Stability: provisional
Homepage: http://www.cs.york.ac.uk/fp/reduceron/
Hugs-options: -98 -c1024
+Ghc-options: -fno-cse -fno-full-laziness
Hs-source-dirs: modules
Exposed-modules:
Recipe