Open chenbo-again opened 2 years ago
Ahhh yes, to simplify the design, the dispatcher / arbiter were designed to always select ports in a sequancial manner (0 then 1 then 2 then 3 then 0 then 1 ...)
It is kind of described in : https://github.com/SpinalHDL/SpinalWorkshop/blob/workshop/src/main/scala/workshop/mandelbrot/spec.md#part-2--pixelsolvermulticore
But it may need some rewording ?
Just make part3 required and reorder to 132. Part 3 is interesting too, and it is not so hard.
Ahh so, yes, we could add a orderId in the PixelTask and PixelResult, to let freedoom on the implementation. Why not :D
Would that be good for you ?
my solution:
it's a one cycle dispatcher, but it fails, when I take a look to test script then:
just imagine 2 task back2back transform, a one cycle dispatcher and Arbiter may not distinguish 2 results between (x ,y) and (x+1, y) result of (x+1, y) may appear first in this situation. (with the simple strategy mentioned in spec.
so I think there will be more information in
PixelResult
, both iteration and (x, y)