In timestamped Tue, 31 Jul
2007 20:51:56 +0100, Dave Higton <
[email protected]> posted:
|------------------------------------------------------------------------|
|"In message <
[email protected]> |
| |
|> On Sat, 28 Jul 2007 21:52:47 -0000, |
|> |
|[..] |
|> > |
|> >as the idea is to have a counter that changes with EVERY clock event,|
|> >not just the leading edge. |
|> |
|> How do you think this would be implemented in hardware? |
|> Flip-flops that trigger on both edges of a clock are |
|> as rare as rocking-horse shit." |
|------------------------------------------------------------------------|
Jonathan, I do not mean to be disrespectful, but it is irrelevant
whether or not flip-flops which can be triggerred on both edges of a
clock are available.
|------------------------------------------------------------------------|
|" Synthesis tools rightly |
|> complain if you try to imply such logic." |
|------------------------------------------------------------------------|
They have no right to complain.
|------------------------------------------------------------------------|
|" The code that |
|> you present is valid VHDL, but would not go through any |
|> synthesis tool I know about. |
| |
|And since there have been at least two implementations |
|suggested in this newsgroup, I think it's high time the |
|synthesis vendors got off their bottoms and implemented |
|something." |
|------------------------------------------------------------------------|
In theory this is true, but synthesis vendors seem to have an ability
to not bother providing an implementation for something until a long
time has passed. I do not know whether this is because they are busy
working on other things or because they are lazy. One person I met
attributed something similar to being a case of vendors knowing that
for a few years a missing feature would be tolerable but that
eventually customers would demand it as virtually essential in which
case it would be eventually provided.
|------------------------------------------------------------------------|
|"After all, when someone writes VHDL for a counter in a |
|CPLD, the vendors don't bleat "Woe is me, this CPLD has |
|no counter primitive, I can't do this" - they synthesise |
|a counter from the primitives they have available to them. |
|Same for state machines. |
| |
|Dave" |
|------------------------------------------------------------------------|
I do not know whether Dave's examples are true, but they seem to be
excellent examples of why a lack of straight forward mappings to
efficient primitives is not a sufficient excuse for not providing
synthesis support for some kinds of code. A synthesis tool should be
more like a compiler instead of merely an assembler.
Regards,
C. P. G.