1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo khoa học: "ngữ nghĩa quan hệ của các chương trình tổ hợp" docx

4 177 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 155,95 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong bμi báo nμy chúng tôi hình thức hoá ngữ nghĩa sự kiện của ngôn ngữ mô tả phần cứng dưới dạng các quan hệ vμ sử dụng các quan hệ đó để chứng minh một số tính chất của các chương trì

Trang 1

ngữ nghĩa quan hệ

của các chương trình tổ hợp

TS trần văn dũng

Bộ môn Toán - ĐH GTVT

Tóm tắt: Các thao tác của các thiết bị dùng để cμi đặt cho hệ thống điều khiển có thể được mô

phỏng bởi chương trình, điều đó cho phép phần cứng được kiểm chứng bằng các công cụ phần mềm chuẩn Trong bμi báo nμy chúng tôi hình thức hoá ngữ nghĩa sự kiện của ngôn ngữ mô tả phần cứng dưới dạng các quan hệ vμ sử dụng các quan hệ đó để chứng minh một số tính chất của các chương trình tổ hợp, mμ mỗi chu trình hoạt động của nó lμ một vòng lặp có điều kiện của một số các phép gán song song

Summary: The actual behaviour of hardware devices available for installation of a control system can be simulated by a program, and this allows the hardware to be proved correct by standard software techniques In this paper we formalise event semantics of Hardware Description Language in the form of relations and use relation calculus to prove properties (including termination and stability and uniqueness of final state) of combined programs, each operational cycle of which is defined as a conditional loop of non-deterministic choices among generalised parallel assignments.

1 Mở đầu

Chương trình VERILOG [6] được sử dụng

rộng rãi để mô hình cấu trúc và hành vi của các

thiết bị phần cứng từ các thiết bị đơn giản đến các

mạng máy tính Ngữ nghĩa mô phỏng định hướng

của sự kiện đã được đề cập nghiên cứu trong [3],

tuy nhiên khi mô tả hoạt động không đồng bộ của

hệ thống gồm nhiều thiết bị song song, nó rẽ

nhánh dẫn đến nhiều kết quả khác nhau Vì vậy

ngữ nghĩa đó không hỗ trợ việc kiểm chứng các

thiết bị phần cứng Do đó cần phải có phương

pháp hình thức hoá ngữ nghĩa sự kiện Bài báo

này tổng quát hoá ngữ nghĩa mô phỏng bằng

cách đưa ra mô hình quan hệ cho VERILOG dựa

trên quan hệ của các trạng thái kết thúc Bài báo

này xem xét ba lớp chương trình mô tả hoạt động

của các mạch tổ hợp

Hai phần đầu của Bài báo hình thức hoá ngữ

nghĩa sự kiện của VERILOG Phần sau cùng

dành cho việc nghiên cứu các chương trình tổ

hợp

2 Ngôn ngữ mô tả VERILOG

Các chương trình VERILOG được sinh ra bới các qui tắc cú pháp sau:

1 Một chương trình tuần tự được tạo nên từ các phép gán song song với các phép ghép, chọn có điều kiện, chọn không tất định:

2 Các hàm tuần tự đang xem xét được đánh

số thứ tự Giả sử ta có m các chương trình tuần

Giả sử index là hàm dùng để đánh số thứ tự các

chương trình Mọi phép gán nằm trong chương trình tuần tự đều có chỉ số như chương trình đó

3 Biến Bool tín hiệu ~ x được dùng để đánh dấu sự thay đổi của biến Bool x trong quá trình thực hiện Nếu biến Bool x thay đổi, thì gán ~ x là

Trang 2

Chương trình có số thứ tự i được liên kết với thành

phần thứ i của biến tín hiệu (~x)[i]

4 Điều khiển sự kiện g(S) ghi nhận sự thay

đổi của các biến trong chương trình S được định

nghĩa như sau:

• Nếu S = P op Q, trong đó op ∈{ ;, ∩, < b >},

thì

index(P op Q) = df index(P) ∪ index (Q)

index(g(P) →P) = index(P)

• Phép ghép hai chương trình song song có

tập index rời nhau được định nghĩa như sau:

Phép ghép song song có tính chất giao

hoán, kết hợp và phân phối với phép chọn không

