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.
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.
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.
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.
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.
What features bind you to those particular chips?
DDR3 RAM and local availability.
We have 3 options here. Altera SoCs (I hate Quartus with a burning passion), Xilinx FPGAs/SoCs and small Lattice FPGAs and Tang Nano 9k.
Have you tried Efinix?
TI180J484C-DK and Efinix Xyloni. Only these two can be bought here. One is 1000+$ other is budget. ☹️
Where the heck are you that you don’t have access to Efinix products?
Turkey
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.
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



