Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
345 KB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA KỸ THUẬT ĐIỆN TỬ ************** BÁO CÁO BÀI TẬP LỚN MÔN THIẾT KẾ LOGIC SỐ Giảng viên : Ts.Trần Thuý Hà SV thực : Lê Đăng Long – B18DCDT127 Lê Xuân Bách – B18DCDT019 Nguyễn Hải Dân – B18DCDT027 Nhóm : 02 Nhóm BTL : 07 Hệ đào tạo : Chính quy Hà Nội, 11/2021 Mục lục Mục lục Bài 1: Viết chương trình điều khiển LED nháy (trái phải, phải trái, nhấp nháy) 1.1: Ý tưởng Nguyên lý hoạt động .4 1.2: Code 1.2.1: VHDL 1.2.2: Testbench 1.3: Kết .7 Bài 2: Viết chương trình mơ tả đếm tiến thập phân (CLK, CLR) 1.1: Ý tưởng nguyên lý hoạt động 1.2: Code 1.2.1: VHDL 1.2.2: Testbench 1.3: Kết 10 Bài 3: Viết chương trình mơ tả so sánh số nhị phân bit 11 1.1: Ý tưởng nguyên lý hoạt động 11 1.2: Code 12 1.2.1: VHDL 12 1.2.2: Testbench 13 1.3: Kết 14 Bài 4: Viết chương trình mô tả ghi dịch bit vào nối tiếp song song 15 1.1: Ý tưởng nguyên lý hoạt động 15 1.2: Code 15 1.2.1: VHDL 15 1.2.2: Testbench 16 1.3: Kết 17 ĐIỂM TỰ ĐÁNH GIÁ 18 Bài 1: Viết chương trình điều khiển LED nháy (trái phải, phải trái, nhấp nháy) Bài làm 1.1: Ý tưởng Nguyên lý hoạt động Ý tưởng: Một led sáng vị trí đầu bên trái bên phải Cứ xung nhịp clock led dịch sang trái sang phải tùy vào vị trí Xung clock đầu vào kích thích sườn dương counter liên tục tăng lên Counter dẫn tới trạng thái led dịch dần qua Nguyên lý hoạt động: Ban đầu đặt trạng thái led vào bit (ứng với counter 0) Muốn led sáng chạy từ trái sang phải cho bên trái tất led lại Lúc này, tương ứng với counter Tương tự vậy, ta cho led tất led lại 0, biến counter Tương tự vậy, led chạy đến led tương ứng với biến counter Sau bật tất led ứng với biến counter thứ sau tắt tất led biến counter thứ 10.Và ngược lại, xác định biến đếm counter cần đếm 21 1.2: Code 1.2.1: VHDL library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Bai1 is Port ( CLK : in STD_LOGIC; CLR : in STD_LOGIC; OutPutLed1 : out STD_LOGIC_VECTOR (7 downto 0) ); end Bai1; architecture Behavioral of Bai1 is Signal OutDataLed : STD_LOGIC_VECTOR(7 downto 0) := "00000000"; Signal Counter1: integer := 0; begin No1: Process(CLK, CLR) begin if CLR = '1' then Counter1