Cấu trúc kit Xillinx Virtex-7 VC709 và ứng dụng

Tóm tắt

Virtex-7 FPGA VC709 được hãng Xillinx sản xuất và đưa ra thị trường từ năm 2010. Đây là

một họ kit FPGA mới có cấu hình mạnh với tốc độ xử lý lên tới 40Gb/s, phù hợp cho các ứng

dụng băng thông cao và hiệu năng lớn. Kit bao gồm hầu hết các phần cứng, công cụ và IP

cần thiết để các nhà phát triển có thể nhanh chóng kết nối và đánh giá hệ thống của mình.

Bên cạnh các giao tiếp PCI Express thế hệ 3, lõi DMA IP cùng bộ nhớ ảo FIFO, kit cũng có

giao diện GUI với đầy đủ các trình điều khiển cần thiết. Bài báo này giới thiệu, phân tích cấu

trúc tổng quát của Virtex-7 VC709 và nêu ra một số ứng dụng cơ bản của Virtex-7 nhằm

giúp các nhà nghiên cứu có thể sử dụng kit trong các ứng dụng sau này

pdf 5 trang yennguyen 7060
Bạn đang xem tài liệu "Cấu trúc kit Xillinx Virtex-7 VC709 và ứng dụng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Cấu trúc kit Xillinx Virtex-7 VC709 và ứng dụng

