Phân tích mạch sử dụng SystemC

Phân tích mạch sử dụng SystemC

SystemC là một công cụ tuyệt vời khác để mô hình hóa phần cứng. Nó bao gồm tất cả các tính năng của C ++, được sử dụng trên toàn thế giới và thư viện lớp C ++ được thiết kế đặc biệt cho thiết kế hệ thống. SystemC có một triển khai miễn phí mã nguồn mở và bạn có thể biên dịch nó thành một mã nhị phân thực thi rất hiệu quả với trình biên dịch Visual Studio Community C ++ miễn phí của Microsoft. Trong SystemC, bạn có thể mô hình hóa phần cứng ở mức độ trừu tượng cao hơn so với các HDL khác và vì vậy để mô hình hóa một số phần cứng rất phức tạp, ví dụ như vi điều khiển, nó dễ sử dụng và hiệu quả hơn các HDL khác như VHDL hoặc Verilog.

Trong v11 và các phiên bản mới hơn của TINA, bạn cũng có thể tạo và sử dụng các thành phần được mô hình hóa trong SystemC cả trong TINA và TINACloud. Sau đây là các yêu cầu để sử dụng SystemC với TINA.


Low-pass filter example
Open the ExamplesSystemCsc lpf.TSC example.

Các đặc tính bộ lọc và mã C được thiết kế bởi công cụ miễn phí tại
http://t-filter.engineerjs.com/

Mã C được tạo được đặt trong tệp Fir.cpp.

Chạy Phân tích / Phân tích Fourier / Phổ Fourier
Nhấn nút trong cửa sổ sơ đồ. Bộ xử lý sau sẽ xuất hiện. Bây giờ vẽ hàm truyền.

Nhấn Hơn nút. Kiểu Đầu ra / Đầu vào (s) trong Chỉnh sửa dòng. Gõ H vào tên hàm mới. nhấn Tạo. nhấn OK. Chọn Xem / Đường cong riêng biệt.
Kết quả là như sau

Phần quan trọng nhất của macro SystemC:

void fir::proc() 

  double u, y; 
  if (CLK.read() == SC_LOGIC_1) { 
   sc_logic sc_val; 

  // CALC 
  x[0] = SAMPLE; y = 0; 
  for (int k=0; k < M; k++){
    y += b[k]*x[k];
  }

  // SHIFT
  for (int k=M-1; k>=1; k—)
    x[k] = x[k-1];

  // SET VALUE
  RESULT = y;
  n++;
 }


You can find this example in the Examples/Fir folder of the systemc_model.zip.