Tải bản đầy đủ (.doc) (35 trang)

Nghiên cứu vi mạch FPGA và các chức năng của spartan 3e

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.03 MB, 35 trang )

TÌM HIỂU KIT STARTER SPARTAN 3E
NỘI DUNG TÌM HIỂU: tổng quan về vi mạch FPGA và các khối chức năng
của kit Strater Spartan 3E.

CHƯƠNG 1:FPGA- Linh kiện logic khả trình:
1.1. Tổng quát:
-

Trước đây phần lớn các linh kiện điện tử là cố định, không lập trình

được.
-

Các loại linh kiện khả trình đơn giản như: EPROM, EEPROM, Flash,

ROM, PLD.
- Để thuận tiện cho việc thử nghiệm, tạo mẫu, phát triển ứng dụng, sản
xuất ở quy mô nhỏ, người ta chế tạo ra các linh kiện logic khả trình. Đây là
những linh kiện số có thể lập trình lại cho những mục đích khác nhau.
Có hai loại linh kiện logic khả trình chính: CPLD ( Complex
programmable Logic Devices) và FPGA (Field Programmable Gate Array).
- Các hãng sản xuất FPGA/ CPLD: Xilinx, Atera, Atmel, QuickLogic,
Actel…

1.2. Khái niệm FPGA:
-

FPGA là vi mạch chứa các logic cells. Các Logic cells thực hiện các

mạch Logic và được kết nối với nhaubowir ma trận kết nối và chuyển mạch lập
trình được.


- FPGA là tập hợp các phần tử rời rạc được kết nối theo một cách chung.

1.3. Các bước thực hiện thiết kế cho FPGA:
- Thiết kế hệ thống và tạo file HDL
- Tiến hành thử nghiệm trong HDL và biểu diễn mô phỏng trên RTL.
- Tổng hợp và biên dịch. Quá trình tổng hợp có nhiệm vụ chuyển các câu
lệnh HDL thành các mức trên linh kiện. Quá trình biên dịch sẽ chuyển các lệnh
HDL thành tín hiệu vật lý trong chip FPGA.
- Tạo và tải file chương trình. Quá trình này sẽ tạo file netlist. File này
được tải vào linh kiện FPGA tuần tự va nó sẽ điều khiển mạch logic và các
công tắc.

Trang 1


CHƯƠNG 2: Định tuyến và định vị cho FPGAs:
2.1. Định tuyến:
Đây là một trong những bước cơ bản và quan trọng nhất khi thiết kế
FPGA,và là bước cuối trong giai đoạn thiết kế để tạo chuỗi bít cho chương
trình.

2.2. Thế hệ bảng định tuyến nguồn:
- Bảng định tuyến nguồn được tao ra để sử dung, gồm hai loại: định tuyến
toàn cục và định tuyến cục bộ.
- Các hệ thống FPGA hiện đại có số lượng bảng định tuyến rất lớn với
hàng triệu khối logic.
- Trong nhiều trường hợp người ta cần tạo các công cụ định vị và định
tuyến cho FPGA. Việc này đảm bảo an toàn khi thay đổi hay thiết lập các
thông số trước khi chúng ta hoàn thiện kiến trúc FPGA.
- Quá trình thiết lập thông số cần thiết cho việc định tuyến gồm các bước

chính sau:
• Đánh số chân các khối logic ngõ vào và ngõ ra.
• Đạt các khối logic ngõ vào và ngõ ra ở trạng thái cho phép hiệu chỉnh










và sử dụng.
Tương đương hóa các khối logic.
Đánh dấu I/O để điền vào một hàng hoặc cột của FPGA.
Lập quan hệ về chiều rộng giữa các kênh ngang và kênh dọc.
Lập quan hệ về chiều rộng giữa các vùng khác nhau trong FPGA.
Chuyển khối để kết nối các vùng định tuyến lớn
Thiết lập giá trị FC chỉ giá trị các vùng định tuyến trong một kênh.
Đây có thể là số chân ngõ vào và ngõ ra được kết nối.
Định loại và phân phói các gói theo một tieu chuẩn nhất đinh.
Chúng ta cần định chiều dài mỗi gói, số khóa trong mỗi gói cung như
phân loại kiểu gói.