tất định và phép chọn có điều kiện

•VERILOG chương trình có dạng @ g(S) S,

chương trình tuần tự hoặc các chương trình

VERILOG có các tập index nhau

một nhánh Nếu sự thay đổi của biến x làm cho

Bổ đề 1

(a) g(P||Q) = g(P) ∨ g(Q)

Hành vi của một chương trình phần cứng

được mô tả bởi một dãy vô hạn các bước mô phỏng sau

1 Tại thời điểm ban đầu của mỗi bước mô phỏng cho đầu vào một giá trị xác định Giá trị mới của đầu vào có thể kích hoạt một số các điều khiển sự kiện Các nhánh tương ứng sẽ được kích hoạt và có thể hoạt động

2 Môi trường sẽ chọn không tất định một trong các nhánh được kích hoạt để thực hiện

3 Việc thực hiện một nhánh được kích hoạt

thao tác nhỏ sau:

nhánh đó đã thực hiện

• Truyền sự thay đổi của các biến tạo nên

4 Khi không có nhánh nào kích hoạt nữa, thì bước mô phỏng đang xét dừng và chờ nhập giá trị mới cho đầu vào Nếu luôn luôn có một nhánh

được kích hoạt sau mỗi bước cơ sở thì bước mô phỏng đó không dừng

3 Ngữ nghĩa quan hệ

Hành vi của mỗi bước mô phỏng có thể mô hình bởi một phép lặp của một phép ghép không tất định một số các nhánh song song kết hợp với một số thao tác phụ sau mỗi bước cơ sở như xóa hoặc ghi nhận sự thay đổi của các biến,

Định nghĩa 1 (Ngữ nghĩa sự kiện) Giả sử

(@g(S) S) là một chương trình VERILOG với các

nhánh P có tập chỉ số là I Ngữ nghĩa sự kiện với tập chỉ số I được định nghĩa như sau:

trong đó

1 Biểu thức Bool g[I] nhận được bằng cách thay thế các biến ~ x trong g(S) với chỉ số I bằng

Trang 3

thành phần thứ I tương ứng của véc tơ tín hiệu

(~x)[i]

rời nhau của hai chương trình P và Q [5], ở đó

chúng không có đầu ra chung

4 Chương trình event (P) được dùng để xoá

các điều khiển sự kiện đã dùng khi P được thực

hiện và truyền sự thay đổi của các biến cho các

nhánh khác trong chương trình

event(R,I) = df ∃ v1’, , vn’• R ∧∀k : 1 ≤ k ≤ n •

Bổ đề 2

1 event (P < b > Q,I) = event(P, I)< b >

event(Q, I)

2 event (P ΠQ,I) = event(P, I) Π event(Q, I)

3 event (v1,v2:= e1,e2,I) =

3 event (v:= e,I) = ∀k : 1≤ k ≤ n •

= Δ

=

≠ Δ

=

≠ Δ

fi SKIP e

x

tt ::

x

~ 0 e 0 x

tt ::

x

~ 1 e 1 x if

m m

Định nghĩa 2 (Bước mô phỏng) Giả sử

@ g(S) S là chương trình VERILOG, trong đó

S = P|| … || Q và v

chúng Giả sử P, …, Q có các tập chỉ số rời nhau

I, …, J, tương ứng Ta định nghĩa bước lặp mô

phỏng là bước lặp sau:

end ~ v1,~v2, , ~vn

mới khác với giá trị cũ

4 Các chương trình tổ hợp

Trong phần này chúng ta nghiên cứu các chương trình, mà các nhánh của chúng là các phép gán song song Đây là lớp các chương trình phần cứng mô tả hoạt động của các mạch tổ hợp,

sung

Định nghĩa 3 Chương trình tổ hợp là một

chương trình VERILOG dạng @g(P) P, trong đó

nào xuất hiện nhiều hơn một lần ở vế trái các phép gán

Định nghĩa 4 (Trạng thái ổn định) Cho

chương trình tổ hợp như đã định nghĩa trong Định nghĩa 3 Giả sử VAR là tập tất cả các biến và

STATE: VAR → {0, 1}

• Trạng thái s ∈ STATE được gọi là ổn định

tại trạng thái s

