From d9f574152bbb30591de0f235f675a6cd596fe07e Mon Sep 17 00:00:00 2001
From: Tim Daly
Date: Sun, 19 Jun 2016 17:09:10 -0400
Subject: [PATCH] books/bookvolbib add Kupe14, N Queens on an FPGA
Goal: Axiom Literate Programming
This paper makes a principled transition from a mathematical
formulation of a problem to its reduction to executable code.
@article{Kupe14,
author = "Kuper, Jan and Wester, Rinse",
title = "N Queens on an FPGA: Mathematics, Programming, or Both?",
year = "2014",
url = "http://doc.utwente.nl/94663/1/NQueensOnFPGA.pdf",
publisher = "Open Channel Publishing Ltd",
journal = "Communicating Process Architectures 2014",
abstract =
"This paper presents a design methodology for deriving an FPGA
implementation directly from a mathematical specification, thus
avoiding the switch in semantic perspective as is present in widely
applied methods which include an imperative implementation as an
intermediate step.
The first step in the method presented in this paper is to transform a
mathematical specification into a Haskell program. The next step is to
make repetition structures explicit by higher order functions, and
after that rewrite the specification in the form of a Mealy
Machine. Finally, adaptations have to be made in order to comply to
the fixed nature of hardware. The result is then given to
C$\lambda$aSH, a compiler which generates synthesizable VHDL from the
resulting Haskell code. An advantage of the approach presented here is
that in all phases of the process the design can be directly simulated
by executing the defining code in a standard Haskell environment.
To illustrate the design process, the N queens problem is chosen as a
running example."
}
---
books/bookvolbib.pamphlet | 34 +++++++++++++++++++++++++++++++++
changelog | 2 +
patch | 41 ++++++++++++++++++++++++++++-----------
src/axiom-website/patches.html | 2 +
4 files changed, 67 insertions(+), 12 deletions(-)
diff --git a/books/bookvolbib.pamphlet b/books/bookvolbib.pamphlet
index ccc87c5..86e4e6a 100644
--- a/books/bookvolbib.pamphlet
+++ b/books/bookvolbib.pamphlet
@@ -4010,6 +4010,40 @@ Kelsey, Tom; Martin, Ursula; Owre, Sam
\end{chunk}
+\index{Kuper, Jan}
+\index{Wester, Rinse}
+\begin{chunk}{axiom.bib}
+@article{Kupe14,
+ author = "Kuper, Jan and Wester, Rinse",
+ title = "N Queens on an FPGA: Mathematics, Programming, or Both?",
+ year = "2014",
+ url = "http://doc.utwente.nl/94663/1/NQueensOnFPGA.pdf",
+ publisher = "Open Channel Publishing Ltd",
+ journal = "Communicating Process Architectures 2014",
+ abstract =
+ "This paper presents a design methodology for deriving an FPGA
+ implementation directly from a mathematical specification, thus
+ avoiding the switch in semantic perspective as is present in widely
+ applied methods which include an imperative implementation as an
+ intermediate step.
+
+ The first step in the method presented in this paper is to transform a
+ mathematical specification into a Haskell program. The next step is to
+ make repetition structures explicit by higher order functions, and
+ after that rewrite the specification in the form of a Mealy
+ Machine. Finally, adaptations have to be made in order to comply to
+ the fixed nature of hardware. The result is then given to
+ C$\lambda$aSH, a compiler which generates synthesizable VHDL from the
+ resulting Haskell code. An advantage of the approach presented here is
+ that in all phases of the process the design can be directly simulated
+ by executing the defining code in a standard Haskell environment.
+
+ To illustrate the design process, the N queens problem is chosen as a
+ running example."
+}
+
+\end{chunk}
+
\index{Lamport, Leslie}
\begin{chunk}{axiom.bib}
@misc{TLA16,
diff --git a/changelog b/changelog
index 67bfdcd..5517a7c 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20160619 tpd src/axiom-website/patches.html 20160619.02.tpd.patch
+20160619 tpd books/bookvolbib add Kupe14, N Queens on an FPGA
20160619 tpd src/axiom-website/patches.html 20160619.01.tpd.patch
20160619 tpd books/bookvol10.2 fix ++X comment
20160619 tpd src/input/Makefile run allfns.input
diff --git a/patch b/patch
index 3fb1dc5..10d1966 100644
--- a/patch
+++ b/patch
@@ -1,18 +1,35 @@
-src/input/allfns.input test for algebra examples
+books/bookvolbib add Kupe14, N Queens on an FPGA
Goal: Axiom Literate Programming
-Axiom shows an example for functions using the )display command:
+This paper makes a principled transition from a mathematical
+formulation of a problem to its reduction to executable code.
-)d op argscript
+@article{Kupe14,
+ author = "Kuper, Jan and Wester, Rinse",
+ title = "N Queens on an FPGA: Mathematics, Programming, or Both?",
+ year = "2014",
+ url = "http://doc.utwente.nl/94663/1/NQueensOnFPGA.pdf",
+ publisher = "Open Channel Publishing Ltd",
+ journal = "Communicating Process Architectures 2014",
+ abstract =
+ "This paper presents a design methodology for deriving an FPGA
+ implementation directly from a mathematical specification, thus
+ avoiding the switch in semantic perspective as is present in widely
+ applied methods which include an imperative implementation as an
+ intermediate step.
-There is one exposed function called argscript :
- [1] (Symbol,List(OutputForm)) -> Symbol from Symbol
+ The first step in the method presented in this paper is to transform a
+ mathematical specification into a Haskell program. The next step is to
+ make repetition structures explicit by higher order functions, and
+ after that rewrite the specification in the form of a Mealy
+ Machine. Finally, adaptations have to be made in order to comply to
+ the fixed nature of hardware. The result is then given to
+ C$\lambda$aSH, a compiler which generates synthesizable VHDL from the
+ resulting Haskell code. An advantage of the approach presented here is
+ that in all phases of the process the design can be directly simulated
+ by executing the defining code in a standard Haskell environment.
-Examples of argscript from Symbol
-
-argscript(Big,[a,1])
-
-This file tests the )display command for every function in Axiom.
-Functions with the same name which have a working example from every
-domain are marked at 'done'.
+ To illustrate the design process, the N queens problem is chosen as a
+ running example."
+}
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index b41d6a7..628a16b 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -5336,6 +5336,8 @@ books/bookvol5 fix bug 7304: )show Type has duplicate output
books/bookvol10.3 add ++X documentation on Symbol20160619.01.tpd.patch
src/input/allfns.input test for algebra examples
+20160619.02.tpd.patch
+books/bookvolbib add Kupe14, N Queens on an FPGA