Difference between revisions of "PLD Workshop 18 06 2013"
From Hackerspace.gr
Line 18: | Line 18: | ||
==== Aftermath ==== | ==== Aftermath ==== | ||
* Implemented basic cpu in C/C++ | * Implemented basic cpu in C/C++ | ||
+ | * code in https://github.com/pld-lessons/simple_cpu | ||
==== For study ==== | ==== For study ==== |
Revision as of 21:03, 18 June 2013
[Hackerspace.gr external link] |
Starts | Organizer |
---|---|---|
Tue 18 Jun 2013 19:00 | Hackerspace.gr | |
Ends | Event Owner | |
Tue 18 Jun 2013 21:00 | User:Skmp |
Switches! Lots of them!
we'll actually split into teams and all, so we'll really need the laptops this time around
Aftermath
- Implemented basic cpu in C/C++
- code in https://github.com/pld-lessons/simple_cpu
For study
- Implement an assembler that accepts assembly in a nice, text format and outputs C code for it
- Modify tiny.cpp to read external binary files
- modify the assembler to generate binary files
Example assembly format
//this is a commend and is ignored mov r0,1 add r0,r1,r2 add r0,r2 //this is a shorthand for add r0,r0,r2 print r0
Computer architecture
- Introduction
- Buses/Protocols, basic design ideas
- how is cpu design done
- What are SoCs
- How does a typical simple cpu looks like
- Emulation/simulation
- Structure of a typical emulator
- Hands on stuff !
- Think together an extremely simple cpu
- Split into three teams
- Implement it in verilog (team A)
- Implement it in C/C++ (team B)
- Implement a simple assembler (team C)
- Think together a custom, minimal SoC
- We'll actually implement this later on :)
Also checkout The main page