Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programming Languages
Software/Hardware/System
Software Programming
Language
History Timeline
The Evolution of Programming Languages
To build programs, people use languages that are similar
to human language. The results are translated into
machine code, which computers understand.
• Machine languages
• Assembly languages
• Higher-level languages
The Evolution of Programming Languages -
Machine Languages
Assembler
Object code
The Evolution of Programming Languages -
Higher-Level Languages
• Third-generation languages
• Fourth-generation languages
• Fifth-generation languages
Higher-Level Languages -
Third-Generation Languages
• Third-generation languages (3GLs) are the first to
use true English-like phrasing, making them easier
to use than previous languages.
Primary Memory
CPU
6. CPU takes each instruction
and executes it, possibly
storing new data values as
the program executes
Higher-Level Languages -
Fourth-Generation Languages
• Fourth-generation languages (4GLs) are even easier
to use than 3GLs.
26
HW/SW Codesign Flow
Concurrent design
between hardware
and software using
Co-simulation
Co-synthesis
27
Codesign Language
Software Description Hardware Description
Language (SDL) Language (HDL)
People know C, so
how about languages
built on C/C++?
SystemC Has no tool support. Only useful for influencing other languages.
Lacks CAD tool support
SpecC
Handel-C Proprietary: Not universally available
SystemC History
VSIA SLD Data
Types Spec (draft)
Synopsys
Synopsys SystemC
ATG
“Scenic” v0.90
Sep. 99
UC
Synopsys
Irvine
“Fridge”
1996 SystemC
Fixed Point v1.0
Frontier Design Apr. 00
Types
A/RT Library
1991
SystemC
CoWare Abstract
imec Protocols
v1.1
“N2C”
1992 Jun. 00
1997
SystemC Highlights
Features as a codesign language
Modules Clocks
Processes Cycle-based simulation
Ports Multiple abstraction levels
Signals Communication protocols
Rich set of port and signal Debugging support
types Waveform tracing
Rich set of data types
Current System Design
Methodology
C/C++
System Level Model Manual Conversion
Simulation
Results
Problems Synthesis
Errors in manual conversion from C to
HDL Rest of Process
Disconnect between system model and
HDL model
Multiple system tests