|
reg state;& N, I* N) z# R4 \& \& N8 V7 x+ Z
assign sram_cs = 1'b0;
9 [6 A& Q; R, P1 @9 `8 R$ ?assign sram_data =we?8'hz:wirte_data;
+ ?8 e) I" ^; S- p8 S) Ealways @(posedge clk or negedge rst)
. ^5 m; F7 R$ `9 T* f- L% rif(!rst)
0 w0 m2 t+ z7 a clk <= 1'b1;! Y/ \8 B; Q7 d7 G' `' l
else2 ~# ?, D i* j s$ d* q) y
state <= ~state;5 C1 j9 a( j, t M3 Y7 V5 @8 Q
: Y) k5 ]' z8 e4 a9 A, \' x2 \always @(posedge clk or negedge rst)
0 k, l1 Y! \( }if(!rst); l+ a R) S1 d; \8 h
begin& w# s: G* }7 L s" R
end
1 U% ~, t O, velse
! {! m: e2 W- z begin
3 B: i! M/ [8 L- g if(state ) //读,+ a, {* X+ ?* l) a
begin J* W) W/ ~, U9 n' ]/ X1 i
sram_addr <= read_addr;2 r) {8 B, X) m1 t$ S1 E3 U
sram_we <= 1'b1;( J d, K/ v) |. f" I
sram_oe <= 1'b1;6 K( b+ {, V% E6 E# W2 @
end1 h& J: x b% B) P7 @
else
( ^$ J, U8 @0 d2 `% R/ \ begin //写& _6 ? I: [* w/ Z, C) C
read_data <=sram_data , K; |$ o) r! N/ A* W. _* [3 B8 o
sram_addr <= write_addr;
+ ]& {/ X4 |) J7 O; v write_data <= video_data;
6 q. [# J. }4 w0 a6 u/ ^3 t" G sram_we <= 1'b0;+ R5 a1 r$ ~* p! R
sram_oe <= 1'b0;
/ _( `8 R- Y( c6 Q3 ? end
; S/ _, g7 @% M end( M, V: ^/ Q- d2 k& G
* T3 I. O& I. V1 D9 J/ A8 M1 C
+ X' J1 `+ }0 E1 I- `+ L9 @* I: B- i$ M4 t/ q: M
$ W( H7 x7 [) q3 D* _5 V
endmodule |
|