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

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

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

本文接续上一篇《FPGA杂记基础篇》,继续为大家分享IP例化和几个基于FPGA芯片实现的Demo工程。

IP例化

IP即是一个封装好的模块,集成在相应的开发环境里面,以安路的TD软件为例,不同系列的芯片集成了不同的IP模块,可以通过软件例化调用。

以下是安路TD4.6.5集成的EF3L40CG332B的相关IP。

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

1.1 PLL&RAM

以例化PLL和RAM为例,实现两个异步双口 RAM。

读写时钟都设置 100Mhz, 两个 RAM 为 RAMA 和RAMB, 深度为 1024,位宽为 8bit,写入数据为 8bit,100Mhz 持续数据流, 当 RAMA被写入 1024 字节数据后切换到写 RAMB, RAMB 被写入 1024 字节后切换 RAMA。以此循环类推。

当 RAMA 被写入 1024 字节时, 给读时序提供一个启动信号读取 RAMA 的数据, 读取完 RAMA 的 1024 字节数据时, 切换读 RAMB 以此类推。

这个工程的工程结构如下图:

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

首先EF3L40CG332B_DEV开发板提供了25Mhz的晶振时钟输入到EF3L40CG332B的时钟管脚。

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

想要得到100Mhz的读写速率,需要先用PLL得到倍频时钟。

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

在tools目录下点击IP Generator进入IP core页面,并选择PLL,输入时钟填入板子晶振25Mhz。

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

输出时钟填入所需要的100Mhz,并从C0输出。

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

设置完成后,生成的module声明如下(完整模块可参考代码)

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

再生成ram的IP模块。

在IP core中选择RAM。

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

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

发表评论

0条评论,0人参与

请输入评论内容...

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

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

暂无评论

暂无评论

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

    粤公网安备 44030502002758号