在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: eda—wdy

[求助] 菜鸟请问:关于时钟sdc约束的问题

[复制链接]
 楼主| 发表于 2016-4-8 20:40:44 | 显示全部楼层
回复 9# silencefpga


   分频器后面那三个时钟也要设置clock group吧,还是false path?
发表于 2016-4-8 21:30:44 | 显示全部楼层
回复 11# eda—wdy

  这个 问题是这样的,首先你是如何分频的? 通过RTL逻辑吗? 如果是的话,那么那三个时钟最好使用create_clock的方式约束时钟,如果是fpga内部的时钟管理单元的话,就不需要,另外这个三个时钟是在一个时钟产生的,所以是同源时钟,一般来讲不能使用false path, 但是某些特殊应用也可以设置false path。 这个问题能不能设置成false path 是要根据你的逻辑设计来分析的,不能一概而论。
发表于 2016-4-11 16:48:56 | 显示全部楼层
首先可以直接create_clock -name  sys_clk $location_sys_clk -period xxx , 至于clk1和clk2是否要create_clock,在你这个例子中并不重要,当然定义为create_clock也不会有问题。

后面分频器出来的三个时钟,如果需要跟sys_clk同步,则使用
create_generated_clock -name a_clk $location_a_clk -source $location_sys_clk -divide_by X
create_generated_clock -name b_clk $location_b_clk -source $location_sys_clk -divide_by Y
create_generated_clock -name c_clk $location_c_clk -source  $location_sys_clk -divide_by Z

如果不需要跟sys_clk同步,则使用
create_clock -name  a_clk $location_a_clk -period xxx
create_clock -name  b_clk $location_b_clk -period yyy
create_clock -name  c_clk $location_c_clk -period zzz
发表于 2016-4-11 16:54:19 | 显示全部楼层
回复 11# eda—wdy


   如果a/b/c三个时钟跟sys_clk同步,set_clock_groups -asynchronous \
    -group {sys_clk a_clk b_clk c_clk}

   如果都是异步的,
set_clock_groups -asynchronous \
    -group {sys_clk} \
    -group {a_clk} \
    -group {b_clk} \
    -group {c_clk}
发表于 2020-6-29 16:46:45 | 显示全部楼层
mark 一下
发表于 2020-8-5 15:54:37 | 显示全部楼层
1、
create_clock -name clk1 -period 4 [get_port clk1]
create_clock -name clk2 -period 2 [get_port clk2]
create_generate_clock -name A_clk1 -div 2 -master clk1 -source [get_port clk1] [get_pins 分频器/a]
create_generate_clock -name B_clk1 -div 4 -master clk1 -source [get_port clk1] [get_pins 分频器/b]
create_generate_clock -name C_clk1 -div 8 -master clk1 -source [get_port clk1] [get_pins 分频器/c]
create_generate_clock -name A_clk2 -add -div 2 -master clk2 -source [get_port clk2] [get_pins 分频器/a]
create_generate_clock -name B_clk2 -add -div 4 -master clk2 -source [get_port clk2] [get_pins 分频器/b]
create_generate_clock -name C_clk2 -add -div 8 -master clk2 -source [get_port clk2] [get_pins 分频器/c]
set_clock_group -logically_exclusive -group {clk1 A_clk1 B_clk1 C_clk1} -group {clk2 A_clk2 B_clk2 C_clk2}
2、
create_clock -name clk1 -period 4 [get_port clk1]
create_clock -name clk2 -period 2 [get_port clk2]
create_clock -name sys_clk -period 2 [get_pins clock_mux/z]
create_generate_clock -name A_clk -div 2 -master sys_clk -source [get_pins clock_mux/z] [get_pins 分频器/a]
create_generate_clock -name B_clk -div 4 -master sys_clk -source [get_pins clock_mux/z] [get_pins 分频器/b]
create_generate_clock -name C_clk -div 8 -master sys_clk -source [get_pins clock_mux/z] [get_pins 分频器/c]
照自己的理解写了2种方式,望大神们指教,第2种总觉得有点怪怪的,会不会影响pr做cts?
发表于 2020-8-16 17:00:47 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 17:56 , Processed in 0.024284 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表