Function Generator

Projects you are planning or working on with the Mojo
comeau
Posts: 21
Joined: March 5th, 2017, 6:07 pm

The Money Shot

Post by comeau » March 20th, 2017, 9:01 pm

Finally, we get to the output. Please note that these scope screenshots are taken from the input of the opamp, not the output. (As I said eariler, I couldn't get the opamp to work properly *while* also connected to the PC)

Check out that sexy sine wave!!!
Attachments
tri1.jpg
tri1.jpg (206.19 KiB) Viewed 4235 times
si2.jpg
si2.jpg (188.39 KiB) Viewed 4235 times
si1.jpg
si1.jpg (201.76 KiB) Viewed 4235 times

embmicro
Site Admin
Posts: 834
Joined: March 24th, 2013, 12:45 pm

Re: Function Generator

Post by embmicro » March 29th, 2017, 3:44 pm

Congratulations for getting it working! Looks like a solid project.

comeau
Posts: 21
Joined: March 5th, 2017, 6:07 pm

Re: Function Generator

Post by comeau » March 29th, 2017, 8:46 pm

Thanks. I am continuing to make modification (and learn a ton).
-I just finished adding a rotary encoder to my project to adjust the frequency.
-I scrapped the ridiculous amount of resistors and channels in favor of a R-2R divider that weights the bits and gives the same precision with six channels.
-I am now utilizing multiple clock signals. The function components (most of them) are running at almost 200MHz while the heavier or less speed sensitive functions (user control, serial communications, rotary encoder) are driven from the stock 50MHz clock. (This got me down from ~20K+ timing violations to 90)
Still have to do:
-Clean and comment code
-Fix a problem with the encoder switch.
-Tweak some of the functions to run faster at reduced precision.
-Respin the entire prototype board and eliminate 73% of the components :D
-Implement a gui software interface <-- No idea how to do this

I love the Mojo V3. I checked out some of the IDEs and I think the Mojo layout is better. (The explorer window is absolutely necessary for object oriented coding like an FPGA)
Love your product.

comeau
Posts: 21
Joined: March 5th, 2017, 6:07 pm

Re: Function Generator

Post by comeau » April 1st, 2017, 12:03 am

GUI Works perfectly.
Rotary encoder is a bit dodgy, but functions.

Now to boost the maximum frequency and optimize the V-code.

cerkit
Posts: 27
Joined: March 30th, 2017, 10:27 am

Re: Function Generator

Post by cerkit » May 7th, 2017, 5:28 pm

This is great work.

I realize that you did this to help learn FPGA and Verilog, but I recently purchased and built one of these for ~$50 USD:

https://www.sparkfun.com/products/11394

It works very well and even lets you create custom functions using Excel and upload them to the FG using a USB connection.

Of course, the frequency is nowhere near what you accomplished, but it's a good one for low ranges.
Michael Earls
https://cerkit.com

Post Reply