LabVIEW FPGA: Multiple SCTL versus one SCTL (same clock domain)

Hello NI forums,
Question:
See the attached picture from a modified version of the LabVIEW DRAM FIFO example. It probably explains my question more effectively than the paragraphs below.
What is the difference to the LabVIEW / Xilinx compiliers, if any, between placing two independent branches of code in the same SCTL, versus placing them in individual SCTLs (in the same clock domain)?
Misc. comments:
I have briefly experimented with this concept using the included LabVIEW DRAM FIFO example (example finder >> Hardware Input and Output >> FlexRIO >> External Memory >> Simple External Memory FIFO.lvproj).
I compiled the default example (the read and write interfaces are in separate 40MHz SCTLs) five separate times. Then I put the read and write interfaces in the same 40MHz SCTL and compiled another five times. The result (when both read and write interfaces were in the same SCTL) was a reduction in resource usage (according to the compilation summary).
However, due to my lack of knowledge I'm hesitant to conclude that placing everything in one SCTL is always the best option. For example, I do not know what is created 'behind the scenes' with each SCTL. Perhaps putting independent branches of code in separate SCTLs makes it possible to route clock, reset, implicit enable, etc. signals more effectively.
Background information:
My task involves acquiring 2 channels of analog data using the NI 5772 and PXIe-7966. Data acquisition takes place in a 200MHz SCTL, and downstream processing is performed in a 100MHz SCTL.
During a vast majority of the 100MHz SCTL processing stages of the FPGA VI, the 2 channels of data do not interact with eachother. So it would be easy for me to place them in separate 100MHz loops if doing so would somehow help the design (timing, resource usage, etc.).
Thanks!
Attachments:
question.png ‏76 KB

Intaris
Trusted Enthusiast
Posts: 3,264
Re: LabVIEW FPGA: Multiple SCTL versus one SCTL (same clock domain)
‎10-28-2014 12:11 PM
Just out of interest, what is the resource usage differential between the two versions?
In response to the above comment,
This is a little embarrassing, but it seems like the resource usage is similar than I initially thought for this particular example. I think the previous compilations that I based my assumption on coincidentally used more resources in the 2-SCTL loop case. I just compiled each version two additional times (see below).
Here's the version with everything in one loop:
Device Utilization
Total Slices: 17.6% (2587 out of 14720)
Slice Registers: 9.5% (5583 out of 58880)
Slice LUTs: 8.2% (4855 out of 58880)
DSP48s: 0.0% (0 out of 640)
Block RAMs: 2.5% (6 out of 244)
Device Utilization
Total Slices: 16.9% (2493 out of 14720)
Slice Registers: 9.5% (5583 out of 58880)
Slice LUTs: 8.3% (4858 out of 58880)
DSP48s: 0.0% (0 out of 640)
Block RAMs: 2.5% (6 out of 244)
Here's the version with the read and write in separate loops:
Device Utilization
Total Slices: 16.4% (2407 out of 14720)
Slice Registers: 9.5% (5583 out of 58880)
Slice LUTs: 8.2% (4852 out of 58880)
DSP48s: 0.0% (0 out of 640)
Block RAMs: 2.5% (6 out of 244)
Device Utilization
Total Slices: 19.4% (2859 out of 14720)
Slice Registers: 9.5% (5583 out of 58880)
Slice LUTs: 8.3% (4859 out of 58880)
DSP48s: 0.0% (0 out of 640)
Block RAMs: 2.5% (6 out of 244)

