Jump to content

Copy... with minor changes?


Gray Thomas

Recommended Posts

Hello,

I'm new to these scripting features, but I was wondering if it could support the following proposed style of programming:

  1. Write a vi as you normally might
  2. Replace some labels with an escape character and a number (~1, ~2, etc..)
  3. Have a generic script vi which will read your "template vi" and record its structure
  4. Replace every reference which had a "~x "label with object x from an array of user input objects (inputs to the script not the template)
  5. rebuild the vi with scripting, while maintaining algorithmic changes
  6. Thereby subvert unusual requirements in the FPGA module, such as the requirement that constants be passed for memory locations and IO references
  7. Thereby allow multiple instantiations of asynchronous parallel state machines--like sonar drivers, multiplier-sharing machines, lidar data parsers, and neuron implementers
  8. Thereby allow re-use of parallel code
  9. Thereby raise the abstraction barrier of writing such code

The benefits are clear for those of us stuck programming on reduced abstraction systems where labview is unable to offer the shortcuts we usually use to avoid templating, but for the vast majority of labview users, this is probably not the biggest concern.

I'm curious to learn what the scripting system really excels at, and how others have dealt with the FPGA abstraction problem.

Link to comment

Off the top of my head I would say steps 1-5 are possible, though I'm not a script monkey so that's just a guess. jgcode is one of the alpha apes around here when it comes to scripting; maybe he'll chime in. Whether doing steps 1-5 will accomplish goals 6-9 is a question I can't comment on. I know less about FPGA programming than about scripting.

Link to comment

Well that is certainly encouraging!

But the quest for FPGA abstraction continues...

One key feature of the scripting language that would need to work to accomplish 6-9 is the ability to add objects to the block diagram that are based in the project, rather than in files. Outside of the FPGA module this is relatively rare, I think shared variables do it, but they are also associated with libraries. on the fpga, all descriptions of inputs, large scale memory, and large scale communication with the outside world are done through project based objects.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.