What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!
My current project is AR glasses. An FPGA is decoding a displayport signal and driving the display.
61–70 of 80 posts
What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!
My current project is AR glasses. An FPGA is decoding a displayport signal and driving the display.
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).
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.
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.
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…
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.)
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?
Binary file types that you can't view in some way would be challenging.
I wish there was an open source FPGA silicon design.
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…
What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!
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.
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:-|