2.2.1.

Định tuyến toàn cục:

- Định tuyến toàn cục chia các vùng định tuyến đang hoạt động thành

các kênh hay các khu vực định tuyến.
- Trong định tuyến toàn cục, bảng định tuyến chỉ ra mục đã định
trước để đơn giản hóa quá trình chọn kênh định tuyến

Trang 2


Sau đây là một ví dụ về bảng định tuyến nguồn:

LUT: Look- Up Table
- Thực tế thì vấn đề định tuyến toàn cục FPGA khá giống với chuẩn
thiết kế cells (hay MPGA- Metal Programmable Gate Array). Vì vậy nhiều
kỹ thuật định tuyến toàn cục ASIC có thể sủ dụng cho định tuyến toàn cục
FPGA.
2.2.2.

Định tuyến cục bộ:

- Chọn định tuyến cục bộ theo chi phí thấp nhất.
- Loại bỏ các định tuyến cục bộ khác trong cùng khu vực.
- Loại các định tuyến không tương thích với định tuyến vừa chọn cho
đến khi tất cả các định tuyến toàn cục được hoàn thiện kết nối bởi các
định tuyến cục bộ.

Trang 3


CHƯƠNG 3:Các khối chức năng chính của kit Spartan 3E:
3.1. Các công tắc, nút nhấn, phím điều khiển:
Các công tắc trượt:

- KIT Spartan 3E có 4 công tắc trượt, như hình sau.

- Các công tắc này được bố trí ở góc phải, bên dưới của board. Chúng
được kí hiệu là SW3, SW2, SW1 SW0 theo thứ tự từ trái sang phải.
- Khi ở vị trí UP hay ON, công tắc này sẽ kết nối với chân 3,3V của
FPGA. Đây là mức logic cao.
- Khi ở vị trí DOWN hay OFF, công tắc này sẽ kết nối với chân mass
của FPGA. Đây là mức logic thấp.

Trang 4


Công

tắc

nút

nhấn:

- KIT này cũng có 4 công tắc nút nhấn. Cúng được bố trí ở góc dưới bên
trái của board, được kí hiệu lần lượt là: BTN_NORTH, BTN_SOUTH,
BTN_EAST, BTN_WEST.
- Khi nhấn và giữ, nút nhấn sẽ được nối đến chân 3,3V của FPGA.
- Trong một số ứng dụng, BTN_SOUTH cũng là một reset mềm để chọn
chức năng reset cho FPGA.
Công tắc nút xoay:
- Trên KIT. Có 3 nút nhấn loại này, chúng nằm giữa 4 công tắc nút nhấn.

- Khi xoay các nút này, công tác được nối đến chân 3,3V của FPGA.

Trang 5


LED:
- Có 8 LED đơn trên mạch, được kí hiệu từ LED7 đến LED0. Theo thú
tự tù trái sang phải là LED7 đền LED0.

- Mỗi LED được nối sẵn một chân xuống mass, chân còn lại nối với KIT
Spartan 3E qua một điện trở hạn dòng 330 Ohm.

3.2.

Clock Sources:board hỗ trợ ba nguồn xung clock cơ bản:

Bộ dao động onboard tần số xung clock 50MHz
Xung clock có thể đươc cung cấp từ ngoài board thông qua SMA-style
connector.Ngoài ra FPGA có thể phát ra tín hiệu xung clock qua SMA-style connector.
Hay lựa chọn cài đặt bộ dao động kiểu 8 chân DIP cung cấp bởi một
socket
Điện áp cho tât cả chân I/O trong FPGA bank0 được điều khiển bởi
jumper JP9.Do đó ,những nguồn xung clock này cũng đươc điều khiển bởi
JP9.Ban đầu,JP9 đươc set mức 3.3 V.Bộ dao động on board là một thiết bị có áp
3.3 V và có thể không trình diễn như mong đọi khi JP9 set ở mức 2.5 V.

