I think that the timing based assertions, are missing in VHDL.
VHDL has no temporal syntax like PSL's or e's, so it is certainly
more difficult to write complicated timing assertions in VHDL
than in those languages. However, there is no difficulty in
principle. VHDL has many useful signal attributes such as
'LAST_VALUE and 'STABLE that make it easy to write simple
timing assertions, and possible to write more complex ones.
Have you investigated the Open Verification Library (OVL)?
the H/W S/W co-verification concept is missing.
If by this you mean that VHDL lacks a standardised interface
to other languages, so that you can create your own co-verification
environment, then you are right. However, many tool vendors have
solutions to this problem for their own VHDL simulators, and there
is a standardisation effort in progress for the VHPI (VHDL's
version of Verilog's PLI).
only the functional assertions are possible.
As I have pointed out above, this is untrue.
There is no way for
checking the race conditions using VHDL alone.
I don't understand exactly what you mean by this.
Do you mean "checking that setup and hold times
are not violated"? That's very easy in VHDL.
If you mean checking for race conditions within the
VHDL code, then that is a well-understood problem of
concurrent programming and VHDL has perfectly adequate
solutions to it.
For transaction level
modelling too I think some features are lacking.
This is definitely true; for TLM it is almost essential
to have some kind of object-oriented language. No doubt this
is why C++ is the language of choice for many TLM efforts
such as SystemC channels.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I am not sure I understand the point of your comments.
Although VHDL can do some things that you say it can't,
it is definitely true that VHDL lacks facilities that
are considered important in modern programming and
verification practice. Either VHDL will evolve to add
those facilities, or it will slowly wither away as have
so many other excellent programming languages. (Who
now uses Pascal, BCPL, Algol-68, POP-II?) There is
excellent work in progress towards "VHDL-200x" -
check it out at
www.eda.org
In summary: For timing assertions, get a tool that allows
you to use PSL together with VHDL. For transaction level
modelling, use SystemC - but don't forget that you can
integrate your SystemC and VHDL code into a single simulation,
with some tools. The industry is rapidly developing new
tools and languages to meet new challenges. It seems a bit
unfair to criticise VHDL for failing to answer questions that
simply weren't asked in the mid-80s when it was created.
--
Jonathan Bromley, Consultant
DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * Perl * Tcl/Tk * Verification * Project Services
Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, Hampshire, BH24 1AW, UK
Tel: +44 (0)1425 471223 mail: (e-mail address removed)
Fax: +44 (0)1425 471573 Web:
http://www.doulos.com
The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.