diff --git a/7Segment_display/README.md b/7Segment_display/README.md index 3c17a5c..5609f11 100644 --- a/7Segment_display/README.md +++ b/7Segment_display/README.md @@ -1,4 +1,20 @@ -## 7 Segments display +# 7 Segment display + +1. But du projet +1. I/O utilisées +1. Explication de l'algorithme principal + +> L'ensemble des codes, images et vidéos sont compris dans ce répertoire. + +## But du projet + +Nous avons décider de nous intéresser à l'affichage 7 segments grâce au but suivant: + +- 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. + +## I/O utilisées + +Tout d'abord, voyons les entrées/sortie que nous avons utilisé. ```vhdl entity display is @@ -6,6 +22,52 @@ entity display is clk_fpga : in STD_LOGIC; reset : in STD_LOGIC; aff : out STD_LOGIC_VECTOR{7 downto 0}; + an : out STD_LOGIC_VECTOR{3 downto 0} }; end display; ``` + +- clk_fpga : le signal de clock du fpga + + Dans le fichier de contrainte : + ``` + ## Clock signal + set_property -dict { PACKAGE_PIN W5 IOSTANDARD LVCMOS33 } [get_ports clk_fpga] + create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk] + ``` + +- reset : le signal permettant de remettre le compteur à zéro grâce à un bouton + + Dans le fichier de contrainte : + ``` + ## Switches + set_property -dict { PACKAGE_PIN R2 IOSTANDARD LVCMOS33 } [get_ports reset] + ``` +- aff : un tableau de 8 bits relier à chaque led d'un segment à afficher (en ajoutant le point de l'afficheur) + + Dans le fichier de contrainte : + ``` + ##7 Segment Display + set_property -dict { PACKAGE_PIN W7 IOSTANDARD LVCMOS33 } [get_ports {aff[0]}] + set_property -dict { PACKAGE_PIN W6 IOSTANDARD LVCMOS33 } [get_ports {aff[1]}] + set_property -dict { PACKAGE_PIN U8 IOSTANDARD LVCMOS33 } [get_ports {aff[2]}] + set_property -dict { PACKAGE_PIN V8 IOSTANDARD LVCMOS33 } [get_ports {aff[3]}] + set_property -dict { PACKAGE_PIN U5 IOSTANDARD LVCMOS33 } [get_ports {aff[4]}] + set_property -dict { PACKAGE_PIN V5 IOSTANDARD LVCMOS33 } [get_ports {aff[5]}] + set_property -dict { PACKAGE_PIN U7 IOSTANDARD LVCMOS33 } [get_ports {aff[6]}] + + set_property -dict { PACKAGE_PIN V7 IOSTANDARD LVCMOS33 } [get_ports {aff[7]}] + ``` + > exemple : aff[7] contrôlera la led du point de l'afficheur séléctionné. + +- an : un tableau comprenant 4 bits permettant de sélectionner l'un des 4 afficheurs 7 segments + + Dans le fichier de contrainte : + ``` + set_property -dict { PACKAGE_PIN U2 IOSTANDARD LVCMOS33 } [get_ports {an[0]}] + set_property -dict { PACKAGE_PIN U4 IOSTANDARD LVCMOS33 } [get_ports {an[1]}] + set_property -dict { PACKAGE_PIN V4 IOSTANDARD LVCMOS33 } [get_ports {an[2]}] + set_property -dict { PACKAGE_PIN W4 IOSTANDARD LVCMOS33 } [get_ports {an[3]}] + ``` + +## Explication de l'algorithme \ No newline at end of file -- libgit2 0.21.2