Tải bản đầy đủ (.pdf) (10 trang)

Trộn lẫn thành phần Hardware và Software part 5 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (97.23 KB, 10 trang )

http:// www.diachiweb.com






hardware graph






Silage code







Datapath and controller

Hình 16 tổng hợp hardware cho một node đơn
Hình 17 trình bày một xích tổng hợp hardware ,ví dụ ở node thứ 5 là bộ lọc ,đặc tả mức công
việc dùng PTOLEMY ,giả thiết node được ánh xạ sang hardware . Chúng ta quan tâm đến tổng
hợp những hiện thực của nó . Hình 17b trình bày đặc tả kiến trúc hệ thống của node , biqual đầu
tiên được mô tả bằng những tác vụ nguyên tố và biqual thứ 2 thì được công nhận nguyên khối
(hình 17c) trình bày đồ thò hardware cho node . Mỗi node con chứa code SILAGE . Một chương
trình đơn SILAGE được phát sinh bởi tổ hợp những mô tả SILAGE của những node con riêng rẽ


trong đồ thò hardware . Code SILAGE phát sinh cho node IIR ở hình 17e .Sử dụng hyper phát
sinh hiện thực cuối cùng ,hình 17f trình bày sơ đồ cuối cùng của datapath và controller cho bộ
lọc IIR .
3.3. Tổng hợp software :
Vấn đề tổng hợp software là phát sinh một hiện thực software (chương trình chạy trên bộ xử
lý lập trình được ) đáp ứng cho một đồ thò software . Mặc dù kỹ thuật tổng hợp software được
mô tả ở đây được ứng dụng cho bất kỳ bộ xử lý nào ,nhưng chỉ trình bày bộ xử lý Motorola DSP
56000 .
Đồ thò software bao gồm tất cả những node ánh xạ đến software , được gia tố thêm node
nhận và gửi cho truyền nhận . Những node trong đồ thò nầy bao gồm một kỹ thuật tiêu biểu có
nghóa một codeblock đại diện cho chức năng của node . Cơ sở quá trình tổng hợp software bao
gồm liên kết những codeblock nầy với nhau phát sinh chương trình đơn cho toàn bộ đồ thò
software . Để duy trì chức năng của hệ thống những codeblock cần được đặt liên tục tuần tự với
nhau theo thứ tự phát sinh bởi công cụ phân chia ở các node trong DAG , nó không chứa bất kỳ
thông tin trình tự của node con bên trong hệ thống phân cấp sẽ được thực thi . Đầu tiên cần xác
Silage code generation
(ptolemy)
Highlevel hardware
synthesis
(hyper)
http:// www.diachiweb.com

đònh thứ tự trước khi nối kết các codeblock lại với nhau . Trình tự được phát sinh bằng một danh
sách chuẩn dùng PTOLEMY . thứ tự những node trong đồ thò software được cập nhật lại sử
dụng trình tự nầy . Thứ tự chung cuối cùng được làm phẳng ,từng phần code được nối với nhau
theo thứ tự của đồ thò làm phẳng . Code của node send gồm một lệnh ‘write’ nó ghi kết quả
phát sinh bởi node nối đầu vào của nó đến bộ nhớ cục bộ gán với cung đầu vào của nó ,tương tự
node receive bao gồm một lệnh ‘read’ đọc từ bộ nhớ cục bộ gán đến cung đầu ra của nó . Sản
phẩm cuối cùng là một chương trình đáp ứng cho đồ thò software .Hình 18 tóm tắt tổng hợp
software

Software graph ordering






Flattened software graph and its ordering









Program
Hình 18 tổng hợp software từ software graph
3.4. Tổng hợp giao diện :
Tổng hợp giao diện bao gồm tổng hợp bộ điều khiển chung như những mạch logic giao tiếp .
Một máy trạng thái hữu hạn mô tả cho bộ điều khiển chung có thể phát sinh dùng thứ tự truyền
.Một hiện thực cho bộ điều khiển có thể được tổng hợp nhờ sử dụng công cụ tổng hợp logic
,những mạch cài và những đường kết nối khác bao quanh mun hardware có thể được tổng hợp
dùng 1 Template based approach ,hướng nầy do SUN đề nghò . Đồ thò giao tiếp có thể dùng để
sinh ra sơ đồ nối dây cho những mun hardware khác nhau . Hiện nay tổng hợp giao diện được
làm bằng tay , mặc dù có hướng liên hệ đến tự động hóa .
3.CÁC YẾU TỐ CƠ SỞ CỦA NGÔN NGỬ VHDL.
Phần này mô tả những phần tử cơ bản của ngôn ngữ. Những đối tượng dữ liệu đưa vào
chứa giá trò của kiểu đã qui đònh, các hằng,các toán tử. Mỗi đối tượng dữ liệu phụ thuộc vào

kiểu đặc trưng .Phân loại biến và cú pháp cho những kiểu đặc trưng do người sử dụng đặt ra
.phần này cũng mô tả phương pháp làm thế nào để kết hợp kiểu với đối tượng bằng cách sử
dụng những khai báo đối tượng
Một việc rất quan trọng là hiểu được những lưu ý về kiểu dữ liệu và đối tượng khi VHDL
là ngôn ngữ có kiểu trong sáng (strongly typed language).Có nghóa là những toán tử và những
phép gán được cho phép trong ngôn ngữ nếu kiểu của toán hạng và kết quả tính toán theo
-shedule each hierarchical node
-expand each hierachical node according to its
schedule
-update ordering to get flattened ordering
-
Generate code for flattened software graph
- add initialization code
- add communication code
-
stitch code blocks together according to
ordering
(CG56 code generation mechanism in Ptolemy)
http:// www.diachiweb.com

những qui tắc ,nó không cho phép đối tượng và literals của những kiểu khác nhau được trộn lẫn
tự do trong sự rỏ ràng (expresssion),thí dụ thêm giá trò real vào 1 giá trò integer và qui 1 giá trò
boolean cho một đối tượng kiểu BIT .Vì thế cho nên rất quan trọng để hiểu là kiểu nào và làm
thế nào để sử dụng chính xác trong ngôn ngữ .


1.1 .VHDL LÀ GÌ ?
VHDL là kí tự đầu của VHSIC Hardware Description Language trong đó VHSIC là Very
High Speed Integrated Circuits . Đó là ngôn ngữ mô tả phần cứng có thể sử dụng để mô hình
hệ thống digital ở nhiều mức trừu tượng(abstraction): từ thuật toán đến cổng logic(gate) . Sự

phức tạp của hệ thống digital được mô hình biến đổi từ cổng đơn giản đến hệ thống digital
phức tạp . Hệ thống digital cũng có thể mô tả 1 cách thứ tự , mô hình phối hợp thời gian cũng rỏ
ràng trong cácï đặc tả .
Ngôn ngữ VHDL có thể xem như sự tích hợp của nhiều ngôn ngữ sau :
Sequential language(tuầu tự) +
Cuncurrent language(đồng thời) +
Net_list language +
Timing specification(đặc tả thời gian) +
Waveform generation language => VHDL
Do đó ngôn ngữ có những cấu trúc cho phép biểu diễn hành vi đồng thời hoặc tuần tự của
hệ thống digital với sự phối hợp thời gian hay không, nó cũng cho phép mô hình hệ thống như là
sự kết nối các thành phần(Component).Kiểm tra các dạng sóng(test wareforms) củng được
phát sinh sử dụng vẻ dạng sóng cho những cấu trúc tương tự .
Ngôn ngữ không chỉ đònh nghóa cú pháp mà còn đònh nghóa rất rỏ ràng những ngữ nghóa mô
phỏng cho mỗi cấu trúc ngôn ngữ . Do đó các mô hình đã viết trong ngôn ngữ có thể kiểm tra
bằng cách sử dụng bộ mô phỏng VHDL . Nó thừa kế nét đặc trưng ngôn ngữ tuần tự.
1.2 LỊCH SỬ :
Do nhu cầu đòi hỏi , ngôn ngữ ra đời đầu tiên năm 1981 với chương trình VHSIS . Trong
chương trình này , 1 số các công ty của U.S liên kết với nhau trong việc thiết kế các chip
VHSIC cho DoD ( Department of Defense ). Ở thời gian đó , nhiều công ty sử dụng ngôn ngữ
mô tả phần cứng khác nhau để mô tả và phát triển chúng thành những IC(integrated circuits) .
Kết quả là các vendor(tạm dòch: người cung cấp) khác nhau (có thể không hiệu quả) trao đổi
thiết kế của họ với một thiết kế khác,và cung cấp cho DoD sự mô tả các chip trong những ngôn
ngữ mô tả phần cứng khác nhau . Như vậy cần phải có một ngôn ngữ mô tả phần cứng chuẩn
cho việc thiết kế , soạn thảo và kiểm tra hệ thống digital được tạo ra.
Một nhóm gồm 3 công ty: IBM , Texas Istrument và Intermetrics , đầu tiên được DoD
quyết đònh hợp đồng để phát triển một version của ngôn ngữ trong năm 1983 . Version 7.2 của
VHDL được phát triển và được phát hành công khai năm 1985.Từ năm 1986 ngôn ngữ đã
chuyển sang chuẩn IEEE . Sau khi ngôn ngữ đã nâng cao bởi một nhóm đại diện ngành công
nghiệp , trường đại học và DoD , ngôn ngữ được chuẩn hóa bởi IEEE vào tháng 12 năm 1987 ,

