本文主要介紹cdc_setup過程中的rules——clock_info1,reset_info1, setup_clock01,它們報告設計中的時鐘樹,復位樹。
Clock_info01
報告設計中的時鐘信號。spyglass可以識別出以下類型clock
描述 | 時鐘類型 |
---|---|
普通輸入時鐘 | Primary Clocks |
黑盒(blackbox)或工藝庫單元輸出的時鐘 | Black box clocks |
寄存器或工藝庫單元輸出的時鐘 | Derived Clocks |
懸空的線或門控鎖存器(門控未打開)輸出的時鐘 | Undrived Clocks |
除去以上情況,鎖存器,三態器件或者組合邏輯輸出的時鐘 | Gated Clocks |
module top (d,q,clk1,sr):
input [3: 0]d;
input clk1, sr;
output [3: 0]q;
reg [3: 0]q:
reg clk3;
wire clk2, clk4, w1;
BB(clk1, clk2, w1);
always @(posedge clk1)
q[0]=d[0];
always @(negedge clk2
q[1]=d[1];
always @(posedge clk3)
q[2]=d[2];
always @(posedge clk1)
if(sr==1)
clk3=0:
else
clk3=-clk3;
always @(posedge clk4)
q[3]=d[3];
endmodule
clk1 是 Primary clock,clk2 是Black box clock,clk3 是Derived Clock,clk4 是Undrived Clocks
Reset_info1
報告設計中的同步復位,異步復位和清除信號
描述 | 復位類型 |
---|---|
普通復位 | Primary Presets/Clears |
黑盒(blackbox)或工藝庫單元產生的復位 | Black box Presets/Clears |
寄存器產生的復位 | Derived Presets/Clears |
懸空的線產生的復位 | Undrived Presets/Clears |
鎖存器,三態器件產生的復位 | Gated Presets/Clears |
Setup_clock01
報告時鐘源,時鐘使能信號以及clock cone(不知道翻譯成啥)。
設計中多個輸入時鐘通過選擇器後只輸出一個時鐘,輸出的時鐘稱爲clock cone。