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软件破解之后,想用来编译原来编译过的工程,但是编译到最后出现下面两个错误警告: 原来以为没有破解成功或者安装的时候有文件被杀毒软件吃了,导致安装错误,又重新安装了两次都 ...
随机推荐
- CF524F And Yet Another Bracket Sequence 题解
题目链接 算法:后缀数组+ST表+贪心 各路题解都没怎么看懂,只会常数巨大的后缀数组+ST表,最大点用时 \(4s\), 刚好可以过... 确定合法序列长度 首先一个括号序列是合法的必须满足以 ...
- 《逆向工程核心原理》——IAThook
hook逻辑写入dll中,注入dll. #include "pch.h" #include <tchar.h> #include "windows.h&quo ...
- 攻防世界 reverse serial-150
serial-150 suctf-2016 直接使用ida发现main函数中夹杂大片数据,应该是自修改代码,动态调试: 调试中发现,输入为16位,验证方法为:从头开始取一字符进行比较,比较通过检验后, ...
- Joomla框架搭建&远程代码执行(RCE)漏洞复现
一.漏洞描述 Joomla是一套内容管理系统,是使用PHP语言加上MYSQL数据库所开发的软件系统,最新版本为3.9.8,官网: https://downloads.joomla.org/,漏洞位于根 ...
- Android Studio配置colors.xml
•colors.xml <?xml version="1.0" encoding="utf-8"?> <resources> <! ...
- 启用reuse_port参数让Nginx性能提升3倍
为什么启用 reuse_port 记得 2008 年做性能测试的时候,新进7台 lenovo 4核4G 服务器用于性能测试. 当时资源紧张,这7台服务器都装了双系统(Win2003/CentOS5)空 ...
- 使用 docker 进行 ElasticSearch + Kibana 集群搭建
在Docker容器中运行Elasticsearch Kibana和Cerebro 机器信息 10.160.13.139 10.160.9.162 10.160.11.171 1. 安装docker和d ...
- Recoil 默认值及数据级联的使用
Recoil 中默认值及数据间的依赖 通过 Atom 可方便地设置数据的默认值, const fontSizeState = atom({ key: 'fontSizeState', default: ...
- [Fundamental of Power Electronics]-PART I-5.不连续导电模式-5.2 变比M分析
5.2 变比M分析 经过一些改进,第二章中的用于CCM稳态分析的相同技术和近似方法可以应用于DCM. (a)电感伏秒平衡.电感电压直流分量必须为0: \[<v_{L}>=\frac{1}{ ...
- 消息中间件-RabbitMQ消息可靠性和插件化机制
package com.study.rabbitmq.a132.confirm; import com.rabbitmq.client.*; import java.io.IOException; i ...