FPGA Design | Beyond dev boards: your own custom PCB

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024
  • 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...

ความคิดเห็น • 53

  • @Clark-Mills
    @Clark-Mills 8 หลายเดือนก่อน +7

    Slightly over my head but invaluable information for all the people of the planet, thank you.

    • @PsychogenicTechnologies
      @PsychogenicTechnologies  8 หลายเดือนก่อน +1

      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 หลายเดือนก่อน +2

      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!

  • @flomojo2u
    @flomojo2u 8 หลายเดือนก่อน +2

    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.

  • @atomic14
    @atomic14 8 หลายเดือนก่อน +2

    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 หลายเดือนก่อน +1

      Yeah, go for it! Your challenge now is to use every one of the 5280 in the UP5k! hah

  • @markpitts5194
    @markpitts5194 8 หลายเดือนก่อน +3

    Looking forward to the rest of the series. I'm a bit older, and my split ends are a lot worse.

    • @PsychogenicTechnologies
      @PsychogenicTechnologies  8 หลายเดือนก่อน +1

      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.

  • @finnbin1
    @finnbin1 8 หลายเดือนก่อน +2

    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 หลายเดือนก่อน +2

    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!

  • @Cerololo
    @Cerololo 8 หลายเดือนก่อน +2

    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 :)

  • @yoctoflop
    @yoctoflop 8 หลายเดือนก่อน +1

    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.

  • @Jkjk-pu2vt
    @Jkjk-pu2vt 2 หลายเดือนก่อน +1

    could you make video about fpga/asic roadmap ?

    • @PsychogenicTechnologies
      @PsychogenicTechnologies  2 หลายเดือนก่อน +1

      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

  • @zacmilne9423
    @zacmilne9423 8 วันที่ผ่านมา

    What college major teaches this stuff? It’s fascinating and I want to learn it.

    • @PsychogenicTechnologies
      @PsychogenicTechnologies  8 วันที่ผ่านมา

      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  8 วันที่ผ่านมา

      Oh, and as an addendum: am right now working on a more in-depth FPGA related vid, so keep an eye out for that :)

  • @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, th-cam.com/video/aVUqaB0IMh4/w-d-xo.html or th-cam.com/video/nkHFoxe0mrU/w-d-xo.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!

  • @E4tHam
    @E4tHam 8 หลายเดือนก่อน

    Nice!

  • @thanatosor
    @thanatosor 2 หลายเดือนก่อน

    Love to build one but don't know where to start 😂

    • @DaHoKilla
      @DaHoKilla 2 หลายเดือนก่อน +1

      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 หลายเดือนก่อน +1

      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 หลายเดือนก่อน +1

    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 หลายเดือนก่อน +2

      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 หลายเดือนก่อน +1

      @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 หลายเดือนก่อน +2

      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 หลายเดือนก่อน +1

      ​@@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.

  • @fluffyvillain968
    @fluffyvillain968 15 วันที่ผ่านมา