Danh mục

Giáo trình lập trình Verilog Tiếng Việt 3

Số trang: 6      Loại file: pdf      Dung lượng: 0.00 B      Lượt xem: 108      Lượt tải: 0    
Thư viện của tui

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Phương pháp lập trình thủ tục hay lập trình cấu trúc thường đi đôi với phương pháp phân tích trên xuống (top-down). Theo phương pháp này, người thiết kế hệ thống chia các chức năng (hàm) chính của hệ thống thành các chức năng nhỏ hơn, đến lượt mình, các chức năng nhỏ này lại được chia tiếp thành các chức năng nhỏ hơn nữa cho đến khi được các khối (hàm) chương trình đủ nhỏ.
Nội dung trích xuất từ tài liệu:
Giáo trình lập trình Verilog Tiếng Việt 3 Toùm taét baøi giaûng TK Heä Thoáng Soá Phaàn Verilog Module chk_zero (a,z); Input [2:0] a; Output z; Assign z = ~| a; Endmodule VI. Toaùn töû gheùp: Dòch toaùn töû ñaàu baèng chöõ soá cuûa caùc bit ñöôïc ñònh nghóa bôûi toaùn töû thou hai. Vò trí coøn troáng seõ ñöôïc ñieàn vaøo vôùi nhöõng soá 0 cho caû hai tröôøng hôïp dòch traùi hoaëc phaûi. 1. Toaùn töû: > (dòch phaûi). 2. Ví duï: assign c = aToùm taét baøi giaûng TK Heä Thoáng Soá Phaàn Verilog Assign x = {2{1’b0},a}; // x= {0, 0, a}. IX. Toaùn töû ñieàu kieän: Gioáng nhö C/C++. Chuùng ñònh giaù moät trong hai bieåu thöùc cô baûn trong moät ñieàu kieän. Noù seõ toång hôïp thaønh boä ña coäng (MUX). 1. Toaùn töû : (ñieàu kieän)? keát quaû khi ñieàu kieän ñuùng : keát quaû khi ñieàu kieän sai. 2. Ví duï: assign a = (g) ? x : y; Assign a = ( inc = =2) ? a+1: a-1; X. Thöù töï toaùn töû: Nhöõng toaùn töû trong möùc gioáng nhau ñònh giaù töø traùi sang phaûi Toaùn töû Teân [] Choïn bit, choïn phaàn () Phaàn trong ngoaëc ñôn !, ~ Möùc logic vaø bit_wire NOT &, |, ~&, ~|, ^, ~^ Bieán ñoåi: AND, OR, NAND, NOT, XOR, XNOR. +, - Daáu chæ soá aâm soá döông. Gheùp noái { 3’b101,3’b110} = 6’b101110 {} Thöù baûn {3{3’b101 } }=9’b101101101 {{ } } *, /, % Nhaân, chia, phaàn traêm. +, - Coäng tröø nhò phaân. Dòch traùi, phaûi. = Daáu so saùnh. Bieán Reg vaø wire ñöôïc laáy baèng nhöõng soá döông. = =, != Baèng vaø khoâng baèng trong toaùn töû logic. & Bit_wire AND, and taát caû caùc bit vôùi nhau. ^, ~^ Bit_wire XOR, Bit_wire XNOR. | Bit_wire OR. &&, || Toaùn töû logic AND, OR. ?: x = ( ñieàu kieän ) T:F GV: Nguyeãn Troïng Haûi Trang 13 Toùm taét baøi giaûng TK Heä Thoáng Soá Phaàn Verilog Chöông VI TOAÙN HAÏNG I. Literals (daïng kí töï): Laø toaùn haïng coù giaù trò khoâng ñoåi maø ñöôïc duøng trong bieåu thöùc Verilog. Coù hai daïng kí töï laø: Chuoãi: laø moät maûng coù nhieàu kí töï ñöôïc ñaët trong daáu ””. Chöõ soá: laø nhöõng soá khoâng ñoåi, nhò phaân, baùt phaân, thaäp phaân, hoaëc soá hex. 1. Cuù phaùp caùc chöõ soá: n’F dddd… Trong ñoù: n : soá nguyeân mieâu taû soá bit. F: moät trong boán ñònh daïng sau: b( soá nhò phaân), o( soá baùt phaân), d( soá thaäp phaân), h( soá hex). 2. Ví duï: “time is”// chuoãi kí töï. 267 // maëc ñònh 32 bit soá thaäp phaân. 2’b01 // 2 bit nhò phaân. 20’h B36E // 20 bit soá hex. ‘o62 // 32 bit baùt phaân. II. Choïn 1 phaàn töû bit vaø choïn 1 phaàn caùc bit. Ñaây laø söï löïa choïn moät bít ñôn hoaëc moät nhoùm bit theo thöù töï, töø moät wire, reg hoaëc töø tham soá ñaët trong ngoaïc [ ]. Choïn 1 phaàn töû bit vaø choïn 1 phaàn caùc bit coù theå ñöôïc duøng nhö laø caùc toaùn haïng trong bieåu thöùc baèng nhieàu caùch thöùc gioáng nhau maø caùc ñoái töôïng döõ lieäu goác ñöôïc duøng. 1. Cuù phaùp: Teân bieán [ thöù töï bit]. Teân bieán [ msb: lsb]. 2. Ví duï: GV: Nguyeãn Troïng Haûi Trang 14 Toùm taét baøi giaûng TK Heä Thoáng Soá Phaàn Verilog Reg [7:0] a, b; Reg [3:0] ls; c = a[7] & b[7]; ls = a[7:4] + b[3:0]; III. Goïi haøm chöùc naêng: Giaù trò traû veà cuûa moät haøm coù theå ñöôïc duøng tröïc tieáp trong bieåu thöùc maø khoâng caàn gaùn tröôùc cho bieán reg hoaëc wire. Goïi haøm chöùc naêng nhö laø moät trong nhöõng toaùn haïng. Chieàu roäng bít cuûa giaù trò traû veà chaéc chaén ñöôïc bieát tröôùc. 1. Cuù phaùp: Teân haøm(danh saùch bieán). 2. Ví duï: Assign a = b & c & chk_bc(b, c); Function chk_bc; Input c, b; Chk_bc = b^ c; Endfunction IV. Wire, reg, vaø tham soá: Wire, reg, vaø tham soá coù theå ñuôïc duøng nhö laø caùc toaùn haïng trong bieåu thöùc Verilog. GV: Nguyeãn Troïng Haûi Trang 15 Toùm taét baøi giaûng TK Heä Thoáng Soá Phaàn Verilog Chöông VII MODULES I. Khai baùo modules: Moät module laø baûn thieát keá chuû yeáu toàn taïi trong Verilog. Doøng ñaàu tieân cuûa khai baùo module chæ roõ danh saùch teân vaø port (caùc ñoái soá). Nhöõng doøng keá tieáp chæ roõ daïng I/O (input, output, hoaëc inout) vaø chieàu roäng cuûa moãi port. Maëc ñònh chieàu roäng port laø 1 bit. Sau ñoù, nhöõng bieán port phaûi ñöôïc khai baùo wire, wand, …, reg. Maëc ñònh laø wire. Nhöõng ngoõ vaøo ñaëc tröng laø wire khi döõ lieäu ñöôïc choát bean ngoaøi module. Caùc ngoõ ra laø daïng reg neáu nhöõng tín hieäu cuûa chuùng ñöôïc chöùa trong khoái always hoaëc initial. 1. Cuù phaùp: Module teân module (danh saùch port); Input [msb:lsb] danh saùch port ngoõ vaøo; Output [msb:lsb] danh saùch port ngoõ ra; Inout [ msb:lsb ] danh saùch port vaøo_ ra; … caùc leänh… endmodule 2. Ví duï: Module add_sub(add, in1, in2, out); Wire, reg, vaø tham soá: Input[7:0 ] in1, in2; Wire in1, in2; Output [7:0] out; Reg out; … caùc leänh khaùc… Endmodule GV: Nguyeãn Troïn ...

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

Tài liệu cùng danh mục:

Tài liệu mới: