124
index.html
124
index.html
@ -9,21 +9,25 @@
|
||||
|
||||
<link rel="stylesheet" href="dist/reset.css">
|
||||
<link rel="stylesheet" href="dist/reveal.css">
|
||||
<link rel="stylesheet" href="dist/theme/moon.css">
|
||||
<link rel="stylesheet" href="dist/theme/fossasia2023.css">
|
||||
|
||||
<!-- Theme used for syntax highlighted code -->
|
||||
<link rel="stylesheet" href="plugin/highlight/monokai.css">
|
||||
<link rel="stylesheet" href="plugin/highlight/zenburn.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="reveal">
|
||||
<div class="footer">
|
||||
<a class="url" href="https://p.xobs.io/fa23/">p.xobs.io/fa23</a>
|
||||
</div>
|
||||
<div class="slides">
|
||||
<section>
|
||||
<h1>The State of Open Silicon</h1>
|
||||
<h2>Sean Cross, Foosn PTE Ltd</h2>
|
||||
<h2>The State of Open Silicon</h2>
|
||||
<h3>Sean "xobs" Cross, Foosn PTE Ltd</h3>
|
||||
</section>
|
||||
<section>
|
||||
<h2>About Me</h2>
|
||||
<img data-src="img/xobs-projects.jpg">
|
||||
</section>
|
||||
<section>
|
||||
<h2>Outline</h2>
|
||||
@ -274,10 +278,10 @@
|
||||
<section>
|
||||
<h2>PDKs are large nodes</h2>
|
||||
<div class="r-stack">
|
||||
<ul class="fragment fade-in-then-out">
|
||||
<li>180nm: Playstation 2 "Emotion Engine"</li>
|
||||
<li>130nm: Gamecube CPU "Gekko": 43 mm<sup>2</sup> (2001)</li>
|
||||
</ul>
|
||||
<!-- <li>180nm: Playstation 2 "Emotion Engine"</li>
|
||||
<li>130nm: Gamecube CPU "Gekko": 43 mm<sup>2</sup> (2001)</li> -->
|
||||
<img class="fragment fade-in-then-out" data-src="img/180nm-examples.png">
|
||||
<img class="fragment fade-in-then-out" data-src="img/130nm-examples.png">
|
||||
<div class="fragment fade-in-then-out">
|
||||
<img data-src="img/blinker-HD.jpg" height="400">
|
||||
<p>Flicker LED circuit, 3µm, image © 2015 Zeptobars</p>
|
||||
@ -297,6 +301,7 @@
|
||||
<li>Experimental ROM support</li>
|
||||
</ul>
|
||||
<img data-src="img/minimax-cpu-vs-memories.jpg" class="fragment fade-in-then-out">
|
||||
<img data-src="img/SCMOS_16kb_sram.jpg" height="400" class="fragment fade-in-then-out">
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
@ -376,20 +381,97 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="dist/reveal.js"></script>
|
||||
<script src="plugin/notes/notes.js"></script>
|
||||
<script src="plugin/markdown/markdown.js"></script>
|
||||
<script src="plugin/highlight/highlight.js"></script>
|
||||
<script>
|
||||
// More info about initialization & config:
|
||||
// - https://revealjs.com/initialization/
|
||||
// - https://revealjs.com/config/
|
||||
Reveal.initialize({
|
||||
hash: true,
|
||||
<script src="dist/reveal.js"></script>
|
||||
<script src="plugin/notes/notes.js"></script>
|
||||
<script src="plugin/zoom/zoom.js"></script>
|
||||
<script src="plugin/markdown/markdown.js"></script>
|
||||
<script src="plugin/highlight/highlight.js"></script>
|
||||
<script>
|
||||
/** This used to be a part of Reveal.js, but was removed at some point */
|
||||
function getQueryHash() {
|
||||
function deserialize(value) {
|
||||
if (typeof value === 'string') {
|
||||
if (value === 'null') return null;
|
||||
else if (value === 'true') return true;
|
||||
else if (value === 'false') return false;
|
||||
else if (value.match(/^-?[\d\.]+$/)) return parseFloat(value);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
// Learn about plugins: https://revealjs.com/plugins/
|
||||
plugins: [RevealMarkdown, RevealHighlight, RevealNotes]
|
||||
});
|
||||
let query = {};
|
||||
location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi, a => {
|
||||
query[a.split('=').shift()] = a.split('=').pop();
|
||||
});
|
||||
// Basic deserialization
|
||||
for (let i in query) {
|
||||
let value = query[i];
|
||||
|
||||
query[i] = deserialize(unescape(value));
|
||||
}
|
||||
|
||||
// Do not accept new dependencies via query config to avoid
|
||||
// the potential of malicious script injection
|
||||
if (typeof query['dependencies'] !== 'undefined') delete query['dependencies'];
|
||||
|
||||
return query;
|
||||
}
|
||||
var presenter = !!getQueryHash().s;
|
||||
var stream = !!getQueryHash().stream;
|
||||
|
||||
// More info about initialization & config:
|
||||
// - https://revealjs.com/initialization/
|
||||
// - https://revealjs.com/config/
|
||||
reveal_dependencies = [
|
||||
{ src: 'https://reveal-multiplex.glitch.me/socket.io/socket.io.js', async: true },
|
||||
];
|
||||
if (presenter) {
|
||||
reveal_dependencies.push({ src: 'https://reveal-multiplex.glitch.me/master.js', async: true },);
|
||||
} else {
|
||||
reveal_dependencies.push({ src: 'https://reveal-multiplex.glitch.me/client.js', async: true });
|
||||
}
|
||||
Reveal.initialize({
|
||||
hash: true,
|
||||
|
||||
controls: presenter ? false : (stream ? false : true),
|
||||
progress: true,
|
||||
history: true,
|
||||
center: true,
|
||||
controlsTutorial: presenter ? false : (stream ? false : true),
|
||||
|
||||
slideNumber: presenter ? null : (stream ? 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: 1280,
|
||||
height: 840,
|
||||
|
||||
// Factor of the display size that should remain empty around the content
|
||||
margin: 0.1,
|
||||
|
||||
multiplex: {
|
||||
// Example values. To generate your own, see the socket.io server instructions.
|
||||
secret: getQueryHash().s || null,
|
||||
id: 'ef4a6dfa448e19c1',
|
||||
url: 'https://p.xobs.io/'
|
||||
},
|
||||
|
||||
|
||||
// Bounds for smallest/largest possible scale to apply to content
|
||||
minScale: 0.02,
|
||||
maxScale: 5.5,
|
||||
|
||||
defaultTiming: 40,
|
||||
|
||||
transition: 'slide', // none/fade/slide/convex/concave/zoom
|
||||
|
||||
// Don't forget to add the dependencies
|
||||
dependencies: reveal_dependencies,
|
||||
|
||||
// Learn about plugins: https://revealjs.com/plugins/
|
||||
plugins: [RevealMarkdown, RevealHighlight, RevealZoom, RevealNotes]
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
Reference in New Issue
Block a user