#
6acdb5d3 |
|
11-Jun-2012 |
Konrad Slind <konrad.slind@gmail.com> |
Updating h/w synthesis stuff so that it works again.
|
#
927035f4 |
|
12-May-2008 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Updated Juliano's hardware compilation to work with wordsTheory. There are now some nasty parser warnings with "===>", "<>" and possibly others. The dev/booth example was/is broken (I haven't attempted to repair it). Have updated dev/AES/word8 and Crypto/AES. Perhaps dev/AES should be removed? The hardware compilation for Crypto/TEA and Crypto/RC6 are now broken. Updating the Crypto examples should be straightforward. Once done I can delete src/n_bit.
|
#
1f43f91a |
|
27-Jan-2008 |
Konrad Slind <konrad.slind@gmail.com> |
Added propositional logic (pedagogical example) and updated the README. Some other files seem to have been changed as well.
|
#
41bcddef |
|
09-Feb-2006 |
Mike Gordon <mjcg@cl.cam.ac.uk> |
Initial (probably buggy) release of a new Verilog back end. This generates "behavioral" rather than "structural" Verilog (i.e. the body of a generated module consists of continuous assignments and always statements rather than module instances). I haven't deleted the code for generating separate module definitions and instances for components (this is now obsolete and I'll delete it once the new approach has been validated). There is now a single way of linking combinational HOL code to Verilog: (*****************************************************************************) (* Library associating HOL terms with ML functions for generating *) (* combinational Verilog. Typical example: *) (* *) (* add_vsynth *) (* [(``\(in1,in2). in1 >> in2``, *) (* (fn[i1,i2] => ("{{31{" ^ i1 ^ "[31]}}," ^ i1 ^ "} >> " ^i2))), *) (* (``UNCURRY $>>``, *) (* (fn[i1,i2] => ("{{31{" ^ i1 ^ "[31]}}," ^ i1 ^ "} >> " ^i2)))] *) (* *) (* which will cause both *) (* *) (* ``COMB (\(in1,in2). in1 >> in2) (x<>y, z)`` *) (* *) (* and *) (* *) (* ``COMB (UNCURRY $>>) (x<>y, z)`` *) (* *) (* to generate the Verilog statement *) (* *) (* assign z = {{31{x[31]}},x} >> y; *) (*****************************************************************************) AddBinop can now be defined by: fun AddBinop (_:string, (hbinop,vbinop)) = add_vsynth[(hbinop, fn[i1,i2] => (i1 ^ " " ^ vbinop ^ " " ^ i2))]; [Note that a module name isn't needed anymore.]
|
#
70372d5e |
|
30-May-2005 |
Mike Gordon <mjcg@cl.cam.ac.uk> |
Added cirDefine to generate circuits in one step. Tweaked examples. Updated README.
|
#
7e7a141e |
|
17-May-2005 |
Mike Gordon <mjcg@cl.cam.ac.uk> |
Added REFINE_ALL that uses previous results of hwDefine that are now stored in a reference hwDefineLib. See Fact.ml for an example. Various other tweaks and improvements (e.g. refinement combinators simplified and extended). Proved |- !n. FACT n < 2 ** WL ==> (FACT n = w2n(Fact32(n2w n))) and similar results for Mult, MultIter in Fact32Script.sml. README updated.
|
#
e5af62be |
|
06-May-2005 |
Mike Gordon <mjcg@cl.cam.ac.uk> |
Various recentish changes. Fact/Fact32 examples will be developed further, but future versions of paper.tex will probably be made in another CVS repository hosted at Cambridge. Will keep http://www.cl.cam.ac.uk/~mjcg/proposals/dev/ updated.
|
#
2e3a1bf2 |
|
20-Apr-2005 |
Mike Gordon <mjcg@cl.cam.ac.uk> |
Lots of changes aimed at partially automating the adding of new HOL and Verilog unary and binary operators to synthesis. Read about AddUnop, AddBinop in README and see how they are used in Fact.ml and Fact32/Fact32.ml
|
#
4dda9f88 |
|
13-Apr-2005 |
Mike Gordon <mjcg@cl.cam.ac.uk> |
32-bit factorial example now works thanks to Konrad's improved hwDefine.
|
#
0577c634 |
|
12-Apr-2005 |
Konrad Slind <konrad.slind@gmail.com> |
Upgraded hwDefine to handle decrement-based iterations on words. Now the factorials on word32 work.
|
#
87132fce |
|
07-Apr-2005 |
Mike Gordon <mjcg@cl.cam.ac.uk> |
Various tweaks. Added a preliminary very version of the factorial example that works with values of type ``:word32`` rather than with ``:num``. Needed some messy support for n-bit numerals (``0w``, ``1w``, ``2w``, ... etc).
|