Báo cáo Thí Nghiệm Kĩ Thuật Số phần VHDL Giáo Viên Hướng Dẫn: Đoàn Ngọc Cẩm Danh Sách Thành Viên Trong Nhóm Tạ Ngọc Hoàng Vũ 1814821 Nguyễn Minh Vinh 1814786 Phạm Đồng Gia Vỹ 1814864 Nguyễn Hoàng Anh vũ 1814814 2019-2020 1 Bài Thí Nghiệm 1 Mục Tiêu: Sinh viên cần tìm hiểu về kit DE2, cách sử dụng công cụ Quartus, và cách cài đặt chương trình trên kit Altera DE2 FPGA dung Programer I. Thí Nghiệm 1.1-Tutorial Sinh viên đọc phần III của bài thí nghiệm 0 và thực hiện chương trình Test 01 theo từng bước một đã được đưa ra. II. Thí nghiệm 1.2 1. Yêu cầu: Thực hiện mô phỏng các cổng logic. 2. Thiết kế: a. Sơ đồ khối(Block Diagram)
Trang 1Đại Học Quốc GiaĐại Học Bách Khoa Thành Phố Hồ Chí Minh
Trang 2Bài Thí Nghiệm 1
Mục Tiêu:
Sinh viên cần tìm hiểu về kit DE2, cách sử dụng công cụ Quartus, và cách cài đặt chương
trình trên kit Altera DE2 FPGA dung Programer
a Sơ đồ khối(Block Diagram):
b Sơ đồ mạch Logic(Logic Diagrams):
c Bảng chân trị(Truth Table):
Trang 4e Kết quả mô phỏng ModelSim/VWF(Results):
f RTL Viewer:
Trang 5Bài Thí Nghiệm 2
Muc Tiêu:
Nắm được phương pháp thiết kế mạch tổ hợp cơ bản bằng ngôn ngữ VHDL và thực
hiện trên kit FPGA
I Thí nghiệm 2.1-Thiết kế bộ cộng 2 số 4 bit
Trang 6b VHDl Code:
c Kết qua mô phỏng ModelSim/VWF(Results):
Trang 7Bộ ALU 4-bit ncos các ngõ vào sau:
A,B: 4-bit input
Cin: 1-bit input
Output: 4-bit output
Cout: 1-bit output
Control:3-bit control inputBảng 1 Các ngõ vào và ngõ ra của ALU
Singnal type Signal name Assigned port Comment
LEDG[0]
Bảng 2 Tập lệnh của ALU
Trang 8Control Instruction Operation
Trang 9c VHDLCode:
d Kết quả mô phỏng ModelSim/VWF(Results):
e RTL Viewer:
Trang 11 Trạng thái ngõ ra thây đổi khi ngõ vào CLK xuất hiện cạnh lên.
Khi ngõ vào bất đồng bộ CLR=0 bộ đếm bị resest
Chọn chu kì của tín hiệu CLK là 10ns khi mô phỏng thiết kế
vào D
Nếu có giá trị của bộ đếm là
9, Carry output (CO)=1
xuống Nếu có giá trị của
bộ đếm là 0, Carry output(CO)=1
Trang 12Bảng 3 Các ngõ vào, ngõ ra của bộ đém mã BCD
displayed on HEX6
displayed onLEDR[0]
displayed onLEDR[1]
displayed onLEDR[2]
displayed onLEDR[3]
displayed on HEX0
displayed onLEDG[0]
2 Thiết kế:
a Sơ đồ khối(Block Diagram):
b Sơ đồ mạch Logic(Logic Digrams)
c VHDL Code:
Trang 13d Kết quả mô phỏng ModelSim/VWF(Results):
Trang 14e RTL Viewer:
II Thí nghiệm 3.2-Bộ đếm lên xuống thập phân từ 00-99
1 Yêu cầu:Sử dụng 2 bộ đếm đã thiết kế ở trên,thiết kế bộ đếm thập phân các số
có 2 chữ số mạch hiện đếm lên từ 00 đến 99 hoặc đếm xuống từ 99 về 00
Các ngõ vào ra của mạch đếm: CLR, CLK, ENABLE, LOAD, UP, D1, D2, Q1,Q2, CO
Dùng phương pháp mô tả cấu trúc: tạo 2 Instant của bộ đếm ở Thí nghiệm 3.1
Trang 16d Kết quả mô phỏng ModelSim/VWF(Results):
Rõ hơn
Trang 17e RTL Viewer:
Trang 19Bài Thí Nghiệm 4
Mục Tiêu:
Bài này giúp sinh viên
1 Hiểu quy trình thiết kế ASIC/FPGA
2 Thiết kế mạch hỗn hợp
3 Biết cách tạo testbench để mô phỏng thiết kế
4 Thực hiện mạch trên FPGA
I Projects:
Phân loại hàng-Package Sorter:
1 Yêu cầu:
Thiết kế hệ thống phân loại gói hàng dựa trên cân nặng của chúng và lưu trữ thông
tin theo các danh mục khác nhau Bộ phân loại có tín hiệu Resest bất đồng bộ, tích
cực mức cao Thông tin theo dõi các gói hàng được lưu trữ kể từ lần Reset gần nhấttrước đó Các gói hàng được chia thành 6 nhóm:
Trang 20 currentGrp: số nhị phân 3-bit không dấu, thể hiện mã nhóm của gói hàng hiện
tại Nếu cân nặng ban đầu là 0, currentGrp=0 Ngõ ra sẽ được cập nhật ngay khi
khối lượng ngõ vào thay đổi
6 ngõ ra Grp1-Grp6: mỗi ngõ là một số nhị phân 8-bit không dấu, thể hiện số
gói trong từng nhóm khối lượng kể từ lần reset cuối cùng Khi tín hiệu ngõ vào
reset tích cực, các ngõ ra sẽ bị xóa
2 Thiết kế:
a Sơ đồ khối(Block Diagram):
b Sơ đồ mạch Logic(Logic Diagrams):
Trang 21c VHDL Code:
Trang 22d Kết quả mô phỏng ModelSim/VWF(Results):
e RTL Viewer: