Тёмный

FPGA Design | Beyond dev boards: your own custom PCB 

Psychogenic Technologies
Подписаться 12 тыс.
Просмотров 12 тыс.
50% 1

Join the mailing list for FPGA tips and more at psychogenic.ck...
Dive into FPGA schematic design, moving beyond the comfort of development boards to create our very own custom PCB. OPEN hardware, schematic is online: check links below.
This video is perfect for anyone new to integrating FPGAs into their circuits. I'll guide you through the process as I design and layout a board centered around the iCE40 UP5k, as a drop in replacement for the TinyTapeout ASIC carrier boards.
The goal is to have a PCB with its own FPGA and supporting components, and set it up in a way that we can get a bootloader running that will allow for easy updates through USB, without any extra hardware or external programmers.
The idea here is to provide a means to iterate designs, right on the tinytapeout demoboards, prior to actually taping out. Though this application is very specific, it's easy to go from this circuit to pretty much any board built-around or including an FPGA.
The schematic is open hardware and (a version that's already been improved since this video was recorded) is available now.
The schematic may be viewed in
github.com/psy...
and the entire project is available in that repository, at
github.com/psy...

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 54   
@atomic14
@atomic14 8 месяцев назад
I used an FPGA for my final year project - it only had 320 logic blocks - managed to use every single one of them. Tempted to recreate it with modern kit.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Yeah, go for it! Your challenge now is to use every one of the 5280 in the UP5k! hah
@markpitts5194
@markpitts5194 8 месяцев назад
Looking forward to the rest of the series. I'm a bit older, and my split ends are a lot worse.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
hahah, yeah haven't been the best at maintaining the mane! For the series: I've got the boards and made some changes to the schem (which are reflected in the released version) and going to focus just on the bootloader in the next one. It's a really cool system, works a treat and is easy to setup. Will whip up the presentation soon.
@Cerololo
@Cerololo 8 месяцев назад
Thank you for open source. Good info.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
It's my great pleasure: I learn from many OSS projects and love when I get to share some myself. Thanks for the feedback :)
@Clark-Mills
@Clark-Mills 8 месяцев назад
Slightly over my head but invaluable information for all the people of the planet, thank you.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Clark! Thanks so much! Even if this is over your head right now, you do seem to have an interest: I do start off with some assumptions about proficiency with CAD and such, but please do let me know if anything in here wasn't actually clear. I spend the time making these in the hopes they open new doors for others, but it's hard to keep a beginner mind after a while in something.
@Clark-Mills
@Clark-Mills 8 месяцев назад
@@PsychogenicTechnologies Seriously concentrated good stuff. I'm an old UNIX/Linux dude in his 60's but have just recently been playing with the Ice 40 stick 1k USB board. FPGAs have been on my bucket list... :) TinyTapeout also seems like a highly worthy project and this project seems like a perfect companion to it. A big "Thank You" again.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Well *nix is a really great place to start with this, 'cause a whole lot of us are too and the tooling is plentiful for us :) FPGAs are a really nice place to start--if you don't know it, the oss-cad-suite (github.com/YosysHQ/oss-cad-suite-build) has a whole lot of useful tools. If you'd like to come into from the Python side--which I think is really nice--you can see my videos on the neptune project and @RobertBaruch has some really nice playlists using nMigen (Amaranth's old name, see www.youtube.com/@RobertBaruch/playlists ) that go deep into both the dev and the formal verification if you want to get fancy. Once you've played with a few FPGA projects, regardless if verilog or amaranth, you'll be more than ready to tapeout on real silicon (crazy how much we can do, here, living in the future!). Have fun!
@Jkjk-pu2vt
@Jkjk-pu2vt 2 месяца назад
could you make video about fpga/asic roadmap ?
@PsychogenicTechnologies
@PsychogenicTechnologies 2 месяца назад
Hello Jk... I might but could you be a bit more specific on what exactly you're curious about?
@Jkjk-pu2vt
@Jkjk-pu2vt 2 месяца назад
@@PsychogenicTechnologies you know im cs student but i took electronic and analog courses + i know digital design but i dont know where to start , for example creating a video encoder + i know nothing about pcb design cause im cs student
@PsychogenicTechnologies
@PsychogenicTechnologies 2 месяца назад
@@Jkjk-pu2vt Ah, yeah... well a lot of the most interesting projects have a pretty steep learning curve. Video's tough on a few levels, too. There's a reason the "hello world" of hardware is a blinking LED: it's a super dumb project, but once you've made it you've dealt with everything from selecting components, through programming (and flashing) a microcontroller and wiring things up, and if you do a PCB as well, then you're familiar with KiCad (or whatever) and the process of ordering a PCB. It really is a lot. I think it's well worth it, but I do suggest you start a bit smaller than video... *but* since you are interested, @atomic14 has a bunch of videos on his tiny TV project: I think that might be something worth watching... his channel is: www.youtube.com/@atomic14
@Jkjk-pu2vt
@Jkjk-pu2vt 2 месяца назад
@@PsychogenicTechnologies thank you
@E4tHam
@E4tHam 8 месяцев назад
Nice!
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Thank you, Ethan. The feedback is much appreciated :)
@fluffyvillain968
@fluffyvillain968 17 дней назад
@siosinv3851
@siosinv3851 18 часов назад
Great video!!! 😀 First time watching your channel looking forward to more thank you!
@flomojo2u
@flomojo2u 8 месяцев назад
Thanks for the video! The subject matter wasn't new to me, but what I really enjoyed was seeing a KiCAD power-user at work. There are so many cool shortcuts and tricks, and they keep adding more, so it's great seeing some of them in action.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Thanks!! Ah, kicad--I'm finding there are some corners of my beloved cad that aren't all that well covered, so have decided I'm going to try and make a few focused on particular bits, and maybe one walkthrough that goes from A-Z--have another little FPGA project in mind for that one. Should be fun :) Thanks again for the feedback, cheers.
@finnbin1
@finnbin1 8 месяцев назад
Cool ... looking fwd to next episode....
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Thanks! Next is in the works: got the bootloader running and it's so sweet! :)
@dfloper
@dfloper 5 месяцев назад
Great video. Keep making these.
@damny0utoobe
@damny0utoobe 5 месяцев назад
Agree. Exactly what I was looking for designing a FPGA board
@PsychogenicTechnologies
@PsychogenicTechnologies 5 месяцев назад
Thanks! I actually have a couple of FPGA-related boards I've designed and fabbed but not yet assembled tested. I'll be documenting that process as well and, when I've got some results, will put out a vid. Cheers!
@zacmilne9423
@zacmilne9423 10 дней назад
What college major teaches this stuff? It’s fascinating and I want to learn it.
@PsychogenicTechnologies
@PsychogenicTechnologies 9 дней назад
Hi Zac! I'd say EE (as in Electrical Engineering, BEng type deal) and, depending on where you are could be awesome... but you don't have to wait. I mean I was in physics (oh so long ago) and just picked everything up from the wonderful internet (well, originally from Forrest Mims III but mostly from the wonderful internet) and from doing. It's a lot, of course. But you start small. You want to play with FPGAs, then you get a little FPGA module from digikey or tindie or whatever, and you blink a light. Then do more complex stuff. Then create an expansion PMOD circuit... soon enough, your designing PCBs. Then you decide to learn how to design *good* PCBs, and you do that. So, even if you decide to go for something formal, I'd still recommend you start playing today, just 'cause you can. Great time to be alive :) Have fun!
@PsychogenicTechnologies
@PsychogenicTechnologies 9 дней назад
Oh, and as an addendum: am right now working on a more in-depth FPGA related vid, so keep an eye out for that :)
@yoctoflop
@yoctoflop 8 месяцев назад
Sweet timing. Just finished up the HDL for a project and need to make a board for it
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Wow, perfect. Are you going for an iCE40? If you followed along, do go and check the links above for the actual project repo and schematic: I've advanced in there since putting out the video and, though a lot of it is related to the specific application (the TT demoboards), it's worth looking at the newer stuff. And I was crunched while doing this: if/when I re-work it for real I'd add some ESD on the USB lines and a bit of stuff like that. Also, the TinyFPGA boards might be good inspiration as well. Finally, I have the bootloader running now and it's awesome, will try to record and edit that really quick so keep an eye out, I think it's worth it. Cheers!
@yoctoflop
@yoctoflop 8 месяцев назад
@@PsychogenicTechnologies It's actually for an Efinix Trion T20, but the general concepts are still helpful. Their Efinity IDE is barebones but capable, and my design (1500 logic elements) generates a bitstream fairly quickly. They have pretty good documentation and although their forum loads slowly, they tend to be pretty helpful over there. Certainly was good enough for an FPGA "advanced beginner" like me to create a functional design.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Hm, interesting! Haven't used those but after seeing yosys has a "synth_efinix" command, I'm curious. If you have an eval board or dev kit you would recommend for these, let me know.
@adamarzo559
@adamarzo559 8 месяцев назад
A few years ago I made some pcb's to flash some led's and it was cool, things happened but now I want to get back into it and I'm really interested in the whole arm32 thing and want to make my own boards because I think it's extremely cool and I had fun routing my board back when I did it for the leds. However, I'm still so very lost when it comes to things like smoothing caps or pull up/down resisters. Would taking a beginner course on electrical engineering and going from there benefit me in learning all of this?
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
Short version is my opinion is: yes, go for it. We're very lucky now, with so many open source tools and projects and experts willing to share what they know. Back in the day when I started, I had no one to turn to and was stumped on many points, couldn't figure out which components/values actually mattered and which ones were amenable to a wider range of selections, and generally had a very slow start because of it. If you're talking building a whole SoC from scratch, I think that's a very worthy goal, maybe a lot to chew from the start (e.g. dealing with RAM and even just the BGA packages for CPUs can be a something of challenge). I'd recommend you start playing immediately, keeping the barrier to entry low, by leveraging open tools like Kicad, and say relatively simple microcontroller circuits to start. @PhilsLab has some really excellent tutorials. If you can follow along with, say, ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-aVUqaB0IMh4.html or ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-nkHFoxe0mrU.html you'll see that he shares lots of expertise along the way, specifically about things like decoupling and such. From there, you'll be less rusty, have some solid basics and a good idea of what exactly still stumps you and can decide if going for a course would be worth it (and which one). Good luck and have fun!
@thanatosor
@thanatosor 2 месяца назад
Love to build one but don't know where to start 😂
@DaHoKilla
@DaHoKilla 2 месяца назад
Right with you bro, just keep browsing the internet and we can figure out how. This channel is great though but wayy too technical for beginners.
@thanatosor
@thanatosor 2 месяца назад
@@DaHoKilla problem with building hardware is not only about designing it but verification & optimization.. which only knows after real life prototype 🤷‍♂️ Meanwhile I feel like these things are for EE, not someone from software
@DaHoKilla
@DaHoKilla 2 месяца назад
@@thanatosor ah, I’m planning on becoming a E-E so I’m tryna get ahead rn. Currently messing around with KiCad and I found his channel and now im just browsing his videos. Great channel
@PsychogenicTechnologies
@PsychogenicTechnologies 2 месяца назад
Hi! Well, the designs are open for these guys, so you could have a poke around on: github.com/TinyTapeout/breakout-pcb/tree/main/ASIC-simulator I'm actually playing with a more general purpose version of this right now, and I think I'll put them online in a way that you can at least have them made easily.
@PsychogenicTechnologies
@PsychogenicTechnologies 2 месяца назад
Software is where I started... well, some physics before that, but the point is it's mainly a question of how curious and persistent you are... there's so much info out there (to the point of being a bit overwhelming... but I'd rather that than the desert of data of my youth!). So if you want, just play and explore and you'll have all the EExperience you could ask for :)
@jstro-hobbytech
@jstro-hobbytech 8 месяцев назад
My only issue with buying stuff from professional makers is the price. There are so many incredible makers using tindie to sell a trinket or bauble for half a week's pay. I ununderstand overhead and how economies of scale work but most people do not need a 10 thousand dollar pnp machine. I don't say that because you have one. I'm sure you need it.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
I hear you on that. I've actually been thinking of putting stuff on Tindie lately, and the overhead of making and dealing with that stuff really is huge. However, I think in many cases, it comes down to patronage: a way to support a creator you would like to see keep producing content and widgets, and get something cool out of it. If bitluni or whoever is making a thing, and yeah it's way more expensive than the equivalent on aliexpress, I might still get it. To be part of the community, to show that I appreciate what they're doing, to make sure they keep doing it...stuff like that. I'd much rather get a tool or even a blinky module rather than another coffee mug while doing so. Anyway, for my part, I'm glad I can afford to provide information and content I think is useful, and there's never an obligation to pay to play.
@jstro-hobbytech
@jstro-hobbytech 8 месяцев назад
@PsychogenicTechnologies cool. I apologize I came off as abrasive. There's this software enabled breadboard on there that is absolutely incredible but it's 299usd and I live in Canada so it would be 475 by the time I got it. I'm really close to saying frig it any buying it haha. I just bought a new 7 string headless guitar, laser cutter/engraver, expensive 3d printer. I also send learning kits to people in the US or Canada for free. No strings attached other than if I give them a decent soldering station and a brymen meter I'd like to pay the shipping to have them back if they don't feel the hobby is for them. They can keep the rest but it lowers the burden on me. I enjoy it immensely as this hobby saved my life, along with music. I'd I can enable one person find a similar passion out of all the people I send kits to then I'm happy.
@PsychogenicTechnologies
@PsychogenicTechnologies 8 месяцев назад
​@@jstro-hobbytech ugh, don't get me started about being in Canada: the exchange rate's pretty awful and then extra shipping costs, and then the duties thugs come in and want their tribute on top (NAFTA? pffft, that free trade stuff was never for you, small fry). Ugh. The learning kits: wow, ok, that's some dedication. That's really awesome. Did something similar, the *one* time. I can see we have similar perspectives on this: it's an "ikigai" thing to me, and I hope that I can enable others to grab that spark too. Do I see some custom made guitar pedals in your future? heh, have fun with all the tooling, it's great to live in the future :)
@jstro-hobbytech
@jstro-hobbytech 8 месяцев назад
@@PsychogenicTechnologies haha yea. I ordered a bunch of germanium diodes from the eastern block haha. I have a friend locally who is a retired engineer who tunes pianos for a living. I'm going to share my gear with him and we're going to start designing pedals and some other stuff. I hope you're a fan of the Individual Thought Patterns album? If you know, you know hahaha. I usually send 2 kits away on a good month. I can comfortably send 2 good ones but I go 2 months without anyone looking for one. If anyone ever emails you and can't afford to get started, just give them my channel name and tell them to email me. I don't have any strings attached and never mention money. It's my honor to help people.
@jstro-hobbytech
@jstro-hobbytech 8 месяцев назад
@@PsychogenicTechnologies I have ptsd brother and it makes me ramble. Pay it no mind unless I say something offensive (by mistake I assure you) and call me out on it. Personal growth is something I focus on heavily when dealing with my mental ilness. Accountability helps me alot.
@EuphoricDan
@EuphoricDan 7 месяцев назад
The plugin that you're using @ 10:06, what is it? I'd like to try it myself
@PsychogenicTechnologies
@PsychogenicTechnologies 7 месяцев назад
Yeah, it's really cool: "interactive HTML BOM", available through the plugin manager, super simple to install and use.
@EuphoricDan
@EuphoricDan 7 месяцев назад
@@PsychogenicTechnologies Sweet, installed. Would you mind if I appropriated your FPGA design with some usecase-appropriate modifications and put it on an inductive load controller I'm making for a personal project (not a commercial product). I'm a bricklayer that's been teaching myself EE for about a year so that I can build some components I need for a larger invention. The specific board I'd use it on is a 2kamp/12v inductive load controller with active flyback control (parallel mosfets instead of a freewheel diode). I need an FPGA to handle the switching logics and tbh I'm not good enough yet to start from scratch with my own FPGA design.
@PsychogenicTechnologies
@PsychogenicTechnologies 7 месяцев назад
​@@EuphoricDan Oh, there's hardly any secret sauce in there, and I'd invite you to look at it, as well as the TinyFPGA, UPDuino, and other open source projects as sources of inspiration. Main question would be: why not start with a pre-built module--there are tons--do you PoC on the part that's really specific to your requirements, see everything working, figure out if anything needs improvement and then start doing integrated solutions. I find it's a good way to keep my attention on the wheels that don't exist yet, when ramping up. Have to tell you: my heart skipped a beat when I read "teaching myself EE" followed by "2k Amp"--whoah! Starting a little steep there (48V is high V in my life, and 50 Amps is getting way up there--I've been happy in low power land, mostly). Going to assume you're a sane and responsible adult there, but still: keep one hand in your pocket and be careful. oof.
Далее
Aesthetic PCB Design Tips - Phil's Lab #84
17:56
Просмотров 78 тыс.
Open Source Analog ASIC design: Entire Process
40:11
Просмотров 44 тыс.
Kicad schematics and PCB Python scripting
12:16
Просмотров 8 тыс.
My Top 10 PCB Design Tips
6:53
Просмотров 63 тыс.
Get Started With FPGAs and Verilog in 13 Minutes!
13:30
2-Layer PCB Design Tips - Phil's Lab #137
32:27
Просмотров 44 тыс.
Build Your Own Drone Tracking Radar:  Part 1
20:08
Просмотров 539 тыс.