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

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

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

Thông tin tài liệu

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ế . . 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. 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. 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

Ngày đăng: 26/07/2014, 08:21

Tài liệu cùng người dùng

Tài liệu liên quan