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 Xilinx
8 | D- ]3 p* i) N
single-port block RAM.
C1 z, E; `! w+ e1 ~7 r. s1 K
, a1 [: n6 i& A
module 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$ z
reg [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% \' `" C
if(RST == 1)
6 g# R8 Q. S( H( u
data_out <= 0;
6 }2 B. i; ~ d3 Z0 _4 x1 Q- H/ }
else
5 R" Y3 l5 C( d4 S$ O4 U
begin
: m9 x* R z7 s8 }
if(WE == 1)
7 [8 C3 o) H5 W: ?$ L, V
data_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 O
if (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