Danh mục

Bài giảng Hệ thống số - Phần Verilog

Số trang: 42      Loại file: pdf      Dung lượng: 283.71 KB      Lượt xem: 21      Lượt tải: 0    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: 13,000 VND Tải xuống file đầy đủ (42 trang) 0
Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Verilog HDL là một trong hai ngôn ngữ mô phỏng phần cứng thông dụng nhất, được dùng trong thiết kế IC, ngôn ngữ kia là VHDL. HDL cho phép mô phỏng các thiết kế dễ dàng, sửa chữa lỗi, hoặc thực nghiệm bằng những cấu trúc khác nhau. Các thiệt kế được mô tả trong HDL là những kỹ thuật độc lập, dễ thiết kế, dễ tháo gỡ, và thường để đọc hơn ở dạng biểu đồ, đặc biệt là ở cách mạch điện lớn....
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ thống số - Phần Verilog BOÄ GIAÙO DUÏC & ÑAØO TAÏOTRÖÔØNG ÑAÏI HOÏC KYÕ THUAÄT COÂNG NGHEÄ THAØNH PHOÁ HOÀ CHÍ MINH Ths. NGUYEÃN TROÏNG HAÛITOÙM TAÉT BAØI GIAÛNGVERILOG LÖU HAØNH NOÄI BOÄ 07/2005Toùm taét baøi giaûng TK Heä Thoáng Soá Phaàn VerilogCHÖÔNG ITOÅNG QUANVerilog HDL laø moät trong hai ngoân ngöõ moâ phoûng phaàn cöùng thoâng duïng nhaát,ñöôïc duøng trong thieát keá IC, ngoân ngöõ kia laø VHDL.HDL cho pheùp moâ phoûng caùc thieát keá deã daøng, söûa chöõa loãi, hoaëc thöïc nghieämbaèng nhöõng caáu truùc khaùc nhau. Caùc thieát keá ñöôïc moâ taû trong HDL laø nhöõng kyõthuaät ñoäc laäp, deã thieát keá, deã thaùo gôõ, vaø thöôøng deå ñoïc hôn ôû daïng bieåu ñoà, ñaëcbieät laø ôû caùc maïch ñieän lôùn.Verilog thöôøng ñöôïc duøng ñeå moâ taû thieát keá ôû boán daïng: Thuaät toaùn (moät soá leänh gioáng ngoân ngöõ C nhö: if, case, for,while…). Chuyeån ñoåi thanh ghi (keát noái baèng caùc bieåu thöùc Boolean). Caùc coång keát noái( coång: OR, AND, NOT…). Chuyeån maïch (BJT, MOSFET).Ngoân ngöõ naøy cuõng chæ roõ caùch thöùc keát noái, ñieàu khieån vaøo/ra trong moâ phoûng.Caáu truùc chöông trình duøng ngoân ngöõ Verilog // Khai baùo module Module teân chöông trình (teân bieán I/O); // teân chöông trình truøng teân file.v. Input [msb:lsb] bieán; Output [msb:lsb] bieán; Reg [msb:lsb] bieán reg; Wire [msb: lsb] bieán wire; // Khai baùo khoái always, hoaëc khoái initial. … caùc leänh … EndmoduleGV: Nguyeãn Troïng Haûi Trang 1Toùm taét baøi giaûng TK Heä Thoáng Soá Phaàn VerilogChöông IICHÖÙC NAÊNG CAÙC TÖØ VÖÏNGTRONG VERILOGNhöõng taäp tin vaên baûn nguoàn Verilog bao goàm nhöõng bieåu hieän thuoäc tính töø vöïngsau ñaây:I. Khoaûng traéng Khoaûng traéng ngaên nhöõng töø vaø coù theå chöùa khoaûng caùch, khoaûng daøi, doøng môùivaø daïng ñöôøng daãn. Do ñoù, moät leänh coù theå ñöa ra nhieàu doøng phöùc taïp hôn maø khoâng coù nhöõng ñaëc tính ñaëc bieät.II. Chuù giaûi Nhöõng chuù giaûi coù theå chæ ñònh baèng hai caùch: ( gioáng trong C/C++) Chuù giaûi ñöôïc vieát sau hai daáu gaïch xieân (//). Ñöôïc vieát treân cuøng moät doøng. Ñöôïc vieát giöõa /* */, khi vieát nhieàu doøng chuù giaûi.III. Chöõ soá: Löu tröõ soá ñöôïc ñònh nghóa nhö laø moät con soá cuûa caùc bit, giaù trò coù theå laø: soá nhò phaân, baùt phaân, thaäp phaân, hoaëc thaäp luïc phaân. Ví duï: 3’b001, 5’d30 = 5’b11110, 16’h5ED4 = 16’d24276 = 16’b0101111011010100IV. Töø ñònh danh: Töø ñònh danh do ngöôøi duøng quy ñònh cho bieán soá, teân haøm, teân moâñun, teân khoái vaø teân tröôøng hôïp. Töø ñònh danh baét ñaàu baèng moät maãu töï hoaëc ñöôøng gaïch döôùi ’_’ ( khoâng baét ñaàu baèng moät con soá hoaëc $ ) vaø keå caû moïi chöõ soá cuûa maåu töï, nhöõng con soá vaø ñöôøng gaïch döôùi, töø ñònh danh trong Verilog thì phaân bieät daïng chöõ.V. Cuù phaùp: Kí hieäu cho pheùp: ABDCE…abcdef…1234567890_$ Khoâng cho pheùp: caùc kí hieäu khaùc -, &, #, @GV: Nguyeãn Troïng Haûi Trang 2Toùm taét baøi giaûng TK Heä Thoáng Soá Phaàn VerilogVI. Toaùn töû: Toaùn töû laø moät, hai, hoaëc ba kí töï duøng ñeå thöïc hieän caùc toaùn haïng treân bieán. Caùc toaùn töû bao goàm >, +, &, !=.VII. Töø khoùaVerilog: Coù nhöõng töø maø phaûi coù yù nghóa ñaëc bieät trong Verilog. Ví duï: assign, case, while, wire, reg, and, or, nand, vaø module. Chuùng khoâng ñöôïc duøng nhö töø ñònh danh. Töø khoùa Verilog cuõng bao goàm caû chæ daãn chöông trình bieân dòch vaø System Task (heä thoáng soaïn thaûo) vaø caùc haøm.GV: Nguyeãn Troïng Haûi Trang 3Toùm taét baøi giaûng TK Heä Thoáng Soá Phaàn VerilogChöông IIICAÙC COÅNG CÔ BAÛNTRONG VERILOGCaùc coång logic cô sôû laø moät boä phaän cuûa ngoân ngöõ Verilog. Coù hai ñaëc tính ñöôïcchæ roõ laø: drive_strenght vaø delay. Drive_strenght chæ söùc beàn cuûa coång. Ñoä beàn ngoõ ra laø söï keát noái moät chieàu ñeán nguoàn, keá ñoù taïo neân söï keát noái trong suoát trans daãn, keát thuùc laø toång trôû keùo leân hoaëc xuoáng. Drive_strenght thöôøng khoâng ñöôïc chæ roõ, trong tröôøng hôïp naøy ñoä beàn maëc ñònh laø strong1 vaø strong0 . Delay: neáu delay khoâng ñöôïc chæ roõ, thì khi ñoù coång khoâng coù trì hoaõn truyeàn taûi; neáu coù hai delay ñöôïc chæ ñònh, thì tröôùc tieân laø mieâu taû trì hoaõn leân, thöù hai laø trì hoaõn xuoáng. Neáu chæ coù moät delay ñö ...

Tài liệu được xem nhiều: