FPGA: 2-D arrays supported?

I'm getting an error in an FPGA VI when editing the VI (broken run button): "Maximum number of array dimensions exceeded for target"  The array is 8x16 boolean.  Doesn't the target support 2-D arrays?  My target is cRIO-9102.  I tried to make the control smaller, too, but without success.
Thanks,
Rob
Rob
LV2011,LV2012,LV2013

anderson1988 wrote:
Hi, I am experiencing a similar problem with my NI PXI 7833 and fpga module. I need to burn a code which inherently contains boolean 2D arrays in it. I am looking for effective ways to express a 2d array as a 1d array... if you have succeded in doing so kindly reply... your help shall be greatly appreciated.
cheers
Sid
If you want to do it mathematically (I did this in the past in BASIC - yes, I've been around that long), then store everything in a one-dimensional array and calculate the index into that array.
 Example: if you have two dimensions (X,Y) and the Y dimension is of a maximum size of Z, then the index into the one dimensional array would be X * Z + Y.
This should work well with LabVIEW since it starts all indices at 0. 
I hope this helps and that you can get it working. 
     Rob

Similar Messages

  • HP StorageWor​ks 20 Modular Smart Array Support / 335921-B1 storage

    hey Friends...
    i have a storage - HP StorageWorks 20 Modular Smart Array Support / 335921-B1 storage and i have changed the storage connection with other Server..but my problem is driver....when i check device manager it seems HP U320/sata bulk 1 SCSI ARRAY DEVICE  hasnt a drive...so i cant connect my storage.
    i need help about it. best regards.

    Hi:
    You may also want to post your question on the HP Business Support Forum -- Disk Array section.
    http://h30499.www3.hp.com/t5/Disk-Array/bd-p/itrc-​195#.UqtyU-l3u9I

  • 160 counters in FPGA. Use arrays or 160 loops?

    I need to program a 7811R FPGA module to give me 160, 16 bit counters. Originally I made 4 loops (one for each connector) and put the counts from each loop in a 40 element array - mostly to make it easier to program. I'm wondering if that's a bad idea. Would it be better to use an individual loop for each counter? Or maybe use one array per 8 bit port (20, eight element arrays)? I don't have my board yet so I haven't been able to test it.
    George

    Hello George!
    I am terribly sorry I misread your previous question.  You want to check for pulses on 160 lines and then keep track of the number of pulses in a 160 element array.  I believe this is the only efficent way todo this but I am concerned whether their will be enough real estate on the FPGA to handle this 160 element array.  Additionally, its going to take some time to read and process 160 lines at the same time.  Therefore you may want to break this up into 20 loops of 8 lines so that you are not waiting for one loop todo all the processing.  This would also give you 8 arrays of 20 elements.  Sorry it took me so long to get on the same page with this issue.  I hope this helps and please continue to write if you have more questions.
    Allan S.
    National Instruments

  • Pda 8.0 multi dimensional array support?

    I've just spent most of this day chasing down a problem with a vi I was attempting to port from a PC environment to a PDA (PocketPC).  I think I have found the problem but I would like some confirmation if this is a recognized problem (not supported) by NI or if this is supposed to be supported but does not work on my IPAQ hx2790 (running WM5.0).  The problem I have is that the PDA doesn't seem to support multi-dimensional arrays ... NI, or anyone else who might know the answer ... Is this supposed to be support or not?  Thanks
    Greycat

    That's a great one !
    I ran in the same bug a few hours ago (LV PDA 8.0 - iPAQ 4700 - WM 2003) . I could not believe it !!!
    It is simply not possible to index a 2D array to extract a single row or column. Yet it is possible to get an array element.
    I suppose there are other issues that will be exposed soon.
    I have no more time to waste on LV PDA. But I suggest a few search directions : I found that on LV embedded, array operators could not be used with disabled index inputs. In the attached example, I tried to find a workaround and I used a for loop to index each element of a column and build a 1D array. It works sometimes : Don't touch element (0,1) otherwise the vi hangs.
    That could be fun if this was not the dead-end of a 2 months work, fighting with LV PDA inefficiencies !
    May be I'll try LV PDA again when a new release will be available !
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    LV PDA 2D Array bug.vi ‏15 KB

  • MacOS X San Array support on Xserve Intel

    Hello,
    We have a datacenter with several XServe Intel connected to XServe RAID using FC (for Apple file sharing services). A part of the datacenter is migrating to VMware ESX. The XServe RAID cannot be used under VMware (no official support and performance problems) and we cannot have two SAN array.
    Is it possible to connect the Apple XServe (with MacOS X 10.4 or 10.5) using FC to anything else than an XServe RAID ? For example an EMC Clariion ?

    I successfully connected an Intel Xserve to an EMC Clariion X600 array this past summer for testing purposes. Just make sure you get the UUID of the SAN from the System Admin of the SAN array. Similarly you'll have to give the SAN admin the UUID for your Fibre Channel interface. The UUID is like an Ethernet MAC address and allows you to see the SAN array over the Fibre Channel connection. We also had to get an SFP adapter for our Fibre Channel card as our SAN switch was all fiber optic connections.
    Once we configured both ends of the Fibre Channel and the System Admin had allocated a 100GB slice to my UUID, I initially couldn't see the SAN. After about a day of delays and double-checking the SAN admin rebooted the SAN, I rebooted the Xserve and the 100GB slice magically showed up in Disk Utility as unformatted storage directly attached to the machine. I don't know if there's any trick to configuring the Clariion box. I know they made no adjustments or changes to get the Mac to work on the SAN side. The system admin of the SAN kept saying, "We've never done this before,... You have to install the drivers for the SAN,... what interface is the Mac using?...Who manufactures it?...Do they provide any drivers whatsoever for the Mac?...
    Also our on-campus Mac re-seller directed me to alienRAID.org
    http://alienraid.org/
    There's some entries there on hooking Apple Fibre Channel to Clariion hardware:
    http://alienraid.org/article.php?story=macosxemcsupport

  • Does PKGBUILD backup array support directories / wildcards?

    Hi all,
    I'm hacking the iptables package at the moment to support loading rules from an include directory (/etc/iptables/rules.d/).
    Can I set this directory to be preserved by the 'backup' array, or do I need to specify each file separately? The idea is the user (or another package) can add their own files in that directory, but I don't want to clobber those files if the iptables package ever has the same filename as what they put in there.

    I don't believe it does support directories or wildcards...   In fact, thinking about how this is implemented, I guess it does not.  May be worth filing a feature request for.

  • Array support for makepkg & pkgbuild

    I was just wondering the other day... Pkgbuild/makepkg make one hell of a build system. There is one thing i'm missing though, which is the support for arrays. Take the amarok package for example (or the GNU compiler suite), which in essence are one package split up into many:
    # $Id: PKGBUILD,v 1.43 2007/04/08 06:48:25 tpowa Exp $
    # Maintainer: damir <[email protected]>
    pkgname=(amarok-base amarok-engine-xine)
    _origname=amarok
    That way, you could have one pkgbuild build multiple related packages (since they come from the same source anyway), and also save a lot of time while building it .
    Unfortunately my bash is a bit lacking, so I was wondering if someone could come up with a patch for this... I've read about previous efforts for this but none really seemed to work so far.

    It's cool to hear the devs are open to it . I'll try to come up with something myself, who knows .

  • DMA from host to FPGA target is not supported for this remote system.

    I am trying tocommunicate with my FPGA (on the cRIO 9002) from the RTOS.  I setup up anOpen the correct VI reference with no error but as soon I try to access thefifo I receive error -63001 and the attached message says:
    Error -63001 occurredat Open FPGA VI Reference in target - multi rate - variables - fileIO_old.vi
    Possible reason(s):
    NI-RIO FPGACommunications Framework:  (Hex 0xFFFF09E7) DMA from host to FPGA targetis not supported for this remote system. Use another method for I/O or changethe controller associated with the FPGA target. 
    What other I/O optionsdo I have to move data asynchronously from the RTOS to the FPGA. I triedcreating memory but it appears that I can not write to the memory from the RTOSside.
    We also have a 9012sitting around will using this cRIO instead solve this problem. 
    I am very very greenwhen it comes to LabView so I apologize if this is an easy question. 
    Solved!
    Go to Solution.

    As stated in the NI-RIO driver readme,
    DMA is not supported from the host to the FPGA on the cRIO-900x series.
    The cRIO-901x controller supports DMA transfers from host to FPGA and
    FPGA to host while the cRIO-900x series controllers only support FPGA
    to host DMA transfers. Therefore, LabVIEW returns an error if you try
    to transfer using DMA from the cRIO-900x controller.
    The 9012 looks like the ideal solution, you are very lucky to be having extra hardware laying around 
    Rob K
    Measurements Mechanical Engineer (C-Series, USB X-Series)
    National Instruments
    CompactRIO Developers Guide
    CompactRIO Out of the Box Video

  • Oracle Arrays support in WLS7.0

    Getting a ClassCast Exception when using Oracle.jdbc.ArrayDescriptor.createDescritor("array",conn)

    Hi,
    If you don't set the datatype (i.e. leave it as "unknown", or set it back to "unknown"), it will generate
    TEST_V AS ( CASE WHEN EVENT_NAME = 'XXXX' THEN 'MMMM' ELSE 'KKKK' END )
    The Oracle 11gR2 documentation for the virtual_column_definition clause notes that "The keyword VIRTUAL is optional and for syntactic clarity."
    So the fact that Data Modeler does not output the keyword VIRTUAL does not make any difference to the effect of the SQL statement.
    David

  • A5200 Array support

    Could an A5200 storage support bigger disk to 73GB ?

    Some points I forgot to mention earlier: the temperature can be monitored via the fpm, there are firmware differences on the non Sun fibre channel drives and you may experience strange performance with standard ufs mounts with these drives. Additionally try to make sure all the drives have the same firmware revision, you will experience performance degradation on JBOD loops that have odd firmware revisions on the drives. There have been a few discussions on this topic in the past, try a forum search.

  • Support for 3310 scsi array in 2-node cluster

    is the 3310 scsi array supported in a 2-node cluster
    for oracle HA

    Yes , Se3310 jbod or h/w raid is supported in
    a 2 node cluster . Se3310 jbod behave like a D1000 .
    For se3310 raid , performing LUN creation and mapping .

  • Using LabVIEW to simulatenously control 256 Outputs on FPGA

    Hello,
    I am a first year graduate student classically thrown into learning LabVIEW, so I would much appreciate some help with the code I am trying to work out. To give you an idea I started watching the tutorials on creating loops in February. For reference I am on LabVIEW 2014 and using a CRio-9066 with 8 modules and 256 total digital outputs.
    The goal of the code is to 1) generate on/off times for the state of the outputs on the FPGA VI and 2) to communicate this with the FPGA VI in real time. The reason the code is on a computer VI and not contained on the FPGA is because I need to use a normal distrbution function (which has inputs mean and standard deviation and outputs a value accordingly) to determine the timing. This is easily achieved on the computer, but not so easily achieved on the FPGA interface. It is essential that each output follows it's own unique timing function for my purposes.
    The way the code works is that each output has it's own while loop containing a two-frame timed loop (see attached.) A sub-VI I made (with a sun icon, see attached) outputs a timing value each time it is called, and this value delays the next iteration and during this delay sets the value of the local variable as true or false (on or off.) The state of the local variable is continuously communicated with the FPGA VI using a read/write control elsewhere in the program. The FPGA VI itself is a very simple VI which has boolean switches attached to each desired output.
    This code works very well for 128 outputs. However, when I try to use it for all 256 outputs it does not work. The VI does not report any errors, however about half of the loops are apparently not executing. My suspicion was that there is a limit to the number of processors that can be simultaneously utilized to execute loops in a VI, so I split the VI into two parts, each with 128 outputs communicating with the same FPGA VI. Again, I had the same issue. I am not sure if this is due to processor overuse or UI latency in labview (since the front panel is rather cumbersome.) Any suggestions would be greatly appreciated.
    One thought I had to work around this is to create a VI which generates timing values and stores them in an array. Then I could create a simple VI on the FPGA which reads these values and assigns a true or false state to the output accordingly. However, when I pasted the array into the FPGA VI I was returned the following error: "The FPGA module does not support variable-sized array on the front panel of the top-level VI." Any suggestions for working around this would be greatly appreciated as well.
    Any thoughts, comments or insight would be greatly appreciated. I am new to this so I realize my code is probably inefficient and such, so any tips would be awesome. Thank you.
    Attachments:
    Timing_Loop.PNG ‏15 KB
    FPGA_error.PNG ‏116 KB

    For the array error, check out: http://zone.ni.com/reference/en-XX/help/371599H-01/lvfpgahelp/creating_fixedsize_arrays/  Do you understand why a variable sized array causes problems with FPGA fabric?
    You're right about loops on either the RT side of your cRIO or your computer requiring cores and that cores might have to share threads if you have too many loops.  Loops on the FPGA itself will be routed otherwise.
    When you say computer, are you talking about the PC or the RT side of your cRIO?  Is there a reason you've got locals all over the place instead of shared variables?  Are the values meant to stay with the PC only or shared to the FPGA/RT?

  • I want to pass String array to Stored procedure .

    ArrayDescriptor claim = ArrayDescriptor.createDescriptor("POOJA.VARCHAR_TBL" , conn);
    String test[] = {"an","jk"};
    ARRAY a = new ARRAY(claim,conn,test);
    cstmt.setArray(noOfParms,a);
    It gives class cast exception at ArrayDescriptor .. Dont know why ?
    Need an urgent help ...

    ArrayBinding feature is for bulk operation where a SP or SQL statement executes ArrayBindCount time in one server round trip. Each execution uses the nth element in the parameter (array) and execute the SP or SQL statement.
    This is done internally in the database, and not related to the SP or SQL statement at all.
    The PL/SQL Associative array support might be the feature that you're looking for.
    Please take a look from our Doc on these topics for further information. Also take a look in the ODP.NET dissucssion forum's samples section.
    Thanks
    Martha

  • Cloning an array and reflection magic

    * Arrays support cloning. But why is not possible to fetch an
    * arrays clone()-method using reflection? Or is it anyway?
    * Please watch out for the calls to getMethod() and clone()
    * in this class' main()-method. Perhaps I missed something. Thank you!
    import java.lang.reflect.Method;
    public class Question {
    public static void main (String[] args) {
    Object[] array = new Object[5];
    try {
    Class c = array.getClass();
    //! throwing a NoSuchMethodException!
    Method m = c.getMethod("clone", null);
    m.invoke(array, null);
    } catch (Exception e) {
    e.printStackTrace();
    // but this is works properly:
    array.clone();
    }

    // ...and now I've discovered the -tag...
    import java.lang.reflect.Method;
    public class Question {
    public static void main (String[] args) {
    Object[] array = new Object[5];
    // throwing a NoSuchMethodException!
    try {
    Class c = array.getClass();
    Method m = c.getMethod("clone", null);
    m.invoke(array, null);
    } catch (Exception e) {
    e.printStackTrace();
    // but this is o.k.
    array.clone();

  • Data types supported in weblogic web service

    I have used byte[] (base64) array to pass binary data using weblogic in a web service, since byte[] is a java datatype that is supported, is there a definite guideline available that byte [][] ( multi-dimensional array} is not supported in weblogic 8.1? (I have tried and failed with byte [][])
    Thanks

    Hi gchirrav ,
    Multi-Dimentional array support not listed in supported Data Types in weblogic 8.1.
    Go through the following link, you will find supported data types.
    http://e-docs.bea.com/wls/docs81/webserv/implement.html#1054236
    ----Anilkumar kari

Maybe you are looking for