From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos
Spectre_Dave

Offset Shift Registers

Status: Declined

Any idea that has not received any kudos within a year after posting will be automatically declined. 

I do a fair amount of Pipelining and it would be cool if I could Offset the Input Shift Register from the Output Shift Register.

The default would be to keep them aligned but a right - click would give me the option to offset the input or output Terminal. I think it would be bad form to allow crossing the terminals between multiple Shift Registers so the top Input terminal would correspond to the top Output terminal.Offset Shift registers.JPG

 

 

Visualize the Solution

CLA

LabVIEW, LabVIEW FPGA
6 Comments
AristosQueue (NI)
NI Employee (retired)

I would oppose this idea. Even with your suggested restriction against allowing crossing of different shift registers, I believe it would decrease readability of the block diagrams. The paired nature of those shift registers is key to understanding code, and allowing them to drift would just make things harder to read -- the alignment of those registers is more important than the bends in the wires.

 

This is one of those areas where "consistency across all diagrams so we can all read each other's work" is sufficiently important to trump "personal preference to clean up a particular diagram."

 

Standard disclaimer: this is my opinion, not necessarily shared by the rest of LV R&D.

PJM_Labview
Active Participant

For what it is worth, I also do not like this idea.

 

Doing this would promote code obfuscation. There would no longer be any way of identifying a set of shift register, and people could actually aligned different shift register...



  


vipm.io | jki.net

X.
Trusted Enthusiast
Trusted Enthusiast

Although I understand the legitimate objections above, a simple solution would be to associate labels with each shift registers (obviously the input and output would HAVE TO have the same label). And of course, selecting an input (respectively an output) would select its matched pair... With these modifications, "crossing" would be a logically permissible action.

But my bet is that this suggestion is going to stay at the bottom of NI's priority list considering the potential problems of legibility raised above.

Spectre_Dave
Active Participant

I don't understand the confusion. The order of the Shift Registers does not change so the readability will only increase and the "obfuscation" will decrease.  I also think it is bad to allow crossing the order of the shift registers all I am asking for is the ability to "slide" a Shift Register within the bounds created by the next higher and next lower Shift Registers. I will cross post this to the LabVIEW FPGA Idea Exchange where this would have the biggest impact.

Visualize the Solution

CLA

LabVIEW, LabVIEW FPGA
JLewis
Member

For pipelining FPGA diagrams, feedback nodes are the recommended solution for improving readability. It does take a while to get comfortable with their semantics, but the "Replace with feedback node" pop-up menu item can help you get over that by showing you the equivalent feedback node implementation. If you are doing a pipelined diagram of any complexity, the difference between feedback nodes and shift registers is really night and day.

Darren
Proven Zealot
Status changed to: Declined

Any idea that has not received any kudos within a year after posting will be automatically declined.