IP BLOCK DESIGN (Phần 1)
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: