! D) J3 E& ?6 C! x" y從Memory Cell 讀出來的訊號 會跟電子學的 Small signal 一樣小 6 j9 x' S6 o% l e W5 `6 W所以Memory Array中處處還得有 Sense Amp. 的電路存在 + O7 @- ^0 v( h% n+ @才可以把小訊號放大成完整的 0與1 送到 XIO端 ' d2 a4 U ~+ g) ~3 I( LData 從sensing到訊號夠大到 運送到XIO PAD的過程同樣也需要花費一些時間.3 V4 J2 P3 x% Q
8 ^4 c* k4 y$ Z寫那麼多只是想說明 - Z' Z4 o* T4 g9 V' i" K0 w/ _4 Q# y! HVHDL 與 Verilog 都是硬體描述語言* R3 M4 `+ B3 X D; m! K9 L
所以Memory 裡面當然要包含 Decoder電路 控制電路 甚至是電源供應的電路2 R+ X/ L0 ?9 n9 l6 O9 W$ {1 @% Q
並不是單純的軟體 N-Dimension 陣列, 可以用很快的速度去 Access 或Write 它. 1 {; `5 i# [/ x 9 p6 n. W! ^1 ^+ e% ?# Z' q[ 本帖最後由 yhchang 於 2008-2-10 06:12 PM 編輯 ]作者: aiken 時間: 2008-3-9 04:07 AM
The answer is...you are now simulating a Hardware....but not software. ' x) n, I [/ o) v! T' Z# GSoftware only see the "function"" j6 v& d: d7 b! S$ E
Hardware need to see Timing and function. " h l( q8 F! r3 b8 d' M 8 Q8 n0 M/ s0 _; ~9 PIf you use HDL's memory array, then your tools will help you design what they thinks is good for them...but not for your design..* s$ b `" ]0 ^5 o; W9 G2 o1 B0 E
The result is ...the may make a very "stupid" design for you. 4 q. v( W z; Y8 X& {* {. wE.g..you can use A*B to do the operation or you write your rtl code to make your fast multipler.! d7 y( C' D0 _$ c B( G
That's the difference between computer Sci and computere engineer作者: tommywgt 時間: 2008-3-11 12:18 PM
我想... - ~' i( a$ l D" m T" I5 I/ W" R" C N' x
寫成獨立的module是為了彈性 U G/ Y' X& I' a; b8 S3 F % P u2 |7 K; S1 s用D-latch寫是為了將來: a: \6 h' A2 @ n
1) 做成ASIC時, 體積比較小 ! J, t+ {6 o) e3 \5 a2) 如果需要大一點的RAM block時, 可以用RAM marco, 這時如果你的code相容性夠的話, 將來遇到時就好處理了