Ngày nay công nghệ vi điện tử đã trở thành một lĩnh vực phát triển và được rất nhiều nước trên thế giới chú trọng phát triển.Tại sao nó lại được chú trọng đến vậy, xét về phạm vi ứng dụng ta thấy Điện-Điện Tử nói chung và hệ thống Nhúng nói riêng có liên quan, ảnh hưởng đến nhiều lĩnh vực trong đời sống.
Trong sinh hoạt của con người, nó làm cho cuộc sống của con người ngày càng tiện nghi, thoải mái. Sự xuất hiện hàng loạt các thiết bị phục vụ nhu cầu đời sống của con người không chỉ tăng về số lượng mà còn tăng về tính năng, chất lượng và độ an toàn như máy giặt, tủ lạnh, lò vi sóng
Trong sản xuất,nó làm tăng năng suất lao động,giảm sức lao động của con người, thay con người hoạt động ở những nơi có điều kiện hết sức khắc nhiệt Và nó liên quan đến các ứng dụng công nghệ cao như viễn thông, hạt nhân, vũ trụ
Với tầm quan trọng của công nghệ vi điện tử. Nó xứng đáng là lĩnh vực mang tầm chiến lược trong sự phát triển của các nước trên thế giới. Đối với nước ta hiện nay Nhà nước cũng ưu tiên trong đầu tư, đào tạo, nghiên cứu các lĩnh vực liên quan đến Điện –Điện Tử trong đó có hệ Nhúng, nhiều cơ sở và trung tâm đào tạo nghiên cứu đã và đang hoạt động, phát triển.
Từ yêu cầu của mô học “Đồ Án Thiết Kế Hệ Thống Số” cũng như để hiểu kỹ hơn về công nghệ FPGA em đã quyết định chọn để tài :
“Thiết kế bộ điều khiển matrix led 2D quảng cáo đa năng dùng FPGA”.
Nội dung đề tài :
Tìm hiểu về LED matrix
Thiết kế bảng ma trận Led 2D
Tìm hiểu FPGA
Thiết kế bộ điều khiển dùng FPGA
Em xin chân thành cảm ơn thầy NGUYỄN NGỌC MINH đã hướng dẫn chi tiết về FPGA và phương pháp thiết kế mô hình hóa phần cứng.
25 trang |
Chia sẻ: ngtr9097 | Lượt xem: 3932 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế mạch quang báo đa năng matrix led dùng fpga (bản demo), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
TRANG
LỜI MỞ ĐẦU……………………………………………………………………….…2
CHƯƠNG I. ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ CỦA ĐỒ ÁN…………………………3
I. ĐẶT VẤN ĐỀ…………………………………………………………………….....3
II. NHIỆM VỤ CỦA ĐỒ ÁN………………………………………………….………3
CHƯƠNG II. CƠ SỞ LÝ THUYẾT…………………………………………….……..3
I. MA TRẬN LED ……………………………………………………………..………3
1. CẤU TẠO VÀ NGUYÊN LÝ QUÉT………………………………………………..……3
2. PHÂN LOẠI MA TRẬN LED……………………………………………………..…….6
II. TỔNG QUAN QUẢNG CÁO ĐA NĂNG……………………………………….…7
III. TỔNG QUAN FPGA………………………………………………………….……8
IV. TỔNG QUAN NGÔN NGỮ VHDL…………………………………………….…9
CHƯƠNG III. THIẾT KẾ HỆ THỐNG……………………………………………....11
I. TỔNG QUAN PHẦN MỀM XILINX ISE………………………………………....11
II. SƠ ĐỒ KHỐI HỆ THỐNG………………………………………………………...12
1. KIT SPACTAN 3…………..………………………………………………………………..…….12
2. IC 74HC595………………..………………………………………………………………..…….19
3. IC ULN2803…………………..……………………………………………………………..…….21
4. BJT A1013…………………………………………………………………………………………22
5. SƠ ĐỒ NGUYÊN LÝ.......……………………………………………………………………….. 22
6. THIẾT KẾ PCB MODUL HIỂN THỊ……………………………………………….……23
III. LƯU ĐỒ GIẢI THUẬT……………………………………………………..……24
IV. CODE VHDL ……………………………………………………………...……..25
NGUỒN TÀI LIỆU THAM KHẢO………………………………………….……….29
KẾT LUẬN……………………………………………………………………………
LỜI MỞ ĐẦU
Ngày nay công nghệ vi điện tử đã trở thành một lĩnh vực phát triển và được rất nhiều nước trên thế giới chú trọng phát triển.Tại sao nó lại được chú trọng đến vậy, xét về phạm vi ứng dụng ta thấy Điện-Điện Tử nói chung và hệ thống Nhúng nói riêng có liên quan, ảnh hưởng đến nhiều lĩnh vực trong đời sống.
Trong sinh hoạt của con người, nó làm cho cuộc sống của con người ngày càng tiện nghi, thoải mái. Sự xuất hiện hàng loạt các thiết bị phục vụ nhu cầu đời sống của con người không chỉ tăng về số lượng mà còn tăng về tính năng, chất lượng và độ an toàn như máy giặt, tủ lạnh, lò vi sóng…
Trong sản xuất,nó làm tăng năng suất lao động,giảm sức lao động của con người, thay con người hoạt động ở những nơi có điều kiện hết sức khắc nhiệt…Và nó liên quan đến các ứng dụng công nghệ cao như viễn thông, hạt nhân, vũ trụ…
Với tầm quan trọng của công nghệ vi điện tử. Nó xứng đáng là lĩnh vực mang tầm chiến lược trong sự phát triển của các nước trên thế giới. Đối với nước ta hiện nay Nhà nước cũng ưu tiên trong đầu tư, đào tạo, nghiên cứu… các lĩnh vực liên quan đến Điện –Điện Tử trong đó có hệ Nhúng, nhiều cơ sở và trung tâm đào tạo nghiên cứu đã và đang hoạt động, phát triển.
Từ yêu cầu của mô học “Đồ Án Thiết Kế Hệ Thống Số” cũng như để hiểu kỹ hơn về công nghệ FPGA em đã quyết định chọn để tài :
“Thiết kế bộ điều khiển matrix led 2D quảng cáo đa năng dùng FPGA”.
Nội dung đề tài :
Tìm hiểu về LED matrix
Thiết kế bảng ma trận Led 2D
Tìm hiểu FPGA
Thiết kế bộ điều khiển dùng FPGA
Em xin chân thành cảm ơn thầy NGUYỄN NGỌC MINH đã hướng dẫn chi tiết về FPGA và phương pháp thiết kế mô hình hóa phần cứng.
Sinh viên thực hiện:
Nguyễn Đình Tuyến (Ngạo Phong Vân 90)
Hà Nội, ngày 10/02/2012
CHƯƠNG I . ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ CỦA ĐỒ ÁN
I – Đặt vấn đề
Trong thời đại ngày nay, công nghệ điện tử ngày càng phát triển và được ứng dụng rất nhiều trong thực tế. Một trong những ứng dụng đó là lĩnh vực quảng cáo, trang trí khuếch trương sản phầm. Để làm cho sản phầm hoặc hình ảnh công ty thu hút sự chú ý, quan tâm của khách hàng thì dịch vụ quảng cáo phải thật ấn tượng, choáng ngợp, bắt mắt… Để giải quyết vấn đề này thì có rất nhiều phương án, nhưng hiện nay phương án được các công ty, doanh nghiệp, cửa hàng… sử dụng hiệu quả nhất là quảng cáo bằng bảng led matrix. Chính vì vậy việc thiết kế hệ thống bảng điện tử để phục vụ nhu cầu quảng cáo là rất cần thiết.
II – Nhiệm vụ của đồ án
Với sự lựa chọn để tài này, trước tiên cần tìm hiểu chi tiết về LED matrix cũng như các phương pháp quét LED, hiển thị xử lý hình ảnh…Sau đó tìm hiểu về quảng cáo đa năng là gì và kế đó là các phương pháp ứng dụng FPGA để giải quyết bài toán đặt ra.
CHƯƠNG II CƠ SỞ LÝ THUYẾT
I. LED ma trận
1. Cấu tạo và nguyên lý quét
Dựa trên nguyên tắc như quét màn hình,ta có thể thực hiện việc hiển thị ma trận đèn bằng cách quét theo hàng và quét theo cột. Mỗi Led trên ma trận Led có thể coi như một điểm ảnh. Địa chỉ của mỗi điểm ảnh này được xác định đồng thời bởi mạch giải mã hàng và giải mã cột, điểm ảnh này sẽ được xác định nhờ dữ liệu đưa ra từ bộ điều khiển.
Như vậy tại mỗi thời điểm chỉ có trạng thái của một cột được xác định(nếu thực hiện quét cột đưa dữ liệu ra hàng). Tuy nhiên khi xác định địa chỉ và trạng thái của cột tiếp theo thì cột trước đó sẽ chuyển về trạng thái tắt. Vì thế để hiển thị được toàn bộ hình ảnh mà ta muốn thì ta phải quét ma trận nhiều lần với tốc độ quét rất lớn, lớn hơn nhiều lần thời gian kịp tắt của đèn. Mắt người chỉ nhận biết được tối đa 24 hình/s do đó nếu tốc độ quét lớn mắt người sẽ không nhận biết được sự gián đoạn hay là nhấp nháy của đèn Led.
Một điều cũng quan trọng ở đây là điều chỉnh độ sáng của Led, thông thường Led sáng bình thường ở điện áp 5V, dòng điện từ 10-20mA. Để đảm bảo Led sáng bình thường thì yêu cầu mạch thiết kế phải đáp ứng đủ 2 điều kiện trên.
Để thực hiện được việc quét hàng và quét cột thì ma trận Led được thiết kế như sau:
các led trên cùng một hàng sẽ được nối các chân dương với nhau.
các led trên cùng một cột sẽ được nối các chân âm với nhau.
Sơ đồ nguyên lý của ma trận Led 8x8:
Trạng thái của một led sẽ được quyết định bởi tín hiệu điện áp đi vào cả 2 chân. Để led nào đó sáng thì điện áp 5V phải được đưa vào chân dương (hàng), và chân âm (cột) của nó được nối 0V.
Để ma trận có thể sáng như hình vẽ (một phần của chữ NHÓM 07 LỚP D08ĐTXLTH1 )
Ma trận LED 1 Ma trận LED 2 Ma trận LED 3
Ta thực hiện quét cột như sau:
chọn cột 1, đưa điện áp cột 1 về 0. Sau đó xuất dữ liệu ra các hàng 1,2,3,4,5,6,7,8 như sau:
Đèn 1 tắt => điện áp đưa vào hàng 1 = 0V ó bit nhị phân tương ứng: 0
Đèn 2 tắt => điện áp đưa vào hàng 2 = 0V ó bit nhị phân tương ứng: 0
Đèn 3 sáng => điện áp đưa vào hàng 3 = 5V ó bit nhị phân tương ứng: 1
Đèn 4 sáng => điện áp đưa vào hàng 4 = 5V ó bit nhị phân tương ứng: 1
Đèn 5 sáng => điện áp đưa vào hàng 5 = 5V ó bit nhị phân tương ứng: 1
Đèn 6 sáng => điện áp đưa vào hàng 6 = 5V ó bit nhị phân tương ứng: 1
Đèn 7 sáng => điện áp đưa vào hàng 7 = 5V ó bit nhị phân tương ứng: 1
Đèn 8 sáng => điện áp đưa vào hàng 8 = 5V ó bit nhị phân tương ứng: 1
=> chuỗi bit xuất ra 8 chân hàng : 0011 1111 ó 3F trong hệ Hexa
chọn cột 2, đưa điện áp cột 2 về 0, xuất dữ liệu ra các hàng 1,2,3,4,5,6,7,8 như sau:
Đèn 1 tắt => điện áp đưa vào hàng 1 = 0V ó bit nhị phân tương ứng: 0
Đèn 2 tắt => điện áp đưa vào hàng 2 = 0V ó bit nhị phân tương ứng: 0
Đèn 3 tắt => điện áp đưa vào hàng 3 = 0V ó bit nhị phân tương ứng: 0
Đèn 4 sáng => điện áp đưa vào hàng 4 = 5V ó bit nhị phân tương ứng: 1
Đèn 5 tắt => điện áp đưa vào hàng 5 = 0V ó bit nhị phân tương ứng: 0
Đèn 6 tắt => điện áp đưa vào hàng 6 = 0V ó bit nhị phân tương ứng: 0
Đèn 7 tắt => điện áp đưa vào hàng 7 = 0V ó bit nhị phân tương ứng: 0
Đèn 8 tắt => điện áp đưa vào hàng 8 = 0V ó bit nhị phân tương ứng: 0
=> chuỗi bit xuất ra 8 chân hàng: 0001 0000 ó 1F trong hệ Hexa
tiếp tục quét với các cột 3,4,5,6,7,8 tương tự như vậy, sau đó chuyển sang ma trận Led tiếp theo. Với tốc độ quét cột > 24h/s thì hình ảnh sẽ liên tục không bị nhấp nháy.
2. Phân loại Led ma trận
Về kích thước thì hện nay trên thị trường có 2 loại phổ biến là matrix led 5x7 pixels và matrix led 8x8 pixels.
Matrix led 5x7 Matrix led 8x8
Những bảng led kích thước lớn hơn đều được ghép lại từ những modul led có kích thước nhỏ (8x16, 16x16, 16x32….) và những modul led thì lại cấu tạo từ 2 loại ma trận led trên.
Về độ phân giải thì tùy vào ứng dụng cụ thể mà chọn loại P10, P16, P20, …(P16 có nghĩa là khoảng cách điểm LED đến điểm LED là 16 mm)
Về môi trường hoạt động thì có loại indoor (trong nhà) và outdoor (ngoài trời), semi-outdoor (bán ngoài trời). Bảng indoor không sử dụng ngoài trời được vì không đủ độ sáng và không chịu được mưa nắng. Bảng outdoor có độ sáng cao, kết cấu chắc chắn, chịu được mưa nắng. Bảng semi-outdoor (bán ngoài trời) có độ sáng cao, sử dụng tốt ngoài trời nhưng chịu mưa nắng kém nên bảng quảng cáo loại này thường được đặt ở dưới mái hiên nhà.
Về màu sắc có loại 1 màu (red, green, blue), có loại 2 màu, loại 3 màu, với mỗi loại thì sơ đồ sắp xếp chân hàng và cột lại khác nhau.
Loại 1 màu Loại 2 màu
Loại 3 màu
II. Tổng quan về quảng cáo đa năng
Các biển quảng cáo đa năng dùng ma trận led 2D có nội dung thay đổi được một cách dễ dàng linh hoạt thông qua cab usb, wifi, internet…
Nội dung quảng cáo có thể là chữ, hình ảnh, ảnh động hay là đoạn video.
Hiệu ứng dùng cho các biển quảng cáo phải đa dạng, đẹp mắt, gây sự chú ý… như cuộn tròn, chữ chạy với nhiều tốc độ, nháy ….
Màu sắc đa dạng tạo điểm nhấn, tăng tính thẩm mỹ.
Có thể hiển thị nhiều loại Font chữ : tiếng anh, tiếng việt
Có thể tích hợp thêm tính năng audio.
Kích thước biển quảng cáo có thể thay đổi dễ dàng nhờ ghép thêm các modul led.
Trong bài đồ án này chúng em thiết kế bảng quảng cáo có các tính năng : chữ chạy từ phải qua trái với nhiều tốc độ, vì ma trận led phổ biến trên thị trường hiện nay là loại 8x8 2 màu RG nên chúng em quyết định chọn loại này, nội dung quảng cáo thay đổi được qua cab usb, font chữ tiếng anh và tiếng việt.
III. FPGA
Field-programmable gate array (FPGA) là vi mach dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được. (Chữ field ở đây muốn chỉ đến khả năng tái lập trình “bên ngoài” của người sử dụng, không phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy bán dẫn). Vi mạch FPGA được cấu thành từ các bộ phận:
Các khối logic cơ bản lập trình được (logic block)
Hệ thống mạch liên kết lập trình được
Khối vào/ra (IO Pads)
Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý...
FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC, nhưng nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên thư viện logic thì FPGA không đạt đựợc mức độ tối ưu như những loại này, và hạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGA ưu việt hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết kế đơn giản do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng.
Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc mảng phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụ tái lập trình của FPGA thực hiện đơn giản hơn; khả năng lập trình linh động hơn; và khác biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối lượng lớn cổng logic (logic gate), so với các vi mạch bán dẫn lập trình được có trước nó.
Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ mô tả phần cứng HDL như VHDL, Verilog, AHDL, các hãng sản xuất FPGA lớn như Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quá trình thiết kế, cũng có một số các hãng thứ ba cung cấp các gói phần mềm kiểu này như Synopsys, Synplify... Các gói phần mềm này có khả năng thực hiện tất cả các bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL (còn gọi là mã RTL).
Kiến trúc FPGA
Cấu trúc tổng thể của một FPGA được minh họa ở hình sau.
Khối logic FPGA
Phần tử chính của FPGA là các khối logic (logic block). Khối logic được cấu thành từ LUT và một phần tử nhớ đồng bộ flip-flop, LUT (Look up table) là khối logic có thể thực hiện bất kì hàm logic nào từ 4 đầu vào, kêt quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flip-flop.
Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chia thành các nhóm khác nhau, ví dụ trong XC4000 của Xilinx có 3 loại kết nối: ngắn, dài và rất dài. Các đường kết nối được nối với nhau thông qua các khối chuyển mạch lập trình được (programable switch), trong một khối chuyển mạch chứa một số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khác nhau.
Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích hợp thêm khác nhau, ví dụ để thiết kế những ứng dụng SoC, trong dòng Virtex 4,5 của Xilinx có chứa nhân xử lý PowerPC, hay trong Atmel FPSLIC tích hợp nhân ARV…, hay cho những ứng dụng xử lý tín hiệu số DSP trong FPGA được tích hợp các DSP Slide là bộ nhân cộng tốc độ cao, thực hiện hàm A*B+C, ví dụ dòng Virtex của Xilinx chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18-bit.
IV. Tổng quan ngôn ngữ VHDL
Ngôn ngữ VHDL được cung cấp để hổ trợ phát triển các hệ thống phần cứng dựa trên các loại mạch (chip) tích hợp tốc độ cao (VHSIC-Very High Speed Integrated Circuit). Việc sử dụng các loại chíp kiểu này đã thay thế dần các IC logic mà thường được sử dụng trong việc thiết kế mạch số, đem lại nhiều lợi ích và thuần tiện trong việc phát triển các hệ thống số mà phương thức thiết mạch số truyền thống khó hoặc không thể thực hiện được.
VHDL không phải là 1 ngôn ngữ lập trình tuy vậy nó cung được hỗ trợ các cấu trúc, cú pháp như giống như những ngôn ngữ lập trình thông dụng như C hay Basic. Do vậy VHDL sẽ phải lược bỏ đi những phần không thích hợp khi áp dụng cho việc thiết kế 1 phần cứng chứ không phải 1 phần mềm. VHDL là ngôn ngữ miêu tả phần cứng khá thông dụng có thể tương thích với nhiều môi trương ( công cụ) phát triển cho chip của nhiều hãng sản xuất chip khác nhau.
Sử dụng VHDL để miêu tả phần cứng tức là chỉ rõ cách thức giao tiếp của mạch cứng với các mạch bên ngoài và hoạt động, cấu trúc bên trong của mạch để nó có thể đáp ứng và xử lý các tín hiệu khi lắp ghép nó vào 1 hệ thống . Cách thức giao tiếp bao gồm việc thống kê số lượng các chân giao tiếp với mạch bên ngoài và định dạng cho chúng là chân nhập hay là xuất tín hiệu.
Sự miêu tả ở đây có các mức như miêu tả cấu trúc (Structural) và miêu tả cách thức, đặc tính (behavioral)
Miêu tả cấu trúc hệ thống tức là miêu tả hệ thống thông qua tập hợp các cổng logic cơ bản hoặc các thành phần được hỗ trợ và cách thức kết nối giũa các thành phần đó với nhau. Hình thức miêu tả này đã được sử dụng nhiều trong các công cụ thiết kế phần cứng truyền thống. còn đối với ngôn ngữ VHDL thì việc sử dụng cách thức miêu tả này thông qua các toán tử logic (AND, OR,..) tương ứng với các thành phần logíc cơ bản kết hợp các toán tử này để hình thành lên cấu trúc số.
Hình thức miêu tả cao nhất là behavioral. Hình thức này sẽ chỉ cách thức xử lý tín hiệu khi nó đi qua hệ thống. Mô tả behavioral được chia thành 2 hình thức miêu tả đó là dataflow và Algorithmic. Người thiết kế có thể kết hợp các hình thức miêu tả này với nhau trong file thiết kế của mình.
Cấu trúc của 1 file thiết kế dữa trên ngôn ngữ VHDL thông thường bao gồm 3 phần
-phần khai báo các thư viện sử dụng trong thiết kế.
-phần khai báo đối tượng thiết kế .
-phần mô tả cấu trúc của đối tượng.
Trên 1 bản thiết kê có thể có nhiều đối tượng thiết kế được lặp ghép với nhau. Mỗi đối tượng (entity) có thể hiểu như là 1 module mạch hay 1 tổ hợp logic. Các chân giao tiếp của đối tượng phải được định nghĩa trong phần khai báo đối tượng.
Trong phần mô tả cấu trúc của đối tượng thì người thiết kế sẽ sử dụng các mức mô tả đã đề cập phía trên để mô tả cấu trúc bên trong hay cách thức xử lý tín hiệu của đối tượng thiết kế.
Trong khuôn khổ của đồ án chúng em không đi sâu về cú pháp hay kỹ thuật lập trình của ngôn ngữ VHDL mà chỉ trình bày một cách tổng quan về cách thức sử dụng ngôn ngữ miêu tả trong thiết kế phần cứng có sử dụng các vi mạch tổ hợp.
CHƯƠNG III: THIẾT KẾ HỆ THỐNG SỬ DỤNG PHẦN MỀM XILINX ISE
I. Tổng quan phần mền Xilinx ISE
Xilinx ISE (Integrated Software Environment) là một bộ phần mềm thiết kế của hãng Xilinx, cho phép ta thực hiện các hệ thống nhúng của Xilinx từ khâu thiết kế ban đầu (thông qua VHDL, Verilog HDL, ABEL hoặc là vẽ Schematic) cho đến khâu cuối cùng là nạp thiết kế của mình lên FPGA. Để bắt đầu một thiết kế, ta phải tạo một project mới trong ISE thông qua công cụ quản lý ISE Project Navigator. Sau đó ISE Project Navigator sẽ quản lý tất cả các quá trình thiết kế trong trong project đó.
Quy trình thiết kết trong ISE bao gồm các quá trình sau : Design Entry -> Synthesis -> Implementation -> Verification -> Device Configuration.
* Design Entry : Đây là bước đầu tiên trong quá trình thiết kế của ISE. Trong suốt quá trình design entry, ta sẽ thiết kế những file nguồn (Source File) theo những yêu cầu ban đầu (những mô tả chức năng của hệ thống mà ta cần phải thiết kế). Ở bước này, ta sẽ dùng những ngôn ngữ mô tả phần cứng như : VHDL, Verilog HDL, Abel hoặc dạng Schematic để thiết kế . Chúng ta có thể dùng nhiều ngôn ngữ khác nhau trong cùng một thiết kế. Ví dụ như : thiết kế các module chức năng bằng Verilog HDL, sau đó dùng dạng schematic (sơ đồ khối) để thiết kế hệ thống chính.
* Synthesis : Sau khi thiết kế hệ thống và thực hiện những mô phỏng để kiểm tra chức năng logic của hệ thống, chúng ta phải chạy synthesis để chuyển đổi những file nguồn được viết bằng VHDL,Verilog HDL, … thành file netlist. Những file netlist này cần thiết để đưa vào quá trình Implementation.
* Implementation : Quá trình này sẽ chuyển đổi thiết kế ở mức logic thành các file định dạng vật lý để có thể download xuống FPGA. Sau khi chạy Synthesis, chúng ta sẽ có những file netlist, quá trình Implementation sẽ chuyển đổi những file netlist đó thành những file cấu hình vật lý cụ thể dựa vào linh kiện FPGA cụ thể mà ta đang sử dụng, do đó quá trình này đòi hỏi chúng ta phải chỉ rõ linh kiện FPGA nào đang được sử dụng.
* Verification: Sau khi chạy bước Implementation, chúng ta sẽ có thể mô phỏng thiết kế của mình một cách chính xác hơn. Vì quá trình mô phỏng ở bước Design Entry chỉ có thể mô phỏng chức năng của mạch chứ nó chưa thể mô phỏng thời gian (timing), timing tùy thuộc vào linh kiện vật lý cụ thể .
* Device Configuration: Đây là bước cuối cùng trong suốt quá trình thiết kế . Ở bước này các file định dạng cấu hình sẽ được dùng để tạo ra những file bitstream để nạp xuống chip FPGA .
II. SƠ ĐỒ KHỐI HỆ THỐNG
ROW
MATRIX LED 8X8 RG
G
R
ULN2803
74HC595
1. Kit spactan3
1.1. Các thành phần của kit:
1. Xilinx XC3S500E Spartan-3E FPGA
2. Xilinx 4 Mbit Platform Flash configuration PROM
3. Xilinx 64-macrocell XC2C64A CoolRunner CPLD
4. 64 MByte (512 Mbit) of DDR SDRAM, x16 data interface, 100+ MHz
5. 16 MByte (128 Mbit) of parallel NOR Flash (Intel StrataFlash)
6. 16 Mbits of SPI serial Flash (STMicro)
7. 2-line, 16-character LCD screen
8. PS/2 mouse or keyboard port
9. VGA display port
10. 10/100 Ethernet PHY (requires Ethernet MAC in FPGA)
11. Two 9-pin RS-232 ports (DTE- and DCE-style)
12. On-board USB-based FPGA/CPLD download/debug interface
13. 50 MHz clock oscillator
14. SHA-1 1-wire serial EEPROM for bitstream copy protection
15. Hirose FX2 expansion connector
16. Three Digilent 6-pin expansion connectors
17. Four-output, SPI-based Digital-to-Analog Converter (DAC)
18. Two-input, SPI-based Analog-to-Digital Converter (ADC) with programmable- gain
19. pre-amplifier
20. ChipScope™ SoftTouch debugging port
21. Rotary-encoder with push-button shaft
22. Eight discrete LEDs
23. Four slide switches
1.2. Sơ đồ chân XC3S500E
XC3S500E có kiểu chân BGA, 320 chân như hình:
Cách đánh số chân: Vị trí của 1 chân được xác định theo qui tắc ma trận 2 chiều. Chiều ngang (dòng) là số từ 0 tới 18. Chiều dọc (cột) là chữ từ A tới V. Ví dụ: chân A1, là chân ở dòng A, cột 1. Đây là chân GND của FPGA. Tài nguyên: 10000 logic cells, có 232 chân I/O cho người dùng tự định nghĩa.
1.3. Bộ tạo dao động trên kit
Có 3 nguồn cấp xung clk cho FPGA:
Dùng thạch anh có sẵn 50 MHz trên board.
Ngõ ra của thạch anh nối với chân C9 của chip.
2. Cấp xung clk thông qua chân cắm 8 pin trên board (hình 3.1)
Ngõ ra của thạch anh nối với chân B8 của chip.
3. Cấp Cấp xung clk thông qua chân cắm SMA, chân cắm này chỉ nhận clk từ máy phát clk, k