Evolution and History of Programming Languages SoftwareHardwareSystem - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Evolution and History of Programming Languages SoftwareHardwareSystem

Description:

To build programs, people use languages that are similar to human language. ... Handel-C. Has no tool support. Only useful for influencing other languages. ... – PowerPoint PPT presentation

Number of Views:157
Avg rating:3.0/5.0
Slides: 32
Provided by: eeMu
Category:

less

Transcript and Presenter's Notes

Title: Evolution and History of Programming Languages SoftwareHardwareSystem


1
Evolution and History of Programming
LanguagesSoftware/Hardware/System
2
Software Programming Language
3
History Timeline
4
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.
  • Programming languages fall into three broad
    categories

  • Machine languages
  • Assembly languages
  • Higher-level languages

5
The Evolution of Programming Languages - Machine
Languages
  • Machine languages (first-generation languages)
    are the most basic type of computer languages,
    consisting of strings of numbers the computer's
    hardware can use.
  • Different types of hardware use different machine
    code. For example, IBM computers use different
    machine language than Apple computers.

6
The Evolution of Programming Languages - Assembly
Languages
  • Assembly languages (second-generation languages)
    are only somewhat easier to work with than
    machine languages.
  • To create programs in assembly language,
    developers use cryptic English-like phrases to
    represent strings of numbers.
  • The code is then translated into object code,
    using a translator called an assembler.


7
(No Transcript)
8
The Evolution of Programming Languages -
Higher-Level Languages
  • Higher-level languages are more powerful than
    assembly language and allow the programmer to
    work in a more English-like environment.
  • Higher-level programming languages are divided
    into three "generations," each more powerful than
    the last
  • Third-generation languages
  • Fourth-generation languages
  • Fifth-generation languages

9
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.
  • 3GLs are portable, meaning the object code
    created for one type of system can be translated
    for use on a different type of system.
  • The following languages are 3GLs



FORTAN C COBOL C BASIC Java Pascal Activ
eX
10
A Typical C Program Development Environment
  • 1. Edit
  • 2. Preprocess
  • 3. Compile
  • 4. Link
  • 5. Load
  • 6. Execute

11
Higher-Level Languages - Fourth-Generation
Languages
  • Fourth-generation languages (4GLs) are even
    easier to use than 3GLs.
  • 4GLs may use a text-based environment (like a
    3GL) or may allow the programmer to work in a
    visual environment, using graphical tools.
  • The following languages are 4GLs


Visual Basic (VB) VisualAge Authoring
environments
12
Higher-Level Languages - Fifth-Generation
Languages
  • Fifth-generation languages (5GLs) are an issue of
    debate in the programming community some
    programmers cannot agree that they even exist.
  • These high-level languages would use artificial
    intelligence to create software, making 5GLs
    extremely difficult to develop.
  • Solve problems using constraints rather than
    algorithms, used in Artificial Intelligence
  • Prolog

13
Summary
14
Hardware Description Language
  • HDL

15
HDL
  • What and why HDL??

16
Hardware Description Language (HDL)
  • Basic idea is a programming language to describe
    hardware
  • Initial purpose was to allow abstract design and
    simulation
  • Design could be verified then implemented in
    hardware
  • Now Synthesis tools allow direct implementation
    from HDL code.
  • Large improvement in designer productivity

17
HDL
  • HDL allows write-run-debug cycle for hardware
    development.
  • Similar to programming software
  • Much, much faster than design-implement-debug
  • Combined with modern Field Programmable Gate
    Array chips large complex circuits (gt100000s of
    gates) can be implemented.

18
HDLs
  • There are many different HDLs
  • Verilog HDL
  • ABEL
  • VHDL
  • VHDL is the most common
  • Large standard developed by US DoD
  • VHDL VHSIC HDL
  • VHSIC Very High Speed Integrated Circuit
  • Verilog HDL is second most common
  • Easier to use in many ways better for teaching
  • C - like syntax

19
Verilog HDL
  • Verilog constructs are use defined keywords
  • Examples and, or, wire, input output
  • One important construct is the module
  • Modules have inputs and outputs
  • Modules can be built up of Verilog primatives or
    of user defined submodules.

20
Example Simple Circuit HDL
module smpl_circuit(A,B,C,x,y) input A,B,C
output x,y wire e and g1(e,A,B) not
g2(y, C) or g3(x,e,y) endmodule
21
HDL Summary
  • Hardware Description Languages allow fast design
    and verification of digital circuits.
  • Accurate simulation and testing requires delays
    and inputs to be specified.
  • There are three different levels of abstraction
    for modelling circuits.

22
System Design Language
  • Hardware and Software
  • Co-design

23
(No Transcript)
24
(No Transcript)
25
(No Transcript)
26
Traditional Design Flow
26
27
HW/SW Codesign Flow
  • Concurrent design between hardware and software
    using
  • Co-simulation
  • Co-synthesis

27
28
Codesign Language
  • Hardware Description Language (HDL)
  • Software Description Language (SDL)
  • People know C, so how about languages built on
    C/C?
  • SystemC
  • SpecC
  • Handel-C

Has no tool support. Only useful for influencing
other languages.
Lacks CAD tool support
Proprietary Not universally available
29
SystemC History
VSIA SLD Data Types Spec (draft)
Synopsys ATG
Synopsys Fridge
30
SystemC Highlights
  • Features as a codesign language
  • Modules
  • Processes
  • Ports
  • Signals
  • Rich set of port and signal types
  • Rich set of data types
  • Clocks
  • Cycle-based simulation
  • Multiple abstraction levels
  • Communication protocols
  • Debugging support
  • Waveform tracing

31
Current System Design Methodology
C/C System Level Model
  • Problems
  • Errors in manual conversion from C to HDL
  • Disconnect between system model and HDL model
  • Multiple system tests
Write a Comment
User Comments (0)
About PowerShow.com