version này được biết như là chuẩn 1076-1987 của IEEE . Mô tả ngôn ngữ chính thức xuất hiện
trong chuẩn IEEE của ngôn ngữ VHDL Referent Manual , từ đó ngôn ngữ được công nhận như
chuẩn ANSI ( American National Standard Institute ) .
Theo các qui tắc IEEE , cứ 5 năm 1 lần sẽ bỏ phiếu xem có nên giữ lại chuẩn đó hay không
. Do đó ngôn ngữ luôn được nâng cấp với nét đặc trưng mới , cú pháp của nhiều cấu trúc phù
http:// www.diachiweb.com

hợp hơn , nhiều vấn đề không rõ ràng trong version 1987 của ngôn ngữ được giải quyết , version
mới này xem như là chuẩn IEEE 1076-1993 .
Từ tháng 9 năm 1988 DoD yêu cầu tất cả ASIC (Application Specific Intergrated Circuit)
cung cấp phải thuyết trình đặc tả VHDL và các thành phần cơ sở (subcomponents) ở mức độ
hành vi lẫn cấu trúc ,test benches được sử dụng để kiểm tra các chip cũng phải thuyết trình ,sự
tập hợp của những yêu cầu được mô tả trong chuẩn Military 454.
Từ năm 1987 , gói chuẩn(package standard) ra đời trợ giúp cho các mô hình. Điều này có
được bởi vì các người cung cấp(vendor) CAE khác nhau ( computer aided engineering ) được sự
trợ giúp của các gói khác nhau trên các hệ thống của chúng , cần phải có 1 bài toán xử lý trung
gian . Một số tiêu chuẩn logic sử dụng tiêu chuẩn 46 ,tiêu chuẩn 7 ,tiêu chuẩn 4 … . Tập hợp các
tiêu chuẩn trên phát triển thành 1 gói tiêu chuẩn 9 . Gói này được gọi là STD_LOGIC_1164 ,
được đưa vào chuẩn IEEE 1164-1993 .
1.3 CÁC CHỨC NĂNG :
Sau đây là các chức năng chủ yếu mà ngôn ngữ cung cấp đi đôi với những điểm đặc trưng
từ các ngôn ngữ mô tả phần cứng khác nhau .
·
Ngôn ngữ có thể xem như là nơi trao đổi trung gian giữa các người cung cấp (vendor) chip
và người sử dụng công cụ CAD . Các người cung cấp(vendor) chip khác nhau có thể cung
cấp những mô tả VHDL với các thành phần của nó cho người thiết kế hệ thống . Người sử
dụng công cụ CAD có thể sử dụng nó để nắm bắt các hành vi của thiết kế tại mức cao của
sự trừu tượng chức năng mô phỏng .
· Ngôn ngữ có thể sử dụng truyền nhận trung gian giữa các công cụ
CAD và các CAE khác nhau . Ví dụ , lược đồ của chương trình có thể sử dụng để phát sinh mô

