|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ulppknot 于 2019-7-11 16:29 编辑
, Y6 @) Q) [0 J0 m8 b$ p7 P$ t! B q0 F! T# ]7 c
这篇讲异步读写:
W3 `, [* f: E6 H8 ?
( T4 O1 f( F& h8 g
6 x/ i" l2 a* a% n% c在单端口RAM的设计(异步读、同步写)中已经对异步读与同步读进行了比较,这篇要对同步写和异步写做一个比较:
; B; K7 Z a A f6 r1 W$ W) A) [0 x6 D- I
" a. t0 [# j: v2 @' d6 f首先是代码上的区别:易知,所谓异步写,也就是不依赖于时钟的写,只要给一个地址,且写使能有效(当然片选也得有效)就可以写一个数据:
3 [6 B* M, }5 |4 [/ L- m" J4 n# x. P# p3 U& [2 J
( | s; M& {" Z$ L1 x3 H+ J
- // Memory Write Block
- // Write Operation : When we = 1, cs = 1
- always @ (address or data or cs or we)
- begin : MEM_WRITE
- if ( cs && we ) begin
- mem[address] = data;
- end
- end7 ~6 @* Z% E! L2 t1 M
% `. h t$ a+ }" |2 }
2 G4 Q/ @# Z; C8 M& n2 ~ @/ e, B& O' D) ]0 a& Y) q/ Q4 b
异步读自然也是如此:
0 ]0 z0 G% `7 d! w* A; ?
8 n. }+ D* M7 P% B! a+ U4 g# X. T' G# o
7 o: ~9 s9 Q" D* B e* `
4 l% ^/ P5 l* H" m7 N
. L. e/ R, J# a8 I" j
Z4 x: l* g1 `: [! T- o0 F' B( ?1 X7 b, N+ ~9 [
3 q$ J. X( H0 L5 I P% z( y
2 p5 Q2 z- \" M' I, I) Z
|
|