# Autres langages > Autres langages > VHDL >  Charger une image sur la carte FPGA

## okitrinaw

salut, je veux savoir comment je peux charger une image sur une carte FPGA pour la trait 
merci

----------


## titiri

Bonjour,

Le plus simple est de stocker l'image dans une mmoire (interne au FPGA si l'image est petite, sinon RAM ou SDRAM externe).
videmment, l encore le plus simple est de stocker chaque pixel sur une zone 32bits, mme si 1 pixel ne requiert que 3x8bits.
Sauf  avoir un dcodeur VHDL dans le FPGA, le format JPG (comme tout autre format d'ailleurs) est  proscrire.

Cdlt

----------


## okitrinaw

merci mon ami, est ce que tu peux me montrer une exemple , c--dire comment on peut charger l'image dans la mmoire de FPGA, une autre question : j'ai dje fais un code Matlab de la comression jpeg et ce que je peux travaill avec ce code dans simulink si oui comment je peux charger une photo dans simulink 
merci beaucoup

----------


## titiri

Bonjour,

Pour charger l'image dans le FPGA (en fait des donnes), il n'y a que 2 moyens:
soit dfinir une ROM interne et utiliser un fichier HEX. dans ce cas, les donnes sources n'voluent pas et l'utilit reste trs limitesoit dfinir une RAM interne et utiliser un moyen pour la charger (comme une liaison PCIe)
Je n'ai jamais utilis simulink. Mais l'approche d'un paquet donnes reprsentant une image JPEG me semble une mauvaise ide, car il faut avoir un dcodeur JPG dans le FPGA, et l, a se corse... Comme je le disais dans ma rponse prcdente, il vaut mieux privilgier un format "RAW", sans encodage, sans entte.

Cdlt

----------


## okitrinaw

En effet ce n'est une image JPEG, c'est une image que je la compresse et la dcompresser aprs pou qu'il soit en format JPEG donc pour le dcodeur il faut que je le programmerai aussi ...
je vous rsume :je veux charger une image sur la carte FPGA  partir de mon pc par exemple .bmp et appliquer sur elle un algorithme de codage en suite un algo de dcodage et enfin faire sortir l'image pour l'afficher sur mon pc 
donc si je veux pas passer par simulink et je veux programmer tous a en vhdl ..tu m'a dit qu'il faut dfinir une RAM interne et utiliser un moyen pour la charger mais comment je peux dfini une RAM interne je veux un exemple svp et c quoi la comment qu'il faut que je utilise charger l'image sur ce mmoire ?
merci beaucoup titiri pour tes rponses  ::):

----------


## titiri

L'implmentation d'une RAM par Simulink : aucune ide.
En fait, la "cration" d'une RAM interne ne peut se faire qu'au moyen du logiciel du fondeur FPGA.
Si c'est Altera (donc QuartusII), il faut utiliser le MegaWizard et le Memory compiler (ou mapper directement le module altsyncram)
Si c'est Xilinx (donc ISE ou PlanAhead), il faut utiliser le CoreGen et en fonction du FPGA cibl (Spartan ou Virtex, et gnration du FPGA), choisir le module mmoire associ (il faut lire la doc du FPGA concern). De faon gnrale, Xilinx est "obscur" et l'on rinvente la roue  chaque fois...
Si c'est un autre fondeur, il doit y avoir un quivalent (je ne connais qu'Altera et Xilinx)
Pour ma part, je code le VHDL en mode textuel, ce qui me permet de maitriser trs exactement l'implmentation physique.
Dans votre cas, l'utilisation de Simulink vous offre certainement des avantages mais il vous faut alors "subir" son mode d'entre et donc vous reporter  la documentation de Simulink. Hlas, je n'ai aucun exemple d'implmentation RAM avec Simulink.

Cdlt

----------


## okitrinaw

d'accord, merci beaucoup titiri pour votre aide  ::):

----------

