Hacker News new | past | comments | ask | show | jobs | submit login

Please let's kill off Vivado once and for all. Awful, massive, unintuitive proprietary software.

There are open source tools for programming FPGAs, and they are really great too: https://rwmj.wordpress.com/2018/03/17/playing-with-picorv32-...

The Virtex 7 series has been reverse engineered, but we're not quite in the situation where you can use the open source tools yet: https://github.com/SymbiFlow/prjxray




I hate to rain on the open source FPGA parade, but I do a lot of hobby FPGA stuff using both closed (Quartus, ISE) and open (yosys, arachne) source, and when I have the choice, I go closed source every time I have the chance.

It’s not the the open source doesn’t work, it usually does, and the small size of it is really nice, it’s that it doesn’t come close in terms of debugging functionality when things go wrong.

My current workflow is to always develop using Quartus first, and only when things work perfectly I move it over to ICE40.

But even then I sometimes have an identical mid sized RTL design that works perfectly on my small Altera and Xilinx boards, and it just doesn’t work on my ICE40 board.

How do I debug this?

There is no easy signaltap or chipscope route. I just have to guess and hope for the best.

Unfortunately, what also doesn’t help is that all those cheaper Lattice FPGAs are woefully outdated. And their newer ones aren’t supported by open source tools yet.

I hope things improve fast, but for now, I’d advise hobbyists who are getting their toes in the water to use closed sourced tools.


> How do I debug this?

We (or more likely, Clifford Wolf) writes the code to do it. Maybe not today, but proprietary software wasn't replaced by open source software in a day.

I'm not saying that yosys is a replacement for Vivado, it's obviously not, but here we have a nice Artix-based board and with not too much effort we could also offer a completely free, easy to use toolchain for it, perhaps not one which does everything, but definitely enough to download designs, compile a bitstream and program it onto the board.

Instead we have this huge barrier to entry - download 40GB [sic] of proprietary crap and register for a time-limited account which is tied to the particular chip you're using.


> I'm not saying that yosys is a replacement for Vivado

Actually, you kinda did:

>>> Please let's kill off Vivado once and for all. [...] There are open source tools for programming FPGAs, and they are really great too: https://rwmj.wordpress.com/2018/03/17/playing-with-picorv32-...


"with not too much effort"

Right, and my truck runs on dreams and starlight.


Lattice should embrace Project IceStorm and give Clifford millions of dollars and unlimited support, these open-source tools really set them apart in the FPGA world.


I really don't understand why the smaller companies such as Lattice wouldn't do this. It gives them an instant advantage, for next to no money in the grand scheme of things.


For people starting out, yes you can and should absolutely avoid things like Vivado if possible, because they are otherwise big, inscrutable pains in the ass, and you will hate them. Also the devices are relatively expensive comparatively. You'll be simulating a lot anyway.

But, Vivado does a lot of very valuable things in practice that will take a lot of time to really replace properly, if you're doing serious FPGA work for Xilinx systems. Or even if you're doing semi-serious work. A working flow is one thing, killing it off is a much harder challenge.

Even for Lattice FPGAs, IceStorm does not match e.g. Lattice iCEcube2 in terms of features or functionality (timing analysis reports, power estimation, floorplan and pinout UXs, very standard clock synthesis and constraint options, etc etc.) But it's way better at the things it actually does, admittedly. Despite that, I still find myself reaching for iCEcube2, even if my actual flow is IceStorm. These are all fixable and you can live without them, but that's for a simple EDA tool on the simplest/cheapest consumer FPGA you can buy, with a limited technology library and hard IP.

The ongoing move to use tools like VPR however will polish a lot of that off (power/timing/clock constraint synthesis). XRay will benefit from that. The rest is going to be a lot of IP cores, simulation models, middleware, and software tooling, and that's what's needed to really kill off something like Vivado.

Debugging tools are probably the most important middleware in particular, and they are sorely lacking.

Personally at least, I will say Yosys is IMO the nicest synthesis tool there is. So, if you are OK with Verilog, the FOSS community does have some best-in-class tools already. :)


For people starting out, yes you can and should absolutely avoid things like Vivado if possible

This must be the weekly "Give beginners terrible advice" thread.


>The Virtex 7 series has been reverse engineered

I might be missing something, but is that Virtex 7 or Artix 7 ? From the project page, it looks like Artix, and that's great since many hobbyist level entry boards use Artix 7, like Arty, Basys and Nexys (at the upper end)


AIUI the whole 7-series has been reverse engineered.


Are you kidding or have you never used other EDA tools? Vivado is a breath of fresh air compared to many synthesis / PnR tools, including the defacto industry standard ones. It's exceptionally intuitive compared to others. Perhaps you're referring to the predecessor ISE?


He probably hasn't used it for a couple of years. Vivado was pretty awful when it was first introduced, but they've made a ton of progress.

It's fine now, or at least as 'fine' as FPGA tools ever get. Much better than ISE ever was. In any case, there is currently no alternative if you're looking at using a Xilinx part that is supported only by Vivado and not ISE.


Lots actually, all the way back to Altera's Max Plus+II in the mid 1990s.


Have You used non fpga EDA, like ASIC tools? Compared to those Vivado is amazing. There is clearly a concerted effort to continually improve usability and performance. Check out the YouTube videos released with each version outlining the major changes and you'll be pleasantly surprised.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: