PSHDL Board, creating the Arduino for FPGAs - Page 1
Forum section: electronics / general

author: kbecker
author_rank: Contributor
timestamp: April 01, 2014, 07:05:58 am
content: Hey everyone,Some of you may have seen my PSHDL presentation video at the CCC hacker conference. Back then I announced the PSHDL board, which is available now:https://www.indiegogo.com/projects/pshdl-board/x/5964832PSHDL is the plain simple hardware description language and it aims to be easy to learn, yet be powerful enough for serious projects. We really hope that this board can make it easier for people to get started with programming FPGAs.What do you think?Karsten

author: scientist
author_rank: Frequent Contributor
timestamp: April 04, 2014, 01:43:15 am
content: The arms look quite fragile. Also, most of the DIY/Arduino crowd is too lazy to learn FPGA.

author: edavid
author_rank: Super Contributor
timestamp: April 06, 2014, 02:36:18 pm
content: I think it that from an engineering point of view, it makes no sense at all to bundle this software with hardware.

author: kbecker
author_rank: Contributor
timestamp: April 06, 2014, 08:50:05 pm
content: Quote from: scientist on April 04, 2014, 01:43:15 amIt is understandable, considering that it is a new paradigm to learn and mastering the tools. Both are a major pain in the ass so far.Quote from: edavid on April 06, 2014, 02:36:18 pmPSHDL is open source (http://code.pshdl.org) and not at all bundled or tied to that particular board. You can use it to program any board. The only advantage of the board over any other is, that it is is supported by the cloud synthesis and the local-client.

author: fake-name
author_rank: Regular Contributor
timestamp: April 07, 2014, 04:45:58 am
content: Quote from: kbecker on April 06, 2014, 08:50:05 pm(Emphasis mine)The "Cloud-to-Butt" plugin (which replaces any instances of the words "my butt" with "my butt", to more accurately describe what "cloud computing" means) for my browser continues to be easily the best browser plugin I have ever installed.http://chromespot.com/2013/10/30/cloud-to-butt-the-funniest-chrome-extension-you-will-ever-find/

author: kbecker
author_rank: Contributor
timestamp: April 07, 2014, 07:53:46 am
content: Quote from: fake-name on April 07, 2014, 04:45:58 amI can see how you may not like cloud stuff, so there is a regular command line available as well:http://code.pshdl.org/pshdl.commandline/wiki/HomeBut when it comes to easing the learning curve, it is a well suited tool.

author: free_electron
author_rank: Super Contributor
timestamp: April 07, 2014, 02:57:18 pm
content: Why a new synthesis language ?

author: kbecker
author_rank: Contributor
timestamp: April 08, 2014, 04:12:15 pm
content: Well, the original reason for creating PSHDL was that I wanted to have a language which makes it easy to identify registers. My PhD Subject area is FPGA architectures and as such I wanted to have a set of benchmarks that could be used to test various architectures. The problem with VHDL and Verilog is that it is not obvious at what places registers are generated, that is if you slightly diverge from the most obvious description of something. Also parsing VHDL is a major pain in the ass. With that in mind I created PSHDL, which I then figured was significantly simpler than VHDL or Verilog. It also fixes the most common problems that I encountered when teaching VHDL in our university.In the practical labs the students have problems to understand which parts of VHDL should be used for synthesis, and which not. The most common problems are latches and mismatches between simulation behavior and synthesis results (caused by latches, sensitivity list issues and weird descriptions). In PSHDL you simply can't create latches and the simulation will match what happens in hardware (if correct timing is ensured).Another problem is tooling. It is very difficult to create proper tooling for a language like VHDL. This is partly due to the grammar, but also due to the ambiguous usage scenarios. The IDE can't know whether something is used for synthesis or simulation and thus provide error messages that are relevant for the user.Also those simplifications enable a new kind of simulation. One where you can compile PSHDL to a regular sequential language (currently supported are C, Dart, Java but others like Phyton or PHP could be added rather easy). This allows you to embed the simulation into your reference implementation.

author: fake-name
author_rank: Regular Contributor
timestamp: April 09, 2014, 05:34:54 am
content: Quote from: kbecker on April 07, 2014, 07:53:46 amTo be clear, I do think your project is very cool. A more approachable HDL would be a tremendous boon, and I'll probably look into your project at some point in the future. I do wish you didn't use the "arduino" name, though. Personally, all "Arduino" conveys to me is "slapped together, extremely messy internally, and barely working. But it has lots of cute terminology!".I just have zero trust in cloud infrastructure, and an enormous surfeit of snark.

author: jeremy
author_rank: Super Contributor
timestamp: April 09, 2014, 05:41:02 am
content: I think this is a very interesting project! I think there is definitely a space for a wiring-type easy language in programmable logic. It looks remarkably similar to verilog from my brief reading, do you generate verilog and then pass it to some actel synthesis tools?

author: kbecker
author_rank: Contributor
timestamp: April 09, 2014, 09:24:48 am
content: Quote from: jeremy on April 09, 2014, 05:41:02 amRight now I generate VHDL code, which I then pass to the synthesis tool. I was quickly looking into generating Verilog2001, but got frustrated really quickly. I am now aiming to generate SystemVerilog2005 somewhen. Most tools, except Xilinx ISE (of course they don't support something that is less than a decade old with their FPGAs that are currently most often used), support it.The generated VHDL code is very human readable, so if you decide to not use PSHDL anymore, you will have very little trouble to continue using the generated VHDL code.You are right about Arduino being slabbed together stuff. It kind of is the PHP of µController programming. Many people without any glue of its internals use it for sometimes the very wrong reason. On the other hand it also stands for a tremendous eco-system with ease of use at its very core. It allows creative people, that would otherwise not be able to do anything with hardware, to get something cool done with hardware without the frustration that µControllers can bear in the beginning. I think it's the wrong attitude to say: You're not allowed in our "Doing awesome stuff with hardware" club because it is an elite club with a very high fence around it that we all had to climb above.

author: Prof. Sparkles
author_rank: Newbie
timestamp: June 19, 2016, 06:45:10 pm
content: Is this project dead? Its sad that I haven't heared anything about this in 2 years.

author: calli
author_rank: Regular Contributor
timestamp: July 14, 2016, 03:50:29 pm
content: I think the indigogo campain did not had success so no boards. Just got around it and also find it sad.Maybe again after Karsten placed a rover on the moon? :-)Carsten