EmbDev.net

Forum: FPGA, VHDL & Verilog Can i store 128X128 X 10 Images


von Abdullah K. (abdullah_k)


Rate this post
useful
not useful
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

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
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...

von Uwe (Guest)


Rate this post
useful
not useful

von Lars Large (Guest)


Rate this post
useful
not useful
> 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,

von Abdullah K. (abdullah_k)


Rate this post
useful
not useful
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)

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
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)!

von Abdullah K. (abdullah_k)


Rate this post
useful
not useful
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
von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
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.

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.