Live data from Hacker News

Developing open-source FPGA tools

twitter.com

61–70 of 80 posts

Re: Developing open-source FPGA tools

#61

What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!

My previous project was an UWB indoor tracking system for VR. FPGAs did all the signal transmission, reception, and digital signal processing: https://www.youtube.com/watch?v=mYyFUQbWC1E

My current project is AR glasses. An FPGA is decoding a displayport signal and driving the display.

Re: Developing open-source FPGA tools

#62
post #19

Earlier quoted context omitted.

The non-software engineering world is laughably behind the times when it comes to computer technology and software. SolidWorks is one of the defacto industry standard CAD packages, and their version control software essentially just creates copies of the files and increments the versions. There's no real concept of change management on the content level.

OpenSCAD is a nice example of how this kinda stuff can work. It's nowhere near viable as a general purpose CAD program, but the concept could easily scaled up to the level of SolidWorks. Its file format works very well with version control systems, is human readable to an extent and can be opened with any text editor (so your data isn't 100% gone if one bit gets accidentally flipped).

Check out CadQuery. It's miles better then OpenSCAD.

Re: Developing open-source FPGA tools

#63
post #50

Earlier quoted context omitted.

If you're using Intel's Quartus tool (Altera), pretty much every option is exposed through a Tcl API. You can accomplish everything without ever opening the GUI. The biggest problem is that those Tcl APIs are usually not documented very well...even for us internal developers (I used to develop Quartus)

The situation for Vivado (Xilinx) is more or less the same, Tcl for everything but terrible documentation.

Same for Lattice Diamond. Was nice for CI, but didn't help much with collaboration and merges for the reasons others have stated here.

Re: Developing open-source FPGA tools

#64
I'm surprised no one has mentioned Icarus Verilog [0]. I used this extensively when I was in college around 2002. Open source, used to only support FreeBSD (my first BSD exposure), but is cross platform. It saved my ass, as I didnt have to compete for limited lab time on the few Solaris boxes with the proprietary tools we used in my VLSI class while studying EE.

I was sitting on my living room floor with my FreeBSD laptop punching out my project while others were waiting in line at 2am for lab time.

Fun times.

Wrote all of the components for a basic 8-bit ALU while watching with Mothman Propechies and sipping some Bourbon. Wrote a C++ program in that time, too, to generate exhaustive tests for all components. Icarus was fucking awesome for all this. As a commuter student my last 2 years, not having to hang out waiting for time was awesome. I got a lot more sleep, and a lot more done.

I've not kept up with its development, but its apparently now cross platform and still under active development. Any amateur interested in Verilog should definitely give it a look.

[0] http://iverilog.icarus.com

Re: Developing open-source FPGA tools

#65

I'm surprised no one has mentioned Icarus Verilog [0]. I used this extensively when I was in college around 2002. Open source, used to only support FreeBSD (my first BSD exposure), but is cross platform. It saved my ass, as I didnt have to compete for limited lab time on the few Solaris boxes with the proprietary tools we used in my VLSI class while studying EE. I was sitting on my living room floor with my FreeBSD l…

We used Icarus Verilog for a class at SDSU specifically so we weren't saddled with crappy vendor tools.

It even worked on Windows.

And, come on, how can you argue with a coding team who will make you an honorary "Steve"? (Inside joke: for a while it seemed like everyone who worked on Icarus Verilog was named "Steve" or some variant--so we started joking that anyone not named Steve needed to get rechristened with a new honorary first name.)

Re: Developing open-source FPGA tools

#66
post #39

Earlier quoted context omitted.

You can write a script (in Bash, Python, Go, whatever) that accepts the arguments passed by git (filenames for $BASE, $LOCAL, $REMOTE, and $MERGED)[1] and launches whatever diff tool you'd like to use. You can then tell git to use it by setting the merge.tool and merge.tool.cmd configuration variables. If you want to invoke different tools for different types of files, you can either handle this in your script, or yo…

That doesn't help when the file is a binary and nobody has written a tool to merge it. How do you merge a picture?

You're not replying to me, but I imagine you'd decode both images to an uncompressed format and diff them visually, optionally with a way to highlight pixels that differ between the two.

Binary file types that you can't view in some way would be challenging.

Re: Developing open-source FPGA tools

#67

I wish there was an open source FPGA silicon design.

Open source silicon design itself is at its infancy. You may be interested in this project: https://libresilicon.com/ . It has a very interesting history. I really hope that someday, this will grow into a room sized fab - like how 3D printing is progressing today.

Re: Developing open-source FPGA tools

#68
post #14

For those who are not familiar with silicon vendors' toolchain, it really is very poor quality especially when they started pushing for GUI based Graphical/System development. Vendors make money selling silicon, they see the toolchain as a necessary evil. There are 2018 tools that are still unable to fully support VHDL-2008 standard. Many bugs reported years again remain open. And often the GUI centric approach means…

Seems like every GUI based programming language I've worked with doesn't work well with version control. I get a dozen emails a day about someone locking/unlocking a file - if two people modify the file at the same time there is a merge conflict and no way to resolve the difference. Until git can merge two conflicting files in a sane way ("git mergetool" launching a custom merge GUI would be fine if it worked - I'm n…

Unity3D works reasonably well with VCS when using Text format files, as an example of a GUI development environment.

Re: Developing open-source FPGA tools

#70
post #19
post #13

Earlier quoted context omitted.

Can't agree more. We literally have a version controlled Windows image with Vivada just to be able to quickly restore it when it breaks. We switched nearly all of our PCs to Linux, and it's ironic that it is our engineers' computers that still have to be on Windows because of Solidworks, MCU toolchains, Virtuoso and other semi tooling

The non-software engineering world is laughably behind the times when it comes to computer technology and software. SolidWorks is one of the defacto industry standard CAD packages, and their version control software essentially just creates copies of the files and increments the versions. There's no real concept of change management on the content level.

Onshape (the complete CAD runs in a web browser) has built-in document management (version control, review, approval, sharing, ..).

I’ve used to do mechanical design with Pro/Engineer for several years. Now I occasionally do some mechanical design stuff in Onshape and all I can say is that this is a tool designed by elite mechanical engineers and developed by elite software engineers.

Regarding document management it is like going from assembly to some high level programming language.

The only downside could be that it cannot run on premise. Everything is in the cloud.

So I would not agree that non-software engineering is behind the times:-)

(I’m not affiliated with onshape)

update: Onshape was bought by PTC (the developer of Pro/Engineer). I hope they won’t screw it up:-|

Post reply on HN