Khởi động phần mềm ISE WEB PACK Nhấp đúp vào biểu tượng của chương trình ISE webpack trên màn hìnhwindows thì chương trình sẽ khởi động Hình 1.1: Biểu tượn shortcut phần mềm Sau khi kh
Trang 2LỜI GIỚI THIỆU
VI MẠCH SỐ LẬP TRÌNH là một trong những mô đun bắt buộc của nghềĐiện tử công nghiệp được biên soạn dựa theo chương trình khung đã xây dựng và banhành năm 2021 của trường Cao đẳng nghề Cần Thơ dành cho nghề Điện tử côngnghiệp trình độ Cao đẳng
Giáo trình được biên soạn làm tài liệu học tập, giảng dạy nên giáo trình đã đượcxây dựng ở mức độ đơn giản và dễ hiểu, trong mỗi chương học đều có thí dụ vàChương tập tương ứng để áp dụng và làm sáng tỏ phần lý thuyết
Khi biên soạn, nhóm biên soạn đã dựa trên kinh nghiệm thực tế giảng dạy, thamkhảo đồng nghiệp, tham khảo các giáo trình hiện có và cập nhật những kiến thức mới
có liên quan để phù hợp với nội dùng chương trình đào tạo và phù hợp với mục tiêuđào tạo, nội dùng được biên soạn gắn với nhu cầu thực tế
Nội dùng giáo trình được biên soạn với lượng thời gian đào tạo 45 giờ gồm có:Bài 01 MĐ15-01: Giao tiếp led đơn
Bài 03 MĐ15-02: Giao tiếp led 7 đoạn
Bài 03 MĐ15-03: Giao tiếp phím nhấn
Trong quá trình sử dụng giáo trình, tuỳ theo yêu cầu cũng như khoa học và côngnghệ phát triển có thể điều chỉnh thời gian và bổ sung những kiên thức mới cho phùhợp Trong giáo trình, chúng tôi có đề ra nội dùng thực tập của từng Chương để ngườihọc cũng cố và áp dụng kiến thức phù hợp với kỹ năng
Tuy nhiên, tùy theo điều kiện cơ sở vật chất và trang thiết bị, các trường có thề
sử dụng cho phù hợp Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêuđào tạo nhưng không tránh được những khiếm khuyết Rất mong nhận được đóng góp
ý kiến của các thầy, cô giáo, bạn đọc để nhóm biên soạn sẽ hiệu chỉnh hoàn thiện hơn
Cần Thơ, ngày tháng 09 năm 2021
Tham gia biên soạn
Chủ biên: Hồ Tấn Đạt
Trang 3MỤC LỤC
Trang
TUYÊN BỐ BẢN QUYỀN 1
LỜI GIỚI THIỆU 2
MỤC LỤC 3
GIÁO TRÌNH MÔN HỌC 5
BÀI 1: GIAO TIẾP LED ĐƠN 8
1 Cổng logic 8
1.1 Các hàm sử dụng 8
1.2 Thực hành trên phần mềm điều khiển 8
1.3 Nạp chương trình vào bộ KIT thực hành 20
2 Mạch tổ hợp 25
2.1 Mạch mã hóa 25
2.1.1 Chương trình 25
2.1.2 Thực hành trên phần mềm điều khiển 25
2.1.3 Nạp chương trình vào bộ KIT thực hành 28
2.2 Mạch giải mã 31
2.2.1 Chương trình 31
2.2.2 Thực hành trên phần mềm điều khiển 32
2.2.3 Nạp chương trình vào bộ KIT thực hành 35
2.3 Mạch ghép kênh 38
2.3.1 Chương trình 38
2.3.2 Thực hành trên phần mềm điều khiển 38
2.3.3 Nạp chương trình vào bộ KIT thực hành 41
2.4 Mạch phân kênh 44
2.4.1 Chương trình 44
2.4.2 Thực hành trên phần mềm điều khiển 44
2.4.3 Nạp chương trình vào bộ KIT thực hành 47
3 Mạch đếm 51
3.1 Flip Flop 51
3.1.1 Chương trình 51
3.1.2 Thực hành trên phần mềm điều khiển 51
3.1.3 Nạp chương trình vào bộ KIT thực hành 54
3.2 Đếm nhị phân 57
3.2.1 Chương trình 57
3.2.2 Thực hành trên phần mềm điều khiển 57
3.2.3 Nạp chương trình vào bộ KIT thực hành 60
3.3 Thanh ghi dịch 63
3.3.1 Chương trình 63
3.3.2 Thực hành trên phần mềm điều khiển 63
3.3.3 Nạp chương trình vào bộ KIT thực hành 66
3.4 Đếm Jonhshon 69
3.4.1 Chương trình 69
3.4.2 Thực hành trên phần mềm điều khiển 69
3.4.3 Nạp chương trình vào bộ KIT thực hành 72
3.5 Đếm vòng 75
3.5.1 Chương trình 75
Trang 43.5.2 Thực hành trên phần mềm điều khiển 75
3.5.3 Nạp chương trình vào bộ KIT thực hành 77
BÀI 2: GIAO TIẾP LED 7 ĐOẠN 82
1 Chương trình 82
2 Thực hành trên phần mềm điều khiển 82
3 Kết nối bộ KIT thực hành 85
BÀI 3: GIAO TIẾP PHÍM NHẤN 90
1 Chương trình 90
2 Thực hành trên phần mềm điều khiển 91
3 Nạp chương trình vào bộ KIT thực hành 93
TÀI LIỆU THAM KHẢO 99
Trang 5GIÁO TRÌNH MÔN HỌC
Tên môn học: VI MẠCH SỐ LẬP TRÌNH
Mã môn học: MĐ 15
Vị trí, tính chất, ý nghĩa và vai trò của mô đun
- Vị trí: Mô đun được bố trí dạy sau khi học xong các mô đun, môn học như: Kỹthuật số, linh kiện điện tử….và học trước các mô đun, môn học như: Vi điều khiển cơbản, PLC cơ bản, SCADA, Robot công nghiệp, Thực hành PLC
- Tính chất: Là mô đun chuyên môn nghề bắt buộc của chương trình đào tạo caođẳng Điện tử công nghiệp
- Ý nghĩa và vai trò của mô đun: Vi mạch số chức năng từ lâu đã có vai trò rấtquan trọng trong các hệ điều khiển số Nhưng vấn đề thường gặp trong thiết kế các hệphức tạp là số lượng cổng quá nhiều và quá trình thiết kế cũng rất khó khăn kèm theo
độ linh hoạt cũng kém Một biện pháp khắc phục là phải tìm ra một linh kiện số đanăng có thể đáp ứng được các yêu cầu trên Đó là các hệ vi mạch số lập trình từ nhữngthiết bị quy mô nhỏ như PAL, GAL cho đến các chủng loại có mật độ tích hợp lên đếnhàng ngàn cổng logic, vài chục thanh ghi, hàng trăm chân I/O Ưu điểm của chúng làgiãm kích thước, công suất tiêu thụ, tăng độ tin cậy, tính linh hoạt và đặc biệt với sựtrợ giúp của các công cụ hổ trợ phần mềm nhờ đó quá trình thiết kế trở nên đơn giảnrất nhiều Do đó hiện nay chúng được áp dụng rất phổ biến trong lỉnh vực máy tínhcũng như điều khiển tự đông trong công nghiệp Chính vì thế kiến thức về họ thiết bịnày không thể thiếu đối với công nhân sửa chữa điện tử công nghiệp
+ Viết được các chương trình điều khiển theo yêu cầu
+ Sử dụng được phần mềm dùng trong môn học
+ Kết nối và điều khiển được KIT thực hành
- Năng lực tự chủ và trách nhiệm:
+ Có sáng kiến, tìm tòi, khám phá trong quá trình học tập và công việc
+ Có khả năng tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với cácbài học
+ Có năng lực đánh giá kết quả học tập và nghiên cứu của mình
+ Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chuyên môn
III Nội dùng mô đun:
1 Nội dùng tổng quát và phân bổ thời gian:
Số
TT Tên các Chương trong mô đun
Thời gian (giờ)
Tổng
số thuyết Lý
Thực hành, thí nghiệm, thảo luận, Chương tập
Kiểm tra
Trang 61.1 Các hàm sử dụng
1.2 Thực hành trên phần mềm điều khiển
1.3 Nạp chương trình vào bộ KIT thực
Trang 73 Nạp chương trình vào bộ KIT thực hành 4.5 0.5 4
Trang 8BÀI 1: GIAO TIẾP LED ĐƠN
+ Viết được các chương trình điều khiển theo yêu cầu điều khiển led đơn
+ Sử dụng được phần mềm dùng trong môn học
+ Kết nối và điều khiển được KIT thực hành
- Năng lực tự chủ và trách nhiệm:
+ Có sáng kiến, tìm tòi, khám phá trong quá trình học tập và công việc
+ Có khả năng tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với cácbài học
+ Có năng lực đánh giá kết quả học tập và nghiên cứu của mình
+Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chuyên môn
Nội dùng chính:
1. Cổng logic
1.1 Các hàm sử dụng
Các hàm logic cơ bản: NOT - AND – OR Các hàm có ý nghĩa như sau:
- “NOT” có chức năng làm cho tí hiệu ngõ ra đảo ngược trạng thái tín hiệu ngõvào
- “AND” có chức năng đảm bảo khi điều kiện các ngõ vào được chấp nhận thìtín hiệu ngõ ra được chấp nhận
- “OR” có chức năng cho phép chỉ cần 1 trong các điều kiện các ngõ vào đượcchấp nhận thì tín hiệu ngõ ra được chấp nhận
Chương trình điều khiển
X <= not B ; cổng logic not có 1 ngõ vào 1 ngõ ra
Y <= C and D ; cổng logic and có 2 ngõ vào 1 ngõ ra
Z <= E or F; cổng logic and có 2 ngõ vào 1 ngõ ra
Dấu “<=” là phép gán dùng gán các giá trị từ bên phải qua bên trái
Các phần chữ có màu xanh: not, and, or là các hàm logic Khi viết các hàm này
ta không cần phân biệt chữ hoa hay thường
Dấu “;” dùng kết thúc mỗi phép toán Sau dấu “;” ta có thể thiếp tục viết tiếpphép toán khác
Dấu “- - “ có màu xanh lợt: từ sau dấu 2 ghạch liên tục này ta có thể dùng text
để giải thích ghi chú cho phép toán của mình
1.2 Thực hành trên phần mềm điều khiển
Trang 9Khởi động phần mềm ISE WEB PACK
Nhấp đúp vào biểu tượng của chương trình ISE webpack trên màn hìnhwindows thì chương trình sẽ khởi động
Hình 1.1: Biểu tượn shortcut phần mềm
Sau khi khởi động phần mềm ta có giao diện như hình 1.2 sau
Hình 1.2: Giao diện phần mềm sau khi khởi động
Nếu là lần đầu tiên khởi động phần mềm, hãy bấm vào mục: “Show Tips atStarup” (vị trí số 1) để cửa số sổ này không xuất hiện ở nhưng lần khởi động tiếp theo.Sau đó bấm “OK” (vị trí số 2)để đóng cửa sổ này
Hãy mở menu “File” và chọn mục “Close Project” để đóng lại chương trìnhhiện hành nếu có (vị trí số 3) của hình 1.2 và chọn theo trình tự như hình 1.3
Hình 1.3: Thao tác đóng các chương trình hiện hành
Ta có giao diện mới như hình 1.4
Trang 10Hình 1.4: Giao diện phần mềm sau khi đóng các chương trình
Soạn thảo chương trình: ta thực hiện các bước sau
Tạo dự án mới: hãy vào menu lệnh “File” và chọn “New Project” như hình 1.5
Hình 1.5: Tạo một dự án mới
Cửa sổ mới xuất, vì mỗi một Project thì có rất nhiều file do chương trình tạo ra
nên để dễ quản lý thì ISE yêu cầu người lập trình phải nhập tên thư mục cho Project.
Trang 11Hãy bấm chọn chọn như hình 1.6 để chỉ đườn dẫn đến nơi muốn lưu trữ dự án mới.
Hình 1.6: Chọn đườn dẫn lưu trữ dự án
Tiếp tục chọn nơi cần lưu trữ, sau đó bấm “OK” như hình 1.7
Hình 1.7: Chọn nơi lưu trữ
Trang 12Ở mục “Name”, hãy nhập tên cho dự án Khi đặt tên cho project thì nên đặt têngần với yêu cầu của bài lập trình: Ví dụ ta lập trình bài logic cơ thì ta đặt tên như sau
đó bấm “Next” như hình 1.8
Hình 1.8: Đặt tên cho dự án
Thiết lập thông số
Cửa sổ mới xuát hiện, ta thực hiện chọn các thông số
Hình 1.9: Menu lựa chọn thông số cho project
Trang 13Bước 1: Chọn mục “Product Category”: dùng để chọn lĩnh vực ứng dụng Bạn hãy chọn mục như trong menu “General Purpose”.
Hình 1.10: Chọn product category cho dự án
Bước 2: Chọn mục “Family” dùng để chọn các họ chip gồm các họ sau:
Hình 1.11: Chọn chip tương ứng bộ KIT
Trong mục chọn này có rất nhiều họ IC khác nhau về cấu trúc do hãng Xilinxsản xuất và phần mềm này cho phép lập trình các họ IC được liệt kê Đối với mục nàythì ta chọn chip ví dụ như sau:
Chip “XC6SLX16” thuộc họ “SPARTAN6”
Họ “SPARTAN6” là họ sử dụng nguồn cung cấp Vcc = 3.3V
Bước 3: Sau khi chọn mục “XC6SLX16” tương thích với họ IC đang thực hành
thì bạn hãy chọn loại IC trong mục “Device” như sau:
Hình 1.12: Mục Device chip tương ứng trên bộ KIT
Do sử dụng IC XC6SLX16 nên bạn phải chọn IC có trong danh sách liệt kênhư trong hình
Chú ý: nếu bạn chọn sai linh kiện thì bạn không thể thực hiện việc gán chânlinh kiện được và project của bạn sẽ không thể thực thi
Bước 4: Sau khi chọn loại IC xong thì trong mục “Package” sẽ liệt kê các dạng
vỏ mà IC này có được do nhà chế tạo cung cấp, bạn phải chọn loại vỏ cho chip tương
Trang 14ứng trong mục “Package” tương thích với loại vỏ của IC mà bạn đang thực hành.Trong bộ thí nghiệm thực hành FPGA Spartan6 sử dụng loại chíp có vỏ mã là
“CSG324” nên chọn như hình
Hình 1.13: Chọn loại Package cho IC
Bước 4: Chọn tốc độ cho mạch: cũng trên thân IC nhà chế tạo có ghi tốc độ làmviệc của IC và bạn chọn cho đúng tốc độ như hình 1.14
Hình 1.14: Mục “Speed” dùng để chọn tốc độ làm việc
Trong mục “Speed” có 3 thông số tương ứng với 3 cấp tốc độ khác nhau, thông
số này chính là thời gian trể của tín hiệu được tính từ khi chip nhận 1 tín hiệu ở ngõvào cho đến khi xuất hiện tín hiệu ở ngõ ra Thông số này càng nhỏ càng tốt và giáthành của IC cũng tăng theo Các mục còn lại chưa cần quan tâm đến và kết quả saukhi chọn như hình 1.15
Hình 1.15: Kết quả sau khi đã lựu chọn thông tin theo bộ KIT thực hành
Bấm chọn next để hoàn thành quá trình thiết lập Trên cửa sổ hình 1.16 hãy bấm
“Finish” để kết thúc quá trình thiết lập
Trang 15Hình 1.16: Giao diện trước kết thúc quá tringh thiết lập thông số
Tạo module viết chương trình
Để chuyển sang cửa sổ lập trình, Trong Tab “Project” giao diện chương trìnhchính chọn “New Source…” như hình 1.17
Hình 1.17: Chọn tạo mới cửa sổ viết chương trình
Có nhiều ngôn ngữ lập trình nhưng chúng ta thực tập với ngôn ngữ lập trìnhVHDL nên bạn hãy chọn mục “VHDL Module” như hình 1.18
Hình 1.18: Chọn kiểu lập trình cho Project là “VHDL Module”
Sau đó đặt chuột vào mục “File Name” và nhập tên cho chương trình nguồn tuỳ
ý ví dụ như “mach_conglogic” Lưu ý: Nên đặt tên file theo chức năng của bài cần lập
Trang 16trình và sau mỗi tên nên có tên đuôi để phân biệt file lập trình và file mô phỏng Cuốicùng bấm “Next”.
Khai báo các chân tín hiệu vào, ra:
Ta thực hiện nhập tên các ngõ vào ra ở cộ “Port name” và chọn loại địa chỉ vào
“in” hay ra “out” tại cột “Direction” như hình
Hình 1.19: Khai báo các ngõ vào ra
Tiếp tục bấm “Finish” ở hình 1.20
Hình 1.20: Bảng tóm tắt project
Nhập đoạn chương trình điều khiển
Cửa sổ soạn thảo chương trình như hình 1.21
Trang 17Hình 1.21: Tổ chức của chương trình khi chưa có lệnh xử lý
Hãy quan sát thân chương trình
Vị trí số 1: hàng “use IEEE.STD_LOGIC_1164.ALL;” Các thành phần thư việnthì phần mềm tự khai báo sẵn
Vị trí số 2: Các địa chỉ vào ra đúng như ta đã khai báo
Vị trí số 3: Đoạn chương trình được soạn thảo từ sau từ khóa “Begin” và dừnglại trước từ khóa “end Behavioral”
Tại vị trí 1: là tên của cửa sổ
Tại vị trí 2: bấm vào dấu “+” nếu chưa thấy “Check Syntax”
Tại vị chí 3: bấm chuột phải vào “Check Syntax” và chọn “Run” như vị trí số 4Sau khi biên dịch hoàn thành, xuất hiện thông báo như hình 1.24
Trang 18Hình 1.24: Hiển thị dấu chek xanh cho thấy chương trình đúng cú pháp
Ở hình 1.25 tTrong trường hợp có lỗi thì ISE thông báo cho bạn biết thông tincủa lệnh bị sai cú pháp là lệnh ở gần dòng thứ 42 và có gợi ý cho bạn cách hiệu chỉnh
cú pháp cho đúng
Hình 1.25: Bthông báo lỗi cú pháp
Sau khi hiệu chỉnh cú pháp, hãy save lại và tiến hành kiểm tra lỗi Nếu khôngxuất hiện lỗi thì cú pháp đã đúng
Gán các chân của dự án cho cho các chân của thiết bị lập trình
Thực hiện việc gán chân các ngõ vào ra trong ứng dụng của bạn cho chipXC6SLX16 bằng cách trong mục “User Constraints”, chọn mục “I/O Pin Planning(PlanAhead)” và mở lệnh chuột phải, một menu hiện và hãy chọn RUN
Hình 1.26: Khởi động chương trình gán chân
Một thông báo yêu cầu lưu trữ file xuất hiện như hình 1.27 Hãy chọn “Yes”
Hình 1.27: Thông báo yêu cầu lưu trữ file
Trang 19Tiếp tục bấm Close cho hình 1.28
Hình 1.28: Cửa sổ gán chân kèm bảng hướng dẫn sử dụng
Sau khi đóng bảng hướng dẫn sử dụng, ta có giao diện cho phép gán chân nhưhình 1.29
Hình 1.29: Cửa sổ giao diện gán chân
Trên cửa sổ giao diện này:
Vị trí số 1: I/O ports là các chân vào ra đã được khái báo trong chương trình
Vị trí số 2: danh sách các chân Bấm vào dấu “+” để liệt kê danh sách các chânnhư hình
Vị trí số 3: tại cột “Site” là nơi chọn chân gán cho các chân của IC
Vị tí số 4: bấm vào vị trí chân B, 1 lít các chân được trình bày, kéo thanh trượt
để tìm chân cho B Hãy chọn P18
Lưu ý: Các chân gán là do người thiết kế bộ thí nghiệm qui định thống nhất chotất cả các ứng dụng để tiến trình thí nghiệm, kiểm tra, chỉnh sửa được thực hiện dễ
dàng và các bạn thực hành nên theo đúng các trình tự đã đề ra
Tiếp tục cho đến khi gán chân hoàn tất như hình 1.30
Hình 1.30: Bảng gán chân hoàn tất
Sau khi gán xong thì tiến hành lưu file và nhấn “Save” rồi thoát khỏi chương
trình gán, trở về lại chương trình ISE để thực hiện các biên dịch còn lại.
Trang 201.3 Nạp chương trình vào bộ KIT thực hành
Kết nối dây cáp vào máy tính
Cách thức nạp chương trình
Tại của sổ “Design” (số 1), bấm chọn như vị trí số (2) Tiếp theo bấm đúp vàomục “Configure Target Device)”, sau đó nhấp chuột file vào “Generate TargetPROM/ACE File” rồi chọn RUN
Hình 1.31: Chọn chương trình nạp dữ liệu lên KIT
Sau khi hoàn tất khởi động nạp như hình 1.32
Hình 1.32: Khởi động chương trình nạp
Cửa sổ nạp chương trình
Hình 1.33: Giao diện nạp chương trình
Trang 21Nhấp đôi chuột trái vào “Boundary Scan” để vào giao diện thực hiện nạpchương trình theo chuẩn JTAG.
Hình 1.34: Mở giao diện thực hiện nạp chương trình
Để chương trình có thể dò được thấy chip thì ta nhấn chuột phải ở vùng chính(số 1) Một tab thông báo hiện ra, chọn “Initialize Chain” hoặc nhấn “Ctrl+I”
Trang 22Ở hình 1.37, kết nối thành công thì một giao diện mới xuất hiện yêu cầu mở filecần nạp Hãy tiến hành chọn file cần nạp và bấm Yes File cần nạp sẽ có đuôi mở rộng
“*.bit” Hãy chỉ đường dẫn đến vị trí lưu file đã biên dịch và chọn như hình 1.38
Hình 1.38: chọn file cần nạp cho IC
Sau khi tải xong file đã chọn thì một giao diện mới xuất hiện như hình 1.39.Một bảng thông báo hiện ra có nội dùng hỏi bạn có muốn nạp chương trình trên Flashkhông Chọn “No” cho phương thức nạp trực tiếp lên FPGA
Hình 1.39: chọn phương thức nạp trực tiếp
Bảng thông báo mới hiện lên ta chọn “OK” như hình 1.40
Hình 1.40: bấm chọn để nạp chương trình
Trang 23Tiếp tục nạp cho chip, bấm chọn như hình 1.50
Trang 24- Quan sát kết quả
Hình 1.44: Sơ đồ bố trí trên KIT
Quá trình nạp chương trình hoàn tất Đến đây ta tác động điều khiển các SWThực hiện gạt các SW (vị trí số 1) đồng thời quan sát Led hiển thị xem có hoạtđộng đúng chương trình điều khiển
Hình 1.45: Led cần qua sát
Quy đinh:
Trên hình 1.44 là 8 SW có thứ tự từ 1 đến 8 tăng dần từ tái qua phải Quy định,
ở trạng tháy chưa gạt lên SW=0, khi đã gặt lên SW=1
Ở hình 1.45 có 4 led đơn thứ từ 1 đến 4 tăng dần từ trái qua phải
Quan sát:
Cổng NOT: Khi SW1=1 thì LED1 tắt, khi SW=0 LED1 sáng
Cổng AND: Khi SW2=SW3=1 thì LED2 sáng, LED2 luôn tắt ở các trường hợpcòn lại cảu SW2 và SW3
Cổng OR: Khi SW2=SW3=0 thì LED3 tắt, LED3 luôn sáng ở các trường hợpcòn lại cảu SW2 và SW3
Trang 252. Mạch tổ hợp
2.1 Mạch mã hóa
2.1.1 Chương trình
CASE (“tên ngõ vào”) IS: bảng mô tả hoạt ộng khi ngõ vào thay đổi
WHEN “dữ liệu vào dạng bit” => (Ngõ ra) <= “dữ liệu dạng bit” có nghĩa làứng với trường hợp dữ liệu ngõ vào thực hiện phép toán gán dữ liệu cho ngõ ra theomong muốn
Chương trình điều khiển
PROCESS (I): là quá trình hoạt động của ngõ vào I Sau từ khóa PROCESS là
“BEGIN” tức bắt đầu chương trình và nó kết thúc quá trình ở từ khóa “ENDPROCESS”
CASE I IS là bảng mô tả hoạt động của ngõ vào I bảng mô tả này kết thúc khigặp từ khóa “END CASE”
When “0001” nghĩa là khi ngõ và I lần lượt tồn tại 4 bit “0001” thì thực hiệnphép gán cho ngõ vào O 2 bit tồn tại “00” Các bước tiếp theo ý nghã hoàn toàn tươngtự
WHEN OTHERS => NULL hàm nghĩa là những trường hợp khác khác thìkhông thực hiện gì
2.1.2 Thực hành trên phần mềm điều khiển
Khởi động phần mềm ISE WEB PACK
Hình 1.46: Khởi động phần mềm
Soạn thảo chương trình
Tạo dự án mới:
Vào menu lệnh “File” và chọn “New Project”
Mục Location bấm chọn đường dẫn lưu dự án
Mục name tiến hành đặt tên cho dự án
Thiết lập thông số: thực hiện chọn các thông số cho dự án như hình sau
Trang 26Hình 1.47: Chọn thông số cho Project theo đúng KIT
Tạo module viết chương trình
Trong Tab “Project” chọn “New Source…”
Thực hiện chọn VHDL Module
Mục file name đặt tên cho file chương trình rồi chọn next
Khai báo các chân tín hiệu vào, ra
Hình sau cho phép khai báo các địa chỉ vàovà ra
Hình 1.48: Địa chỉ vào ra
Lần lượt chọn như hình, trong đó tại cột Bus (số 3) đánh dấu check vì ngõ vào
và ngõ ra có hơn 1 chân Cột MSB (số 4) nhập số chân tối đa của mỗi ngõ vào ra.Thực hiện tiếp tục cho đến khi kết thúc khai báo địa chỉ
Nhập đoạn chương trình điều khiển
Ở giao diện viết chương trình, thực hiện nhập đoạn chương trình vào khu vựccho phép như hình sau
Trang 27Hình 1.49: Nhập đoạn chương trình vào cửa sổ
Trang 28Thực hiện việc gán chân các ngõ vào ra trong ứng dụng của bạn cho chipXC6SLX16 bằng cách trong mục “User Constraints”, chọn mục “I/O Pin Planning(PlanAhead)” và mở lệnh chuột phải, một menu hiện và hãy chọn RUN
Hình 1.52: Khởi động chương trình gán chân
Một thông báo yêu cầu lưu trữ file xuất hiện, hãy bấm yes rồi tiếp tục bấmClose, ta có giao diện cho phép gán chân như hình sau
Hình 1.53: Bảng gán chân hoàn tất
Sau khi gán xong thì tiến hành lưu file và nhấn “Save” rồi thoát khỏi chươngtrình gán, trở về lại chương trình ISE để thực hiện các biên dịch còn lại
2.1.3 Nạp chương trình vào bộ KIT thực hành
Kết nối dây cáp vào máy tính
Cách thức nạp chương trình
Tại của sổ “Design” (số 1), bấm chọn như vị trí số (2) Tiếp theo bấm đúp vàomục “Configure Target Device)”, sau đó nhấp chuột file vào “Generate TargetPROM/ACE File” rồi chọn RUN
Hình 1.54: Chọn chương trình nạp dữ liệu lên KIT
Ở cửa sổ nạp chương trình nhấp đôi chuột trái vào “Boundary Scan” để vàogiao diện thực hiện nạp chương trình theo chuẩn JTAG
Trang 29Hình 1.55: Mở giao diện thực hiện nạp chương trình
Trên vùng chính của chương trình, bấm mở chuột phải và chọn “InitializeChain” hoặc nhấn “Ctrl+I” Sau khi kết nối thành công, hãy mở chuột phải trên chiprồi chỉ đường dẫn đến file đã lưu cần nap cần nạp sẽ có đuôi mở rộng “*.bit”
Hình 1.56: Chọn file cần nạp cho IC
Sau khi tải xong file đã chọn thì một giao diện mới xuất hiện như hình sau Mộtbảng thông báo hiện ra có nội dùng hỏi bạn có muốn nạp chương trình trên Flashkhông Chọn “No” cho phương thức nạp trực tiếp lên FPGA
Hình 1.57: Chọn phương thức nạp trực tiếp
Khi bảng thông báo mới xuát hiện, hãy bấm OK Tiếp tục nạp cho chip, bấmchọn như hình sau
Trang 31Quan sát kết quả
Hình 1.61: Sơ đồ bố trí trên KIT
Quá trình nạp chương trình hoàn tất Đến đây ta tác động điều khiển các SWThực hiện gạt các SW (vị trí số 1) đồng thời quan sát Led hiển thị xem có hoạtđộng đúng chương trình điều khiển
Chương trình điều khiển
Trang 32PROCESS (I): là quá trình hoạt động của ngõ vào I Sau từ khóa PROCESS là
“BEGIN” tức bắt đầu chương trình và nó kết thúc quá trình ở từ khóa “ENDPROCESS”
CASE I IS là bảng mô tả hoạt động của ngõ vào I bảng mô tả này kết thúc khigặp từ khóa “END CASE”
When “00” nghĩa là khi ngõ và I lần lượt tồn tại 4 bit “00” thì thực hiện phépgán cho ngõ vào O 4 bit tồn tại “0001” Các bước tiếp theo ý nghã hoàn toàn tương tự
WHEN OTHERS => NULL hàm nghĩa là những trường hợp khác khác thìkhông thực hiện gì
2.2.2 Thực hành trên phần mềm điều khiển
Khởi động phần mềm ISE WEB PACK
Hình 1.63: Khởi động phần mềm
Soạn thảo chương trình
Tạo dự án mới:
Vào menu lệnh “File” và chọn “New Project”
Mục Location bấm chọn đường dẫn lưu dự án
Mục name tiến hành đặt tên cho dự án
Thiết lập thông số: thực hiện chọn các thông số cho dự án như hình
Hình 1.64: Chọn thông số cho Project theo đúng KIT
Tạo module viết chương trình
Trong Tab “Project” chọn “New Source…”
Trang 33Thực hiện chọn VHDL Module
Mục file name đặt tên cho file chương trình rồi chọn next
Khai báo các chân tín hiệu vào, ra
Hình sau cho phép khai báo các địa chỉ vàovà ra
Hình 1.65: Địa chỉ vào ra
Lần lượt chọn như hình, trong đó tại cột Bus (số 3) đánh dấu check vì ngõ vào
và ngõ ra có hơn 1 chân Cột MSB (số 4) nhập số chân tối đa của mỗi ngõ vào ra.Thực hiện tiếp tục cho đến khi kết thúc khai báo địa chỉ
Nhập đoạn chương trình điều khiển
Ở giao diện viết chương trình, thực hiện nhập đoạn chương trình vào khu vựccho phép như hình sau
Hình 1.66: Nhập đoạn chương trình vào cửa sổ
Trang 34Gán các chân của dự án cho cho các chân của thiết bị lập trình
Thực hiện việc gán chân các ngõ vào ra trong ứng dụng của bạn cho chipXC6SLX16 bằng cách trong mục “User Constraints”, chọn mục “I/O Pin Planning(PlanAhead)” và mở lệnh chuột phải, một menu hiện và hãy chọn RUN
Hình 1.69: Khởi động chương trình gán chân
Một thông báo yêu cầu lưu trữ file xuất hiện, hãy bấm yes rồi tiếp tục bấmClose, ta có giao diện cho phép gán chân như hình sau Hãy gán các chân như hình
Hình 1.70: Bảng gán chân hoàn tất
Trang 35Sau khi gán xong thì tiến hành lưu file và nhấn “Save” rồi thoát khỏi chươngtrình gán, trở về lại chương trình ISE để thực hiện các biên dịch còn lại
2.2.3 Nạp chương trình vào bộ KIT thực hành
Kết nối dây cáp vào máy tính
Cách thức nạp chương trình
Tại của sổ “Design” (số 1), bấm chọn như vị trí số (2) Tiếp theo bấm đúp vàomục “Configure Target Device)”, sau đó nhấp chuột file vào “Generate TargetPROM/ACE File” rồi chọn RUN
Hình 1.71: Chọn chương trình nạp dữ liệu lên KIT
Ở cửa sổ nạp chương trình nhấp đôi chuột trái vào “Boundary Scan” để vàogiao diện thực hiện nạp chương trình theo chuẩn JTAG
Hình 1.72: Mở giao diện thực hiện nạp chương trình
Trên vùng chính của chương trình, bấm mở chuột phải và chọn “InitializeChain” hoặc nhấn “Ctrl+I” Sau khi kết nối thành công, hãy mở chuột phải trên chiprồi chỉ đường dẫn đến file đã lưu cần nap cần nạp sẽ có đuôi mở rộng “*.bit”
Hình 1.73: Chọn file cần nạp cho IC
Trang 36Sau khi tải xong file đã chọn thì một giao diện mới xuất hiện như hình 1.74.Một bảng thông báo hiện ra có nội dùng hỏi bạn có muốn nạp chương trình trên Flashkhông Chọn “No” cho phương thức nạp trực tiếp lên FPGA.
Trang 37Hình 1.77: nạp chip hoàn thành
Quan sát kết quả
Hình 1.78: Sơ đồ bố trí trên KIT
Quá trình nạp chương trình hoàn tất Đến đây ta tác động điều khiển các SWThực hiện gạt các SW (vị trí số 1) đồng thời quan sát Led hiển thị xem có hoạtđộng đúng chương trình điều khiển
Hình 1.79: Led cần qua sát
Quan sát:
Khi SW0=0 và SW2=0 thì LED1 sáng
Khi SW0=1 và SW2=0 thì LED2 sáng
Trang 38Chương trình điều khiển
PROCESS (I): là quá trình hoạt động của ngõ vào I Sau từ khóa PROCESS là
“BEGIN” tức bắt đầu chương trình và nó kết thúc quá trình ở từ khóa “ENDPROCESS”
CASE I IS là bảng mô tả hoạt động của ngõ vào I bảng mô tả này kết thúc khigặp từ khóa “END CASE”
When “00” nghĩa là khi ngõ và I lần lượt tồn tại 4 bit “00” thì thực hiện phépgán cho ngõ vào 4 bit tồn tại “0001” Các bước tiếp theo ý nghã hoàn toàn tương tự
WHEN OTHERS => thì gán bit 0 cho Q lưu ý: 1 bit đơn thì viết trong dấu (‘ ‘)
và từ 2 bit trở lên thì viết trong (“ “)
2.3.2 Thực hành trên phần mềm điều khiển
- Khởi động phần mềm ISE WEB PACK
Hình 1.80: Khởi động phần mềm
Soạn thảo chương trình
Tạo dự án mới:
Vào menu lệnh “File” và chọn “New Project”
Mục Location bấm chọn đường dẫn lưu dự án
Mục name tiến hành đặt tên cho dự án
Thiết lập thông số: thực hiện chọn các thông số cho dự án như hình
Trang 39Hình 1.81: Chọn thông số cho Project theo đúng KIT
Tạo module viết chương trình
Trong Tab “Project” chọn “New Source…”
Thực hiện chọn VHDL Module
Mục file name đặt tên cho file chương trình rồi chọn next
Khai báo các chân tín hiệu vào, ra
Hình sau cho phép khai báo các địa chỉ vào và ra
Hình 1.82: Địa chỉ vào ra
Lần lượt chọn như hình, trong đó tại cột Bus đánh dấu check vì ngõ vào và ngõ
ra có hơn 1 chân Cột MSB nhập số chân tối đa của mỗi ngõ vào ra Thực hiện tiếp tụccho đến khi kết thúc khai báo địa chỉ
Nhập đoạn chương trình điều khiển
Ở giao diện viết chương trình, thực hiện nhập đoạn chương trình vào khu vựccho phép như hình sau
Trang 40Hình 1.83: Nhập đoạn chương trình vào cửa sổ
Gán các chân của dự án cho cho các chân của thiết bị lập trình
Thực hiện việc gán chân các ngõ vào ra trong ứng dụng của bạn cho chipXC6SLX16 bằng cách trong mục “User Constraints”, chọn mục “I/O Pin Planning(PlanAhead)” và mở lệnh chuột phải, một menu hiện và hãy chọn RUN