工作踩坑记录(一)

学习心得与工作感悟(2019-10-13)

本人双非渣渣,以此博客来记录自己在工作和成长的点点滴滴,犯过很多的低级失误,也会分享一些技术贴,能力不强,欢迎大佬指点。

工作记录感悟

刚毕业两个月,最近忙着和老大进行项目验收大纲的编写,之前看代码的时候没有这么深的感悟,当我写代码的时候各种低级失误不断,很感谢有我的老大耐心的指导,最近被我气的血快吐出来了。
1.最近我根据大的程序框架分割小的测试代码,进行验收大纲的指标校验,今天调试 4X AURORA碰到了一个问题,把数据送到数据口,AURORA没有输出(Z7与V7之间有两组4X AURORA)测试了很久没有发现问题,原因是我们在大工程下面为了测试AURORA,在AURORA接口有两组数据流 我是直接选择aurora_data进行数据输出,直接忽略了下面的这句话,VIVADO综合之后不清楚数据来源,导致数据一致输出不出去。

2.我们采用的Z7的芯片,PS与PL交互用的是低速EMC接口(传的是UART数据),我们需要通过PS收数,PS将数据传到PL端,PL进行位宽转换和跨时钟域处理,然后送到Z7的4X aurora,V7的4X aurora 收到数据,通过Z7与V7的另一组 4X aurora送回Z7,z7通过EMC接口送到PS端,然后通过网口打印。比较数据的一致性。在通过z7的第二组4X aurora收到数据后,进行位宽和时钟域转化(aurora 使用125M时钟,位宽是256,PS端时钟是100M,数据位宽32,但是我只要PS的低8位,和UART数据位宽一样),之后PS读FIFO的数据。在PL抓数据发现送到PS接口的数据都是正确的,在PS使用emc_read函数读出来的数据是乱码,第一次认为是读取数据格式的问题,进行数据的强制转换,发现数据还是存在严重的误码。原因是emc_read读取是还有四个时钟周期,只需要使能其中一个周期就可以,不用进行一直读(是PS进行读使能,输出的信号控制PL的FIFO的读使能,FIFO暂存PS和PL的数据)。
3.10G aurora对数据包进行传输,数据包格式为_包头+三个16位数据+10位100M脉冲信号_ z7发送,V7进行接收解包还原。刚开始编写V7解包程序,进行V7 aurora 解包,软件会不断提示XDC文件约束不正确,发现文件的XDC是正确的,查找发现在module port定义是input类型声明定义为output类型 最近一直犯这种错误,头脑不清楚,好烦 也发现软件真的不是万能的,有些错误在开始写的时候就应该避免

你可能感兴趣的:(工作踩坑记录)