今晚把各個(gè)顯示的字符都DIY上去了,不過(guò)在某些藍(lán)色字符附近出現(xiàn)了許多意外的神秘藍(lán)點(diǎn),如下: 上面一共四個(gè)Ch字符中,只有Ch2是完全沒(méi)有問(wèn)題的,特權(quán)同學(xué)就感覺(jué)很納悶了,為什么同樣的16個(gè)Ch字符,就這幾個(gè)出現(xiàn)這些神秘的藍(lán)點(diǎn)。家中的LCD專家還特地給分析了,這個(gè)Cha前面的點(diǎn)那是四個(gè)像素的藍(lán)點(diǎn)在一起,覺(jué)得不是壞點(diǎn),那一定是認(rèn)為打上去的。換我的話說(shuō),那是FPGA給送上去的點(diǎn)。所以回頭來(lái)顯示走讀代碼找問(wèn)題,一通找,最后還是沒(méi)發(fā)現(xiàn)什么不對(duì)的地方。因?yàn)闀r(shí)序約束后還都有較大的余量,所以這個(gè)原因排除,而這個(gè)字模是存儲(chǔ)在M4K配置的ROM里的,所以問(wèn)題很可能和它有關(guān)系,ROM的配置后又一個(gè)可選的輸出數(shù)據(jù)是否要讓輸入時(shí)鐘打一拍,默認(rèn)是打一拍,我一直以為這里的打一拍不打一拍問(wèn)題不是很大,不打一拍,送完地址的第二個(gè)時(shí)鐘周期出數(shù)據(jù),而打一拍應(yīng)該是送完地址的第三個(gè)時(shí)鐘周期出數(shù)據(jù),所以也沒(méi)太在意。 無(wú)奈之下只能重新讓ModelSim里幫忙找問(wèn)題,再次進(jìn)行后仿真,這次就抓住出問(wèn)題的地方,本想找掃描到的點(diǎn)位置送出來(lái)的數(shù)據(jù)是否正確。結(jié)果由于這個(gè)時(shí)間也太長(zhǎng)了,咱等不起,索性就認(rèn)真的就ROM的時(shí)序做起了文章,這一看可不要緊,問(wèn)題浮出水面。 第1條是ROM的輸入時(shí)鐘; 第2條是ROM1的地址(輸出數(shù)據(jù)沒(méi)有用時(shí)鐘打一拍); 第3條是ROM1的輸出數(shù)據(jù); 第4條是ROM2的地址(輸出數(shù)據(jù)打了一拍); 第5條是ROM2的輸出數(shù)據(jù)。 ROM1里,地址001的數(shù)據(jù)是0710,地址002的數(shù)據(jù)是0808;ROM2里地址2d的數(shù)據(jù)是02000000。我想問(wèn)題就出來(lái)了,對(duì)于ROM1在第一個(gè)時(shí)鐘上升沿送完地址后(延時(shí)一點(diǎn)到達(dá)),第二個(gè)時(shí)鐘上升沿雖然數(shù)據(jù)出現(xiàn)了,但是我們的時(shí)鐘是采不到的,它是在第二個(gè)時(shí)鐘上升沿的建立保持時(shí)間后才出現(xiàn)在總線上的,所以真正意思上讀出數(shù)據(jù)的時(shí)間應(yīng)該是時(shí)鐘的第三個(gè)上升沿。ROM2也類似,由于內(nèi)部時(shí)鐘打了一拍,所以它比ROM1要再慢一個(gè)時(shí)鐘周期。這就是我的問(wèn)題所在,換句話說(shuō),字模數(shù)據(jù)顯示位置整個(gè)右移了一個(gè)坐標(biāo)。 隨后,地址再早一個(gè)時(shí)鐘周期置位,問(wèn)題解決了。 今晚過(guò)后,整個(gè)就下面的一個(gè)效果。 采樣模式顯示。 采樣周期可調(diào),從10ns到100us可調(diào)。 三種采樣模式顯示。 |