tả thiết kế VHDL , có thể sử dụng chúng như là input cho quá trình mô phỏng .
·
Ngôn ngữ hổ trợ cho kiến trúc hổn hợp thứ bậc , 1 hệ thống digital
có thể hiểu như là tập hợp các thành phần kết nối với nhau, mỗi 1 thành phần lại có thể hiểu
như tập hợp của các thành phần con kết nối lại .
·
Ngôn ngữ hổ trợ phương pháp thiết kế linh động từ trên xuống , từ dưới lên hoặc hỗn hợp
(top-down.bottom-up,mixed).
·
Ngôn ngữ không phải là công nghệ đặc biệt , nhưng nó có khả năng hổ trợ các công nghệ
đặc biệt đó . Nó có thể hổ trợ cho các kỷ thuật phần cứng khác nhau , ví dụ có thể đònh
nghóa các kiểu logic mới và các thành phần mới , ta có thể xác đònh rỏ các tính chất của kỷ
thuật đặc trưng ,bởi vì nó là kỷ thuật độc lập. Các kiểu giống nhau có thể tổng hợp đưa vào
các thư viện khác nhau.
· Nó hổ trợ cho cả hai mô hình thời gian đồng bộ và không đồng bộ
·
Co ùcác kỷ thuật mô hình digital khác nhau ,như là các mô tả máy trạng thái (finite-state
machine) , các mô tả tính toán số học, và các phương trình boolean đều có thể được mô hình
khi sử dụng ngôn ngữ .
·
Ngôn ngữ có thể dùng 1 cách công khai , có thể đọc được bởi người , bởi máy móc và trên
tất cả là nó không có người sở hữu .
·
Nó là chuẩn IEEE và ANSI , do đó các kiểu mô hình sử dụng cho ngôn ngữ này được linh
động . Cần quan tâm nhiều hơn trong việc bảo trì chuẩn đã thu được và từ từ có thể hình
thành chuẩn thứ hai .
· Ngôn ngữ hổ trợ cho 3 loại mô tả cơ bản khác nhau : cấu trúc , dòng dữ liệu và hành vi . Một
thiết kế có thể được biểu diễn trong sự kết hợp của các loại mô tả trên.
· Nó hổ trợ các mức độ trưù tượng , từ ý tưởng mô tả hành vi tới mô tả chính xác các cổng
logic.

http:// www.diachiweb.com

· Tùy kích thước của thiết kế có thể được mô hình sử dụng ngôn ngữ và chúng không bò hạn
chế bởi kích thước của thiết kế .
· Ngôn ngữ có nhiều thành phần làm thiết kế một cách dể dàng ví dụ các component , các
function , các procedure và các package .
·
Test benches có thể được viết để kiểm tra các mô hình VHDL .
· Hổ trợ về thời gian delay do sự truyền nhận,thời gian ràng buộc,mô tả thời gian một cách tự
nhiên.
· Những thuộc tính chung và riêng(generics and attribute) được dùng trong mô tả các thiết kế
theo tham số .
· Một mô hình không những mô tả hàm thiết kế mà còn có thể chứa các thông tin xung quanh
bản thiết kế trong phạm vi sử dụng đònh nghóa attribute , chẳng hạn như tổng diện tích và
tốc độ .
·
Một ngôn ngữ có thể sử dụng mô tả thư viện các thành phần từ các vendor khác nhau . Từ
các công cụ đó sẽ không khó khăn trong việc hiểu các kiểu VHDL trong việc đọc các mô
hình từ những trạng thái khác nhau của vendor từ ngôn ngữ chuẩn .
·
Các mô hình viết trong ngôn ngữ này có thể kiểm tra bằng việc mô phỏng từ những ngữ
nghóa mô phỏng đã đònh nghóa chính xác cho mỗi cấu trúc của ngôn ngữ .
·
Các mô hình hành vi thích ứng với loại mô tả tổng hợp , là khả năng tổng hợp các mô tả
cổng logic .
·
Khả năng đònh nghóa các kiểu dữ liệu mới cung cấp khả năng mô tả và mô phỏng kỷ thuật
thiết kế mới ở mức cao của ý tưởng trong việc thực thi một cách chi tiết.
1.4


Ý TƯỞNG PHẦN CỨNG :
VHDL được sử dụng để mô tả cho mô hình của thiết bò phần cứng digital(digital
hardware device) .Mô hình này chỉ rỏ cách nhìn bên ngoài của thiết bò và 1 hoặc nhiều cách
nhìn bên trong . Cách nhìn bên trong của thiết bò chỉ rỏ theo chức năng hay cấu trúc , trong khi
cách nhìn bên ngoài chỉ rỏ các giao tiếp của thiết bò qua sự kết nối với các mô hình khác trong
môi trường của nó . Hình 1 cho xem thiết bò phần cứng và mô hình phần mềm tương ứng .
Từ thiết bò(device) tới mô hình thiết bò được ánh xạ 1-nhiều . Đúng vậy , 1 thiết bò phần
cứng có thể có nhiều mô hình , ví dụ 1 mô hình thiết bò ở mức cao của sự trừu tượng có thể
không có các xung clock ở đầu vào , từ đó xung clock không sử dụng trong việc mô tả . Ngoài
ra data truyền ở giao tiếp bề mặt có thể xem như bò giới hạn , giá trò integer thay thế cho trò
logic . Trong VHDL , mỗi mô hình thiết bò được xem như sự mô tả riêng biệt của 1 thiết bò duy
nhất , gọi là entity . Hình 2 VHDL mô tả thiết bò phần cứng có các mô hình đa thiết bò , với mỗi
một mô hình thiết bò được mô tả bởi một thực thể .











http:// www.diachiweb.com










Digital system
Hình 1 : Device versus device model



Actual hardware VHDL view
Hình 2 : VHDL view of a device

Thực thể là sự trừu tượng phần cứng(hardware abstraction) của thiết bò phần cứng thực tế .
Mỗi một thực thể được mô tả sử dụng 1 mô hình , bao gồm 1 cách nhìn bên ngoài và 1 hoặc
nhiều cách nhìn bên trong tại 1 thời điểm , 1 thiết bò phần cứng có thể mô tả bằng 1 hoặc nhiều
thực thể
2.1 .THUẬT NGỮ CƠ BẢN:
VHDL là ngôn ngữ mô tả phần cứng ,có thể sử dụng cho mô hình hệ thống tín hiệu số .Hệ
thống tín hiệu số có thể đơn giản là cổng logic hoặc phức tạp là hệ thống điện tử tổng hợp . Một
sự trừu tượng của hệ thống tín hiệu này gọi là một thực thể ,một thực thể X, khi sử dụng trong
thực thể khác Y thì nó là một thành phần cho thực thể Y .Do đó một thành phần ngoài thực thể
của nó còn lệ thuộc vào thực thể khác.
Đối với mô tả một thực thể , VHDL cung cấp 5 kiểu khác nhau của thiết kế nguyên thủy , gọi
là design units .Bao gồm:
1. Entity declaration.
2. Architecture body.
3. Configuration declaration.















Internal views




External view
Device
Model
Device
model
Device
Entity 1
Entity 2
Entity N
Device model 1
Device model 2
Device model N
http:// www.diachiweb.com


4. Package declaration.
5. Package body.
Một thực thể được mô hình sử dụng một khai báo thực thể và tối thiểu phải có một phần
thân architecture . Sự khai báo thực thể mô tả cách nhìn bên ngoài của thực thể ( ví dụ: port vào
và port ra tín hiệu) . Thân của architecture bao hàm việc mô tả bên trong của một thực thể , một
tập hợp của các thành phần kết nối là biểu hiện cấu trúc của thực thể đó , hoặc là tập hợp các
phát biểu đồng thời hoặc tuần tự biểu hiện hành vi của thực thể đó . Mỗi cách của sự biểu hiện
được xác đònh trong các thân architecture khác nhau hoặc trộn lẩn với một kiến trúc đơn . Hình
3 chỉ ra một thực thể và một mô hình có thể .


Entity






