Python design of a hardware digital tuner on FPGA and ASIC

Ғылым және технология

In this tutorial/walk-through, we'll design a flexible frequency discriminator and use it EXTREME as a digital guitar tuner. FPGA and simulation will be used to dev and test, then an actual integrated circuit will be manufactured by including Neptune in the next TinyTapeout ASIC.
Though here it's the Neptune guitar tuner, it's designed to be simple to reconfigure for use with other instruments or any non-music related context involving telling the difference between--and proximity to--frequencies of interest.
Amaranth (previously known as nMigen), an open-source toolchain for developing hardware based on synchronous digital logic, will be used to create a verilog generator that in turn describes the hardware and can be used to setup an FPGA to prove our circuit. Then an open source toolchain will complete the flow to get it hardened and ready for production in an ASIC.
I'll be submitting the design for inclusion on TinyTapeout before the April 24th deadline, and the link to the source is a the bottom here.
Sidenote: anyone who was at HackadayEurope in Berlin that I haven't been in contact with, hit me up :)
Links of interest
Full Walk-through Video: • Python to HDL: full Am...
Neptune was completed (in the above video) and is available here: github.com/psychogenic/neptune
Amaranth: github.com/amaranth-lang/amar...
TinyTapeout: tinytapeout.com/

Пікірлер: 15

  • @hefestusmt
    @hefestusmt2 ай бұрын

    Thank you for the tip on the Disney animation!

  • @PsychogenicTechnologies

    @PsychogenicTechnologies

    2 ай бұрын

    :) Yeah, it's just a tad dated but somehow I enjoy the retro style and think it's a fine sample of actual edu content from them. The facts they're talking about being pretty cool surely helps too

  • @pramitkumarpal4828
    @pramitkumarpal4828 Жыл бұрын

    Wow, this is a great idea. I had been tinkering with opensource VLSI tools and this is really cool.

  • @PsychogenicTechnologies

    @PsychogenicTechnologies

    Жыл бұрын

    Yes! This is a small project, but the fact that you can get setup and get to bitstream or *GDS* in a day blows my mind. I've worked on projects where they used the gargantuan closed tools and there were constant discussions about setting up the system, problems with the servers, people not freeing their "seats" and blocking others from getting stuff done, etc. I love open tools, and it's really nice to have stuff available that wasn't forcibly dragged into the community because some smart people reverse engineered it, but I think the real game changer is the accessibility and ease that will let a whole lot of us get going and playing with this stuff. Anyhow, thanks for the feedback, check the previous video in the playlist ("from top to transistors") if you want my take on the tools themselves, and have fun :)

  • @GabrielGarcia-ui7jf
    @GabrielGarcia-ui7jf4 ай бұрын

    Are the sound generating chips in some older digital musical instruments ASIC chips?

  • @bbbenjoo
    @bbbenjoo11 ай бұрын

    Ha! You've been at xhain! I'm member since Monday

  • @PsychogenicTechnologies

    @PsychogenicTechnologies

    11 ай бұрын

    Oh, so you're in Berlin! Cool :D Xhain's a cool place and crew, that's for sure. Have fun!

  • @yjweaver5108
    @yjweaver5108 Жыл бұрын

    What ASIC design course are you taking ?

  • @PsychogenicTechnologies

    @PsychogenicTechnologies

    Жыл бұрын

    Hello! It's the Zero to ASIC course (zerotoasiccourse.com/) with some side quests in tiny tapeout (tinytapeout.com/). I recommend either one, I've had a blast.

  • @yjweaver5108

    @yjweaver5108

    Жыл бұрын

    @@PsychogenicTechnologies Ok! I looked at that a while ago- I thought that was all digital? If you want to make an analog comparator for example, does the process allow this?

  • @PsychogenicTechnologies

    @PsychogenicTechnologies

    Жыл бұрын

    @@yjweaver5108 No. Yes. Kinda? hah :) Officially, you're right, this is pure digital. However, in TT03, Harald Pretl and his students submitted a project using only digital cells that does analog things--namely a mixed signal project with a DAC. This is a whole area of research, and pretty fascinating. A good intro is here: kzread.info/dash/bejne/pZ93lJtrj8enfLA.html

  • @user-nz8jk4uk6y
    @user-nz8jk4uk6y Жыл бұрын

    Where could I learn about your analog front end

  • @PsychogenicTechnologies

    @PsychogenicTechnologies

    Жыл бұрын

    Hallo Calum! Well, in a soon-to-come video... I'll be doing a real design and documenting the process, as well as releasing schematics and such as they're ready. It takes a few months to get the ASIC back from the foundry, so I used the time to get back to some paying work after all the play during the crunch to get to tinytapeout. But I am anxious to try it out on the FPGA, so it shouldn't be too long--just keep an eye on the channel :)

  • @user-nz8jk4uk6y

    @user-nz8jk4uk6y

    Жыл бұрын

    @@PsychogenicTechnologies Thanks for the update. We're building a platform to allow a user to define the complete ASIC I'm starting to develop the UI and thought your example could be a good used case for how it would all be put together.

  • @PsychogenicTechnologies

    @PsychogenicTechnologies

    Жыл бұрын

    Oh, well that's pretty interesting. If it's open-source, let me know where you're hosting this (e.g. a github user, if this thing won't let you post URLs). Either way, I'm planning to have something up in maybe two weeks--a few things related to the pick and place and kicad are already in the works and coming out first.

Келесі