In timestamped
Sat, 24 Feb 2007 23:15:33 GMT, "KJ" <
[email protected]> posted:
"Torsten Landschoff said:
Good point. My VHDL book says that the split component/entity is an
advantage of VHDL, supporting top down design. I was always wondering
where the improvement is. My C/C++ experience tells me that redundant
interface information calls for trouble.
[..]
In 1993 VHDL was heavily revised and direct entity instantiation was added
so that, you could completely avoid the component declaration. But even
now, 14 years later, most people seem to still use component
declarations...no doubt because books tell you it's a 'good idea' but don't
explain why or explain how it's in any way better than using the entity
declaration (hint, it's not better). You can get exactly to the same point
in being able to do 'the rest of the design' given the entity declaration as
you can with the component declaration.
The idea that you can write code that instantiates a box long before the box
has been designed is a good one. The method you use to accomplish that idea
should not introduce easy ways to make stupid mistakes. Both direct entity
instantiation and component declaration accomplishes the same goal....the
component declaration method introduces the potential for introducing
'stupid mistakes'.....between 1987 and 1993, the committee of people working
on refining VHDL saw this and fixed it...14 years later the textbooks and
professors are still stuck.
Kevin Jennings"
In defense of people who have not realized that they should not teach the
COMPONENT keyword like that, even the quite critical Oz Levia, Serge Maginot,
Jacques Rouillard, "Lessons in Language Design: Cost/Benefit Analysis of
VHDL Features", Design Automation Conference 1994 in which additions from
VHDL93 are mentioned does not seem to disparage components (I have just
glanced at some of the paper, but I did explicitly check for COMPONENT
and ENTITY) for general use.
Also, the search string
(( ( vhdl<in>metadata ) <and> ( entity<in>metadata ) )<and> (component<in>metadata ) ) <and> (pyr >= 1989)
for IEEE Xplore seems to reveal nothing against COMPONENT in the merely
eight documents found, but Andrew Guyler, "VHDL 1076-1992 Languages
Changes", EURO-DAC1992 does have advice against COMPONENT (which is
unfortunately not followed enough in the document itself) and can be
found
not by the search string above but can be found by the search string
(guyler a.<in>au)
, though I originally found it by
+VHDL +component +entity
and restricting to "Published since January 1992 and Published before
December 1994" on
HTTP://Portal.ACM.org .