Programmable Logic Lessons

From Hackerspace.gr
Revision as of 23:51, 23 May 2013 by Skmp (Talk | contribs)

Jump to: navigation, search

Description

Basic introduction into fpgas and stuff (still thinking on the actual content, we'll start from the very very very basics). I'll try my best to explain everything, but you'll have to study if you are a total begginer :)

The plan is to have 3 introductory sessions, and then get into more hands on stuff. Hopefully we'll have our own (tiny and minimal) working cpu by the end of this !

Prerequisite knowledge and skills

  • Basic understanding of programming
  • Basic knowledge of git (http://githowto.com/ can help you, we'll use git for examples and collaborating)
  • Github account (We'll host our stuff there)
  • A laptop (We do some some spare computers in hackerspace, but you'll need to work on your own at home)

Doodle pool for date selection

http://www.doodle.com/yp99tnvzvq7ygwmy#table -> Begining Tuesday, May 28, 2013 7:00 PM - 9:00 PM, and generally Tuesdays 7 - 9

Hardware

Papilio One - 500K - https://www.sparkfun.com/products/11158

  • Xilinx Spartan 3E/500K gates

Atlys - Spartan6 - http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,836&Prod=ATLYS&CFID=1733993&CFTOKEN=46850973

  • has cute hdmi output

Schedule

Digital electronics recap - Tuesday, May 28, 2013 7:00 PM - 9:00 PM

Tooling, VHDL/Verilog basics

More complicated structures

  • More digital design stuff
    • Clocked vs clockless/asynchronous design
    • Clock domains, etc
    • Buffers, fifo, pipelines, etc
    • (more stuff)
    • We'll Implement something relevant to avoid too much boring theory

Computer architecture

  • Basic stuff
    • Buses/Protocols, basic design ideas
    • how is cpu design done
    • What are SoCs
    • Emulation/simulation
  • Think together a custom, minimal SoC
    • We'll actually implement this later on :)

Computer architecture, part 2

  • More work on the design we'll have
    • Implement it in software, see what tools are needed etc
    • Break it in blocks so we can work on the verilog part

Computer architecture, part 3

  • Implement the design in verilog
  • Explore perfomance/cost/etc
    • Let's make something fun with it -- perhaps a tiny brix clone or smth ?
  • General info about more complex cpu designs (closer to the curren generation of cpus) and about gpu/stream processing
  • General talk about sharing/working with open source hardware

Related material

Useful Links

Contact

Μέσω της λίστας γενική συζήτησης βάζοντας το label [PLD-Lessons] στην αρχή του subject.