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