Les kheys qui s'y connaissent en VGA, venez ici

CACHETFOU
2022-01-05 20:35:25

Je ne comprends pas. Regardez ma simulation :

https://image.noelshack.com/fichiers/2022/01/3/1641411297-erreur.jpg

Pourquoi mon programme ne fonctionne pas ? Pourquoi l'écran ne fonctionne pas alors que ma simulation indique que j'ai raison ?

CACHETFOU
2022-01-05 20:36:07

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.numeric_std.all;
--use work.MY.all;

ENTITY VGA_controleur IS
PORT(
CLK_25M : IN STD_LOGIC; -- Horloge principale
RESET : IN STD_LOGIC; -- Reset. Permet de réintialiser le contrôleur VGA

HS_SIGNAL, VS_SIGNAL : OUT STD_LOGIC;-- Signaux de synchronisation
VGA_R,VGA_G,VGA_B : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--- Couleurs RGB du VGA
);

END VGA_controleur;

ARCHITECTURE MAIN OF VGA_controleur IS


--SIGNAL SQ_X1,SQ_Y1: INTEGER:=500;
--SIGNAL DRAW1:STD_LOGIC:='1';

SIGNAL CNT_H : INTEGER:= 0;
SIGNAL CNT_V: INTEGER:=0; -- Compteur horizontal et vertical.
------------
--CONSTANT H_VISIBLE:INTEGER:=635;
--CONSTANT H_FP:INTEGER:=15;
--CONSTANT H_SYNC:INTEGER:=95;
--CONSTANT H_BP :INTEGER:=48;
------------
--CONSTANT V_VISIBLE:INTEGER:=480;
--CONSTANT V_FP:INTEGER:=10;
--CONSTANT V_SYNC:INTEGER:=2;
--CONSTANT V_BP:INTEGER:=33;

BEGIN
--SQ(CNT_H,CNT_V,SQ_X1,SQ_Y1,RGB,DRAW1);
PROCESS(CLK_25M,RESET)
BEGIN
-- Si le reset est allumé, mettre le compteur et les les couleurs RGB à 0
IF(RESET='1') THEN
CNT_H <= 0;
CNT_V <= 0;

VS_SIGNAL<='0';
HS_SIGNAL<='0';

VGA_R <= (OTHERS => '0');
VGA_G <= (OTHERS => '0');
VGA_B <= (OTHERS => '0');

ELSIF(CLK_25M'EVENT AND CLK_25M = '1') THEN
-- Creation du compteur cnt_h. Tant que le compteur horizontal n'est pas égal à 792, incrémenter le compteur de 1.
IF(CNT_H = 792) THEN
CNT_H <= 0;
ELSE
CNT_H <= CNT_H + 1;
END IF;
-- Creation du compteur cnt_v. Tant que le compteur horizontal n'est pas égal à 792 et le compteur vertical ) 524, mettre à 0.
-- Autrement incrémenter le compteur vertical à 1
IF(CNT_H=792) THEN
ELSIF(CNT_V=524) THEN
CNT_V <= 0;
ELSE
CNT_V <= CNT_V + 1;
END IF;
--Gestion du signal horizontal.
-- Si le compteur horizontal est entre 650, et 745, enclencher le Blanking Time. Autrement, enclencher le Blanking Time.
IF((CNT_H>650) AND (CNT_H <745)) THEN
HS_SIGNAL <= '0';
ELSE
HS_SIGNAL <= '1';
END IF;
--- Gestion du signal vertical. Même chose qu'en haut mais avec le compteur vertical.
IF((CNT_V>490) AND (CNT_V <492)) THEN
VS_SIGNAL<= '0';
ELSE
VS_SIGNAL<= '1';
END IF;
-- Gestion des couleurs R/G/B
IF(CNT_H<635) THEN
VGA_R<= "1111";
VGA_G<= "0000";
VGA_B<= "0000";

ELSE

VGA_R<= "0000";
VGA_G<= "0000";
VGA_B<= "0000";

END IF;

END IF;


END PROCESS;
END MAIN;

CACHETFOU
2022-01-05 20:38:04

là où j'ai mis -- ce sont des commentaires

CACHETFOU
2022-01-05 20:39:01

up

CACHETFOU
2022-01-05 20:39:12

up

CACHETFOU
2022-01-05 20:39:24

up

CACHETFOU
2022-01-05 20:40:44

Notez que le programme avant fonctionnait bien avant que je change quelque chose pour pouvoir faire bouger des motifs
Depuis 1 semaine je boucle sur la putain d'erreur dont je suis à l'origine

CACHETFOU
2022-01-05 20:43:56

Les ghostfags pourquoi vous répondez pas ? C'est pas assez clair ce que je dis ou vous venez ici pour repartir aussitôt ? :(

CACHETFOU
2022-01-05 20:46:19

up

CACHETFOU
2022-01-05 21:10:26

Up

PangolinCoroned
2022-01-05 21:13:20

Ça sert à quoi le VGA ?

PangolinCoroned
2022-01-05 21:13:32

C'est le HDMI mtn

CACHETFOU
2022-01-05 21:19:32

Le 05 janvier 2022 à 21:13:20 :
Ça sert à quoi le VGA ?

A afficher des couleurs avec des signaux de synchronisations verticaux et horizontaux

Le 05 janvier 2022 à 21:13:32 :
C'est le HDMI mtn

C'est pour un projet scolaire

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.