191
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,191 @@
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<html>
 | 
			
		||||
 | 
			
		||||
<head>
 | 
			
		||||
	<meta charset="utf-8">
 | 
			
		||||
 | 
			
		||||
	<title>Fomu: An FPGA in your USB Port</title>
 | 
			
		||||
 | 
			
		||||
	<meta name="description" content="A framework for easily creating beautiful presentations using HTML">
 | 
			
		||||
	<meta name="author" content="Sean "xobs" Cross">
 | 
			
		||||
 | 
			
		||||
	<meta name="apple-mobile-web-app-capable" content="yes">
 | 
			
		||||
	<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
 | 
			
		||||
 | 
			
		||||
	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
 | 
			
		||||
 | 
			
		||||
	<link rel="stylesheet" href="css/reveal.css">
 | 
			
		||||
	<link rel="stylesheet" href="css/theme/solarized.css" id="theme">
 | 
			
		||||
 | 
			
		||||
	<!-- Theme used for syntax highlighting of code -->
 | 
			
		||||
	<link rel="stylesheet" href="lib/css/zenburn.css">
 | 
			
		||||
 | 
			
		||||
	<!-- Printing and PDF exports -->
 | 
			
		||||
	<script>
 | 
			
		||||
		var link = document.createElement('link');
 | 
			
		||||
		link.rel = 'stylesheet';
 | 
			
		||||
		link.type = 'text/css';
 | 
			
		||||
		link.href = window.location.search.match(/print-pdf/gi) ? 'css/print/pdf.css' : 'css/print/paper.css';
 | 
			
		||||
		document.getElementsByTagName('head')[0].appendChild(link);
 | 
			
		||||
	</script>
 | 
			
		||||
 | 
			
		||||
	<!--[if lt IE 9]>
 | 
			
		||||
		<script src="lib/js/html5shiv.js"></script>
 | 
			
		||||
		<![endif]-->
 | 
			
		||||
 | 
			
		||||
	<style>
 | 
			
		||||
		/*********************************************
 | 
			
		||||
			* ZOOM REVERSE TRANSITION (i.e. zoom out)
 | 
			
		||||
			*********************************************/
 | 
			
		||||
			.reveal .slides section[data-transition=zoomrev],
 | 
			
		||||
			.reveal.zoomrev .slides section:not([data-transition]) {
 | 
			
		||||
				transition-timing-function: ease;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			.reveal .slides > section[data-transition=zoomrev].past,
 | 
			
		||||
			.reveal .slides > section[data-transition~=zoomrev-out].past,
 | 
			
		||||
			.reveal.zoomrev .slides > section:not([data-transition]).past {
 | 
			
		||||
				       visibility: hidden;
 | 
			
		||||
				-webkit-transform: scale(0.2);
 | 
			
		||||
						transform: scale(0.2);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			.reveal .slides > section[data-transition=zoomrev].future,
 | 
			
		||||
			.reveal .slides > section[data-transition~=zoomrev-in].future,
 | 
			
		||||
			.reveal.zoomrev .slides > section:not([data-transition]).future {
 | 
			
		||||
					   visibility: hidden;
 | 
			
		||||
				-webkit-transform: scale(16);
 | 
			
		||||
						transform: scale(16);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			.reveal .slides > section > section[data-transition=zoomrev].past,
 | 
			
		||||
			.reveal .slides > section > section[data-transition~=zoomrev-out].past,
 | 
			
		||||
			.reveal.zoomrev .slides > section > section:not([data-transition]).past {
 | 
			
		||||
				-webkit-transform: translate(0, 150%);
 | 
			
		||||
						transform: translate(0, 150%);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			.reveal .slides > section > section[data-transition=zoomrev].future,
 | 
			
		||||
			.reveal .slides > section > section[data-transition~=zoomrev-in].future,
 | 
			
		||||
			.reveal.zoomrev .slides > section > section:not([data-transition]).future {
 | 
			
		||||
				-webkit-transform: translate(0, -150%);
 | 
			
		||||
						transform: translate(0, -150%);
 | 
			
		||||
			}
 | 
			
		||||
		</style>
 | 
			
		||||
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
	<!-- Start of main presentation -->
 | 
			
		||||
	<div class="reveal">
 | 
			
		||||
		<div class="footer">
 | 
			
		||||
			<a class="url" href="https://p.xobs.io/td19/">p.xobs.io/td19</a>
 | 
			
		||||
			<span class="theme">Teardown 2019</span><span class="hashtag"> | #teardown2019</span><span class="twitter"> |
 | 
			
		||||
				@teardown</span>
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="slides">
 | 
			
		||||
			<section>
 | 
			
		||||
				<h2>Fomu: an FPGA in your USB Port</h2>
 | 
			
		||||
				<img src="img/tomu-fomu-case-superwide.jpg">
 | 
			
		||||
				<p>
 | 
			
		||||
					Fomu (with case): an FPGA in your USB port. Crowdfunding now! One week to go. <a href="https://t.xobs.io/fomu">t.xobs.io/fomu</a>
 | 
			
		||||
				</p>
 | 
			
		||||
			</section>
 | 
			
		||||
 | 
			
		||||
			<section data-background-image="css/theme/lca2019-title-bg-transparent.svg">
 | 
			
		||||
				<h1>Fomu: An FPGA in your USB Port</h1>
 | 
			
		||||
				<h4>A whirlwind introduction to Fomu and FPGAs</h4>
 | 
			
		||||
				<p align="right">
 | 
			
		||||
					<small>Sean Cross - <a href="https://xobs.io/">https://xobs.io/</a> - @xobs</small>
 | 
			
		||||
				</p>
 | 
			
		||||
			</section>
 | 
			
		||||
 | 
			
		||||
			<section>
 | 
			
		||||
				<h3>Outline</h3>
 | 
			
		||||
				<ol>
 | 
			
		||||
					<li>What is an FPGA?</li>
 | 
			
		||||
					<li>What is Fomu?</li>
 | 
			
		||||
					<li>What is this PCB?</li>
 | 
			
		||||
					<li>
 | 
			
		||||
						<ul>
 | 
			
		||||
							<li>Modifications made</li>
 | 
			
		||||
							<li>Differences to final PCB</li>
 | 
			
		||||
						</ul>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li>Levels of Fomu</li>
 | 
			
		||||
					<li>
 | 
			
		||||
						<ol>
 | 
			
		||||
							<li>Python / Interpreted</li>
 | 
			
		||||
							<li>RISC-V</li>
 | 
			
		||||
							<li>Verilog / FPGA</li>
 | 
			
		||||
						</ol>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li>Loading firmware onto Fomu</li>
 | 
			
		||||
					<li>Blinkenlights</li>
 | 
			
		||||
				</ol>
 | 
			
		||||
			</section>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div> <!-- class="reveal" -->
 | 
			
		||||
	<!-- End of main presentation -->
 | 
			
		||||
 | 
			
		||||
	<!-- Start of configuration section -->
 | 
			
		||||
	<script src="lib/js/head.min.js"></script>
 | 
			
		||||
	<script src="js/reveal.js"></script>
 | 
			
		||||
 | 
			
		||||
	<script>
 | 
			
		||||
		var presenter = !!Reveal.getQueryHash().s;
 | 
			
		||||
 | 
			
		||||
		// More info https://github.com/hakimel/reveal.js#configuration
 | 
			
		||||
		Reveal.initialize({
 | 
			
		||||
			controls: presenter ? false : true,
 | 
			
		||||
			progress: true,
 | 
			
		||||
			history: true,
 | 
			
		||||
			center: true,
 | 
			
		||||
			controlsTutorial: presenter ? false : true,
 | 
			
		||||
 | 
			
		||||
			slideNumber: presenter ? null : 'c/t',
 | 
			
		||||
 | 
			
		||||
			// The "normal" size of the presentation, aspect ratio will be preserved
 | 
			
		||||
			// when the presentation is scaled to fit different resolutions. Can be
 | 
			
		||||
			// specified using percentage units.
 | 
			
		||||
			width: 960,
 | 
			
		||||
			height: 700,
 | 
			
		||||
 | 
			
		||||
			// Factor of the display size that should remain empty around the content
 | 
			
		||||
			margin: 0.1,
 | 
			
		||||
 | 
			
		||||
			multiplex: {
 | 
			
		||||
				url: 'https://p.xobs.io/',
 | 
			
		||||
				id: 'cbd6556886c2825d',
 | 
			
		||||
				secret: Reveal.getQueryHash().s || null
 | 
			
		||||
			},
 | 
			
		||||
 | 
			
		||||
			// Bounds for smallest/largest possible scale to apply to content
 | 
			
		||||
			minScale: 0.02,
 | 
			
		||||
			maxScale: 5.5,
 | 
			
		||||
 | 
			
		||||
			transition: 'slide', // none/fade/slide/convex/concave/zoom
 | 
			
		||||
 | 
			
		||||
			// More info https://github.com/hakimel/reveal.js#dependencies
 | 
			
		||||
			dependencies: [
 | 
			
		||||
				{ src: 'lib/js/classList.js', condition: function () { return !document.body.classList; } },
 | 
			
		||||
				{ src: 'plugin/markdown/marked.js', condition: function () { return !!document.querySelector('[data-markdown]'); } },
 | 
			
		||||
				{ src: 'plugin/markdown/markdown.js', condition: function () { return !!document.querySelector('[data-markdown]'); } },
 | 
			
		||||
				{ src: 'plugin/highlight/highlight.js', async: true, callback: function () { hljs.initHighlightingOnLoad(); } },
 | 
			
		||||
				{ src: 'plugin/search/search.js', async: true },
 | 
			
		||||
				{ src: 'plugin/zoom-js/zoom.js', async: true },
 | 
			
		||||
				{ src: 'plugin/notes/notes.js', async: true },
 | 
			
		||||
 | 
			
		||||
				{ src: 'lib/js/socket.io.js', async: true },
 | 
			
		||||
				{
 | 
			
		||||
					src: presenter ?
 | 
			
		||||
						'plugin/multiplex/master.js' :
 | 
			
		||||
						'plugin/multiplex/client.js', async: true
 | 
			
		||||
				},
 | 
			
		||||
			]
 | 
			
		||||
		});
 | 
			
		||||
	</script>
 | 
			
		||||
</body>
 | 
			
		||||
 | 
			
		||||
</html>
 | 
			
		||||
		Reference in New Issue
	
	Block a user