Chào các bạn,
Tại sao lại mở đề tài về systemC? Bộ RTL (VHDL và Verilog) không đủ để thiết kế hay sao?
Như các bạn đã biết là thường thì những kỹ thuật số, đặc biệt là bộ lọc được khai triển dùng Matlab hoặc C. Mô phỏng cách hoạt động dùng Matlab hoặc C vừa đơn giản, vừa dễ thử nghiệm cho nên những người làm về system hoặc DSP thường dùng một trong 2 cách mô tả này.
Sau khi vừa ý về cách hoạt động, một vài khối trong hệ thống có thể phải chuyển qua phần cứng để có thể đạt chỉ tiêu về độ chạy (performance)
1) DSP - Nửa cứng, nửa mềm, có thể đạt độ chạy tương xứng và vẫn linh động để có thể thay đổi dễ dàng nhưng khá tốn kiếm cho phần cứng, tốn nhiều nhiên liệu, chạy nóng hơn và tốn nhiều chỗ.
2) RTL (FPGA hoặc ASIC) - Lợi về độ chạy, nhiên liệu, nhỏ và đỡ tốn kém. Yếu điểm là khó thay đổi.
Để chuyển từ C qua RTL, hiện nay đa số vẫn dùng cách chuyển bằng tay (manual). Cách chuyển này thường dễ tạo ra lỗi do nhiều dữ kiện và vì vậy thời gian thử nghiệm gia tăng và mức gia tăng này có thể gấp nhiều lần so với độ phức tạp của thiết kế.
C chỉ có thể mô tả cách hoạt động tuần tự cho nên không thích hợp với những hệ thống đòi hỏi về hoạt động đồng bộ (multi-thread). SystemC extension đã xuất phát để giải quyết vấn đề này.
SystemC synthesis subset (tổng hợp) cũng đã được đề ra để cho những công cụ tổng hợp tuân theo và chuyển từ systemC qua RTL. Khi tổng hợp, những công cụ này phải làm những công việc mà bình thường được làm bằng tay với lợi điểm là lẹ và chính xác về thời gian hơn.
Hẹn các bạn trong những bài sau để đi sâu vào cấu trúc của systemC. Bạn nào có kinh nghiệm về systemC, xin tham gia và bổ túc. Cám ơn rất nhiều
Tại sao lại mở đề tài về systemC? Bộ RTL (VHDL và Verilog) không đủ để thiết kế hay sao?
Như các bạn đã biết là thường thì những kỹ thuật số, đặc biệt là bộ lọc được khai triển dùng Matlab hoặc C. Mô phỏng cách hoạt động dùng Matlab hoặc C vừa đơn giản, vừa dễ thử nghiệm cho nên những người làm về system hoặc DSP thường dùng một trong 2 cách mô tả này.
Sau khi vừa ý về cách hoạt động, một vài khối trong hệ thống có thể phải chuyển qua phần cứng để có thể đạt chỉ tiêu về độ chạy (performance)
1) DSP - Nửa cứng, nửa mềm, có thể đạt độ chạy tương xứng và vẫn linh động để có thể thay đổi dễ dàng nhưng khá tốn kiếm cho phần cứng, tốn nhiều nhiên liệu, chạy nóng hơn và tốn nhiều chỗ.
2) RTL (FPGA hoặc ASIC) - Lợi về độ chạy, nhiên liệu, nhỏ và đỡ tốn kém. Yếu điểm là khó thay đổi.
Để chuyển từ C qua RTL, hiện nay đa số vẫn dùng cách chuyển bằng tay (manual). Cách chuyển này thường dễ tạo ra lỗi do nhiều dữ kiện và vì vậy thời gian thử nghiệm gia tăng và mức gia tăng này có thể gấp nhiều lần so với độ phức tạp của thiết kế.
C chỉ có thể mô tả cách hoạt động tuần tự cho nên không thích hợp với những hệ thống đòi hỏi về hoạt động đồng bộ (multi-thread). SystemC extension đã xuất phát để giải quyết vấn đề này.
SystemC synthesis subset (tổng hợp) cũng đã được đề ra để cho những công cụ tổng hợp tuân theo và chuyển từ systemC qua RTL. Khi tổng hợp, những công cụ này phải làm những công việc mà bình thường được làm bằng tay với lợi điểm là lẹ và chính xác về thời gian hơn.
Hẹn các bạn trong những bài sau để đi sâu vào cấu trúc của systemC. Bạn nào có kinh nghiệm về systemC, xin tham gia và bổ túc. Cám ơn rất nhiều
Comment