# Tiny Tapeout 5 Template Project


#input pins:
in_clk = clk
in_rst = active low reset
#all pins exept in_rst are active high

in0 = player1_up
in1 = player1_down
in2 = player1_left
in3 = player1_right

in4 = player2_up
in5 = player2_down
in6 = player2_left
in7 = player2_right

D0 = enable vertical pixels shift register
(when D0 low, shift register ff mirror vertical pixels,
when D0 high, then the shifting can start)
D1 = vertical pixels shift register clock
D4 = multiplexer clock
D5 = enable padle ff
D6 = enable ball ff
D7 = enable input register ff

#0 = lsd
#output pins:
out0 = horz0
out1 = horz1
out2 = horz2
out3 = horz3
out4 = horz4
out5 = points player1
out6 = points player2
out7 = vertical pixels shift register out



top most pixel is shifted out first




the horizontal counters can also be 
only 4 bits wide, since the padles
will never go over to the other side

pixel 0,0 is in the botom left
in_clk is the freq of led multiplexing,
game_freq = in_clk/32 (5 flipflop dividers)



Loading
tt-block-bidirectional-io
Loading
tt-block-bidirectional-io
Loading
tt-block-bidirectional-io
Loading
tt-block-bidirectional-io
Loading
tt-block-bidirectional-io
Loading
tt-block-bidirectional-io
Loading
tt-block-bidirectional-io
Loading
tt-block-bidirectional-io
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR

ERC Warnings

ttio4:OUT: Input pin not driven
flop5:CLK: Clock driven by combinatorial logic
flop6:CLK: Clock driven by combinatorial logic
flop44:CLK: Clock driven by combinatorial logic
flop31:CLK: Clock driven by combinatorial logic
flop48:CLK: Clock driven by combinatorial logic
flop49:CLK: Clock driven by combinatorial logic
flop50:CLK: Clock driven by combinatorial logic
flop51:CLK: Clock driven by combinatorial logic
flop52:CLK: Clock driven by combinatorial logic
10 additional warning(s) hidden