3.3.

FPGA Configuration option:

The Spartan-3E FPGA Starter Kit board hỗ trợ nhiêu sự lựa chọn cấu
hình FPGA:

• Download FPGA design trực tiếp tới Spartan-3E FPGA thong qua
chân JTAG,sử dụng giao diện USB on board.

Trang 6


• Ghi chương trình trên on-board 4Mbit Xilinx XCFO4S nối tiếp
Platform Flash PROM,sau đó cấu hình FPGA từ ảnh lưu trữ trong
Platform Flash PROM sử dụng Mast Serial mode.
• Ghi chương trình trên on-board 16Mbit ST Microelectronics SPI
serialFlash PROM,rồi cáu hình FPGA từ ảnh lưu trữ trong SPI
serial Flash PROM sử dụng SPI mode.
• Ghi chương trình trên 128 Mbit Intel StrataFlash parallel NOR
Flash PROM,rồi cấu hình FPGA từ ảnh lưu trữ trong Flash PROM
sử dụng BPI Up hay BPI Down mode.

3.4.

Character LCD Screen:

FPGA điều khiển LCD thong qua 4-bit data .Mặc dù LCD hỗ trợ giao
diện 8 bits data,the starter Kit Board sử dụng giao diện 4 bits data đễ tang khả năng
kết nối và sự phát triển của các ứng dụng khác trên board cũng như giảm thiểu số chân
kết nối.

- LCD dùng nguồn 5V.
- LCD hiểu các mức logic cao, thấp qua điện áp. Ở mức cao, LCD điều
khiển mức 5V với TTL và 3,3V với LVCMOS.

Trang 7



- Điện trở 390 Ohm trên đường Data dùng để hạn dòng cho FPGA khi
LCD nhần mức logic cao.
- Một số ứng dụng coi LCD là ngoại vi chỉ ghi và không bao giờ đọc.
Điều khiển LCD:
- LCD cho phép hiển thị 2 x 16 kí tự, với địa chỉ theo bảng sau:

3.5.

VGA Display Port:

Board gôm một port VGA thong qua DB15 connector.Kết nối port này
trực tiếp từ PC

3.6.

RS-232 Serial Ports:

The Spartan-3E FPGA Starter Kit board có hai cổng RS-232,một là đâu
cái DB9 DCE connector và một đấu đực DTE connector.Sử dụng DTE-style connector
để điều khiển các ngoai vi RS-232 khác,như modem hay printers.

3.7.

PS/2 Mouse/Keyboard Port:

Board bao gồm một PS/2 Mouse/Keyboard Port và một két nối chuẩn 6pins mini-DIN.

3.8. DDR SDRAM :

The Spartan-3E FPGA Starter Kit board bao gồm a 512 Mbit (32M x 16)
MicronTechnology DDR SDRAM (MT46V32M16) với giao diện 16bit data.Tất cả
chân giao diện DDR SDRAM kết nối tới FPGA’s I/O bank3 trên FPGA.I/O Bank 3 và
DDR SDRAM cả hai lấy điện áp 2.5 V từ LTC3412 regulator đươc kết nối từ 5V
supply input.

Trang 8


Ngoài ra The Spartan-3E FPGA Starter Kit board còn có các cổng giao
tiếp khác:
10/100 Ethernet Physical Layer Interface
Các connector mở rộng

Trang 9


CHƯƠNG 4: KHÁI NIỆM,CÔNG CỤ VÀ KĨ THUẬT EDK
4.1. Giới thiệu:
The Xilinx Embedded Development Kit (EDK) là 1 bộ các công cụ và IP
cho phép bạn thiết kế 1 hệ thống nhúng hoàn chỉnh để cài đặt cho thiết bị
Xilinx Field Programmable Gate Array (FPGA)
Embeded Development Kit: được xem như bao phủ tất cả những thứ liên
quan đến hệ thống xử lý nhúng và thiết kế của chúng ,the Xinlinx ISE
software phải được cài đặt trước khi chạy EDK.
Xilinx Platform Studio (XPS) là một môi trường phát triển hay giao tiếp
đồ họa sử dụng để thiết kế bộ phận phần cứng của hệ thống xử lý
nhúng .
Software Development Kit(SDK) là một môi trường phát triển tích hợp
Other EDK Components :

• Hardware IP for Xinlinx embeded processors
• Driver and lilibraries for embedded software development
• GNU Compiler and debugger for C/C++ software development
targeting the MicroBlaze™ and PowerPC™ processors
• Documentation
• Sample projects
Làm Thế Nào Để Các Công Cụ Này Xúc Tiến Quá Trình Xử Lý

Trang 10


Sau đây là một cái nhìn tổng quát về cách các công cụ làm việc cùng nhau để đơn giản
hóa quá trình thiết kế
• Tiến trình thiết kế yêu cầu được bắt đầu với một ISE project,và sau đó là add
một nguồn vi xử lý nhúng vào ISE project.
• XPS được sử dụng đầu tiên cho hệ thống nhúng.Cấu hình vi điều
khiển,ngoai vi, và liên kết các thành phần này diễn ra ở XPS.
• SDK là một mội trương phát triển phần mềm cho các ứng dụng đơn giản và
phức tạp.
• Xác định chình xác chức năng phần cứng của bạn có thể đươc thực hiện
bằng cách chạy thiêt kế thông qua HDL simulator.XPS có 3 kiểu mô phỏng
♦ Behavioral
♦ Structural
♦ Timing-accurate

4.2. Tạo một Project:
The Base System Builder (BSB): là 1 thuật sĩ thưc hiện nhanh chóng và hiệu
quả một công việc thiết kế,mà sau đó bạn có thể tùy chỉnh
Xilinx đề nghị sử dụng BSB Wizard để tạo ra phần cơ bản cho một dự án thiết kế hệ
thống nhúng mới.BSB có thể là tất cả những gì bạn cần để tạo thiết kế.

Trang 11


Sử dụng BSB Wizard ,ban có thể tao file project,chọn board,cấu hình 1 vi xử lý hay
giao tiếp I/O,thêm vào ngoại vi bên trong,cài đặt software,và phát ra 1 report tóm tắt
hệ thống.
Tạo ra file(*.xmp)
A Xilinx Microprocessor Project (XMP) file là một file mức đỉnh của hệ thống
nhúng.Tất cả các thông tin dự án XPS đươc save trong XMP file,bao gồm vi trí của
Microprocessor Hardware Specification (MHS) and Microprocessor Software
Specification (MSS) files.
The XMP file cũng chứa đựng thông tin về nguồn C và file header mà XPS biên
dịch,cũng như các file thực thi mà SDK biên dịch.
Selecting a Board Type:
BSB cho phép bạn chọn 1 kiểu board từ danh sách hay tao ra một board riêng.
Selecting and Configuring a Processor
Bạn có thể chọn MicroBlaze hay PowerPC processor và chọn:
• Architecture type
• Device type
• Package
• Speed grade
• Reference clock frequency
• Processor-bus clock frequency
• Reset polarity
• Processor configuration for debug
• Cache setup
• Floating Point Unit (FPU) setting
Selecting and Configuring Multiple I/O Interfaces
BSB hiểu bộ nhớ ngoại và thiết bị I/O có sẵn trên board và cho phép lựa chọn
• Which devices to use

• Baud rate
• Peripheral type
Trang 12


