Page 77 - Mechatronic Systems Modelling and Simulation with HDLs
P. 77
66 4 MODELLING IN HARDWARE DESCRIPTION LANGUAGES
all combinations of input values in a simulation, for reasons of running time. Formal
verification makes it possible to mathematically prove the equivalence between two
descriptions or the existence of certain circuit properties.
Both simulation and formal verification are normally tied to a system description
in a given hardware description language. Conversely, the formulation of a system
in a hardware description language often facilitates the use of appropriate tools.
4.2.3 Automatic synthesis
As indicated above, the design of a circuit often consists of an incremental refine-
ment of a hardware description language. The theory and corresponding software
tools are well developed in this field, particularly for the digital hardware descrip-
tions. The transition from the register-transfer level to a gate net list in particular
is automated as standard even now. In general, further synthesis tools are con-
nected with this, which convert the gate net list into a standard cell layout, a gate
array layout, or a programme description for a FPGA. Thus the manual part of
the design sequence for digital circuits is often completed as early as the register
transfer level.
4.3 Characterisation of Hardware Description
Languages
At first glance a hardware description language is similar to a programming lan-
guage such as C or Pascal. Models are formulated as text in a hardware description
language, with a range of key words being attributed special importance. Further-
more, a predefined syntax must be adhered to. After parsing, syntactically correct
models are translated into an intermediate format upon which the simulation can
then be run. However, there are also important differences between hardware
description languages and programming languages. For example, a programme
normally runs sequentially, i.e. only one instruction is ever processed before a cer-
tain point in time. This is not acceptable for the description of hardware. All gates
of a logic circuit in principle work in parallel. In hardware description languages
this state is accounted for by the fact that instructions are normally processed in
parallel. Certain areas of a hardware description that are reserved for sequential
instructions represent the exception to this rule. In this area the typical instru-
ments of a procedural programming language are available, such as ‘if-then-else’
constructs, loops or ‘case’ instructions.
As mentioned above, a hardware description language provides the option of
describing both the behaviour and the structure of a circuit. The main difference
between behaviour and structure will be explained briefly in what follows. The