TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
***
BÀI BÁO CÁO
THỰC TẬP FPGA
NHÓM SINH VIÊN:
NGUYỄN CÔNG NHẬT MINH – 22161153
TP.HCM THÁNG 9/2024
1
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
***
BÀI BÁO CÁO MÔN KỸ THUẬT SỐ
ĐỀ TÀI: THIẾT KẾ MẠCH TẠO HIỆU
ỨNG GỒM 4 MODULE HIỂN THỊ TRÊN
8 LED
SỬ DỤNG IC XC3S500E – 4FG320
NHÓM SINH VIÊN:
NGUYỄN CÔNG NHẬT MINH - 22161153
GVHD : TẠ ĐÌNH HIẾN
TP.HCM THÁNG 9/2021
2
PHẦN 1. GIỚI THIỆU
1.1 ĐẶT VẤN ĐỀ
Trong thực tế đời sống nhu cầu sử dụng về hiệu ứng led gần như là
cần thiết trong mọi mặt về an toàn giao thông , tính toán trong kĩ thuật ,
trong các ngành quảng cáo , quản lý báo hiệu đèn cho một trật tự giao
thông chẳng hạn , gần như là thứ không thể thiếu trong việc quản lý
một thứ báo hiệu nào đó vì vậy sự phát triển của nó là bước bứt phá
không thể cản lại . Vì vậy nhóm em sẽ tìm hiểu sâu hơn về mạch thay
đổi được bốn chế độ điều khiển hiệu ứng led .
1.1 MỤC TIÊU
Khảo sát và hiểu rõ về thông số kĩ thuật của các IC . Từ đó thiết kế
mạch đếm có thể thay đổi về mod đếm chuyển đổi qua lại giữa bốn chế
độ đếm, khi xuất hiện tín hiệu CLK và tín hiệu thay đổi S thì bắt đầu
chạy từ LED vị trí đầu tiên hiển thị led tạo nên hiệu ứng .
1.2 GIỚI HẠN
Bài báo cáo được thiết kế sử dụng IC giải mã hiển thị các hiệu ứng led
theo yêu cầu đề bài đặt ra tùy thuộc vào dữ liệu số 2 bit đầu vào S thì
ngõ ra tương ứng với hiệu ứng đã đặt trước hiển thị ra 8 led.
3
Hình 1 : SƠ ĐỒ KẾT NỐI CÁC KHỐI MODULE KẾT HỢP
HÌNH 2 : BẢNG TRẠNG THÁI HOẠT ĐỘNG CỦA CÁC MODULE
4
2. PHẦN THỰC HÀNH
2.1 MOD 1 ( HIỆU ỨNG NHẤP NHÁY 8 LED )
Hình 3 : CODE CHO HIỆU ỨNG 1 ( NHẤP NHÁY )
2.1.1 GIẢI THÍCH CODE
- Dữ liệu đầu vào của module này bao gồm clk_out , rst và đầu ra là out_mod1
Khi đến với vòng mô tả hành vi ALWAYS thì xuất hiện cạnh lên của clk_out hoặc
chân rst được tác động xuống mức thấp thì lập tức trong hàm này sẽ chạy , khi đó nếu
chân rst tích cực thì đưa trạng thái của đầu ra là tắt hết led , ngược lại xuất hiện cạnh
lên của clk_out và rst ở mức cao thì thực hiện đảo trạng thái liên tục ở tắt hết và bật hết
led dựa trên trạng thái của next_out sẽ bằng đảo của trạng thái out_mod1 trước đó tạo
nên hiệu ứng nhấp nháy 8 led
2.1.2 THỰC THI TEST BENCH MOD 1
HÌNH 4 : TEST BENCH CODE HIỆU ỨNG 1
5
2.2 MOD 2 ( SÁNG DẦN VÀ TẮT DẦN TRÁI – PHẢI )
HÌNH 5 : CODE CHO HIỆU ỨNG 2 ( SÁNG DẦN VÀ TẮT DẦN TRÁI – PHẢI )
2.2.1 GIẢI THÍCH CODE
- Dữ liệu đầu vào của module này bao gồm clk_out , rst và đầu ra là out_mod2
Khi đến với vòng mô tả hành vi ALWAYS thì xuất hiện cạnh lên của clk_out hoặc
chân rst được tác động xuống mức thấp thì lập tức trong hàm này sẽ chạy , khi đó nếu
chân rst tích cực thì đưa trạng thái của đầu ra là chỉ sáng led[7] , ngược lại xuất hiện
cạnh lên của clk_out và rst ở mức cao thì thực hiện gán đường dây check bằng
out_mod2[0] khi đó sẽ xuất hiện 2 trường hợp là ở vị trí cuối bên phải là led[0] chưa
sáng là ở mức 0 thì sẽ sáng dần lên gán led[7] bằng 1 và tiếp theo dịch phải 1 bit của
out_mod2 trước đó tạo nên hiệu ứng sáng dần từ trái sang phải , đến với trường hợp 2
thì led[0] đã sáng và biến check trước đó sẽ mang bit 0 tiếp tục dịch phải mang bit 0 đó
từ led[7] đến led[0] tạo nên hiệu ứng tắt dần của các led.
2.2.2 THỰC THI TEST BENCH MOD 2
Hình 6 : TEST BENCH CODE HIỆU ỨNG 2 ( SÁNG DẦN )
6
Hình 7 : TEST BENCH CODE HIỆU ỨNG 2 ( TẮT DẦN )
2.3 MOD 3 ( SÁNG 1 LED TỪ TRÁI – PHẢI )
Hình 8 : CODE CHO HIỆU ỨNG 3 ( SÁNG 1 LED CHẠY TRÁI – PHẢI )
2.3.1 GIẢI THÍCH CODE
- Dữ liệu đầu vào của module này bao gồm clk_out , rst và đầu ra là out_mod3
Khi đến với vòng mô tả hành vi ALWAYS thì xuất hiện cạnh lên của clk_out hoặc
chân rst được tác động xuống mức thấp thì lập tức trong hàm này sẽ chạy , khi đó nếu
chân rst tích cực thì đưa trạng thái của đầu ra là chỉ sáng led[7] , ngược lại xuất hiện
cạnh lên của clk_out và đưa rst lên mức cao thì thực thi hành động gán giá trị tiếp theo
cho đầu ra dựa trên biến check để xác định chiều của led sáng sẽ chạy trong 8 led .
7
2.3.2 TEST BENCH CODE
Hình 9 : TEST BENCH HIỆU ỨNG 3 ( SÁNG 1 LED TRÁI – PHẢI )
Hình 10 : TEST BENCH HIỆU ỨNG 3 ( SÁNG 1 LED PHẢI - TRÁI )
2.4 MOD 4 ( SÁNG 2 LED TỪ TRUNG TÂM )
Hình 11 : CODE CHO MOD 4 (SÁNG VÀ TẮT DẦN Ở TRUNG TÂM )
8
2.4.1 GIẢI THÍCH CODE
- Dữ liệu đầu vào của module này bao gồm clk_out , rst và đầu ra là out_mod3_1 và
out_mod3_2
Khi đến với vòng mô tả hành vi ALWAYS thì xuất hiện cạnh lên của clk_out hoặc
chân rst được tác động xuống mức thấp thì lập tức trong hàm này sẽ chạy , khi đó nếu
chân rst tích cực thì đưa trạng thái của đầu ra là chỉ có out_mod3_1[3] và
out_mod3_2[0] mức cao , ngược lại xuất hiện cạnh lên của clk_out và đưa rst lên mức
cao thì thực thi hành động gán giá trị tiếp theo cho đầu ra của 2 đầu ra dựa trên chung
1 biến check để thực thi gán trạng thái tiếp theo nếu out_mod3_1[0] và out_mod3_2[3]
đã ở mức cao thì gán giá trị 0 để cho giá trị tiếp theo của out_mod3_1 dịch phải vào và
out_mod3_2 dịch trái ra ngoài . Ngược lại khi chưa đạt tới trạng thái tắt dần thì check ở
mức 1 ngược lại với khi check ở mức 0 cứ lặp lại vô hạn lần như vậy thì ta được hiệu
ứng sáng và tắt dần ở trung tâm
2.4.2 TEST BENCH CODE
Hình 12 : TEST BENCH MOD 4 (SÁNG VÀ TẮT DẦN Ở TRUNG TÂM )
9