1.6 TIẾN HÀNH THIẾT KẾ HỆ THỐNG
1.6.3. Nền tảng hệ thống nhúng
Kiến trúc mục tiêu của một nền tảng hệ thống nhúng bao gồm một tiêu chuẩn bộ vi xử lý được giao tiếp chặt chẽ với FPGA có thể cấu hình lại . Chúng được kết nối với bộ nhớ truy cập ngẫu nhiên tĩnh (RAM). Đây là một dạng pro của giải pháp chip đơn của một hệ thống có thể cấu hình lại. Hệ thống như vậy có sẵn, ví dụ, Siemens Tricore hoặc National Napa1000 .Bộ xử lý có thể cấu hình lại. Napa1000 là một triển khai chip đơn cho xử lý tín hiệu cung cấp cả logic cố định (RISC 32-bit (Giảm máy tính bộ hướng dẫn) lõi) và phần logic có thể cấu hình lại (cổng 50-k bộ xử lý logic thích ứng). Để phát triển phương pháp ký mã và luồng tổng hợp tương ứng, một PC Linux được sử dụng để phát triển nền tảng và bộ xử lý máy chủ và bo mạch XC6200DS như một thiết bị có thể cấu hình lại tài nguyên phần cứng. Các thành phần chính của bo mạch này là giao diện PCI và một đơn vị xử lý có thể cấu hình lại XC6216. Hơn nữa, có hai ngân hàng bộ nhớ bao gồm, có thể được truy cập từ cả DPGA và bus PCI. Điểm nổi bật nhất của DPGA này là bộ vi xử lý của nó giao diện. Các hoạt động ghi và đọc trực tiếp trên một địa chỉ và bus dữ liệu là được hỗ trợ cho mọi ô logic hoặc thanh ghi trên chip. Điều này cung cấp một chủ nghĩa mech để truyền dữ liệu giữa các thành phần phần cứng và phần mềm của thiết kế. Trình bao bọc phần cứng có thể đọc và ghi vào mọi thanh ghi của thiết kế phần cứng tại thời điểm chạy.
Việc triển khai này được gọi là giao diện gốc JaCoP. Một triển khai gốc thay thế cho hệ thống thời gian chạy được gọi là JaCoP thông dịch viên. Hiệu suất của trình thông dịch JaCoP được xác định bởi chi phí của cấu hình lại DPGA và giao tiếp giữa phần cứng và phần mềm. Cấu hình lại hoàn chỉnh của chip quá chậm đối với các ứng dụng động với thời hạn mềm. Thời gian
điển hình cho phạm vi cấu hình lại tiêu chuẩn từ 30 ms đến 400 ms tùy thuộc vào kích thước của mạch. Theo thứ tự để giảm chi phí cấu hình lại này, một cơ chế nén và việc truyền tải các tệp cấu hình DPGA được cải thiện đã được lựa chọn phát triển. Về cơ bản, tất cả các cặp địa chỉ và dữ liệu dư thừa đều bị bỏ qua và dữ liệu cấu hình cần thiết được truyền ở định dạng nhị phân. Bằng cách sử dụng cái này tối ưu hóa, thời gian cấu hình lại giảm xuống khoảng 4 ms đến 31 ms. ngoài ra cấu hình lại, yếu tố quan trọng thứ hai giới thiệu chi phí là giao tiếp phần cứng và phần mềm. Triển khai hiệu quả giao diện phần cứng và phần mềm là yếu tố quan trọng nhất cho tổng thể hiệu suất của hệ thống kết hợp. Trong kiến trúc này, giao tiếp là được thực hiện bằng cách ghi và đọc các thanh ghi nội bộ trên DPGA. Cho XC6216, một thao tác ghi hoặc đọc chỉ có thể truy cập một cột cụ thể
của các ô logic. Để giảm thiểu chi phí liên lạc, tối ưu hóa bố cục là được sử dụng để các thanh ghi riêng lẻ được đặt trong các cột riêng lẻ bất cứ khi nào khả thi. Hơn nữa, đối với DPGA đã sử dụng, một cái gọi là thanh ghi bản đồ được định cấu hình trước khi truy cập một thanh ghi riêng lẻ để che dấu hàng của ô logic.
Việc lập hồ sơ cho thấy rằng đây là một quá trình rất tốn thời gian,do đó, tối ưu hóa thứ hai cho bố cục của các thiết kế phần cứng được sử dụng.
Bất cứ khi nào có thể, tất cả các thanh ghi I / O (đầu vào / đầu ra) của một thiết kế phải được được đặt trong các hàng tương ứng. Bằng cách sử dụng ràng buộc bố cục này, cấu hình của sổ đăng ký bản đồ có thể tránh được trước khi truy cập đọc hoặc ghi.
Rõ ràng, quyền truy cập đăng ký được cải thiện đáng kể từ khoảng 70 micro giây xuống còn 8 micro giây. Bằng cách sử dụng những tối ưu hóa này, tổng chi phí để tích hợp bên ngoài phần cứng có thể được quy cho các thành phần khác nhau liên quan đến quá trình thực thi DPGA. Khoảng 78% tổng thời gian
cho phép tương tác phần cứng xảy ra trong máy ảo và trình điều khiển thiết bị. Khoảng 22% trong số thời gian được sử dụng để thực hiện thiết kế DPGA và truyền dữ liệu qua bus PCI. Vì lý do này, tăng tốc độ triển khai phần cứng và phần mềm hỗn hợp
chỉ có thể đạt được bằng cách thực hiện một phương pháp có độ phức tạp đáng kể trong phần cứng. Di chuyển các thao tác đơn giản như phép cộng hoặc phép nhân sang phần cứng DPGA không thể tăng tốc do có liên quan đến chi phí. Các ví dụ phức tạp hơn bao gồm một thuật toán để phát hiện lỗi và ghi lại lỗi. Mã Hamming thường được sử dụng cùng với các mã khác để phát hiện và sửa lỗi bit đơn. Cả hai nhà lập trình Hamming và bộ giải mã được thực hiện trên DPGA. Vì ứng dụng này bao gồm
các hoạt động mức bit phức tạp hơn, phần cứng tăng tốc đáng kể và việc triển khai phần mềm có kinh nghiệm so với việc thực thi nguyên mẫu phần mềm trên CPU chủ. Lợi thế chính của người bản xứ giao diện là nó có thể được sử dụng với bất kỳ máy ảo Java nào, ví dụ, một opti-mized JVM2, chỉ có ở dạng nhị phân.
Một sự tăng tốc đáng kểcó thể đạt được bằng cách tích hợp nền tảng phần cứng có thể cấu hình lại. Nếu một ứng dụng có các thành phần phức tạp tính toán được thực thi trên bo mạch DPGA, khả năng thực thi tăng tốc phần cứng có thể giảm thiểu chi phí cần thiết cho việc cấu hình lại và giao tiếp. Các kết quả cũng cho thấy rằng việc triển khai sử dụng các hàm gốc có một hạn chế về hiệu suất khi so sánh với việc sửa đổi máy ảo. Mặt khác, cách triển khai này đặc biệt hấp dẫn khi sử dụng các JVM thương mại.
Một môi trường thiết kế mã cho thiết kế dựa trên Java của các hệ thống nhúng làm việc ròng có thể định cấu hình lại, JaCoP bao gồm các công cụ hỗ trợ đặc điểm kỹ thuật, phân vùng phần cứng và phần mềm, lập hồ sơ, tổng hợp và nguyên mẫu
chấp hành. Cách tiếp cận này cung cấp các phương tiện để triển khai phần cứng và chủ đề phần mềm. Nhiều chủ đề có thể đồng
thời sử dụng các tính năng của một kiến trúc DPGA có thể cấu hình lại. Dựa trên cation specifi Java Beans, một phương pháp thích hợp để tái sử dụng thiết kế được tích hợp. Thiết kế luồng được triển khai và thử nghiệm trên PC được kết nối với thiết bị có thể cấu hình lại bo mạch phần cứng.