Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Brian Durwood

Will Open-Source Ever Work for Programmable Tools?

Brian Durwood
Page 1 / 3   >   >>
William Murray
William Murray
1/25/2013 2:51:27 PM
User Rank
Blogger
Re: it would be nice
@Jezzmo My experience has been the HW only solutions are much more robust -

Nothing like having a safety certified tool like Modelsim/Questa do coverage on a design to uncover hidden issues in testing/coverage, plus the much greater functional simplicity of a logic only design.   In addition with HW it is possible to make buffers that do not overrun into the code space in a fault mode, while this is much more difficult with much embedded SW.

50%
50%
Brian Durwood
Brian Durwood
1/25/2013 1:13:00 PM
User Rank
Blogger
Re: it would be nice
Hi Jezmo,

 

Excellent point. The software folk still are nervous about hw.

50%
50%
William Murray
William Murray
1/25/2013 9:54:33 AM
User Rank
Blogger
Re: The right place is...
-- Open Source and Libraries -- Where this can get important is FAA/CAA or other certified software -- where one has to have every aspect of every tool used under version control for the higher levels of criticality.  It can also be important where security is important. (Mil/Govt, Banking/Finance etc)  Most developers are negligent when it comes to version control of every piece of code used to touch a product in development.  Recall several compiler vendors going under, leaving the company no choice but to re-write a code base - the same is true for open source projects that get abandoned, or support for that tool wanes.  Own the source, or pay at some point down the road has been my past experience.

50%
50%
Adam Taylor
Adam Taylor
1/25/2013 2:58:26 AM
User Rank
Blogger
Re: it would be nice
This is very true I have worked on numerous projects were we have replaced the previous software solution in a safety critical system with FPGA's. Tools like formal equivelence checking making it easy to ensure that the functionality you describe in the RTL survives through synthesis and place and route with no hidden issues.

You do need good independant test benching though

50%
50%
JezmoSSL
JezmoSSL
1/25/2013 12:04:46 AM
User Rank
Blogger
Re: it would be nice
But talk to safety critical bods and they don't like software because it fails in spectacular ways when you least need it to after many years in service because fault coverage in software simply isn't mature enough to be convincing Many of these 'leet hackers'see moving to hardware designs as a threat to their 'leet' stnatus

50%
50%
JezmoSSL
JezmoSSL
1/24/2013 11:56:31 PM
User Rank
Blogger
Re: it would be nice
Brian I don't think that partitioning a design between processor and FPGA is particularly difficult,what is difficult is getting over the 'everything MUST be done in software because that is what we know'mentalliy, and it seems the 'leet hackers' of the software community are particularly resistant to any change

100%
0%
thrakkor
thrakkor
1/24/2013 9:43:39 PM
User Rank
Blogger
it would be nice
it would be awesome to have good, open source tools that ran natively on 64-bit Linux.  if it needed to be compiled, then it should use readily available build chain on current distributions, not 10 year old Red Hat.  really it should be platform independent for that matter.  free as in beer or free as in speech, i'm not picky.

for me specifically, a modelsim se class simulator would be the first on my wish list.  this would be vendor independent, support mixed language and be fast.  just like modelsim now, you would have to compile the vendor libraries you are using for cores and primitives.  simulation turnaround time can be just as important as implementation turnaround time.

these days there are too many silicon features used in everyday FPGA designs to have perfectly vendor independent and fully portable designs.  I try to improve this situation by using generic wrappers around vendor cores when possible (FIFOs, BRAMs, I/O, clocking, Gb Xcvrs).   other things you can do are to segregate all vendor IP and interfaces away from your core logic.  but no solution is perfect.

i see vendor dependence (lock in) more as using vendor IP and primitives than the actual implementation tools themselves (although that is lock in in a sense as well).  

implementation tools by their very nature must be target architecture aware, since they are all different to be competitive.  so even if there were open source synthesis engines and P&R tools, you'd somehow have to get ahold of all of the device information needed.

synplify is a killer synthesis tool, but it also comes with an outrageous price tag.  hard to justify unless you are a big company or have a big customer.  As of Quartus 10, Altera now recommends their own synthesis engine over any other.  Xilinx, unfortunately, can't claim the same thing with XST.  although it gets the job done.

50%
50%
devel@latke.net
devel@latke.net
1/24/2013 7:14:48 PM
User Rank
Guru
Re: The right place is...
William: One of the very real things that one must cross with an open source tool that relies on open source libraries is the "Scavenger Hunt" that one may have to go through to really have all the source code checked into the company version control system, if one really needs to "take ownership of the code".

My guess is that the vast majority of open-souce software users download a binary for their OS of choice, rather than attempting to build from source.

(edit) And, seriously, most users don't care about the free-as-in-speech aspect of open-source software. They just want it to be free-as-in-beer.

Certainly, there's a very vocal group of open-source users who will only use Linux and will only use GPL software and all of that, but they're the minority. The rest of us just want to get work done.

100%
0%
William Murray
William Murray
1/24/2013 7:09:36 PM
User Rank
Blogger
Re: The right place is...
One of the very real things that one must cross with an open source tool that relies on open source libraries is the "Scavenger Hunt" that one may have to go through to really have all the source code checked into the company version control system, if one really needs to "take ownership of the code".

50%
50%
devel@latke.net
devel@latke.net
1/24/2013 5:26:04 PM
User Rank
Guru
Re: The right place is...
Open source front end gives you device independence and portability.

Right up until you need to instantiate primitives. And who doesn't use DDR flops or LVDS pins or clock managers in a design?

Certainly the current synthesis tools should be able to infer IDDR and ODDR elements, and LVDS can be handled at the place-and-route end (single-ended pin in the port list, when doing constraints the pin can be marked as differential, and I think this can already be done).

But different clock managers get tricky to abstract. Perhaps a library which has a "clock manager element" which when compiled knows about the target architecture and chooses the proper primitive.

But then there's another layer of bullshit between the design and the designer, and really, perhaps a poll needs to be taken: how many companies are really concerned about portability between FPGA vendors or even families within a vendor? 

The reason I say this is that for stuff which uses the high-speed serializer and deserializer interfaces, with the various delay elements and the rest, you really do need to be designing at the specific primitive level.

50%
50%
Page 1 / 3   >   >>
More Blogs from Brian Durwood
Freemium software marketing shows some weaknesses in the traditional EDA/ESL model of evangelizing tools to move software to FPGA.
A new award has been launched for budding engineering students who are savvy on hardware, software, and solutions-level thinking.
I expect that development times will continue to diminish, average engineers will use the tools without manuals, and that when anyone gets stuck on a project they will call in an expert.
Don't blame the tool if something ends up being suboptimal. Use your superior reasoning powers and knowledge to guide the tool and achieve an optimal solution.
flash poll
follow us on twitter
follow Xilinx on twitter
like us on facebook
like Xilinx on facebook
All Programmable Planet     About Us     Contact Us     Help     Register     Twitter     Facebook     RSS