From f209b8a16302a1ba818bf652834077446d6eb20a Mon Sep 17 00:00:00 2001 From: ben Date: Fri, 19 Oct 2007 09:52:02 +0000 Subject: [PATCH] add homepage git-svn-id: svn+ssh://en.codiert.org/home/staff/ben/dev/misc.svn/projects/fpgafs@436 766a2236-cff9-0310-b0c0-a81a5f92509a --- doc/www/f.css | 119 +++ doc/www/img/abstract_fpga.svg | 1155 ++++++++++++++++++++++++++ doc/www/img/fpgafs.png | Bin 0 -> 49256 bytes doc/www/img/fpgafs.svg | 1441 +++++++++++++++++++++++++++++++++ doc/www/index.html | 52 ++ 5 files changed, 2767 insertions(+) create mode 100644 doc/www/f.css create mode 100644 doc/www/img/abstract_fpga.svg create mode 100644 doc/www/img/fpgafs.png create mode 100644 doc/www/img/fpgafs.svg create mode 100644 doc/www/index.html diff --git a/doc/www/f.css b/doc/www/f.css new file mode 100644 index 0000000..797e0e9 --- /dev/null +++ b/doc/www/f.css @@ -0,0 +1,119 @@ +body { + margin:0px; + padding:0px; + font:11px/20px verdana, arial, helvetica, sans-serif; + color:#333; + background-color:white; + } +p { + font-family : "Gill Sans", "Trebuchet MS", verdana, sans-serif; + margin:0px 0px 16px 0px; + padding:0px; + } +#content>p {margin:0px;} +#content>p+p {text-indent:10px;} + +a { + color:#f00; + font-size:11px; + text-decoration:none; + font-weight:600; + font-family:verdana, arial, helvetica, sans-serif; + } +a:link {color:#f00;} +a:visited {color:#f00;} +a:hover {border-top: 1px dotted;} + +#headspace { + margin:0px 00px 0px 0px; + height:89px; + width:719px; + position: fixed; + z-index:1; + background-color: #fff; + voice-family: "\"}\""; + voice-family:inherit; + width:700px; /* the correct height */ + height:70px; + } + +#header { + margin:50px 0px 10px 0px; + padding:17px 0px 0px 20px; + /* For IE5/Win's benefit height = [correct height] + [top padding] + [top and bottom border widths] */ + height:33px; /* 14px + 17px + 2px = 33px */ + width:719px; /* 14px + 17px + 2px = 33px */ + position: fixed; + z-index:2; + border-style:solid; + border-color:gray; + border-width:1px 0px; /* top and bottom borders: 1px; left and right borders: 0px */ + line-height:11px; + background-color:#ccc; + voice-family: "\"}\""; + voice-family:inherit; + width:700px; /* the correct height */ + height:14px; /* the correct height */ + } +body>#header {height:14px;} + + +#content { + margin:0px 50px 50px 10px; + position:absolute; + top:100px; + padding:10px; + width:619px; + z-index:0; + voice-family: "\"}\""; + voice-family:inherit; + width:600px; /* the correct height */ + } + +#logo { + position: fixed; + z-index:3; + margin:0px 0px 0px 0px; + padding:0px; + top:0px; + left:600px; + } + +h1 { + color: #555; + background: white; + text-align: left; + font-size: 170%; + font-family : "Gill Sans", "Trebuchet MS", verdana, sans-serif; +} + +h2 { + color: #333; + background: white; + text-align: left; + font-size: 140%; + font-family : "Gill Sans", "Trebuchet MS", verdana, sans-serif; +} + +h2.title { + display:block; + color: #555; + padding:3px 4px; + margin: 35px 0px 0px 0px; + font-weight:bold; + background-color:#ddd; + border-bottom:1px dotted; + text-decoration:none; +} + +h2.consol { + display:block; + color: #000; + padding:3px 4px; + width: 90%; + font-size: 95%; + margin: 3px 0px 0px 25px; + font-weight:normal; + background-color:#eee; + border:1px dotted; +} diff --git a/doc/www/img/abstract_fpga.svg b/doc/www/img/abstract_fpga.svg new file mode 100644 index 0000000..abfb5cc --- /dev/null +++ b/doc/www/img/abstract_fpga.svg @@ -0,0 +1,1155 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/www/img/fpgafs.png b/doc/www/img/fpgafs.png new file mode 100644 index 0000000000000000000000000000000000000000..d018fd5d3050ec7992f3d33b1e451a15cb6a23d4 GIT binary patch literal 49256 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 literal 0 HcmV?d00001 diff --git a/doc/www/img/fpgafs.svg b/doc/www/img/fpgafs.svg new file mode 100644 index 0000000..f03e186 --- /dev/null +++ b/doc/www/img/fpgafs.svg @@ -0,0 +1,1441 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FPGA + FS + + + diff --git a/doc/www/index.html b/doc/www/index.html new file mode 100644 index 0000000..03b4075 --- /dev/null +++ b/doc/www/index.html @@ -0,0 +1,52 @@ + + + + + +FPGA Filesystem + + + + + + + + + +
+

FPGAFS

+

It provides a framework for a high performance reconfigurable computer + environment. The abstraction between the reconfigurable device and the + user application is simplified by using a virtual filesystem and a thread + abstraction per device context.
+ FPGAFS consists of two major layers of abstraction. First, the directory + representation to the user application. This interface provides for each context + one directory with a specified content to transfer data. The second layer + provides an interface for low level driver. It gives the flexibility to register + a lot of different low level drivers for different accelerators which can be + operate at the same time in one target system.

+

What is?

+ +

Concept

+ +

Download

+ FPGAFS keeps its development tree in a Subversion repository. It can be + downloaded with a Subversion checkout. The repository is anonymous accessible. +

$ svn co svn://svn.subgra.de/ben/projects/fpgafs

+ +

Contact

+

Benjamin Krill: ben@ @codiert.org

+
+ + +