侵权投诉
搜索
更多>> 热门搜索:
订阅
纠错
加入自媒体

技术文章:FPGA杂记之基础篇二及Demo案例

2020-12-11 16:03
润欣科技
关注

【技术分享】FPGA杂记之基础篇二及Demo案例

【技术分享】FPGA杂记之基础篇二及Demo案例

3.4 顶层

【技术分享】FPGA杂记之基础篇二及Demo案例

3.5 仿真

【技术分享】FPGA杂记之基础篇二及Demo案例

【技术分享】FPGA杂记之基础篇二及Demo案例

【技术分享】FPGA杂记之基础篇二及Demo案例

本次仿真使用到了task语句,task语句通常在当仿真时需要给输入变量特定的输入值时使用,例如本次仿真对rx端进行赋值。

3.6 仿真结果及问题排查

Rx端:

整体波形如图:

【技术分享】FPGA杂记之基础篇二及Demo案例

查看细节如下:

【技术分享】FPGA杂记之基础篇二及Demo案例

当rx=1时,输出的o_data并行数据在o_flag = 1(即表示传输结束)时也为1,结果正常。

Tx端:

整体波形如下:

【技术分享】FPGA杂记之基础篇二及Demo案例

上图很明显可以看出tx端传输有问题,当tx发送起始位(即拉低)后,没有将数据输出。观测其他信号波形,基本正常。可见问题大概率出现在tx赋值部分,一开始以为是发送数据位的条件判断有问题,检查代码,数据传输时的判断条件如下:

【技术分享】FPGA杂记之基础篇二及Demo案例

查看波形发现该条件可以被满足。

【技术分享】FPGA杂记之基础篇二及Demo案例

后来查看起始位的发送条件时发现了错误:

【技术分享】FPGA杂记之基础篇二及Demo案例

起始位发送要与tx_en同步。假设条件使用tx_en判断,则会比tx_en慢一拍。

另外,不能使用tx_en == 1'b1作为发送起始位的判断条件,因为tx_en 在数据发送时一直为1,这样tx端会恒为0,修改后代码如下:

【技术分享】FPGA杂记之基础篇二及Demo案例

再观察波形正常。

【技术分享】FPGA杂记之基础篇二及Demo案例

【技术分享】FPGA杂记之基础篇二及Demo案例

3.7 上板最终效果

代码下载进开发板后,在串口调试助手中可以正常收发数据,如下:

【技术分享】FPGA杂记之基础篇二及Demo案例

文章来源:润欣科技Fortune微信公众号

<上一页  1  2  3  4  5  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号