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.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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. entity PeripheriqueEcran is
  24. Generic ( Nb_Bits : Natural);
  25. Port ( CLK : in STD_LOGIC;
  26. CLK_VGA : in STD_LOGIC;
  27. RST : in STD_LOGIC;
  28. vgaRed : out STD_LOGIC_VECTOR (3 downto 0);
  29. vgaBlue : out STD_LOGIC_VECTOR (3 downto 0);
  30. vgaGreen : out STD_LOGIC_VECTOR (3 downto 0);
  31. Hsync : out STD_LOGIC;
  32. Vsync : out STD_LOGIC;
  33. STD_OUT : in STD_LOGIC_VECTOR (Nb_Bits - 1 downto 0);
  34. STD_OUT_Av : in STD_LOGIC;
  35. STD_OUT_Int : in STD_LOGIC);
  36. end PeripheriqueEcran;
  37. architecture Behavioral of PeripheriqueEcran is
  38. component VGAControler is
  39. Port ( VGA_RED : out STD_LOGIC_VECTOR (3 downto 0);
  40. VGA_BLUE : out STD_LOGIC_VECTOR (3 downto 0);
  41. VGA_GREEN : out STD_LOGIC_VECTOR (3 downto 0);
  42. VGA_HS : out STD_LOGIC;
  43. VGA_VS : out STD_LOGIC;
  44. X : out X_T;
  45. Y : out Y_T;
  46. PIXEL_ON : in STD_LOGIC;
  47. CLK : in STD_LOGIC;
  48. RST : in STD_LOGIC);
  49. end component;
  50. component clk_wiz_0
  51. port
  52. (-- Clock in ports
  53. clk_in1 : in std_logic;
  54. -- Clock out ports
  55. clk_out1 : out std_logic
  56. );
  57. end component;
  58. component Ecran is
  59. Port ( CLK : in STD_LOGIC;
  60. RST : in STD_LOGIC;
  61. Data_Av : in STD_LOGIC;
  62. Data_IN : in STD_LOGIC_VECTOR (0 to 6);
  63. X : in X_T;
  64. Y : in Y_T;
  65. OUT_ON : out STD_LOGIC);
  66. end component;
  67. component ScreenDriver
  68. Generic ( Nb_bits : Natural
  69. );
  70. Port ( CLK : in STD_LOGIC;
  71. Value : in STD_LOGIC_VECTOR (Nb_Bits - 1 downto 0);
  72. ValueAv : in STD_LOGIC;
  73. IsInt : in STD_LOGIC;
  74. OutData : out STD_LOGIC_VECTOR (0 to 6);
  75. OutDataAv : out STD_LOGIC);
  76. end component;
  77. signal my_X : X_T := 0;
  78. signal my_Y : Y_T := 0;
  79. signal my_PIXEL_ON : STD_LOGIC := '0';
  80. signal OutData : STD_LOGIC_VECTOR (0 to 6) := (others => '0');
  81. signal OutDataAv : STD_LOGIC := '0';
  82. signal my_CLK : STD_LOGIC := '0';
  83. begin
  84. instanceVGA : VGAControler
  85. port map( VGA_RED => vgaRed,
  86. VGA_BLUE => vgaBlue,
  87. VGA_GREEN => vgaGreen,
  88. VGA_HS => Hsync,
  89. VGA_VS => Vsync,
  90. X => my_X,
  91. Y => my_Y,
  92. PIXEL_ON => my_PIXEL_ON,
  93. CLK => my_CLK,
  94. RST => RST);
  95. clk_wiz_0_inst : clk_wiz_0
  96. port map (
  97. clk_in1 => CLK_VGA,
  98. clk_out1 => my_CLK
  99. );
  100. instance_Ecran : Ecran
  101. port map ( CLK => CLK,
  102. RST => RST,
  103. Data_Av => OutDataAv,
  104. Data_IN => OutData,
  105. X => my_X,
  106. Y => my_Y,
  107. OUT_ON => my_PIXEL_ON);
  108. instance_ScreenDriver : ScreenDriver
  109. Generic map ( Nb_bits => Nb_Bits
  110. )
  111. Port map ( CLK => CLK,
  112. Value => STD_OUT,
  113. ValueAv => STD_OUT_Av,
  114. IsInt => STD_OUT_Int,
  115. OutData => OutData,
  116. OutDataAv => OutDataAv);
  117. end Behavioral;