Commit baf5e4b61257aef2ca38338e271700c72ebbf560
1 parent
122d531c
7Segment_display readme
Showing
1 changed file
with
63 additions
and
1 deletions
Show diff stats
7Segment_display/README.md
1 | -## 7 Segments display | 1 | +# 7 Segment display |
2 | + | ||
3 | +1. But du projet | ||
4 | +1. I/O utilisées | ||
5 | +1. Explication de l'algorithme principal | ||
6 | + | ||
7 | +> L'ensemble des codes, images et vidéos sont compris dans ce répertoire. | ||
8 | + | ||
9 | +## But du projet | ||
10 | + | ||
11 | +Nous avons décider de nous intéresser à l'affichage 7 segments grâce au but suivant: | ||
12 | + | ||
13 | +- Créer un compteur à l'aide des 4 affichages allant donc de 0 à 9999. En cas de dépassement ou d'appuye sur un bouton reset le compteur redémarrera à 0. | ||
14 | + | ||
15 | +## I/O utilisées | ||
16 | + | ||
17 | +Tout d'abord, voyons les entrées/sortie que nous avons utilisé. | ||
2 | 18 | ||
3 | ```vhdl | 19 | ```vhdl |
4 | entity display is | 20 | entity display is |
@@ -6,6 +22,52 @@ entity display is | @@ -6,6 +22,52 @@ entity display is | ||
6 | clk_fpga : in STD_LOGIC; | 22 | clk_fpga : in STD_LOGIC; |
7 | reset : in STD_LOGIC; | 23 | reset : in STD_LOGIC; |
8 | aff : out STD_LOGIC_VECTOR{7 downto 0}; | 24 | aff : out STD_LOGIC_VECTOR{7 downto 0}; |
25 | + an : out STD_LOGIC_VECTOR{3 downto 0} | ||
9 | }; | 26 | }; |
10 | end display; | 27 | end display; |
11 | ``` | 28 | ``` |
29 | + | ||
30 | +- clk_fpga : le signal de clock du fpga | ||
31 | + | ||
32 | + Dans le fichier de contrainte : | ||
33 | + ``` | ||
34 | + ## Clock signal | ||
35 | + set_property -dict { PACKAGE_PIN W5 IOSTANDARD LVCMOS33 } [get_ports clk_fpga] | ||
36 | + create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk] | ||
37 | + ``` | ||
38 | + | ||
39 | +- reset : le signal permettant de remettre le compteur à zéro grâce à un bouton | ||
40 | + | ||
41 | + Dans le fichier de contrainte : | ||
42 | + ``` | ||
43 | + ## Switches | ||
44 | + set_property -dict { PACKAGE_PIN R2 IOSTANDARD LVCMOS33 } [get_ports reset] | ||
45 | + ``` | ||
46 | +- aff : un tableau de 8 bits relier à chaque led d'un segment à afficher (en ajoutant le point de l'afficheur) | ||
47 | + | ||
48 | + Dans le fichier de contrainte : | ||
49 | + ``` | ||
50 | + ##7 Segment Display | ||
51 | + set_property -dict { PACKAGE_PIN W7 IOSTANDARD LVCMOS33 } [get_ports {aff[0]}] | ||
52 | + set_property -dict { PACKAGE_PIN W6 IOSTANDARD LVCMOS33 } [get_ports {aff[1]}] | ||
53 | + set_property -dict { PACKAGE_PIN U8 IOSTANDARD LVCMOS33 } [get_ports {aff[2]}] | ||
54 | + set_property -dict { PACKAGE_PIN V8 IOSTANDARD LVCMOS33 } [get_ports {aff[3]}] | ||
55 | + set_property -dict { PACKAGE_PIN U5 IOSTANDARD LVCMOS33 } [get_ports {aff[4]}] | ||
56 | + set_property -dict { PACKAGE_PIN V5 IOSTANDARD LVCMOS33 } [get_ports {aff[5]}] | ||
57 | + set_property -dict { PACKAGE_PIN U7 IOSTANDARD LVCMOS33 } [get_ports {aff[6]}] | ||
58 | + | ||
59 | + set_property -dict { PACKAGE_PIN V7 IOSTANDARD LVCMOS33 } [get_ports {aff[7]}] | ||
60 | + ``` | ||
61 | + > exemple : aff[7] contrôlera la led du point de l'afficheur séléctionné. | ||
62 | + | ||
63 | +- an : un tableau comprenant 4 bits permettant de sélectionner l'un des 4 afficheurs 7 segments | ||
64 | + | ||
65 | + Dans le fichier de contrainte : | ||
66 | + ``` | ||
67 | + set_property -dict { PACKAGE_PIN U2 IOSTANDARD LVCMOS33 } [get_ports {an[0]}] | ||
68 | + set_property -dict { PACKAGE_PIN U4 IOSTANDARD LVCMOS33 } [get_ports {an[1]}] | ||
69 | + set_property -dict { PACKAGE_PIN V4 IOSTANDARD LVCMOS33 } [get_ports {an[2]}] | ||
70 | + set_property -dict { PACKAGE_PIN W4 IOSTANDARD LVCMOS33 } [get_ports {an[3]}] | ||
71 | + ``` | ||
72 | + | ||
73 | +## Explication de l'algorithme | ||
12 | \ No newline at end of file | 74 | \ No newline at end of file |