Thay đổi quy trình thiết kế

Một phần của tài liệu (LUẬN văn THẠC sĩ) cấu hình lại phần cứng trong kiến trúc hệ thống nhúng như một khả năng tăng tính linh hoạt của hệ thống tự động (Trang 46 - 49)

CHƢƠNG 2 : CÁC KHÁI NIỆM

3.4. Thay đổi quy trình thiết kế

Tuy nhiên, công cụ Xilinx PlanAhead không cho phép để thiết lập một nhóm một vài IP (tất cả các tập ở mức cao nhất) nhƣ một mô-đun có thể cấu hình lại. Quy trình thiết kế cần phải đƣợc sửa đổi để đáp ứng các yêu cầu hệ thống mới.

Để đối phó với những hạn chế quy trình thiết kế tiêu chuẩn, luận văn này giới thiệu về sửa đổi quy trình thiết kế này. Phƣơng pháp thiết kế sửa đổi đƣợc dựa trên khái niệm thiết kế kiểu mô-đun đƣợc trình bày trong [60]. Tính năng này cho phép các thiết bị tách thành nhiều phần độc lập với tổng hợp, mã hoá, sắp đặt, định tuyến, và lập bản đồ. Sửa đổi đòi hỏi phải định nghĩa các thành phần Socket và Wrapper.

3.4.1. Thay đổi quy trình thiết kế

Thách thức đầu tiên từ cấu trúc của các lõi MicroBlaze IP. MicroBlaze IP là đƣợc cấu hình lại với các thiết bị ngoại vi nhƣ: bộ nhớ chƣơng trình BRAM, bộ điều khiển BRAM, bus PLB [64],.. (hình 2.2). Tại thời điểm này, tất cả các các IP là "bằng" tập con ở mức cao nhất (hình 3.6.a).

Hình 3.6: Phân cấp thiết kế

Nhƣng công cụ PlanAhead của Xilinx không cho phép để thiết lập một nhóm vài IP (tất cả các tập hợp con thể hiện ở mức cao nhất) nhƣ một mô-đun có thể cấu hình lại. Vì vậy, phân cấp hệ thống cần phải đƣợc sửa đổi nhƣ thể hiện trong hình 3.6 (b).

Ở giai đoạn thiết kế đầu tiên (hình 3.7), một thiết kế hoàn chỉnh tĩnh đƣợc xây dựng để kiểm tra hoạt động của toàn bộ hệ thống. Thủ tục thiết kế của giai đoạn này theo quy trình thiết kế tiêu chuẩn cho các thiết bị Xilinx (mục 2.2.2). Sau khi xác nhận các chức năng của bộ điều khiển SDRAM DDR2 chia sẻ, các bộ điều khiển ICAP và các kết nối FSL, chúng ta có một hệ thống hoạt động vẫn hoàn toàn tĩnh. Thiết kế này có tất cả các khối chức năng và các yếu tố cần thiết của hệ thống hoàn toàn linh động mà ta muốn xây dựng sau đó.

Giai đoạn thiết kế thứ hai phá vỡ các hệ thống thành nhiều phần bao gồm tất cả các phần cấu hình lại và phần tĩnh. Mỗi mô đun đƣợc mã hoá, tổng hợp và lập bản đồ theo quy trình thiết kế tiêu chuẩn Xilinx (giai đoạn III của hình 3.7).

Sau khi phân mảnh hệ thống, một số thành phần, chẳng hạn nhƣ bộ điều khiển ICAP hoặc bộ điều khiển DDR2, không còn kết nối với bus PLB. Bởi vì các bộ điều khiển trong phần tĩnh, trong khi các bus PLB thuộc MicroBlaze của mình trong các mô-đun có thể tái cấu hình. Tuy nhiên, các kết nối của các bus PLB không có thể đƣợc mở, vì vậy chúng ta cần thêm PLB_Socket trình bày dƣới đây.

Vào cuối giai đoạn III, các netlist của tất cả các PRM và logic tĩnh đƣợc tạo ra. Sau đó, ở giai đoạn IV, khởi tạo các mô-đun ở mức cao nhất bằng cách tạo ra những gói (wrapper) mô-đun. Sau khi những gói của bốn bộ vi xử lý và một phần tĩnh đƣợc thực hiện, Bus Macros đƣợc khởi tạo để kết nối tín hiệu thích hợp giữa các bộ phận hệ thống. Bây giờ thể hiện ở mức cao nhất có năm tập con: một phần tĩnh và bốn bộ xử lý (hình 3.6.b). Các tập con này là hộp đen và các netlist của chúng sẽ đƣợc gọi ra trong PlanAhead (Giai đoạn V). Ở giai đoạn này, bốn bộ xử lý có thể đƣợc thiết lập nhƣ là mô-đun có thể cấu hình lại. Chúng có thể đƣợc trải ra để tạo ra các bitstream phần cứng của toàn bộ hệ thống. Bƣớc VI của luồng hợp nhất các bộ phận phần cứng với các chƣơng trình MicroBlaze sửa đổi để hình thành các bitstream cuối cùng bao gồm bitstream đầy đủ ban đầu và tất cả các bitstream từng phần.

