微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 双时钟(含组合逻辑输出时钟)的时钟约束

双时钟(含组合逻辑输出时钟)的时钟约束

时间:10-02 整理:3721RD 点击:
一个模块有两个时钟输入,clk1和clk2,clk3是clk1和clk2的组合逻辑输出(例如是clk1和clk2的二选一),在这个待综合模块里,只有clk1和clk3两个时钟在跑,由这两个时钟驱动的相关信号之间是有关联的。请问这种情况综合时,时钟的约束怎么写。


# 分别约束clkA和clkB
create_clock -name clk_100 -period 10 [get_ports clkA]
create_clock -name clk_125 -period 8 [get_ports clkB] -add
#设置互斥时钟
set_clock_groups -exclusive -group {clk_100} -group {clk_125}
这是来自Altera的例子。




我的大概是这样的,其中clkA高频,CLKB低频,
clk_mux输出CLKB时,clk_mux所驱动的reg采样的是外部输入的input,
clk_mux输出CLKA时,clk_mux所驱动的reg是和CLKA驱动的那部分电路完全同步的。
还有一个问题不太理解,看到有的说Mux可以自动穿透,不用约束Mux后的时钟;还有的约束直接指定某个cell的输出,可是我在综合时还不知道是什么cell啊,只是RTL的代码,只是功能上看是个Mux,可实际综合出来可能是nand,Aoi之类的组合,请问在综合阶段而不是Pt或Pr阶段要怎么约束他们。



顶一下

二楼,学习了,我觉得“看到有的说Mux可以自动穿透,不用约束Mux后的时钟;”这句话是对的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top