• Number of data bits
• Parity
• Whether or not to use interrupts
Adding Internal Peripherals
BSB cho phép bạn thêm vào ngoại vi.Các ngoại vi đươc hỗ trợ bởi board đươc
lựa chọn và kiến trúc thiết bị FPGA.
Setting Up Software
Ngõ vào và ngõ ra chuẩn của thiết bị có thể đươc thực hiện trong BSB,và bạn có
thể chon một ứng dụng mẫu ngôn ngữ C mà bạn muốn XPS phát ra.Mỗi ứng dụng
bao gồm một tập lệnh liên kết.Ứng dụng mẫu mà bạn chọn bao gồm kiểm tra bộ
nhớ,kiểm tra ngoại vi,hay cả 2.
Take a Test Drive
Để chạy BSB Wizard ,bạn cần phải bắt đầu với ISE Project Navigator,và tạo ra một
project với hệ thống vi xử lý nhúng tại mức đỉnh.
• Start ISE Project Navigator
• Select File >New Project.Nó sẽ truy cập tới New Project Wizard
• Sử dụng thông tin ở bản dưới đây để lựa chọn trong Wizard screens.

Trang 13


Chú ý : Sau khi chạy ISE Project Navigator new project wizard,nó sẽ nhận ra
bạn có một hệ thống nhúng ,và sẽ bắt đầu Platform Studio với thông điệp This project
appears to be a blank project. Do you want to create a Base System using the BSB
Wizard? (This can take a few moments.) Click Yes.

Bây giờ BSB wizard đã bắt đầu,bạn có thể tao ra một project sử dụng cấu hình được
miêu tả ở bảng dưới

Trang 14


Trang 15


Trang 16


Trong phần kế tiếp ,chúng ta sẽ biết cách quan sát và điều chỉnh new
project trong XSP

Trang 17


4.3. Xilinx Platform Studio
Bây giờ ban đã tao đươc một project cơ bản với BSB,đây là lúc nhìn vào
các sự chon có sẵn trong Xilinx Platform Studio(XPS).Sử dụng XPS ,bạn có thể
xây dựng trên project bạn đã tạo với BSB.Phần này sẽ giúp bạn có cái nhìn tổng
quan về XPS,và thảo luận về cách sử dụng XPS để điều chỉnh thết kế của bạn.
What is XPS?
XPS bao gồm một giao tiếp đồ họa người dùng (GUI),cùng với một bộ các
công cụ hướng tới dự án thiết kế.Phần này sẽ miệu tả XPS GUI và một vài công cụ
đươc sử dụng phổ biến.
The XPS GUI
Từ XPS GUI ,bạn có thể thiết kế một hệ thống nhúng hoàn chỉnh cho việc
cài đặt một thiết bị Xilinx FPGA.Cửa sổ chính của XPS đươc cho trên hình 3.1

Chú ý rằng cửa sổ chính của XPS đươc chia thành 3 phần:


Project Information Area



System Assembly



Console Window

Trang 18


Project Information Area
The Project Information Area offers control over and information about your
project. TheProject Information Area includes Project, Applications, and IP
Project Tab
The Project Tab,cho ở hình 3-2,là các tham khảo tới các file có liên quan đến
project.Thông tin đươc nhóm trong các mục tổng quát sau :
• Project Files
Tất cả các file thưc hiện project như Microprocessor Hardware
Specification (MHS) files,Microprocessor Software Specification
(MSS) files,User Constrains File (UCF) files,iMPACT Command
files,Implementation Option files,và Bitgen Option files.
• Project options
Tất


cả

các

sự

lựa

chon

đặc

trưng

dự

án

Device,Netlist,Implementation,HDL,và Sim Model options.
• Reference Files

Trang 19

như


Tất cả các giá trị nhập và files output đươc sản xuất bởi XPS
implementation processes.

Application Tab

The Application tabs cho trên hình 3-3,là tất cả các cấu hình lựa chọn ứng
dụng phần mềm,header files,và source files mà liên hệ với mỗi ứng dụng của dự
án.Với việc chọn thẻ này bạn có thể:
• Tao ra và thêm vào một phần mềm ứng dụng,và tải nó tới khối
RAM.
• Thiết lập sự lựa chọn biên dịch
• Thêm vào các file header và source tới project
Chú ý: Trong lúc XPS cho phép bạn tạo ra và quản lý phần mềm dự án,SDK yêu cầu
công cụ cho tất cả software development.

