bài giảng vi mạch số phần 3 tóm tắt hướng dẫn sử dụng ngôn ngữ abel

29 601 0
bài giảng vi mạch số phần 3 tóm tắt hướng dẫn sử dụng ngôn ngữ abel

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 87 Phần 3: TÓM TẮT HƯỚNG DẪN SỬ DỤNG NGÔN NGỮ ABEL Ngôn ngữ ABEL (Advanced Boolean Equation Language) là một trong những ngôn ngữ lập trình rất mạnh cho PLD bao gồm cả phần lập trình mô phỏng và tạo file fuslemap (cầu chì) 'đốt' PLD. Trong bài này chỉ tóm tắt hướng dẫn sử dụng các phần cấu trúc và cú pháp về các phát biểu, khai báo, chỉ dẫn… chủ yếu nhất để phục vụ cho cách lập trình cho vi mạch GAL và cách lập trình cho các vi mạch ứng dụng trong mạch sau này. Để hiểu sâu hơn về ngôn ngữ này, người học nên cần tham khảo thêm các tài liệu khác hoặc phần help trong ngôn ngữ. 3.1 CẤU TRÚC VÀ CÚ PHÁP: 3.1.1 CÁC PHÁT BIỂU (STATEMENT) 1. Phát biểu Module: Cú pháp: module modname [(dummy_arg[,….])] Modname là một danh hiệu hợp lệ được đặt làm tên gọi cho module chương trình. Danh hiệu hợp lệ là một chuỗi dài tối đa 31 ký tự (chữ cái, chữ số, dấu gạch dưới '_'), được bắt đầu bằng chữ cái hay dấu gạch dưới '_' Danh hiệu phân biệt chữ hoa hay chữ thường. Dummy _ arg (có thể có) là một thông số hình thức (tương tự như thông số hình thức của các procedure ngôn ngữ cấp cao). Mục đích - cách dùng: Phát biểu module xác định chỗ bắt đầu của một module và phải có phát biểu end để xác định chỗ kết thúc của module. Một file chương trình có thể có một hoặc nhiều module (tương tự như trong ngôn ngữ hợp dịch). dụ: MODULE My _ Example . . . END My _ Example Module có tên là My _ Example và phát biểu END My _ Example kết thúc module này. Trong module này không sử dụng thông số hình thức. dụ: MODULE My _ Example (A,B) . . . C = A + B Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 88 END My _ Example Trong module này có sử dụng hai thông số hình thức A và B, biểu thức C = A + B, với A, B được trả về giá trị thực (từ module khác) khi biên dịch. 2. Phát biểu title: Cú pháp: title 'string' String là một chuỗi ký tự nằm trong hai dấu nháy đơn (') Mục đích - cách dùng: Phát biểu title dùng để đặt cho một module một cái tiêu đề để minh họa đặc điểm chức năng chẳng hạn. Chuỗi ký tự đặt tiêu đề sẽ xuất hiện trong cả file dữ liệu và file fusemap sau khi biên dịch. Sử dụng phát biểu title là tùy chọn (không nhất thiết phải có). dụ: Module EXO Title '3 - 8 line decoder using GAL 16V8'. 3. Phát biểu equations: Cú pháp: equations Mục đích - cách dùng: Phát biểu equations định chỗ bắt đầu của một hay một nhóm biểu thức Boole biểu diễn hàm logic ngõ ra theo ngõ vào: Sau mỗi biểu thức phải có dấu chấm phẩy (;) dụ: Equations A = B & C ; [W,Y] = 3 ; !F = B = = C ; 4. Phát biểu Truth _ table: Cú pháp: Truth _ table (inputs -> outputs) hay truth _ table (inputs : > reg _ outs) hay truth _ table (inputs: > reg _ outs -> outputs)  Inputs : là các ngõ vào của hàm logic  Outputs : là các ngõ ra của hàm logic  Reg _ outs : là các ngõ ra của các thanh ghi (FF)  Dấu -> : biểu diễn hệ tổ hợp  Dấu : > : biểu diễn hệ tuần tự Mục đích - Cách dùng: Truth _ table trình bày bảng sự thật minh họa hoạt động của hàm logic hoặc hệ logic cần thiết kế. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 89 Các bảng sự thật có thể thay thế hoặc bổ sung thêm cho các biểu thức (trong equations) hay đồ trạng thái (trong state _ dragram) dụ: Truth _ table ([A,B] -> C)) [0,1] -> 1 ; [1,0] -> 1 ; [1,1] -> 0 ; [0,0] -> 0 ; Rõ ràng truth _ table ở trên biểu diễn biểu thức C = A + B 5. Phát biểu state _ diagram: Cú pháp: state _ diagram state variables state state _ exp : [equations] ; . . . [trans - stmt…]; State_variables : là tập hợp các biến trạng thái trong máy trạng thái. State : là từ khóa để biểu diễn sự chuyển biến từ trạng thái hiện tại sang trạng thái kế tiếp và ngõ ra hiện tại. State _exp : là biểu thức hay hằng số định nghĩa trạng thái hiện tại. Equations là các biểu thức logic ngõ ra hiện tại của máy trạng thái. Trans _ stmt là một phát biểu dạng IF - THEN - ELSE, GOTO, CASE (tùy chọn) để mô tả sự chuyển biến từ trạng thái hiện tại sang trạng thái kế tiếp theo điều kiện tác động của ngõ vào. Mục đích - cách dùng: Phát biểu state _ diagram định nghĩa các biến trạng thái bắt đầu sự mô tả hoạt động của máy trạng thái (tương tự như đồ thị trạng thái hay lưu đồ máy trạng thái). dụ: Giả sử ta có 2 ngõ vào là x1 và x2, ngõ ra là z, máy trạng thái có 3 trạng thái ký hiệu S0, S1, S2, 2 biến trạng thái Q = [Q0,Q1] (2 ngõ ra của FF). state _ diagram Q state S0 : if (x1 & x2 = = 0) then S2 else S1 state S1 : z = 1 ; x 1 . x 2 =0 Z=1 Z=0 S 0 S 1 S 2 N Y Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 90 go to S2 ; state S2 : z = 0 ; go to S0 ; Đoạn chương trình trên tương đương với lưu đồ máy trạng thái hình bên. 6. Phát biểu go to: Cú pháp: goto state _ exp ; State _ exp : là biểu thức biểu diễn trạng thái kế tiếp. Mục đích - cách dùng: Phát biểu goto biểu diễn sự chuyển biến không điều kiện từ trạng thái hiện tại sang trạng thái kế tiếp là state _ exp. dụ: Si: goto Sj ; nhảy đến trạng thái Sj Sj: goto x + y; nhảy đến trạng thái x + y 7. If - then - else: Cú pháp: If exps then state _ exp1 [else state _ exp2]; hay if exps1 then state _ exp1 else if exps2 then state _ exp2 [else if …] else state _ expn; _ Exps : là bất kỳ biểu thức hợp lệ nào. _ State _exp1, state _ exp2 … : là biểu thức biểu diễn trạng thái kế tiếp. Mục đích - cách dùng: Phát biểu if - then - else : mô tả sự chuyển hóa trạng thái theo điều kiện ngõ vào. Nếu biểu thức ngay sau từ khóa if là đúng, chuyển biến hướng đến trạng thái ngay sau từ khóa then; nếu sai chuyển biến hướng đến trạng thái ngay sau từ khóa else. Các phát biểu if - then - else có thể được nối với nhau liên tiếp nhưng kết thúc phải là dấu chấm phẩy. dụ: state 1: if (A = = B) then 2; "nếu A = B chuyển đến trạng thái 2 state 2: if A then 3 else 4; "nếu A đúng ( 0) chuyển đến trạng thái 3" "nếu A sai (= 0) chuyển đến trạng thái 4". state 0: if a then 1 else if b then 2 else if c then 3 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 91 else 0; 8. Phát biểu case: Cú pháp: case [exps1 : state_ exp1;] [expsi : state _ expi;] end case; Mục đích - cách dùng: Phát biểu case mô tả sự chuyển biến trạng thái trong trường hợp có nhiều điều kiện tác động. dụ: State 0 : case a = = 0 : 1; a = = 1 : 2; a = = 2 : 3; a = = 3 : 0; End case; 9. Phát biểu test _ vectors: Cú pháp: Test vectors['note'] (inputs -> outputs) [invalues -> out values] Note: là một chuỗi ký tự để mô tả các test _ vector. Inputs: là một danh hiệu hay tập hợp danh hiệu tên các tín hiệu vào hay hồi tiếp về ngõ vào của hệ. Outputs là một danh hiệu hay tập hợp danh hiệu tên các tín hiệu ra của hệ. Invalues là một hay tập hợp các giá trị vào. Outvalues là một hay tập hợp các giá trị ra là hàm logic của các giá trị vào và giá trị trạng thái (hệ tuần tự). Mục đích - cách dùng: Các vector thử dùng để mô phỏng hoạt động của hệ và kiểm tra các chức năng hoạt động của hệ khi chạy chương trình mô phỏng. dụ: equations C = A & B ; "C = A . B D = A # B ; "D = A + B Test _ vectors ([A,B] -> [C, D]) [0,0] -> [0, 0] [0,1] -> [0, 1] [1,0] -> [0, 1] [1,1] -> [1, 1] 10. Phát biểu istype: Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 92 Cú pháp: signal [ , signal] … istype 'attr [ , attr]…'; hay signal [ , signal] … pin is type 'attr [ , attr] …'; _ Signal là một danh hiệu pin hay node. _ Attr là một chuỗi ký tự xác định các thuộc tính (attribution) của các signal. Mục đích - cách dùng: Phát biểu istype định nghĩa các thuộc tính của pin hay node lập trình được của các dụng cụ (PLD). Các thuộc tính của pin hay node có thể khai báo cùng một dòng. Các thuộc tính hợp lệ là: 'buffer' : đệm 'com' : hệ tổ hợp 'invert' : đảo 'neg' : tính cực mức thấp 'pos' : tính cực mức cao 'reg' : thanh ghi (hệ tuần tự) 'reg D', 'reg _T', 'reg _ JK', 'reg _SR': các FF, D, T, JK, SR dụ: FO, A istype 'neg, reg'. Istype định nghĩa FO, A là tín hiệu của thanh ghi, tác động mức thấp. Output pin 15 istype 'reg, invert'; Tín hiệu output chân 15 của thanh ghi ngõ đảo (ngõ ra Q) 11. Phát biểu end: Cú pháp: end hay end modname Modname : tên của module chương trình. Mục đích - cách dùng: Dùng kết hợp với các phát biểu module để mở đầu và kết thúc module chương trình. 3.1.2 CÁC KHAI BÁO (DECLARATIONS): 1. Chân (pin): Cú pháp: [!] pin _id [,[I]pin_id…]pin [pin [pin # [,pin #]] istype 'attr'] ;  Pin _id là một danh hiệu dùng để đặt tên cho một chân.  Pin # là số thứ tự chân trên dụng cụ (PLD) thật.  Attr: là một chuỗi xác định các thuộc tính của chân. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 93  ! : ký hiệu NOT, tích cực mức thấp. Mục đích - cách dùng: Từ khóa pin dùng để khai báo những tín hiệu input và output, là những tín hiệu in / out qui định sẵn trên dụng cụ (theo sổ tra cứu). Khai báo cũng có thể định nghĩa thuộc tính chân. Khi một danh sách danh hiệu chân và số chân có trong cùng một khai báo chân, sẽ có tự tương xứng 1 - 1 giữa danh hiệu chân và số chân. dụ: !clock, reset, S1 pin 12, 15,3; Khai báo này gán tên chân: clock chân 12, reset chân 15, S1 chân 3. !clock: tác động mức thấp. 2. Nút (node): Cú pháp: [!]node_id[,[!]node_id …]node [node# [,nod # …][istype 'attr']; _ Node_id là một danh hiệu dùng để đặt tên một nút. _ Node # là số thứ tự nút trên dụng cụ thật (nút tương đương như chân ẩn trong dụng cụ và số nút được cho trong sổ tay tra cứu). Mục đích - cách dùng: Từ khóa node dùng để khai báo những tín hiệu gán cho những nút ẩn trong dụng cụ. dụ: B node istype 'reg' Xác định nút B là một ngõ của FF trong dụng cụ. A,B node 25, 26. Gán tên A là nút 25, B là nút 26. Số nút này do nhà sản xuất qui định trong sổ tay tra cứu. 3. Dụng cụ (device): Cú pháp: device-id device real_device; Device-id là một danh hiệu, chính là tên file fusemap. Real-device là chuỗi mô tả mã số dụng cụ (PLD) đặt giữa 2 dấu nháy đơn ('). Mục đích - cách dùng: Khai báo dụng cụ gắn tên dụng cụ sử dụng trong một module với một dụng cụ (PLD) thật. Trong quá trình biên dịch, các hàm logic sẽ được đưa về dạng theo cấu trúc cổng đúng như của dụng cụ thật. Phải đặt dấu; sau khai báo. dụ: D1 device 'P16R4'; Khai báo này cho biết D1 là loại PLD PAL 16R4. 3.3 CÁC KHAI BÁO KHÁC (OTHER DEDARATIONS): 1. Hằng (Constant): Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 94 Cú pháp: id [, id]… = expr [, expr]…; id là một danh hiệu đặt tên cho một hằng. expr xác định giá trị hằng. Mục đích - cách dùng: Khai báo hằng định nghĩa những hằng số được dùng trong một module. dụ: X = .X. ; "X mang ý nghĩa không xác định Z = .Z. ; "Z mang ý nghĩa tổng trở cao C = .C. ; "C mang ý nghĩa tác động cạnh lên. A = ^b01 ; số nhị phân B = ^h16 ; số hex C = 10 ; số thập phân 2. Tập hợp (set): Định nghĩa: Tập hợp là tập hợp những tín hiệu và hằng số mà tác vụ thực hiện như là một đơn vị. Bất cứ một tác vụ nào áp dụng cho một tập hợp sẽ được áp dụng cho mỗi phần tử trong tập hợp. Định nghĩa: Tập hợp sẽ làm đơn giản việc mô tả logic và các test - vectors, bằng cách chỉ cần dùng tên gọi tập hợp. Cách khai báo: Một tập hợp được đại diện bởi một danh sách các hằng số và tín hiệu ngăn cách bằng các dấu phẩy hay dấu khoảng ( ), đặt trong dấu ngoặc vuông ([ ]). Sau mỗi khai báo một tập hợp phải có dấu ;. dụ: MULOUT = [B0, B1, B2, B3, B4, B5, B6, B7]; Hay MULOUT = [B0 B7]; Khai báo MULOUT là tên một tập hợp gồm 8 tín hiệu từ B0 đến B7 BCD = [D, C, B, A] LED = [g, f, e, d, c, b, a] Test-vectors (BCD -> LED) [0,0,0.0] -> [1,0,0,0,0,0,0] BCD là một tập hợp gồm các tín hiệu D, C, B, A. LED là một tập hợp gồm các tín hiệu g, f, e, d, c, b, a. 3. Macro: Cú pháp: macro_id macro [(dummy_arg [, dummy_arg]…)]{block}; _ macro_id : là một danh hiệu đặt tên cho macro. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 95 _ dummy_arg : là một thông số hình thức. _ block : là các biểu thức logic. Mục đích - cách dùng: Khai báo macro định nghĩa một macro thực hiện các chức năng các phép toán, biểu thức logic trong block. Chỉ định nghĩa macro một lần trong phần khai báo macro trong module và sẽ được dùng bất cứ nơi nào trong module. Khai báo macro tương tự như trong trình hợp ngữ. Macro chỉ có thể được dùng trong module mà nó được khai báo. dụ: NAND 3 macro (A, B, C) { ! (A&B&C)}. NAND3 là macro thực hiện chức năng hàm logic A.B.C, với A, B, C là các thông số hình thức. Sau đó trong mudule khai báo macro này ta có khai báo: D = NAND 3 (Clock, Hello, busy) ; Sẽ cho kết quả : D = ! (Clock & Hello & Busy) khi biên dịch. 4. Enable: Cú pháp: Enable output_id = [!] expr ; Output_id là danh hiệu đặt tên cho một ngõ ra hoặc một tập hợp ngõ ra. Expr là một biểu thức logic. Mục đích - Các dùng: Khai báo enable cho phép các ngõ ra 3 trạng thái hoạt động theo tín hiệu điều khiển bởi giá trị của expr. Sử dụng khai báo này theo sau phát biểu equations. dụ: OE pin 11 ; F0, F1, F2, F3 pin 19, 18, 17, 16; count = [F0, F1, F2, F3] equations enable count = ! OE ; Các ngõ ra từ F0 đến F3 trong tập hợp count là các ngõ ra 3 trạng thái, sẽ hoạt động khi OE = 0 và sẽ ở trạng thái high - Z khi OE = 1. _ Có thể sử dụng tiếp ngữ. OE thay cho khai báo enable (xem phần tiếp ngữ). 3.4 CÁC TOÁN TỬ (OPERATORS): 1. Toán tử chuẩn (standard): ! : NOT # : OR Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 96 & : AND $ : XOR !$: XNOR = : toán tử gán cho biểu thức tổ hợp. : = : toán tử gán cho biểu thức thanh ghi (tuần tự). Ngoài ra từ khóa @ ALTERNATE báo cho trình biên dịch biết bộ toán tử tương đương (atternate) thay thế cho bộ toán tử chuẩn (các ký hiệu dễ nhớ hơn). Bộ toán tử thay thế (phải có từ khóa @ ALTERNATE ở đầu module chương trình). / : NOT * : AND + : OR :+: : XOR :* : : XNOR 2. Toán tử so sánh: = = : bằng ! = : không bằng < : nhỏ hơn > : lớn hơn <= : nhỏ hơn hoặc bằng > = : lớn hơn hoặc bằng Ngoài ra còn cho phép viết các biểu thức điều kiện, biểu thức này sẽ trả về 1 nếu thỏa điều kiện và trả về 0 nếu không thỏa điều kiện. dụ: Q = (P = = 1) ; "Q sẽ bằng 1 nếu P = 1 "Q sẽ bằng 0 nếu P khác 1 3.5 CÁC TIẾP ĐẦU NGỮ (PREFIX), TIẾP NGỮ (SUFFIX): 1. Tiếp đầu ngữ: Toán tử Not (! Hay / ) được dùng như tiếp đầu ngữ để báo trình biên dịch biết tín hiệu hoạt động (tích cực) ở mức logic 0. dụ: ! Q0 pin 15 ; Tương đương với Q0 pin 15 is type 'neg'; 2. Tiếp ngữ: Các tiếp ngữ thường được dùng trong chế độ thanh ghi để truy xuất đến từng chân nội trong thanh ghi. dụ: Q0.CK truy xuất đến chân clock của tín hiệu ra Q0 ở chế độ thanh ghi. Tương tự như đối với. RE, .PR, .D, .T … lần lượt truy xuất đến các chân reset, preset, D, T của thanh ghi. Tiếp ngữ .OE cho phép xuất ở ngõ ra 3 trạng thái. dụ: out.oe = !ena ; ena = 0 -> ngõ ra out được phép xuất. [...]... ngay sau chỉ dẫn / phát biểu module modname dụ: module decol2-4 flag'-t1-' 3. 7 GIỚI THIỆU TÓM TẮT CẤU TRÚC GAL16V8 và GAL20V8 Các dụng cụ PLD sử dụng trong các bài thí nghiệm đều dùng GAL16V8 hoặc GAL20V8 Trong phần này sẽ giới thiệu tóm tắt cấu trúc các mode làm vi c của các dụng cụ trên và cách khai báo device tương ứng mode làm vi c 3. 7.1 GAL16V8: ( xem thêm ở phần phụ lục) I/CLK 11 12 13 14 15 16... đơn 2 'P16V8C', 'P20V8C': Sử dụng mode phức Trang 99 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình 3 'P16V8R', 'P20V8R': Sử dụng mode thanh ghi dụ: Trong thiết kế hệ tổ hợp không sử dụng ngõ ra 3 trạng thái, dùng GAL16V8, ta khai báo: U1 device 'P16V8S' 3. 8 CÁC DỤ: 3. 8.1 DỤ 1: Thiết kế bộ phân kênh 1 -> 8 dùng PAL16V8 như hình 0.1 Ngõ vào : x Ngõ ra : y0, y1, y2, y3, y4, y5, y6, y7 Điều khiển... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 CK, CL pin 1,2 ; Q3, Q2, Q1, Q0 pin 19, 18, 17, 16 ; Count = [Q3, Q2, Q1, Q0] ; CK, H, L = C.,1,0 ; "Dinh nghia cac bien trang thai S0 = ^b0000; S1 = ^b0001; S2 = ^b0010; S3 = ^b0011; S4 = ^b0111; S5 = ^b0101; S6 = ^b0110; S7 = ^b0111; S8 = ^b1000; S9 = ^b1001; S10 = ^b1010; S11 = ^b1011; S12 = ^b1100; S 13 = ^b1101;... test-vectors sử dụng trị mã hex (ký hiệu ^h) 3. 8 .3 DỤ 3: Thiết kế bộ đếm như dụ 3 dùng phương pháp máy trạng thái (state_machine) Ta có lưu đồ máy trạng thái như hình 3. 5 Lưu ý là với hệ đếm các biến trạng thái Q3 Q2 Q1 Q0 cũng chính là biến ngõ ra * Chương trình: 1 module conut4a 2 title 'Dem 16 dung bien trang thai THI NGHIEM KY THUAT SO 2_EX4 3 U4 device 'P16V8R' ; Trang 1 03 Bài giảng Vi mạch số Biên... thanh ghi bên trong (xem mục 0.4) 3 module count4 Trang 102 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 title 'Dem 16 THI NGHIEM KY THUAT SO 2_EX3' U3 device 'P16V8R'; CK, CL pin1,2 ; "inputs Q3,Q2,Q1,Q0 pin 19,18,17,16; "outputs Count = [Q3,Q2,Q1,Q0]; CK,H,L = C.,1,0 ; "Xung CK tac dong canh len Equations Q0 : =.. .Bài giảng Vi mạch số Biên soạn Ngô Văn Bình ena = 1 -> ngõ ra out ở trạng thái high-Z 3 Ghi chú (COMMENTS): Các ghi chú minh họa, giải thích chương trình bắt đầu bằng dấu nháy kép (") và kết thúc bằng dấu nháy kép (") hoặc xuống dòng dụ: Q1, Q2, Q3, pin 14, 15, 16 "out puts "Declarations QSTATE = [Q1, Q2, Q3] ; "sets 3. 6 TRÌNH BIÊN DỊCH NGÔN NGỮ ABEL V2.02: 3. 6.1 Sọan thảo file... khiển OE 3. 7.2 GAL20V8 ( xem thêm ở phần phụ lục) CLK/IN IN IN IN IN IN IN IN IN IN IN GND 1 3 3 4 5 6 7 8 9 10 11 12 20V8 24 23 22 21 20 19 18 17 16 15 14 13 VCC IN I/O I/O I/O I/O I/O I/O I/O I/O IN OE /IN đồ chân GAL20V8 như hình 3. 2 So với GAL16V8, GAL20V8 có thêm 4 ngõ vào 3. 7.4 Các Mode làm vi c: 1 Mode thanh ghi (hình 3. 1 &3. 2) Tương tự như mode thanh ghi GAL16V8 2 Mode phức (hình 3. 1 &3. 2) Tương... bảng sự thật sau: CL CK LD L_R Q3 Q2 Q1 Q0 0  X X 0 0 0 0 Mode clear 1  1 X D3 D2 D1 D0 Mode load 1  0 1 Q2 Q1 Q0 Q3 Mode shift left 1  0 0 Q0 Q3 Q2 Q1 Mode shift right Với: CL: Clear CK: Clock LD: Load data Trang 108 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình L_R : left_right D3 D2 D1 D0 : Inputs data Q3 Q2 Q1Q0 : Outputs data 10 Hãy vi t chương trình cho 1 bộ giải mã 3 – 8 hoạt động theo bảng sự... a b a c’ 1 4 2 5 F c d 3 26.Hãy tìm một cài đặt không có hazard cho mỗi hàm sau chỉ sử dụng cho các cổng NOR 3 ngõ vào a) f(a,b,c,d) = m(0,2,6,7,8,10, 13) b) f(a,b,c,d) = m(2 ,3, 6,7,8,10, 13) 27 Hãy tìm tất cả các hazard tất yếu trong bảng dòng ở hình 24.6(b).Hãy làm bất cứ thay đổi nào cẩn thiết để cho đáp số của ta cho vấn đề 25.5 không có các hazard Trang 114 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình... thái từ S0 đến S15 bằng toán tử gán '=' Ở đây ta sử dụng mã nhị phân (^b) Dòng 15 là phát biểu state-diagram định nghĩa 4 biến trạng thái Q3Q2Q1Q0 Trang 104 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Từ dòng 16 đến dòng 31 là các phát biểu if xét điều kiện chuyển trạng thái hình 0.4 sang các phát biểu máy trạng thái trong chương trình 3. 9 Bài tập 1 Hãy vi t chương trình cho bộ đếm lên (đồng bộ), có . Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 87 Phần 3: TÓM TẮT HƯỚNG DẪN SỬ DỤNG NGÔN NGỮ ABEL Ngôn ngữ ABEL (Advanced Boolean Equation Language) là một trong những ngôn ngữ. Sử dụng mode đơn. 2. 'P16V8C', 'P20V8C': Sử dụng mode phức. 1 24 3 23 3 22 4 21 5 20 6 19 7 18 8 17 9 16 10 15 11 14 12 13 20V8 Bài giảng Vi mạch. cho vi mạch GAL và cách lập trình cho các vi mạch ứng dụng trong mạch sau này. Để hiểu sâu hơn về ngôn ngữ này, người học nên cần tham khảo thêm các tài liệu khác hoặc phần help trong ngôn ngữ.

Ngày đăng: 25/06/2014, 17:51

Từ khóa liên quan

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

Tài liệu liên quan