Các giai đoạn thiết kế sử dụng ISE

Một phần của tài liệu đồ án “tích hợp thuật toán mật mã DES trên FPGA” (Trang 33 - 38)

Các giai đoạn thiết kế sử dụng ISE trên công nghệ FPGA bao gồm nhiều bước. ISE cung cấp một bộ công cụ cần thiết để tạo ra những thiết kế từ đơn giản đến phức tạp và đảm bảo thiết kế đạt được yêu cầu cần thiết. Một thiết kế có thể bắt đầu từ các ngôn ngữ mô tả phần cứng (VHDL, Verilog) hay sơ đồ (Schematic) hoặc trong vài trường hợp nó là một sự pha trộn giữa sơ đồ và ngôn ngữ mô tả phần cứng.

Có thể gộp các giai đoạn thiết kế trên ISE thành một số bước chính như hình dưới:

Nhập thiết kế (Design Entry)

Nhập thiết kế là bước đầu tiên trong dòng thiết kế ISE. Trong khi nhập thiết kế, phải tạo các file nguồn trên cở sở mục đích thiết kế. Có thể tạo ra các file thiết kế bậc cao bằng cách dùng ngôn ngữ mô tả phần cứng (chẳng hạn như VHDL, Verilog, hay Abel) hoặc dùng 1 sơ đồ (schematic). Người thiết kế có thể dùng nhiều định dạng cho các file nguồn cấp thấp trong các thiết kế của mình.

Hình 2.6: Giai đoạn nhập thiết kế

Tổng hợp (Synthesis)

Sau khi nhập thiết kế và mô phỏng tuỳ ý, thực hiện chạy trình tổng hợp. Trong bước này, các thiết kế với các ngôn ngữ VHDL, Verilog, ABEL hay 1 ngôn ngữ hỗn hợp nào đó (như Schematic/VHDL) được kiểm tra cấu

trúc và cú pháp sau đó khi đã đáp ứng được yêu cầu nó sẽ trở thành các file Netlist (danh sách dạng lưới) - và được chấp nhận như đầu vào bước thực hiện.

Hình 2.7: Giai đoạn tổng hợp

Đây là một bước không thể thiếu trong thiết kế nó giúp chuyển đổi thiết kế từ cách biểu diễn bằng ngôn ngữ mô tả phần cứng thành cách biểu diễn vật lý hay logic. Bước này cần phải tạo ra một kết quả nhanh và tối ưu nhất. XILINX ISE tích hợp một loạt các công cụ tổng hợp hàng đầu từ các thế hệ GRAPHIC/EXEMPLAR, Synopsis, và Synplicity. XILINX ISE cũng cung cấp công cụ tổng hợp bản quyền của XILINX là XST. Người thiết kế có thể sử dụng bất kỳ một cách thức tổng hợp nào được tích hợp trong ISE. Thậm chí còn có thể sử dụng nhiều cách tổng hợp cùng một lúc để thu được kết quả là tối ưu nhất.

Trong quá trình tổng hợp còn có thể thực hiện sự mô phỏng theo hành vi mà không cần phải qua bước thực hiện (chủ yếu là mô phỏng các hàm của thiết kế). Kết thúc quá trình tổng hợp sẽ có những bảng thông báo về quá trình tổng hợp thiết kế.

Thực hiện thiết kế (Implementation)

Sau khi tổng hợp, thực hiện thiết kế để chuyển các thiết kế logic thành một định dạng file vật lý và được tải xuống thiết bị đích được chọn. Có thể chạy thực thi quá trình trong 1 bước hay chạy các thực thi quá trình trong từng bước riêng lẻ. Có 4 bước:

- Dịch (Translate): Dịch thiết kế và kiểm tra các quy tắc thiết kế (DRC). Quá trình dịch chạy chương trình NGDBuild để trộn tất cả các netlists đầu vào như là các thông tin chính của thiết kế tới một file cơ sở dữ liệu của Xilinx.

- Ánh xạ (Mapping): Tính toán và định vị tài nguyên vào bên trong một FPGA của Xilinx.

- Sắp xếp đặt và kết nối (Place and Route): Đặt các CLB vào vị trí tiện cho kết nối tài nguyên. Chương trình này chấp nhận một thiết kế đã được ánh xạ, đặt và kết cấu FPGA và tạo ra đầu ra cho bộ phát pitstream.

- Tạo cấu hình (Configure): Tạo ra dòng bit lập trình (file *.bit) Một số công cụ trợ giúp Implementation đối với FPGA cần chú ý: - Floorplanner: Đây là một công cụ trợ giúp việc xem và chỉnh sửa việc sắp đặt thiết kế của FPGA. Floorplanner có thể được xem như một lựa chọn tốt nhất để hoàn thiện thiết kế bởi việc định ra sự sắp đặt và kết nối phù hợp cũng như sự tự động điều chỉnh việc kết nối một cách tối ưu. Floorplanner được sử dụng trong giai đoạn Implementation ở một vài thời điểm như: trước khi ánh xạ, trước khi Place and Route và sau khi Place and Route

- FPGA Editor (trình soạn thảo FPGA): Đây là công cụ giúp xem và soạn thảo việc sắp đặt và kết nối thiết kế trong thiết bị trước khi chương

trình tiến hành chạy tự động, hay sau khi chương trình đã tự động sắp đặt và kết nối.

Kiểm tra, mô phỏng (Simulation)

Có thể kiểm tra các chức năng thiết kế của mình tại nhiều vị trí trong dòng thiết kế. Có thể sử dụng phần mềm mô phỏng để kiểm tra chức năng, định thời của thiết kế hay một phần trong thiết kế. Trình mô phỏng sẽ dịch các mã chương trình VHDL hay Verilog thành các mạch chức năng và hiển thị kết quả logic của HDL được mô tả đến các mạch xác định. Có thể thực hiện sự mô phỏng trước khi tiến hành thực hiện thiết kế (mô phỏng theo hành vi - Simulating Behavioral VHDL) hoặc tiến hành mô phỏng sau khi đã thực hiện thiết kế (Performing Post-Map Simulation).

Trình mô phỏng được sử dụng rộng rãi trong các thiết kế của Xilinx là MODEL SIM. Đây là trình mô phỏng được cài đặt trên môi trường của ISE, và hỗ trợ cho ISE. Để có thể mô phỏng bằng MODEL SIM người thiết kế phải tạo ra các file nguồn mô phỏng, như là VHDL Test bench hay Test bench Wavefrom

Nạp chương trình cho thiết bị (Download)

Sau khi thực hiện thiết kế thành công và đã tạo 1 file chương trình, tiến hành cấu hình cho thiết bị. Trong khi cấu hình người thiết kế tạo một file cấu hình và tải file chương trình từ máy tính chủ xuống thiết bị của Xilinx đã chọn.

Sử dụng công cụ IMPACT là công cụ có thể chuyển đổi ra nhiều cấu trúc file lập trình thích hợp nạp cho thiết bị, công cụ này đã được tích hợp trong ISE. Ngoài ra để cấu hình cho thiết bị trong ISE còn tích hợp các công cụ như: BitGen, XPowe và ChipScope Pro.

Một phần của tài liệu đồ án “tích hợp thuật toán mật mã DES trên FPGA” (Trang 33 - 38)