Bộ phân tích Thời gian giúp bạn dễ dàng sử dụng các lệnh Synopsys® Design Constraint (SDC) để hạn chế các cấu trúc xung giờ phức tạp, chẳng hạn như đồng hồ nhiều lần. Sau đây cho thấy ba mạch ví dụ và các lệnh SDC thích hợp để hạn chế chúng.
Giả định rằng cổng clk được điều khiển bởi một bộ ghép kênh off-chip chọn giữa hai đồng hồ, một cổng có khoảng thời gian 10 ns và một cổng có khoảng thời gian 8 ns. Các lệnh SDC sau chỉ ra cách gán nhiều đồng hồ cho cổng clk. Nó cũng cho thấy cách thêm một ngoại lệ cho thấy rằng hai đồng hồ sẽ không bao giờ hoạt động cùng một lúc trong môi FPGA.
# Tạo hai đồng hồ trên cổng create_clock -name clk_100 -period 10 [get_ports clk] create_clock clk_125 -period 8 [get_ports clk] -add # Set the two clocks as exclusive clocks set_clock_groups -exclusive -group {clk_100} -group {clk_125}
Giả định rằng cổng clkA được điều khiển bởi một đồng hồ với khoảng thời gian 10 ns và cổng clkB được điều khiển bởi một đồng hồ với khoảng thời gian 8 ns. Các lệnh SDC sau chỉ ra cách gán đồng hồ. Ví dụ này tương tự như ví dụ trước, nhưng đồng hồ được chỉ định cho các cổng riêng biệt.
# Tạo đồng hồ trên mỗi cổng create_clock -name clk_100 -period 10 [get_ports clkA] create_clock clk_125 -period 8 [get_ports clkB] -add # Set the two clocks as exclusive clocks set_clock_groups -exclusive -group {clk_100} -group {clk_125}
Trong trường hợp này, bạn phải sử dụng lệnh set_clock_groups để chỉ ra rằng các đồng hồ A và D, A và B, C và D, và B và C, không bao giờ có thể hoạt động cùng một lúc.
create_clock -name A -period 10 [get_ports clkA] create_clock -name B -period 8 [get_ports clkB] create_clock -name C -period 8 [get_ports clkC] create_clock -name D -period 10 [get_ports clkD] # Cắt đường dẫn giữa đồng hồ set_clock_groups -exclusive -group {A C} -group {B D}