packages feed

Wired 0.1 → 0.1.1

raw patch · 3 files changed

+80/−3 lines, 3 files

Files

+ .ghci view
@@ -0,0 +1,1 @@+:set -fglasgow-exts -fallow-overlapping-instances -fallow-undecidable-instances -fno-monomorphism-restriction -XOverloadedStrings
+ Analysis/STA/Library.hs view
@@ -0,0 +1,69 @@+module Analysis.STA.Library where++++import Data.Function+import Data.List++import Data.Hardware.Internal+import Lava+import Wired.Model++++data Slope = Rising | Falling+     deriving (Eq, Show)++type TransitionTime = Time++data Timing = Timing+       { arrivalTime    :: Time+       , transitionTime :: TransitionTime+       }++++class WiredLibrary lib => STALibrary lib+  where+    loadCaps :: lib -> [Capacitance]++    delay+      :: lib+      -> Pin          -- Input+      -> Pin          -- Output+      -> Slope        -- For output+      -> Capacitance  -- For output+      -> Timing       -- For input+      -> Timing       -- For output++++mulTiming :: Timing -> Time -> Timing+mulTiming (Timing ar tr) x = Timing (ar*x) (tr*x)++maxArrival :: Timing -> Timing -> Time+maxArrival = max `on` arrivalTime++maximumByArrival :: [Timing] -> Timing+maximumByArrival = maximumBy (compare `on` arrivalTime)++++linearDelay+    :: Delay       -- Intrinsic delay+    -> Double      -- Rise time coefficient+    -> Resistance  -- Load capacitance coefficient+    -> (Capacitance -> Timing -> Timing)++linearDelay intrDel kTR res cap (Timing ar tr) = Timing+    (ar + intrDel + kTR><tr + res><cap)+    (1.2*tr)  -- *** What should it be?++++worstLinearDelay+    :: [(Delay, Double, Resistance)] -> (Capacitance -> Timing -> Timing)++worstLinearDelay params cap t = maximumByArrival+    [linearDelay intrDel kTR res cap t | (intrDel,kTR,res) <- params]+
Wired.cabal view
@@ -1,5 +1,6 @@ name:                Wired-version:             0.1+version:             0.1.1+homepage:            http://www.cs.chalmers.se/~emax/wired/ synopsis:            Wire-aware hardware description  description:         An extension to the hardware description library Lava@@ -16,9 +17,14 @@ cabal-version:       >= 1.2 build-type:          Simple tested-with:         GHC ==6.8.3-data-files:          Examples/UsingLava.hs, Examples/UsingWired.hs,-                     Examples/Sklansky.hs, Examples/Mult.hs +data-files:+  .ghci+  Examples/UsingLava.hs+  Examples/UsingWired.hs+  Examples/Sklansky.hs+  Examples/Mult.hs+ library   exposed-modules:     Data.Logical.Knot@@ -43,6 +49,7 @@     Layout.Postscript     Layout.Internal     Wired.Model+    Analysis.STA.Library    build-Depends: base, chalmers-lava2000, containers, mtl, QuickCheck