Hi Jesse Lin,
Thank you for your feedback.
And I try to use other methods to remove unwanted frames ,but the buffer will overflow. Camera line rate = 10k Hz.
Please give me some advice.
Based on your input the line width is 8k = 8192 pixels per line and you can see a FillLevel at a linerate of 10 kHz of 75%.
A certain FillLevel is OK, but we need to look into it based on the resulting/required bandwidth.
One possible bottle-neck is the parallelism within the links, and especially:
- Memory Interface
- DMA performance
The CXP camera interface is focussing up to 2 GB/s:
pasted-from-clipboard.png
Since you nearly double the bandwidth due to the overlap, please consider to use a higher(up to double) paralleism in the links.
The DMA will accept a connection of up to 16x 8 bit = theoretical 2 GB/s, practically it will be limited to 1800 MB/s.
The memory interface can handle up to 11.2 GB/s (shared between all RAM-modules) and read/write access will add up.
When I look into your design I would recommend the approach below to generate an overlap on basis of a single RAM:
pasted-from-clipboard.png
That would save RAM modules/FPGA ressources and you do not need to write the same data twice...
Related VA design: LineScan_OverlappingAreaImages.va
Based on the ROI settings within BufferX2 you can reduce the overlapping part easily...
I have seen that you use a more complex approach on when to overlap, but that is something you can adopt into this design.
Just consider using DynamicROI operator if you require a more dynamic approach into the above functionality.
ImageBufferMultiROIdyn would be a second valid candidate.
Enjoy.
Best regards,