Monday, June 11, 2018


IP BLOCK DESIGN
(Phần 1)
IP đóng vai trò quan trọng trong FPGA ngày nay và ngành hệ thống nhúng. Cho phép các nhà thiết kế hệ thống chọn một loạt các thiết kế được phát triển trước. Điều này giúp cho chúng ta có thể rút ngắn thời gian phát triển cũng như cung cấp chức năng được đảm bảo mà không cần thực nghiệm rộng rãi
Trong nội dung này chúng ta xem xét những gì về sở hữu trí tuệ _ nền tảng của Zynq_7000, xu hướng của ngành và những nguốn IP có sẵn. Cùng với đó chúng ta sẽ xem được các luồng thiết kế Xilinx có sẵn để tạo và duy trì danh mục IP của riêng mình.

GIỚI THIỆU
Trước tiên  để xử lý IP chúng ta phải hiểu ý nghĩa của hai cụm từ khối IP và lõi IP . Cả hai điều là đặc tả phần cứng mà có thể sử dụng để cấu hình tài nguyên logic của một FPGA hoặc các thiết bị silicon khác,  sản xuất vật lý một mạch tích hợp. Trong đó lõi IP được chia làm hai loại là lõi hard IP và lõi soft IP.

 Lõi soft IP cho phép người dùng cuối cùng tùy chỉnh IP ở mức độ nhất định. Mức độ tùy biến phụ thuộc vào độ chính xác của định dạng mà IP được phân phối. Mức độ tùy chỉnh cao nhất khi soft core được cung cấp dưới dạng tổng hợp RTL, tức là được cung cấp source code HDL. Đối với những người quen thuộc với lập trình phần mềm, điều này tương ứng như một chương trình máy tính được cung cấp mã nguồn cấp cao chẳng hạn như C/C++. Người dùng tự do sửa đổi source code HDL trước khi tổng hợp ( hoặc tương tự biên dịch đối với người chuyên về phần mềm ) để thực hiện trên một thiết bị đích. Điều đáng lưu ý là hầu hết các nhà cung cấp IP sẽ không hỗ trợ hoặc bảo hành cho nhà thiết kế khi IP đã bị sửa đổi. Măc dù các file source không thể sửa đổi được nhưng IP vẫn có thể tùy chỉnh thông qua việc sử dụng các tham số.

 Một định dạng khác mà soft cores có thể được cung cấp là một netlist (thư viện chuẩn) mức độ cổng. Tức là nhà cung cấp IP đã tổng hợp một phần của IP riêng lẻ và sẽ cung cấp cho bạn một số cổng logic thực hiện chức năng của IP. Mặc dù có thể tùy chỉnh nhưng điều này làm cho chức năng của IP khó triển khai hơn nếu có bất cứ thay đổi nào. Như vậy, IP được phân phối dưới dạng netlist cung cấp cho nhà cung cấp IP với một mức độ bảo mật nhất định từ việc tiết lộ các thuật toán và quy trình cơ bản. Điều này tương tự với một nhà phát triển phần mềm biên dịch source code C cung cấp một danh sách code assembly; code vẫn có thể sửa đổi, nhưng nó cần phải thực hiện ở mức thấp hơn.

Cả hai phương pháp phân phối IP này được coi là soft vì chũng cho phép người dùng kiểm soát tổng hợp, đặt và định tuyền luồng thiết kế.

Lõi hard IP được cung cấp ở các định dạng, điều này làm cho không có phương pháp sửa đổi nào đối người dùng cuối. Và trong một số trường hợp, chức năng của IP được thực hiện trong thiết bị silicon ở nơi sản xuất.

Một phương pháp mục tiêu phân phối cho hard IP được nhắm đến đó là thực hiện trên FPGA/ASIC. Chúng cung cấp một thiết kế đã trải qua quá trình đầy đủ synthesis, place and route design flows. Đôi khi điều này còn được gọi là firm IP. Vì IP đã trải qua giai đoạn place and route design flow, mỗi IP riêng lẻ phải nhắm đến muc tiêu vào thiết bị đầu cuối hoặc họ của thiết bị và không dễ dàng được chuyển sang thiết bị khác. Ngoài ra còn có những bất lợi đó là một khu vực cụ thể của thiết bị phải được sử dụng cho việc thực hiện IP. Mặc dù điều này có bất lợi là chức năng của IP không thể tùy chỉnh theo bất kỳ cách nào nhưng nó cũng mang lại lợi thế là có khả năng dự đoán cao về hiệu suất thời gian và khu vực phần cứng yêu cầu.

Một phương pháp phân phối khác để thực hiện hard IP là cung cấp một bố cục transistor. Đây là một định dạng chỉ tương thích với quy tắc thiết kế quy trình của một xưởng đúc cụ thể và do đó Hard IP được phân phối sử dụng trong một xưởng đúc không thể được sử dụng trong một nền tảng khác mà không trải qua quá trình chuyển đổi khó khan. Một số nhà khai thác lớn hơn thâm chí còn đi xa để cung cấp các lõi IP cứng đặc biệt nhắm mục tiêu quy tắc thiết kế quy định thiết kế đúc của riêng họ  để đảm bảo rằng khách hàng phải sử dụng dịch vụ của họ. Hình thức phân phối IP cứng này không áp dụng cho các FPGA.

Xilinx cung cấp một danh sách mở rộng các soft IP core cho gia đình Zynq-7000 được tối ưu hóa  để cung cấp hiệu quả cả về hiệu năng lẫn phần cứng. Phạm vi chức năng từ các khối xây dựng, chẳng hạn như FIFO và toán tử số học, tất cả các con đường đến các khôi xử lý  đầy đủ chức năng, chẳng hạn như lõi vi xử lý của MicroBlaze.

Bên thứ ba IP cũng có sẵn cả về mặt thương mại lẫn cộng đồng mã nguồn mỡ. IP của bên thứ 3 có hai dạng: nhà cung cấp cụ thể và chung chung. IP của nhà cung cấp nên yêu cầu sửa đổi để làm cho chúng phù hợp với các quy ước đặc tên HDL nhất định.

Tùy chọn cuối cùng để lấy IP cho thiết kế của bạn là tự tạo ra nó. Phương pháp truyền thống của thế hệ IP  là cho nó được phát triển trong HDL, chẳng hạn như VHDL hoặc Verilog. Gần đây, các phương pháp tạo IP khác đã được đưa vào bộ công cụ Xilinx, chẳng hạn như thiết kế dựa trên mô hình trình tạo hệ thống (System Generator) hoặc Vivado HLS. Các công cụ của bên thức ba khác cũng tồn tại.

Post a Comment: