---------------------------------------------------------------------------------- -- Company: INSA-Toulouse -- Engineer: Paul Faure -- -- Create Date: 02.07.2021 10:07:41 -- Package Name: ScreenProperties -- Project Name: Processeur sécurisé -- Target Devices: Basys 3 ARTIX7 -- Tool Versions: Vivado 2016.4 -- -- Description: Rassemble les propriétés de l'écran et du VGA ---------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; package ScreenProperties is constant margin : Natural := 64; -- Marge laissée de tous les cotés de l'écran constant Display_CaracterWidht : Natural := 64; -- Taille d'affichage d'un caractère (en pixels) constant Display_CaracterHeight : Natural := 64; -- Taille d'affichage d'un caractère (en pixels) constant screen_width : natural := 1280; -- Largeur de l'écran (en pixels) constant screen_height : natural := 1024; -- Longueur de l'écran (en pixels) constant X_PulseWidth : Natural := 112; -- Taille de la pulsation de synchronisation horizontale (en pixels) constant X_FrontPorch : Natural := 48; -- Taille du temps avant la pulsation (en pixels) constant X_BackPorch : Natural := 248; -- Taille du temps après la pulsation (en pixels) constant Y_PulseWidth : Natural := 3; -- Taille de la pulsation de synchronisation verticale (en lignes) constant Y_FrontPorch : Natural := 1; -- Taille du temps avant la pulsation (en lignes) constant Y_BackPorch : Natural := 38; -- Taille du temps après la pulsation (en lignes) subtype X_T is Natural range 0 to screen_width + X_PulseWidth + X_FrontPorch + X_BackPorch - 1; -- Type pour les coordonnées subtype Y_T is Natural range 0 to screen_height + Y_PulseWidth + Y_FrontPorch + Y_BackPorch - 1; -- Type pour les coordonnées constant C_Blocks : Natural := (screen_width - (2 * margin))/Display_CaracterWidht; -- Nombre de cases par ligne dans l'écran (Nombre de colonnes) constant L_Blocks : Natural := (screen_height - (2 * margin))/Display_CaracterHeight; -- Nombre de cases par colonne dans l'écran (Nombre de lignes) constant Ecran_Taille : Natural := C_Blocks * L_Blocks * 7; -- Nombre de bits dans l'écran (Nombre cases dans l'écran * 7) constant L_Size : Natural := C_Blocks * 7; -- Taille en bits d'une ligne constant Zero_Line : STD_LOGIC_VECTOR (0 to L_Size - 1) := (others => '0'); -- Constante, ligne de '0' subtype L_T is Natural range 0 to L_Blocks - 1; -- Type pour les coordonnées subtype C_T is Natural range 0 to C_Blocks - 1; -- Type pour les coordonnées end package;