ILA, How to qualify and trigger on a subset of signals?

Hello Vivado ILA users,
I am trying to verify a signal processing block that is too large to verify in simulation.  Instead, I am using Vivado ILA to capture the data and writing out the data using the "write_hw_ila_data" command.  Then I have a special script that converts the binary strings into a matlab readable format.  It was a lot of effort to get all that working but now I am hitting a situation where the ILA no long meets timing.  I could turn down the clock but I think the problem is how I am using the ILA.
The data in my block flows in a streaming fashion with a datavalid signal indicating when data is available.  I only want to capture valid data so I have turned on the storage qualifier mode of the ILA.  It seems that trigger/qualifier logic is being generated for all the data signals that I am capturing, not just the very few signals I use for trigger and qualification.  I think this super wide trigger/qualifier logic is what causes ILA to miss timing.
Is there a way in Vivado ILA to select a different set of signals for triggering and qualification?
I remember this was part of the standard flow in old ISE Chipscope but I do not see how to do it in Vivado.  I looked through UG908 and PG172.  I should mention that my clock frequency is only 200MHz, very moderate for 7-Series parts.
I attach my add_ila.tcl script and then the long path of the timing report below.
#set ila_clock clk_BUFG
set ila_clock clk_IBUF_BUFG
#set_property mark_debug true [get_nets [list {uut/ola_out_dv}]]
#set_property mark_debug true [get_nets [list {uut/ola_dout_real[0]*}]]
#set_property mark_debug true [get_nets [list {uut/ola_dout_imag[0]*}]]
#set_property mark_debug true [get_nets [list {uut/ola_branch_out[*]}]]
create_debug_core ila1 ila
set_property C_DATA_DEPTH   4096 [get_debug_cores ila1]
set_property C_EN_STRG_QUAL true  [get_debug_cores ila1]
set_property C_ADV_TRIGGER  true  [get_debug_cores ila1]
set_property ALL_PROBE_SAME_MU_CNT 4  [get_debug_cores ila1]
set_property TRIGGER_COMPARE_VALUE true [get_debug_cores ila1]
# Now find all the nets that are marked for debug.
set ila_nets [get_nets -hier -filter {MARK_DEBUG==1}]
set num_ila_nets [llength [get_nets [list $ila_nets]]]
set_property port_width 1 [get_debug_ports ila1/clk]
set_property port_width $num_ila_nets [get_debug_ports ila1/probe0]
connect_debug_port ila1/probe0 [lsort -dictionary [get_nets [list $ila_nets ]]]
get_nets [list $ila_nets]
connect_debug_port ila1/clk [get_nets [list $ila_clock ]]
write_debug_probes -force ./results/ila1.ltx
    SLICE_X4Y50          FDRE (Prop_fdre_C_Q)         0.456     5.666 r  ila1/inst/ila_core_inst/u_ila_regs/U_XSDB_SLAVE/G_1PIPE_IFACE.s_daddr_r_reg[1]/Q
                         net (fo=73, routed)          0.859     6.525    ila1/inst/ila_core_inst/u_ila_regs/n_19_U_XSDB_SLAVE
    SLICE_X7Y50          LUT6 (Prop_lut6_I0_O)        0.124     6.649 f  ila1/inst/ila_core_inst/u_ila_regs/current_state[6]_i_3/O
                         net (fo=5, routed)           0.804     7.454    ila1/inst/ila_core_inst/xsdb_memory_read_inst/I3
    SLICE_X7Y44          LUT6 (Prop_lut6_I2_O)        0.124     7.578 f  ila1/inst/ila_core_inst/xsdb_memory_read_inst/current_state[4]_i_1/O
                         net (fo=3, routed)           0.823     8.401    ila1/inst/ila_core_inst/xsdb_memory_read_inst/next_state[4]
    SLICE_X7Y46          LUT6 (Prop_lut6_I4_O)        0.124     8.525 r  ila1/inst/ila_core_inst/xsdb_memory_read_inst/curr_read_block[1]_i_2/O
                         net (fo=1, routed)           0.149     8.674    ila1/inst/ila_core_inst/xsdb_memory_read_inst/n_0_curr_read_block[1]_i_2
    SLICE_X7Y46          LUT6 (Prop_lut6_I1_O)        0.124     8.798 r  ila1/inst/ila_core_inst/xsdb_memory_read_inst/curr_read_block[1]_i_1/O
                         net (fo=2, routed)           0.694     9.492    ila1/inst/ila_core_inst/ila_trace_memory_inst/SUBCORE_RAM_BLK_MEM_1.trace_block_memory/inst_blk_mem_gen/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[5].ram.r/prim_noinit.ram/pwropt_1
    SLICE_X7Y49          LUT5 (Prop_lut5_I1_O)        0.124     9.616 r  ila1/inst/ila_core_inst/ila_trace_memory_inst/SUBCORE_RAM_BLK_MEM_1.trace_block_memory/inst_blk_mem_gen/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[5].ram.r/prim_noinit.ram/DEVICE_7SERIES.NO_BMM_INFO.SDP.SIMPLE_PRIM36.ram_REGCEB_cooolgate_en_gate_21/O
                         net (fo=1, routed)           0.584    10.200    ila1/inst/ila_core_inst/ila_trace_memory_inst/SUBCORE_RAM_BLK_MEM_1.trace_block_memory/inst_blk_mem_gen/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[5].ram.r/prim_noinit.ram/DEVICE_7SERIES.NO_BMM_INFO.SDP.SIMPLE_PRIM36.ram_REGCEB_cooolgate_en_sig_1
    RAMB36_X0Y9          RAMB36E1                                     r  ila1/inst/ila_core_inst/ila_trace_memory_inst/SUBCORE_RAM_BLK_MEM_1.trace_block_memory/inst_blk_mem_gen/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[5].ram.r/prim_noinit.ram/DEVICE_7SERIES.NO_BMM_INFO.SDP.SIMPLE_PRIM36.ram/REGCEB
  -------------------------------------------------------------------    -------------------

