arjun.a
rename files
6c7b14a
Ticket Name: TDA2: EVE/VCOP s_scatter/p_scatter store
Query Text:
Part Number: TDA2 Hi, Could you help with s_scatter(<vector>) store option. I read that load/store option take 2 ticks. how many ticks does s_scatter store take? And how does it depend from <vector>? Also i try use p_scatter instead s_scatter, and get vcop error. Which is rules used for p_scatter? Thank you
Responses:
Hi Danil, Both s_scatter and p_scatter are used to store each entry within a vector at an offset which is given by another vector. For example Lets say we have a vector (VOffset) with following entry VOffset = ( k1,k2....,k8) lets say the vector which we want to store has some entries as Vin = ( a, b,c,d,e,f,g,h) Lets say we perform the write as follows dst[addr].s_scatter(VOffset) = Vin The above store would write the value "a" at an offset of k1 bytes , "b" at an offset of k2 bytes, "c" at an offset of k3 bytes and so on, from the base pointer dst. s_scatter operation will take 8 cycles for this store but it doesnt have any restriction on k1,k2.. k8. On the other hand p_scatter would do the same in single cycle but it has a restriction the the offsets k1,k2... k8 should be chosen in such a way that all the 8 entries of the vector falls in a different memory bank Regards, Anshu
Thank you for answer, Could you answer what is the size of bank for IbufL, IbufH and Wbuf?
Each of these buffers have 8 banks with 4 bytes each. Regards, Anshu
Did you mean 4 kbytes?
I thought you asked about the size of each bank in memory which is 4 bytes per bank and there are total 8 such banks. But now it looks like you are asking about size of EVE internal buffers which are as follows: IBUFA = 32KB --> THis is further split into IBUFLA 16KB and IBUFHA 16KB IBUFB = 32KB --> THis is further split into IBUFLB 16KB and IBUFHB 16KB WBUF = 32 KB Regards, Anshu