Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
363,07 KB
Nội dung
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIẾN THƠNG - - BÁO CÁO BÀI TẬP LỚN MÔN THIẾT KẾ LOGIC SỐ Giảng viên: Trần Thị Thúy Hà Nhóm: 20 Sinh viên: Nguyễn Văn Mạnh……… B18DCDT145 Trần Thanh Phong……… B18DCDT185 HÀ NỘI,2021 LỜI NÓI ĐẦU Ngày nay, với phát triển vượt bậc ngành khoa học nhằm mục đích phục vụ lợi ích cho người Kĩ thuật điện tử lĩnh vực có đóng góp lớn việc nâng cao cải thiện đời sống người với phương pháp thiết kế mạch điện tử sáng tạo sử dụng rộng rãi Trong kì học này, môn Thiết kế Logic số mà học viện lựa chọn giúp chúng em tiếp xúc với ngôn ngữ VHDL hãng Xilinx – hãng sản xuất chip bán dẫn hàng đầu giới sáng tạo Sau khoảng thời gian học tập, trau dồi tích lũy kiến thức học viện tập lớn lần hội cho chúng em vận dụng lí thuyết học vào thực thiết kế mạch logic mô Cảm ơn cô Trần Thị Thúy Hà đồng hành với chúng em khoảng thời gian qua Nếu báo cáo có thiếu xót hay chưa mong hướng dẫn góp ý để bọn em khắc phục cho tương lai Mục Lục Bài 1: Viết chương trình mô tả mạch tạo mã giải mã Hamming .5 Cơ sở lí thuyết 1.1 Định nghĩa 1.2 Q trình mã hóa Hamming 1.3 Quá trình giải mã Hamming Áp dụng cho code VHDL 2.1 Code chương trình 2.1.1 Phần mã hóa Hamming 2.1.2 Phần giả mã Hamming 2.2 Code testbench 11 Bài 2: Viết chương trình mơ tả mạch điều khiển bơm nước vào tháp nước nhờ bơm P1 P2 Cả hai bơm P1 P2 mở (bơm nước) nước mức mở nước chưa đạt tới mức Khi nước vừa đạt tới mức bơm P1 ngắt (khơng bơm nước), cịn P2 bơm P1 ngắt nước lại mức P2 mở, nước đạt tới mức thi P2 ngắt P2 ngắt, mở nước lại xuống mức .11 Cơ sở lí thuyết 11 Áp dụng cho code VHDL .11 2.1 Code chương trình 11 2.2 Code testbench 13 Bài 3: Viết chương trình mơ tả mạch đếm số xe tơ số chỗ trống gara, có báo hiệu hết chỗ hiển thị kết LED đoạn 13 Cơ sở lí thuyết 13 Áp dụng cho code VHDL .13 2.1 Code chương trình 13 2.2 Code testbench 17 Bài 4: Viết chương trình mô tả hợp kênh 8:1 từ hợp kênh 4:1 17 Cơ sở lí thuyết 17 Áp dụng code VHDL 19 2.1 Code chương trình 19 2.1.1 Code hàm main 19 2.1.2 Code biểu thức cho Mux4:1 21 2.1.3 Code biểu thức cho Mux2:1 21 2.2 Code testbench 22 Nội dung báo cáo u câu giao Bài 1: Viết chương trình mơ tả mạch tạo mã giải mã Hamming Cơ sở lí thuyết 1.1 - Định nghĩa Hiện thời, nói đến mã Hamming thực muốn nói đến mã (7,4) mà Hamming cơng bố năm 1950 Với nhóm bit liệu, mã Hamming thêm bit kiểm tra Thuật tốn (7,4) Hamming sửa chữa bit lỗi nào, phát tất lỗi bit, lỗi bit gây mã (7,4) Hamming có hiệu (trừ phi phương tiện truyền thơng có độ nhiễu cao gây cho bit số bit truyền bị đảo lộn) - Mã chẵn lẻ thêm bit vào liệu, bit cho thêm cho biết số lượng bit có giá trị đoạn liệu nằm trước số chẵn hay số lẻ Nếu bit bị thay đổi trình truyền liệu, giá trị chẵn lẻ thông điệp thay đổi phát lỗi (Chú ý bit bị thay đổi lại bit kiểm tra) Theo quy ước chung, bit kiểm tra có giá trị số lượng bit có giá trị liệu số lẻ, giá trị bit kiểm tra số lượng bit có giá trị liệu số chẵn Nói cách khác, đoạn liệu bit kiểm tra gộp lại với nhau, số lượng bit có giá trị luôn số chẵn 1.2 - Q trình mã hóa Hamming Một từ mã bit đưa vào đầu vào liệu với kí hiệu chuỗi bít có dạng sau D7D6D5D4D3D2D1 với bit chẵn lẻ them vào từ mã vào vị trí cố định Từ mã bit mã ban đầu bit chẵn lẻ xếp theo trình tự theo bảng Vị trí bit 11 10 Từ mã D7 D6 D5 P8 D4 D3 D2 P4 D1 P2 P1 - Các cổng XOR sử dụng để mã hóa từ mã bit chẵn lẻ theo công thức P1=D1⨁D2⨁D4⨁D5⨁D7 P2=D1⨁D3⨁D4⨁D6⨁D7 P4=D2⨁D3⨁D4 P8=D5⨁D6⨁D7 - Như vậy, sau thực mã hóa với từ mã bit đầu vào, ta nhận từ mã đầu có 11 bit 1.3 - Q trình giải mã Hamming Tín hiệu đầu vào từ mã mã hóa gồm 11 bit với kí hiệu chuỗi bít có dạng sau D7D6D5P8D4D3D2P4D1P2P1 P1,P2,P4,P8 bít chẵn lẻ thêm vào từ q trình mã hóa - Các bít chẵn lẻ làm nhiệm vụ giải mã song song với trình phát sửa sai với tối đa bit lỗi, chuỗi chẵn lẻ P1P2P4P8 tính theo cơng thức: P1=D1⨁ D3 ⨁D5⨁D7⨁D9⨁D11 P2=D2⨁ D3⨁ D6⨁D7⨁D10⨁D11 P4=D4⨁D5⨁ D6⨁D7 P8=D8⨁D9⨁ D10⨁D11 - Chuỗi P1P2P4P8 nhận 15 giá trị đặc biệt cịn cho biết vị trí bít sai từ mã đầu vào dạng chuỗi nhị phân phát : Giá trị chuỗi P1P2P3P4 Chuỗi phát vị trí sai (vị trí xuất bit vị trí sai từ mã ) 0000 00000000000 - 0001 00000000001 0010 00000000010 0011 00000000100 0100 00000001000 0101 00000010000 0110 00000100000 0111 00001000000 1000 00010000000 1001 0010000000 1010 01000000000 1011 10000000000 1111 00000000000 Từ mã đầu vào thực phép toán logic cổng XOR với chuỗi phát lỗi sai cho ta từ mã 11 bit qua sửa sai Từ mã bit chưa thực mã hóa hay gọi từ mã gốc khôi phục ta bỏ bit chẵn lẻ từ mã 11 bit qua sửa sai Áp dụng cho code VHDL 2.1 Code chương trình 2.1.1 Phần mã hóa Hamming library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity mahamming is Port ( din : in STD_LOGIC_VECTOR (6 downto 0); cout : out STD_LOGIC_VECTOR (10 downto 0)); end mahamming; architecture Behavioral of mahamming is signal data:STD_LOGIC_VECTOR(7 downto 1); signal coded:STD_LOGIC_VECTOR(11 downto 1); begin data