Lyle

You forgot to mention the FUN??? of adding, instantiating and debugging packages
from third party sources too lazy to document - hi!

Phil, K3IB

----- Original Message ----- 
>
> There is enough information there to tell you the main parts on the
> board.  You then should go to the manufacturer's website and download
> the data sheets and related materials regarding the specific part (the
> FPGA, for example) as well as the related information (Cyclone family
> manuals and app notes, the Quartus software and manuals, etc.).  Work
> though any tutorials or examples you find on the software.  Quartus is a
> very powerful tool, but it isn't just "push button" software.  In the en
> d, if you are doing anything other than downloading and using the work
> someone else did, you will have to spend some time learning the tool.
>
> The same thing applies to the Cypress USB interface microcontroller.
>
> When learning to work with FPGAs, there are a number of general things
> to be aware of.
>
> If your background is using discrete logic chips, like 7400 or 4000
> series (yes, that dates you as well as me) you'll quickly discover that
> different approaches are required.  FPGAs typically have very limited
> "global clock" resources and logic should usually be designed to be
> synchronous to the the clocks.  Asynchronous logic approaches can work,
> but they are much more difficult.  You can't stick a capacitor or an RC
> network to suppress a 2 nsec wide glitch, for example, and the FPGA
> internal logic is fast enough to care about that glitch.  With the
> limited clocking, it is much harder to have various counters and shift
> registers working at different clock rates; you have to build clock
> qualification circuits to enable effective division.
>
> The FPGA equivalent is to do a syntax check and correct any errors
> there, then run a simulation of the input (if using VHDL or Verilog) to
> ensure the logic design seems to be OK.
>
> You then compile it, and then run the simulation on the output of the
> compiler, because it will sometimes (usually?) infer things from your
> statements that you did not intend.
>
> After place and route, you back-annotate and simulate again.  Then you
> download into the logic, and see if it works!  Then you try and
> understand why it didn't!!!
>
> Also, note that different FPGAs from different manufacturers have
> different resources.  Sometimes there are preferred ways to write the
> VHDL or Verilog to perform a specific type of function.  Pay attention
> to any tips or hints or coding style information particular to the FPGA
> and compiler you are using.  Just like writing lean software versus
> bloatware, you can write a logic function in different ways and the
> difference in results can be *huge*.  Sort of like nested if-then-else
> versus a case statement.  Sometimes one is better than the other based
> on the underlying architecture.
>
> For debugging any but the most trivial designs, a logic analyzer is
> almost indispensable.  Quartus allows you to embed one in your design,
> called SignalTap, if you are willing to let Quartus report back to
> Altera what sort of designs you are doing and all sorts of other
> "statistics."  If you find this intrusive, you have the option to turn
> off SignalTap.  I am nor sure if the Xylo USB interface supports
> SignalTap back to Quartus or not.
>
> Otherwise, you have to write your own logic analyze rand insert it into
> the design, bringing signals out to pins you can probe with external
> test equipment. Or maybe your logic design is already pushing the limits
> of the FPGA and there is no room inside for SignalTap or your own logic
> analyzer module.
>
> I recently purchased a low cost logic analyzer to supplement my higher
> end analyzer, and find it useful for FPGA projects.  YMMV, no financial
> interest, etc. <http://www.pctestinstruments.com/>
>
> FPGAs are powerful, and flexible.  They are the hardware equivalent of a
> CPU.  And like a CPU, learning to tame them, feed them, and train them
> to do what you want is an experience that can be exhilarating as well as
> extremely frustrating.  Persevere!
>
> 73,
>
> Lyle KK7P
>
>
> _______________________________________________
> FlexRadio mailing list
> [email protected]
> http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
>



Reply via email to