1. Trang chủ
  2. » Tất cả

Giáo trình thực hành thiết kế vi mạch số với vhdl

450 51 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo trình thực hành thiết kế vi mạch số với VHDL
Tác giả ThS Nguyễn Đình Phú, ThS Trương Thị Bích Ngà
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật điện tử, kỹ thuật máy tính
Thể loại Giáo trình
Năm xuất bản 2017
Thành phố Hồ Chí Minh
Định dạng
Số trang 450
Dung lượng 11,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: HƯỚNG DẪN SỬ DỤNG KIT FPGA XILINX (28)
    • 1.1 GIỚI THIỆU BỘ KIT FPGA - XILINX (28)
    • 1.2 KHẢO SÁT CÁC THÀNH PHẦN CƠ BẢN CỦA KIT (30)
      • 1.2.1 NGUỒN CUNG CẤP (30)
      • 1.2.2 CÁC SWITCH GẠT – SLICE SWITCH (30)
      • 1.2.3 CÁC NÚT NHẤN – PUSH BUTTON (31)
      • 1.2.4 CÁC LED ĐƠN (33)
      • 1.2.5 CÁC LED BẢY ĐOẠN (34)
      • 1.2.6 LED MA TRẬN 8×8 (36)
      • 1.2.7 LCD 16x2 (39)
      • 1.2.8 BUZZER – CẢM BIẾN NHIỆT 1 DÂY DS18B20 – LED THU HỒNG NGOẠI (40)
      • 1.2.9 GIAO TIẾP CÔNG SUẤT ULN2003 (40)
      • 1.2.10 GIAO TIẾP IC THỜI GIAN THỰC DS1302 (41)
      • 1.2.12 GIAO TIẾP IC DAC 0832 (43)
      • 1.2.13 GIAO TIẾP VỚI IC MAX232 CHUẨN RS232 (44)
      • 1.2.14 GIAO TIẾP CHUẨN PS/2 (44)
      • 1.2.15 GIAO TIẾP SD CARD (45)
      • 1.2.16 GIAO TIẾP VGA (46)
      • 1.2.17 XUNG CLOCK (47)
      • 1.2.18 GIAO TIẾP SRAM IS61 LV 25616 (47)
      • 1.2.19 GIAO TIẾP SDRAM IS4 2S1 6400/HY57V1620 (49)

Nội dung

ThS NGUYỄN ĐÌNH PHÚ ThS TRƯƠNG THỊ BÍCH NGÀ GIÁO TRÌNH THỰC HÀNH THIẾT KẾ VI MẠCH SỐ VỚI VHDL ThS NGUYỄN ĐÌNH PHÚ ThS TRƯƠNG THỊ BÍCH NGÀ GIÁO TRÌNH THỰC HÀNH THIẾT KẾ VI MẠCH SỐ VỚI VHDL NHÀ XUẤT BẢN[.]

HƯỚNG DẪN SỬ DỤNG KIT FPGA XILINX

GIỚI THIỆU BỘ KIT FPGA - XILINX

Kit FPGA có nhiều dạng khác nhau, sử dụng nhiều loại chip của các hãng khác nhau nhưng hiện tại có 2 loại chip phổ biến nhất là của hãng Xilinx và Altera

Các nhà thiết kế kit sử dụng chip FPGA kết nối thêm các ngoại vi để tạo thành kit nhằm phục vụ cho việc nghiên cứu và thực hành

Chương này sẽ trình bày cấu hình kit thực hành FPGA nhằm giúp cho người thực hành nắm bắt, hiểu biết được kết nối của phần cứng để lập trình thực nghiệm cho chính xác

Kit thực hành dùng chip FPGA XILINX như hình 1-1

Hình 1-1 Kit dùng chip – FPGA XILINX – XC3S500E – PQ208

Kit có cấu hình gồm:

FPGA dùng chip FPGA XILINX – XC3S500E – PQ208

