Hur du använder Verilog och Basys 3 för att sluta titta på (3 / 8 steg)
Steg 3: Skapa klocka Divider modul
Jag har använt den ursprungliga medföljande filen heter clkgen. Vi använder dröjsmål för att skapa två olika klockor-stop watch counter klocka och 4-siffriga sju segment Visa uppdatera klocka. Den globala klocka bufferten Primitivet används också att upprätthålla låg skevning. Du kan hitta de primitiva detaljerna på Xilinx Vivado Tutorial. Basys 3 klockhastighet är 100MHz, så jag ändrade den för loop räkning se till att hålla tiden ner till 0,1 sekund.
Jag har hänvisat till exempel från Lära Verilog genom exempel att beräkna den för loop räkna
Hur man beräknar den för loop räkna?
BASYS 3 har en 100 MHz klocka vilket innebär att klockcykel upprepas 100M gånger på en sekund. Att skapa en 0.1 sekunds fördröjning, vi multiplicerar klockan med utsatt tid: 100 MHz * 0.1 SEK = 10000000. Så upprepas klockcykel 10M gånger 0.1 sekund. Sedan beräknar vi storleken på registret som kommer att hålla denna räkning. Anta,
2exp(x) = 10000000
Logga 2exp(x) = log 10000000 (x)
x ~ 26, så en 27 bitars brett vektor register variabel kan hålla räkningen.