Chỉnh sửa các ràng buộc

Một phần của tài liệu Thiet ke mach dien bang may tinh (Trang 126 - 131)

Để đạt được hiệu suất mà ta cần từ thiết bị, ta phải thông báo tới các công cụ thực thi yêu cầu về hiệu suất gì và ở đâu trên thiết bị. Thiết kế ở trên chậm và những ràng buộc về thời gian là không cần thiết. Các ràng buộc có thể là ràng buộc về vật lý. Đối với thiết kế này, thừa nhận rằng những chỉ dẫn cho tần số xung nhịp là 100MHz và vị trí các chân phù hợp cho thiết bị CoolRunner-II trên một Board đã được thiết kế trước.

1. Trong cửa sổ Processes, hãy mở rộng cây User Constraints và kích đúp vào

Assign Package Pins. Do không có một file ràng buộc nào trong thiết kế này nên

phần mềm sẽ tạo ra một file ràng buộc tên là “top.ucf”. File ràng buộc này sẽ được gán với file nguồn mức đỉnh của mình.

Hình 4.59: Chọn Assign Package Pins.

Chú ý rằng bước Translate trong mục Implement Design chạy hoàn toàn tự động. Bởi vì giai đoạn thực thi cần phải biết được danh sách mạng kết nối (Netlist) trước khi nó có thể đưa ra khả năng cho phần ràng buộc của thiết kế. Khi việc biên dịch đã hoàn tất thì công cụ PACE (Pinout Area and Constraints Editor) sẽ mở ra. Nếu đã có sẵn các ràng buộc trong một File UCF thì chúng sẽ được kế thừa và hiển thị bởi công cụ PACE. Ngược lại, nếu chúng ta chưa có File UCF thì sẽ không có gì để công cụ PACE kế thừa. Trong danh sách đối tượng thiết kế, ta có thể nhập vào nhiều các ràng buộc trên các chân I/O được sử dụng trong thiết kế. Công cụ PACE nhận ra 5 chân trong thiết kế và hiển thị chúng trong một danh sách.

2. Ta hãy kích chuột vào vùng Loc bên cạnh mỗi chân tín hiệu và nhập vào các ràng buộc về vị trí như hình 4.60.

Hình 4.60: Nhập vào các ràng buộc về vị trí các chân.

3. Khi một chân được chọn sáng trong Design Object List thì chân đó đã bị “khóa” (tức là đã được gán). Nếu ta đưa con trỏ qua chân này thì các thông tin về nó sẽ được hiển thị như hình 4.61.

Hình 4.61: Thông tin về chân bị khóa được hiển thị.

4. Lưu và thoát khỏi công cụ PACE. Lúc này ta có thể nhìn thấy các ràng buộc trong File UCF.

5. Bây giờ ở dưới Tab User Constraints, ta hãy kích đúp vào Edit Constraints

(Text) trong cửa sổ Processes. File UCF sẽ được mở ra trong cửa sổ chính của ISE Project Navigator. Các ràng buộc đã được nhập vào trong PACE có thể

được nhìn thấy như hình 4.62 dưới đây.

Hình 4.62: Các ràng buộc được thêm vào từ PACE.

6. Để khai báo một tín hiệu là một tài nguyên bao trùm trong toàn thiết kế, ta có thể thêm ràng buộc BUFG. Trong trường hợp này, chúng ta sẽ thêm ràng buộc BUFG cho tín hiệu clock. Ta hãy nhập vào cú pháp sau trong File Text.

NET “clock” BUFG = CLK; 7. Ta hãy lưu lại File Text này.

8. Bước tiếp theo là tạo ra các ràng buộc về thời gian. Với File UCF được chọn sáng trong cửa sổ Sources, hãy kích đúp vào Creat Timing Constraints trong cửa sổ Processes.

9. Công cụ Constraint Editor sẽ được mở ra. Công cụ này cũng có thể được dùng để thiết lập các ràng buộc về vị trí các chân tín hiệu trong thiết kế nhưng trong cuốn sách này chỉ giới thiệu cách dùng để tạo các ràng buộc về thời gian.

Hình 4.63: Cửa sổ Xilinx Constraints Editor.

10. Công cụ Constraints Editor nhận ra một tín hiệu là toàn cục trong thiết kế. Ta hãy kích đúp vào cửa sổ Period của tín hiệu clock toàn cục.

Hình 4.64: Cửa sổ thời gian xung nhịp.

11. Trong cửa sổ Clock Period, nhập giá trị cho Time là 10 ns. Một chu kỳ xung nhịp nên để ở khoảng 50% mức cao và 50% mức thấp.

12. Chọn OK. Ràng buộc về thời gian bây giờ sẽ được ghi vào File UCF và có thể được nhìn thấy trong danh sách các ràng buộc ở phía dưới cửa sổ công cụ

Constraint Editor. Một ràng buộc về thời gian đảm bảo rằng các đường tín bắt

đầu và kết thúc ở mỗi điểm đồng bộ (của Flip-Flop, Latch) có mức trễ logic nhỏ hơn 10 ns.

13. Kích đúp vào Tab Ports ở công cụ Constraint Editor ta sẽ thấy có rất nhiều các ràng buộc đã được thêm vào trong File UCF. Ta hãy chọn sáng ba cổng lối ra là “red_light”, “green_light”, và “amber_light” bằng cách dùng phím Ctrl để chọn cùng một lúc các cổng này như hình vẽ.

Hình 4.65: Tạo nhóm trong Constraints Editor.

14. Ở trường Group Name, hãy gõ vào “lights” và sau đó chọn nút Creat

Group.

15. Trong Select Group, chọn “lights” và sau đó chọn nút Clock to Pad. (adsbygoogle = window.adsbygoogle || []).push({});

16. Ở hộp thoại Clock to Pad, thiết lập Time Requirement là 15ns, Relative to

Clock Pad Net chọn clock (ở đây chỉ có một xung nhịp clock nhưng trong các

Hình 4.66: Hộp thoại Clock to Pad.

17. Chọn OK.

Lưu ý rằng các trường đã chọn trong hộp thoại Clock to Pad đã được tự động thêm vào File UCF đã được tạo ra. File UCF có nội dung như hình 4.67 dưới đây.

Hình 4.67: Nội dung file “top_sch.ucf”.

18. Lưu lại phiên làm việc với Constraints Editor và sau đó thoát ra khỏi

Constraints Editor.

Một phần của tài liệu Thiet ke mach dien bang may tinh (Trang 126 - 131)