• OneCardboardBox@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      79
      arrow-down
      1
      ·
      edit-2
      2 days ago

      Vivado is software for designing hardware on an FPGA. AMD bought out Xilinx, one of the big FPGA manufacturers, a few years back. FPGAs are basically programmable digital circuits: you configure a series of internal logic gates to represent the function of a circuit with memory, data busses, registers, gates, etc. In this fashion, an FPGA could be programmed to function like a CPU, a radio, a video encoder, or nearly any other piece of digital hardware. Very useful for hobbyists and prototyping.

      The thing with FPGA software is that there are no open source alternatives. FPGAs have so many complicated blobs and signing keys and proprietary IP blocks that your only choice is to use the manufacturer’s offering.

      • cecilkorik@piefed.ca
        link
        fedilink
        English
        arrow-up
        32
        ·
        2 days ago

        It is insane to me that something as conceptually basic as FPGAs can even be made proprietary at all, much less that being the universal state of them.

        • ggtdbz@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          19
          ·
          2 days ago

          The world of FPGA is full of proprietary hardware and software blocks sadly. I haven’t dabbled since being a student but I remember finding it extremely jarring how on one hand you basically could write whatever hardware blocks you wanted (the freedom is comparable to learning programming all over again but in a fundamentally different way), but also you had super optimized “IP blocks” of software you can pull in like a paid library that you had to license. These blocks make the damn chip much more powerful for those of us not willing to write a fucking CPU, what the fuck do you mean DLC for the chip on my lab table?

          Vivado was a bit of a pain but not too bad as far as proprietary software goes. There’s more steps involved than just burning a .hex to a regular microcontroller, the debugging is different, I get it, another program makes sense.

          Personally I don’t write much code these days but I find myself yearning for like MS Visual Studio 2008. If I ever want to go back to programming on the side I will probably have to figure out my IDE situation from scratch. VS Community seems nice but there’s a lot of unnecessary features and of course Microslop’s grubby fingers all over it

          • leftzero@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            13
            ·
            edit-2
            2 days ago

            for those of us not willing to write a fucking CPU

            There’s insane maniacs who’ve written fucking CPUs in CSS, Minecraft, and Conway’s game of life, among many other environments not intended for writing fucking CPUs.

            Can’t some insane maniac simply write a fucking CPU for FPGAs and release it as open source?

            Plenty of insane maniacs have released lots of more useless stuff as open source, why not this?

            (Using insane maniac as a compliment here; the world would be a much more boring and unenjoyable place without insane maniacs willing to waste their time making it a better or at least more interesting place.)

            • ggtdbz@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              5
              ·
              2 days ago

              My fucking CPU comment was not that serious. The projects we were doing were just that. I have a notebook full of diagrams that I understand less and less every year.

              It was just a bit shitty that the CPU part wasn’t included with the chip itself. IIRC the nicer ones had hardware CPUs/CPU cores anyway.

              I meant it more as “hey I need to do this simple task, better write a processor real quick” which is not convenient. I’m almost certain there are dozens of FOSS RISC cores that could be burned to all of Xilinx’s FPGAs. It’s theoretically hardware agnostic but these are super popular parts.

              • white_nrdy@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                ·
                11 hours ago

                There are in fact parts that have CPUs included. However these aren’t always the best route. Sometimes you don’t want a CPU in the design at all, since software is SLOW compared to RTL designs for certain applications (DSP, Data acquisition, etc).

                Xilinx has a number of SOC parts that bundle ARM cores alongside FPGA fabric, and they’re very tightly coupled to make passing data between them very efficient. These include the Zynq and Versal families.

                There are already some open source cores out there, including NEORV32. There are also closed source ones, like Xilinx’s Microblaze IP. Which comes in both ARM32/64 variants, as well as RISC-V now.

              • wonderingwanderer@sopuli.xyz
                link
                fedilink
                English
                arrow-up
                2
                ·
                2 days ago

                The FPGA itself is just the chip. You can find them pre-installed in development boards though, but these are more expensive. But at least they might of a microprocessor if that’s what you want.

                And if you’re fed up with Xilinx, check out Lattice semiconductors. They have a somewhat more open ecosystem

            • MalReynolds@slrpnk.net
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 days ago

              (Using insane maniac as a compliment here; the world would be a much more boring and unenjoyable place without insane maniacs willing to waste their time making it a better or at least more interesting place.)

              Thank you Sir/Maam, a better day was had here due to this…

            • ggtdbz@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 days ago

              I was a student and this was the first time I really felt like programmery things were paywalled. I think the licenses were per-deployment but free for education.

              I think people who learned about programming in a previous generation may be more comfortable with things being very proprietary, and arguably the newest batches of people learning it in the slop era too. But until that point everything I touched had a free (as in beer) or free-ish equivalent. I remember the professor being very excited about the Chinese less closed down stuff, saying it didn’t matter that it was slower for a lot of applications.

        • anotherandrew
          link
          fedilink
          English
          arrow-up
          3
          ·
          2 days ago

          There is a world of difference between what is “conceptually basic” and what the practical reality is. The tools aren’t open source because there’s a lot of secret sauce the vendors want to keep secret. The OSS development efforts are making progress, but it’s a long, slow, difficult slog.

        • MalReynolds@slrpnk.net
          link
          fedilink
          English
          arrow-up
          7
          ·
          2 days ago

          Singularly fucking stupid IP gated moronicity. So much profit available before custom chips. Why?

      • hayvan@piefed.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 days ago

        Lattice device support some open toolchains, or relatively open compared to the big two. Or something like that, never got to work with them yet.

      • NotAnonymousAtAll@feddit.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        2 days ago

        Very useful for hobbyists and prototyping.

        True, but that is not the only thing they are useful for; e.g. many high end measurement instruments ship with FPGAs so they can get improvements after release for functionality where implementing it in software would be too slow.

        • OneCardboardBox@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          4
          ·
          2 days ago

          Very true. I believe FPGAs are also popular for aerospace applications, since it’s cheaper to design and patch programmable hardware than to design and physically install ASICs.