Runner spel i VHDL (4 / 10 steg)
Steg 4: Lane Selector
Nu när vi har möjligheten att skapa hinder för att visas på skärmen, måste vi tala om för dem var att gå. Vi först ange utgångar i entiteten som kallas pick_a_lane. Dessa utgångar är obst_to_lane_1, obst_to_lane_2, obst_to_lane_3 och obst_to_lane_4. Vi skapade två signaler, lfsr och lfsr_next, som är 16-bitars binära tal med tre godtyckligt placerat sådana. När dessa signaler har skapats gjorde vi en process som kallas lfsr_seq med bara game_clock i listan känslighet. Lfsr får lfsr_next endast på stigande kanten av klockan. Sedan har vi en stor if/else uttalande som väljer en av gränderna och få hinder utifrån decimalvärdet av lfsr. Om obst_in från obst_generator LFSR inte är en, genereras Inga hinder. Efter if uttalande, vi återigen har en process som kallas lfsr_comb med ett XOR-uttryck till psuedo-randomize sekvensen.