Ví dụ bộ ghép kênh Bộ ghép kênh Bộ phân tích thời gian

author-image

Bởi

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.

Hình 1. Hiển thị một mạch đăng ký để đăng ký đơn giản được nối bởi cổng clk.

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}

Hình 2. Hiển thị một mạch đăng ký để đăng ký đơn giản với bộ ghép kênh đồng hồ trên FPGA, với hai cổng đồng hồ: clkA và clkB.

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}

Hình 3. Hiển thị mạch ghép nối phức tạp hơn với bộ ghép số đồng hồ được liên kết trên FPGA.

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}

Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.