基于PLD的嵌入式系統外存模塊設計
#(a[15..0]= =Address_F_W)! ALE)
READY信號的產(chǎn)生落后ALE下降沿5ns,造成READY信號產(chǎn)生無(wú)效,解決這個(gè)問(wèn)題的唯一方法是提前生成READY信號。實(shí)際中有效地址是在A(yíng)LE下降沿鎖存后產(chǎn)生的,這也是READY信號產(chǎn)生表達式中最后一項的來(lái)源,但是考慮到地址的產(chǎn)生應該發(fā)生在A(yíng)LE下降沿之前,以保證鎖存到正確的地址。因此大膽設想讓READY信號的產(chǎn)生不再受ALE的控制,只要總線(xiàn)上產(chǎn)生地址就可以作出判斷,從而提前生成READY信號。但這樣的做法破壞了同步時(shí)序,而且異步生成READY信號容易產(chǎn)生冒險現象。通過(guò)分析,可以發(fā)現異步生成
READY信號并不會(huì )帶來(lái)任何不穩定因素,因此修改READY信號如下:
ready=!(((a[15..0]>=H0200)(a[15..0]=H1EFF))
#((a[15..0]>=H2000)(a[15..0]=H8FFF))
#(a[15..0)= =Address_F_R)
#(a[15..0]= =Address_F_W)
即去掉了對地址有效信號ALE的判斷。修改后系統工作穩定、正常。修改后對Hash ROM的讀寫(xiě)時(shí)序如圖7所示,而對RAM讀寫(xiě)的時(shí)序依舊是圖6,目的達到??紤]到插入一個(gè)等待周期后大大增加了讀寫(xiě)時(shí)間,因此將AT29C1024-70JC換成廉價(jià)的AT29C1024-12JC(有效數據建立時(shí)間為120ns)[3],系統依然能夠穩定工作。通過(guò)使用,證明這種存儲器設計方案是可行的。
評論