Nios II系统在Quartus II编译后Timing requirements for slow timing model timing analysis were not met. See Report window for details
前言:
在DE2-70,随便一个Nios II系统在Quartus II编译后,几乎都会遇到1个critical warning:“Critical Warning: Timing requirements for slow timing model timing analysis were not met. See Report window for details.”,该如何解决呢?
说明:
使用環境:Quartus II 8.1 + Nios II EDS 8.1 + DE2-70 (Cyclone II EP2C70F896C6N)
在研究Nios II系统的过程中,在从DE2平台转移到更强大的DE2-70平台时,有一个很恼人的问题,随便一个Nios II系统,编译几乎都会有1个critical warning:
Quartus II的warning尚可忽略,但critical warning就没办法再装做不看到了吧?虽然Nios II执行结果正确,但看到这个critical warning总是很碍眼。
经仔细研究发现,原来是经过Quartus II合成后,时序无法满足要求。
原本以为是自己的code有问题,可是将DE2-70 CD 4个包含Nios II系统的范例拿来编译,除了DE2_70_SD_Card_Audio_Player正常外,其他3个范例也都有critical warning。
DE2_70_NET
DE2_70_NIOS_DEVICE_LED
DE2_70_NIOS_HOST_MOUSE_VGA
DE2_70_SD_Card_Audio_Player (正常)
看到连DE2-70 CD的范例本身都有这个问题时,可以确定不是自己的code有问题。
“为什么这个时序无法满足的需求,在DE2都不会遇到呢?而且在Quartus II也增加了constraint,希望Quartus II能合成出Fmax为100MHz的系统,但是Quartus II怎么也合不出需要的100MHz?”
Pipeline Bridge与Altera提出的架构,可以解决这个恼人的问题。
Pipeline Bridge是什么东西?
Bridge的观念是Quartus II 7.1之后才提出的,就是为了解决Nios II系统Fmax低落的问题,由上图可知,一些较慢的slave都透过Pipeline Bridge与master沟通,而不像传统一样,每个master都与slave有专属的通道。
为什么这样就能增加Fmax呢?
主要有两个原因:
1.传统的master与slave因为有专属通道,所以有最大的concurrency,只要master不要同时存取同一个slave即可,但也增加了系统的复杂度,所以Fmax拉不高,若系统对于慢速的slave没有大量concurrency的要求,使用bridge可以降低系统的复杂度,并且提高Fmax。
2.Pipeline Bridge对于Avalon Bus的信号,如address、writedata、write、read、byteenable、chipselect、burstcount、readdata、readdatavalid与waitrequest都加上了pipeline register,所以可以拉高Fmax。
这只是最初步的解释而以,更详细的解释可以在Quartus II Handbook 8.1 vol.4的Chap.11 Avalon Memory-Mapped Bridges找到。
最后Fmax达到102.44MHz,critical warning也不见了。
原来没有使用pipeline bridge,尽管constraint已经调到100MHz,但Quartus II最后只能合成出68.35MHz
“哇!!竟然一行code都没改,Fmax就从68.35MHz变成102.44MHz,真是太神奇了”。
结论:
Bridge是个很有弹性的东西,巧妙的使用bridge架构整个系统,将有助于整体效率,在的ch.6,也提到Bridge使用的一些guideline,又兴趣的人可以参考。
Nios II系统在Quartus II编译后Timing requirements for slow timing model timing analysis were not met. See Report window for details的更多相关文章
- Quartus II中的Waring(转)
1.Found clock-sensitive change during active clock edge at time <time> on register "<n ...
- Quartus II 中 Verilog 常见警告/错误汇总
Verilog 常见错误汇总 1.Found clock-sensitive change during active clock edge at time <time> on regis ...
- [转载]Quartus ii 一些Warning/Eeror分析与解决
我会在此基础上继续添加 原文地址:ii 一些Warning/Eeror分析与解决">Quartus ii 一些Warning/Eeror分析与解决作者:yanppf 注:http:// ...
- quartus II Warning 好的时序是设计出来的,不是约束出来的
一.Warning (15714): Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings r ...
- DE1-SOC开发板上搭建NIOS II处理器运行UCOS II
DE1-SOC开发板上搭建NIOS II处理器运行UCOS II 今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过 ...
- Nios II 系统时钟timestamp的应用
在用Nios II做外设时序驱动的时候,经常会用延时函数.有时会常使用某个FPGA芯片和时钟,比如笔者一直使用的芯片是cyclone系列 EP2C35F484C8N,PLL输入SOPC时钟是50M.因 ...
- 关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法
关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法 近期在评估使用NIOS II处理器进行项目的 ...
- Nios II IDE代码优化,quartus ii 11.0版本IDE
开发Altera Nios II软件可使用Nios II IDE或 Nios II Software BuildTools for Eclipse(即:Nios II SBT for Eclipse) ...
- Quartus ii 12.1软件破解之后编译原有的工程出现报警错误的解决办法
在Quartus ii 12.1软件破解之后,想用来编译原来编译过的工程,但是编译到最后出现下面两个错误警告: 原来以为没有破解成功或者安装的时候有文件被杀毒软件吃了,导致安装错误,又重新安装了两次都 ...
随机推荐
- warpperspective 透视变化的opencv实现
warpperspective 透视变化的opencv2.0实现 1st-------2nd | | | | | |3rd-------4th 原始代码 cv::Mat sr ...
- Python—关于Pandas缺失值问题(国内唯一)
获取文中的CSV文件用于代码编程以及文章首发地址,请点击下方超链接 获取CSV,用于编程调试请点这 在本文中,我们将使用Python的Pandas库逐步完成许多不同的数据清理任务.具体而言,我们将重点 ...
- 致命错误:Python.h:没有那个文件或目录
yum search python3 | grep dev sudo yum install python3xxx-devel
- 从零搭建一个IdentityServer——会话管理与登出
在上一篇文章中我们介绍了单页应用是如何使用IdentityServer完成身份验证的,并且在讲到静默登录以及会话监听的时候都提到会话(Session)这一概念,会话指的是用户与系统之间交互过程,反过来 ...
- [GDKOI2021] 提高组 Day 2 总结
[ G D K O I 2021 ] 提 高 组 D a y 2 总 结 不明的感觉今天的题比昨天的简单些,感觉今天爆炸的可能性很低. 嗯,于是乎,就很自信地打完了比赛.然后下午 ...
- 【软件推荐】使用Cmder替换Windows自带的控制台
安装地址 进入cmder官网,下载相应版本. 如果本地已经安装了git,可以选择mini版本. 将 λ 替换为 $ 当前cmder默认的提示符是λ,看上去总是有点不习惯. 打开cmder目录下的ven ...
- Sentinel全局Feign默认熔断设计实现
写在前面 用XMind画了一张导图记录Spring Cloud Alibaba的学习笔记(源文件对部分节点有详细备注和参考资料,由于太大就没展示全部,欢迎关注我的公众号:阿风的架构笔记 后台发送[导图 ...
- 我成为 Microsofti Azure MVP 啦!(ps:不是美国职业篮球)
一,引言 今天是个高兴的日子,早上10点左右收到了来自微软的MVP的礼包的快递,对我来说,这是一件很值得纪念的日子.所以今天就水一篇心得感想吧!!! 我是年前2月9号开始申请MVP的,经历了差不多1个 ...
- 【Java并发】1. Java线程内存模型JMM及volatile相关知识
Java招聘知识合集:https://www.cnblogs.com/spzmmd/tag/Java招聘知识合集/ 该系列用于汇集Java招聘需要的知识点 JMM 并发编程的三大特性:可见性(vola ...
- Unity 渲染流水线 :CPU与GPU合作创造的艺术wfd
前言 对于Unity渲染流程的理解可以帮助我们更好对Unity场景进行性能消耗的分析,进而更好的提升场景渲染的效率,最后提升游戏整体的性能表现 Unity的游戏画面的最终的呈现是由CPU与GPU相互配 ...