接上一篇文章的第10節
之前完成了功能仿真,下面我們進行綜合實現。
10.1.1 綜合
綜合成功。
實現試試
這真是令人悲傷……找Bug吧。
我們看看綜合后的門級網表。
發現綜合后的并不是我們想要的……看了看可能是綜合的目錄錯誤,我們再試試。
不是這個原因……
單元測試每一個模塊,綜合都沒問題,為啥連起來就不行了?
可能因為沒有輸出??
我們先把之前的寄存器堆初始化該回去,默認全0.
再讓ALUresult暫時作為輸出試試。
沒有輸出的模塊是沒用的!也可能是把synthesis搞傻的原因…… 就像是算法要求至少一個輸出,沒用輸出的話沒得玩了。我們改改試試。
比之前好一些,但是還是有問題,沒有控制器……
不知道為啥……
10.1.2 實現
繼續進行,先實現試試看。
居然成功了,就是不知道對不對,之后還得實現驗證,也沒準可能synthesis的時候將控制器弄沒了?不得而知……
關于實現這些,我們后面再說。
小結
行為仿真正確后進行綜合,之后要查看相關報告,看看對不對,沒問題之后,再進行實現,再查看對不對,最后再下載實現驗證。
既然每個單元都可以綜合,那就是頂層文件設計有問題!去哪里找找。
進一步測試
之后發現,綜合之后,不是實現,而應該進行綜合仿真。
- 綜合后功能仿真
- 綜合后時序仿真
然后發現,雖然控制器消失了,但是沒什么問題,結果依然正確,
- 功能仿真與之前的結果一樣
- 時序仿真有些不同
注意點
- 綜合的是top設計文件
- 仿真的是top仿真文件
需要更改頂層文件,可以右鍵單擊,然后點
set as top
最后,時序仿真有什么問題呢?
出現了很多詭異的點,可能是毛刺,也可能是變化不同步……
以后再解決吧!目前知識水平達不到這個地步,先放放
實現之后管腳分配,還有下載驗證……以后再說。
目前來說,這些可能的毛刺,不影響結果,但是會影響主頻提升,那就是高端操作了,現在不合時宜。