易灵思开发注意事项和常见问题
易灵思开发注意事项和常见问题
易灵思开发注意事项和常见问题
1)新建工程时需要选择芯片型号对应的时序模型,该时序模型根据芯片右上角的丝印确认,如下图所示丝印为 I4,表示工业标准的第四个等级
修改时序模型
常见问题
措施:将该补丁去掉后再运行;
3)在运行官方 i2cMasterDemo 时,使用易灵思片内逻辑分析仪抓取 I2C 波形,scl 和 sda 一直为高电平;
原因:使用易灵思片内逻辑分析仪会降低运行性能,该逻辑分析仪最大采样频率为 200M,在资源不拥塞的情况下,运行频率最大能到
450M,500M 时很容易出现时序违例造成系统运行异常;资源拥塞时勉强能到 300M,350M 时就容易出现出现时序违例造成系
统运行异常;
措施:在满足产品定义的情况下,尽量降低系统时钟频率,易灵思的芯片定位如此;
原因:易灵思综合器为了节省片上资源,会通过优化算法将一些认为不重要的变量优化掉,导致运行结果不符合预期;
7)lvds 解串数据不稳定,无法稳定得到数据帧;
原因:解串器没有遵循时序逻辑,输出结果有误码现象;
措施:保证解串相关时钟由同一个锁相环产生,同时解串时钟相位偏移 90 度;
9)下载新的 fpga 配置文件后软核裸机固件运行出现 crash 死机;
原因:易灵思编译器长时间工作出现编译异常,导致生成的配置文件出现时序问题;
措施:重启电脑;
原因:有一个参考 sensor lvds 时钟的 pll,该 pll 的 locked 信号控制着 phy 相关模块的复位功能,由于未对 lvds 做配置不能输出
时钟,造成 phy 相关模块功能异常;
措施:让该 pll 参考其他有效时钟,或者初始化 sensor 都能解决该问题;
措施:给芯片加散热片,将温度控制到 60 度以内;
措施:将系统时钟提高到 65M;
19)连续出图半小时左右概率出现烂图现象;
原因:udp 发送状态机的 busy 状态存在跨时钟域情况,软核运行在 65M 的时钟域,去读取运行在 125M 时钟域的 udp 输出的
busy 状态,在 udp 状态切换情况下,软核读取的 busy 值存在毛刺,导致状态读取异常;
原因:dma 接收数据过程中被停止出图命令打断,造成内部状态机异常;
25)非阻塞赋值不符合时序要求,变成了组合逻辑,导致图像显示异常(每行的最后一拍的的几个像素拜耳排列未同步);
原因:always 语句中有敏感信号未参与相关触发器的逻辑控制,编译器优化后将非阻塞逻辑变成了阻塞逻辑;