Architecture bodies
Hình 3: An entity and its model
Một khai báo đònh dạng(A configuration declaration) sử dụng cho việc tạo đònh dạng cho
thực thể .nó mô tả sự liên kết cho một thân kiến trúc từ nhiều thân kiến trúc có thể liên kết với
thực thể đó , nó cũng có thể liên kết các thành phần(component) được sử dụng trong thân kiến
trúc từ thực thể khác . Một thực thể
có thể có nhiều đònh dạng khác nhau.
Một khai báo gói(a package declaration) là tập hợp các khai báo liên hệ tới , như là khai báo
kiểu , khai báo kiểu con và khai báo chương trình con , được dùng chung cho nhiều đơn vò thiết
kế .Thân gói bao hàm đònh nghóa của khai báo chương trình con bên trong khai báo gói.
Thực thể được mô hình hoá chỉ một lần và có hiệu lực qua hệ thống VHDL . hệ thống kiểu
mẩu VHDL gồm bộ phân tích và bộ mô phỏng .Phân tích là đọc một hay nhiều bản thiết kế bao

gồm file gốc và file đã biên dòch từ thư viện thiết kế chúng , sau đó kiểm tra lỗi chính tả và ngữ
nghóa . Thư viện thiết kế là môi trường hổ trợ cho hệ thống VHDL , tại đây lưu trữ các bản thiết
kế đã biên dòch .Quá trình mô phỏng là mô phỏng một thực thể được đại diện bởi entity-
architecture , hoặc configuration đang được đọc bản biên dòch từ thư viện thiết kế,quá trình
thực hiện bao gồm các bước sau :

1- Elaboration ( chi tiết hoá )
2- Initialization (mã hoá )
3-

Simulation (mô phỏng )
Về ngữ pháp của ngôn ngữ , nó không phân biệt đâu là chữ thường , chữ hoa , xử lý như
nhau .Lời bình giảng được đặt sau hai dấu gạch nối (-) và kết thúc bằng dấu chấm (.)
2 2 KHAI BÁO THỰC THỂ
Khai báo thực thể là xác đònh tên của thực thể , tập hợp các cổng giao tiếp . (ports) là nơi
các tín hiêu đi qua , thực thể có thể trao đổi thông tin với các mô hình khác ở môi trường bên
ngoài .
Ví dụ:
Hardware
abstraction
of a digital
system




Entity declarattion
http:// www.diachiweb.com

entity HALF_ADDER is

port (A,B:in BIT; SUM, CARRY : out BIT );
end HALF_ADDER;
Từ ví dụ trên , ta thấy khai báo thực thể không xác đònh được những vấn đề bên trong thực
thể , chỉ khai báo tên và các cổng giao tiếp của thực thể .


2.3 THÂN KIẾN TRÚC
Chi tiết bên trong của một thực thể được xác đònh bởi thân của architecture sử dụng một
vài mô hình đặc trưng sau :
1.Tập hợp các kết nối bên trong các thành phần (biểu hiện cấu trúc )
2.Tập hợp các phát biểu gán đồng thời (biểu hiện dòng dữ liệu)
3.Tập hợp các phát biểu gán tuần tự (biểu hiện hành vi)
4.Sự kết hợp các dạng trên
2.3.1.LOẠI MÔ HÌNH CẤU TRÚC
Trong mô hình cấu trúc , một thực thể được mô tả như là tập hợp kết nối các component
(thành phần ), mô hình thực thể half-adder , được mô tả trong thân architecture sau đây.
Ví dụ:
architecture HA_STRUCTURE of HALF_ADDER is
component XOR2
port (X,Y:in BIT; Z: out BIT);
end coponent;
component AND2
port (L,M:in BIT; N: out BIT);
end coponent;
begin
X1: XOR2 port map ( A,B,SUM);
A1: AND2 port map (A,B,CARRY );
end HA_STRUTURE;
Tên của architecture la øHA-STRUCTURE , khai báo thực thể HALF_ADDER
(khai báo phần trước ) xác đònh cổng giao tiếp bên ngoài của architecture này . Architecture bao

