From: Muzaffer Kal on
On Thu, 15 Apr 2010 14:21:37 -0700 (PDT), Patrick Maupin
<pmaupin(a)gmail.com> wrote:

>On Apr 15, 3:12�pm, David Brown <da...(a)westcontrol.removethisbit.com>
>wrote:
>
>> Another famous contest involved a C and Ada comparison. �It took the Ada
>> more than twice as long as the C team to write their code, but it took
>> the C team more than ten times as long to debug their code.
>
>Well, this isn't at all the same then. The Verilog teams got working
>designs, and the VHDL teams didn't.

There are two issues to consider. One is the relative times of writing
the codes vs debugging ie if writing took 5 hours and debugging 10
minutes (unlikely) then C still wins. Which brings the second issue:
it is very likely that the programming contest involved a "larger"
design to be finished. If I am remembering correctly RTL was an async
reset, synchronously loadable up-down counter which is a "smallish"
project. If programming contest involved something more "involved" it
still points to the benefit of strong typing and other features of
Ada/VHDL etc.
--
Muzaffer Kal

DSPIA INC.
ASIC/FPGA Design Services

http://www.dspia.com
From: Jan Decaluwe on
On Apr 14, 9:45 am, David Brown <da...(a)westcontrol.removethisbit.com>
wrote:

> When I used confluence, my results were far better.  It was simpler and
> clearer, and it handles the low-level Verilog or VHDL details
> automatically.  You can't accidentally end up with a latch or
> asynchronous logic in your state machines - in fact, it won't let you
> generate latches at all.  You don't have registers that are reset in
> simulation and preset in synthesis, because all the Verilog/VHDL
> registers are generated with explicit resets (or presets).  You don't
> have problems when mixing signed and unsigned values, because these are
> handled correctly.
>
> I haven't used MyHDL for more than brief tests, but it appears to give a
> similar isolation from the messy low-level details of Verilog and VHDL,
> while (even more than confluence) it gives you higher level features.
> People often compare Verilog to "C", and VHDL to "Ada" - I think they
> both share a lot with assembly language.

It is easy to use MyHDL in "Confluence mode", for example to describe
recursive structures and dataflows. However, conceptually the
languages are completely different.

It is remarkable that most HDLs that are *proposed*, including
Confluence,
have parallel-only semantics. This idea of a "HDL closely matching
hardware" is rediscovered once in a while. However, it seems the
market just doesn't want it. Personally I'm convinced that such HDLs
are not powerful enough for general purpose digital design work.

In this respect, MyHDL is proudly in the VHDL/Verilog camp, with
strong support for sequential descriptions also. That gives you much
more power, but it implies that there is more to learn and to
understand.

For example, with MyHDL you will also have to learn about latch
inference and how to avoid "unwanted latches". However, just like in
VHDL/Verilog there is a much better solution for this than using a
limited HDL: use a clocked process template by default.

Jan

--
Jan Decaluwe - Resources bvba - http://www.jandecaluwe.com
Python as a HDL: http://www.myhdl.org
VHDL development, the modern way: http://www.sigasi.com
Analog design automation: http://www.mephisto-da.com
World-class digital design: http://www.easics.com

From: Patrick Maupin on
On Apr 15, 4:31 pm, Muzaffer Kal <k...(a)dspia.com> wrote:
> On Thu, 15 Apr 2010 14:21:37 -0700 (PDT), Patrick Maupin
>
> <pmau...(a)gmail.com> wrote:
> >On Apr 15, 3:12 pm, David Brown <da...(a)westcontrol.removethisbit.com>
> >wrote:
>
> >> Another famous contest involved a C and Ada comparison.  It took the Ada
> >> more than twice as long as the C team to write their code, but it took
> >> the C team more than ten times as long to debug their code.
>
> >Well, this isn't at all the same then.  The Verilog teams got working
> >designs, and the VHDL teams didn't.
>
> There are two issues to consider. One is the relative times of writing
> the codes vs debugging ie if writing took 5 hours and debugging 10
> minutes (unlikely) then C still wins. Which brings the second issue:
> it is very likely that the programming contest involved a "larger"
> design to be finished. If I am remembering correctly RTL was  an async
> reset, synchronously loadable up-down counter which is a "smallish"
> project. If programming contest involved something more "involved" it
> still points to the benefit of strong typing and other features of
> Ada/VHDL etc.

But it's mostly academic and FPGA people who think that VHDL might
have any future at all. See, for example:

http://www.eetimes.com/news/design/columns/industry_gadfly/showArticle.jhtml?articleID=17408302

Regards,
Pat
From: Andrew FPGA on
Interesting in the discussion on myHdl/testbenches, no-one raised
SystemVerilog. SystemVerilog raises the level of abstraction(like
myHdl), but more importantly it introduces constrained random
verification. For writing testbenches, SV is a better choice than
MyHdl/VHDL/Verilog, assuming tool availablility.

It would seem that SV does not bring much to the table in terms of RTL
design - its just a catchup to get verilog up to the capabilities that
VHDL already has.



From: Jonathan Bromley on
On Apr 15, 10:21 pm, Patrick Maupin <pmau...(a)gmail.com> wrote:

> Well, this isn't at all the same then.  The Verilog teams got working
> designs, and the VHDL teams didn't.

It's really about time that this old VHDL-Verilog shootout nonsense
was shown up for the garbage it was.

It was set up by John Cooley many years ago. It took place in the
US where Verilog predominated, then as now, so there was a much
smaller pool of skilled VHDL users than Veriloggers at the host
event. At the time, VHDL did indeed lag badly behind in some
respects - the situation with numeric packages was chaotic, and
the design was a (very simple) counter of some kind so anyone
who wasn't fluent with the VHDL numeric packages **as accepted
by the tools in use** was doomed. And, as Andy pointed out, the
scale of the problem was so tiny that Verilog would always come
out on top - Verilog is definitely faster to write for tiny
designs; you don't need a contest to work that out.

All of this means that the "contest" was little more than a
good way to show how feeble were VHDL's **tools** at that
time. It wasn't very long before the tool vendors got their
acts together, but the shootout wasn't re-run; instead, it
became part of the folklore. It was unreliable populist
hokum then, it's out-of-date unreliable hokum now, and I'm
saddened to see it adduced in evidence so many years on.

There's a lot wrong with VHDL, for sure, but a lot right too.
Here's a sampler of a few things that have been in VHDL since
at least 1987:

Added to Verilog in 2001:
- generate
- multi-dimensional arrays
- signed vector arithmetic
- configurations (nasty in both languages!)

Added to SystemVerilog in 2003-2005:
- packages
- structs (a.k.a. records)
- non-trivial data types (e.g. arrays, structs) on ports
- enumeration types
- unresolved signals (compiler errors on multiple drivers)
- non-trivial data types as subprogram arguments
- reference arguments to subprograms
- default values for input arguments
- inquiry functions to determine the dimensionality and
bounds of an array

May possibly be added to SystemVerilog in 2012:
- parameterized subprograms (like VHDL unconstrained arrays)
- subprogram overloading

Of course, there's also a ton of stuff that Verilog can do
but VHDL can't. And it's rarely a good idea to judge any
language by a laundry-list of its feature goodies. But
it is NEVER a good idea to trivialize the discussion.
--
Jonathan Bromley