add some more html stuff
git-svn-id: svn+ssh://en.codiert.org/home/staff/ben/dev/misc.svn/projects/fpgafs@441 766a2236-cff9-0310-b0c0-a81a5f92509a
This commit is contained in:
		
							parent
							
								
									69babbbf81
								
							
						
					
					
						commit
						4a3b68e804
					
				@ -119,6 +119,15 @@ h2.title {
 | 
				
			|||||||
	text-decoration:none;
 | 
						text-decoration:none;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					h2.subtitle {
 | 
				
			||||||
 | 
						display:block;
 | 
				
			||||||
 | 
						color: #000;
 | 
				
			||||||
 | 
						font-weight:bold;
 | 
				
			||||||
 | 
						padding:5px 0px;
 | 
				
			||||||
 | 
						margin: 0px 0px 0px 0px;
 | 
				
			||||||
 | 
						font-weight:normal;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
h2.consol {
 | 
					h2.consol {
 | 
				
			||||||
	display:block;
 | 
						display:block;
 | 
				
			||||||
	color: #000;
 | 
						color: #000;
 | 
				
			||||||
@ -130,3 +139,13 @@ h2.consol {
 | 
				
			|||||||
	background-color:#eee;
 | 
						background-color:#eee;
 | 
				
			||||||
	border:1px dotted;
 | 
						border:1px dotted;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					div.center {
 | 
				
			||||||
 | 
						position: relative;
 | 
				
			||||||
 | 
						text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					img.border {
 | 
				
			||||||
 | 
						border: 1px solid;
 | 
				
			||||||
 | 
						margin: 20px 0px 0px 0px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,6 @@
 | 
				
			|||||||
<div id="headspace">
 | 
					<div id="headspace">
 | 
				
			||||||
<div id="header">
 | 
					<div id="header">
 | 
				
			||||||
	<a href="#top" title="Top">Top</a> : 
 | 
						<a href="#top" title="Top">Top</a> : 
 | 
				
			||||||
	<a href="#whatis" title="What is?">What is?</a> : 
 | 
					 | 
				
			||||||
	<a href="#concept" title="Concepts">Concept</a> : 
 | 
						<a href="#concept" title="Concepts">Concept</a> : 
 | 
				
			||||||
	<a href="#download" title="Download">Download</a> : 
 | 
						<a href="#download" title="Download">Download</a> : 
 | 
				
			||||||
	<a href="#contact" title="Contact">Contact</a>
 | 
						<a href="#contact" title="Contact">Contact</a>
 | 
				
			||||||
@ -37,17 +36,66 @@
 | 
				
			|||||||
	provides an interface for low level driver. It gives the flexibility to register
 | 
						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
 | 
						a lot of different low level drivers for different accelerators which can be
 | 
				
			||||||
	operate at the same time in one target system.</p>
 | 
						operate at the same time in one target system.</p>
 | 
				
			||||||
	<h2 class="title">What is?</h2><a name="whatis" id="whatis"></a>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<h2 class="title">Concept</h2><a name="concept" id="concept"></a>
 | 
						<h2 class="title">Concept</h2><a name="concept" id="concept"></a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<h2 class="subtitle">Overall Design</h2>
 | 
				
			||||||
 | 
						<p>As the name already mentioned the project provides a virtual filesystem for the
 | 
				
			||||||
 | 
						operating system. The filesystem abstrect each each reconfigurable part inside a
 | 
				
			||||||
 | 
					       	host system or inside one chip by a directory. The permissions of the files can
 | 
				
			||||||
 | 
						provide access control for different users. The following listing shows the directory
 | 
				
			||||||
 | 
						entries which will be created. These entries can be seen as the assigned context to
 | 
				
			||||||
 | 
						the FPGA interface:</p>
 | 
				
			||||||
 | 
						<ul>
 | 
				
			||||||
 | 
							<li>/fpgafs/example/cmd: write only file, this is the interface to send
 | 
				
			||||||
 | 
							    defined commands to the context.</li>
 | 
				
			||||||
 | 
							<li>/fpgafs/example/stat: read only file, from which the context's status
 | 
				
			||||||
 | 
							    can be received.</li>
 | 
				
			||||||
 | 
							<li>/fpgafs/example/din: write only file, sends data to the reconfigurable
 | 
				
			||||||
 | 
							    device.</li>
 | 
				
			||||||
 | 
							<li>/fpgafs/example/dout: read only file, receives calculated data from
 | 
				
			||||||
 | 
							    the device.</li>
 | 
				
			||||||
 | 
							<li>/fpgafs/example/load: write only file, writes data which should be
 | 
				
			||||||
 | 
							    loaded onto the reconfigurable device.</li>
 | 
				
			||||||
 | 
							<li>/fpgafs/foobar/lldrv: write only file, selects the low level driver
 | 
				
			||||||
 | 
							    which should be used.</li>
 | 
				
			||||||
 | 
						</ul>
 | 
				
			||||||
 | 
						<p>
 | 
				
			||||||
 | 
						In general, the complete framework provides a generic interface to the userspace
 | 
				
			||||||
 | 
						and a flexible and changeable interface to the hardware. Figure 1 shows the design of
 | 
				
			||||||
 | 
						the framework. At the bottom, there are low level drivers which must be registered on
 | 
				
			||||||
 | 
						the main FPGAFS. On top of the low-level drivers, different contexts are shown
 | 
				
			||||||
 | 
						which are represented by directories.</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<div class="center">
 | 
				
			||||||
 | 
							<img class="border" src="img/design_overall.png" alt="overall design" />
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<h2 class="subtitle">Low Level Driver</h2>
 | 
				
			||||||
 | 
						<p>All low level drivers implement an interface which will be used by more generalized
 | 
				
			||||||
 | 
						functions from the low level management. The structure "fpgafs_lldrv" provides at least
 | 
				
			||||||
 | 
					        the defined function pointers. Each low level driver can be loaded and unloaded as a
 | 
				
			||||||
 | 
						common Linux module. The init function of each low level driver has to call the
 | 
				
			||||||
 | 
						registration function of the FPGAFS low level management module. At unloading the module
 | 
				
			||||||
 | 
					        the unregistration function will be called. With this concept different hardware
 | 
				
			||||||
 | 
						accelerators can be supported and each low level driver can implement its own
 | 
				
			||||||
 | 
						communication functions. So each low level driver brings its own programming routine
 | 
				
			||||||
 | 
						for the accelerator. This gives the possibility to create accelerators that can handle
 | 
				
			||||||
 | 
						more than one application at once. For example, the accelerator can reprogram parts of
 | 
				
			||||||
 | 
						the accelerator and can be used without reconfiguring the whole accelerator. However,
 | 
				
			||||||
 | 
						this functionality totally depends on the underlying hardware and the programming
 | 
				
			||||||
 | 
						mechanism. But the framework will support such and other functionalities because of
 | 
				
			||||||
 | 
						the flexible layer concept.</p><br />
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<p>More documentation can be found in the repository and can be enquired (see Contact).</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<h2 class="title">Download</h2><a name="download" id="download"></a>
 | 
						<h2 class="title">Download</h2><a name="download" id="download"></a>
 | 
				
			||||||
	FPGAFS keeps its development tree in a Subversion repository. It can be 
 | 
						FPGAFS keeps its development tree in a Subversion repository. It can be 
 | 
				
			||||||
	downloaded with a Subversion checkout. The repository is anonymous accessible.
 | 
						downloaded with a Subversion checkout. The repository is anonymously accessible. <br /><br />
 | 
				
			||||||
	<h2 class="consol">$ svn co https://svn.subgra.de/ben/projects/fpgafs</h2>
 | 
						<h2 class="consol">$ svn co https://svn.subgra.de/ben/projects/fpgafs</h2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<h2 class="title">Contact</h2><a name="contact" id="contact"></a>
 | 
						<h2 class="title">Contact</h2><a name="contact" id="contact"></a>
 | 
				
			||||||
	<p>Benjamin Krill: ben@ @codiert.org</p>
 | 
						<p>Benjamin Krill: ben@codiert.org</p>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</body>
 | 
					</body>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user