I'm sure it's not ROM. And as I said I could write data to any other area in this BRAM
More detailed, I initialize an image to BRAM to do unit test of a Smoothen-Image block which uses 3x3 window of Gaussian Coef. I smoothen this image( that is initialized at the beginning area of BRAM which called area "0" ) 3 times. There are 3 ways:
- Read area "0" => smoothened => write area "1" ( defferent from area "0") then
Read area "1" => smoothened => write area "2" ( defferent from area "1") then
Read area "2" => smoothened => write area "3" ( defferent from area "2")
* This way it worked and the result is OK.
- Read area "0" => smoothened => write area "1" ( defferent from area "0") then
Read area "1" => smoothened => write area "0" then (**)
Read area "0" => smoothened => write area "1"
* This way, all memory is cleared to ZEROs. Even if I stop at (**), that means just read data from area "1" and write to "0", both areas are cleared.
- Read area "0" => smoothened => write area "1" ( defferent from area "0") then
Read area "1" => smoothened => write area "2" ( defferent from area "1") then (***)
Read area "2" => smoothened => write area "0"
* This way, all memory is cleared to ZEROs. However, if I stop at (***), there are correct smoothened images in area "1" and "2"
That's why I think there is something wrong with writing to area "0" which is initialized with a .MIF file.
Does anyone have any idea?