Chương này thể hiện kỹ thuật cho việc thiết kế 1 dataflow cho một thực thể.Một dataflow thiết kế rõ ràng chức năng của một thực thể mà khơng rõ về cấu trúc .Chức năng thể hiện trong dịng thơng tin trong suốt thực thể .Nĩ thể hiện căn bản sử dụng những phát biểu gán tín hiệu đồng thời và những phát biểu khối ..Đây là điều ngược lại với kiểu hành vi của việc mơ tả thiết kế trong chương trước ,trong đĩ chức năng của một thực thể được thể hiện bằng các sử dụng những phát biểu thực thi tuần tự .Chương này cũng mơ tả chức năng giải quyết và cách sử dụng của chúng .
5.1
CONCURRENT SIGNAL ASSIGNMENT STATEMENT (PHÁT BIỂU GÁN TÍN HIỆU ĐỒNG THỜI) : ĐỒNG THỜI) :
Một trong những kết cấu cơ bản cho việc thiết kế hành vi dịng chảy dữ liệu của một thực thể là sử dụng phát biểu gán tín hiệu đồng thời .Một thí dụ của thiết kế dịng chảy dữ liệu cho 2 cổng vào được thể hiện ở hình 5.1 như sau :
entity OR2 is
port(signal A,B:in BIT;signal Z:out BIT); end OR2;
architecture OR2 of OR2 is begin
Z<=A or B after 9 ns; end OR2;
Architecture body chứa một phát biểu gán tín hiệu duy nhất nĩ được thể hiện trong dịng chảy dữ liệu của cổng OR.Việc giải thích của phát biểu này là bất kỳ lúc nào xảy ra sự kiện (thay đổi giá trị )Trong cả tín hiệu A hoặc tín hiệu B (A và B đều là tín hiệu trong biểu thức cho Z),Biểu thức bên phải được định lượng và giá trị của nĩ được sắp xếp để xuất hiện trên tín hiệu Z sau khi trễ 9 ns .Tín hiệu trong biểu thức A và B là dạng “sensitivity list “ cho phát biểu gán tín hiệu .
Cĩ hai điểm cần lưu ý trong thí dụ này :
1. Cổng ra và cổng vào điếu là dạng tín hiệu đã được khai báo rõ trong khi khai báo thực thể (đây là giá trị mặc định dù nếu khơng khai báo).
2. Tên của architecture và tên của thực thể (entity) giống nhau ,điều này khơng thành vấn đề ,vì những architecture bodies là đơn vị thứ cấp .trong khi khai báo thực thể là đơn vị cơ bản và ngơn ngữ cho phép đơn vị thứ cấ cĩ cùng tên với đơn vị cơ bản .
Một architecture body cĩ thể chứa số lượng bất kỳ của những phát biểu gán tín hiệu đồng thời .Vì chúng là những phát biểu đồng thời ,nên thứ tự của những phát biểu là khơng quan trọng . Những phát biểu gán tín hiệu đồng thời được thực thi bất cứ khi nào sự kiện xảy ra trong tín hiệu được sử dụng trong biểu thức .Một thí dụ cho thiết kế dịng dữ liệu cho 1-bit-full-adder.
entity FULL-ADDER is
port (A,B,CIN:in BIT;SUM,COUT:out BIT); end FULL_ADDER;
architecture FULL_ADDER of FULL_ADDER is bin
SUM<=A xor B xor CIN after 15 ns ;
COUT<=(A and B) or (B and CIN) or (CIN and A) after 10 ns end FULL_ADDER;
Hai phát biểu gán tín hiệu đã thể hiện dịng dữ liệu trong thực thể FULL_ADDER.Bất cứ khi nào một sự kiệ xảy ra trong tín hiệu A,B hoặc CIN .Biểu thức của cả hai phát biểu sẽ được tính ,và giá trị SUM sẽ được xuất hiện sau 15 ns ,và giá trị COUT được tính sau 10 ns Mệnh đề after thiết kế việc trì hỗn luận lý thể hiện bởi biểu thức .
Ngược lại với phát biểu xuất hiện bêb trong phát biểu quá trình .Phát biểu bên trong quá trình sẽ được thực thi tuần tự .Khi phát biểu bên trong một architecture body đều là những phát biểu đồng thời và thứ tự độc lập .Bản thân của phát biểu quá trình là phát biểu đồng thời ,cĩ nghĩa là nếu cĩ bất kỳ phát biểu gán tín hiệu đồng thời nào và phát biểu quá trình bên trong 1 architecture body ,thứ tự của những phát biểu cũng khơng thành vấn đề .
5.2
CONCURRENT VERSUS SEQUENTIAL SIGNAL ASSIGNMENT:
Trong chương này chúng ta đã thấy phát biểu gán tín hiệu cũng cĩ thể xuất hiện bên trong thân của một phát biểu process như phát biểu gọi phát biểu gán tín hiệu tuần tự .khi phát biểu gán tín hiệu xuất hiện bên ngồi của một process gọi phát biểu gán tín hiệu tuần tự. phát biểu gán tín hiệu đồng thời là một sự kiện trigger (event-triggered).Đĩ là nĩ thực thi bất kỳ lúc nào cĩ một sự kiện trên tín hiệu xuất hiện bên trong biểu thức của nĩ .Khi phát biểu gán tín hiệu tuần tự khơng là event-triggeredvà thực thi tuần tự trong quan hệ của những phát biểu tuần tự khác xuất hiện bên trong process .
Bên cạnh sự khác nhau trên phát biểu gán tín hiệu đồng thời là đồng nhất với phát biểu gán tín hiệu tuần tự trong những số hạng của hành vi của chúng
Đối với mỗi phát biểu gán tín hiệu đồng thời cĩ một phát biểu quá trình tương đương về mặt ngữ nghĩa . Phát biểu gán tín hiệu đồng thời
CLEAR<=RESET or PRESET after 15 ns; --RESET and PRESET are signals
tương đương với phát biểu sau :
process begin
CLEAR<=RESET or PRESET after 15ns wait on RESET,PRESET;
end process;
Phát biểu gán tín hiệu đồng nhất xuất hiện bên trong một phát biểu process với 1 phát biểu wait ,chúng củasensitivity list bao gồm những tín hiệu được sử dụng trong biểu thức của phát biểu gán tín hiệu đồng thời
Một phát biểu gán tín hiệu đồng thời cĩ thể tạo như trì hỗn .Như: CLEAR <=postponee RESET or PRESET after 15 ns ;
Ngữ nghĩa của phát biểu trên thì đồng nhất với ngữ nghĩa của phát biểu process đồng nhất của nĩ.Nghĩa là một process trì hỗn.
5.3
DELTA DELAY REVISITED :
Trong một phát biểu gán tín hiệu nếu khơng cĩ trì hỗn hoặc trì hỗn là 0 ns ,Một delta delay được đặt ra .Delta delay là một tổng số thời gian vơ cùng nhỏ .Nĩ khơng là thời gian thực và khơng gây ra thời gian mơ phỏng thực để thay đổi .Cơ cấu delta delay cung cấp thứ tự sự kiện cĩ thể xảy ra trong cùng một thời gian mơ phỏng .