Hi everyone. I asked a question here before about my senior design project where I was planning on creating a RISC-V cpu.

I started the project and currently using iverilog, vpp and GTKWave (can also add yosys here but not for now) for development. And I plan on using Vivado for final implementation and IP’s.

Is this a good way of doing things? Should I just use Vivado? I feel like my approach is easier and lets me focus on the logic.

  • WagnasT@piefed.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    13 days ago

    Hopefully someone with more experience has a better answer but I’d say use whatever gets you across the finish line. I had a lot of luck with simple logic designs just using verilog but as things got complex I leaned harder into gui stuff like multisim. Playing with all the tools will help you with job interviews later. Even if you don’t end up favoring a specific tool being able to say what you like and don’t like about the tools will go a long way.

  • Ahmed?@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 days ago

    One question is if you will be using some Xilinx IP, in which case the simulation models likely will be encrypted. If your project doesn’t, I don’t see why it would be an issue using Icarus, etc.

    If all you depend on from the IP is data over an AXI/AXI-stream or the like you can use open-source bus-function models (which I understand as librarues you can use that will take care of properly driving something like an AXI interface for you) in your testbench.

    I’m a student myself, Im sharing what I know but this might not be how industry does it.

  • Treczoks@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    13 days ago

    The point is while you can do generic verilog or VHDL development on free tools, as soon as you want to implement it, you’ll need the vendor’s proprietary tools, regardless where you turn to.

    Xilinx with Vivado is by far the worst. If you think Windows and Office play the vendor-lock-in hard, Xilinx plays it way harder. Once you develop with their stuff, you’ll have a hard time getting anywhere else. And Xilinx is rather unfriendly to smaller shops. Yes, if you buy millions of chips or you are at a university, they blow sugar in your ass. Outside that, they happily fuck you over.

    If you want to be as free and open as possible, Vivado is by far the worst choice you could do.

    • ducktumn@lemmy.zipOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      13 days ago

      The only two FPGAs I can buy that has a reasonable price and has the specs I want are both Xilinx FPGAs (Arty S7-50, Arty A7-100T).

      I kinda have to use Vivado. Even though I hate bloated software like Vivado I think it would help me in the industry to know them.

    • socsa@piefed.social
      link
      fedilink
      English
      arrow-up
      2
      ·
      13 days ago

      Xilinx is the best reason to never get into FPGA work. I have dabbled on and off over the years, but every fucking time the tool chain just leaves me exhausted and willing to sacrifice as much SWAP as necessary to get FPGAs far away from my project.

  • frankenswine@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    13 days ago

    you should be able to do most if not all work without the need for proprietary or non-free software. if you use Linux you could give the guix package manager a try. search it for EDA, optionally add the fsi-llm channel to get some (vibe coded but working) free software tools for your workflow