|
reg state;
A& S% U# P( `: p7 J7 b1 |" Xassign sram_cs = 1'b0;
4 i+ X0 ~1 x6 c1 S5 ?. Y6 @assign sram_data =we?8'hz:wirte_data;( M* B9 D; t' w4 o
always @(posedge clk or negedge rst)
( {" V5 C' B" ^6 \4 {# }+ G; K0 Bif(!rst)" F+ N- `% L X5 s& U
clk <= 1'b1;: w/ S Q9 R0 f3 a8 [4 p% ^4 a
else
( V/ d, C; @2 g& }! Y- }( B! G state <= ~state;# T3 q3 O. R: Q0 O- d8 ^1 c7 p' w
" q! w- q M1 S+ Q ^: i4 F2 jalways @(posedge clk or negedge rst)
3 p( H% V' b; f( [( r2 x2 }3 Mif(!rst), _0 {4 I- v% Z% q* T
begin
( h0 q" O5 W) Z: |! p# \$ p end
+ A, N7 H: h* selse
5 x0 E& q) j/ f" | O: T' z begin
2 d' ~3 ^/ L3 ?! x' k* v if(state ) //读,
! s" |/ G: m2 D+ O begin, G& C4 t, L6 } N8 C$ M7 v
sram_addr <= read_addr;
- n8 k# Q8 `, f& D! E sram_we <= 1'b1;
, U9 T# ]1 i7 e, E6 | sram_oe <= 1'b1;' w* M, O9 T6 \3 b D9 t/ L/ j: X
end, W( s+ p1 e' n: Q
else
- p6 |: o* {& a1 C1 u begin //写
) r; a+ \" \) N! R0 L2 \6 P read_data <=sram_data : G7 d, ?3 Z- p0 }) m' X
sram_addr <= write_addr;
+ u8 M3 u+ h7 _- A7 n6 A& V write_data <= video_data;
3 l8 x; k" H/ Y) X+ |/ [ sram_we <= 1'b0;# R, V1 T+ Y, N& P; `) `4 q' U- u
sram_oe <= 1'b0;) r U I; h4 ~7 ~
end$ D8 [" f5 E1 r$ U; `- N% Q8 t- ?
end& X4 d* C7 i, \, W6 x5 F) w0 w& z
8 O9 \' i* b5 M3 d4 h) W
& f* i- S4 r. b. f) p: a6 s) [- \ L4 w/ z* \
' ?8 O4 Q9 b; P. K8 V/ R
endmodule |
|