Paul Uiterlinden <> writes:
> Robert G. Kaimer Jr. wrote:
>
> > I've been working with VHDL for several years. Recently, a
> > DSP-intensive portion of one of our designs was developed by our Sr.
> > Scientist using Simulink and System Generator. He didn't have any
> > previous FPGA experience, and has since presented what is widely
> > considered a convincing argument for the eventual replacement of
> > VHDL hand coding at our company.
>
> Coincidentally, I happened to read this article today:
> http://www.fpgajournal.com/articles_...061128_dsp.htm
>
> Further than that, I do not have a real opinion on the subject
> (lacking experience in DSP and MatLab).
>
> Of course, there is a tendency to higher levels. After all, drawing
> gates and schematics have been replaced almost entirely by writing
> VHDL/Verilog.
>
Except that Sysgen *is* pretty much low-level unless you can make use of
the predefined high level blocks (which are very commsy). For our
application, it was *just* like writing VHDL - you have to instantiate
registers, adders and the like and wire them up. Just like the old
schematic days
Pros:
* It understands fixed point, so it lines the decimal points up for you
and propogates the size of results.
* You get all of Simulink's interesting signal sources for free
If you already know Simulink, it's easier than learning VHDL. You'll
still have to learn FPGA though
Cons:
* Not that different to hand coded VHDL, unless you want a Viterbi
decoder or the like.
* You get all of Simulink's "features" - like it has no idea of
hierarchy in a model unless you start removing bit and creating
libraries. Makes testbenches a pain.
* It takes ages to run and then says "you've got too many bits going
into this register" before dying. You had to wait about 3 mins on our
design (which was not *that* big, a middling Virtex-II) to get these
errors, and eventually it would synthesise. Which also took ages!
Cheers,
Martin
--
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html