Coprocessor Control Shell Design

  • Patrick R. Schaumont


This chapter discusses the design practice of attaching a custom hardware module to a hardware/software interface, an activity referred to as control shell design. It involves the encapsulation of a custom hardware module on a standard hardware/software interface, and the development of a software driver to control the custom hardware module through this hardware/software interface. There are two orthogonal aspects to control shell design. The first, data design, defines how to transfer data from software to custom hardware and back. The second, control design, defines how to implement a software control strategy for the custom hardware. The outcome of data design and control design define the programmer’s model, the abstract software view of the hardware module. This chapter will address each of these aspects, and discuss an example based on a control shell for an encryption coprocessor for the Advanced Encryption Standard (AES).


Data Item Clock Cycle Advance Encryption Standard Pipeline Stage Pipeline Architecture 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Hodjat A, Verbauwhede I (2004) High-throughput programmable cryptocoprocessor. IEEE Micro 24(3):34–45CrossRefGoogle Scholar
  2. Kogge PM (1981) The Architecture of Pipelined Computers. McGraw-KillGoogle Scholar
  3. NIST (2001) Federal information processing standards publication 197: Announcing the advanced encryption standard (aes). Tech. rep.,

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Bradley Dept. Electrical & Computer EngineeringVirginia TechBlacksburgUSA

Personalised recommendations