技术文章:FPGA杂记之基础篇二及Demo案例
Memory type选择简单双口ram,memory size设置位宽8bit深度1024。
设置完成后,生成的module声明如下。(完整模块可参考代码)
然后编写顶层文件并且在顶层例化PLL和RAMA、RAMB。
顶层文件中主要是对ram的输入口进行时序操作,包括ramA、ramB的读地址,写地址、使能信号和输入输出数据,详细代码笔记中不再赘述,可以直接参考代码。
可综合模块编写完成后,编写仿真模块并使用仿真软件进行仿真。
由于本次工程使用到了安路的IP库,因此也需要在modelsim中添加相应的安路仿真库,添加方法如下:
首先在modelsim的安装目录下面编辑modelsim的初始化文件modelsim.ini,右键属性后,将它的只读属性取消,然后用文本文件(本工程使用的是notepad++)编辑。
在modelsim.ini的[library]列表下添加安路的仿真库文件目录,安路所有的仿真库文件都在安路的编译软件TD安装目录下的sim文件夹中,此处将其所有的库文件都复制进了modelsim的文件夹里,若不复制,也可直接输入安路文件夹的路径。
保存后退出,打开modelsim并创建工程,编译通过后,进入仿真步骤,在simulate状态栏下选择start simulate,如下图:
选择后进入到如下页面:
选择仿真的顶层并且关闭优化选项。
同一个窗口打开libraries页面并在search libraries栏右侧选择add,下拉列表选择对应的ef3的库文件。
设置完成后点击OK进入仿真即可。
本次实验中遇见问题和调试如下:
01
刚开始pll没有输出信号,因此打开了pll查看波形发现pll波形如下:
发现是置位了reset信号导致的,查看代码发现如下:
复位信号直接连接到了pll的置位信号,由于复位信号是低电平有效而置位信号是高电平有效,因此导致了pll一直处于复位的情况。更改后,直接将pll复位信号置0,代码和仿真结果正常,如下所示:
02
PLL问题解决后,观测数据整体读写情况。
初步观测可以发现,rama读使能信号只转变了一次,而ramb的读使能始终未能跳变,返回代码查看发现:
逻辑判断时未将rama的写使能信号置1的条件写出来。
ramb的写使能同理:
修改后,代码如下:
波形仿真如下:
粗看基本符合rama、ramb交替读写的功能,观测rama、ramb时序交替细节。
在rama和ramb写使能信号转换时,发现空了一拍,再查看代码,发现rama、ramb写使能在条件判断时,使用的判断逻辑是不一样的,导致ramb_wren的置位会在rama_wren置位后的下一拍进行。
因此更改ramb_wren的判断条件,使之与rama_wren的一样,都以写地址为条件判断再仿真。
可观测到,时序正常。
quick start & GPIO Demo
本次demo实现功能如下:FPGA控制LED D1闪烁,MCU控制LED D2常亮。
图片新闻
最新活动更多
-
11月22日立即报名>> 【线下论坛】华邦电子与莱迪思联合技术论坛
-
即日-11.30免费预约申请>>> 燧石技术-红外热成像系列产品试用活动
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
即日-0120限时下载>>> 爱德克(IDEC)设备及工业现场安全解决方案
-
限时免费下载立即下载 >>> 2024“机器人+”行业应用创新发展蓝皮书
推荐专题
- 1 同源共创 模式革新 | 华天软件皇冠CAD(CrownCAD)2025新品发布会圆满举行
- 2 上海国际嵌入式展暨大会(embedded world China )与多家国际知名项目达成合作
- 3 史上首次,大众终于熬不住开启40亿降本计划!关3个工厂,裁员万名...
- 4 iEi威强电新品丨IMBA-AM5:工业计算的强劲引擎
- 5 守护绿色学习空间,EK超低温热泵服务对外经济贸易大学图书馆
- 6 颜值高 有“门”道|贝特威汽车门板内饰AI视觉检测解决方案
- 7 观众登记启动 优解制造未来,锁定2025 ITES深圳工业展
- 8 3大场景解读 | 红外热像仪赋能科研智造创新应用
- 9 揭秘:「全球知名跨境电商」构建核心竞争力的“独门绝技”是?
- 10 这个双十一,买iEi威强电就“购”了!
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论