Hur du använder Verilog och Basys 3 för att sluta titta på (4 / 8 steg)
Steg 4: Skapa counter moduler
Först måste vi utforma logik att upptäcka kanten av knappen signalen eftersom debounce syfte. Det finns två knappar – start_stop knappen och reset-knappen. Vi måste skapa en variabel som registret för att lagra värdet - button_n_ff och reset_n_ff. Dessutom måste vi skapa två signaler - start_stop och återställa. Jag använde händelsen trigger processuella klockan och icke-blockerande uppdrag samt villkorssats. Knappen är aktiv låg. När det finns skillnaden mellan värdet av knappen och dess register variabel, blir det förändring för start_stop eller Återställ signalen.
Jag har hänvisat till exempel från Lära Verilog genom exempel att utforma counter logiken. De flesta sju segment display siffran är den minst signifikanta siffran medan vänster mest är den viktigaste siffran. Det finns tre villkor:
Skick en
Både start_stop och Återställ signaler är hävdade. Alla siffror är noll värde
Tillstånd två:
Endast start_stop signal påstås. Lagra den tidigare räkningen. När stoppknappen trycks igen, fortsätta från den tidigare räkningen.
Tillstånd tre:
start_stop signal påstås inte. Jag använde den kapslade om annat om uttalande att räkna från rätt mest till lämnade de flesta siffra. När antalet för en siffra upp till 9, det kommer att återställas till 0 och sedan flytta till nästa siffra.