salut, je veux savoir comment je peux charger une image sur une carte FPGA pour la traité
merci
Version imprimable
salut, je veux savoir comment je peux charger une image sur une carte FPGA pour la traité
merci
Bonjour,
Le plus simple est de stocker l'image dans une mémoire (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, même si 1 pixel ne requiert que 3x8bits.
Sauf à avoir un décodeur VHDL dans le FPGA, le format JPG (comme tout autre format d'ailleurs) est à proscrire.
Cdlt
merci mon ami, est ce que tu peux me montrer une exemple , c-à-dire comment on peut charger l'image dans la mémoire de FPGA, une autre question : j'ai dèje 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
Bonjour,
Pour charger l'image dans le FPGA (en fait des données), il n'y a que 2 moyens:
- soit définir une ROM interne et utiliser un fichier HEX. dans ce cas, les données sources n'évoluent pas et l'utilité reste très limitée
- soit définir 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 données représentant une image JPEG me semble une mauvaise idée, car il faut avoir un décodeur JPG dans le FPGA, et là, ça se corse... Comme je le disais dans ma réponse précédente, il vaut mieux privilégier un format "RAW", sans encodage, sans entête.
Cdlt
En effet ce n'est une image JPEG, c'est une image que je la compressée et la décompresser après pou qu'il soit en format JPEG donc pour le décodeur il faut que je le programmerai aussi ...
je vous résume :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 décodage 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 définir une RAM interne et utiliser un moyen pour la charger mais comment je peux défini une RAM interne je veux un exemple svp et c quoi la comment qu'il faut que je utilise charger l'image sur ce mémoire ?
merci beaucoup titiri pour tes réponses :)
L'implémentation d'une RAM par Simulink : aucune idée.
En fait, la "création" 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 génération du FPGA), choisir le module mémoire associé (il faut lire la doc du FPGA concerné). De façon générale, Xilinx est "obscur" et l'on réinvente 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 très exactement l'implémentation physique.
Dans votre cas, l'utilisation de Simulink vous offre certainement des avantages mais il vous faut alors "subir" son mode d'entrée et donc vous reporter à la documentation de Simulink. Hélas, je n'ai aucun exemple d'implémentation RAM avec Simulink.
Cdlt
d'accord, merci beaucoup titiri pour votre aide :)