Hi Every one , I'm building and image processor , I want to store ten 128 X 128 images in the Memory of a verilog code(i.e. Processor) Can FPGA store this much amount in actual ? (any FPGA) Regards
Abdullah K. wrote: > Can FPGA store this much amount in actual ? (any FPGA) No, not any FPGA is able to, but some of them will be... > I want to store ten 128 X 128 images 128x128 is 16K. So now you need 10 of it, this is 160K pixels. And now the big question is: what is one pixel? Is it a black-white pixel with one bit, or is it a true color with 24 bit width? By multiplying the 160K with the pixel width you can calculate the overall memory. And with this number you will easily find one of the newer FPGAs fitting your requirements. Xilinx has FPGAs up to 68Mbits: http://www.xilinx.com/products/silicon-devices/fpga/index.htm Lattice has up to 6.8Mbits: http://www.latticesemi.com/Products/FPGAandCPLD/LatticeECP3.aspx And so on...
> the big question is: what is one pixel? Is it a black-white pixel with > one bit, or is it a true color with 24 bit width? Typically ,an image sensor gives 10 - 16 bit per pixel, even color sensors because of the Bayer filter(http://en.wikipedia.org/wiki/Color_filter_array). 24 bit per pixel from a sensor not realistic. In a computer the 24 bits will be tored in 32 bit because of cpu architecture (there are 16 or 32 bit registers, not 24 bits). Best regards,
Thanx Evry one for your reply Let me ask it in another way I have images sized 128 X 128 Bits per pixel are 8 need to store 10 images total sized required will be 128 X 128 X 8 X 10 = 1310720 can is declare this much memory on any FPGA in the following way ? considering all pixel in a row orientation Verilog : reg [1:160000] mem[1:8]; VHDL: type memory_array is array (0 to 160000) of std_logic_vector(7 downto 0)
Abdullah K. wrote: > can is declare this much memory on any FPGA in the following way ? Of course you can declare it. But another question is whether this discription can be implemented on "any" FPGA. So you must be more specific about the FPGA supplier and device... > VHDL: > type memory_array is array (0 to 160000) Why the heck do you declare 160001 bytes? You need exactly an array size of (0 to 128*128*10-1)!
Thanx alot Lothar Miller thats really a relief ! im not worried about the device because i have to simulate till synthesize only , But there must exist a devise of such size . Actually i have to store 10 images 128 X 128 (its 160k) i have my own memory manager to carter them as images. I have another question dost the memory declaration (As above) uses block memory of FPGA ? Thank you for your support
: Edited by User
Abdullah K. wrote: > I have another question dost the memory declaration (As above) uses > block memory of FPGA ? Look at your synthesizers user guide. If you describe the array the correct way, a BlockRAM (or Embedded RAM or whatever your specific FPGA incoorporates) will be synthesized.