最近据客户反映,在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