• choss@lemmy.ml
    link
    fedilink
    arrow-up
    12
    ·
    6 months ago

    Hey! Can I ask you about that? What type of chips? What are your most used skills/technologies and what helped get started when you were new? I want to work with fpgas, and I’d love to know what your experience with that has been like

    • Treczoks@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      6 months ago

      I started with programming about anything that is programmable and not up on a tree at the count of three. I did industrial control units, and I worked on a Cray X-MP, and about anything between. I wrote computer games, compilers, an OS, database engines, and loads of applications. I’ve probably forgotten more programming languages than todays students have heard of. One day I ended up in embedded systems.

      As our company had only one FPGA developer, I got sent on a three day course to learn VHDL from the source (Eugen Krassin, one of the original key developers of ISE). Right after that, I started developing FPGA firmware for our company. Luckily, I had some hardware experience from my work on the C64 and earlier, so I had a good understanding of clocks and signals. I know that even seasoned programmers really hit a wall when entering the world of HDLs.

      I started with ISE back then on Spartan S3 and S6, then Xilinx f-ed us up so hard that the boss slammed the phone down after the last call with those guys and told me to find a more reliable company STAT. We now use Efinix FPGAs which has the big advantage that people there actually listen and help when I ask a question.

      My field is isosynchronous low-latency networks for audio applications.

      • choss@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        Woah, you’re on OG! I’m unfamiliar with a lot of those things and had to look them up. Crazy!

        Hah! ISE - I used that for a hot second, and you still see tutorials using it as well.

        My goodness, tell me about it, I’m new and I already find myself frustrated with Xilinx sometimes. It feels like there are very few resources from them for learning, but I thought that was just because it’s a niche subject. I’ll have to take a look at Efinix. I guess I thought it was safer to stick to the biggest name while I’m trying to get established. At the moment I’m trying to get some example projects working on a Zybo Z7. I’m finding out that it’s a lot to take in

        Thanks for taking the time to reply! I feel strangely honored to hear from such an OG :) Cheers!

        • Treczoks@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          6 months ago

          Whenever you are looking for a supplier for something, keep in mind that there are advantages and disadvantages when choosing one.

          If you are in a small niece company, and your supplier is THE BIG OLD COMPANY, you are completely at their mercy. On the other hand, they usually have vast resources you can tap, like training capabilities and software you won’t get elsewhere, or at least nor for the price.

          That was our relationship with Xilinx. Yes, you get trainings and tutorials for everything, and they have a “light” version of ModelSim thrown in for free in their IDE, but on the other hand, they basically cut us off from one day to the next. And that was not even our fault.

          So we went looking and found Efinix. Small, but growing, their IDE has a few edges that need to be rounded off, and they can’t afford to throw in a free simulator, so we had to spend quite a few bucks to buy that (and it was not even ModelSim we bought, so I had to re-train). But at least they are open and helpful. You ask a question in their forum, and they come back to you to help. I’ve been talking to real people who are directly in contact with the dev team. When I had a strange compiler problem, I had a fix within 48 hours. THAT is gold in a supplier.

          I’m finding out that it’s a lot to take in

          Yes, indeed. The step from CPU-based programming languages to Hardware definition languages is hard for most programmers, and for some, it is even insurmountable. Once you get the hang of it, it gets way easier.

          I met a student once in a Reddit sub once who had issues with her code. I helped her and gave her a few tips how to improve it, and at the end, she asked me of my opinion of the project. I told her that it was a nice little beginner project, something to pass a boring Friday afternoon. Her reply: “Thats my Bachelor Thesis!*”. What looks big and difficult to master will one day look simple and meek when you look back, so don’t let it drag you down if things don’t work on the first try.