03-21-2014 06:15 AM
i wanted to store the data of all signals i am adding into chipscope core at different trigger conditions simulataneously. how can i accomplish this?
My requirement is, i am writing data into flash (64 MB) where i can write only 16 words for every 240 us. So while writing complete 64 MB, at few address locations data is missing, so to check why those words are missing i need to see status of few signals at different address locations. Since depth of chipscope cant capture complete data, i want to capture the signals at different trigger conditions simultaneously in chipscope. If not with chipscope (incase), is it possible with any other software?
03-21-2014 12:49 PM
Have you looked at conditional storage in ChipScope? If you enable this, then you can use the same type of rules as for triggers, i.e. with multiple match units, you can have the OR of several conditions as the storage qualification.
03-21-2014 10:40 PM
Do u mean to say storage qualification condition? If it is so, in that i tried by giving OR equation of Match units, where in it triggers only once but not for all the match units simulataneously. I want to capture the signals at different match units simultaneously.
My requirement is if i write 1000 address locations with data, if i want to capture the signals at address locations 16,32,48 how can i do that in the "Trigger Run Mode : Single"? what should be the settings of "Trigger Condition Equation", "Windows" and "Storage Qualification"? Match units here wil be 3, i.e., 1st Match unit will be Address 16, 2nd Address 32 and 3rd wil be Address 48.
03-22-2014 07:36 AM
I'm having a hard time understanding what you tried. Storage qualification uses one or more match units to determine when to save data into the buffer. Think of this as the write enable for the ILA's RAM. You can have multiple match units, and the ones you use to trigger can be different from those used for storage qualification. Using an OR equations on multiple match units means to store data when any of the match units is active. Is this what you mean by storing simultaneously? This is different from having multiple trigger conditions, only one of which, the first to occur after arming the core, will cause the ILA to trigger.
If you can't easily generate the storage qualification you want from a small number of match units, then it might be useful to add the required storage qualifying signal to your design so you can just use that signal with a single match unit as a storage qualifier.
03-22-2014 09:07 AM
No my requirement is when i give 3 match units, they should trigger the ILA at all the 3 match units (not one of the 3 match units), by giving Single Run command (not giving the Single Run command 3 times seperately) to trigger the ILA, then i want to save all those 3 sets of data into buffer. That is what i meant by "Capturing the signals at different trigger conditions simultaneously". I hope u understood now. Is this feature available in Chipscope (if not, is there any other method to do this) ? If at all u didnt understand pls do reply me. Thanks in advance.
03-23-2014 05:10 AM
It sounds like you really want three independent ILA's to do what you want. However the user interfacce will not allow you to easily arm all three at once.
My suggestion to use storage qualification basically takes a single ILA and selects what it stores. The idea is to reduce storage for each of the 3 matched events to less than 1/3 of the ILA's buffer size. Then theoretically the single buffer will show data from all 3 events. You might need some help from external logic to help get the storage qualification signals, especially if you need to look at data leading up to the match event.
For something slow like a flash interface, one easy thing is to just record data when some interesting signals have changed. You might get a lot of unwanted flash memory cycles in the buffer, but the buffer will hold a lot more of them because it doesn't store data on every system clock cycle.