07-25-2007 12:11 AM
07-25-2007 07:54 AM
07-25-2007 10:48 PM
07-26-2007 11:51 AM
Hi,
Unfortunately, I do not recall the ALWAYS Block in Verilog ( it has been many years since I did verilog). However, if that block represents a block of code that propogates with every tick of the clock, then that is partially correct. As long as the SCTL is actively executing, it will execute all of the contained combination logic within every tick. However, you can also exit this loop structure with the stop terminal and re-start it. There are a few additional ticks that occur on the entry and exit of this structure if you are concerned about timing.
With regards to your other question, the answer is no. If you would like to conserve the resource on this shift register, store the bits as an array of booleans with 4 elements. You can always convert the array of booleans to a number to perform operations and then back to an array of boolean ( these operations are free operations that require no FPGA space) Otherwise, LabVIEW will have no way of knowing that the other bits will never be used.
On a side note, I know that you probably have read that arrays on FPGAs are a no-no which is very true if the combined size of the elements in the array are more than 32 data bits wide.
For example
I hope that this helps,
Mike