Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 3196|回復: 4
打印 上一主題 下一主題

[問題求助] 記憶體問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-3-7 06:34:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位VHDL高手們,小弟寫了個6 X 64的記憶體,不過我試用實際的硬體電路來思考,並非使用軟體陣列的方式,如下:6 H  \) ?: o/ N0 }2 }. O. J& Q
我設計了一個decoder for column address selection,一個decoder for row address selection,然後使用generate產生64個latch陣列,但是現在我不知道該如何指定我的腳位,懇請各位給點意見,謝謝!
- ?) m- Y  H3 k# @
* ~1 k4 u! M; e( cLIBRARY ieee;' i" m7 R/ I( _# d6 e
USE ieee.std_logic_1164.all;
4 R" m# t% U2 g9 }% UUSE ieee.std_logic_arith.all;
" m8 Z- f( w+ `5 R2 @
9 s4 Q! ?2 p5 q& qENTITY memory_64 IS
. T5 ]( R# l% B7 H: D   PORT(
2 V( b) I$ y- \9 l. |9 c6 k      mem_in   : IN     std_logic_vector ( 5 DOWNTO 0 );
5 z. }; g9 M/ G, [) d      mem_out  : OUT    std_logic_vector ( 5 DOWNTO 0 );
2 i" o) ^# S' q8 @3 Q      clr_l    : IN     std_logic;0 Z, @$ S( t  x# f
      mem_addr : IN     std_logic_vector ( 5 DOWNTO 0 )0 F# d7 e# p9 i. `& j
   );
( e( U2 H' C2 L5 B0 |8 c( \4 z  \; b. T# Q" J" Q+ J
-- Declarations5 ?* M0 U6 u! H+ y8 {
# Z9 d- N( F! C* a3 O
END memory_64 ;4 o9 D4 s: w* S" p9 p% n

) M! s! B( c7 Y, k: A--& ~; i8 ?" i7 Y5 h) t8 A
ARCHITECTURE arch OF memory_64 IS5 f3 n' E- r" q$ J2 l- u
-- column decoder
+ f; f; @& X3 e! icomponent mem_coldec
% _, o- z+ B0 a* @" O   PORT( 9 \3 w8 P, z& R, o- G( x$ n$ O
      col_addr : IN     std_logic_vector ( 2 DOWNTO 0 );3 Z* g1 P/ f5 p* ^5 e+ S
      col_sel  : OUT    std_logic_vector ( 7 DOWNTO 0 )* q1 G% O6 A% S
   );+ w% k! B$ G' S7 C" t; }
end component;3 |6 M6 {/ D4 a6 D( n
-- row decoder4 V# }; y9 D0 b1 T
component mem_rowdec
, [: L- y. c* _* V( G) v   PORT( 0 \& W8 B; ?. ?8 k/ ]- m- q' Y
      row_addr : IN     std_logic_vector ( 2 DOWNTO 0 );  n$ j' h( s" E, L! Q5 t# ?+ R
      row_sel  : OUT    std_logic_vector ( 7 DOWNTO 0 )) }6 n' `& D; s8 Z9 F
   );$ [9 a1 w3 V& Z4 e
end component;   
" ?: J8 d$ j3 R" t) J8 x-- latch array   # D6 Y6 e, d- P+ S
component latch_cell
( v7 g' m( I5 L     PORT(
$ f& c8 z$ |+ o# k+ p3 d2 }3 C        clr_l    : IN     std_logic;
9 a  J8 x2 e" O  L. m1 v6 O# [        col_sel  : IN     std_logic;
3 ~* {5 X; v. s+ A: U, Q$ u        row_sel  : IN     std_logic;        * m& E5 J' N7 v& }! \
        data_in  : IN     std_logic_vector ( 5 DOWNTO 0 );
5 l' t' U/ G2 i6 `9 S        data_out : OUT    std_logic_vector ( 5 DOWNTO 0 )
; |5 K! c8 E; W+ q8 E4 y/ a     );
  a+ e1 n7 ~' f9 V3 Gend component;   
/ d  o& s: W0 a. h/ i: B: l5 I( }- N' s
signal smem_out : std_logic_vector ( 5 downto 0 );
  [9 S% @& r1 T& }7 V" ^signal scol_sel,srow_sel : std_logic_vector( 7 downto 0 );# l4 F- E9 D; l' h
BEGIN
- U, J9 G  i9 H) @  u_0 : mem_coldec port map(mem_addr( 5 downto 3 ),scol_sel);: S" g  t6 B/ ?/ y/ V0 @) O
  u_1 : mem_rowdec port map(mem_addr( 2 downto 0 ),srow_sel);
" E9 i, l$ T0 |) x7 v# s  g0 : for i in 0 to 7 generate -- column generate
. t! o: l; _, t) [" y    g1 : for j in 0 to 7 generate -- row generate+ M# H6 G( i: J) \+ \* e  a2 U* n
         u_2 : latch_cell port map(clr_l,scol_sel(j),srow_sel(i),mem_in,smem_out);* L" |  I. s5 x3 e3 ?
    end generate;
; F4 j- q/ l( U/ K  end generate;* Z. s* N) n1 ^; s. a
END ARCHITECTURE arch;
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-3-7 11:27:36 | 只看該作者
您好, E, H( S& O2 W* B3 x
不用將address分成row跟column9 L( z) w: G8 i1 i
這樣只是將問題複雜化而已- p' w" m  C/ a, V7 z+ l3 [/ G
你可以想成有64個6 bit的暫存器,來組成你要的ram. D  b/ i/ i+ w; Y: B

1 X9 w! C! s) V  u7 `9 |, j用陣列寫法,code比較簡潔,建議使用* ]% f  o% `3 u6 e& Z8 J
以下有範例,請參考+ S0 O3 v6 o! L
http://www.doulos.com/knowhow/vh ... s/simple_ram_model/
3#
 樓主| 發表於 2008-3-7 12:30:16 | 只看該作者
不行耶,這樣就好了,我就是要講將實際的RAM電路寫成VHDL,不過還是感謝你的提示,難道真的沒有人這樣子做過嗎?
4#
發表於 2008-3-8 23:26:53 | 只看該作者
您好6 c- j1 ^' W$ R8 s
不曉得你為甚麼要捨近求遠1 b( u8 z6 F0 X5 J7 }
可以說說這麼做的原因嗎?
8 W2 \  f9 }/ M1 D9 o5 M. M8 ^7 `3 T還有這是要做甚麼樣子的應用& _5 \' k9 Z8 G6 m  @& N
謝謝
5#
 樓主| 發表於 2008-3-12 23:02:03 | 只看該作者

記憶體問題

我只是試著把FPGA規劃成一顆RAM. X# r! B( Z: \! p0 v$ v
( h/ d! z7 f# t6 d8 l3 \
沒有什麼特別的啦^^...
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-4-29 01:30 AM , Processed in 0.104006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表