ISE里PLL生成的xilinx 时钟约束需要加约束吗

网站已改版,请使用新地址访问:
PLL_led ISE工程,PLL实例,4个不同频率的时钟,进行 的分频,实现同样的LED闪烁 。 VHDL-FPGA-Verilog 272万源代码下载- www.pudn.com
&文件名称: PLL_led& & [
& & & & &&]
&&所属分类:
&&开发工具: VHDL
&&文件大小: 10311 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:ISE工程,PLL实例,4个不同频率的时钟,进行不同的分频,实现同样的LED闪烁频率。-ISE project,PLL instance, four different clock frequencies, different division, to achieve the same LED blinking frequency.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&sp6ex8\ipcore_dir\coregen.cgp&&......\..........\create_pll_controller.tcl&&......\..........\edit_pll_controller.tcl&&......\..........\pll_controller\clk_wiz_v3_6_readme.txt&&......\..........\..............\doc\clk_wiz_v3_6_readme.txt&&......\..........\..............\...\clk_wiz_v3_6_vinfo.html&&......\..........\..............\...\pg065_clk_wiz.pdf&&......\..........\..............\example_design\pll_controller_exdes.ucf&&......\..........\..............\..............\pll_controller_exdes.v&&......\..........\..............\..............\pll_controller_exdes.xdc&&......\..........\..............\implement\implement.bat&&......\..........\..............\.........\implement.sh&&......\..........\..............\.........\planAhead_ise.bat&&......\..........\..............\.........\planAhead_ise.sh&&......\..........\..............\.........\planAhead_ise.tcl&&......\..........\..............\.........\planAhead_rdn.bat&&......\..........\..............\.........\planAhead_rdn.sh&&......\..........\..............\.........\planAhead_rdn.tcl&&......\..........\..............\.........\xst.prj&&......\..........\..............\.........\xst.scr&&......\..........\..............\simulation\functional\simcmds.tcl&&......\..........\..............\..........\..........\simulate_isim.bat&&......\..........\..............\..........\..........\simulate_isim.sh&&......\..........\..............\..........\..........\simulate_mti.bat&&......\..........\..............\..........\..........\simulate_mti.do&&......\..........\..............\..........\..........\simulate_mti.sh&&......\..........\..............\..........\..........\simulate_ncsim.sh&&......\..........\..............\..........\..........\simulate_vcs.sh&&......\..........\..............\..........\..........\ucli_commands.key&&......\..........\..............\..........\..........\vcs_session.tcl&&......\..........\..............\..........\..........\wave.do&&......\..........\..............\..........\..........\wave.sv&&......\..........\..............\..........\pll_controller_tb.v&&......\..........\..............\..........\timing\pll_controller_tb.v&&......\..........\..............\..........\......\sdf_cmd_file&&......\..........\..............\..........\......\simcmds.tcl&&......\..........\..............\..........\......\simulate_isim.sh&&......\..........\..............\..........\......\simulate_mti.bat&&......\..........\..............\..........\......\simulate_mti.do&&......\..........\..............\..........\......\simulate_mti.sh&&......\..........\..............\..........\......\simulate_ncsim.sh&&......\..........\..............\..........\......\simulate_vcs.sh&&......\..........\..............\..........\......\ucli_commands.key&&......\..........\..............\..........\......\vcs_session.tcl&&......\..........\..............\..........\......\wave.do&&......\..........\pll_controller.asy&&......\..........\pll_controller.gise&&......\..........\pll_controller.ncf&&......\..........\pll_controller.sym&&......\..........\pll_controller.ucf&&......\..........\pll_controller.v&&......\..........\pll_controller.veo&&......\..........\pll_controller.xco&&......\..........\pll_controller.xdc&&......\..........\pll_controller.xise&&......\..........\pll_controller_flist.txt&&......\..........\pll_controller_xmdf.tcl&&......\..........\tmp\customization_gui.0.4.out&&......\..........\...\_cg\_dbg\xil_534.in&&......\..........\...\...\....\xil_534.out&&......\..........\...\.xmsgs\pn_parser.xmsgs&&......\..........\_xmsgs\cg.xmsgs&&......\..........\......\pn_parser.xmsgs&&......\.seconfig\sp6.projectmgr&&......\.........\sp6.xreport&&......\led_controller.lso&&......\led_controller.prj&&......\led_controller.stx&&......\led_controller.xst&&......\pa.fromHdl.tcl&&......\par_usage_statistics.html&&......\planAhead_pid10348.debug&&......\planAhead_pid1052.debug&&......\planAhead_pid8104.debug&&......\planAhead_pid8904.debug&&......\planAhead_pid9948.debug&&......\..........run_1\planAhead.jou&&......\...............\sp6.data\constrs_1\fileset.xml&&......\...............\........\sim_1\fileset.xml&&......\...............\........\.ources_1\fileset.xml&&......\...............\........\wt\project.wpc&&......\...............\........\..\webtalk_pa.xml&&......\...............\sp6.ppr&&......\..............2\planAhead.jou&&......\...............\sp6.data\constrs_1\fileset.xml&&......\...............\........\sim_1\fileset.xml&&......\...............\........\.ources_1\fileset.xml&&......\...............\........\wt\project.wpc&&......\...............\........\..\webtalk_pa.xml&&......\...............\sp6.ppr&&......\..............3\planAhead.jou&&......\...............\sp6.data\constrs_1\fileset.xml&&......\...............\........\sim_1\fileset.xml&&......\...............\........\.ources_1\fileset.xml&&......\...............\........\wt\project.wpc&&......\...............\........\..\webtalk_pa.xml&&......\...............\sp6.ppr&&......\..............4\planAhead.jou&&......\...............\sp6.data\constrs_1\fileset.xml&&......\...............\........\sim_1\fileset.xml
&输入关键字,在本站272万海量源码库中尽情搜索:Verilog语法_6(altera PLL&&Ram&&Rom应用) - FPGA&硬件语言专区 - OpenHW技术社区
后使用快捷导航没有帐号?
查看: 922|回复: 1
Verilog语法_6(altera PLL&&Ram&&Rom应用)
主题帖子积分
PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使高频器件正常工作,如内存的存取资料等。PLL用于振荡器中的反馈技术。 许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步。一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,有相应的器件VCO,实现转成高频,但并不稳定,故利用锁相环路就可以实现稳定且高频的时脉冲讯号。
主要用于时钟的分频或者倍频。
实际中PLL能让时钟更稳定吗?答案是并不能提高很多,它主要是受参考源的影响。参考源的时钟稳定度高,那么经过PLL同样更稳定。如果时钟源不够稳定,再经过PLL也没什么用,有可能PLL还会失锁,还会带来一些其他的问题。
Quartus II 工具栏介绍:
1.File—&new:New Quartus II Project 创建工程;Design Files:常用的是Verilog HDL,VHDL File;
Memory Files(初始化RAM和Rom的文件):Hexadecimal File(16进制格式);Memory Initialzation File(mif文件)
Verification /Debugging Files:常用的是SignalTap II Logic Analyzer File
2.Project—&Clean Project(有些时候Project里面产生很多文件,编译的时候会有一些 错误,当清除一下工程里边无效的文件的时候,有时候就编译过了)
3.Assignments—&Improt Assignments(加载一些管脚绑定的文件)
4.Processing—&Start Compilation(编译整个工程)
5.Tool—&Launch Dedign Space Explorer(在做完一个工程的时候,如果想达到某种目标的时序,可以通过这个软件去搜索时序);TimeQuest Timing Anlyzer (时序分析的工具);
Chip Planner(直接可以看到芯片内部的布线结果,可以看到大致的结构);
Design Partion Planner(可以按块来约束我们的资源)
SignalTap II Logic Analyzer(逻辑分析仪)
Programmer(下载硬件流)
MegaWizard Plug-In Manager(IP Core初始化工具,用来创建IP核)
Tcl Scripts(运行一些官方给的例子的时候,它有一些tcl脚本文件)
1. new—&Verilog HDL—&Design\ex_ipcore.v
2. Tool—&MegaWizard Plug-In Manager—&Verilog HDL—&quartus_prj\ipcore_dir\pll1
(之所以命名为ipcore_dir是为了和ISE统一,移植的时候方便)
选择左侧的ip核时,发现PLL部分都是灰色的(一个是因为没有License权限;另一个是当前器件不支持这个库,Cyclone IV E换成Cyclone V就有可以用的了(此处不换))。
最开始的时候PLL是定义在了I/O这个模块里面,因为实际上PLL也是需要有参考时钟的,参考时钟属于输入,所以它就被定义放到I/O里边,名字叫ALTPLL。
(Altera的PLL是模拟的锁相环跟xilinx里面的DCM(数字时钟管理模块)是有差别的,
模拟锁相环优点:它输出的稳定度高相位连续可调,延时连续可调;Xilinx的FPGA中集成的专用时钟资源与数字延迟锁相环(DLL),输出时钟要么是90度要么是270度。比如160度它是出不来的。在Altera 的PLL里是可以的。
模拟锁相环缺点:在温度或者实际工作环境中受到影响的时候,比如温度过高或电磁辐射过强的时候很容易让我们模拟锁相环失锁)**
ALLPLL设置:
Parameter Setting:
速度等级:7(altera里面越大的值芯片速度越慢,8l指的是低电压的或者叫低功耗的)
频率:50MHZ
PLL Type:实际PLL的类型,这里就一种PLL,不能选。
Operation Mode操作模式:有一般正常模式;源同步补偿模式;0延时模式。
当选择In Source-synchronous Compensation mode时
图片来自:cyclone4-handbook.pdf
1.jpg (66.23 KB, 下载次数: 0)
22:26 上传
当我的数据输入进来,colck在数据管脚再到我们内部第一级寄存器的位置它会保持,使得进管脚的位置这个上升沿跟数据的相位关系到了第一级寄存器时它会保持不变。
实现原理:芯片内部它是知道它的时钟走线延时是多少,它会自动调整我们PLL的这个延时或者相移,使得它再到第一级寄存器位置的时候,它的相位还是没有发生变化。这就是我们在做输入接口的时候一个非常重要的应用,在做输入源同步的高速数据的时候,PLL要选择In Source-synchronous Compensation mode。
(1).源同步补偿模式:
时钟拓扑图:
2.jpg (21.64 KB, 下载次数: 0)
22:26 上传
实际我们的时钟和数据可能会有延时,所以呢通过PLL会帮我们补偿回来。
如果不通过PLL到达寄存器位置时,时钟上升沿可能就不和数据的中心对齐了。
可能比中心线靠右,可能再偏一点保持时间就不足了。也可能靠左。
这些是因为路径传输的延时造成的。源同步模式就可以使得输入的数据在端口那是什么样,到达第一级寄存器就还是什么样。就保证了它的时序特性。
(2).无补偿模式:
3.jpg (102.08 KB, 下载次数: 0)
22:26 上传
相当于源同步模式中没有经过PLL,该到第一级寄存器是什么样子,就是什么样子。没有任何补偿。它不会帮我们去移相。
(3).Normal Mode:
4.jpg (56.16 KB, 下载次数: 0)
22:26 上传
(4).Zero Delay Buffer Mode:
5.jpg (87.09 KB, 下载次数: 0)
22:26 上传
如果你想使得你输出的时钟跟你参考时钟同相位的话就选择这个模式
这里是应用与内部寄存器我们选择Normal Mode模式。
6.jpg (80.25 KB, 下载次数: 0)
22:26 上传
Optional Inputs:Create an ‘areset’ input to asynchronously reset the PLL.
这是异步复位,不选。一般情况下PLL不让它复位,有时候你复位控制不好,就使得PLL一直处在失锁状态,特别麻烦。
Lock Output:Create ‘locked’ output 选上,为了比如说在Debug的时候,看看参考源是不是有问题。如果给出的晶振参考源有问题,就会看到locked的震荡信号来回的变。这是debug的一个手段。使得可以观察PLL是否失锁。
Enable self-reset on loss lock:这个也不要加,PLL在做高温测试的时候,如果选上这个自动复位,PLL就一直工作不了了,一直就在那复位。
7.jpg (64.59 KB, 下载次数: 0)
22:26 上传
8.jpg (73.41 KB, 下载次数: 0)
22:26 上传
后边出现的实现页面基本不用管,默认就可以。
PLL Reconfiguration:
重配置PLL,实际在用的过程中可以动态的去配置它(通过配置文件配置它什么时候用哪个参数来工作。)
Output Clocks:
PLL有5路输出,
PLL是一个反馈系统,数字与信号中的反馈都是和PLL相关的。
10.jpg (45.43 KB, 下载次数: 0)
22:26 上传
11.jpg (27.66 KB, 下载次数: 0)
22:26 上传
12.jpg (78.14 KB, 下载次数: 0)
22:26 上传
**这里的Clock Multiplication Factor相当于倍频;
Clock Division Factor相当于分频。**
Clock phase shift:(移动的相位):(deg是以相位为单位),调90度的时候,移相90度就相当于向后移动四分之一个周期;移180度就是反转。
Clock duty cycle(%) :占空比。就是高电平和周期的比值。
设置第二个时钟:
13.jpg (74.35 KB, 下载次数: 0)
22:26 上传
选择Finish
跳转到Summary
把模版文件(pll1_inst.v(Instantiation template file))生成就行了,其他的我们不要。如图所示:
14.jpg (65.07 KB, 下载次数: 0)
22:26 上传
点击Finish生成IP Core
发现在工程里面生成一个ipcore_dir/pll1.qip的文件
&p&//pll1_inst.v&/p&&p&pll1& & pll1_inst (&/p&&p&& & .inclk0 ( inclk0_sig ),&/p&&p&& & .c0 ( c0_sig ),&/p&&p&& & .c1 ( c1_sig ),&/p&&p&& & .locked ( locked_sig )&/p&&p&& & );&/p&复制代码&p&//ex_ipcore.v&/p&&p&module ex_ipcore(&/p&&p&& && && && && & input wire&&sclk,&/p&&p&& && && && && & output wire&&oclk1,&/p&&p&& && && && && & output wire&&oclk2,&/p&&p&& && && && && & output wire& &locked&/p&&p&);&/p&&p&
&/p&&p&
&/p&&p&
&/p&&p&pll1& & pll1_inst (&/p&&p&& & .inclk0 ( sclk ),&/p&&p&& & .c0 ( oclk1 ),&/p&&p&& & .c1 ( oclk2 ),&/p&&p&& & .locked ( locked )&/p&&p&& & );&/p&&p&endmodule&/p&复制代码&p&//tb_ex_ipcore.v&/p&&p&`timescale&&1ns /1ns&/p&&p&
&/p&&p&module tb_ex_&/p&&p&reg&&&/p&&p&wire& &oclk1,oclk2,&/p&&p&
&/p&&p&initial begin&/p&&p&& && && && &sclk =0;&/p&&p&end&/p&&p&
&/p&&p&always #10 sclk =~&/p&&p&ex_ipcore ex_ipcore_inst(&/p&&p&& && && && && & .sclk& && && & (sclk),&/p&&p&& && && && && & .oclk1& && && &(oclk1),&/p&&p&& && && && && & .oclk2& && && &(oclk2),&/p&&p&& && && && && & .locked& && &&&(locked)&/p&&p&);&/p&&p&endmodule&/p&复制代码&p&#run.do&/p&&p&quit -sim&/p&&p&.main clear&/p&&p&
&/p&&p&vlib work&/p&&p&
&/p&&p&#work是默认的库,-work work就可以省略了。&/p&&p&
&/p&&p&vlog -work work ./tb_ex_ipcore.v&/p&&p&vlog ./altera_lib/*.v&/p&&p&vlog ./../design/*.v&/p&&p&vlog ./../quartus_prj/ipcore_dir/pll1.v&/p&&p&
&/p&&p&vsim -voptargs=+acc work.tb_ex_ipcore&/p&&p&
&/p&&p&add wave tb_ex_ipcore/ex_ipcore_inst/*&/p&&p&
&/p&&p&run 1000ns&/p&&p&&/p&复制代码
当写完design文件,testbanch文件和run.do文件之后,需要添加库。这个库可以在
Tool—&MegaWizard Plug-In Manager—&Edit an existing custom megafunction variation—&ipcore_dir\pll1.v—&next—&EDA—&显示:Simulation Libraries: altera_mf ,Altera megafunction simulation library
需要添加仿真库:altera_mf
找到:D:\altera\13.1\quartus\eda\sim_lib\altera_mf.v
放到 D:\VivadoProjects\FPGA_From_e_to_c\ex_6\sim\altera_lib下
在ModelSim下新建一个项目,并运行脚本do run.do
15.jpg (49.59 KB, 下载次数: 0)
22:26 上传
在Quatus II中Fitter(Place & Route)之后,在Tools
—&Chip Planner中可以查看芯片内部的构造。
所有PLL输出来的时钟都会连接到全局时钟网络上来,如果我们自己分频的时钟,它直接是数据时钟走的是数据线。连接到ClockControl上面的线都是金线,延时非常小,而且到达每一级寄存器的延时是一样的。如果使用自己分频的时钟它走的是数据线,使得数据线到达寄存器时钟端延时不一样。这就是为什么不建议用计数器分频再作为时钟的原因。
所以如果想分频,就要用PLL;自己分频的时钟千万别用到触发器里面去。
&p&
&/p&&p&always @(posedge ockl1)&/p&&p&& && &&&if(div_flag == 1'b1)&/p&&p&& && && && &cnt&=cnt+1'b1;&/p&复制代码
RAM : 在做数据处理的时候,如果没有RAM你就不知道怎么缓冲。
Tools—&MegaWizard Plug-In Manager—&Create an new custom megafunction variation—&ipcore_dir\rom_8x256—&Memory Compoler—&ROM:1-PORT
16.jpg (65.06 KB, 下载次数: 0)
22:26 上传
Which ports should be registered?
选择这个选项’q’ output port ,为了读RAM的时钟频率可以跑得更高一些。(假如两个寄存器之间是10ns,相当于100M,再俩个寄存器之间在放一个寄存器,就相当于它和两个寄存器都是5ns了,所以可以是频率更高。)
接下来是Mem Init —&有两种初始化文件一种是.hex十六进制,还有一种是.mif的。
new—&Memory File—&Hexadcimal File—&Number of words:256(深度);word size:8(相当于一共256个单元,列数为8,行数为256/8=32的表)—&在地址表的顶部选项栏右键,可以改显示的进制—&Ctrl+S保存为ipcore_dir/rom_8x256.hex—&
切换到创建IP核的目录—&Browse..打开文件Open(如果颜色是黑色的说明加载成功,如果是红色说明加载有问题)—&next–&next—&选择产生例化的文件rom_8x256_inst.v—&Finish.
17.jpg (66.32 KB, 下载次数: 0)
22:26 上传
ex_ipcore.v改为:
&p&//ex_ipcore.v&/p&&p&module ex_ipcore(&/p&&p&& && && && && & input wire&&sclk,&/p&&p&& && && && && & output wire&&oclk1,&/p&&p&& && && && && & output wire&&oclk2,&/p&&p&& && && && && & output wire& &locked,&/p&&p&& && && && && & output reg [1:0] cnt,&/p&&p&& && && && && & output wire&&[7:0] odata&/p&&p&);&/p&&p&
&/p&&p&reg& &[7:0] raddr=0;&/p&&p&always @(posedge oclk1)&/p&&p&& && && && &cnt &=cnt + 1'b1;&/p&&p&
&/p&&p&always @(posedge oclk1)&/p&&p&& && && && &raddr &=raddr + 1'b1;&/p&&p&
&/p&&p&pll1& &&&pll1_inst (&/p&&p&& & .inclk0 ( sclk ),&/p&&p&& & .c0 ( oclk1 ),&/p&&p&& & .c1 ( oclk2 ),&/p&&p&& & .locked ( locked )&/p&&p&& & );&/p&&p&
&/p&&p&rom_8x256& & rom_8x256_inst (&/p&&p&& & .address ( raddr ),&/p&&p&& & .clock ( oclk1 ),&/p&&p&& & .q ( odata )&/p&&p&& & );&/p&&p&endmodule&/p&复制代码&p&run.do改为:&/p&&p&
&/p&&p&quit -sim&/p&&p&.main clear&/p&&p&
&/p&&p&vlib work&/p&&p&
&/p&&p&#work是默认的库,-work work就可以省略了。&/p&&p&
&/p&&p&vlog -work work ./tb_ex_ipcore.v&/p&&p&vlog ./altera_lib/*.v&/p&&p&vlog ./../design/*.v&/p&&p&vlog ./../quartus_prj/ipcore_dir/pll1.v&/p&&p&vlog ./../quartus_prj/ipcore_dir/rom_8x256.v&/p&&p&
&/p&&p&vsim -voptargs=+acc work.tb_ex_ipcore&/p&&p&
&/p&&p&add wave tb_ex_ipcore/ex_ipcore_inst/*&/p&&p&
&/p&&p&run 1000ns&/p&复制代码
18.jpg (57.21 KB, 下载次数: 0)
22:26 上传
用.mif文件初始化Memory。
new—&Memory Initialization File—&Number of words:256(深度);word size:8
将rom_8x256.mif拷贝到sim目录下,运行do run.do。
如何来生成.mif文件,可以用Matlab。
现将miffile.m函数复制到D:\VivadoProjects\FPGA_From_e_to_c\ex_6\matlab_sim下。
在Matlab下新建一个脚本gen_mif.m。
miffile('rom_8x26.mif',a,8,256);
运行生成matlab_sim/rom_8x256.mif。
放到quartus_prj/ipcore_dir和sim文件夹下。
作者:dengshuai_super
主题帖子积分
新手上路, 积分 10, 距离下一级还需 40 积分
新手上路, 积分 10, 距离下一级还需 40 积分
bucuo a&&aa
站长推荐 /2
两篇华为的Verilog 电路设计资料,一个是基础篇,一个是典型设计。需要的取走
本书的设计与讲解由浅入深,对于ASIC设计工程师来说,本书是一本常好的自学教材,既适合高年级本科生作为教材,也适合研究生年的课程需求。作为本科生和研究的数字系统设计知识和计算机组织结构知识的补充,本书也很有价值。
联系电话: 3-8062
Powered byUPGRADE YOUR BROWSER
We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:,
. Thank you!
Xilinx 新用户?
一经登录,表示您同意 Xilinx 和。
AR# 34348: 14.x 时序约束:我该如何从时序分析中排除跨时钟域路径?
14.x 时序约束:我该如何从时序分析中排除跨时钟域路径?
如果给 DCM/PLL/MMCM 的输入时钟施加 PERIOD 约束,约束会自动传递给输出时钟。这些时钟被视为相关时钟而跨时钟域路径由时序分析器进行分析,我该如何从时序分析中排除跨时钟域路径呢?
解决方案 1 要从时序分析删除一组路径,如果您确定这些路径不会影响时序性能(False 路径),可用FROM-TO 约束以及时序忽略 (TIG) 关键字。这种方法要指定时序忽略 (TIG) 约束,应按如下定义:
为源寄存器集合创建一个时间组
为目的寄存器集合创建一个时间组
用含有TIG 关键字的FROM-TO 约束,删除上述两个组之间的路径
以下给出 DCM/PLL/MMCM 的使用实例;假设 clk_in 是 DCM/PLL/MMCM 的输入时钟而clk_0、clk_90、clk_180 是输出时钟: net &clk_in& TNM_NET = clk_in_ net &clk_0& TNM_NET = clk0_ net &clk_90& TNM_NET = clk90_ net &clk_180& TNM_NET = clk180_ TIMESPEC TS_clk_in = PERIOD &clk_in_grp& 10ns HIGH; 1. 假定信号 clk_in 还驱动DCM/PLL/MMCM之外的其他同步元件
TIMEGRP &clk_out_grp& = &clk0_grp& &clk90_grp& &clk180_grp&; TIMESPEC TS_01 = FROM &clk_in_grp& TO &clk_out_grp& TIG; TIMESPEC TS_02 = FROM &clk_out_grp& TO &clk_in_grp& TIG; 这些约束忽略 DCM/PLL/MMCM 输入时钟和输出时钟之间的跨时钟域路径。 2. 假定信号 ckl_in 只驱动 DCM/PLL/MMCM TIMESPEC TS_01 = FROM &clk0_grp& TO &clk90_grp& TIG; TIMESPEC TS_02 = FROM &clk0_grp& TO &clk180_grp& TIG; TIMESPEC TS_03 = FROM &clk90_grp& TO &clk0_grp& TIG; TIMESPEC TS_04 = FROM &clk90_grp& TO &clk180_grp& TIG; TIMESPEC TS_05 = FROM &clk180_grp& TO &clk0_grp& TIG; TIMESPEC TS_06 = FROM &clk180_grp& TO &clk90_grp& TIG; 这些约束忽略 DCM/PLL/MMCM 所有输出时钟的跨域路径。 敬请参考 时序约束用户指南 (UG612) ;了解更多有关错误路径约束的详情:
解决方案 2 此外,您也可在 UCF 中为 DCM/PLL/MMCM 输出时钟手动添加不相关的 PERIOD 约束,而不是采用自动传递。只要不施加相关的 PERIOD 约束,工具就不会分析时钟跨域路径。查看以下范例。 自动传递: net &clk_in& TNM_NET = clk_in_
TIMESPEC TS_clk_in = PERIOD &clk_in_grp& 10ns HIGH; TIMESPEC TS_clk0 = PERIOD &clk0& TS_clk_in HIGH; (Note 1) TIMESPEC TS_clk90 = PERIOD &clk90& TS_clk_in PHASE + 2.5 ns HIGH; (Note 1) TIMESPEC TS_clk180 = PERIOD &clk180& TS_clk_in PHASE + 5 ns HIGH; (note 1) 注 1:这些约束可自动传递到输出时钟。 手动添加不相关的 PERIOD 约束: TIMESPEC TS_clk0 = PERIOD &clk0& 10 ns HIGH;
TIMESPEC TS_clk90 = PERIOD &clk90& 10 ns HIGH;
TIMESPEC TS_clk180 = PERIOD &clk180& 10 ns HIGH;
敬请参考 时序约束用户指南 (UG612) ;了解更多有关&related& PERIOD约束的详情:
本答复记录是否对您有帮助?
12/15/2012
ISE Design Suite - 11.1
ISE Design Suite - 11.2
ISE Design Suite - 11.3
ISE Design Suite - 11.4
ISE Design Suite - 11.5
ISE Design Suite - 12.1
ISE Design Suite - 12.2
ISE Design Suite - 12.3
ISE Design Suite - 12.4
ISE Design Suite - 13
ISE Design Suite - 13.1
ISE Design Suite - 13.2
ISE Design Suite - 13.3
ISE Design Suite - 13.4
ISE Design Suite - 14.1
通过使用本网站,本人接受使用 cookies。
分享此页面

我要回帖

更多关于 vivado 时钟约束 的文章

 

随机推荐