3.4.2.1. Tối ưu hóa dựa trên những rằng buộc về thời gian
Trong quá trình tối ưu hóa thiết kế dựa trên những rằng buộc về thời gian đã được định nghĩa từ trước, kết quả của bước fix time tùy thuộc rất nhiều vào những rằng buộc về thời gian (timing constraints). Trong quá trình fix time, Magma sử dụng một số phương pháp để tối ưu hóa cho thỏa mãn timing.
Thay đổi cấu trúc logic: ta có thể thay đổi vị trí logic của một cell hoặc một cổng nào đó cho nếu nó không thỏa mãn các rằng buộc về thời gian, mà không ảnh hưởng tới chức năng của mạch.
Một số lệnh có thể được dùng:
Run gate speed $m $l –multipass –balance medium
Run gate swap $m $l
Run gate speed $m $l
Redundancy removal: loại bỏ đi những cổng không cần thiết.
Gain Triming: Gain triming được điều chỉnh trong suốt quá trình fix time. Ban đầu giá trị của tất cả các cell được đặt là 1. Giá trị gain này sẽ tạo ra những slack path âm hoặc dương. Giá trị của Gain sẽ được thay đổi trong qua trình fix time sao cho giá trị của slack trên các path về 0.
Slack âm
Slack >= 0
Hình 3.19: Khi chưa điều chỉnh Gain, Slack âm
Hình 3.20: Sau khi đã điều chỉnh Gain, Slack dương Một số lệnh dùng trong gain triming
Run gate trim $m $l
Run gate trim $m $l
Khi thực thi lệnh
Fix time $m $l –option
Gain giảm Gain = 1
Tùy theo các option mà Magma sẽ thực thi rất nhiều lệnh khác. Đây là lệnh chung tổng quát nhất cho bước fix time.
3.5. Sắp xếp các module và tạo các đường power - Floorplanning Và Power Routing