折腾了近一个星期的代码,终于调通了。显示屏总算输出正常了,简直开心到飞起啊,哈哈哈哈哈哈,虽然只是小事,但还是很有成就感。毕竟一次次上电一次次失望,累积起来更多的期望。自己写的bug,跪着也要改完!
正题,总结一下。
-------------------------------------------------分割线-------------------------------------------
之前写的代码,因为只用做最后仿真探取数据,所以并未考虑信号与数据同步的问题,仿真结果出的那么多数据,用matlab对比出的结果往往注重的是整体。到真正上板接显示屏的时候问题就显而易见了,显示屏的电源信号灯都没有被点亮,说明并没有数据通过。之前说过的添加system ila核,open hardware manager,触发。在这里为了说明后面出现的问题,放上一张原工程的正确输入数据和信号:检查代码,因为当时写的是user的if条件是输入的user和输出端的valid,ready同时有效时才输出,观察波形并没有这种时候啊。。。所以先去掉这个自以为的条件。。。(这里也强调一点!逻辑清晰真的很重要!很重要!很重要!!!重要的事情说N遍!就拿这个来说,不要急着急着就下手写代码,搞清楚信号的逻辑关系,最好自己在纸上规划好,再去研究怎么实现,不要想一出是一出,想到哪里写哪里。)
第二次问题:正常的ready输入一段有一段无,而我的ready输入就显示一直ready,虽然可以理解为这个模块可能是有那么多余量来ready信号的输入,但师父说这个工程里这个ready信号和另一个模块很大关系,很可能是我的输出有问题,反馈到那个模块,导致后来ready的输入有问题。另一个模块:真的是随手画的,哈哈哈哈哈哈,时间有限,不过要是能熟练使用visio这种画图 工具 还是很有用的。正题,这里由于m_tvalid和m_ready的时序错开,导致输出的数据last部分很可能会丢失。如果last丢失,那反馈到v_tc_0模块的信号也会出错,自然,下来的ready信号也不对。找到了问题所在,那面临的就是要是信号和数据同步,至少last信号对应的确实是last的数据。按照师父的说法,为了避免控制ready信号时的尴尬,我们可以在数据输出时增加一个fifo的IP核,使数据和信号同步输入,同步输出,ready作为输入输出的判断。
接着,加一个fifo,连一些接口(用的还是axis,可以 参考官方手册 ),调试,看schematic的连线。如果有必要可以写一个testbench先做个验证。这里要注意的大概就是接口该wire的要wire吧,总之耐心点看看message和Tcl Console,有错误解决不了可以去xilinx官网的forum里找找。
下午终于上电一次pass了,给我开心的啊。不方便上实物图,就上个正确的仿真图吧。后面还要加一些其他功能,慢慢来吧。攻城狮,对于我最苦的可能是看英文文献的时候吧,datasheet,message,forum这些都是英文版的,还好有翻译软件。。。还有不要浮躁,沉下心。能沉下心,那一切都清晰了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Arduino uno 驱动Nokia5110显示屏
- SimpleGUI v0.0.1 已经发布,针对单色显示屏的 GUI 解决方案
- Node.js模块系统 (创建模块与加载模块)
- 黑客基础,Metasploit模块简介,渗透攻击模块、攻击载荷模块
- 022.Python模块序列化模块(json,pickle)和math模块
- 024.Python模块OS模块
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Mastering Regular Expressions, Second Edition
Jeffrey E F Friedl / O'Reilly Media / 2002-07-15 / USD 39.95
Regular expressions are an extremely powerful tool for manipulating text and data. They have spread like wildfire in recent years, now offered as standard features in Perl, Java, VB.NET and C# (and an......一起来看看 《Mastering Regular Expressions, Second Edition》 这本书的介绍吧!