gồm hai phần : Phần khai báo (trước từ begin) và phần phát biểu (sau từ begin) , hai khai báo
component được thể hiện ở phần khai báo của architecture . Những phần khai báo này liệt kê
các giao tiếp của compenent sử dụng trong architecture đó . Compenent XOR và AND , cả hai
component đã có trong thư viện hay chúng hướng đến một component khác trong thư viện .
Sự khai báo các thành phần được đặt trong phần phát biểu của thân Architecture sử dụng
khai báo component instantiation (đối tượng thành phần) . X1 và A1 là các nhãn của component
instantiation . Phần khai báo thứ nhất X1 , chỉ ra tín hiệu A và B ( cổng input của
HALF_ADDER ) , liên hệ tới X và Y là các cổng input của XOR2, cổng output Z của
component này liên hệ tới cổng output SUM của entity HALF_ADDER.Tương tự , trong phần
khai báo thứ hai , tín hiệu A và B liên hệ tới cổng L vàM của ADD2 , còn cổng N kiên hệ tới
cổng CARRY của HALF_ADDER.
Chú ý trong trường hợp này các tín hiệu trong port map (ánh xạ cổng) của component
instantiation và các tín hiệu cổng trong khai báo component phải được đặt đúng vò trí . Mô tả
cấu trúc cho HALF_ADDER là chưa nói đến các chức năng của nó
http:// www.diachiweb.com

Riêng phần mô tả cho component XOR2 và AND2 , mỗi một thành phần có phần khai báo
thực thể và architecture của riêng nó .
2.3.2 LOẠI MÔ HÌNH DÒNG DỮ LIỆU (DATA FLOW).
Trong mô hình này, dòng dữ liệu qua entity là biểu thức sử dụng các phát biểu gán tín hiệu
đồng thời . Cấu trúc của thực thể là mô tả xác đònh không rõ ràng , chỉ có tính chất suy diễn.
Ví dụ: thân kiến trúc(architecture body) của entity HALF_ADDER :
architecture HA_CONCURRENT of HALF_ADDER is
begin
SUM <= A xor B after 8 ns;
CARRY <= A and B after 4 ns;
end HA_CONCURRENT;
Mô hình dòng dữ liệu HALF_ADDER được mô tả sử dụng 2 phát biểu gán tín hiệu đồng
thời ( phát biểu gán tuần tự được nói ở phần sau ). Trong 1 phát biểu gán tín hiệu :
ký hiệu <= giá trò của tín hiệu gán vào;

Gíatrò của biểu thức bên tay phải của phát biểu , qua quá trình tính toán được gán vào tín
hiệu phần bên tay trái, gọi là target signal. Phép gán tín hiệu đồng thời được thi hành khi xuất
hiện 1 sự kiện tín hiệu của biểu thức bên phải , giá trò của tín hiệu được thay đổi.
Thông tin trể ( delay) được đưa vào phát biểu gán tín hiệu sử dụng mệnh đề after . Nếu 2
tín hiệu A và B là tín hiệu vào của entity HALF_ADDER , sự kiện xuất hiện sau thời gian T,
biểu thức bên phải của 2 phép gán được đánh giá .
Tín hiệu SUM được gán giá trò mới sau 8ns, đồng thời tín hiệu CARRY cũng được gán giá
trò mới sau 4ns. Khi thời gian mô phỏng tới (T+4) ns , CARRY sẽ được gán giá trò mới, cả 2 phát
biểu gán được thực hiện đồng thời.
Các phát biểu gán tín hiệu đồng thời là các phát biểu đồng thời,do đó thứ tự các phát biểu
trong thân kiến trúc là không quan trọng,ngoài ra trong thân kiến trúc HA_CONCURRNT còn
có sự liên kết đến khai báo của entity HALF_ADDER.
Ngữ nghóa của hành vi đồng thời này cho biết quá trình mô phỏng đó được phác thảo bằng
ngôn ngữ, là sự kiện trigger và thời gian mô phỏng tới thời điểm kế tiếp khi có 1 sự kiện xảy ra.
Mệnh đề after sử dụng chung 1 tín hiệu CLOCK, hãy xem phát biểu gán tín hiệu đồng thời
sau :
CLK <= not CLK after 10ns;
Phát biểu này tạo ra dạng sóng trên tín hiệu CLK với chu kỳ 20ns , xem hình 4:

CLK

10 20 30 40 50 60 70 ns
Hình 4: A clock waveform with contant on_off period
2.3.3

