Forum Discussion
Altera_Forum
Honored Contributor
12 years agoHello, I'm trying to implement it on the Nios II Embedded Evaluation Kit. I'm taking a frame from a video stream and storing it in RAM. After that I'm converting this frame to gray scale and again saving the result in RAM.
To write the frame in RAM, I'm storing the pixel stream in one FIFO and when it reaches a level I'm making a burst write. When the frame is in memory, I'm reading the pixels from the memory to one FIFO, I'm taking one pixel from it, I'm converting it to gray scale and I'm storing it to another FIFO. When the second FIFO reaches a level I'm making a burst write to RAM. This works almost fine and after this I'm avaiable to read with the Altera IP "FrameReader" one grayscale frame and show it in the LCD of my Nios II Embedded Evaluation Kit. The next step will be execute the sobel algorithm. This algorithm detects the objects borders in one frame. In order to do that the algorithm takes the pixels around one pixels and makes a couple of operations with they, this operations are made in the stages 2 to 4. In the stage 5 the result will be write in one FIFO and again when this FIFO reaches one level I'll make a burst write. This works fine, I guess, however the stage 1 is not working. Before the stage 1 starts I read the pixels from RAM and stores it to one FIFO (this should work because is the same as the gray scale converter) then I get one pixels from it and stores to Sobel_ram_instance. Sobel_ram_instance is a altsyncram. In the Sobel_ram_instance I store 4 lines of pixels, Each line contains 800 pixels in gray scale. When I have stored 3 lines I start the stage 1, in this stage I get the pixels arround the selected pixel and store they on the the array g but this array all times have 0s. Currently I'm using watchdogs to test what happen but maybe I should learn about sigtap, do I need add something special to my project in order to use it?.