|
reg state;
% }, U5 ], N, wassign sram_cs = 1'b0;
2 B1 T1 Z8 G7 m+ D! u7 q& Gassign sram_data =we?8'hz:wirte_data;& C# B! L B3 q
always @(posedge clk or negedge rst)
) V7 e0 }( |$ ?) }* }. `( Dif(!rst)
7 T; M. p3 D. ?( J clk <= 1'b1;
8 O: g& ^: O! l1 g- N5 \. a2 | m9 Qelse
6 n& r) A* k5 k9 U. U0 o state <= ~state;
( q7 I0 x6 ~# d+ Y/ ?, e* ?0 B' I; n! b, L
always @(posedge clk or negedge rst)
+ G3 b" D$ R0 s0 m" @( O8 s: sif(!rst)
% F/ ]3 s% j) D6 {% n% c: p begin
6 y' F+ z' O% o: O2 x end
V, @$ N5 L8 N) w0 v5 L4 celse5 j( j" [1 n* C' h+ V0 |# j' l
begin$ X9 \+ {* q/ x0 O( L0 h
if(state ) //读,
, c. v- ~8 w5 u0 _, E! } begin R3 ?" o; l y3 I g
sram_addr <= read_addr;- U; e6 k# V8 |& S
sram_we <= 1'b1; Q V* r/ ?* g ^
sram_oe <= 1'b1;* U: Y, g+ f) j: ~9 k3 }1 ^, Z
end
X5 P% ?' h; C# Z8 ]4 j! A6 d else+ Z1 v- {% f; M" G
begin //写; o1 I% y% k0 j1 |1 k x( k+ O
read_data <=sram_data
* Q$ n# A# M' }/ ` sram_addr <= write_addr;& R/ q& S" o6 p% C N0 r- P3 k
write_data <= video_data;! W1 v; h, ]+ K( l" y
sram_we <= 1'b0;, w0 t( a1 e, [; |( {3 O
sram_oe <= 1'b0;
: P$ P! b5 F# g9 X end: C4 C0 q5 ~+ g! E
end& c3 z5 F! l/ `: U0 ?
' s; T8 q1 t1 P! t& S; R/ f
! R/ |/ L/ w' I/ P0 x7 O; X% W7 [( ^$ e( O
. ?" a! }% i/ o$ R5 ?: ~endmodule |
|