Similar Messages

  • LabView fpga VHDL code and compiler

    Hello,
    I'm in the project where we would like to use NI hardware (more likely cRIO system). With NI hardware we will read/wright several AI/AO and DIO and perform some math and controls on the result of readings. We are planning to design FPGA code for project, but we are thinking about implement all data processing and control logic in VHDL and link it with AI, AO and DIO with help CLIP or IP Integration Node as explained in this : "white-paper": http://www.ni.com/white-paper/7444/en/
    Mentioned above paper explain how to implement VHDL code in LabVIEW FPGA VI using CLIP or IP Integration Node, but the topic that is not highlight explicitly is how these construction CLIP and IP Integration Node will be handled by Compiler. The main reason for such approach (VHDL linked with part that read/write into hardware AI AO and DIO) we expect that our VHDL code will be handled by LabVIEW compiler without modification and passed to Xilinx Compiler synthesis as is (path for Compile process I've taken from here: http://www.ni.com/white-paper/9381/en/ ), so we will be able at some level bypass the intermediate process of compilation and get almost the same result as if we design pure VHDL code and use Xilinx ISE for Synthesis Mapping and Bit File generation.
    Will this approach work? I was not able to find any documents that explain the Compiler behavior and confirm that VHDL code handled untouched or will modified, does such document exist?
    Note. I've requested official  assistance from NI support on topic above, but I would like to post this question on forum hoping get more feedback.

    Hello RangerOne,
    There won't be any modications to the internal logic of the VHDL that you implement in the IP integration node. Though I've seen developers unfamiliar with LabVIEW FPGA get tripped up on the synchronization registers that LabVIEW FPGA inserts into the code around the integration node. Learning where and why these syncrhonization registers are inserted has in my experience always resolved this issue. These two help documents do a good job of explaining the 'where and why' of synch registers when the enable chain is present, or when working with IO inside of a SCTL.  
    With regards to the stability of LabVIEW FPGA, I would second Daniel's sentiments. What about the known issues list conveys instability and risk? As a point of comparison, here are the known issues for ISE 14.x. 
    If you are looking to minimize risk, I would recommend developing the critical logic in the development enviroment in which you are comfortable setting up a comprehensive test bench since testing the code is the only way to truly verify its functionality. For me this would be LabVIEW FPGA as it has excellent trouble shooting tools and I've been developing in it for quite some time. Perhaps you're more familiar with ISE than LabVIEW FPGA and that is the source of your trepidation? If that is the case then you may find the High Performance FPGA Developers Guide a good read.  You may also find a few of the case studies on our website reassuring since they demonstrate other teams successfully implementing a solution using LabVIEW FPGA. Here's one that used LabVIEW FPGA in conjnction with VHDL IP similiar to what you are doing.
    National Instruments
    FlexRIO Product Support Engineer

  • Can multiple PCs access one remote panel at the same time?

    I've written a program in labview 7.1 to monitor/control a labview application running in the test cell through Remote Panel. I and my coworker can remotely monitor and/or control this labview application individually. But if my coworker has the remote panel displayed on his PC and I try to get the remote panel on my PC, I get a labview error (63) as below:
    "LabVIEW:  Serial port receive buffer overflow.
    LabVIEW:  The network connection was refused by the server."
    My question is: Can multiple PCs access one remote panel at the same time?
    Thanks in advance!
    Y

    Sorry I wasn't clear. The remote panel license is separate from the number of LabVIEW development licenses. Pricing information on remote panel licenses can be found here.

  • Creating multiple tasks in labview fpga

    Hi,
    I need to create multiple tasks in labview fpga....I need to set one update period in each task so that i can make my while loop run at this rate everytime my input frequency changes....How do i do this?

    Hi,
    just to be sure: You are talking about multiple tasks on the FPGA to acquire data? Or do you want to have multiple tasks on the host to display the data?

  • Multiple plots in one graph (LabVIEW to Excel)

    Hi All-
    Reference this initial discussion: https://forums.ni.com/t5/LabVIEW/Place-Multiple-Data-Sets-on-One-Graph-LabVIEW-to-Excel/td-p/2164380
    Problem description: Generated multiple 2D arrays with different x-axis and y-axis values cannot be placed into ONE excel graph (looking for LabVIEW solution). 
    We tried several options.  1) Coercing the data to have the same x-axis works in the sense that I get a graph (of the multiple data sets) but the graph is bogus since the x-values are different enough that the graph isn't correct.  (This was suggested in the referenced post).  The x-values are output power and y-values are efficiency.  2) We can feed the x-values and y-values into a bundle element and wire the output into a waveform graph element which works great but again the output needs to be fed into excel.  (also suggested by the reference post).  3) Lastly, we tried using the Excel Update Graph.vi but unfortunately we were only able to plot the last data set because it looks like the graph gets updated on each loop run and ultimately we only get the last data set.  4) As a final effort we tried looking into the sub.vi but that didn't get us any closer to x-values and y-values plotted in excel with LabVIEW generated data.
    Any suggestions?
    Thanks! 

    Hi,
    You attempted to invoke nodes? Add a  invoke node of the waveform graph, so this add data to excel. There are several types of  invoke  nodes that can be used, such as  invoke node "Export data to Excel" or the invoke node "Export data to excel Plot".
    Regards
    Hector
    Attachments:
    Export Data to excel from a waveform.vi ‏34 KB

  • SCTL using same clock

    I am using 2 SCTL with the same clock, are they running in parallel or sequential?
    Details:
    I am using the 1st SCTL to acquire ADC data.  It is triggered by a button.  During the acquisition, when the 1st SCTL detects an event, it sends a FIFO message to start another SCTL, which should run at the same speed.  So I programmed another SCTL using the same ADC clock as the timer.
    But I found the behavior looks strange.  I don't know if these 2nd SCTL is running after the 1st is stopped.

    Hi
    Parallel loops run in parallel.  Since these are both SCTL I can guarantee that there are no shared resources and each loop should behave completely independent of the other.  What exactly is the "strange" behavior? 
    Just guessing, there are multiple cycles of latency between FIFOs.  Meaning if I write to a FIFO on the first iteration that data may not be available to read from the FIFO until up to 6 clock cycles in this case.  You need to monitor the empty and full flags to validate his data.
    Can send some screenshots of your code and explain the strange behavior in a little more detail?
    Thanks
    Jerry

  • Add multiple graphs in one chart(ex.scatter chart) using labview excel report generation toolkit

    How to add multiple graphs in one chart(ex.scatter chart) using labview excel report generation toolkit. Assume like my test data is like below:
    X-Axis
    Data1
    Data2
    1
    1
    2
    13
    2
    3
    14
    3
    4
    15
    5
    5
    16
    3
    6
    7
    7
    The above graph generated manually in excel. I want to generate the same using excel report generation toolkit. when I use Excel Insert Graph.vi where the input data is 2D array with numeric data but here labview converts the empty cells (eg.x -axis 1,data1- is empty) as zero and while plotting i am getting zero for empty cell values.
    Can anyone please help me on how to plot the graph without adding zero for empty cells?
    Thanks&Regards,
    Bharathi T
    TE
    X-Axis
    Data1
    Data2
    1
    1
    2
    13
    2
    3
    14
    3
    4
    15
    5
    5
    16
    3
    6
    7
    7

    Hi Bharathi,
    The Excel Insert graph function takes in only 2d arrays as inputs. Since arrays can only have numeric values, any table with a null string is read as 0. Now to get a plot like you mentioned, you could read the table and replace blank Strings as NaN. NaN values in an array when plotted do not appear in the excel sheet. For reference I have attached a sample vi to help you understand.
    Regards
    Vijetha Nuthakki,
    Applications Engineer
    NI Systems India
    Attachments:
    Excel_graph_multiplot.vi ‏21 KB

  • HT2905 I have multiple album titles of the same name with different artists. How can I get them to go under one album title again?

    I have multiple album titles of the same name with different artists. How can I get them to go under one album title again?

    In iTunes(on a Mac or PC) just tap on 'Albums' rather than 'Artists' and you'll see them all together.
    You may find that there are songs mislabelled. In which case right tap on the Album or Artist and tap 'Get Info', then change to the correct name and the songs will join the rest of the songs for that Artist or Album.
    Then resync with your iPhone and all will be well.

  • Multiple MIDI takes on the same track - can only find one in the editor?

    After making several passes on an instrument track w/drum sampler on it I opened the piano roll editor to edit the data only to find only one of the passes represented there. I could only find the other passes when I moved the current one out of the track temporarily. There must be a better way to do this, can anyone hip me to the right way to edit all the data in the multiple passes at the same time? I can hear all the data, I just can't see all of it.
    I'm doing this so I only have to instantiate the Virtual Instrument once in the session, CPU is always at a premium these days. I have done the bulk of my work in recent years in ProTools but I have found Logic Express 8 to be far more efficient with CPU load on my core 2 duo Macbook. I suspect I'm just missing something but I cannot seem to figure it out. Help?

    I appreciate your comments but my issue was in editing the already recorded tracks. If you can find in those pages where it shows how to view all the data from the already recorded multiple MIDI tracks at the same time in the piano roll window and be able to edit them I'd be much obliged if you would point those out to me. I double checked your recommendation after reading your first reply, the answer I needed was not there.
    Evidently you can only select and view one region at a time no matter how many there are in the same track. I have searched the LE 8 pdf manual and also searched thru an Apple Logic Pro Training series book for version 7 JIC it had some additional insight into this particular issue and came up empty, that's why I was asking for additional insight on this panel. I always go to the documentation first - RTFM is first call for me.
    I've already figured the workaround and I'll know better next time to allow Logic to create its own multiple take folders so as far as I'm concerned this case is closed. Thank you again for your input.

  • Can there by multiple accounts under one id?  I just loaded a $25 gift card and it showed up in my balance.  My daughter, under the same id had $12.0 left from a previous gift card.  Now only the $12.01 shows up and the $25 is nowhere to be found?

    Can there be multiple accounts under one apple id?  My daughter and wife apparently share an id between my daughter's ipod and my wife's ipad.  My daughter has what she believes is her $12.01 left from a gift card.  My wife loaded a $25 gift card recently (I saw the $25 balance in her account when she was done) and after a password change, now all that shows up is the $12.01?

    Greetings,
    I've never seen this issue, and I handle many iPads, of all versions. WiFi issues are generally local to the WiFi router - they are not all of the same quality, range, immunity to interference, etc. You have distance, building construction, and the biggie - interference.
    At home, I use Apple routers, and have no issues with any of my WiFi enabled devices, computers, mobile devices, etc - even the lowly PeeCees. I have locations where I have Juniper Networks, as well as Aruba, and a few Netgears - all of them work as they should.
    The cheaper routers, Linksys, D-Link, Seimens home units, and many other no name devices have caused issues of various kinds, and even connectivity.
    I have no idea what Starbucks uses, but I always have a good connection, and I go there nearly every morning and get some work done, as well as play.
    You could try changing channels, 2.4 to 5 Gigs, changing locations of the router. I have had to do all of these at one time or another over the many years that I have been a Network Engineer.
    Good Luck - Cheers,
    M.

  • Can multiple computers in one office use the same Adobe ExportPDF subscription?

    Can multiple computers in one office use the same Adobe ExportPDF subscription?

    Hi urinutrioned,
    An ExportPDF subscription is tied to a single Adobe ID and password, so it's meant for a single user  to access.
    Best,
    Sara

  • Can I do multiple installs on  one server at the same time ?

    Hi. we have a project where the basis group is under very tight deadlines. We are tasked with installing multiple SAP systems on the same server. Is it possible to install more than one SAP systems ( ie ERP, BI, EP, CRM ) on the same physical server at the same time. for example on analyst install ERP while at the same time another analyst do EP and so on....  Has anyone done that before and if so are there any issures. ( I put in a SAP note and got the response that this is not supported, but I just wanted to see if anyone had done it anyways )

    Hi Dan,
    Frankly simultaneous installations is not a great idea. There will be an enormous competition for resources. Then you also need to make available ports for carrying out the installations. Next it will involve high amount of coordination
    What of course is more reasonable is the idea of hosting more than one SAP instance on the same physical server though again harware is a very important concern. It includes your hard disk space,memory,CPU and other generic hardware.
    Please award points for useful answers.
    Regards.
    Ruchit.
    Message was edited by:
            Ruchit Khushu

  • How do I apply one same transition to multiple slides in one go?

    How do I apply one same transition to multiple slides in one go?

    After you have done either of the previous options to get the transition on the current slides, you can add the transition to the Master Slide so all your new slides will default to the same transition.

  • HT204364 how do I order multiple card or postcard with different images each one in same order?

    how do I order multiple card or postcard with different images each one in same order?
    I keep paying separate shipping cost for each different photo

    That is not an option - with the exeption of photo prints you can only identical items on one order
    LN

  • Can you have multiple ipods under one itune accounts on one computer same log in

    i have nurmeous ipods and iphones and i have 4 different log ins on my computer for them can i have them all under one log in without resyncing and putting songs and pictures on each one???

    "How to use multiple iPods with one computer" http://docs.info.apple.com/article.html?artnum=300432

Maybe you are looking for