通过组合逻辑产生的时钟质量如何保证?
时间:10-02
整理:3721RD
点击:
设计思路:外部两个输入时钟clk1, clk2, 这两个时钟都是通过全局时钟引脚输入到FPGA中的,
在我的设计中,有时用clk1,有时用clk2,于是我写了一个组合逻辑来进行选择,大致逻辑如下:
reg clk3;
always @(......) begin
case(...)
.. : clk3 = clk1;
.. : clk3 = clk2;
endcase
end
生成的clk3用作所有时序逻辑中的时钟,always @(posedge clk3 or negedge rst) .....
问题:这样通过组合逻辑生成的clk3会不会质量不好,因而影响到我的功能设计呢?
如果要获得很好质量的clk3,我应该如何设计呢?
在我的设计中,有时用clk1,有时用clk2,于是我写了一个组合逻辑来进行选择,大致逻辑如下:
reg clk3;
always @(......) begin
case(...)
.. : clk3 = clk1;
.. : clk3 = clk2;
endcase
end
生成的clk3用作所有时序逻辑中的时钟,always @(posedge clk3 or negedge rst) .....
问题:这样通过组合逻辑生成的clk3会不会质量不好,因而影响到我的功能设计呢?
如果要获得很好质量的clk3,我应该如何设计呢?
如果是xilinx的fpga,建议使用bufgmux原语
问题已解决,谢谢!
这个东西不太好吧
时钟最好是不要作为逻辑输入使用
做芯片的要求是这样的
显然不好。时钟切换时容易产生毛刺。
FPGA的话,我觉得应该是这样解决的吧。ASIC的话,后端做cts的时候,应该会处理吧。