• Hàm kiểm tra tính ổn định d(P) và điều kiện ổn định c(P) của các trạng thái của chương trình Comb P là các hàm logic sau:

Các chương trình tổ hợp biến đổi từ trạng thái ổn định này sang trạng thái ổn định khác

Định lý 1

c(P)T ; Comb P = c(P)T; Comb P; d(P)⊥

và ⊥ là chương trình ABORT

Ta có thể bổ sung việc kiểm tra tính ổn định vào trong điều kiện của phép lặp mà không ảnh hưởng đến hành vi của chương trình

Trang 4

Định lý 2

5 Các chương trình tổ hợp luỹ đẳng

Trong mục này chúng ta nghiên cứu một lớp

các chương trình con, mà mỗi phép gán của nó

lũy đẳng

Định nghĩa 5 Chương trình P được gọi là

lũy đẳng, nếu P; P = P

Bổ đề 3 Mọi chương trình tổ hợp đều lũy

đẳng

Định nghĩa 6 Chương trình tổ hợp được gọi

là lũy đẳng theo thành phần nếu mọi nhánh của

nó là lũy đẳng

Bắt đầu từ một trạng thái ổn định một

chương trình tổ hợp lũy đẳng theo thành phần

gồm hai nhánh có thể bắt đầu từ một nhánh, sau

đó thực hiện nhánh kia và cứ tiếp tục như vậy cho

đến khi đạt được trạng thái ổn định

Định lý 3 Nếu P = Q || R và Q, R là hai

chương trình lũy đẳng, thì

c(P)T ; Comb P; end ~ x, ~ z= c(P)T;

Định nghĩa 7 Chương trình P được gọi là

X

[4] C Delgado Kloos and P T Breuer Formal

Semantics for VHDL Kluwer Academic Publisher, (1995)

Khi chu trình mô phỏng của chương trình tổ

hợp kết thúc, trạng thái của nó thường không

được xác định một cách duy nhất Đối với chương

trình lũy đẳng có thể dễ dàng kiểm tra tính dừng

và tính duy nhất của trạng thái kết

Định lý 4 Nếu P = Q || R và Q, R là hai

chương trình lũy đẳng, sao cho P;Q và Q;R là hai

chương trình không mở rộng, thì khi đó Comb P

luôn luôn dừng khi xuất phát từ trạng thái ban đầu

thỏa mãn điều kiện c(P)

6 Kết luận

Bài báo cung cấp cho ngôn ngữ mô tả phần cứng ngữ nghĩa sự kiện dựa trên mô hình quan

hệ Ban đầu các chương trình tổ hợp ở trạng thái

ổn định và được kích hoạt bởi các giá trị mới cung cấp cho các thiết bị đầu vào Các nhánh kích hoạt của chương trình sẽ được lụa chọn một cách không tất định để thực hiện Bài báo chứng tỏ rằng một chương trình phần cứng tương đương với một phép lặp của phép lựa chọn không tất

định của một số các chương trình tuần tự có chung các biến Nếu chương trình được thiết kế tốt, thì chúng sẽ luôn luôn dừng và đạt trạng thái kết thúc duy nhất Đối với một lớp các chương trình lũy đẳng bài báo đưa ra thuật toán hữu hiệu xét tính dừng của nó Việc nghiên cứu các tính chất dừng và trạng thái kết duy nhất của một số lớp chương trình khác là đề tài nghiên cứu tiếp theo

Tài liệu tham khảo

[1] K C Davis A denotational definition of the VHDL

simulation Kernel University of Cincinnati

[2] M Gordon Why higher-order logic is a good

formalsm for specifying and verifying hardware Formal Aspect of VLSI Design, 153-177, (1986)

[3] M Gordon Event and Cycle Semantics of

Hardware Description Languages University of Cambridge Computer Laboratory, (1998)

[5] C A R Hoare and He Jifeng Unifying Theory of

Programing Prentice – Hall, (1998)

[6] Open VERILOG International VERILOG Hardware Description Language Reference Manual, Version 1.0

[7] D E Thomas and P R Mooby The VERILOG

Hardware Description Language Kluwer Academic Publishers, (1995)

[8] Tran Van Dung and He JiFeng A Theory of

Combinational Programs UNU/IIST Report No 162Ă

Ngày đăng: 06/08/2014, 05:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm