# FPGA design for a noob to this sort of thing

**URL:** <https://lookmumnocomputer.discourse.group/t/fpga-design-for-a-noob-to-this-sort-of-thing/5002>\
**Category:** DIY STUFF\
**Created:** [May 11, 2022, 10:36pm UTC](https://lookmumnocomputer.discourse.group/t/fpga-design-for-a-noob-to-this-sort-of-thing/5002 "2022-05-11T22:36:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![MarkKelsall](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/markkelsall/32/1261_2.png) [@MarkKelsall](https://lookmumnocomputer.discourse.group/u/MarkKelsall)\
**Post date:** [May 11, 2022, 10:36pm UTC](https://lookmumnocomputer.discourse.group/t/fpga-design-for-a-noob-to-this-sort-of-thing/5002/1 "2022-05-11T22:36:20Z")

</div>

Got a good book about programming FPGAs by Simon Monk called ‘Programming FPGAs’. Got the software working on a virtual windows machine as well as my old Windows laptop and built a data selector logic circuit. You can assign inputs and outputs to actual pins on the chip, which is useful!

 ![FPGA.HEIC](https://global.discourse-cdn.com/free1/uploads/lookmumnocomputer/original/3X/5/8/5844e077485d65f6857f1f6cabb2fadce53a03b1.jpeg)

Anyone else done any FPGA programming?

My goal is to make a DTMF to pulse circuit, I know it’s already been done in software… just gave me an idea for a hardware project. 🙂

---

<div class="post-metadata">

**Author:** ![Farabide](https://avatars.discourse-cdn.com/v4/letter/f/ecc23a/32.png) [@Farabide](https://lookmumnocomputer.discourse.group/u/Farabide)\
**Post date:** [May 11, 2022, 11:18pm UTC](https://lookmumnocomputer.discourse.group/t/fpga-design-for-a-noob-to-this-sort-of-thing/5002/2 "2022-05-11T23:18:19Z")

</div>

FPGA is a bog I rarely step in. My personal feeling is that it’s a step too far for me. That said if you manage to get a combo of hardware and code that works then document the hell out of it, back everything up and never change your method again. Do keep us posted.

---

<div class="post-metadata">

**Author:** ![jaradical](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/jaradical/32/12069_2.png) [@jaradical](https://lookmumnocomputer.discourse.group/u/jaradical)\
**Post date:** [May 12, 2022, 7:08am UTC](https://lookmumnocomputer.discourse.group/t/fpga-design-for-a-noob-to-this-sort-of-thing/5002/3 "2022-05-12T07:08:52Z")

</div>

I’ve done a little in the past and am looking into it again.

I’m using one of these for the XVA1 synth project, although that only involves downloading bitfiles, no actual coding of the project.

> **[Cmod A7 - Digilent Reference](https://digilent.com/reference/programmable-logic/cmod-a7/start)**
>
> Cmod A7 The Cmod A7-15T variant is now retired and no longer for sale in our store. The Cmod A7-35T is still available. The Digilent Cmod A7 is a small, 48-pin DIP form factor board built around a Xilinx Artix 7 FPGA. The board also includes a...

I did pick up one of these though:

> **[Arty A7 - Digilent Reference](https://digilent.com/reference/programmable-logic/arty-a7/start)**
>
> Arty A7 The Arty A7, formerly known as the Arty, is a ready-to-use development platform designed around the Artix-7™ Field Programmable Gate Array (FPGA) from Xilinx. It was designed specifically for use as a MicroBlaze Soft Processing System....

And I took a look at this for programming:

[https://f4pga.org/index.html](https://f4pga.org/index.html)

I used those tools to follow this tutorial:

> **[GitHub - Digilent/Pmod-I2S2](https://github.com/Digilent/Pmod-I2S2)**
>
> Contribute to Digilent/Pmod-I2S2 development by creating an account on GitHub.

That said, you could probably follow the directions that use Vivado (Xilinx’s FPGA coding toolset), which would probably be easier to get up and running.

I don’t know where I’d start for DTMF decoding though, sorry…

---

<div class="post-metadata">

**Author:** ![MarkKelsall](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/markkelsall/32/1261_2.png) [@MarkKelsall](https://lookmumnocomputer.discourse.group/u/MarkKelsall)\
**Post date:** [May 12, 2022, 11:15am UTC](https://lookmumnocomputer.discourse.group/t/fpga-design-for-a-noob-to-this-sort-of-thing/5002/4 "2022-05-12T11:15:41Z")

</div>

> [@Farabide](#):
>
> FPGA is a bog I rarely step in. My personal feeling is that it’s a step too far for me. That said if you manage to get a combo of hardware and code that works then document the hell out of it, back everything up and never change your method again. Do keep us posted.

Good advice, thank you. A friend whom I miss, suggested I get into FPGAs in the early 2000s. Should have done it then, maybe my career would have taken a different route?

---

<div class="post-metadata">

**Author:** ![MarkKelsall](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/markkelsall/32/1261_2.png) [@MarkKelsall](https://lookmumnocomputer.discourse.group/u/MarkKelsall)\
**Post date:** [May 12, 2022, 11:21am UTC](https://lookmumnocomputer.discourse.group/t/fpga-design-for-a-noob-to-this-sort-of-thing/5002/5 "2022-05-12T11:21:49Z")

</div>

> [@jaradical](#):
>
> That said, you could probably follow the directions that use Vivado (Xilinx’s FPGA coding toolset), which would probably be easier to get up and running.
> 
> I don’t know where I’d start for DTMF decoding though, sorry…

Thanks for the links, will look at that. Open source means I can use it on my Mac natively via Brew.

Am running Quartus with a Cyclone IV & Cyclone II chips at the moment. Have got my head around how the development environment works, couldn’t even do that when my stalker was living next door.

I don’t have much of an idea for DTMF either, but things are starting to click into place as I’m learning. Like the massively parallel way things can be done on a FPGA, and the way you can make it all dance to the same clock, or different clock signals!