Sự hiện diện của logic tĩnh cũng rất cần thiết trong thiết kế. Trong khu vực tĩnh, Macros Bus đƣợc khởi tạo, nhƣng chúng đƣợc đặt tại các PRR ở giai đoạn sắp đặt và định tuyến để giữ cho các logic giao diện không thay đổi trong cấu hình lại. Bộ điều khiển cấu hình lại đƣợc ánh xạ trong khu vực này. Hai bộ ghép kênh đƣợc khởi tạo trong phần tĩnh của thiết kế.

3.4.2. Socket

Mục tiêu của xây dựng Socket là để giới thiệu sự hiện diện của các thiết bị ngoại vi tồn tại trong hệ thống con khác. Kể từ khi bộ điều khiển DDR2, bộ điều khiển ICAP (đƣợc kết nối với PLB Bus [64]) và các bus FSL đƣợc chia sẻ giữa bốn hệ thống bộ xử lý con, chúng phải đƣợc khởi tạo trong hệ thống phụ khác. Vì vậy, tại giai đoạn thiết kế hệ thống con, mỗi bộ xử lý không còn kết nối trực tiếp với các bộ điều khiển. Điều này tạo ra các lỗi tổng hợp phần cứng bởi vì các kết nối của PLB và bus FSL không phải là mở. Socket là một mặt nạ có một đầu kết nối đến bus để bảo tồn kết nối, đầu kia là để đƣợc kết nối với Bus Macros sau đó. Do đó, socket bây giờ là một thiết bị ngoại vi mới giúp làm đầy đủ các thành phần của một bộ xử lý. Đặc biệt là cho bus PLB, khi nó là một bus multi-slave, do đó, có một bộ dịch địa chỉ thực hiện trong các socket để bộ xử lý có thể giao tiếp với thiết bị ngoại vi thích hợp của bus PLB. Một vai trò khác của các socket là làm cho một thiết bị ngoại vi giả mạo xuất hiện trong các bộ nhớ địa chỉ của bộ xử lý giúp bộ vi xử lý điều khiển thiết bị ngoại vi còn thiếu với các chƣơng trình phần mềm. Điều này đòi hỏi một thay đổi nhỏ trong chƣơng trình của bộ vi xử lý.

3.4.3. Wrapper

Tất cả các giao diện kết nối của mỗi mô-đun có thể cấu hình lại đƣợc khai báo trong wrapper của nó, do đó, wrapper của PRM khác nhau cho một PRR phải giống nhau. Wrapper thực tế là một hộp đen đƣợc viết bằng ngôn ngữ HDL và mô tả tất cả các giao diện của một PRM với logic tĩnh. Bốn hàm đƣợc viết cho bốn bộ xử lý tƣơng ứng (hình chữ nhật nét đứt trong hình 3.1) để mỗi bộ xử lý có thể đƣợc thiết kế độc lập bằng cách sử dụng quy trình thiết kế tiêu chuẩn (Sec. Intro). Một lợi thế lớn của việc sử dụng Wrapper là chúng ta không phải quan tâm về sự phức tạp cấu trúc của một mô-đun cấu hình lại. Tất cả những khó khăn trong khi xây dựng một mô-đun phức tạp đƣợc quản lý bởi các công cụ FPGA Xilinx CAD, chúng ta chỉ cần giữ swrapper PRM thay thế để đƣợc giống nhƣ bản gốc.

Một lợi thế của quy trình thiết kế này là các cơ sở của việc tạo ra các wrapper HDL cho tất cả các mô-đun cấu hình lại giúp giảm bớt các thiết kế của hệ thống mô- đun phức tạp. Chỉ có một thay đổi nhỏ của những wrapper cần thiết để thích ứng với một mô-đun cấu hình lại thay thế cho hệ thống. Nếu chúng ta muốn thay thế phần N bởi phần N‘ (bất kể sự phức tạp của mô-đun), chúng ta chỉ cần giữ tên kết nối không thay đổi để wrapper HDL của nó là giống nhƣ bản gốc. Tất cả các cấu trúc phức tạp của các mô-đun N‘ đƣợc quản lý bởi các công cụ CAD.

Một phần của tài liệu (LUẬN văn THẠC sĩ) cấu hình lại phần cứng trong kiến trúc hệ thống nhúng như một khả năng tăng tính linh hoạt của hệ thống tự động (Trang 46 - 49)

Tải bản đầy đủ (PDF)

(82 trang)