Besoin d'aide!!

6

65656565

Guest
Salut,

quelqu'un sait comment à la sortie d'une ligne / dot à un moniteur VGA?Je suis nouveau sur VHDL.J'utilise un UP2 ltera bord @.J'avais trouvé un exemple de programme (les codes sont collé ci-dessous), c'est un programme pour la synchronisation VGA.Mais comment puis-je utiliser ce programme pour diaplay un point ou en ligne?Parce que mon projet a réellement besoin d'entrer un peu de signaux 8 à adc, après l'avoir converti en un signal numérique, j'ai besoin de lui afficher à l'écran.Il agit comme un oscilloscope.Quelqu'un peut-il bien vouloir m'aider?Merci beaucoup !!!!! beaucoup

Par exemple:

- Générer Horizontal Sync signal en utilisant H_count
Si (<= h_count 755) et (> = h_count 659) THEN
<Horiz_sync = '0 ';
ELSE
<Horiz_sync = '1 ';
END IF;

Peut-on s'il vous plaît de bien vouloir m'aider?Merci beaucoup !!!!! beaucoup
Cordialement,
65656565: cry:

IEEE bibliothèque;
IEEE.STD_LOGIC_1164.all utilisation;
IEEE.STD_LOGIC_ARITH.all utilisation;
IEEE.STD_LOGIC_UNSIGNED.all utilisation;

VGA_SYNC ENTITY est
PORT (clock_25Mhz, rouge, vert, bleu: IN STD_LOGIC;
red_out, green_out, blue_out, horiz_sync_out, vert_sync_out: OUT STD_LOGIC;
pixel_row, pixel_column: OUT STD_LOGIC_VECTOR (9 DOWNTO 0));
VGA_SYNC END;
ARCHITECTURE DE VGA_SYNC IS
horiz_sync SIGNAL, vert_sync: STD_LOGIC;
video_on SIGNAL, video_on_v, video_on_h: STD_LOGIC;
h_count SIGNAL, v_nombre: STD_LOGIC_VECTOR (9 DOWNTO 0);

BEGIN

- Video_on est élevé que lorsque les données RVB est affichée
<= Video_on video_on_H ET video_on_V;PROCESSUS
BEGIN
WAIT UNTIL (clock_25Mhz'EVENT) ET (clock_25Mhz = '1 ');

- Générer Vertical Timing Signaux et horizontal pour le signal vidéo
- H_count chiffres de pixels (640 temps supplémentaire pour les signaux de synchronisation)
-
- Horiz_sync ------------------------------------ __________ --------
- H_count 0 640 659 755 799
-
IF (h_count = 799) THEN
<H_count = "0000000000";
ELSE
<= H_count h_count 1;
END IF;

- Générer Horizontal Sync signal en utilisant H_count
Si (<= h_count 755) et (> = h_count 659) THEN
<Horiz_sync = '0 ';
ELSE
<Horiz_sync = '1 ';
END IF;

- V_nombre compte les lignes de pixels (480 temps supplémentaire pour les signaux de synchronisation)
-
----------------------------------------------- Vert_sync - _______ ------------
- V_nombre 0 480 493-494 524
-
IF (> = v_nombre 524) et (> h_count = 699) THEN
<V_nombre = "0000000000";
Elsif (h_count = 699) THEN
<= V_nombre v_nombre 1;
END IF;

- Générer Vertical Sync signal en utilisant v_nombre
Si (<= v_nombre 494) et (> = v_nombre 493) THEN
<Vert_sync = '0 ';
ELSE
<Vert_sync = '1 ';
END IF;

- Générer des signaux vidéo sur écran pour les données de pixel
Si (<= h_count 639) THEN
<Video_on_h = '1 ';
<= Pixel_column h_count;
ELSE
<Video_on_h = '0 ';
END IF;

Si (<= v_nombre 479) THEN
<Video_on_v = '1 ';
<= Pixel_row v_nombre;
ELSE
<Video_on_v = '0 ';
END IF;

- Mettez tous les signaux vidéo à travers DFFs à elminate les retards qui causent une image floue
<Red_out = rouge et video_on;
<Green_out = vert ET video_on;
<Blue_out = bleu et video_on;
<= Horiz_sync_out horiz_sync;
<= Vert_sync_out vert_sync;

Terminer le processus;
Mettre fin à une;

 
Le meilleur moyen est que vous essayez XR16 processeur avec contrôleur VGA.Vous pouvez obtenir
Plus d'infos sur it@www.fpgacpu.org.

 

Welcome to EDABoard.com

Sponsor

Back
Top