Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
911,28 KB
Nội dung
BỘ THÔNG TIN & 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 HỌC: THIẾT KẾ LOGIC SỐ NHĨM MƠN HỌC: NHĨM NHĨM BÀI TẬP: NHÓM 16 GVHD: Trần Thị Thúy Hà SINH VIÊN THỰC HIỆN: Lê Văn Minh - B18DCDT154 Nguyễn Thị Ngọc Hân - B18DCDT067 Tạ Thị Thảo - B18DCDT239 Hà Nội, ngày 09 tháng 11 năm 2021 LỜI NÓI ĐẦU Qua thời gian học tập nghiên cứu học phần “THIẾT KẾ LOGIC SỐ” với giảng dạy truyền đạt kiến thức cách tận tình Trần Thị Thúy Hà - Giáo viên khoa Kỹ thuật Điện tử trường Học viện Cơng nghệ Bưu Viễn thông, chúng em học tập nhiều kiến thức bổ ích thiết kế vi mạch lập trình nói chung sơ lược ngơn ngữ lập trình VHDL nói riêng Ngày nay, ngơn ngữ mơ tả phần cứng VHDL dùng nhiều thiết kế cho thiết bị logic lập trình PLD từ loại đơn giản đến phức tạp FPGA Việc xử lý tín hiệu thiết bị điện tử đại dựa sở nguyên lý số Bởi vậy, việc hiểu sâu sắc điện tử số điều thiếu với kỹ sư điện tử Nhu cầu hiều biết kỹ thuật số riêng cá kỹ sư điện tử mà nhiều cán kỹ thuật chuyên ngành khác có sử dụng thiết bị điện tử Để tổng kết môn học, chúng em làm tập lớn, gồm tập với yêu cầu sử dụng ngơn ngữ lập trình VHDL để giải số toán: Điều khiển Led, phát chuỗi bit nhị phân, mô tả đếm thời gian mô tả giải mã Trong q trình thực hiện, cịn hạn chế mặt kiến thức, nhóm khơng tránh khỏi sai sót, hiểu nhầm đề bài,… tận tình dạy thuật tốn phương hướng sửa lại Bài báo cáo nhằm tổng hợp lại nhóm thu q trình học tìm hiểu, cịn sai sót nội dung trình bày Chúng em mong nhận ý kiến từ để nhóm hoàn thiện Chúng em xin chân thành cảm ơn! Nhóm 16 Nguyễn Thị Ngọc Hân Lê Văn Minh Tạ Thị Thảo MỤC LỤC ĐỀ BÀI CHƯƠNG CƠ SỞ LÝ THUYẾT .2 Công cụ .2 Giới thiệu ngôn ngữ lập trình phần cứng VHDL .3 a) Cấu trúc ngôn ngữ VHDL gồm: .4 b) Đơn vị thiết kế VHDL CHƯƠNG PHƯƠNG ÁN THIẾT KẾ VÀ GIẢI BÀI TẬP Câu 1) Viết chương trình điều khiển led, LED0, LED 1, LED 4, LED sáng nhấp nháy theo chu kỳ 1s a) Phương án thiết kế: b) Nguyên lí hoạt động: c) Kết mô phỏng: Câu Viết chương trình mơ tả mạch phát chuỗi bit nhị phân liên tiếp, đầu xuất nhiều bit liên tục đầu trường hợp lại a) Đồ hình trạng thái : b) Ý tưởng thiết kế c) Nguyên lý d) Kết mô phỏng: 10 Câu 3) Viết chương trình mơ tả đếm thời gian: giờ, phút, giây hiển thị kết đếm LED đoạn .11 a) Phương án thiết kế: 11 b) Nguyên lí hoạt động 12 c) Kết mô 12 Câu 4) Viết chương trình mơ tả giải mã 5:32, có đầu vào điều khiển hoạt động mức thấp, lối hiển thị LED đơn 13 a) Phương án thiết kế 13 b) Kết mô 13 Bai tập lớn Thiết kế logic số Nhóm 16 ĐỀ BÀI Câu 1) Viết chương trình điều khiển led, LED0, LED 1, LED 4, LED sáng nhấp nháy theo chu kỳ 1s Câu 2) Viết chương trình mơ tả mạch phát chuỗi bit nhị phân liên tiếp, đầu xuất nhiều bit liên tục đầu trường hợp cịn lại Câu 3) Viết chương trình mơ tả đếm thời gian: giờ, phút giây hiển thị kết đếm LED đoạn Câu 4) Viết chương trình mơ tả giải mã 5:32, có đầu vào điều khiển hoạt động mức thấp, lối hiển thị LED đơn CHƯƠNG CƠ SỞ LÝ THUYẾT Công cụ Giới thiệu phần mềm Vivado Design Suite Hình Biểu tượng Vivado Vivado Design Suite tổ hợp phần mềm hãng Xilinx Phần mềm tạo việc nâng cấp hệ phần mềm thiết kế cũ ISE Design Suite Vivado dùng để phát triển ứng dụng hệ chip board Xilinx® series, Zynq®-7000 All Programmable, UltraScale™ devices Các hệ board cũ Xilinx Series hỗ trợ ISE, Plan Ahead,… Vivado® Design Suite xuất với nhiều giải pháp để hoàn thành thành tác vụ bao gồm thiết kế kiểm tra FPGA Thêm vào trình thiết kế RTLto-bitstream, Vivado Design Suite cung cấp q trình tích hợp cấp hệ thống tập trung thiết kết IP (intellectual property) Các tính thiết kế bao gồm mô logic, I/O clock planning, phân tích nguồn, xác định buộc phân tích timming, kiểm tra giá trị thiết kế – DRC, ảo hóa thiết kế logic phân tích thay đổi giá trị thực thi, lập trình gỡ lỗi Tồn giải pháp tích hợp giao diện đồ họa người dùng GUI Bai tập lớn Thiết kế logic số Nhóm 16 mơi tường thiết kế IDE vivado IDE vivado cung cấp giao diện tổng hợp, thực thi, phê chuẩn thiết kế IP Thêm vào đó, tất trinh chạy dùng lệnh Tcl Các lệnh Tcl tương tác dùng Tcl shell môi trường thiết kế Vivado IDE Vivado Design Suite hỗ trợ thiết kế chuẩn cơng nghiệp sau : • Tcl • AXI4, IP-XACT • Synopsys design constraints (SDC) • Verilog, VHDL, SystemVerilog • SystemC, C, C++, OpenCL Hình Màn hình tổng quan Vivado Giới thiệu ngơn ngữ lập trình phần cứng VHDL VHDL viết tắt Very-high-speech intergrated circuits Harware Description Language, hay ngôn ngữ mô tả cho mạch tích hợp tốc độ cao VHDL lần phát triển Bộ Quốc phòng Mỹ nhẵm hỗ trợ cho việc thiết kế vi mạch tích hợp chuyên dụng (ASICs) VHDL IEEE chuẩn hóa vào năm 1987, 1991,2002 2006, vào năm 2009 VHDL phát triển dựa cấu trúc ngơn ngữ lập trình Ada Cấu Bai tập lớn Thiết kế logic số Nhóm 16 trúc mơ tả CHDL phức tạp Verilog nhựng mang tính logic chặt chẽ gần với phần cứng VHDL phát triển ngôn ngữ độc lập không gắn với bawts kì phương pháp thiết kế, phận mô tả hay công nghệ phần cứng Người thiết keescos thể tự lựa chọn công nghệ, phương pháp thiết kế sử dụng ngôn ngữ Và đem so sánh với ngôn ngữ mơ phần cứng khác ta thấy VHDL có số ưu điểm hẳn ngơn ngữ khác Ngồi cịn có ngơn ngữ Altera HDL phát triển cơng ty bán dẫn Altera với mục đích dùng thiết kế cho sản phẩm FPGA CPLD Altera AHDL có cấu trúc chặt chẽ ngơn ngữ khó sử dụng Bù lại AHDL cho phép mô tả thực tê slogic chi tiết xác Ngơn ngữ phổ biến, nhiều chương trình phần mềm hỗ trợ mô biên dịch a) Cấu trúc ngôn ngữ VHDL gồm: • Đối tượng: Quy định dạng tín hiệu cố định, tín hiệu, cổng vào - ra, hay tín hiệu đệm … • Các kiểu liệu: Quy định kiểu liệu dùng để gán cho đối tượng • Các phép toán: Quy định phép toán sử dụng cho loại liệu • Các đơn vị thiết kế: Các thành phần cấu trúc lên chương trình mã mơ tả dùng VHDL • Các cấu trúc lệnh tuần tự: Cấu trúc câu lệnh thực theo tiến trình tuần tự, thường dùng mơ tả cấu trúc mạch mạch số • Các cấu trúc lệnh song song: Cấu trúc câu lệnh thực song song, thường dùng Bai tập lớn Thiết kế logic số Nhóm 16 mơ tả cấu trúc mạch tổ hợp b) Đơn vị thiết kế VHDL VDHL sử dụng đơn vị thiết kế gồm loại: đơn vị đơn vị thiết kế thứ cấp: - Đơn vị thiết kế bản: • Library: Cho phép tạo thư viện VHDL • Package: Tạo gói giữ liệu Library, khai báo đối tượng, khai báo thủ tục, hàm • Entity: (Thực thể) - cho phép khai báo giao diện khối thiết kế số đó: khai báo cổng vào/ra, tham số khối mạch - Đơn vị thiết kế thứ cấp (Phụ thuộc vào đơn vị thiết kế bản): • Architecture: Mô tả hoạt động bên Entity phần mơ tả hoạt động khối mạch số • Package Body: Mơ tả tiết cho khai báo Package viết hàm, thủ tục • Configuration: Đơn vị thiết kế cấu hình cho phép gắn phiên thực thể vào kiến trúc khác Cấu hình sử dụng để thay cách nhanh chóng phần tử thực thể biểu diễn cấu trúc thiết kế CHƯƠNG PHƯƠNG ÁN THIẾT KẾ VÀ GIẢI BÀI TẬP Câu 1) Viết chương trình điều khiển led, LED0, LED 1, LED 4, LED sáng nhấp nháy theo chu kỳ 1s a) Phương án thiết kế: Có cổng PORT: cổng in (reset, clk, D) cổng out(Q) Loại trạng thái (zero,one ,two,three) khai báo:pr_state; next_state Bước 1: Khai báo (clk, reset) Nếu reset = ‘1’ gán zero= pr_state khơng gán next_state = pr_state Bước 2: Khai báo (D, pr_state) Khi gán ‘0’= Q = zero Nếu d= ‘0’ gán zero = next_state, khơng gán one = next_state Khi gán ‘0’= Q = one Nếu d= ‘0’ gán zero = next_state, else gán two = next_state Nếu reset =1 gán zero = pr_state khơng gán next_state = pr_state Bước 3: khai báo (D, pr_state) Khi gán ‘0’= Q = zero Nếu d=’0’ gán zero = next_state, else gán one = next_state b) Nguyên lí hoạt động: Để tạo chu kì chuẩn 1s ta cần sử dụng phương pháp chia tần số vi điều khiển Thông thường tần số vi điều khiển thường lớn để thuận tiện cho mơ nhóm em giả sử vi điều khiển tần số 10Hz Ở ta cần tạo tần số 1Hz để điều khiển LED Vì tần số vi điều khiển chia nhỏ để tạo xung clock có tần số mong muốn Trước tiên ta sử dụng cách đếm xung vi điều khiển, 10 xung vi điều khiển ta đổi trạng thái tín hiệu gọi Clock1Hz Từ ta tạo xung clock có tần số 1Hz hay chu kì 1s Bai tập lớn Thiết kế logic số Nhóm 16 c) Kết mơ phỏng: Câu Viết chương trình mơ tả mạch phát chuỗi bit nhị phân liên tiếp, đầu xuất nhiều bit liên tục đầu trường hợp cịn lại a) Đồ hình trạng thái : Bai tập lớn Thiết kế logic số Nhóm 16 b) Ý tưởng thiết kế Ta có cổng PORT: cổng in (reset, clk, D)và cổng out (Q) Loại trạng thái (zero, one, two, three) khai báo: pr_state; next_state Bước : ta khai báo (clk, reset) Nếu reset = ‘1’ gán zero = pr_state khơng gán next_state = pr_state Kết thúc khai báo Bước 2: ta khai báo (D, pr_state) Khi gán ‘0’= Q= zero Nếu d= ‘0’ gán zero = next_state , else gán one = next_state Khi gán ‘0’= Q = one Nếu d=’0’ gán zero=next_state, else gán two = next_state.nếu reset=1 gán zero= pr_state khơng gán next_state = pr_state >> Kết thúc khai báo Bước 3: Ta khai báo (D, pr_state) Khi gán ‘0’=Q = zero Nếu d=’0’ gán zero= next_state, else gán one = next_state Khi gán ‘0’= Q= one Nếu d=’0’ gán zero= next_state, else gán two= next_state Khi gán ‘0’=Q= two Nếu d=’0’ gán zero= next_state, else gán three = next_state Khi gán ‘1’= Q= three Nếu d=’0’ gán zero=next_state, else gán three = next_state Bai tập lớn Thiết kế logic số Nhóm 16 c) Nguyên lý Bảng hàm kích: Trạng thái Q1Q0 00 01 11 10 Trạng thái X=0 X=1 Q1Q0 Z Q1Q0 00 01 00 11 00 10 00 10 Z 0 X=0 J1 K1 X X X X Các trạng thái Trigo X=1 X=0 J1 K1 J0 K0 X X X X X X X 0 X X=1 J0 K0 X X X X Bảng cacno: X Q 1Q0 00 01 10 0 0 X X 11 X X >> J1=X.Q1 X Q 1Q0 00 01 10 11 X X 1 X X 0 >> K1=X Bai tập lớn Thiết kế logic số X Q 1Q0 00 Nhóm 16 01 10 11 X X 1 X X 0 >> K1=X X Q 1Q0 00 01 10 11 0 X X 1 X X >> J0=X.Q1 X Q 1Q0 00 01 10 11 X 1 X X X >> K0=X+Q1 X Q 1Q0 00 01 10 11 0 0 0 >> Z=X.Q1.Q0 d) Kết mô phỏng: Mạch logic phát chuỗi vào nhị phân liên tiếp 10 Bai tập lớn Thiết kế logic số Nhóm 16 Mơ Câu 3) Viết chương trình mơ tả đếm thời gian: giờ, phút, giây hiển thị kết đếm LED đoạn a) Phương án thiết kế: Điều kiện để mạch trở thành mạch đếm phải có trạng thái khác lần có xung clock vào 11 Bai tập lớn Thiết kế logic số Nhóm 16 Khi đạt đến trạng thái tối đa tiếp tục kích thích mạch mạch trở trạng thái ban đầu Ta nói mạch có tính tuần hồn Để hiển thị kết phút giây, ta cần Led để hiển thị (2 Led đếm giờ, hiển thị từ 00 đến 24; Led đếm phút, hiển thị từ 00 đến 60 Led đếm giây, hiển thị từ 00 đến 99) Chúng em sử dụng đếm: đếm digit1 digit2 giải mã hiển thị led đoạn ứng với đếm giờ, đếm digit3 digit4 ứng với đếm phút đếm digit5 digit6 ứng với đếm giây b) Nguyên lí hoạt động Có thể nêu ngun lí hoạt động sau: Mạch đếm nơi có xung đếm vào hàng đơn vị, mạch đếm hàng chục Ví dụ để đếm từ 00 lên 99 ta cần mạch đếm mắc nối tiếp Ở mạch ngõ digit đếm đầy, tức đạt đến số (1001), có xung tác động mạch reset Số đếm lúc mạch digit2 (1001), đếm đến 19; 20;…29; 30;…39;… c) Kết mô 12 Bai tập lớn Thiết kế logic số Nhóm 16 Câu 4) Viết chương trình mơ tả giải mã 5:32, có đầu vào điều khiển hoạt động mức thấp, lối hiển thị LED đơn a) Phương án thiết kế - lối vào địa chỉa add(0) to add(4): + Giả sử add(0), add(1), add(2) đường địa ngõ vào; add(3), add(4) ngõ vào cho phép (tác động mức thấp) + f(0) đến f(7) ngõ (tác động mức thấp ) Hoạt động giải mã sau: + Đưa liệu nhị phân 3bit vào add(0), add(1), add(2), lấy liệu ngõ f(0) đến f(7); ngõ cho phép add(3) add(4) đặt mức thấp Chẳng hạn add(0) add(1) add(2) 001 ngõ f(1) xuống thấp ngõ khác cao Hoạt động tách kênh : + Dữ liệu vào nối tiếp vào ngõ add(3), add(4) (với ngõ vào đặt thấp) Đặt G = phép tách kênh Như liệu song song lấy ngõ f(1) đến f(7) Chẳng hạn mã chọn 001 liệu nối tiếp S ngõ f(1) không bị đảo b) Kết mô 13 ... dùng Bai tập lớn Thiết kế logic số Nhóm 16 mơ tả cấu trúc mạch tổ hợp b) Đơn vị thiết kế VHDL VDHL sử dụng đơn vị thiết kế gồm loại: đơn vị đơn vị thiết kế thứ cấp: - Đơn vị thiết kế bản: • Library:... gồm thiết kế kiểm tra FPGA Thêm vào trình thiết kế RTLto-bitstream, Vivado Design Suite cung cấp q trình tích hợp cấp hệ thống tập trung thiết kết IP (intellectual property) Các tính thiết kế. .. Library, khai báo đối tượng, khai báo thủ tục, hàm • Entity: (Thực thể) - cho phép khai báo giao diện khối thiết kế số đó: khai báo cổng vào/ra, tham số khối mạch - Đơn vị thiết kế thứ cấp (Phụ