Bài giảng Thiết kế số - Các khối mạch tổ hợp: VHDL cho mạch logic tổ hợp - Hoàng Mạnh Thắng
VHDL có vài loại phép gán có thể được dùng để gán giá trị logic vào tín hiệu
Các phép gán đơn giản đã xét trong các phép toán
Các phép gán tín hiệu lựa chọn một trong nhiều giá trị
Các phép gán tín hiệu có điều kiện
Tạo ra các statements
Các mẫu If-then-else
Các mẫu Case
Thiết kế số Các khối mạch tổ hợp:VHDL cho mạch logic tổ hợpNgười trình bày: TS. Hoàng Mạnh ThắngTexPoint fonts used in EMF: AAAAAACác phép gán-assignment statementVHDL có vài loại phép gán có thể được dùng để gán giá trị logic vào tín hiệuCác phép gán đơn giản đã xét trong các phép toánCác phép gán tín hiệu lựa chọn một trong nhiều giá trịCác phép gán tín hiệu có điều kiệnTạo ra các statementsCác mẫu If-then-elseCác mẫu CaseCác phép gán tín hiệu lựa chọnCho phép một tín hiệu được gán một trong nhiều giá trị dựa trên tiêu chí lựa chọn. VD:Từ khóa WITH chỉ ra s được dùng để tiêu chí lựa chọnHai chỗ WHEN chr ra f=w0 khi s=0 và ngược lại f=w1Từ khóa OTHER phải được dùngĐoạn mã VHDL cho bộ ghép kênh 4-to-1Đoạn mã VHDL cho bộ giải mã 2-to-4Phép gán có điều kiệnTương tự với phép gán có lựa chọn, phép này cho phép một tín hiệu được thiết lập bằng một trong các giá trịDùng WHEN và ELSE để chỉ ra điều kiện và các hoạt động được thực hiệnMã VHDL cho bộ mã hóa ưu tiênTạo các statementsBất kỳ khi nào viết mã VHDL có dạng cấu trúc, ta thường tạo ra các biến (instances) của phần tử cụ thểBộ cộng ripple carry là ví dụNếu cần tạo một số lớn các instances của một biến, dạng gọn hơn được mong muốnVHDL cung cấp đặc tính này gọi là FOR GENERATE statementDùng để cung cấp một cấu trúc lặp cho quá trình mô tả mã phân tầng được cấu trúc hóaBộ cộng Ripple Carry 4-bitBộ cộng Ripple Carry 4-bit, contPhát biểu tiến trình-process statementCác phép gán trên ko ảnh hưởng đến ý nghĩa của đọan mã gọi là concurrent assignment statements (các phép gán đồng thời)VHDL cung cấm kiểu gán khác, sequential assignment staements, ở đó thứ tự của khai báo ảnh hưởng ý nghĩa đoạn mãVí dụ: if-then-else và CASEVHDL yêu cầu các phép này được đặt bên trong statement khác, process statementProcess statementsBắt đầu bởi process, tiếp đến nhóm các tín hiệu sensitivity list, danh sách này kèm the tất cả các tín hiệu được dùng trong processStatements bên trong process được xét trong tứ tuần tựCác phép gán được tạo trong process ko thể nhìn được từ bên ngoài process cho tới khi các statements trọng process được xét nhiều phép gán đến một tín hiệu trong process thì chỉ có phép cuối cùng có tác dụngMUX 2-to-1 làm việc như một processBộ mã hóa ưu tiên (IF_THEN_ELSE)Bộ mã hóa ưu tiên (cách khác)Ám chỉ bộ nhớ trong Process?Case statementTương tự phép gán có lựa chọn với một tín hiệu và kèm WHEN cho các giá trị của tín hiệu chọnBắt đầu với từ khóa CASEMỗi WHEN hcỉ ra các statement được đánh giá khi tín hiệu chọn có giá trị được chỉ raCASE statement phải kèm WHEN cho tất cả các đánh giá của tín hiệu chọnDùng OTHERMUX 2-to-1 với CASEBộ giải mã 2-to-4 với CASE
File đính kèm:
- bai_giang_thiet_ke_so_cac_khoi_mach_to_hop_vhdl_cho_mach_log.ppt