求教各位大神 Quartus II在哪里看最高频率最高的cpu和最长路径

Quartus II 中常见Warning 及解决方法(转载)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Quartus II 中常见Warning 及解决方法(转载)
你可能喜欢 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
Quartus II
11 0官方教程(中文版)
下载积分:30
内容提示:Quartus II
11 0官方教程(中文版)
文档格式:PDF|
浏览次数:615|
上传日期: 02:04:57|
文档星级:
全文阅读已结束,如果下载本文需要使用
 30 积分
下载此文档
该用户还上传了这些文档
Quartus II
11 0官方教程(中文版)
关注微信公众号quartus ii 怎么看仿真出来的信号频率是多少_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
quartus ii 怎么看仿真出来的信号频率是多少
我有更好的答案
baidu先看周期,周期的倒数就是频率啊;第二个波形周期是40ns&nbsp.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http://b.hiphotos./zhidao/pic/item/9f2fa83a61ceaf0b2;频率就是25MHz<a href="http://b!&/zhidao/wh%3D600%2C800/sign=54d0ef84d539bb1df2fa83a61ceaf0b2.jpg" esrc="http://b.hiphotos.baidu
采纳率:47%
为您推荐:
其他类似问题
信号频率的相关知识
等待您来回答后使用快捷导航没有帐号?
请完成以下验证码
查看: 2260|回复: 5
quartus ii 里在哪里看程序跑的速度是多少呢?
在线时间73 小时
TA的帖子TA的资源
一粒金砂(高级), 积分 310, 距离下一级还需 190 积分
一粒金砂(高级), 积分 310, 距离下一级还需 190 积分
我是一名FPGA初学者,最近在论坛上大家都在谈论程序跑的速度,随后我也去看了看 但是就是不知道在quartus ii 里怎么去看?所以在此向各位请教,有quartus ii&&的歩骤更好 谢谢了哈
在线时间490 小时
威望9087分
芯币12383枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 9087, 距离下一级还需 913 积分
五彩晶圆(高级), 积分 9087, 距离下一级还需 913 积分
快捷徤盘ctrl+r
版主,按了ctrl + r 后然后出来一个编译报告,然后又怎么看了呢
我怎么还是没看到程序跑的速度呢(4楼我上传了编译报告图片)&
一个为理想不懈前进的人,一个永不言败人!
欢迎光临网上店铺!
在线时间561 小时
芯币2248枚
TA的帖子TA的资源
一粒金砂(中级), 积分 189, 距离下一级还需 11 积分
一粒金砂(中级), 积分 189, 距离下一级还需 11 积分
编译报告里面找找
在线时间73 小时
TA的帖子TA的资源
一粒金砂(高级), 积分 310, 距离下一级还需 190 积分
一粒金砂(高级), 积分 310, 距离下一级还需 190 积分
ctrol + r&&出来后就是以上的页面,也就是编译后的报告&&从以上这编译报告怎么看程序的跑的速度呢 还是能找到怎么看 麻烦版主帮我细细分解一下哈
(66.25 KB, 下载次数: 1)
11:28 上传
在线时间73 小时
TA的帖子TA的资源
一粒金砂(高级), 积分 310, 距离下一级还需 190 积分
一粒金砂(高级), 积分 310, 距离下一级还需 190 积分
回复 沙发 eeleader 的帖子
版主,按了ctrl + r 后然后出来一个编译报告,然后又怎么看了呢&&我怎么还是没看到程序跑的速度呢(4楼我上传了编译报告图片)
在线时间30 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
EEWORLD 官方微信
Powered by用Quartus&II&Timequest&Timing&Analyzer进行时序分析&:实例讲解&(二)
四,用TimeQuest对DAC7512控制器进行时序分析&#160;
&#160;&#160;
在对某个对象下时序约束的时候,首先要能正确识别它,TimeQuest会对设计中各组成部分根据属性进行归类,我们在下时序约束的时候,可以通过命令查找对应类别的某个对象。
&#160;&#160;&#160;&#160;
TimeQuest对设计中各组成部分的归类主要有cells,pins,nets和ports几种。寄存器,门电路等为cells;设计的输入输出端口为ports;寄存器,门电路等的输入输出引脚为pins;ports和pins之间的连线为nets。具体可以参照下图(此图出自Altera
Time Quest的使用说明)。
&#160;&#160;&#160;&#160;&#160;
下面我们按照本文第二部分用TimeQuest做时序分析的基本操作流程所描述的流程对DAC7512控制器进行时序分析。
&#160;&#160;&#160;&#160;&#160;&#160;
建立和预编译项目的部分相对简单,涉及到的也只是QuartusII的一些基本操作,这里我们就不再做具体的叙述。主要介绍如何向项目中添加时序约束和如何进行时序验证。首先建立一个名称与项目top层名字一致的sdc文件,然后按照下面的步骤添加时序约束。
1. 创建时钟
&#160;&#160;&#160;&#160;
添加时序约束的第一步就是创建时钟。为了确保STA结果的准确性,必须定义设计中所有的时钟,并指定时钟所有相关参数。TimeQuest支持下面的时钟类型:
a) 基准时钟(Base clocks)
b) 虚拟时钟(Virtual clocks)
c) 多频率时钟(Multifrequency clocks)
d) 生成时钟(Generated clocks)
我们在添加时序约束的时候,首先创建时钟的原因是后面其它的时序约束都要参考相关的时钟的。
基准时钟:
&#160;&#160;&#160;&#160;
基准时钟是输入到FPGA中的原始输入时钟。与PLLs输出的时钟不同,基准时钟一般是由片外晶振产生的。定义基准时钟的原因是其他生成时钟和时序约束通常都以基准时钟为参照。
&#160;&#160;&#160;
很明显,在DAC7512控制器中,CLK_IN是基准时钟。我们用下面的命令来创建这个基准时钟:
create_clock -name CLK_IN
-period 40 -waveform {0 20} [get_ports {CLK_IN}]
&#160;&#160;&#160;
其中,create_clock是创建时钟的命令,后面是命令的各种选项。其中-name
CLK_IN选项给出了时钟的名字,即CLK_IN。-period 40给出了时钟的周期,即40ns。-waveform {0
20}给出了时钟的占空比,即50/50。最后的[get_ports {CLK_IN}]
是嵌套的tcl命令,给出了CLK_IN对应的port,实际上也就是CLK_IN的输入引脚。
&#160;&#160;&#160;
在sdc文件里添加上述命令后,在quartusII里编译设计,然后通过tools &&
TimeQuest Time Aanlyzer命令打开TimeQuest。在TimeQuest的Tasks窗口,找到Report
Clocks,双击之,TimeQuest就会在右边主窗口给出设计中已成功添加的时钟信息。如下图所示,可以看到CLK_IN,其类型为基准时钟,周期为40ns,频率为25MHz,targets项为CLK_IN,即表示这个时钟是连接在CLK_IN端口上的。这说明上面create_clock的命令已经在设计中正确创建了时钟CLK_IN。
&#160;&#160;&#160;&#160;&#160;&#160;
实际上对于create_clock命令,我们可以通过quartus
II的帮助系统(/current/),查找它的语法。在QuartusII的帮助里,可以查找到:
create_clock [-h |
-help] [-long_help] [-add] [-name
&clock_name&] -period
&value& [-waveform
&edge_list&]
[&targets&]
&#160;&#160;&#160;
另外,帮助系统里有很详尽的关于该命令的描述,并且给出了各种使用的范例。不仅仅是这一个命令,所有的命令都可以在帮助系统里找到。如果看到一个陌生的命令,或者不知道命令该如何使用,那么最好的办法就是在帮助系统里查找该命令。
&#160;&#160;&#160;&#160;
上面我们创建了基准时钟。下面我们创建PLL输出的时钟。
&#160;&#160;&#160;&#160;
在Altera的FPGA中,PLL电路是通过ALTPLL的IP库被添加到设计中的。下图是一个典型的ALTPLL的结构图。
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
从图上可以看到,当我们选定了基准时钟和PLL的参数以后,PLL的输出c0和c1的参数就随之确定了。所以在QuartusII环境下,可以通过一个简单的命令让软件自动生成PLL输出的时钟的时序约束。
derive_pll_clocks
&#160;&#160;&#160;&#160;
这个命令会自动创建PLL输出的C0和C1的相关时序约束。同样的,在sdc文件里添加该命令,然后编译,在TimeQuest里查看时钟信息。如下图所示,derive_pll_clocks在系统里添加了两个时钟,PLL1|altpll_component|auto_generated|pll1|clk[0]和PLL1|altpll_component|auto_generated|pll1|clk[1]。可以看出,时钟是按&PLL层次结构+时钟端口名字&的规则命名的。时钟的类型为created
clock,周期频率是在PLL里设定好的。duty_cycle为50/50。Clock
source为PLL1|altpll_component|auto_generated|pll1|inclk[0],实际上就是我们之前定义的CLK_IN。
&#160;&#160;&#160;&#160;&#160;&#160;
用derive_pll_clocks命令创建PLL相关的时钟很是方便,但不好的地方就是,时钟的命名太过复杂,我们在添加与此时钟相关的时序约束时,就必须用这种名字很长的时钟,容易出错,且可读性也差。所以建议还是采用create_generated_clock命令来创建PLL的时钟。
&#160;&#160;&#160;&#160;&#160;&#160;
create_generated_clock命令的语法如下,可以从quartusII的帮助系统里找到每个参数的详细解释。
create_generated_clock [-h | -help] [-long_help]
[-add] [-divide_by &factor&]
[-duty_cycle &percent&]
[-edge_shift &shift_list&]
[-edges &edge_list&] [-invert]
[-master_clock &clock&]
[-multiply_by &factor&] [-name
&clock_name&] [-offset
&time&] [-phase
&degrees&] -source
&clock_source&
[&targets&]
&#160;&#160;&#160;&#160;&#160;
可以用下面的命令来创建PLL的两个时钟C0和C1。我们把时钟命名为CLK25M和CLK50M,source
clock为CLK_IN。
create_generated_clock -name
CLK25M -source CLK_IN -duty_cycle 50.000 -multiply_by 1
-master_clock {CLK_IN} [get_pins
{PLL1|altpll_component|auto_generated|pll1|clk[0]}]
create_generated_clock -name
CLK50M -source CLK_IN -duty_cycle 50.000 -multiply_by 2
-master_clock {CLK_IN} [get_pins
{PLL1|altpll_component|auto_generated|pll1|clk[1]}]
&#160;&#160;&#160;&#160;&#160;
用这两个命令创建的时钟与derive_pll_clocks命令创建的时钟的本质是一样的,只是给时钟定义了不同的名字。当然我们也可以用derive_pll_clocks中对时钟的命名方式来使用create_generated_clock命令。
&#160;&#160;&#160;
同样的,可以按照上面的方法,在TimeQuest里查看创建时钟的结果,如下图所示。
&#160;&#160;&#160;&#160;&#160;&#160;
到此为止,我们创建了PLL的基准时钟以及PLL输出的两个时钟CLK25M和CLK50M。
DA_SCLK时钟:
&#160;&#160;&#160;&#160;&#160;&#160;
在TimeQuest的Tasks窗口里,选择Report Unconstrained
Paths命令,TimeQuest会报告出所有需要下约束但实际并没有约束的情况。在Report里的Unconstrained
Path列表下,我们可以查看这个报告。双击Clock Status
Summary,就可以在主窗口看到所有时钟的情况。见下图,很明显,软件辨识出DAC7512模块下的DA_SCLK为时钟信号,但是我们并没有对该时钟添加约束,所以用红色将这个时钟显示了出来。下一步我们就来创建这个时钟。
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
DA_SCLK是用CLK50M通过二分频电路得到的。所以其source
clock为CLK50M。但是,我们在使用create_generated_clock命令创建该时钟的时候,在-source的参数里,却不能直接使用CLK50M,而必须使用CLK50M所对应的pin,即PLL1|altpll_component|auto_generated|pll1|clk[1]。
这主要是因为-source参数只支持pins,ports和registers。
&#160;&#160;&#160;&#160;&#160;&#160;
DA_SCLK是由CLK50M通过二分频电路生成的,其代码如下:
reg DA_SCLK;
always @(posedge CLK50M or
negedge RESET)
if(~RESET)
DA_SCLK &=
DA_SCLK &=
&#160;&#160;&#160;&#160;
可以看到,本质上DA_SCLK为一个寄存器的输出,所以使用get_registers命令获取DA_SCLK。DA_SCLK是由CLK50M经二分频电路生成的,所以-divide_by的参数应该是2。
&#160;&#160;&#160;&#160;&#160;
综上所述,用下面的命令创建DA_SCLK:
create_generated_clock -name
DA_SCLK -divide_by 2 -source [get_pins
{PLL1|altpll_component|auto_generated|pll1|clk[1]}] [get_registers
{DAC7512:DAC7512|DA_SCLK} ]
&#160;&#160;&#160;&#160;
到此为止,DAC7512控制器中所有4个时钟都创建好了。如下图所示:
&#160;&#160;&#160;&#160;&#160;
我们再看TimeQuest中Unconstrained Paths中clock Status
Summary,就会发现,所有的时钟都已经被添加了约束。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 使用频率最高的汉字 的文章

 

随机推荐