logo Insalogo Insa

Concepts and Hardware for Data Transmission


Programme (detailed contents) :

First part : The student have to create a computer machine with FPGA. Using a data path already defined during the second year, and a proposed instructions set, they design a computer machine following several steps : memory organization, instructions set design, control unit to execute the instructions set, organization of a simple IO and design of a simple interruption unit, gpio, direct memory access.

Second part :  Definition and role of the assembly langage among the programming tools.

Generic concepts of assembly language : data operations (arithmetic, logic), memory access (addressing modes), execution flow control (conditional processing).

Application to the ARM architecture

Calling and returning from subroutines, the stack, interrupts, specific features of the ARM architecure, calling standards, arguments passing, return value, context saving.

Developement of mixed-language applications (C and assembly)

Third part : Design and implementation of a digital data wireless communication system. This design can be different every year but in any case the students will be confronted to the software development in assembly language and to the hardware design and implementation of a wireless system (emitter /receiver). The present application is a LASER game based on a DFT computation.


At the end of this module, the student will have understood and be able to explain (main concepts)


ü  The operating principles of a computer

ü  Von Neuman model

ü  Arithmetic, memory, input output circuit, control unit, interruption mechanism, microprogramming, gpio, direct memory access

ü  Elements of the instruction set of a given processor and their representation in assembly language

ü  The components of a software development tools compliler, linker, loader, debugger



The student will be able to:

ü  Create a simple machine with FPGA

ü  create functions in assembly language, call them from a C language program

ü  develop and test an autonomous embedded application on microcontroller

Needed prerequisite

  • Algorithms and Programming languages (1st year)
  • Computer architecture (2nd year)
  • Analog and digital circuits (2nd year)

Form of assessment

The evaluation of outcome prior learning is made as a continuous training during the semester. According ot the teaching, the assessment will be different: as a written exam, an oral exam, a record, a written report, peers review...


  • Architecture des ordinateurs, J.L. Hennessy et D. A. Patterson. Thomson Publishing, 1996
  • Fundamental of logic design, A.Friedman. ¨ Computer science press , 1986
  • Contemporary Logic Design, R.H. Katz. ¨ , The Benjamin/Cummings Publis.Comp 1994
  • ARM Assembly Language: Fundamentals and Techniques, William Hohl, Taylor & Francis, Inc., (ISBN  9781439806104)
  • The Definitive Guide to the ARM Cortex-M3, Joseph Yiu, Elsevier Science & Technology Books (ISBN  9780750685344)


Additional information


First part : 1h15' (Lect.) + 33h00 (Lab. )

Second part : Lect. (8h45), Sem. (5h00), Evaluation (1h15').

Third part : Lab (35h45')


Main difficulties for students:

Insufficiency in Boolean algebra - Lack of rigor

Be able to put together knowledge learned in different classes to build a real communication system.


Assembling language, telecommunication systems, Hardware Architecure