Cấu trúc kit Xillinx Virtex-7 VC709 và ứng dụng
CHÀO MỪNG NGÀY THÀNH LẬP TRƯỜNG 01/04/2019 
32 Tạp chí Khoa học Công nghệ Hàng hải Số 58 - 04/2019 
CẤU TRÚC KIT XILLINX VIRTEX-7 VC709 VÀ ỨNG DỤNG 
STRUCTURE OF XILLINX VIRTEX-7 VC709 AND APPLICATIONS 
PHẠM VIỆT HƯNG 
Khoa Điện - Điện tử, Trường Đại học Hàng hải Việt Nam 
Email liên hệ: phamviethung@vimaru.edu.vn 
Tóm tắt 
Virtex-7 FPGA VC709 được hãng Xillinx sản xuất và đưa ra thị trường từ năm 2010. Đây là 
một họ kit FPGA mới có cấu hình mạnh với tốc độ xử lý lên tới 40Gb/s, phù hợp cho các ứng 
dụng băng thông cao và hiệu năng lớn. Kit bao gồm hầu hết các phần cứng, công cụ và IP 
cần thiết để các nhà phát triển có thể nhanh chóng kết nối và đánh giá hệ thống của mình. 
Bên cạnh các giao tiếp PCI Express thế hệ 3, lõi DMA IP cùng bộ nhớ ảo FIFO, kit cũng có 
giao diện GUI với đầy đủ các trình điều khiển cần thiết. Bài báo này giới thiệu, phân tích cấu 
trúc tổng quát của Virtex-7 VC709 và nêu ra một số ứng dụng cơ bản của Virtex-7 nhằm 
giúp các nhà nghiên cứu có thể sử dụng kit trong các ứng dụng sau này. 
Từ khóa: FPGA, Virtex-7, VHDL, Verilog. 
Abstract 
Virtex-7 FGPA VC709 was designed and manufactoried by Xillinx in 2010.Virtex7 VC709 is 
a platform with speed of 40Gb/s for high-bandwidth and high-performance applications. 
Virtex-7 includes many helpful hardwares, tools and IP to quickly develop, connect and 
assess the designed sysems by developers and programmers. Besides some interfaces 
such as PCI Express Gen 3, DMA IP core and Virtual FIFO memory, Virtex-7 also includes 
a GUI which includes all the software drivers. This paper not only presents the structure of 
Virtex-7 but also introduces basic applications of Virtex-7. Therefore, the developers and 
researchers can ultilize this kind of Virtex for future applications. 
Keywords: FPGA, Virtex-7, VHDL, Verilog. 
1. Giới thiệu về họ FPGA Virtex của hãng Xillinx 
Ngày nay, thuật ngữ FPGA (Field Programmable Gate Array - mảng phần tử logic khả trình) 
đã trở nên phổ biến và thông dụng cho các nhà nghiên cứu và người thiết kế. Với khả năng tùy biến 
cao, dễ dàng lập trình và được trang bị nhiều tính năng cao cấp, các nền tảng FPGA đang hỗ trợ rất 
tốt cho các nhà khoa học trong việc triển khai các giải pháp nghiên cứu của mình. Trái ngược với 
các kit ASIC (Application-specific integrated circuit - vi mạch tích hợp chuyên dụng) là những kit, 
chip có tốc độ xử lý nhanh do được chuyên biệt hóa, các kit, chip FPGA có khả năng tái cấu hình 
cao nên giúp cho việc thiết kế và chế tạo được giảm giá thành và đẩy nhanh thời gian chế tạo ra 
sản phẩm thương mại cuối cùng. 
Với vai trò là một nhà cung cấp chip FPGA bên cạnh Artera, hãng Xillinx đã sản xuất các họ 
và thế hệ FPGA như: Virtex, Spartan và sau này là họ Zynq. Trong đó, họ Virtex đóng vai trò chủ 
lực của hãng với nhiều thế hệ đã được phát triển và cải tiến từ Virtex thế hệ đầu tiên vào năm 1998, 
trải qua nhiều thế hệ, đến nay họ Virtex đã phát triển đến thế hệ thứ 10 (Virtex UltraScale+ vào năm 
2015). 
Virtex-7 là thế hệ Virtex thứ 8 của hãng Xillinx được đưa ra thị trường từ tháng 6 năm 2010 
[1]. So với các thế hệ trước, Virtex-7 (V-7) dựa trên công nghệ xử lý 28nm giảm thiểu công suất tiêu 
thụ, có cấu hình vượt trội với 80 bộ thu phát, hỗ trợ các kênh riêng biệt tốc độ 13.1Gb/s. Bên cạnh 
đó, nó còn hỗ trợ giao tiếp bộ nhớ DDR3 tới 72 bit (đây là con số lớn nhất trong công nghiệp) và có 
thể đạt đến tốc độ đọc 2133Mbps. Vì vậy, V-7 trở thành bo mạch chủ lực trong thiết kế radar và mẫu 
thử ASIC. Trong thiết kế kỹ thuật, thiết kế ASIC lớn, tài nguyên của FPGA thường bị giới hạn. Các 
nhà phát triển thường phải sử dụng nhiều FPGA liên kết với nhau, điều này sẽ liên quan đến truyền 
số liệu giữa các khối của FPGA. Tốc độ khác nhau, lưu lượng khác nhau đòi hỏi chế độ truyền khác 
nhau. Với V-7, các chế độ này đều được đáp ứng khi V-7 có thể cung cấp các giao diện truyền tải 
số liệu khác nhau như GTX, GPIO_LVDS, cũng như hỗ trợ phần cứng để truyền tải số liệu giữa 
các FPGA. Bài báo này phân tích cấu trúc phần cứng của kit Virtex-7 VC709 với các thông số cơ 
bản. Trên cơ sở đó triển khai một ứng dụng của Virtex-7 VC709. 
Cấu trúc của bài báo: sau phần mở đầu, phần 2 phân tích cấu trúc của Virtex-7 VC709. Cách 
thiết lập phần cứng và phần mềm để mô phỏng XT Connectivity TRD được đưa ra ở phần 3 và phần 
4 trình bày nghiên cứu về ứng dụng Virtex-7 trên VC709 để thực hiện bộ điều chế QPSK. Cuối cùng 
một số kết luận được đưa ra ở phần 5. 
CHÀO MỪNG NGÀY THÀNH LẬP TRƯỜNG 01/04/2019 
Tạp chí Khoa học Công nghệ Hàng hải Số 58 - 04/2019 33 
2. Cấu trúc của kit Virtex-7 VC709 
2.1.Cấu trúc cơ bản của kit Virtex-7 VC709 
Bo mạch VC709 cung cấp nền tảng phần cứng để phát triển và đánh giá các thiết kế cho chip 
Virtex-7 XC7VX690T-2FFG1761C FPGA. VC709 có khả năng cung cấp nhiều đặc trưng cơ bản cho 
các hệ thống xử lý nhúng với 2 khe ram DDR3, một giao diện PCI Express 8-lane, hỗ trợ các giao 
tiếp cơ bản I/O và một giao tiếp UART. Cấu trúc tiêu biểu của VC được minh họa ở Hình 1, bao gồm 
các thành phần cơ bản: 
- Trung tâm chính là vip Virtex-7 XC7VX690T-2FFG1761C FPGA; 
- 2 khe RAM DDR3 có dung lượng 4GB dạng SODIMMs; 
- Bộ nhớ flash 128MB; 
- Modun giao tiếp USB JTAG. 
Các mạch tạo xung nhịp: LVDS 200MHz cố định, LVDS 233.33MHz cố định, LVDS I2C khả 
trình, đầu nối chuẩn SMA, đầu nối chuẩn SMA cho xung nhịp thu phát GTH. 
- Các bộ thu phát GTH: 10 bộ thu phát qua đầu nối FMC HPC, các đầu nối SMA (một cặp cho 
MGT_REFCLK), giao tiếp PCI Exrpess, 
Bên cạnh đó, VC709 còn có một cầu chuyển đổi USB-to-UART, các bus I2C. Cuối cùng, 
VC709 có các giao diện I/O người sử dụng như: LED, nút ấn, công tắc DIP, 
Cấu trúc, hình ảnh thực tế của VC709 được mô tả ở Hình 2. 
Hình 1. Sơ đồ khối của bo mạch VC709 Hình 2. Vị trí các thành phần trên bo mạch VC709 
 Chi tiết về các thành phần của VC709 và vị trí của từng thành phần của VC709 có thể dễ dàng 
được tìm thấy trong [2]. 
2.2. Cấu hình FPGA 
Bo mạch VC709 hỗ trợ 2 trong 5 chế độ cấu hình FPGA: 
- Chế độ master BPI sử dụng bộ nhớ flash trên bo mạch; 
- Chế độ JTAG sử dụng cáp chuyển đổi type-A sang micro-B USB để kết nối PC với VC709 
thông qua cổng cấu hình. 
Mỗi giao diện cấu hình tương ứng với một hoặc nhiều chế độ cấu hình và tốc độ bus như liệt 
kê ở Bảng 1. 
Bảng 1. Các chế độ cấu hình cho VC709 bằng SW11 
Trong Bảng 1, các chuyển mạch DIP M2, M1 và M0 ở trên SW11 từ vị trí thứ 3 đến thứ 5. 
Trong chế độ Master BPI, bộ nhớ flash BPI được sử dụng để cấu hình hoặc để lưu trữ phần mềm. 
Đồng thời, bộ nhớ flash BPI có thể được cấu hình đồng bộ với FPGA ở tần số 80MHz sử dụng luồng 
dữ liệu cấu hình tạo bởi BitGen. Phương pháp cấu hình nhanh nhất là sử dụng bộ dao động 80MHz 
bên ngoài nối đến chân EMCCLK FPGA. 
Với chế độ JTAG, PC kết nối tới VC709 thông qua cổng USB tới cổng USB loại micro-B trên 
VC709 bằng cáp USB (được cung cấp kèm với VC709). Chế độ JTAG cho phép PC tải luồng bit 
Chế độ cấu hình Cài đặt chuyển mạch SW13 DIP (M[2:0]) 
Master BPI 010 
JTAG 101 
CHÀO MỪNG NGÀY THÀNH LẬP TRƯỜNG 01/04/2019 
34 Tạp chí Khoa học Công nghệ Hàng hải Số 58 - 04/2019 
xuống VC709 FPGA thông qua công cụ của Xillinx (như Vivaldo Design Suite). Ngoài ra, JTAG cho 
phép các công cụ debug hoặc phần mềm debug truy cập vào FPGA. 
2.3. Các giao diện 
Để thực hiện kết nối và giao tiếp với các ngoại vi khác, VC709 có các dạng giao diện khác 
nhau: 
- Giao diện PCIe: kết nối PCIe 8-lane hỗ trợ tốc độ truyền tải 2,5GT/s (GT: gigatranfer [3]) cho 
các ứng dụng Gen1, 5,0GT/s cho ứng dụng Gen2 và 8GT/s cho ứng dụng Gen3. Các đường truyền 
tải PCIe có trở kháng 85W. Bên cạnh đó, các bộ thu phát GTH của VC709 được sử dụng cho các 
giao diện nối tiếp ở tốc độ hàng Gbps; 
- SFP/SFP+: VC709 hỗ trợ 04 cổng kết nối SFP+ (Small Form-Factor Pluggable); 
- USB-UART: VC709 có 1 cầu chuyển đổi Silicon Labs CP2103GM USB-to-UART để kết nối 
PC với VC709 thông qua cổng USB. Ngoài ra, nhờ trình điều khiển Virtual COM port (VCP) được 
cài trên PC cho phép cầu chuyển đổi USB-UART này được coi như một cổng COM trong các ứng 
dụng truyền thông như HyperTerminal; 
- Giao diện FMC: VC709 hỗ trợ 1 kết nối FMC theo chuẩn VITA57.1 để truyền thông dữ liệu 
tốc độ cao. Giao tiếp FMC này là dạng HPC (high pin count) với 400 chân (gồm 40 hàng, mỗi hàng 
có 10 chân) hỗ trợ tới: 10 bộ thu phát GTH, 160 tín hiệu, 2 xung nhịp GTH, 159 chân nối đất và 15 
chân cấp nguồn. 
3. Kết nối hệ thống cho VC709 
Đi kèm với VC709, hãng Xillinx cung cấp 2 giải pháp BIST (Build-in seft-test) và TRD 
(Connectivity Targeted Reference Design) [4] để lập trình và mô phỏng với VC709. BIST cung cấp 
giải pháp thuận lợi để kiểm thử các đặc điểm của bo mạch về khả năng cấu hình lại. TRD mô phỏng 
hệ thống truyền tải dữ liệu tốc độ cao từ PC xuống VC709 sử dụng PCIe 8-lane Gen3, 02 bộ nhớ 
DDR3 SODIMM được sử dụng làm bộ đệm gói dữ liệu, dữ liệu được truyền tải qua liên kết BASE-
R Quad 10G. 
Các thành phần của VC709 được sử dụng bởi BIST được minh họa ở Hình 3. Đồng thời, cần 
phải cài đặt tại chuyển mạch SW11 ở chế độ Master BPI (010) và cài đặt trình điều khiển (driver) 
cho thiết bị Silicon Labs UART trên PC [5]. Tiếp theo, thiết lập các thông số cho cổng nối tiếp để kết 
nối giữa PC và VC709 như Hình 4. Cuối cùng, tiến hành chạy ứng dụng BIST bằng cách ấn và nhả 
nút PROG SW9 như ở trên Hình 3, khi đó luồng bit BIST sẽ cấu hình FPGA. Màn hình sẽ hiển thị 
menu BIST như Hình 5. 
Hình 3. Các thành phần sử dụng bởi BIST 
Hình 4. Thiết lập thông số cho cổng nối tiếp Hình 5. Menu chính của BIST 
CHÀO MỪNG NGÀY THÀNH LẬP TRƯỜNG 01/04/2019 
Tạp chí Khoa học Công nghệ Hàng hải Số 58 - 04/2019 35 
4. Ứng dụng VC709 để thực hiện bộ điều chế QPSK 
4.1 Điều chế QPSK 
Trong các hệ thống thông tin số, để truyền dẫn các tín hiệu số trên kênh truyền có băng thông 
hữu hạn, các kỹ thuật điều chế số sẽ được sử dụng. Đây là một khâu xử lý tin hiệu then chốt được 
thực hiện bằng cách ghép các tín hiệu số vào trong một sóng mang cao tần. Các kỹ thuật điều chế 
số thông dụng như: khóa dịch biên độ ASK (Amplitude Shift Keying), khóa dịch tần số FSK 
(Frequency Shift Keying), khóa dịch pha PSK (Phase Shift Keying), điều chế biên độ cầu phương 
QAM (Quadrature Amplitude Modulation) [6]. 
Kỹ thuật điều chế PSK được thực hiện bằng cách ghép các tổ hợp k bit (gọi là 1 symbol) tín 
hiệu số vào trong 1 sóng mang. Khi đó trong không gian tín hiệu có M = 2𝑘 tín hiệu dạng sóng (gọi 
là (M-ary) PSK), khác nhau ở góc pha và được biểu diễn bởi [6]: 
𝑆𝑀−𝑃𝑆𝐾(t) = g(t)cos (2𝜋𝑓𝑐𝑡 + (𝑖 − 1)
2𝜋
𝑀
) ; 𝑖 = 1,2,  . ,𝑀 (1) 
Trong đó g(t) là dạng xung tín hiệu, 𝑓𝑐 là tần số sóng mang. 
Với M = 4, tương ứng k = 2, ta sẽ có điều chế (4-ary) PSK còn được gọi là quasiphase PSK 
(QPSK) hoặc khóa dịch pha cầu phương QPSK (Quadrature Phase Shift Keying) 4 góc pha. Khi đó, 
tín hiệu điều chế QPSK có thể được biểu diễn [7]: 
𝑆𝑄𝑃𝑆𝐾(t) = √
2𝐸𝑠
𝑇𝑠
cos (2𝜋𝑓𝑐𝑡 +
𝜋
4
+ (𝑖 − 1)
𝜋
2
) ; 𝑖 = 1,2,3,4 (2) 
Trong đó 𝐸𝑠, 𝑇𝑠 tương ứng là năng lượng và độ rộng của 1 symbol. Dạng sóng của tín hiệu 
QPSK được minh họa ở Hình 6. Như vậy, trong không gian tín hiệu sẽ có 04 tín hiệu dạng sóng với 
04 góc pha khác nhau. 
Hình 6. Dạng sóng của tín hiệu QPSK Hình 7. Mô hình mô phỏng bộ điều chế QPSK sử dụng Xillinx 
Blockset trên Simulink 
4.2 Mô phỏng và thựchiện bộ điều chế QPSK trên VC709 
Để có thể thực hiện mô phỏng và triển khai bộ điều chế QPSK, (2) sẽ được biến đổi thành: 
𝑆𝑄𝑃𝑆𝐾(t) = I(t)√
2
𝑇𝑠
cos (2𝜋𝑓𝑐𝑡 +
𝜋
4
) + Q(t)√
2
𝑇𝑠
sin (2𝜋𝑓𝑐𝑡 +
𝜋
4
) (3) 
Trong đó: 
I(t) = √𝐸𝑠 cos (
(𝑖−1)𝜋
2
), Q(t) = √𝐸𝑠 sin (
(𝑖−1)𝜋
2
) 
Từ (3), để thực hiện điều chế QPSK, cần phải có 2 sóng mang có pha trực giao, mỗi sóng 
mang sẽ được điều chế cân bằng trên kênh đồng pha (I- inphase) và kênh vuông pha (Q-quadrature). 
Để thực hiện mô phỏng và triển khai bộ điều chế QPSK trên FPGA, ngoài phần mềm Vivaldo Design 
Suite, ta cần sử dụng thêm Matlab/Simulink [8]. Sơ đồ mô phỏng bộ điều chế QPSK trên Simulink 
được minh họa ở Hình 7, trong đó sử dụng các khối của System Generator (gọi là Xillinx Blockset), 
đây là một bộ công cụ được Xillinx phát triển nhằm kết nối giữa Matlab/Simulink và Vivaldo Design 
Suite [9]. Mô hình mô phỏng bao gồm kênh I và kênh Q. Tín hiệu số được đưa qua bộ biến đổi nối 
tiếp/song song tách thành 2 bit lẻ, chẵn tương ứng đi vào kênh I và kênh Q. 
Kết quả mô phỏng bộ điều chế QPSK được thể hiện trên Hình 8. Khi các thông số mô hình 
mô phỏng đã được thiết lập tối ưu, ta tiến hành biên dịch mô hình (lưu ý: chỉ các khối và hệ thống 
con của Xillinx Blockset mới được biên dịch từ Simulink sang FPGA) thành các file chương trình 
CHÀO MỪNG NGÀY THÀNH LẬP TRƯỜNG 01/04/2019 
36 Tạp chí Khoa học Công nghệ Hàng hải Số 58 - 04/2019 
FPGA. Các file FPGA này được Vivaldo Design Suite biên dịch và cấu hình thực hiện trên phần 
cứng FPGA. 
Kết quả sử dụng tài nguyên của Virtex-7 trên kit VC709 khi triển khai bộ điều chế QPSK được 
minh họa ở Hình 9. Có thể nhận thấy, các tài nguyên mà bộ điều chế QPSK sử dụng trên Virtex-7 
chiếm số lượng không đáng kể. Ngoài ra, khi sử dụng phần mềm Xillinx Xpower Analyzer Tool nằm 
trong Vivaldo Design Suite ta sẽ có được mức công suất của bộ điều chế QPSK này là 1.352W. So 
với các nền tảng khác, mức công suất này là tương đương, tuy nhiên, khi xây dựng các hệ thống 
cấu hình lại (re-configurable) trong đó triển khai nhiều bộ điều chế cùng lúc trên FPGA, mức công 
suất tiêu thụ có thể được tiết giảm xuống khá nhiều. Đây là một hướng nghiên cứu tiếp theo của 
nhóm tác giả. 
Hình 8. Tín hiệu mô phỏng điều chế QPSK Hình 9. Tài nguyên thiết kế cho bộ điều chế QPSK 
5. Kết luận 
Kit Virtex-7 VC709 thuộc một trong những Kit phát triển FPGA rất mạnh của hãng Xillinx so 
với các thế hệ trước đó của hãng cũng như của các hãng khác. Việc nghiên cứu làm chủ được 
VC709 sẽ giúp cho các nhà thiết kế, nhà nghiên cứu có thể nhanh chóng phát triển các ứng dụng 
của mình để đưa đến triển khai cứng trên các chip ASIC. Bài báo đã đề cập đến cấu trúc và cung 
cấp một ứng dụng về thiết kế, mô phỏng và thực hiện bộ điều chế QPSK trên nền tảng FPGA Virtex-
7. Trong các bài báo sau, các ứng dụng khác của VC709 và hệ thống cấu hình lại (reconfigurable) 
trên nền tảng FPGA sẽ được đề xuất. 
TÀI LIỆU THAM KHẢO 
[1] Xillinx, “7 Series FPGAs Data Sheet: Overview”, Xillinx, Tech. Rep.,2018. 
[2] Xillinx, VC709 Evaluation Board for the Virtex-7 FPGA User Guide, America, California, 2016. 
Link: https://www.xilinx.com/support/documentation/boards_and_kits/vc709/ug887-vc709-
eval-board-v7-fpga.pdf. 
[3] https://www.edn.com/electronics-news/4380071/What-does-GT-s-mean-anyway- 
[4] Xillinx, Virtex-7 FPGA XT Connectivity Targeted Reference Design for the VC709 Board 
User Guide, America, California, 2014. Link: 
https://www.xilinx.com/support/documentation/boards_and_kits/vc709/2014_3/ug966-v7-xt-
connectivity-getting-started.pdf. 
[5] https://www.xilinx.com/products/boards-and-kits/dk-v7-vc709-g.html#documentation. 
[6] J. G. Proakis, “Digital communications 4th edition”, McGraw-Hill, NewYork, 2000. 
[7] Bernard, S., Digital communications fundamentals and applications. Prentice Hall, USA, 2001 
[8] D.Silage, “Digital Communication Systems Using MATLAB® andSimulink®”. Bookstand Pub., 
2009. 
[9] Xillinx, “Vivado Design Suite User Guide - Design Flows Overview”, Xillinx,Tech. Rep., 2018. 
Ngày nhận bài: 06/12/2018 
Ngày nhận bản sửa: 06/01/2019 
Ngày nhận bản sửa lần 2: 22/01/2019 
Ngày duyệt đăng: 24/01/2019 

File đính kèm:

  • pdfcau_truc_kit_xillinx_virtex_7_vc709_va_ung_dung.pdf