Trang 20


IP Catalog Tab
The IP Catalog tab cho trên hình 3-4,bao gồm tất cả các EDK IP cores và
custom IP cores do bạn tạo ra.
Nếu một project đươc mở,chỉ có những IP cores mà phù hợp với muc tiêu của
kiến trúc thiết bị Xilinx là đươc thể hiện.Những thông tin của danh mục về IP
cores,bao gồm phiên bản phát hành,status,lock,processor support,và bản miêu tả ngắn.
Những thông tin chi về IP core,bao gồm lịch sử thay đổi các phiên bản,data
sheet,và Microprocessor Peripheral Description (MPD) file,thì sẵn có khi click phải
menu.Ban đầu thì IP cores đươc nhóm lại có thứ tự phân cấp theo chức năng.

Trang 21


Take a Test Drive:
• Trong XPS GUI ,click chon thẻ Project tab.
• Click the Application tab
a. Collapse the Project: TestApp_Memory (using the +/- box) entry.

b. Expand the four sub-headers below Project: TestApp_Peripheral
-

Under Processor: ppc440_0, note the xparameters.h file.

The xparameters.h file chứa đưng bản đồ địa chỉ hệ thống và là một phần
tích hợp của Board Support Package(BSP).Nếu bạn thực hiện theo các
bước ở phần Test Drive,the BSP chưa đươc tao ra,vì vậy file này chưa có
sẵn.
Under Compiler Options and Sources,chú ý rằng cả hai phần gồm tập lệnh liên
kết và kiểm tra ứng dụng thi hành đươc tự động phát bởi BSB Wizard khi the selected
test applications đươc tạo ra.


Click the IP Catalog tab

Trang 22


a. Tìm Communication Low-Speed IP category và mở rộng nó.
b. Định vị XPS_UART (16550-Style) peripheral và click phải để
xem PDF data sheet của XPS_UART (16550-Style).
c. Click vào icon tròn trong hình 3-5 để mở 2 màn hình
System Assembly View
The System Assembly View cho phép bạn quan sát và cấu hình các khối thành
phần của hệ thống. Nếu the System Assembly View chưa được maximized trong cửa
số chính,click vào System Assembly View tab at the bottom of the pane to open it.
Bus Interface, Ports, and Address Filters
XPS cung cấp Bus interface,Ports,và các thẻ địa chỉ trong the System Assembly
View(hình 3-5),để tổ chức thông tin về thiết kế của bạn và cho phép bạn dễ dàng hơn

để biên tập hardware platform của mình.

Connectivity Panel
Với việc chọn thẻ Bus Interfaces,bạn sẽ thấy Connectivity Panel,( labeled in
thefigure above). The Connectivity Panel là một sự thể hiện đồ họa của hardware
platform interconnects.
Trang 23


Take a Test Drive
Trong System Assembly View ,click vào thẻ Ports (located at the top of the
screen).
• FPGA device. Expand the External Ports category to view the signals
that are present outside the
• Chú ý tên tín hiệu trong Net column và tìm tín hiệu liên quan tới
RS232_Uart_1.Những điều này sẽ được tham khảo trong phần kế
tiếp.Đóng muc này lại khi hoàn thành.
• Kéo xuống để định vị RS232_Uart peripheral và mở rộng nó
• Right-click the RS232_Uart_1 peripheral icon and select Configure IP
to launch the RS232_Uart_1:xps_uart16550_v2_00_a parameters
dialog
• Click the directories icon (circled in Figure 3-5), and switch between
the hierarchical and flat views.
Platform Studio Tab
Trong cùng một không gian của System Assembly View,có một thẻ Platform
Studio.The Platform Studio tab display(hình 3-6) cung cấp một lưu đồ thiết kế nhúng.
Nếu tại bất kì điểm nào bạn không chắc làm bước nào tiếp theo,hay cần thêm thông
tin để thực hiện tiến trình,bạn có thể nhanh chóng tham khảo biểu đồ này.

Trang 24



Trang 25


×