- TOP làm ột generic.
Ch ương 8: CÁC CHƯƠNG TRÌNHCON VÀ QUÁ TRÌNH TRÀN
8.1 CHƯƠNG TRÌNHCON (subprogram ):
Một subprogram định nghĩa 1 thuật toán tuần tự , thực thi chính xác 1 bài toán . Có 2 dạng subprogram : 1. Function : thông thường sử dụng việc tính toán giá trịđơn giản , function được thực hiện trong thời
gian mô phỏng là zero .
2. Procedure : sử dụng cho việc phân mảnh mô tả hành vi lớn . Procedure có thể trảề zero hoặc nhiều giá trị . Một procedure có thể có hoặc không thực hiện thời gian mô phỏng zero , phụ thuộc vào nó có phát biểu wait hay không .
Một subprogram được định nghĩa là subprogram body . Dạng 1 subprogram body là : subprogram_specification is
subprogram_item_declarations
begin
subprogram_statements -- Same as sequetial_statements. end [ function | procedure ] [ subprogram_name ];
Subprogram_specification : xác định tên của 1 chương trình con và định nghĩa giao diện của nó , đó là
định nghĩa tên các tham số hình thức ( formal parameter ) , lớp của chúng ( signal ,variable , file hoặc constant ), loại và kiểu của chúng (in , out ,inout). Các tham số của dạng in là chỉđọc các tham số , chúng không được cập nhật trong thân chương trình con . Các tham số của dạng out chỉđược viết các tham số , giá trị của chúng không được sử dụng nhưng có thể được cập nhật trong thân chương trình con . Các tham số inout có thểđọc được cũng như cập nhật được . Các file không có kiểu , chúng có thểđược đọc hoặc viết tuỳ
thuộc vào file có đang mở hay không .
Các tham số thực (actual) trong chương trìnhcon gọi ( subprogram call ) là sử dụng các giá trịđã có đến và từ 1 chương trình con. Chỉ có tín hiệu số thực có thể liên kết với tham số hình thức của lớp tín hiệu. Chỉ
biến số thực có thể liên kết với tham số của lớp biến . Chỉ có file mới là số thực cho tham số của file . một biểu thức có thể sử dụng giá trịđã có cho tham số của lớp constant.
Khi các tham số là của lớp biến hoặc hằng số thì đều qua chương trình con bằng giá trị . Các dãy có thể
hoặc không thể qua sự tham khảo . Các file phải qua sự tham khảo . Đối với các tín hiệu , sự tham khảo đến tín hiệu , sựđiều khiển hoặc cả hai đều qua chương trình con . Điều đó ý nói rằng 1 phép gán từ tín hiệu trong procedure ( các tín hiệu không thể gán các giá trị trong function , bởi vì các tham số bị giới hạn của mode in )
, ảnh hưởng sựđiều khiển tín hiệu số thực 1 cách tức thời và độc lập hoặc không độc lập với điểm cuối của procedure . Đối với các tín hiệu của 1 mode , không có dạng thuộc tính giá trị tín hiệu ‘ STABLE’ , ‘QUIET’ , ‘DELAYED’ hoặc ‘TRANSACTION ‘ ( thuộc tính được bàn luận trong chương 10 ) , có thể sử dụng trong thân chương trình con .
Kiểu của số thực trong chương trình con gọi phải tương ứng với tham số hình thức . Nếu tham số hình thức thuộc về kiểu không ràng buộc , kích thước của các tham số này được giới hạn từ số thực được đưa vào .
Subprogram_item_declarations : bao gồm 1 tập hợp các khai báo ( khai báo kiểu và đối tượng ) có thể
thu được trong chương trình con . Các khai báo được đưa vào ảnh hưởng đến toàn bộ thời gian chương trình con được gọi . Biến được khởi tạo và tồn tại trong suốt thời gian chương trình con được gọi , nó giống như
biến trong phát biểu process , chỉđược đưa vào 1 lần khi bắt đầu mô phỏng và tồn tại cho tới khi quá trình mô phỏng được hoàn thành .
Subprogram_statements : bao gồm các phát biểu tuần tự thực hiện tính toán bằng chương trình con . Phát biểu trả về ( return )là phát biểu đặc biệt được cho phép chỉ trong chương trình con . Dạng của nó là :
Return [ expression ]
Phát biểu return được tạo ra ở cuối chương trình con và trả giá trị về cho chương trình gọi . Tất cả các function đều có phát biểu return cùng với 1 biểu thức , giá trị của biểu thức trong khai báo return là trả về cho chương trình gọi . Đối với các procedure , đối tượng của mode out và inout , các giá trị của chúng được trả về
cho chương trình gọi .
Subprogram_name xuất hiện ở cuối thân chương trình con , nếu tồn tại thì phải trùng với tên của function hoặc procedure mà nó xác định .