- Hỗ trợ lên đến 158 chân I/O

- Cấu hình chip có thể xem datasheet để biết chi tiết

Các giao tiếp giữa FPGA và các thiết bị ngoại vi như hình 1-2:

 Có cổng giao tiếp VGA 8 bit

 Có mạch dao động 50MHz

 Có 1 cảm biến nhiệt 1 dây DS18B20

 Có giao tiếp UART, VGA, PS2

 Có đồng hồ thời gian thực

 Có bộ nhớ EEPROM giao tiếp theo chuẩn I2C

 Có giao tiếp mạch công suất ULN2003 để điều khiển động cơ bước

 Có giao tiếp 1 màn hình LCD16x2

 Có giao tiếp màn hình GLCD 128x64

 Có giao tiếp bộ nhớ SRAM và SDRAM

(GẠT LÊN MỨC 0, GẠT XUỐNG

GIAO TIẾP UART, VGA, PS2

GIAO TIẾP BUZZER, CÔNG SUẤT UL2003

Hình 1-2 Giao tiếp FPGA với các ngoại vi

KHẢO SÁT CÁC THÀNH PHẦN CƠ BẢN CỦA KIT

Nguồn cung cấp cho Kit là 5V

1.2.2 CÁC SWITCH GẠT – SLICE SWITCH

Kit có 8 Switch gạt từ SW7 đến SW0, các SW nối với các IO được trình bày ở bảng 1-1

Sơ đồ kết nối của các switch với FPGA như hình 1-3

Switch có 3 chân: chân thứ nhất nối lên nguồn Vcc (3,3V) qua điện trở hạn dòng 4.7kΩ, chân thứ 2 (là chân giữa) nối với port IO của FPGA và thường là port vào, chân thứ 3 nối mass – 0V

Hoạt động của các SW gạt như sau:

 Khi switch ở vị trí 3 hay nối chân thứ 2 với chân thứ 3 là 0V thì có nghĩa là nối chân FPGA với 0V – tạo ra mức 0

 Khi switch ở vị trí 1 hay nối chân thứ 2 với chân thứ 1 Vcc thì có nghĩa là nối chân FPGA với nguồn 3,3V – tạo ra mức 1

Hình 1-3 Sơ đồ mạch giao tiếp với các switch

1.2.3 CÁC NÚT NHẤN – PUSH BUTTON

Kit có 5 nút nhấn với các tên từ BTN_N0 đến BTN_N4, nối với các IO được trình bày trong ở bảng 1-2

Sơ đồ kết nối của các nút nhấn với FPGA như hình 1-4

Chân thứ 2 nối lên nguồn Vcc (3,3V) qua điện trở hạn dòng 4.7kΩ đồng thời nối đến port vào của FPGA

Hình 1-4 Sơ đồ mạch giao tiếp với các nút nhấn

Hoạt động của các BTN như sau:

 Khi không nhấn thì nối chân của FPGA với 3.3V – tạo ra mức 1

 Khi nhấn thì nối chân của FPGA với 0V – tạo ra mức 0

Kit có 8 led LD0 đến LD7, các led nối với các IO được trình bày ở bảng 1-3

Sơ đồ kết nối của các led đơn với FPGA như hình 1-5

Led có 2 chân: chân anode thứ nhất nối lên nguồn Vcc (3,3V), chân cathode nối với điện trở hạn dòng 1kΩ và sau đó nối vào port IO của FPGA

Hình 1-5 Sơ đồ mạch giao tiếp với các led đơn

Hoạt động của các led như sau:

 Mức 1 làm led tắt – mức 0 làm led sáng

 Khi sử dụng thì phải đảo giá trị trước khi gán cho ngõ ra

Chú ý: Led sáng tích cực mức 0 ngược với các yêu cầu nên thường đảo các ngõ ra của các thiết kế rồi sau đó gán cho led

Kit có 8 led 7 đoạn loại anode kết nối theo phương pháp quét Các đoạn a, b, c, d, e, f, g, dp nối với các điện trở hạng dòng rồi nối với tín hiệu được đặt tên là SSGE (Seven Segments) và các Anode của 8 led nối với 8 transistor và nối với các IO của FPGA và được đặt tên là ANODE0 đến ANODE7 tương ứng như bảng 1-4

B ả ng 1-4 Các đoạn và các anode của 8 led 7 đoạn

CÁC ĐOẠN CHÂN CÁC ANODE CHUNG CHÂN

Sơ đồ kết nối của 8 led 7 đoạn anode chung với FPGA như hình 1-6 Hoạt động của 8 led 7 đoạn như sau:

 Cách thức điều khiển thì tiến hành xuất dữ liệu ra các đoạn và cho 1 transistor dẫn, sau đó thực hiện cho led tiếp theo và cho đến led cuối cùng rồi quay lại Chu kỳ quét cho 8 led nằm trong phạm vi từ 1ms đến 8ms

Hình 1-6 Sơ đồ mạch giao tiếp với 8 led 7 đoạn anode chung

Led sử dụng là led anode chung: mức 0 thì led sáng, 1 thì led tắt nên mã 7 đoạn của các số là:

Số hex dp g f e d c b a Mã số hex

Kit có 1 led ma trận 8×8 bao gồm 8 hàng và 8 cột, có dùng transistor khuếch đại dòng Các IO của FPGA kết nối với led ma trận 8×8 như bảng 1-6

B ả ng 1-6 Bảng IO kết nối led ma trận CÁC CỘT CHÂN CÁC HÀNG CHÂN

Cách tìm mã kí tự dựa vào bảng theo sau

B ả ng 1-7 Mã kí tự của A

B ả ng 1-8 Mã của tất cả các kí tự

TT Kí tự Mã ma trận

Sơ đồ kết nối của 8 led 7 đoạn anode chung với FPGA như hình 1-7

Led ma trận 8x8 thì có 8 hàng và 8 cột, 8 hàng thì kết nối với 8 IO của FPGA, 8 cột thì kết nối điều khiển thông qua 8 transistor để điều khiển quét cho từng cột

Các tín hiệu điều khiển dùng chung với quét 8 led 7 đoạn

Hoạt động của led ma trận 8x8 như sau:

 Gởi dữ liệu thứ 0 ra hàng, gởi mã quét ra 8 cột để cho cột thứ 0 dẫn, sau 1 khoảng thời gian thì gởi mã tắt cột đã mở

 Tiếp tục công việc cho dữ liệu và mã quét cột tiếp theo cho đến hết thì lặp lại

Chú ý: Dữ liệu điều khiển thực tế thì phải đảo cả hàng và cột

Hình 1-7 Sơ đồ mạch giao tiếp với 1 led ma trận 8x8

Kit có thiết kế giao tiếp với LCD, ta có thể gắn LCD 16×2 hoặc 20×4

Các IO của FPGA kết nối với LCD như bảng 1-9

B ả ng 1-9 Bảng IO kết nối LCD CÁC CỘT CHÂN

LCD_ D6 P98 LCD_ D5 P50 LCD_ D4 P48 LCD_ D3 P64 LCD_ D2 P62 LCD_ D1 P40 LCD_ D0 P49

1.2.8 BUZZER – CẢM BIẾN NHIỆT 1 DÂY DS18B20 – LED THU

Kit có thiết kế giao tiếp với 1 buzzer, 1 cảm biến nhiệt 1 dây DS18B20, 1 led thu hồng ngoại để nhận tín hiệu từ remote

B ả ng 1-10 Bảng tên các tín hiệu nối với các cảm biến

Khi sử dụng đối tượng nào thì bạn dùng dây nối đối tượng đó với ngõ IO là OUT8 Ví dụ muốn dùng cảm biến DS18B20 thì nối chân DS18B20 với OUT8

1.2.9 GIAO TIẾP CÔNG SUẤT ULN2003

Kit có thiết kế giao tiếp với 1 IC công suất ULN2003 dùng 4 cổng Not để đệm tín hiệu IO của FPGA để có thể điều khiển đối tượng công

B ả ng 1-11 Bảng tên các tín hiệu của IC giao tiếp ULN2003

TÊN TÍN HIỆU VÀO TÊN TÍN HIỆU VÀO

Khi sử dụng điều khiển thì phải dùng dây nối

Sơ đồ kết nối của IC đệm ULN2003 như hình 1-8

Hình 1-8 Sơ đồ mạch công suất của IC ULN 2003

1.2.10 GIAO TIẾP IC THỜI GIAN THỰC DS1302

Kit có thiết kế giao tiếp với 1 IC thời gian thực DS1302 giao tiếp nối tiếp đồng bộ (không phải giao tiếp I2C)

B ả ng 1-12 Bảng tên các tín hiệu giao tiếp DS1302

Sơ đồ kết nối của IC thời gian thực DS1302 như hình 1-9

Hình 1-9 Sơ đồ mạch IC thời gian thực với FPGA

1.2.11 GIAO TIẾP IC NHỚ EEPROM AT24C04 THEO CHUẨN I2C

Kit có thiết kế giao tiếp với 1 IC EEPROM AT24C04 giao tiếp nối tiếp đồng bộ theo chuẩn I2C

B ả ng 1-13 Bảng tên các tín hiệu Eeprom AT24C04

Sơ đồ kết nối của IC nhớ nối tiếp EEPROM AT24C04 như hình 1-

Kit có thiết kế giao tiếp với 1 IC DAC 0832 giao tiếp song song Khi sử dụng thì kết nối Ngõ ra thì điều khiển led Sơ đồ kết nối của IC DAC 0832 như hình 1-11

B ả ng 1-14 Bảng tên các tín hiệu DAC 0832

Hình 1-11 Sơ đồ mạch IC DAC 0832

1.2.13 GIAO TIẾP VỚI IC MAX232 CHUẨN RS232

Kit có thiết kế giao tiếp với 1 IC MAX232 chuyển đổi để giao tiếp theo chuẩn RS232

Sơ đồ kết nối của IC MAX 232 như hình 1-12

Hình 1-12 Sơ đồ mạch IC Max 232 với FPGA

B ả ng 1-15 Bảng tên các tín hiệu giao tiếp IC chuẩn RS232

Kit có thiết kế giao tiếp chuẩn PS/2

Sơ đồ kết nối của cổng PS2 như hình 1-13

Hình 1-13 Sơ đồ mạch chuẩn PS2 với FPGA

B ả ng 1-16 Bảng tên các tín hiệu chuẩn PS/2

Kit có thiết kế giao tiếp SD card

Sơ đồ kết nối của SD card như hình 1-14

Hình 1-14 Sơ đồ mạch kết nối SD card với FPGA

B ả ng 1-17 Bảng tên các tín hiệu SD card

SD_CS SD_DO SD_DI SD_CK

Kit có thiết kế giao tiếp VGA

Sơ đồ kết nối của cổng VGA như hình 1-15

Hình 1-15 Sơ đồ mạch kết nối cổng VGA với FPGA

B ả ng 1-18 Bảng tên các tín hiệu VGA TÊN TÍN HIỆU CHÂN

Tên và vị trí: Kit hỗ trợ nguồn xung clock

 Nguồn xung clock 50Mhz nối với chân PIN_183

Sơ đồ kết nối của mạch dao động như hình 1-16

Hình 1-16 Sơ đồ mạch kết nối mạch dao động với FPGA

1.2.18 GIAO TIẾP SRAM IS61 LV 25616

Kit có thiết kế giao tiếp SRAM LV25616 có dung lượng 256K word (16 bit)

Sơ đồ kết nối của bộ nhớ SRAM như hình 1-17

B ả ng 1-19 Bảng tên các tín hiệu SRAM LV25616 ĐỊA

LIỆU CHÂN TÍN HIỆU ĐIỀU

Hình 1-17 Sơ đồ mạch kết nối bộ nhớ SRAM với FPGA

1.2.19 GIAO TIẾP SDRAM IS4 2S1 6400/HY57V1620

Kit có thiết kế giao tiếp SDRAM IS4 6400 HY57V1620

Sơ đồ kết nối của bộ nhớ SDRAM như hình 1-18

B ả ng 1-20 Bảng tên các tín hiệu SDRAM IS4 6400 ĐỊA

LIỆU CHÂN TÍN HIỆU ĐIỀU

Hình 1-18 Sơ đồ mạch kết nối bộ nhớ SDRAM với FPGA

Chương 2 HƯỚNG DẪN SỬ DỤNG ISE DESIGN SUITE 14.2

2.1 KHỞI ĐỘNG XILINX ISE DESIGN SUITE

Do có nhiều nhóm thực tập nên mỗi nhóm cần tạo 1 thư mục ở ổ đĩa D hoặc E, đặt tên theo buổi học, theo thứ, theo nhóm để lưu file

Ví dụ: “E:\TTTKVMS_SANG_THU2_NHOM_X” – với X là thứ tự của nhóm

Nhấp đúp vào biểu tượng của chương trình Xilinx ISE Design Suite trên màn hình Windows để bắt đầu lập trình

Hình 2-1 Biểu tượng chương trình Xilinx ISE Design Suite 14.2

Màn hình sau khi khởi động xong như hình 2-2:

Hình 2-2 Giao diện của chương trình ISE

Hãy nhấn nút “OK” để thóat khỏi menu “Tip of the Day” nếu có Cột bên trái sẽ hiển thị các thông tin của file soạn thảo của chương trình trước

2.2 SOẠN THẢO CHƯƠNG TRÌNH ISE WEBPACK Để soạn thảo chương trình mới hãy chọn “New Project” xem như hình 2-3:

Sau khi chọn “New Project …” thì màn hình xuất hiện như hình 2-4:

Hình 2-4 Menu để nhập tên thư mục cho Project

Hãy bấm chuột vào ô 3 dấu chấm ở mục “Location” (vị trí 1) để chỉ đến thư mục mà bạn đã tạo Trong bài này thư mục được chọn là TTTKVMS_SANG_THU2_NHOM_X nằm ở đĩa E Từ bài thứ 2 trở đi thì phần mềm nhớ luôn thư mục này, bạn phải để ý đến mục này để lưu cho đúng thư mục vì có nhiều nhóm thực tập trên cùng 1 máy hoặc do máy đóng băng nên khi khởi động lại sẽ không nhớ đường dẫn này

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

Người lập trình hãy nhập vào ô “Name” tên của Project (vị trí 2) Khi đặt tên cho Project thì nên đặt tên gần với yêu cầu của bài lập trình

Ví dụ ta lập trình bài cổng AND thì ta đặt tên như hình 2-5:

Hình 2-5 Nhập tên thư mục cho Project là “BAI_VD_001_CONGAND”

Sau khi nhập tên xong bạn nhấn nút “Next” thì menu mới xuất hiện như hình 2-6:

Hình 2-6 Menu dùng để chọn các thông số của Project

Các thông tin trong hình 2-6 đã được hiệu chỉnh cho kit dùng chip FPGA Spartan3E – mã số là XC3S500E với kiểu vỏ là PQ208

Nếu chưa đúng thì bạn phải hiệu chỉnh lại cho đúng bằng cách bấm vào mũi tên bên phải và lựa chọn cho phù hợp

Nhấn nút “Next” thì có 1 cửa sổ xuất hiện thông báo các thông tin của Project mà bạn đang thực hiện Tiếp tục nhấn nút “Finish” thì màn hình xuất hiện như hình 2-7

Hình 2-7 Màn hình sau khi khai báo xong tên và chọn chip FPGA

Tiếp theo thì tạo file nguồn cho Project bằng cách bấm chuột vào ô nằm bên dưới chữ “Design” xác định như trong hình 2-8:

Sau khi bấm vào biểu tượng để chọn file mới thì màn hình sau sẽ xuất hiện:

Hình 2-9 Màn hình chọn kiểu lập trình và đặt tên cho file nguồn mới

Trong màn hình trên ta tiến hành theo thứ tự các bước 1, 2, 3 Bước

1 thì chọn kiểu lập trình là “VHDL Module” Bước 2 tiến hành nhập tên

“CONGAND” trong ô “File name” Bước 3 nếu đúng tên đường dẫn thì giữ nguyên, nếu sai thì hiệu chỉnh cho đúng

Tiếp tục nhấn “Next” thì màn hình sau xuất hiện:

Hình 2-10 Màn hình thiết lập các tín hiệu vào ra

Hình 2-11 Màn hình xuất hiện 2 tag

Trong hình trên đã tiến hành khai báo tín hiệu vào cổng AND là A và B: tiến hành trỏ chuột vào và đánh A, B (có khoảng cách hoặc không có đều được), đánh Y vào hàng thứ 2, chọn chiều (Direction) cho Y là out

Tiến hành nhấn “Next” và “Finish” cho đến khi xuất hiện màn hình soạn thảo như hình sau:

Trong hình trên hiển thị từ hàng thứ 20 đến hành thứ 39 Có 2 tag: một cho file nguồn là CONGAND.vhd và một cho phần tóm tắt Project

Màn hình chứa các hàng lệnh khai báo các tín hiệu vào ra còn kiến trúc chương trình chưa có gì như hình sau:

Hình 2-12 Màn hình file nguồn chưa có lệnh Đến đây bạn bắt đầu tiến hành nhập các mã lệnh vào trong thân chương trình theo yêu cầu của Project Với bài cổng AND có 2 ngõ vào thì các lệnh nhập vào trong thân chương trình và kết quả cuối cùng như hình 2-13

Hình 2-13 Màn hình file nguồn sau khi nhập các lệnh Đối với chương trình đơn giản của bài này thì bạn hãy nhập 1 lệnh duy nhất

Hãy lưu chương trình và tiến hành tổng hợp xem cú pháp lệnh có đúng hay không bằng cách bấm đúp chuột vào mục “Synthesize - XST” trong cửa sổ “Processes: CONGAND - Behavioral” như hình 2-14:

Hình 2-14 Chọn chức năng tổng hợp chương trình

Thời gian kiểm tra tùy thuộc vào chương trình dài hay ngắn, phụ thuộc vào tốc độ làm việc của máy tính, trong quá trình đang kiểm tra thì

ISE có hiển thị ô tròn nhấp nháy

Sau khi tổng hợp xong thì phần mềm sẽ cho biết kết quả tốt bằng cách hiển thị dấu tick màu xanh ở vị trí hàng “Synthesize - XST” nếu bạn viết đúng cú pháp – xem hình 2-15

Hình 2-15 Kết quả tổng hợp thành công

Nếu chương trình viết sai cú pháp thì sẽ đánh dấu chéo màu đỏ vào mục “Synthesize - XST” và có thông báo lỗi chương của từng lệnh 1 như hình 2-16

Trong chương trình trên bị mất dấu “;” ở hàng lệnh số 38, kết quả biên dịch cho hay chương trình viết chưa đúng hiển thị dấu chéo màu đỏ ở mục “Synthesize - XST” số thứ tự 1

Ngày đăng: 22/11/2022, 23:15

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w