YOMEDIA
ADSENSE
Giáo trình Verilog HDL
225
lượt xem 74
download
lượt xem 74
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Chương 1: dẫn nhập thiết kế hệ thống với số Verilog Khi kích thước và độ phức tạp của hệ thống thiết kế ngày càng tăng nhiều công cụ thiết kế trên máy tính (CAD) được sử dụng vào quá trình thiết kế phần cứng. Thời kì đầu, những công cụ mô phỏng và tạo ra phần cứng đã đưa ra phương pháp thiết kế, kiểm tra, phân tích thiết kế tổng hợp, và tự động tạo ra 1 phần cứng hết sức phức tạp....
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình Verilog HDL
- Giáo trình Verilog HDL
- N I DUNG Chương1. D n nh p thi t k h th ng s v i Verilog Khi kích thư c và ph c t p c a h th ng thi t k ngày càng tăng, nhi u công c h tr thi t k trên máy tính (CAD) ư c s d ng vào quá trình thi t k ph n c ng. Th i kì u, nh ng công c mô ph ng và t o ra ph n c ng ã ưa ra phương pháp thi t k , ki m tra, phân tích, t ng h p và t ng t o ra ph n c ng m t cách ph c t p. S phát tri n không ng ng c a nh ng công c thi t k m t cách t ng là do s phát tri n c a nh ng ngôn ng mô t ph n c ng (HDLs) và nh ng phương pháp thi t k d a trên nh ng ngôn ng này. D a trên nh ng ngôn ng mô t ph n c ng (HDLs), ư c phát tri n và s d ng nh ng công c CAD trong thi t k h th ng s r ng rãi b i nh ng kĩ sư thi t k ph n c ng. Hi n t i, ngư i ta v n ang tìm ra nh ng ngôn ng mô t ph n c ng t t hơn và ti p t c nghiên c u tr u tư ng hơn. M t trong nh ng ngôn ng mô t ph n c ng ư c s d ng r ng rãi nh t ó là ngôn ng Verilog HDL. Do ư c ch p nh n r ng rãi trong ngành công nghi p thi t k s , Verilog ã tr thành m t ki n th c ư c òi h i ph i bi t i v i nh ng kĩ sư cũng như sinh viên làm vi c và h c t p trong lĩnh v c ph n c ng máy tính. Trong chương này, ta s trình bày nh ng công c và môi trư ng làm vi c có s n tương thích v i ngôn ng Verilog mà m t kĩ sư thi t k có th s d ng trong qui trình thi t k t ng c a mình giúp y nhanh ti n thi t k . Chúng ta s th o lu n t ng bư c v thi t k phân c p, thi t k m c cao t vi c mô t thi t k b ng ngôn ng Verilog n vi c t o ra ph n c ng ó. Nh ng qui trình và nh ng t khóa chuyên môn cũng s c a thi t k ư c minh h a ph n này. K ti p, chúng ta cũng s th o lu n nh ng công 0 c Kh i University of Information Technology
- c CAD hi n có tương thích v i Verilog và ch c năng c a nó trong môi trư ng thi t k t ng. Ph n cu i cùng c a chương này s nói v m t s ư c nhi u kĩ sư c tính c a Verilog khi n nó tr thành m t ngôn ng thi t k ph n c ng l a ch n. 1.1 Qui trình thi t k s Trong thi t k m t h th ng s s d ng môi trư ng thi t k t ng, qui trình thi t k b t u b ng vi c mô t thi t k t i nhi u m c tr u tư ng khác nhau và k t thúc b ng vi c t o ra danh sách các linh ki n cũng như các ư ng k t n i gi a các linh ki n v i nhau ( netlist) cho m t m ch tích h p v i ng d ng c th (ASIC), m ch in ( layout) cho m t m ch tích h p theo yêu c u khách hàng ( custom IC), ho c m t chương trình cho m t thi t b logic có kh năng l p trình ư c (PLD). Hình 1.1 mô t t ng bư c trong qui trình thi t k này. Bư c ư c mô t b i s h n h p u c a thi t k , m t thi t k s gi a mô t mc hành vi (behavioural) Verilog, s d ng nh ng gói (module) thi t k Verilog ã ư c thi t k s n, và vi c gán h th ng các bus và wire liên k t các gói thi t k này thành m t h th ng hoàn ch nh. Kĩ sư thi t k cũng ph i có trách nhi m t o ra d li u ki m tra úng ch c năng hay chưa cũng như dùng (testbench) xem thi t k ki m tra thi t k sau khi t ng h p. Vi c ki m tra thi t k có th th c hi n ư c b ng vi c mô ph ng, chèn nh ng kĩ thu t ki m tra, ki m tra thông thư ng ho c k t h p c ba phương pháp trên. Sau bư c ki m tra ánh giá thi t k ( bư c này ư c g i là ki m tra ti n t ng h p (presynthesis verification)), ư c ti p t c b ng vi c t ng h p thi t k s t o ra ph n c ng th c s cho h th ng thi t k cu i cùng (ASIC, custom IC or FPLD,…). N u h ư c s n xu t b i nhà s n xu t khác; th ng thi t k là ASIC, thi t k s s 0 c Kh i University of Information Technology
- ư c s n xu t tr c ti p; n u là FPLD, thi t k n u là custom IC, thi t k s ư c n p lên thi t b l p trình ư c. Sau bư c t ng h p và trư c khi s ư c t o ra, m t quá trình mô ph ng khác (h u t ng h p ph n c ng th c s (postsynthesis)) ph i ư c th c hi n. Vi c mô ph ng này, ta có th s d ng testbench tương t testbench ã s d ng trong mô ph ng ti n t ng h p (presynthesis). B ng phương pháp này, mô hình thi t k mc hành vi ư c ki m tra v i cùng d li u ngõ vào. và mô hình ph n c ng c a thi t k S khác nhau gi a mô ph ng ti n t ng h p và h u t ng h p ó là m c t ư c t m i lo i mô ph ng. chi ti t có th 0 c Kh i University of Information Technology
- Nh ng ph n ti p theo s mô t t m v m i kh i trong hình 1.1. 1.1.1 D n nh p thi t k Bư c u tiên trong thi t k h th ng s là bư c d n nh p thi t k . Trong bư c này, thi t k ư c mô t b ng Verilog theo phong cách phân c p t cao xu ng th p (top-down). M t thi t k hoàn ch nh có th bao g m nh ng linh ki n m c c ng ho c m c transistor, nh ng kh i (module) ph n c ng có ch c năng ph c t p hơn ư c mô t mc hành vi, ho c nh ng linh ki n ư c li t kê b i c u trúc bus. m c cao thư ng ư c mô t Do nh ng thi t k Verilog mc mà t i ó nó mô t h th ng nh ng thanh ghi và s truy n d li u gi a nh ng thanh ghi này thông qua h th ng bus, vi c mô t h th ng thi t k này ư c xem như là m c mc truy n d li u gi a các thanh ghi (RTL). M t thi t k hoàn ch nh ư c mô t như v y s t o ra ư c ph n c ng tương ng th c s rõ ràng. Nh ng c u trúc thi t k Verilog mc RTL s d ng nh ng phát bi u qui trình (producedural statements), phép gán liên t c (continuous assignments), và nh ng phát bi u g i s d ng kh i (module) ã xây d ng s n. ưc Nh ng phát bi u qui trình Verilog (procedural statements) dùng mô t m c hành vi m c cao. M t h th ng ho c m t linh ki n ư c mô t hành vi thì tương t v i vi c mô t trong ngôn ng mc ph n m m. Ví d , chúng ta có th mô t m t linh ki n b ng vi c ki m tra i u ki n ngõ vào c a nó, b t c hi u, ch cho n khi có s ki n nào ó x y ra, quan sát nh ng tín hi u b t tay và t o ra ngõ ra. Mô t h th ng m t cách qui trình như v y, c u trúc if-else, case c a Verilog cũng như nh ng u s d ng như nhau. ngôn ng ph n m m khác 0 c Kh i University of Information Technology
- Nh ng phép gán liên t c (continuous assignment) trong Verilog là nh ng phép gán cho vi c th hi n ch c năng nh ng kh i logic, nh ng phép gán bus, và mô t vi c k t n i gi a h th ng bus và các chân ngõ vào và ngõ ra. K t h p v i nh ng hàm Boolean và nh ng bi u th c có i u ki n, ưc nh ng c u trúc ngôn ng này có th mô t nh ng linh ki n và h th ng theo nh ng phép gán thanh ghi và bus c a chúng. Nh ng phát bi u g i s d ng kh i Verilog ã ư c thi t k s n (instantiantion statements) ư c dùng cho nh ng linh ki n m c th p trong cao hơn. Thay vi mô t m t thi t k mc mc hành vi, ch c năng, ho c bus c a m t h th ng, chúng ta có th mô t m t h th ng b ng th p hơn. Nh ng linh Verilog b ng cách k t n i nh ng linh ki n mc ki n này có th nh như là m c c ng hay transistor, ho c có th l n như là m t b vi x lí hoàn ch nh. 1.1.2 Testbench trong Verilog M t h th ng ư c thi t k dùng Verilog ph i ư c mô ph ng và ã úng ch c năng chưa trư c khi t o ra ph n c ng. ki m tra xem thi t k Trong quá trình ch y mô ph ng này, nh ng l i thi t k và s không tương ư c phát hi n. Ch y thích gi a nh ng linh ki n dùng trong thi t k có th mô ph ng m t thi t k òi h i vi c t o ra m t d li u ngõ vào ki m tra và quá trình quan sát k t qu sau khi ch y mô ph ng, d li u dùng ki m tra này ư c g i là testbench. M t testbench s d ng c u trúc m c cao c a Verilog t o ra d li u ki m tra, quan sát áp ng ngõ ra, và c vi c b t tay gi a nh ng tín hi u trong thi t k . Bên trong testbench, h th ng thi t ư c g i ra (instantiate) trong testbench. D li u k c n ch y mô ph ng s testbench cùng v i h th ng thi t k s t o ra m t mô hình mô ph ng mà s ư c s d ng b i m t công c mô ph ng Verilog. 0 c Kh i University of Information Technology
- 1.1.3 ánh giá thi t k M t nhiêm v quan tr ng trong b t kì thi t k s nào cũng c n ó là ánh giá thi t k là quá trình mà ngư i thi t k s ki m ánh giá thi t k . tra thi t k c a h có sai sót nào có th x y ra trong su t quá trình thi t k hay không. M t sai sót thi t k có th x y ra do s mô t thi t k mơ h , do sai sót c a ngư i thi t k , ho c s d ng không úng nh ng kh i trong thi t k. ánh giá thi t k có th th c hi n b ng mô ph ng, b ng vi c chèn nh ng kĩ thu t ki m tra, ho c ki m tra thông thư ng. 1.1.3.1 Mô ph ng ư c th c hi n Ch y mô ph ng dùng trong vi c ánh giá thi t k trư c khi thi t k ư c t ng h p. Bư c ch y mô ph ng này ư c hi u như mô ph ng mc hành vi, m c RTL hay ti n t ng h p. mc RTL, m t thi t k bao g m xung th i gian clock nhưng không bao g m trí hoãn th i gian trên c ng và dây k t n i (wire). Ch y mô ph ng mc này s chính xác theo xung clock. Th i gian c a vi c ch y mô ph ng mc RTL là theo tín hi u xung clock, không quan tâm n nh ng nguy hi m ti m n có th khi n thi t k b l i (hazards, glitch), hi n tư ng ch y ua không ki m soát gi a nh ng tín hi u (race conditions), nh ng vi ph m v th i gian setup và hold c a tín hi u ngõ vào, và nh ng v n liên quan nh th i khác. Ưu i m c a vi c mô ph ng này là t c n ch y mô ph ng nhanh so v i ch y mô ph ng m c c ng ho c m c transistor. Ch y mô ph ng cho m t thi t k òi h i d li u ki m tra, thông thư ng trong môi trư ng mô ph ng Verilog s cung c p nhi u phương ưa d li u ki m tra này vào thi t k pháp khác nhau ki m tra. D ư c t o ra b n g li u ki m tra có th h a s d ng nh ng công c so n th o d ng sóng, ho c b ng testbench. Hình 1.2 mô t hai cách khác nhau 0 c Kh i University of Information Technology
- nh nghĩa d li u ki m tra ngõ vào c a m t công c mô ph ng. Nh ng ngõ ra c a công c mô ph ng là nh ng d ng sóng ngõ ra ( có th quan sát tr c quan). ch y mô ph ng v i Verilog testbench, trong testbench s g i h ư c xem như là th ng thi t k ra ki m tra, lúc này h th ng thi t k m t ph n c a testbench, testbench s cung c p d li u ki m tra n ngõ vào c a h th ng thi t k . Hình 1.3 mô t m t o n code c a m t m ch m, testbench c a nó, cũng như k t qu ch y mô ph ng c a nó dư i d ng sóng ánh giá ch c năng ngõ ra. Quan sát hình ta th y vi c ch y mô ph ng s m s tăng lên 1. Chú ý c a m ch m. V i m i xung clock thì ngõ ra b r ng, theo bi u th i gian thì ngõ ra b m thay i t i c nh lên xung clock và không có th i gian trì hoãn do c ng cũng như trì hoãn trên ư ng truy n. K t qu ch y mô ph ng ch ra r ng ch c năng c a m ch m là chính xác mà không c n quan tâm n t n s xung clock. Hi n nhiên, nh ng linh ki n ph n c ng th c s s có áp ng khác nh th i và th i gian trì hoãn c a nh ng kh i ư c s nhau. D a trên 0 c Kh i University of Information Technology
- d ng, th i gian t c nh lên xung clock n ngõ ra c a b m s có trì hoãn khác không. Hơn n a, n u t n s xung clock ư c c p vào m ch th c s quá nhanh so v i t c truy n tín hi u bên trong các c ng và transistor c a thi t k thì ngõ ra c a thi t k s không th bi t ư c. Vi c mô ph ng này không cung c p chi ti t v các v n nh th i ư c mô ph ng. Do ó, nh ng v n c a h th ng thi t k ti m n v nh th i c a ph n c ng do trì hoãn trên c ng s không th phát hi n ư c. ây là v n i n hình c a quá tr nh mô ph ng ti n t ng h p ho c mô ph ng h nh vi. i u bi t ư c trong hình 1.3 ó là b mc m c a ta ms ng nhanh ch m th nào, ho t ông ư c nhi phân. Thi t k ho t t ns nào ch có th bi t ư c b ng vi c ki m tra thi t k sau t ng h p. 0 c Kh i University of Information Technology
- 1.1.3.2 Kĩ thu t chèn ki m tra (assertion) Thay vì ph i dò theo k t qu mô ph ng b ng m t hay t o nh ng d li u ki m tra testbench ph c t p, kĩ thu t chèn thi t b giám sát có th ưc s d ng ki m tra tu n t nh ng c tính c a thi t k trong su t quá trình mô ph ng. Thi t b giám sát ư c ư c mô t bên trong h th ng thi t k ph ng b i ngư i thi t k . Ngư i thi t k s quy t nh xem ch c năng c a thi t k úng hay sai, nh ng i u ki n nào thi t k c n ph i th a mãn. Nh ng i u ki n này ph i tuân theo nh ng c tính thi t k , và thi t b giám sát ư c chèn vào h th ng thi t k m b o nh ng c tính này không b vi ph m. Chu i thi t b giám sát này s sai n u m t c tính nào ó ưc t vào b i ngư i thi t k b vi ph m. Nó s c nh báo ngư i thi t ã không úng ch c năng như mong i. Thư vi n OVL ( k r ng thi t k Open Verification Library) cung c p m t chu i nh ng thi t b giám sát c tính thông thư ng c a chèn vào h th ng thi t k giám sát nh ng thi t k . Ngư i thi t k có th dùng nh ng kĩ thu t giám sát c a riêng mình chèn vào thi t k và dùng chúng k t h p v i testbench trong vi c ki m tra ánh giá thi t k . 1.1.3.3 Ki m tra thông thư ng Ki m tra thông thư ng là quá trình ki m tra nh ng c tính b t kì c a thi t k . Khi m t thi t k hoàn thành, ngư i thi t k s xây d ng m t c tính tương ng v i hành vi c a thi t k . Công c ki m tra chu i nh ng thông thư ng s ki m tra thi t k c tính ư c mô m b o r ng nh ng áp ng ư c t t c nh ng i u ki n. N u có m t c tính ư c phát t c tính ó ư c xem như vi ph m. hi n là không áp ng úng, c tính bao ph (coverage) ch ra bao nhiêu ph n trăm c tính c a thi t k ã ư c ki m tra. 0 c Kh i University of Information Technology
- 1.1.4 Biên d ch và t ng h p thi t k T ng h p là quá trình t o ra ph n c ng t ng t m t mô t thi t k ph n c ng tương ng rõ ràng. M t mô t ph n c ng Verilog dùng t ng h p không th bao g m tín hi u và mô t nh th i m c c ng, và nh ng c u trúc ngôn ng khác mà không d ch sang nh ng phương trình logic tu n t ho c t h p. Hơn th n a, nh ng mô t phân c ng Verilog dùng cho t ng h p ph i tuân theo nh ng phong cách vi t code m t cách nh t nh cho m ch t h p cũng như m ch tu n t . Nh ng phong cách này và c u trúc Verilog tương ng c a chúng ư c nh nghĩa trong vi c t ng h p RTL. ư c mô t hoàn thành Trong qui trình thi t k , sau khi m t thi t k và k t qu mô ph ng ti n t ng h p c a nó ư c ki m tra b i ngư i thi t k , nó ph i ư c biên d ch nó ti n g n hơn n vi c t o thành ph n c ng th c s trên silicon. Bư c thi t k này òi h i vi c mô t ph n c ng c a thi t k ph i ư c nh n ra. Ví d , chúng ta ph i ch n m t ASIC c th , ho c m t FPGA c th như là thi t b ph n c ng m c ích c a thi t k . Khi ư c ch ra, nh ng t p tin mô t thi t b m c ích v công ngh (technology files) c a ph n c ng ( ASIC, FPGA, ho c custom IC) s cung nh th i và mô t ch c năng cho quá trình c p chi ti t nh ng thông tin v biên d ch. Quá trình biên d ch s chuy n i nh ng ph n khác nhau c a nh d ng trung gian ( bư c phân tích), k t n i t t c các thi t k ra m t ph n l i v i nhau, t o ra m c logic tương ng ( bư c t ng h p), s p x p và k t n i ( place and route ) nh ng linh ki n trong thi t b ph n c ng m c th c hiên ch c năng như thi t k mong mu n và t o ra ích l i v i nhau thông tin chi ti t v nh th i trong thi t k . 0 c Kh i University of Information Technology
- Hình 1.4 mô t quá trình biên d ch và mô t hình nh k t qu ngõ ra c a m i bư c biên d ch. Như trên hình, ngõ vào c a bư c này là m t mô t ph n c ng bao g m nh ng m c mô t khác nhau c a Verilog, và k t qu ngõ ra c a nó là m t ph n c ng chi ti t cho thi t b ph n c ng m c ích như FPLD hay s n xu t chip ASIC. 1.1.4.1 Phân tích M t thi t k hoàn ch nh ư c mô t dùng Verilog có th bao g m mô khác nhau như m c t nhi u m c hành vi, h th ng bus và dây k t n i v i nh ng linh ki n Verilog khác. Trư c khi m t thi t k hoàn ch nh t o ra ph n c ng, thi t k ph i ư c phân tích và t o ra m t nh d ng ng nh t cho t t c các ph n trong thi t k . Bư c này cũng ki m tra cú pháp và ng nghĩa c a mã ngõ vào Verilog. 1.1.4.2 T o ph n c ng Sau khi t o ư c m t d li u thi t k có nh d ng ng nh t cho t t c các linh ki n trong thi t k , bư c t ng h p s b t u b ng chuy n i nh d ng ph n c ng thông thư ng như d li u thi t k trên sang nh ng m t chu i nh ng bi u th c Boolean hay m t netlist nh ng c ng cơ b n. 0 c Kh i University of Information Technology
- 1.1.4.3 T i ưu logic Bư c k ti p c a quá trình t ng h p, sau khi m t thi t k ưc i sang m t chu i nh ng bi u th c Boolean, bư c t i ưu logic chuy n ư c th c hi n. Bư c này nh m m c ích làm gi m nh ng bi u th c v i ngõ vào không i, lo i b nh ng bi u th c l p l i, t i thi u hai m c, t i thi u nhi u m c. ây là quá trình tính toán r t hao t n th i gian và công s c, m t s công c cho phép ngư i thi t k quy t t i ưu. K t qu ngõ ra nh m c c a bư c này cũng dư i d ng nh ng bi u th c Boolean, mô t logic dư i d ng b ng, ho c netlist g m nh ng c ng cơ b n. 0 c Kh i University of Information Technology
- 1.1.4.4 Binding Sau bư c t i ưu logic, quá trình t ng h p s d ng thông tin t thi t b ph n c ng m c ích quy t nh chính xác linh ki n logic nào và thi t hi n th c m ch thi t k . Quá trình này ư c g i là binding và b nào c n k t qu ngõ ra c a nó ư c ch nh c th s d ng cho FPLD, ASIC, hay custom IC. 1.1.4.5 S p x p và i dây liên k t Bư c s p x p và i dây lien k t s quy t nh vi c t v trí c a các linh ki n trên thi t b ph n c ng m c ích. Vi c k t n i các ngõ vào và ngõ ra c a nh ng linh ki n này dùng h th ng dây liên k t và vùng chuy n m ch trên thi t b ph n c ng m c ích ư c quy t nh b i bư c s p x p và i dây liên k t này. K t qu ngõ ra c a bư c này ư c ưa t i thi t b ph n c ng m c ích, như n p lên FPLD, hay dùng s n xu t ASIC. M t ví d minh h a v quá trình t ng h p ư c ch ra trên hình 1.5. m mà ã ư c dùng ch y mô ph ng trong hình 1.3 Trong hình này, m ch ư c t ng h p. Ngoài vi c mô t ph n c ng thi t k dùng Verilog, công c t ng h p òi h i nh ng thông tin mô t thi t b ph n c ng ích ti n hành quá trình t ng h p c a mình. K t qu ngõ ra c a công c t ng h p là danh sách các c ng và flip-flop có s n trong thi t b ph n c ng ích và h th ng dây k t n i gi a chúng. Hình 5 cũng ch ra m t k t qu ngõ ra mang tính tr c quan mà ã ư c t o ra t ng b ng công c t ng h p c a Altera Quartus II. 0 c Kh i University of Information Technology
- 1.1.5 Mô ph ng sau khi t ng h p thi t k Sau khi quá trình t ng h p hoàn thành, công c t ng h p s t o ra m t netlist hoàn ch nh ch a nh ng linh ki n c a thi t b ph n c ng ích và nh th i c a nó. Nh ng thông tin chi ti t v các c ng ư c dùng các giá tr hi n th c thi t k cũng ư c mô t trong netlist này. Netlist này cũng trì hoãn trên ư ng dây và nh ng tác bao g m nh ng thông tin v ng c a t i lên các c ng dùng trong quá trình h u t ng h p. Có nhi u nh d ng ư c t o ra bao g m c netlist ngõ ra có th nh d ng Verilog. M t netlist như v y có th ư c dùng mô ph ng, và mô ph ng này ư c g i là mô ph ng h u t ng h p. Nh ng v n v nh th i, v t n s xung clock, v hi n tư ng ch y ua không ki m soát, nh ng nguy hi m ti m n c a thi t 0 c Kh i University of Information Technology
- k ch có th ki m tra b ng mô ph ng h u t ng h p th c hi n sau khi thi t ư c t ng h p. Như trên hình 1.1, ta có th s d ng d li u ki m tra mà k ã dùng cho quá trình mô ph ng ti n t ng h p dùng cho quá trình mô ph ng h u t ng h p. trì hoãn trên ư ng dây và các c ng, áp ng c a thi t k sau Do khi ch y mô ph ng h u t ng h p s khác v i áp ng c a thi t k mà ngư i thi t k mong mu n. Trong trư ng h p này, ngư i thi t k ph i s a nh th i và hi n tư ng ch y l i thi t k và c g ng tránh nh ng sai sót v ua gi a nh ng tín hi u mà không th ki m soát. 1.1.6 Phân tích th i gian Quan sát trên h nh 1.1, bư c phân tích th i gian là m t ph n trong quá trình biên d ch, ho c trong m t s công c thì bư c phân tích th i gian này ư c th c hi n sau quá trình biên d ch. Bư c này s t o ra kh năng x u nh t v trì hoãn , t c xung clock, trì hoãn t c ng này n c ng khác, cũng như th i gian cho vi c thi t l p và gi tín hi u. K t qu c a bư c phân tích th i gian ư c th hi n dư i d ng b ng ho c bi u . Ngư i thi t k s d ng nh ng thông tin này xác nh t c xung clock, hay nói cách khác là xác nh t c ho t ng c a m ch thi t k . 1.1.7 T o linh ki n ph n c ng Bư c cu i cùng trong qui trình thi t k t ng d a trên Verilog ó là t o ra ph n c ng th c s cho thi t k . Bư c này có th t o ra m t netlist s n xu t ASIC, m t chương trình dùng n p vào FPLD, hay m t m ch in cho m ch IC. 0 c Kh i University of Information Technology
- 1.2 Ngôn ng ph n c ng Verilog ( Verilog HDL) Trong ph n trư c, ta ã trình bày t ng bư c thi t k mc RTL t m t mô t thi t k Verilog cho n vi c hi n th c ra m t ph n c ng th c s . Qui trình thi t k này ch có th th c hi n ư c khi ngôn ng Verilog có th hi u ư c b i ngư i thi t k h th ng, ngư i thi t k mc RTL, ngư i ki m tra, công c mô ph ng, công c t ng h p, và các máy móc liên quan. B i vì t m quan tr ng c a nó trong qui trình thi t k , Verilog ã tr thành m t chu n qu c t IEEE. Chu n này ư c s d ng b i ngư i thi t k cũng như ngư i xây d ng công c thi t k . 1.2.1 Quá trình phát tri n Verilog ư c ra u năm 1984 b i Gateway Design Verilog i vào u tiên ư c dùng như là m t công c Automation. Kh i u, ngôn ng u ngôn ng này ư c ch p nh n b i mô ph ng và ki m tra. Sau th i gian ngành công nghi p i n t , m t công c mô ph ng, m t công c phân tích th i gian, và sau này vào năm 1987, công c t ng h p ã ư c xây d ng và phát tri n d a vào ngôn ng này. Gateway Design Automation và nh ng công c d a trên Verilog c a hang sau này ư c mua b i Cadence Design System. T sau ó, Cadence óng vai trò h t s c quan tr ng trong vi c phát tri n cũng như ph bi n ngôn ng mô t ph n c ng Verilog. Vào năm 1987, VHDL tr thành m t chu n ngôn ng mô t ph n c ng c a IEEE. B i do s h tr c a B qu c phòng (DoD), VHDL ư c s d ng nhi u trong nh ng d án l n c a chính ph M . Trong n l c ph bi n Verilog, vào năm 1990, OVI ( Open Verilog International) ư c thành l p và Verilog chi m ưu th trong lĩnh v c công nghi p. i u này ã t o ra m t s quan tâm khá l n t ngư i dùng và các nhà cung c p EDA t i Verilog. 0 c Kh i University of Information Technology
- Vào năm 1993, nh ng n l c nh m chu n hóa ngôn ng Verilog ưcbt u. Verilog tr thành chu n IEEE, IEEE Std 1364-1995, vào năm 1995. V i nh ng công c mô ph ng, công c t ng h p, công c phân tích th i gian, và nh ng công c thi t k d a trên Verilog ã có s n, chu n Verilog IEEE này nhanh chóng ư c ch p nh n sâu r ng trong c ng ng thi t k i nt . M t phiên b n m i c a Verilog ư c ch p nh n b i IEEE vào năm 2001. Phiên b n m i này ư c xem như chu n Verilog-2001 và ư c dùng b i h u h t ngư i s d ng và ngư i phát tri n công c . Nh ng c im m i trong phiên b n m i ó là nó cho phép bên ngoài có kh năng c và ghi d li u, qu n lí thư vi n, xây d ng c u hình thi t k , h tr nh ng c u tr u tư ng cao hơn, nh ng c u trúc mô t s l p l i, cũng trúc có m c như thêm m t s c tính vào phiên b n này. Quá trình c i ti n chu n này v n ang ư c ti p t c v i s tài tr c a IEEE. 1.2.2 Nh ng c tính c a Verilog Verilog là m t ngôn ng mô t ph n c ng dùng c t ph n c ng t m c transistor n m c hành vi. Ngôn ng này h tr nh ng c u trúc nh th i cho vi c mô ph ng nh th i mc chuy n m ch và t c th i, nó cũng có kh năng mô t ph n c ng t i m c thu t toán tr u tư ng. M t mô t thi t k Verilog có th bao g m s tr n l n gi a nh ng kh i tr u tư ng khác nhau v i s khác nhau v m c (module) có m c chi ti t. 0 c Kh i University of Information Technology
- 1.2.2.1 M c chuy n m ch c i m c a ngôn ng này khi n nó tr nên lí tư ng trong Nh ng chuy n m ch bao g m kh năng vi c mô hình hóa và mô ph ng mc chuy n m ch m t chi u cũng như hai chi u v i nh ng thông s v trì hoãn và lưu tr ư c mô hình i n tích. Nh ng trì hoãn m ch i n có th hóa như là trì hoãn ư ng truy n, trì hoãn t th p lên cao hay t cao xu ng c i m lưu tr tr u tư ng trong Verilog khi n th p. i n tích mc nó có kh năng mô t nh ng m ch i n v i linh ki n ng như là CMOS hay MOS. 1.2.2.2 M c c ng Nh ng c ng cơ b n v i nh ng thông s ưc nh nghĩa trư c s cung c p m t kh năng thu n ti n trong vi c th hi n netlist và mô ph ng m c c ng. i v i vi c mô ph ng m c c ng v i m c ích chi ti t và c ưc nh nghĩa bi t, nh ng linh ki n c ng có th mc hành vi. Verilog cũng cung c p nh ng công c cho vi c nh nghĩa nh ng ph n t cơ b n v i nh ng ch c năng ơn c bi t. M t h th ng s logic 4 giá tr gi n (0,1,x,z) ư c s d ng trong Verilog th hi n giá tr cho tín hi u. mô hình m c logic chính xác hơn, nh ng tín hi u Verilog Tuy nhien, m nh ư c thêm vào 4 giá tr ơn gi n g m 16 m c giá tr v trên. 1.2.2.3 trì hoãn gi a pin n pin M t ti n ích trong vi c mô t nh th i cho các linh ki n t i ngõ vào và ngõ ra cũng ư c cung c p trong Verilog. Ti n ích này có th ư c dùng u. Hơn truy v n l i thông tin v nh th i trong mô t ti n thi t k ban n a, ti n ích này cũng cho phép ngư i vi t mô hình hóa tinh ch nh hành vi nh th i c a mô hình d a trên hi n th c ph n c ng. 0 c Kh i University of Information Technology
- 1.2.2.4 Mô t Bus Nh ng ti n ích v mô hình bus và thanh ghi cũng ư c cung c p b i i v i nhi u c u trúc bus khác nhau, Verilog h tr ch c năng Verilog. phân gi i bus và wire v i h th ng logic 4 giá tr (0,1,x,z). V i s k t h p gi a ch c năng bus logic và ch c năng phân gi i, nó cho phép mô hình hóa ư c h u h t các lo i bus. i v i vi c mô hình hóa thanh ghi, vi c mô t xung clock m c cao và nhưng c u trúc i u khi n ư cs nh th i có th d ng mô t thanh ghi v i nh ng tín hi u xung clock và tín hi u reset khác nhau. 1.2.2.5 M c hành vi Nh ng kh i qui trình ( procedural blocks) c a Verilog cho phép mô t thu t toán c a nh ng c u trúc ph n c ng. Nh ng c u trúc này tương t v i ngôn ng l p trình ph n m m nhưng có kh năng mô t ph n c ng. 1.2.2.6 Nh ng ti n ích h th ng Nh ng tác v h th ng trong Verilog cung c p cho ngư i thi t k nh ng công c trong vi c t o ra d li u ki m tra testbench, t p tin truy xu t c, ghi, x lí d li u, t o d li u, và mô hình hóa nh ng ph n c ng chuyên d ng. Nh ng ti n ích h th ng dùng cho b nh c và thi t b logic l p trình ư c (PLA) cung c p nh ng phương pháp thu n ti n cho vi c mô hình hóa nh ng thi t b này. Nh ng tác v hi n th và I/O có th ư c s d ng ki m soát t t c nh ng ngõ vào và ngõ ra d li u c a ng d ng và mô ph ng. Verilog cho phép vi c truy xu t c và ghi ng u nhiên n các t p tin. 0 c Kh i University of Information Technology
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn