điện tử số phần 23
Chia sẻ bởi Hoài Xuân Hồ |
Ngày 19/03/2024 |
13
Chia sẻ tài liệu: điện tử số phần 23 thuộc Công nghệ thông tin
Nội dung tài liệu:
Thiết kế số
Các khối mạch tổ hợp:
VHDL cho mạch logic tổ hợp
Người trình bày:
TS. Hoàng Mạnh Thắng
TexPoint fonts used in EMF: AAAAAA
Các phép gán-asignment statement
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
Các phép gán tín hiệu lựa chọn
Cho 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ọn
Hai chỗ WHEN chr ra f=w0 khi s=0 và ngược lại f=w1
Từ 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-4
Phép gán có điều kiện
Tươ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ện
Mã VHDL cho bộ mã hóa ưu tiên
Tạo các statements
Bấ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ốn
VHDL cung cấp đặc tính này gọi là FOR GENERATE statement
Dù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óa
Bộ cộng Ripple Carry 4-bit
Bộ cộng Ripple Carry 4-bit, cont
Phát biểu tiến trình-process statement
Các phép gán trên ko ảnh hưởng đến ý nghĩa của đọan mã gọi là concurent 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à CASE
VHDL yêu cầu các phép này được đặt bên trong statement khác, process statement
Process statements
Bắ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 process
Statements 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ụng
MUX 2-to-1 làm việc như một process
Bộ 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 statement
Tươ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ọn
Bắt đầu với từ khóa CASE
Mỗi WHEN hcỉ ra các statement được đánh giá khi tín hiệu chọn có giá trị được chỉ ra
CASE statement phải kèm WHEN cho tất cả các đánh giá của tín hiệu chọn
Dùng OTHER
MUX 2-to-1 với CASE
Bộ giải mã 2-to-4 với CASE
Các khối mạch tổ hợp:
VHDL cho mạch logic tổ hợp
Người trình bày:
TS. Hoàng Mạnh Thắng
TexPoint fonts used in EMF: AAAAAA
Các phép gán-asignment statement
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
Các phép gán tín hiệu lựa chọn
Cho 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ọn
Hai chỗ WHEN chr ra f=w0 khi s=0 và ngược lại f=w1
Từ 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-4
Phép gán có điều kiện
Tươ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ện
Mã VHDL cho bộ mã hóa ưu tiên
Tạo các statements
Bấ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ốn
VHDL cung cấp đặc tính này gọi là FOR GENERATE statement
Dù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óa
Bộ cộng Ripple Carry 4-bit
Bộ cộng Ripple Carry 4-bit, cont
Phát biểu tiến trình-process statement
Các phép gán trên ko ảnh hưởng đến ý nghĩa của đọan mã gọi là concurent 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à CASE
VHDL yêu cầu các phép này được đặt bên trong statement khác, process statement
Process statements
Bắ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 process
Statements 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ụng
MUX 2-to-1 làm việc như một process
Bộ 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 statement
Tươ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ọn
Bắt đầu với từ khóa CASE
Mỗi WHEN hcỉ ra các statement được đánh giá khi tín hiệu chọn có giá trị được chỉ ra
CASE statement phải kèm WHEN cho tất cả các đánh giá của tín hiệu chọn
Dùng OTHER
MUX 2-to-1 với CASE
Bộ giải mã 2-to-4 với CASE
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Hoài Xuân Hồ
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)