Hi Yann, Cedric, On 04/01/2015 12:25 PM, whygee@xxxxxxxxx wrote:
Le 2015-04-01 11:17, Nicolas Boulay a Ãcrit :what is this conversion function ? if you have img[x][y], you want something like img[x/64][y/64][x%64][y%64] it's not the good example because you need the size, but that's the idea.Here, you're just mixing address lines. Nothing crazy. CÃdric's example seems to work at the byte level with a more complicated pattern, that's where SIMD is helpful to shuffle the bytes.
If we put a big LUT (4K entries) on the address lines, we can have arbitrary conversion of any tile addressing scheme, that should answer the needs which Cedric explained. The price to pay for this "tiling linearisation" is the LUT propagation time (not sure how big it's for Actel BRAMs, but a wild guess is that it's around 2-4ns). Of course, this LUT shouldn't be used while accessing non-tiled memory :D. Kind regards, Nikolay ************************************************************* To unsubscribe, send an e-mail to majordomo@xxxxxxxx with unsubscribe f-cpu in the body. http://f-cpu.seul.org/