Ange maskin visualisering för klo spelet (6 / 7 steg)
Steg 6: Skicka staterna till sändaren
Nu när de är tillgängliga till sändaren måste sändaren veta när det är OK att skicka data. Med hjälp av en ternär sats logiken för detta kan göras utan att behöva en alltid blockera.
tilldela uart_transmit = (next_state! = prev_state & & clk_50 == 1' b1? 1: 0);
Motsvarar följande alltid blockera:
@ alltid (posedge(clk_50)) börja
om (next_state! = prev_state)
uart_transmit < = 1;
annat
uart_transmit < = 0;
slutet
Den sista staten måste vara känd för att upptäcka en statusändring. Detta kan göras med en annan eftergymnasial uttalande:
tilldela prev_state = (uart_busy == 1' b0 & & tx_clk == 1' b1? staten: prev_state);
Koden bör nu vara redo att generera bitström och program Basys 3. Jag antar att du har följt hur man kod din egen klo maskin handledning och har gjort detta steg före.
Jag skrev en liten python program som läser den seriella porten och skriver till konsolen med