Update: I recompiled my design with storage qualification turned off and the ILA still misses timing by half a nanosecond.
Then I compiled the design without any ILA installed and met timing by 2ns.
I remember using large ISE Chipscope cores at 300MHz in Virtex-5. Is there some funny business here? Do I need to constrain the ILA by some means other than the clock period constraint I put on my design?

Similar Messages

  • How to assign output type and trigger printing in ABAP

    hi all,
    i have create invoice by using BAPI_BILLINGDOC_CREATEMULTIPLE and create header/item text with CREATE_TEXT.
    please advise how to assign the output type and trigger immediate printing after this.
    thanks.

    Hi Reetha ,
    This is a functional setting  , and should be done by some functional guy. The setting can be done by NACE.
    Just follow the path : NACE - > Select V3 for Billing - > Press Output type Button Just above - > Assign Output Type and
    then Assign Output program and form in PROCESSING ROUTINE comes into left. Set this output type for immediate print.
    Whenever You create a billing document by BAPI with this document type , the print out will be fired immediately.
    Hope it will solve your problem.
    Thanks.

  • How can i make trigger with basler camera GIGE 659x494 - 70 FPS and I/O terminal block

    Hi all,
    How can i make trigger with basler camera GIGE 659x494 - 70 FPS and I/O terminal block

    Frank,
    If you are wiring an isolated power output to the EVS you will need to apply a power supply to the terminal block.  This is mentioned in the "wiring isolated power output" section of the EVS getting started guide located here.  The guide references the EVS user manual which provides a pinout of the d-ub connector in table 2-11 of the manual located here.  For more information on the camera settings you need to set on the Basler camera please see the user manual of the camera you refrenced here.
    To provide power to the camera you can purchase a power cable for the camera.  Rather than a power cable, since you want to also do triggering, you will want a Trigger and I/O Cable instead which is part number 779985-01 as seen on this product page.  The I/O cable would allow you to wire the trigger lines to the terminal block as well as the power lines.
    David A
    National Instruments
    FlexRIO Product Support Engineer

  • How to handle format trigger in bi publisher report

    Hi all,
    anyone have idea how to handle format trigger in bi publisher report....
    also if someone will illustrate the how exactly we use the triggers in bi publisher reports.
    regards
    Ratnesh

    Hi,
    there's no direct support for the format triggers out of Oracle Reports. Therefore they are mentioned in the log file and in the created layout after conversion the objects with format triggers are colored red to show, that there you had to do some additional work.
    Currently you had to built the logic of format triggers in BI Publisher new. Hve a look in the User Guide, there are some examples for if or choose statements.
    regards
    Rainer

  • HOW TO CREATE  and  USE EVENTS IN WORKFLOWS .

    HOW TO CREATE  and  USE EVENTS IN WORKFLOWS with the help of classes.
    What i am doing is..
    open se24
    event tab->event name->parameters
    method tab->method name->event handler->copy parameters
    interface tab->if_workflow->enter
    tell me what else to do step by step
    Another important thing is that HOW to use these class events to trigger the workflows.
    REPLY ASAP
    THXS IN ADVANCE

    Hi,
    Pl. see this blog...
    Raising ABAP OO events for workflow
    Regards,
    JOy.

  • I have a carillon 25 keyboard (bad choice, I know) and I can't get it to communicate with my mac at all! I'm running logic pro 9 and reason 5. I get signal in from my M Audio trigger finger so I know it isnt an entirely mac based problem. Thanks!!!

    I have a carillon 25 keyboard (bad choice, I know) and I can't get it to communicate with my mac at all! I'm running logic pro 9 and reason 5. I get signal in from my M Audio trigger finger so I know it isnt an entirely mac based problem. Thanks!!!

    Well, how have to determined no signal is being recieved to your mac?
    Have you got something that shows the actual signal? Or have you just been trying to control a VST? What software are you using by the way?
    I personnally went with a AKAI MPK25, because it's made already mapped for logic & ableton etc, so it just makes things incredibly easy.
    I would suggest you return it if you can as a dead unit & perhaps look at something else a bit easier?
    Otherwise, if you just want to get this working we can have a look a bit deeper.
    And driver? OS X driver?

  • How to connect external trigger PCIe-1433?

    I am having an issue getting the external trigger to work using a cameralink camera, a PCIe-1433 card and a signal generator.  The signal generator is connected to the SMB connector on the 1433 card and is providing a 20 Hz signal with a 20ms pulse width at TTL voltages (0-4V).  From memory, we are using the MAX software and under the Acquisition tab I have CC1 set to external, however the camera is not receiving this external trigger.
    I've attached a rough diagram of our setup.
    What could my issues be?  My thoughts are:
    1) Are there other settings in MAX I need to ensure?  I know the SMB connector can be an input or an output.  How can I make sure this is set to input?
    2) My input signal is 0-4V which is TTL, but does the signal need to be 0-5V?
    Any thoughts would be greatly appreciated.  Thank you.
    Attachments:
    ExternalTrigger.jpg ‏29 KB

    Hello tuckturn
    Thank you very much for getting in touch with us. 
    1)  In Measurement and Automation Explorer, the default is an input.  You would need to use LabVIEW to change the SMB connector to be an output. Can you please show me a screenshot of your camera attributes in Measurement and Automation Explorer.
    2)  Where does this input signal come from?  Do you have a 5V TTL compliant output to test this?  Can you please provide me the specification for whatever device is outputting the voltage?
    Thanks again.
    Sincerely,
    Greg S.

  • How to connect external trigger PCI-1433

    Hi all:
    I met the same problem as this old post: https://forums.ni.com/t5/Machine-Vision/How-to-connect-external-trigger-PCIe-1433/m-p/1677560/highli...
    however the post did not give solution.
    I am having an issue getting the external trigger( from PCI 6259) to work with a cameralink camera, a PCIe-1433 card . The PCI 6259 is connected to BNC 2111, the output trigger signal from CTR0 is connected to the SMB connector on the 1433 card and is providing pulse train at TTL voltages (0-5V).  Using the MAX SOFTWARE and under the Acquisition tab I have CC1 set to external 0, however the camera is not receiving this external trigger. The camera is Basler 4096-140km.
    I measured the ouiput signal from CTL0, the sigal seems good.
    I tried RTSI trigger before, failded. I thought SMB should be more straight forward, seems I was wrong.
    Looking forward to reply!
    Attachments:
    camera configuration.jpg ‏168 KB
    External Camera Trigger(SMB).vi ‏57 KB

    Bobjojo,
    You will actually need to affect the properties of both the camera and the frame grabber to take advantage of this triggering mode. I found a document that contains a good run down of the process to acquire in this mode (linked below). As far as the programming for the acquisition is concerned, the frames will be built at the driver level for the specified frame height. This means that the IMAQ driver will composite the line scans for you, and any simple acquisition (the document shows using the Vision Acquisition Express VI) will be able to pull the image into LabVIEW.
    www.ni.com/white-paper/13786/en/pdf
    Karl G.
    Applications Engineer
    ni.com/support

  • Check for duplicate invoices and trigger a workflow

    Hello All,
        I have a requirement to check for duplicate invoices in AP(Accounts payable) and trigger a workflow when duplicate invoices are found. I a not sure how to do any of the above. Please  let me know if you have any information on:
    1) Checking for duplicate invoices in AP
    2) Trigger a workflow
    Are there any standard workflows that checks duplicate invoices?
    Thanks.
    --Mithun

    Hi MD,
    I doubt if system gives an error on FI side when a duplicate invoice is posted.
    I feel you would require a BAdi for it, where you can call your WF using FM SAP_WAPI_START_WORKFLOW.
    Hope it helps.
    Aditya
    P.S also ask your Func Consultants, if there are any settings in the Customization, where you could capture Inv Dt, Inv Amt, Vendor, Company code.
    Edited by: Aditya Varrier on Oct 15, 2008 9:38 AM

  • Obtaining qualifier and table name in describe

    Determining qualifier and table name in describe
    Is there a way in OCIParamGet() on a statement handle/OCIAttrGet() sequence to determine the qualifier and table name?
    Otherwise, how can I get this information?
    When doing a join and listing the columns, we would like to be able to list qual.table name, followed by the columns associated with that table.

    If not with the parameter attributes (whic I haven't checked) you can always use the DescribeAny() to get the information.
    If you need I can get you a fairly complete sample for DescribeAny() which demonstrates describing just about every type of schema item.
    Drop me a line if you want it [email protected]

  • How to refer the trigger written in one form from another form ?

    How to refer the trigger written in one form from another form ?
    Thanks,
    Ravi Shankar

    Try to convert the PL/SQL code from Forms trigger into a PL/SQL library(.PLL),
    and then attach that PLL in your forms.
    Note that all Forms objects should be referenced indirectly, for example,
    you have to rewrite
    :B1.DEPT_CODE := :B2.DEPT_CODE;
    :B3.TOTAL_AMOUNT := 100;
    ==>
    copy('B2.DEPT_NO','B1.DEPT_NO');
    copy('100','B3.TOTAL_AMOUNT');
    This is the best way to share PL/SQL code among Oracle Forms.

  • How to do a trigger with in parameters

    Hi everybody
    Is there someone who knows how to do a trigger in a table for updating another table?,
    I want to do a trigger which must have the user name session, I think that the user name must be include like a parameter for update trigger.
    The user session is of the session of oracle application express.
    I would thank you any help.
    Best Regards

    1) I'm having quite a bit of trouble understanding exactly what you are trying to do. So it may be beneficial to ask the question a different way...
    2) Triggers cannot have parameters. A trigger can access data in a column in the table, so you could add an UPDATED_BY column to the table and have the application populate that column. A trigger could also access session-level objects, so you could create a context, have the APEX application populate that context with the user name, and query that context in the trigger. The APEX application might also use the DBMS_APPLICATION_INFO package to populate the client identifier in V$SESSION with the user name which the trigger could then query.
    Justin

  • OIM: Create new link and trigger a process.

    Hi,
    I am customizing the OIM admin and user console. My aim is to add a new menu item and trigger a new process (say a provisioning process of a resource).
    I have the menu link. I can point it to any servlet I want.
    I have a resource object.
    I have the form made using form designer in designer console.
    I have a provisioning process attached to my resource object.
    Now, how should I connect all these things together as to make an end to end flow.
    Like how should I link such that a user can try to provision (self provision) my resource to himself by clicking on that link.
    Thank you.

    My second problem:
    I want a way to say invoke a servlet (that I can do, but dont know which servlet to invoke.) so that my form (from the form designer) pops up, and I can fill data in it to create its instance. And this would trigger an approval process and provisioning process.
    At last a page is returned stating that provisioning was successful or unsuccessful.
    Thank you.

  • How to download and install webutil in FORMS 10G 10.1.2.0.2

    Where i find all the step to
    how to download and install webutil in FORMS 10G 10.1.2.0.2
    i DON'T FIND NOTHING OF VERY GOOD TO FOLLOW !!!

    hi
    u do not need to install any webutil in R2 u just need to configure few things.
    please read the following notes and try to configure.
    How to get up and running with WebUtil 1.06 included with Oracle Developer Suite 10.1.2.0.2 on a win32 platform
    Solution
    Assuming a fresh "Complete" install of Oracle Developer Suite 10.1.2.0.2,
    here are steps to get a small test form running, using WebUtil 1.06.
    Note: [OraHome] is used as an alias for your real oDS ORACLE_HOME.
    Feel free to copy this note to a text editor, and do a global find/replace on
    [OraHome] with your actual value (no trailing slash). Then it is easy to
    copy/paste actual commands to be executed from the note copy.
    1) Download http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip
      and extract to a temporary staging area. Do not attempt to use 1.7 or 1.9.
    2) Copy or move jacob.jar and jacob.dll
      [JacobStage] is the folder where you extracted Jacob, and will end in ...\jacob_18
         cd [JacobStage]
         copy jacob.jar [OraHome]\forms\java\.
         copy jacob.dll [OraHome]\forms\webutil\.
      The Jacob staging area is no longer needed, and may be deleted.
    3) Sign frmwebutil.jar and jacob.jar
      Open a DOS command prompt.
      Add [OraHome]\jdk\bin to the PATH:
         set PATH=[OraHome]\jdk\bin;%PATH%
      Sign the files, and check the output for success:
         [OraHome]\forms\webutil\sign_webutil [OraHome]\forms\java\frmwebutil.jar
         [OraHome]\forms\webutil\sign_webutil [OraHome]\forms\java\jacob.jar
    4) If you already have a schema in your RDBMS which contains the WebUtil stored code,
      you may skip this step. Otherwise,
      Create a schema to hold the WebUtil stored code, and privileges needed to
      connect and create a stored package. Schema name "WEBUTIL" is recommended
      for no reason other than consistency over the user base.
      Open [OraHome]\forms\create_webutil_db.sql in a text editor, and delete or comment
      out the EXIT statement, to be able to see whether the objects were created witout
      errors.
      Start SQL*Plus as SYSTEM, and issue:
         CREATE USER webutil IDENTIFIED BY [password]
         DEFAULT TABLESPACE users
         TEMPORARY TABLESPACE temp;
         GRANT CONNECT, CREATE PROCEDURE, CREATE PUBLIC SYNONYM TO webutil;
         CONNECT webutil/[password]@[connectstring]
         @[OraHome]\forms\create_webutil_db.sql
         -- Inspect SQL*Plus output for errors, and then
         CREATE PUBLIC SYNONYM webutil_db FOR webutil.webutil_db;
      Reconnect as SYSTEM, and issue:
         grant execute on webutil_db to public;
    5) Modify [OraHome]\forms\server\default.env, and append [OraHome]\jdk\jre\lib\rt.jar
      to the CLASSPATH entry.
    6) Start the OC4J instance
    7) Start Forms Builder and connect to a schema in the RDBMS used in step (4).
      Open webutil.pll, do a "Compile ALL" (shift-Control-K), and generate to PLX (Control-T).
      It is important to generate the PLX, to avoid the FRM-40039 discussed in
      Note 303682.1
      If the PLX is not generated, the Webutil.pll library would have to be attached with
      full path information to all forms wishing to use WebUtil. This is NOT recommended.
    8) Create a new FMB.
      Open webutil.olb, and Subclass (not Copy) the Webutil object to the form.
      There is no need to Subclass the WebutilConfig object.
      Attach the Webutil.pll Library, and remove the path.
      Add an ON-LOGON trigger with the code
             NULL;
      to avoid having to connect to an RDBMS (optional).
      Create a new button on a new canvas, with the code
             show_webutil_information (TRUE);
      in a WHEN-BUTTON-PRESSED trigger.
      Compile the FMB to FMX, after doing a Compile-All (Shift-Control-K).
    9) Under Edit->Preferences->Runtime in Forms Builder, click on "Reset to Default" if
      the "Application Server URL" is empty.
      Then append "?config=webutil" at the end, so you end up with a URL of the form
          http://server:port/forms/frmservlet?config=webutil
    10) Run your form.

  • How does the WF trigger for a PO

    Hi!
    The buyer creates a PO in ME21N, and completes release 00. Release 01 happens through workflow for PO release.
    My question is, once the buyer completes 00 release, how does the Workflow trigger? Is there any event that triggers the PO release WF? If yes then where can I see this information?
    Thanks,
    Anwar.

    go into SPRO
    Materials Management|Purchasing|Purchase Order|Release Procedure for Purchase Orders|Define Release Procedure for Purchase Orders
    <b>Release Groups
    <i><b>Release Codes
    </b></i> this one decide if you should trigger the workflow or not.
    Release indicator
    <i>Release Strategies</i>
    Here you setup how the release should work </b>
    Workflow
    When this is done the following template should start. WS20000075
    Hope this helps
    best regards erik

Maybe you are looking for