[Fpga-synth] Learning FPGA Design
Eric Brombaugh
ebrombaugh at earthlink.net
Sat Oct 20 00:10:25 CEST 2007
Dave Manley wrote:
> Syntactically, the only thing that is odd is the 'reg QQ
> = 0'.
Before using FPGAs I would have agreed with you 100% on this issue, and
I still don't do declaration/initialization in my day-to-day code. The
main reason is that I come from an ASIC background where this just plain
doesn't make sense.
That said though, due to the built-in initialization that the FPGA
configuration process gives you, this is actually a more accurate model
for the way an FPGA design really works.
Assuming X on startup and giving an explicit reset is still the most
bullet-proof way to design though. The more pessimistic modeling
provided by 'all X' will help you find some start-up and deadlock states
that aren't found by assuming 'all 0' states.
> I am unfamiliar with XST, but have heard things over the years, and have
> been impressed with what you've been able to accomplish using it. I
> believe Synopsys Design Compiler and Synplicity Synplify would have both
> compiled all of your examples correctly.
I've used Synopsys DC, ancient Xilinx stuff and now lately XST. XST
isn't at all bad, but it does have a few problems. I've personally
submitted 3 testcases for issues that I've seen across ISE 8.2 - 9.2.
Not bad for a free tool though. I tend to code at a fairly high level
(very little explicit instantiation) and it manages to infer my intent
almost all the time - even with things like V4 DSP48s with all the
trimmings.
> I recommend adopting a very minimalist Verilog coding standard where you
> use only what you know to work perfectly. If you had access to a lot of
> professionally written verilog, you'd see for the most part people
> keep it very simple and only go down tried and true paths.
Seconded.
Eric
More information about the Fpga-synth
mailing list