Chip123 科技應用創新平台

標題: 那位大大會控制memory使用verilog [打印本頁]

作者: 小昌昌同學    時間: 2007-7-28 11:12 PM
標題: 那位大大會控制memory使用verilog
大家好:
' _0 p) K+ E9 S& R/ C7 E      我的code裡面有memory那麼我如何控制他呢?
4 u* q# p3 F2 j& x# E* v誰可以大概寫給我之類的。D(DATA ), Q (output), WEN, OEN, CEN,這是腳位,這個是要寫在code ,
# [. x) `7 Q& q- }1 D5 C8 @那麼test code是要一直送data的。
作者: tommywgt    時間: 2007-7-29 07:39 PM
這個看起來並不是寫code的問題. B" q6 K& y% z9 E8 A
前題是你要先看的懂RAM 的timming chart, 寫code只是一個實踐的動作, 而且你的問題並不清楚, 無法直接回答你, 不過你也可以上網去找一下別人寫好的coe看合不合你用
作者: Cappuccino    時間: 2007-7-31 01:46 PM
標題: 控制memory使用verilog
從Synplify Pro reference manual節錄一些single-port RAM的verilog code,你可以參考看看
, l. A& M2 B( G8 K雖然不是控制memory,但瞭解memory行為有助於你控制memory
6 b0 T% }& [3 s" ?: I' F
% B5 M) T$ W6 {5 `/ ^: y% @9 ]The following segment of Verilog code defines the behavior of a Xilinx8 |  D- ]3 p* i) N
single-port block RAM.
  C1 z, E; `! w+ e1 ~7 r. s1 K
, a1 [: n6 i& Amodule RAMB4_S4 (data_out, ADDR, data_in, EN, CLK, WE, RST);# I8 O' ^8 m8 o) m
output[3:0] data_out;" z" m2 z5 D7 P
input [7:0] ADDR;
; R$ E5 H3 z9 l! t6 \input [3:0] data_in;1 k: e7 V6 y5 o. L9 Y
input EN, CLK, WE, RST;
! I0 B$ ?0 s$ F& K, V8 ?reg [3:0] mem [255:0] /*synthesis syn_ramstyle="block_ram"*/;
! A4 i# ]0 d* W3 H$ O$ zreg [3:0] data_out;$ U3 `8 E- }/ O0 u* ~. X4 a
always@(posedge CLK)4 [) e. X- O) f8 b+ {
if(EN)
" f$ n  M% \' `" Cif(RST == 1)6 g# R8 Q. S( H( u
data_out <= 0;
6 }2 B. i; ~  d3 Z0 _4 x1 Q- H/ }else5 R" Y3 l5 C( d4 S$ O4 U
begin: m9 x* R  z7 s8 }
if(WE == 1)
7 [8 C3 o) H5 W: ?$ L, Vdata_out <= data_in;7 m  t# S4 N  E! F% f7 B
else/ M. s* y/ T5 v$ d* E) a
data_out <= mem[ADDR];- o. ^3 R. k3 B6 K4 o, _0 J
end, ^7 u% R% G( `2 ^; B/ u' Q
always @(posedge CLK)
0 K$ k" g+ m! l2 Oif (EN && WE) mem[ADDR] = data_in;& T. t5 K. g8 d
endmodule
作者: norm    時間: 2007-8-3 11:08 AM
你要做的Memory是SDR SDRAM or DDR??& K6 ^4 P0 d) r, s6 O" y) Z$ `

) E. e/ z( u+ _$ p7 {8 Z依照SDRAM來看的話..你應該要先做FSM..
! l. W( A% n% Q$ F) l
) k" h" p5 L% F: d9 e! Q1 e再依照FSM的狀態去寫Verilog..




歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/) Powered by Discuz! X3.2