作者:merlin2007 將樣機交給軟件組后,我已經松了口氣。按照已經測試的狀態,我估計最多三五天就會有結果。我已經把注意力轉移到手邊的另一個項目上去了。 部門經理克絲蒂對這個項目并未多問。我過去的每個項目她都參與過。對我的情況很了解。所以她顯得很放心。 兩三天過去,軟件那邊沒有什么消息。我覺得有些奇怪,去打聽也被告知有進展,但還有問題。 又過去幾天,沒等我問,負責軟件的哥們兒找我來了,帶來的卻不是好消息。 據他講,一個奇怪的現象讓他困惑:系統現在已經可以對ASIC進行讀寫。手動單步操作時結果也都正常。但是一旦以批量處理的方式讀出數據,雖然數據可以出來,結果也都正確,但卻總是慢兩拍:第一個讀命令的結果,要到發第三個讀命令時才返回來。 換句話說:早上我在公司打電話訂的早餐,到了晚飯時才給送來。我是吃還是不吃? 晚到的早餐還可以放冰箱里,趕明兒再吃。晚來的數據可沒地兒交代,我這兒沒冰箱,過時不候啊!那能把一頓飯耽誤兩個飯點兒得不少活兒那,我這FPGA沒這么大的道行啊! 開始我以為是他用的板子有毛病。可是換了幾個板子情況都一樣。又在模擬的環境下反復核對了結果,仍然沒有發現任何問題。 這事兒進入了一個怪圈:當你試圖去檢查測試這個故障時,不論你怎么折騰,結果都是正確的。可當你把它置于正常運行狀態時,不論你用什么辦法,問題總是在那。 邪了門兒了! 軟件的那個哥們也沒轍了:“這送餐的說不定在路上哪兒堵車給耽誤了。要不,咱晚點兒下班,多等會兒?” 他的意思是,在他的讀操作里,加上兩個周期的延遲,以便能和返回的數據對上。但是,問題是我們現在根本不清楚造成這種現象的原因。你現在加上兩個周期,哪天它想不開又給你變成三個了,你怎么辦?總不能追著屁股后面跟著改吧! 再說,那也不叫個活兒呀。 我堅持認為,是軟件里有問題。如果硬件有問題,在測試平臺上怎么都正常?在系統中手動操作怎么也正常? 然而,試著用了幾種方法,還是不能發現軟件哪有什么不對。 。。。 時間已經過去了好幾天,還是毫無頭緒。我開始有些不耐煩,和軟件的哥們兒商量時也不太客氣了: “這個寄存器要先寫后讀,你是這么做的嗎?“ “這組寄存器的地址邊界被設在xxxx, 不會弄錯吧?“ “返回的數據是按照協議的規定重新組合的嗎?會不會哪反了?“ ,,, 搞軟件的那個哥們兒脾氣好,對我這些有理沒理的質問都沒有辯解,只是一遍又一遍地檢查,反復試各種方法驗證。。。 仍是不見一絲曙光! 我的感覺好像是走夜路的人迎面碰上了一簇鬼火,在我面前晃來晃去躲不開。可要是伸手去打,卻死活夠不著。 克絲蒂有點兒沉不住氣了。按照以往經驗,早該有戲了。即使不成,也應該知道問題在哪,著手解決了。她開始一次又一次地詢問情況。雖然沒有催促,但顯然不像開始時那樣沉著了. “I just got a call from San Jose,… xxx asked about this …” 她說。上一級的主管在San Jose. 他打電話來問,肯定也知道了事情進行的不順利。 頭上的壓力越來越大,我開始有些亂了章法了。 原本信心滿滿,想速戰速決,沒想到是今天這個局面。 ,,, 期望中痛快淋漓的殲滅戰沒有出現。閃擊不成,卻進入了殘酷無比,膠著的巷戰,一步步的頂牛。在我面前橫著的,好像是格羅尼茲血染的街道,四平街那座撒滿黃豆的天橋。。。更可怕是此時的攻擊已經失去了明確的目標。四面都是敵人,卻無從下手,舉步維艱。 時間一分一秒的過去,局勢卻不見絲毫的改觀。。。 打僵了! |