09-15-2020 11:20 AM
We've had a couple people ask if there was a submission yet on 'x' topic, not because they want to give one, but because they'd like to see one. Is anyone else in that boat? If so, go ahead and make a comment below indicating content you'd like to see (but don't want to present on).
You're also welcome to make a completely new thread on this board if you'd prefer!
09-15-2020 11:34 AM
I'd like (and was about to post a new thread, but Chris beat me too it) a presentation on common patterns (ideally in the style of "Design Patterns: Elements of Reusable Object-Oriented Software (GoF)) in FPGA code.
Something not too dissimilar to (but perhaps a little extended in comparison to) this presentation would be good: LabVIEW FPGA Design Patterns and Best Practices (NIWeek 2014?)
I'd like to know about common mistakes and the better way of writing FPGA-based code.
09-15-2020 12:03 PM
@cbutcher wrote:
I'd like (and was about to post a new thread, but Chris beat me too it) a presentation on common patterns (ideally in the style of "Design Patterns: Elements of Reusable Object-Oriented Software (GoF)) in FPGA code.
Sam Taggart and I were talking about submitting a presentation about GoF. I'll send him a message and get something submitted 🙂
09-15-2020 12:20 PM
@McQuillan wrote:
@cbutcher wrote:
I'd like (and was about to post a new thread, but Chris beat me too it) a presentation on common patterns (ideally in the style of "Design Patterns: Elements of Reusable Object-Oriented Software (GoF)) in FPGA code.
Sam Taggart and I were talking about submitting a presentation about GoF. I'll send him a message and get something submitted 🙂
That's great (and even if it doesn't match what I mean, it's probably still great) but I just want to reiterate I'm specifically looking for FPGA guidance, which probably eliminates many of the patterns that are actually in the GoF book (anything relying on dynamic dispatch, for example, would be very difficult/impossible maybe?)
There are a few examples (in e.g. the NI presentation linked above) for handshaking and state machines, and I expect there are many clever ways to use these that I haven't imagined.
Also, even if you can't unbundle I/O references, you can still use classes to handle some of the timing, mediation and interactions/relationships between different lines, signals and conditions.
It's hard (for me) to say exactly what I'm looking for, because if I knew it, I probably wouldn't be looking, but I expect there are many stupid things I'm doing that have better solutions...
Maybe more advanced uses of handshaking between loops, to handle e.g. sequencing of signals or settings updates, rather than directly pipelining numerical processing? Just guessing, really...
09-15-2020 03:22 PM
I am interested in this but first some comments and questions.
As mentioned above, software optimizations and techniques are mostly single core minded where on an FPGA things are spatial and so forth.
Has a new thread for this been made? I gave a talk in May 2020 https://www.youtube.com/watch?v=i_nC_sGOqUw&t which talks about some of these techniques at a general level. How does this compare to what you are looking for?
There are good LabVIEW FPGA shipping examples that have best practices as well. Other best practices can be found in the VST2 and RTSA code but they are not openly available. A talk could be made that speaks to those practices without revealing the code.
Also, what is typical application and NI hardware (i.e. cRIO or PXI)?
09-15-2020 10:36 PM
@Terry_ALE wrote:
I am interested in this but first some comments and questions.
As mentioned above, software optimizations and techniques are mostly single core minded where on an FPGA things are spatial and so forth.
Has a new thread for this been made?
There is now - I wish... FPGA Best Practices. I'll copy the rest of your reply and some further comments over to that thread to avoid making this a long discussion about a single hypothetical presentation!
09-16-2020 01:47 AM
it would be great to see a presentation on Design patterns not in FPGA but also in Labview 2020.
@Tom: didnt you also want to do some youtube series on them on your channel ?
09-16-2020 02:03 AM - edited 09-16-2020 02:19 AM
@AsadAA wrote:@Tom: didnt you also want to do some youtube series on them on your channel ?
Yes, it's in the pipeline. It's just a bit difficult to find time to complete the videos. A lot of the demo code is complete, but it takes quite a bit of time per video (and there will be around 20-25 of them)
To prevent this thread getting too muddy, I've created a new one for the GoF Design Patterns: https://forums.ni.com/t5/Global-LabVIEW-Architect-GLA/I-wish-GoF-OOP-Design-Patterns/gpm-p/4083545
10-06-2020 10:28 AM
I'm passionate about software engineering infrastructure and continuous integration. So I'd love to hear about anything developed in our community on