Forum Discussion
Altera_Forum
Honored Contributor
14 years agoThanks for the recommendation. Yes, I will have to do the same calculation over the entire frame eventually. But for now I want to work on 3 lines of data at a time because I want to emulate how a line-scan camera works. I am currently doing multiple calls (one for each loop iteration in software) on data generated from NIOS, but I want to do this by looping within hardware itself. Or probably I didn't understand what you meant by multiple calls.. could you please explain?
When this is done, then I will move to whole frame processing with DMA. Actually I had seen this Accelerating FIR with DMA example before, and my plan was to substitute the transform_block.v with my own. But because I didn't know exactly how to write this block due to my inexperience with hardware programming, I got stuck! At first I tried a ready-made hardware block that I got from the University Program (this is when I used your SGDMA suggestion) but I could not get it working. I have been able to do a DMA memory to memory transfer without any processing block in between, and verfied the data at tx and rx buffers etc. But what I need is the data to get transformed it between.... Then I thought I might as well learn from scratch and build up my knowledge slowly. So using that basic Sobel example, I tried PIOs first, and then used Custom Instruction. This was already a significant speed up, but still not yet to justify using FPGA over a normal computer. Until I get to the stage of me being able to write a sobel transform block to work with DMA (unlikely to happen soon), I have to stick to the custom instruction and I am now in a worrying impasse ... Any help on how to write this transform sobel block for dma usage is greatly appreciated.