-
Notifications
You must be signed in to change notification settings - Fork 2
/
cpt_div.vhd
106 lines (88 loc) · 2.7 KB
/
cpt_div.vhd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
-----------------------------------------------------------------------------------//
-- Nom du projet : COMPTEUR_DIVISEUR
-- Nom du fichier : cpt_div.vhd
-- Date de création : 19.02.2016
-- Date de modification : 24.02.2016
--
-- Auteur : Ph. Bovey
--
-- Description :
--
-- Remarques :
----------------------------------------------------------------------------------//
-- déclaration standart des librairies standart pour le VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
-- déclaration de l'entité (Entrées / Sorties)
entity CPT_DIV is
port(
-- entrée --
--SW_X : in std_logic;
nRST : in std_logic;
CLK_IN : in std_logic;
-- sortie --
CLK_OUT_1A : out std_logic;
CLK_OUT_2A : out std_logic;
CLK_OUT_3A : out std_logic;
CLK_OUT_1B : out std_logic;
CLK_OUT_2B : out std_logic;
CLK_OUT_3B : out std_logic
);
END CPT_DIV;
architecture COMPORTEMENT_CPT of CPT_DIV is
-- déclaration de signaux, variables, etc --
-- constante --
constant MAX_CMPT_2 : integer :=2;
constant MAX_CMPT_4 : integer :=4;
constant MAX_CMPT_8 : integer :=8;
-- composant --
component DIV_2
port(
-- entrée --
CLK_IN : in std_logic;
-- sortie --
CLK_OUT : out std_logic
);
end component;
component DIV_4
port(
-- entrée --
CLK_IN : in std_logic;
-- sortie --
CLK_OUT : out std_logic
);
end component;
component DIV_8
port(
-- entrée --
CLK_IN : in std_logic;
-- sortie --
CLK_OUT : out std_logic
);
end component;
-- variable --
signal CLK_INT_1A : std_logic;
signal CLK_INT_2A : std_logic;
--signal
begin
-------------------------------------
-- instanciation du composant DIV2 --
-------------------------------------
BLOC_DIV2_1 : DIV_2 port map (CLK_IN => CLK_IN, CLK_OUT => CLK_INT_1A);
BLOC_DIV2_2 : DIV_2 port map (CLK_IN => CLK_INT_1A, CLK_OUT => CLK_INT_2A);
BLOC_DIV2_3 : DIV_2 port map (CLK_IN => CLK_INT_2A, CLK_OUT => CLK_OUT_3A);
-------------------------------------
-- instanciation du composant DIV4 --
-------------------------------------
BLOC_DIV4 : DIV_4 port map (CLK_IN => CLK_IN, CLK_OUT => CLK_OUT_2B);
-------------------------------------
-- instanciation du composant DIV8 --
-------------------------------------
BLOC_DIV8 : DIV_8 port map (CLK_IN => CLK_IN, CLK_OUT => CLK_OUT_3B);
-----------------------------
-- assignation des sorties --
-----------------------------
CLK_OUT_1A <= CLK_INT_1A;
CLK_OUT_2A <= CLK_INT_2A;
--CLK_OUT_3A <= CLK_INT_2;
end COMPORTEMENT_CPT;