Languages for HW and SW Development

advertisement
Languages for HW and SW
Development
Ondrej Cevan
Content

HW vs. SW development purpose

HDL vs. SW programming language

merging HDL and SW prog. language

conclusion
04.06.2007
Languages for HW and SW development
2
What we Need to Develop?
(The Origin of Differences)

HW


code translatable into
electronic logic
components (gate
arrays, complex control
circuits)

04.06.2007
finally -> layout for
mask -> transfer to
silicon
SW

code translatable into
machine language

finally -> instructions in
machine language
loaded into the memory
of the machine
(computer)
Languages for HW and SW development
4
How To Achieve It

HW

hardware description
languages (HDL)


04.06.2007
SW

VHDL, Verilog, Abel, ...
components mapped to
the target technology in
the compilation step



thus HDL code can be
technology independent
after PPR -> mask
building or download to
(re)configurable HW

programming
languages

high-level (C++, Java, ...)

low-level (C, Assembler, ...)
compiler translates the
source language into
specific machine
language

thus source code can be
machine independent
Languages for HW and SW development
5
HDL Format and Syntax

Boolean Description
Using VHDL

The keyword ENTITY
defines the interface of
the circuit block, in this
case: and_gate

The keyword PORT
defines the inputs and
outputs.

The keyword
ARCHITECTURE
describes the operation
inside the block.

04.06.2007
The BEGIN and END
contain a description of
the operation


The keyword CONFIGURATION maps
architecture with entity
operation processed whenever a signal
change occurs on “a” or “b” input pin
Languages for HW and SW development
7
Prog.L. Format and Syntax

function definition in C



04.06.2007

C:
function contains
declarations and
statements
char and(char a, char b){
input and output (return)
variables defined in the
function declaration
}
operation defined in the
body of the function
char c; c = a & b;
return c;

function processed whenever
called
Languages for HW and SW development
8
HDL vs. Prog.L.
HDL
Programming Language
example
VHDL, Verilog, AHDL
C, C++, Java, C#, Python
purpose
formal description of electronic circuits provide instructions to a computer
concurrency support
strong
limited (but growing)
support for simulation
strong (on all levels)
limited
timing support
yes
no
synchronization
yes
no
exception handling
not supported
supported
syntax
text-based, schematic
text-based
technology independent yes
yes
high-level of abstraction yes (compared to circuit level)
yes (compared to machine language)
needed knowledge
high (knowledge of logic elements)
rather small, but growing ->
of computer architecture strict rules to follow (synthesizable code)advent of multicores
OOP support
no support (yet)
high
future trends
OOP support
no fundamental changes needed in
(to deal with the growing complexity),
order to handle concurrency,
support for hybrid electronic circuits
objects in 3D environment?
VHDL-AMS Analog and Mixed Signal Extensions
04.06.2007
Languages for HW and SW development
9
System Level Design





language for System Level Design must be able to describe
the whole system, consisting of SW and HW
support for concurrency, synchronization, exception handling,
concept of time, complex functionality
support for simulation and verification at every design level,
support for ordinary Prog.L. syntax (C++)
HDL & Prog.L. merge into System Description Language =>
SystemC, SystemVerilog
SLD enables to develop SW for specific HW not produced yet
04.06.2007
Languages for HW and SW development
10
Conclusion





basic differences in concurrency support and the purpose (el.
circuit vs. machine code)
HW developers should have deeper understanding of how the
code can be translated into HW
with growing complexity of the computation systems the
demand for high-level languages for SW and HW development
grows too
modern tools are very effective in translating high-level
abstractions into low-levels (levels closer to silicon)
trend: merging HW and SW development process => SystemC
(more in the following presentation)
04.06.2007
Languages for HW and SW development
11
Thank You!
04.06.2007
Languages for HW and SW development
12
List of Used Sources


http://www.embedded.com/story/OEG20011009S0072
Einführung in die Technische Informatik; Gerhard H. Schildt,
Alexander Redlein, Daniela Kahn

Hardware Modeling VO; Martin Delvai

www.wikipedia.org
04.06.2007
Languages for HW and SW development
13
Download