No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

PeripheriqueEcran.vhd 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. ----------------------------------------------------------------------------------
  2. -- Company:
  3. -- Engineer:
  4. --
  5. -- Create Date: 09.07.2021 15:25:56
  6. -- Design Name:
  7. -- Module Name: PeripheriqueEcran - Behavioral
  8. -- Project Name:
  9. -- Target Devices:
  10. -- Tool Versions:
  11. -- Description:
  12. --
  13. -- Dependencies:
  14. --
  15. -- Revision:
  16. -- Revision 0.01 - File Created
  17. -- Additional Comments:
  18. --
  19. ----------------------------------------------------------------------------------
  20. library IEEE;
  21. use IEEE.STD_LOGIC_1164.ALL;
  22. use work.ScreenProperties.all;
  23. -- Uncomment the following library declaration if using
  24. -- arithmetic functions with Signed or Unsigned values
  25. --use IEEE.NUMERIC_STD.ALL;
  26. -- Uncomment the following library declaration if instantiating
  27. -- any Xilinx leaf cells in this code.
  28. --library UNISIM;
  29. --use UNISIM.VComponents.all;
  30. entity PeripheriqueEcran is
  31. Generic ( Nb_Bits : Natural);
  32. Port ( CLK : in STD_LOGIC;
  33. CLK_VGA : in STD_LOGIC;
  34. RST : in STD_LOGIC;
  35. vgaRed : out STD_LOGIC_VECTOR (3 downto 0);
  36. vgaBlue : out STD_LOGIC_VECTOR (3 downto 0);
  37. vgaGreen : out STD_LOGIC_VECTOR (3 downto 0);
  38. Hsync : out STD_LOGIC;
  39. Vsync : out STD_LOGIC;
  40. STD_OUT : in STD_LOGIC_VECTOR (Nb_Bits - 1 downto 0);
  41. STD_OUT_Av : in STD_LOGIC;
  42. STD_OUT_Int : in STD_LOGIC);
  43. end PeripheriqueEcran;
  44. architecture Behavioral of PeripheriqueEcran is
  45. component VGAControler is
  46. Port ( VGA_RED : out STD_LOGIC_VECTOR (3 downto 0);
  47. VGA_BLUE : out STD_LOGIC_VECTOR (3 downto 0);
  48. VGA_GREEN : out STD_LOGIC_VECTOR (3 downto 0);
  49. VGA_HS : out STD_LOGIC;
  50. VGA_VS : out STD_LOGIC;
  51. X : out X_T;
  52. Y : out Y_T;
  53. PIXEL_ON : in STD_LOGIC;
  54. CLK : in STD_LOGIC;
  55. RST : in STD_LOGIC);
  56. end component;
  57. component clk_wiz_0
  58. port
  59. (-- Clock in ports
  60. clk_in1 : in std_logic;
  61. -- Clock out ports
  62. clk_out1 : out std_logic
  63. );
  64. end component;
  65. component Ecran is
  66. Port ( CLK : in STD_LOGIC;
  67. RST : in STD_LOGIC;
  68. Data_Av : in STD_LOGIC;
  69. Data_IN : in STD_LOGIC_VECTOR (0 to 6);
  70. X : in X_T;
  71. Y : in Y_T;
  72. OUT_ON : out STD_LOGIC);
  73. end component;
  74. component ScreenDriver
  75. Generic ( Nb_bits : Natural
  76. );
  77. Port ( CLK : in STD_LOGIC;
  78. Value : in STD_LOGIC_VECTOR (Nb_Bits - 1 downto 0);
  79. ValueAv : in STD_LOGIC;
  80. IsInt : in STD_LOGIC;
  81. OutData : out STD_LOGIC_VECTOR (0 to 6);
  82. OutDataAv : out STD_LOGIC);
  83. end component;
  84. signal my_X : X_T := 0;
  85. signal my_Y : Y_T := 0;
  86. signal my_PIXEL_ON : STD_LOGIC := '0';
  87. signal OutData : STD_LOGIC_VECTOR (0 to 6) := (others => '0');
  88. signal OutDataAv : STD_LOGIC := '0';
  89. signal my_CLK : STD_LOGIC := '0';
  90. begin
  91. instanceVGA : VGAControler
  92. port map( VGA_RED => vgaRed,
  93. VGA_BLUE => vgaBlue,
  94. VGA_GREEN => vgaGreen,
  95. VGA_HS => Hsync,
  96. VGA_VS => Vsync,
  97. X => my_X,
  98. Y => my_Y,
  99. PIXEL_ON => my_PIXEL_ON,
  100. CLK => my_CLK,
  101. RST => RST);
  102. clk_wiz_0_inst : clk_wiz_0
  103. port map (
  104. clk_in1 => CLK_VGA,
  105. clk_out1 => my_CLK
  106. );
  107. instance_Ecran : Ecran
  108. port map ( CLK => CLK,
  109. RST => RST,
  110. Data_Av => OutDataAv,
  111. Data_IN => OutData,
  112. X => my_X,
  113. Y => my_Y,
  114. OUT_ON => my_PIXEL_ON);
  115. instance_ScreenDriver : ScreenDriver
  116. Generic map ( Nb_bits => Nb_Bits
  117. )
  118. Port map ( CLK => CLK,
  119. Value => STD_OUT,
  120. ValueAv => STD_OUT_Av,
  121. IsInt => STD_OUT_Int,
  122. OutData => OutData,
  123. OutDataAv => OutDataAv);
  124. end Behavioral;