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).
Developing open-source FPGA tools
31–40 of 80 posts
Re: Developing open-source FPGA tools
#32Earlier quoted context omitted.
Psst…I think you mean "silicon".
Psst...I think you mean "silicium" :P (before any of you start typing your answers: that's the joke)
Re: Developing open-source FPGA tools
#33What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!
Usually if you need extremely fast i/o in the nanosecond order of magnitude then FPGA designs are a common design choice. An example of this are GPON network switches.
As mentioned in another comment video processing or any signal processing where the algorithms benefit from high parallelization is also an application where an FPGA would be a good fit.
The caveat though is that often FPGA/ASIC development is expensive and slow so a recent trend is to have a System-On-Chip with an FPGA area and multicore Microcontrollers. The idea with this is a hybrid design so that you can have an RTOS dealing with functionality where speed is not as critical. And have a custom design on an FPGA that is responsible for whatever bespoke application you need and have some memory interface between the two.
Re: Developing open-source FPGA tools
#34What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!
Because writing RTL is much more fun.
And if I happen to need a little CPU for some generic control operations, I just add a soft core to my design.
Re: Developing open-source FPGA tools
#35What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!
https://www.ecmwf.int/sites/default/files/gpsro_lecture_2015... is an overview.
Re: Developing open-source FPGA tools
#36What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!
Re: Developing open-source FPGA tools
#37What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!
Originally FPGA evolved from programmable logic devices. An EPROM is probably the most widely used example of a PLD. Partially because of this there are a lot of projects in SDRAM designs out there. Usually if you need extremely fast i/o in the nanosecond order of magnitude then FPGA designs are a common design choice. An example of this are GPON network switches. As mentioned in another comment video processing or a…
Upvote for this. When I used to think about PROM, I think it as a medium of data storage, or sometimes think it's a lookup table. But it's actually simplest form of programmable logic device - a device that can transform x-bit of arbitrary input signals to y-bit of arbitrary output signals, so you can build any digital system that uses combinational logic in PROM (and RAM for sequential logic), including a CPU. And since it's a PROM, you can reprogram it to implement another different logic device, simply by burning a new truth table.
After I realized this, the existence of reprogrammable hardware like FPGAs no longer sounds like magic to me anymore. From this, you can also see that computers with finite RAM and ROM is not a Turing machine, but a Finite State Machine.
Re: Developing open-source FPGA tools
#38For 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…
If you want to invoke different tools for different types of files, you can either handle this in your script, or you can explicitly pass the --tool flag in cases where you want to use a non-default tool.
Writing the wrapper script is generally pretty straightforward - the only "gotchas" are making sure the file patterns can be handled by your merge tool, and making sure you write the result to $MERGED. Sometimes you need to have a "clean-up" step in your script that copies the merge tool output to $MERGED and maybe deletes tmp files that were created.
Re: Developing open-source FPGA tools
#39Earlier quoted context omitted.
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…
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…
Re: Developing open-source FPGA tools
#40What are people doing with FPGAs? I'd be really interested in understanding or seeing some cool projects!