Connect with us

FPGAs are cool

Discussion in 'Electronic Design' started by John Larkin, Aug 21, 2003.

Scroll to continue with content
  1. John Larkin

    John Larkin Guest

    We're working on an arbitrary waveform generator design. The old rev
    used a multiplying DAC so that we could play a waveform from wave
    memory into the 16-bit DAC, and use a separate amplitude DAC to drive
    the reference of the waveform generator DAC, so we can scale the
    waveform amplitude (even flip it over) without having to reload the
    waveform memory. Problem here is that there are no decent 16-bit MDACs
    - the LTC part we used has nasty glitches and stuff - so performance
    was only fair. On the latest rev, we changed to a fast, clean
    non-multiplying DAC to make the waveform, and decided to use a binary
    multiplier to scale the waveform data, simulating the analog reference
    scaling of the old MDAC. Anyway, we're using a Xilinx Spartan 2E fpga
    to do this. What's shocking to me that, when we get a clock input from
    our DDS clock, we...

    sync the DDS clock to the FPGAs 40 MHz system clock
    increment the 16-bit waveform address counter
    add in a 16-bit base (memory start) address
    mux this (wave memory is dual-ported)
    go off chip to a static RAM chip that stores the waveform
    get back a 16-bit waveform point
    latch that
    run that through a 16x16 signed fractional digital multiplier
    feed that product out to the wavegen DAC, to be clocked on the
    next DDS clock edge.

    What's incredible is that, after the unavoidable 40 MHz clock sync
    operation, which takes 0 to 25 ns depending on things, the *entire*
    rest of the operation takes 20 ns!

    Having this sort of processing horsepower, and huge amount of
    available logic, in a cheap FPGA could entirly change the way one
    thinks about logic design.

    Anyway, I was impressed.

    John
     
  2. I was just wondering if such a device would be useful to build
    a certain kind of uart, a synchronous one. 1/3 manyear seems
    not too much.

    Thanks,

    Pieter Hoeben
     
  3. Mario Trams

    Mario Trams Guest

    Assuming that there's already experience with the used technology
    and the design software, such a thing (uart) is a matter of a week
    or so rather than months.

    Today, these programmable logic devices are really a must for
    everybody who is building a little more than blinking circuits :)

    Greetings,
    Mario
     
  4. Nico Coesel

    Nico Coesel Guest

    Precisely. The software ain't that complicated to use. If you know the
    basics of VHDL you can kick-off within a few days. I think I got
    Xilinx's PCI core running within a week -being completely new to
    Xilinx fpga's-.
    But you'll need at least a decent logic analyzer or a mixed signal
    oscilloscope for debugging.
     
  5. Perhaps less: http://www.opencores.org/projects/uart16550/
    Absolutely! Scrap the TTL junkbox (save line drivers).
     
  6. Dan Barlow

    Dan Barlow Guest

    I looked at OpenCores, but they didn't seem to offer a recommendation
    on hardware. Can you recommend a dev kit?
    -Dan Barlow
     
  7. I didn't use a development kit. I went straight to my own board. THe
    software I used (Synplicity) was expen$ive (employer had deep pockets
    on this project), but very good.

    You might search the archives of comp.arch.fpga. There have been
    several discussions there regarding kits. Also see the "programmable
    logic jump-station": http://www.optimagic.com/.
     
  8. GPE

    GPE Guest

    Same here - I use Synplicity quite abit. But - now that I'm developing with
    Xilinx, I just use their Foundation software. Not quite as nice as
    Synplicity - but still works well. I think you can download a crippled
    version of this software for free (won't do bigger FPGA's).

    As far as development boards - keep watching GreedBAY for stray's being
    auctioned off. I saw three on there last week.

    -- Ed
     
  9. Why aren't you using Synplify for Xilinx? Foundation is
    certainly cheaper, but I found it didn't do nearly the same job.
    IIRC, it's called the Xininx WebPack. I haven't used it, but I
    think it is pretty much the same as Foundation (minus the large
    part support).
     
  10. GPE

    GPE Guest

    One good reason... my company is too fu**ing cheap to bring my Synplicity
    software up to the current rev. The old rev we have doesn't work nicely
    with the newer Xilinx Virtex components. Otherwise we would be using
    Synplicity instead.
     
  11. ....and a very good reason that!

    Since I'm no longer doing FPGA stuff, we've let our license lapse, as
    well. It was fun while it lasted, but at least my mortgage company is
    still happy.
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-