Wired-0.2.2: Wired.cabal
name: Wired
version: 0.2.2
homepage: http://www.cs.chalmers.se/~emax/wired/
synopsis: Wire-aware hardware description
description:
Wired is an extension to the hardware description library Lava targeting (not
exclusively) semi-custom VLSI design. A particular aim of Wired is to give the
designer more control over on-chip wires' effects on performance.
.
The goal is a system with the following features:
.
* Convenient circuit description in monadic style.
.
* Layout/wiring expressed using optional annotations, allowing incremental
specification of physical aspects.
.
* Export designs to several formats:
.
(1) Lava (for e.g. verification)
.
(2) Postscript (for visualizing layout and wiring)
.
(3) Design Exchange Format (for interfacing to standard CAD tools)
.
* Accurate, wire-aware timing/power analysis within the system.
.
* Support for modern standard cell libraries.
.
* Automatic compilation of standard cell libraries.
.
We are not very far from this goal. The missing parts are power analysis and
cell library compilation, and sequential circuits are not yet fully supported.
Also, there is virtually no documentation. The best place to look for guidance
is in the @Examples@ directory. The following thesis
<http://www.cs.chalmers.se/~emax/documents/PhD_thesis.pdf> gives more
information about the background and some explanation of programming
techniques used in Wired. It should also be said that the library is still
quite unstable and has not yet been tested in any larger scale.
.
The standard cell library shipped with Wired ("Libs.Nangate45.Wired") is an
open-source 45nm library from Nangate (<http://www.nangate.com>) provided for
the purposes of testing and exploring EDA flows. It is not intended for
fabrication. More information is given in the license agreement
in "Libs.Nangate45.LICENSE". If anyone is interested in real cell libraries
(currently 130nm, 90nm and 65nm from STM), please contact the maintainer of
the Wired library.
.
Currently, Wired contains its own version of Lava which is a bit different
from the standard version (package @chalmers-lava2000@ on Hackage) To make
things more complicated, this version of Lava actually uses the standard
version for simulation and verification. Ideally there should only be /one/
Lava library, independent of the Wired package. Hopefully, this will happen in
a not too distant future.
category: Language, Hardware
license: BSD3
license-file: LICENSE
copyright: (c) 2008. Emil Axelsson <emax@chalmers.se>
author: Emil Axelsson <emax@chalmers.se>
maintainer: Emil Axelsson <emax@chalmers.se>
cabal-version: >= 1.4
build-type: Simple
data-files:
.ghci
Examples/UsingLava.hs
Examples/UsingWired.hs
Examples/Sklansky.hs
Examples/Mult.hs
library
exposed-modules:
Data.Logical.Knot
Data.Logical.Let
Data.Hardware.Internal
Data.Hardware
Lava.Patterns
Lava.Internal
Lava
Layout.Internal
Layout
Wired.Model
Wired
Analysis.Timing.Library
Analysis.Timing
Export.DEF
Libs.Nangate45.LICENSE
Libs.Nangate45.Lava
Libs.Nangate45.Wired
other-modules:
Lava.Model
Lava.Loop
Lava.Port
Lava.Interpret
Lava.Misc
Layout.Floorplan
Layout.Postscript
Libs.Nangate45.Timing
c-sources:
Libs/Nangate45/timing.c
build-Depends: base >= 3 && < 4, chalmers-lava2000 >= 1.1 && < 2, containers >= 0.2 && < 1, mtl >= 1.1 && < 2, QuickCheck >= 1 && < 2
extensions:
FlexibleContexts
FlexibleInstances
ForeignFunctionInterface
FunctionalDependencies
GeneralizedNewtypeDeriving
MultiParamTypeClasses
OverlappingInstances
OverloadedStrings
PackageImports
PatternGuards
Rank2Types
RecursiveDo
ScopedTypeVariables
StandaloneDeriving
TypeSynonymInstances
UndecidableInstances