Stap 3: Maak klok Divider module
Ik heb de originele meegeleverde bestand met de naam clkgen gebruikt. We vertraging kunt maken van twee verschillende klokken – vernieuwen klok van de vertoning van de stop horloge teller klok en de 4-cijferige zeven segment. De primitieve wereldwijde klok Buffer wordt ook gebruikt om lage scheeftrekken. U vindt de primitieve details bij Xilinx Vivado Tutorial. De kloksnelheid Basys 3 is 100MHz, dus ik bewerkt de voor lus telling moet ervoor zorgen om te houden van tijd tot 0.1 seconde.
Ik heb verwezen naar het voorbeeld van Leren door voorbeeld Verilog voor het berekenen van de voor lus telling
Hoe Bereken de voor lus telling?
Basys 3 heeft een 100 MHz klok wat betekent dat de klokcyclus herhaalt zich keer van de 100M in één seconde. Als u wilt om te maken een 0.1 seconden vertraging, we vermenigvuldigen de klok met de vereiste tijd: 100 MHz * 0.1 sec = 10000000. Dus de klokcyclus herhaalt zich 10M keren in 0.1 seconde. Vervolgens berekenen we de grootte van het register dat deze telling zal houden. Stel,
2exp(x) = 10000000
Log 2exp(x) = log 10000000 (x)
x ~ 26, zodat een 27 bits breed vector register variabele met de telling houden kan.