Amrita School of Engineering, Bangalore Campus ES716 : Hardware Software Codesign Amrita School of Engineering, Bangalore Campus Dr. Sudarshan TSB Professor Dept. of CSE Introduction Lecture 01
Amrita School of Engineering, Bangalore Campus
ES716 : Hardware Software Codesign
Amrita School of Engineering, Bangalore Campus
Dr. Sudarshan TSB
Professor
Dept. of CSE
Introduction
Lecture 01
Today
� Discussion of Handout
Introduction to the course
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 2
� Introduction to the course
Course Information� Books:
A Practical Introduction to Hardware/Software Codesign,
Patrick Schaumont,Springer, 2009, ISBN 978-1-4419-5999-7
Specification and Design of Embedded Systems
Daniel D. Gajski, Frank Vahid, S. Narayan, & J. Gong, Prentice Hall,
1994.
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 3
1994.
Hardware / Software Co-Design: Principles and Practice,
J Staunstrup and Wayne Wolf, Prentice Hall, 1994.
� References
Journal & Conference Papers
Relevant Conferences
� MEMOCODE :Conference on Formal Methods and Models for Codesign
� CODES_ISSS: The premier conference for System Level Design
The CODES+ISSS Conference is the merger of two major
international symposia on hardware/software codesign and system
synthesis.
� DAC: Design Automation Conference
� ASP-DAC: Asia South Pacific Design Automation Conference
� CASES: International Conference on Compilers, Architecture and Synthesis
for Embedded Systems
� ICCAD; International Conference on Computer Aided Design
� RSP: IEEE International Symposium on Rapid System Prototyping.
� ACSD: International Conference on Application of Concurrency to System
Design
� HLDVT: IEEE International High Level Design Validation and Test
Workshop
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 4
Course Goals
� Architectural Models
� Specification Languages
� Partitioning issues
� Partitioning techniques
Co-simulation, Co-synthesis
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 5
� Co-simulation, Co-synthesis
� Design Quality Estimation
� Compilation Techniques
� System-Design Methodology
� Recent Trends
Course Grading
� Assignments
� Term Paper
� Test-1 : 15%
20%
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 6
Test-1 : 15%
� Test-2 : 15%
� End Sem Exam : 50%
Introduction
� Digital systems designs consists of hardware
components and software programs that
execute on the hardware platforms
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 7
execute on the hardware platforms
� What is Hardware-Software Co-design ?
Wall Crumbled?
� Analog vs Digital
� ISP vs ASIP
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 8
� ASIC vs FPGA
� Hardware vs Software
Digital Design
Judged by its objective in application domain
� Performance (Speed, Power)
� Design & Manufacturing cost (Cost, Time)
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 9
Design & Manufacturing cost (Cost, Time)
� Ease of Programmability
It depends on both the hardware & software
components
Speed….
� Computer Architects argue
� Performance is an advantage of hardware(ASIC) over software (runnibg on a microprocessor)
Unfortunately,� Unfortunately,
� High-end processor have very high clk freq that much faster than ASICs
� Speed….
� Not an important metric…although a good metric..
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 10
Power…
� Consider the energy consumption of an AES
engine (encryption) on different architectures:
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 11
Dedicated Hardware engines are better…
Embedded Systems…
� Is a system that has software embedded into
a computer-hardware, which makes a system
dedicated for an application or specific part of
an application or product or part of a larger an application or product or part of a larger
system.
� Is one that has a dedicated purpose software
embedded in a computer hardware
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 12
Embedded Systems…
� It is any device that includes a programmable
computer buts is not itself intended to be a computer buts is not itself intended to be a
general purpose computer…� Wayne Wolf
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 13
Concurrent Design
� Traditional Design Flow • Concurrent (Co-design)
Flow
August 18, 2012©TSB Sudarshan, ASE, Bangalore 17
What is HW/SW Co-Design?
• The cooperative design of hardware and software components;
• The unification of currently separate hardware and software paths;
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 18
hardware and software paths;
• Moving of functionality between hardware and software;
Co-design Definition and Key Concepts
� Co-design� The meeting of system-level objectives by
exploiting the trade-offs between hardware and software in a system through their concurrent design
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore
� Key concepts� Concurrent: hardware and software developed
at the same time on parallel paths
� Integrated: interaction between hardware and software developments to produce designs that meet performance criteria and functional specifications
20
FPGAs
� FPGA circuits can be configured on-the-fly
to implement a specific software function
with better performance than on
microprocessor.
� FPGA can be reprogrammed to perform
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 22
� FPGA can be reprogrammed to perform
another specific function without changing
the underlying hardware.
This flexibility allows new design methodolgy for digital circuits.
Motivations for Codesign� Factors driving codesign
(hardware/software systems):
� Instruction Set Processors (ISPs) available as cores in many design kits (386s, DSPs, microcontrollers,etc.)
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 23
microcontrollers,etc.)
� Systems on Silicon - many transistors available in typical processes (> 10 million transistors available in IBM ASIC processor, etc.)
� Increasing capacity of field programmable devices- some devices even able to be reprogrammed on-the-fly (FPGAs, CPLDs, etc.)
� Efficient C compilers for embedded processors
� Hardware synthesis capabilities
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 24
Motivations for Codesign (contd…)
� The importance of codesign in designing hardware/software systems:� Improves design quality, design cycle time, and
cost� Reduces integration and test time
� Supports growing complexity of embedded
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore
� Supports growing complexity of embedded systems
� Takes advantage of advances in tools and technologies� Processor cores
� High-level hardware synthesis capabilities
� ASIC development
25
References
� De Micheli, Rajesh K Gupta, “Hardware/Software Co-
Design”, Proceedings of IEEE, Vol.85, No. 3, March
1997, pp 349-365
� D Edenfeld, A B Kahng, Mike Rodgers, Y Zorian, “2003
Technology Roadmap for Semiconductors”, IEEE
August 18, 2012 ©TSB Sudarshan, ASE, Bangalore 26
Technology Roadmap for Semiconductors”, IEEE
Computer, January 2004, pp 47-56.
� Wayne Wolf, “A Decade of Hardware / Software
Codesign”, IEEE Computer, April 2003, pp 38-43.