LOẠI MÔ HÌNH HÀNH VI (BEHAVIORAL).
Một mô hình tương phản với mô hình trước đó là mô hình hành vi của 1 thực thể bao gồm
các phát biểu thực hiện liên tục có thứ tự. Tập hợp các phát biểu tuần tự được xác đònh bên
trong phát biểu process. Nó không được xác đònh trong cấu trúc của thực thể,mà chỉ xác đònh
chức năng của nó.Một phát biềâu process là 1 phát biểu đồng thờiù có thể thêm vào thân kiến

trúc.
http:// www.diachiweb.com

Một phát biểu process có 1 phần khai báo (trước từ begin ) và 1 phần phát biểu ( giữa từ
begin và end process ). Các phát biểu được đưa vào phần phát biểu là các phát biểu tuần tự và
sẽ được thực thi 1 cách tuần tự
Danh sách các tín hiệu trong ngoặc sau từ process thiết lập danh sách 1 cách có thứ tự ,
phát biểu process thực thi khi có 1 sự kiện trên bất kỳ tín hiệu nào trên danh sách đó .
Khai báo biến bắt đầu bằng từ variable biến khác với tín hiệu là nó luôn được gán giá trò
ngay tức khắc và phép gán là “:=”,tín hiệu được gán giá trò sau khoảng delay ( xác đònh do
người sử dụng hoặc mặc nhiên là khoảng delta) và phép gán điều khiển việc gán giá trò cho
biến là “<=”.
Khai báo biến trong process có phạm vi chỉ trong process đó . Biến có thể khai báo trong
chương trình con , chương trình con sẽ được nói trong phần sau. Khai báo biến bên ngoài
process hoặc chương trình con thì gọi là shared variable. Các biến này có thể được cập nhật và
đọc bởi nhiều process.
Chú ý tín hiệu không được khai báo trong process . Các phát biểu gán tín hiệu xuất hiện
trong process được gọi là phát biêu gán tín hiệu tuần tự , kể cả phát biểu gán biến ,thực hiện
tuần tự độc lập với việc xuất hiện các sự kiện trên mỗi tín hiệu trong biểu thức bên tay phải ,
khác với việc thực thi của các phát biểu gán tín hiệu đồng thời trong phần trước ,process không
bao giờ kết thúc mà nó chỉ ở dạng treo.
Có thề tồn tại phát biểu case hoặc loop trong process , ngữ nghóa và cấu trúc của phát biểu
này cũng giống như trong các ngôn ngữ cấp cao khác là C hoặc pascal . Có thể sử dụng phát
biểu wait trong process. Nó có thể sử dụng để chờ cho 1 giá trò thời gian , cho tới khi điều kiện
thành true , hoặc đến khi có 1 sự kiện xuất hiện trên tín hiệu .
Ví dụ: Process
Begin
CLK <= ‘0’;
Wait for 20 ns;
CLK <= ‘1’;

Wait for 12 ns;
End process;


CLK
0 20 32 52 64 84 96 ns
Hình 5 A clock waveform with varying on_off period.
Process này không có danh sách nhận vào bởi vì xuất hiện phát biểu wait trong process . Đó
là điều quan trọng để nhớ rằng process không bao giờ kết thúc .Tất cả các process thực hiện
suốt quátrình mô phỏng cho đến khi có trạng thái treo.
2.3.4 KIỂU HỖN HP CỦA MÔ HÌNH :
Có thể hỗn hợp 3 kiểu trên trong 1 kiến trúc. Với kiến trúc này, chúng ta có thể sử dụng
các phát biểu component instantiation ( đó là biểu hiện structure) ,phát biểu gán tín hiệu đồng
thời ( biểu hiện dataflow) và phát biểu process( biểu hiện hành vi ).
2.4. KHAI BÁO ĐỊNH DẠNG ( CONFIGURATION)
Khai báo configuration là sử dụng việc chọn 1 trong những architecture mà entity đã có và
các thành phần bắt buộc,sử dụng mô tả cấu trúc trong architecture,tới mô tả thực thể bởi bộ
entity-architecture hoặc bằng 1 configuration, tất cả có trong 1 thư viện thiết kế .

×