用lattice 的machXO3L-2100E实现MIPI DSI的转发接口,RX侧HS数据接收很顺利,RX和TX的LP数据发送/接收也顺利,但是TX侧的HS数据一致抓不到,RTL做网表(不带时序)仿真是通过的,怀疑是管脚配置问题,请各位大神帮忙看下我的管脚约束是否OK?先谢谢各位了。。。
(第一次玩FPGA,以前都是直接做IC设计的,FPGA方面很多都是小白)
再详细描述下问题:
现在的目的是想通过MIPI DSI接收图像数据处理后再通过DSI发送给下游的屏,但是发出的数据屏无显示,RTL的前后仿真都做了没问题,但通过DSI去写读屏的寄存器,回读回来第一个BTA之后报DSI sot sync错误或者checksum错误,之后再通过去读就只返回一个ACK了,通过一个比较烂的示波器抓取到DSI的振幅只有100mV左右,所以怀疑是管脚设置有问题,想请教下大家看看管脚设置是否有地方是需要特别注意能影响到输出电流的。
问题已经解决了,虽然我还是不太明白是如何解决的,但是至少高速读写OK,图像也能正常发送到屏了。。。贴上我的最终管脚设置,顺便说一下解决的过程吧:
1.在网上找了一篇华为的FPGA代码规范,把自己的代码重新撸了一遍
2.撸一遍后的代码在active HDL上跑后仿,调整TX的输出约束,保证至少仿真波形看到的hs高速输出时钟边沿一定在数据中间
3.在调节管脚电压和驱动时,由于没啥经验一直怎么调都不OK,示波器上看到的高速振幅一直不够,一气之下,把所有管脚电压和驱动调到最大。。。然后就通了。。。通了。。。。
贴上我的约束:
欢迎各位大神继续指点。。。。
LP虽然有1.2和2.5,但是不影响Lp,不过现在看来影响到了HS。。。