最近據客戶反映,在lattice官網上下載的例程代碼,在綜合的時候報錯。客戶下載的是官網MIPI csi2 發送的代碼,具體名字叫CSI2TXReferenceDesign。當下載下來編譯綜合的時候就報了
net n2 is constantly driven from multiple places at instance genblk2.u_pll_pix2byte_RAW10_2lane, on port RST. VDB-1000
Done: error code 2
或者
ERROR - logical block 'u_BYTE_PACKETIZER/crc_15__I_0' with type 'crc16_2lane_16d33800' is unexpanded.
Done: error code 2
或者
Done: error code 2(這個錯誤更扯淡,直接報錯,但是不告訴你什么錯,根本就沒法查找)
因為這幾個信號又是以網表的形式封裝起來的,使得用戶無法查詢,問題的根源在哪里。lattice敢放到官網的代碼,肯定是通過驗證的。但是為何有編譯出錯呢?經過查找調試,發現實際上這是一個綜合工具不兼容的問題。說白了還是lattice做的綜合工具Lattice LSE比較爛,只要把綜合工具修改為synplify pro,重新編譯就可以通過了。實際上呢,原廠的人也考慮到自己綜合工具不是很給力,所以他們在寫例程綜合調試的時候,也是選擇synplify pro,所以就導致了用戶在安裝diamond的時候一直默認,沒有將綜合工具修改為synplify pro,然后綜合的時候就出現了上述錯誤。
修改綜合工具的辦法project---active implementation---select synthesis tool--- synthesis tool---synplify pro
如有疑問請聯系QQ:825972925