Bài học SYSTEMC 16: Giao tiếp trong SystemC: Port

Lu ROm

Administrator
Staff member
25 Tháng bảy 2014
481
119
43
31
One piece
vimach.net
- Port là một thành phần thiết yếu của bất kỳ mô hình SystemC. Cổng được sử dụng bởi các module như một cửa ngõ đến và đi giao tiếp với bên ngoài. Một cách đơn giản, chúng ta có thể xem một Port như pin của một thành phần phần cứng.
upload_2016-8-30_20-17-20.png

- Khai báo một Port trong SystemC như sau:
Mã:
sc_in<bool> my_input;
** Cú pháp khai báo Port khá đơn giản, với tên cổng là my_input, với kiểu dữ liệu của Port là bool, và Port trên là một cổng đầu vào sc_in. Kiểu dữ liệu đề cập đến các loại dữ liệu sẽ được quy đổi trên cổng đó.
- Có rất nhiều loại cổng tồn tại trong SystemC như: sc_in<Type>, sc_out<Type>, sc_inout<Type>.
** Ví dụ về cách sử dụng Port trong SystemC.
Mã:
sc_in<bool> my_input;
sc_out<bool> my_output;

void do_run() {
if (my_input.read() == true) {
my_output.write(false);
} else {
my_output.write(true);
}
}
};
** Hoặc đơn giản hơn chúng ta sẽ thay read() và write() bởi các toán tử như sau:
Mã:
void do_run() {
if (my_input == true) {
my_output = false;
} else {
my_output = true;
}
}