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
   72   73   74   75   76   77   78   79   80   81   82