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

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

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

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

Memory type选择简单双口ram,memory size设置位宽8bit深度1024。

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

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

然后编写顶层文件并且在顶层例化PLL和RAMA、RAMB。

顶层文件中主要是对ram的输入口进行时序操作,包括ramA、ramB的读地址,写地址、使能信号和输入输出数据,详细代码笔记中不再赘述,可以直接参考代码。

可综合模块编写完成后,编写仿真模块并使用仿真软件进行仿真。

由于本次工程使用到了安路的IP库,因此也需要在modelsim中添加相应的安路仿真库,添加方法如下:

首先在modelsim的安装目录下面编辑modelsim的初始化文件modelsim.ini,右键属性后,将它的只读属性取消,然后用文本文件(本工程使用的是notepad++)编辑。

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

在modelsim.ini的[library]列表下添加安路的仿真库文件目录,安路所有的仿真库文件都在安路的编译软件TD安装目录下的sim文件夹中,此处将其所有的库文件都复制进了modelsim的文件夹里,若不复制,也可直接输入安路文件夹的路径。

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

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

保存后退出,打开modelsim并创建工程,编译通过后,进入仿真步骤,在simulate状态栏下选择start simulate,如下图:

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

选择后进入到如下页面:

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

选择仿真的顶层并且关闭优化选项。

同一个窗口打开libraries页面并在search libraries栏右侧选择add,下拉列表选择对应的ef3的库文件。

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

设置完成后点击OK进入仿真即可。

本次实验中遇见问题和调试如下:

01

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

刚开始pll没有输出信号,因此打开了pll查看波形发现pll波形如下:

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

发现是置位了reset信号导致的,查看代码发现如下:

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

复位信号直接连接到了pll的置位信号,由于复位信号是低电平有效而置位信号是高电平有效,因此导致了pll一直处于复位的情况。更改后,直接将pll复位信号置0,代码和仿真结果正常,如下所示:

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

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

02

PLL问题解决后,观测数据整体读写情况。

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

初步观测可以发现,rama读使能信号只转变了一次,而ramb的读使能始终未能跳变,返回代码查看发现:

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

逻辑判断时未将rama的写使能信号置1的条件写出来。

ramb的写使能同理:

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

修改后,代码如下:

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

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

波形仿真如下:

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

粗看基本符合rama、ramb交替读写的功能,观测rama、ramb时序交替细节。

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

在rama和ramb写使能信号转换时,发现空了一拍,再查看代码,发现rama、ramb写使能在条件判断时,使用的判断逻辑是不一样的,导致ramb_wren的置位会在rama_wren置位后的下一拍进行。

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

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

因此更改ramb_wren的判断条件,使之与rama_wren的一样,都以写地址为条件判断再仿真。

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

可观测到,时序正常。

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

quick start & GPIO Demo

本次demo实现功能如下:FPGA控制LED D1闪烁,MCU控制LED D2常亮。

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

发表评论

0条评论,0人参与

请输入评论内容...

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

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

暂无评论

暂无评论

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

    粤公网安备 44030502002758号