FPGA Workshop

From Tmplab

Revision as of 12:59, 17 July 2009 by Lekernel (Talk | contribs)
Jump to: navigation, search
  • Titre: FPGA Workshop #3: Computer Architecture
  • Par: lekernel
  • Date: Saturday, August 29th, 2009
  • Lieu: /tmp/lab

Practical computer architecture made possible for individuals



Computer architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals (Wikipedia).

With the invasion of digital devices during the last decade (cellphones, wireless routers, digital TV...), it has become more than ever ubiquitous.

However, it is still a poorly known subject for most people. Even among the self-proclaimed hardware hacking community, most fanatics of the Arduino development board open source physical computing platform do not know that all the functionality of their much-hyped toy comes from an AVR microcontroller chip that has been manufactured for years by Atmel. And among those who know, yet fewer people are knowledgeable about the inner working of the AVR microchip; in which computer architecture plays an important role.

The reason behind this might be that during decades, computer architecture was reserved to academic lectures and companies who had enough cash to build integrated circuits costing several hundreds of thousands of dollars. This left little room for the individuals, except those who had the guts to wire together hundreds of logic ICs together. But these amateur systems lag well behind commercial solutions in terms of performance, size, and power consumption.

But today's falling costs of powerful FPGAs make it possible for individuals to build complete high-performance computer systems (System-on-Chips) from scratch.

This workshop will explore this possibility. After introducing basic computer architecture concepts and practices, we will load a simplified version of an existing System-on-Chip design in the development boards and execute simple programs on it. Then, using Verilog HDL, we will design a simple peripheral for the system-on-chip, integrate it, and test it.


  1. Basic knowledge of Verilog HDL (equivalent to the 2 previous workshops)
  2. Basic programming practice (knowing how to write a for loop in your favorite language is enough)

Hardware requirements

  1. Come with your laptop
  2. Bring a development board, preferably a Spartan 3A Evaluation Kit ($49)
  3. ISE Webpack software and programming tools for your board must be installed before. Installations take a long time that we cannot afford to waste during the workshop. See previous workshop pages for instructions.


  1. Lekernel
Personal tools