Page 1
7/31/2019 Cấu hình chip CNN giải bài toán thủy lực một chiều bằng công nghệ FPGA
http://slidepdf.com/reader/full/cau-hinh-chip-cnn-giai-bai-toan-thuy-luc-mot-chieu-bang-cong 1/5
H ội nghị toàn quố c về Điề u khiể n và T ự động hoá - VCCA-2011
VCCA-2011
Cấu hình chip CNN giải bài toán thủy lực một chiều bằng công nghệ FPGA
Config CNN Chip for Solving One-Dimension Hydraulic Equation
Using FPGA Technology
Vũ Đức Thái, Bùi Văn TùngTrường đại học Công nghệ Thông tin và Truyền thông – ĐH Thái Nguyên
e-Mail: [email protected] ; [email protected]
Phạm Thượng CátViện Công nghệ Thông tin - Viện Khoa học và Công nghệ Việt Nam
e-Mail: [email protected]
Tóm tắt Việc giải bài toán thủy lực một chiều đã đượ c nhiều
ngườ i nghiên cứu và thực hiện giải trên máy PC,
tuy nhiên tốc độ tính toán trên máy PC là tuần tự
nên thờ i gian tính toán lớ n. Công nghệ Mạng nơ ron tế bào là một kiến trúc tính toán song song vật
lý nên có tốc độ tính toán cực k ỳ nhanh. Báo cáo
trình bày quá trình phân tích, thiết k ế chip CNN
thực thi giải bài toán thủy lực một chiều. Kết quả
thực nghiệm cho thấy ưu thế tốc độ tính toán của
công nghệ và độ chính xác đảm bảo yêu cầu thựctế. Báo cáo có 04 phần: Phần mở đầu giớ i thiệu mô
hình toán học của bài toán thủy lực một chiều; phần
hai phân tích mô hình bài toán theo thuật toán
CNN; phần 3 thiết k ế chip CNN thực thi tính toán;phần 4 k ết quả thực nghiệm và đánh giá thuật toán,
giải pháp công nghệ.
Abstract: The problem of hydraulic channel
equation (HCE) is researched and solved by many
researchers on PC, however there are some
limitations in speed especially when we need to
process at high speed as in real time mode. In this
paper, we introduce the new method using CNN
technology, the model of physical paralelle
architecture for solving HCE. There are 4 parts in
this: Part 1: Introduction problem; part 2 analyse
problem following CNN algorithm; part 3 design
and implement computing; part 4 evaluate resultand technical solution. Ký hiệu: Ký hiệu Đơn vị Ý nghĩa
h m Độ cao mực nướ cQ m3 /s Lưu lượng nướ cB m độ rộng của kênh
I Độ lệch đáy kênh
J Hệ số nhám lòng kênh
S m2
Diện tích mặt cắt ngang kênh
A, B, z Các mẫu của mạng CNN
C, Rx điện dung, điện trở trong mạch
tế bào Chua.
; x y Bướ c sai phân
n: Số điểm tính trên lướ i sai phân
Chữ viết tắt: CNN : Cellular Neural Network.
CNN 1D: CNN-One Dimension
FPGA: FIeld Programmable Gate Array.
LE: Logic Element.
DSP: Digital Signal Processing.
CLK: Clock.
1. Giới thiệu bài toán thủy lực một chiều Kênh thủy lực một chiều về mặt cơ học là một hệ
thống động lực rất phức tạp có nhiều tham số, trong
đó hai tham số quan trọng mà ta cần biết là độ cao
mực nước và lưu lượ ng dòng chảy [2,3]. Để nghiên
cứu, ta đặt kênh vào hệ tọa độ hai chiều: chiều
ngang dọc theo dòng kênh, chiều dọc là độ caodòng kênh. Các tham số có quan hệ về mặt toán học
đượ c biểu diễn bằng hệ phương trình đạo hàm
riêng:
Phương trình bảo toàn khối lượ ng:
( , ) ( , )h x t Q x t b q
t x
(1)
trong đó h là độ cao dòng nướ c là hàm của vị trí
điểm xét trên hệ tọa độ
Phương trình động lượ ng2
( , )[ ]
( , ) ( , )( , )( )
( , )( , ) ( , )
( , )q
Q x t
Q x t h x t S x t gS xt
t x xQ x t
gIS x t gJS x t k qS x t
(2)
trong đó Q là lưu lượ ng dòng chảy, cũng là hàm tùythuộc mỗi vị trí trên dòng kênh. Các tham số khác
trong hai phương trình trên đượ c làm rõ trong [4].
Điều kiện ban đầu, điều kiện biên của các
phương trình (1) và (2)
Tại cùng một thời điểm ta đo các thông số Q, h tại
một số điểm cần theo dõi dọc theo chiều dài kênhgọi là các điều kiện ban đầu:
h( x=xi ,t 0) = h0i; Q( x=xi ,t 0) = Q0i;
(vớ i i=1..N )
2. Phân tích bài toán theo kiến trúc giảitrên CNN
97
Page 2
7/31/2019 Cấu hình chip CNN giải bài toán thủy lực một chiều bằng công nghệ FPGA
http://slidepdf.com/reader/full/cau-hinh-chip-cnn-giai-bai-toan-thuy-luc-mot-chieu-bang-cong 2/5
H ội nghị toàn quố c về Điề u khiể n và T ự động hoá - VCCA-2011
VCCA-2011
Để giải hệ phương trình trên bằng công nghệ CNN
chúng ta phải phân tích bài toán, tìm ra các mẫu
thích hợ p, từ đó thiết k ế kiến trúc mạng thực hiện
tính toán [4].
Việc phân tích mô hình toán học của mạng CNN
dựa vào phương trình trạng thái [1]:
( , ; , ) ( , )
ij
( , ; , ) ( , )
( ) 1 ( ) ( , ; , ) ( )
( , ; , ) ( )
r
r
ij
xij ykl
C k l i j S i j x
ukl
C k l i j S i j
dv t C v t A i j k l v t dt R
B i j k l v t I
vớ i N j M i 1;1
mục đích là tìm ra tập mẫu A, B, z của phươngtrình đạo hàm riêng ban đầu.
- Biến đổi phương trình (1)
( , ) ( , )h x t Q x t b q
t x
1h Q q
t b x b
(3)
Sai phân vế phải của (3), ta được phương trình saiphân:
1 1
1( )
2
i i
i i
h qQ Q
t b x b
=> 1 1
2 2
i i i ih Q Q q
t b x b x b
(4)
Trong phương trình (4) ta chú ý chỉ số (i) nói lên
phương trình này viết cho điểm sai phân thứ (i), và
tương ứng vớ i tế bào tại vị trí i trong mạng CNN.
(Tuy nhiên các tế bào có cùng phương trình toánhọc mô tả, có cùng mẫu, nên ta chỉ cần xác định
mẫu cho một tế bào).- Để tìm mẫu cho bài toán, từ phương trình (4) và
phương trình trạng thái của mạng CNN 1D, giả sử
chọn: 1hC ta có các mẫu cho h:
1[0 0]
h
h A
R ; 1 1
[ 0 ]2 2
hQ A
b x b x
;
1[0 0]
h B
b
; zh=0
- Xét phương trình (2) :2
( , )[ ]
( , ) ( , )( , )( , )
( , ) ( , ) q
Q x t
Q x t h x t bh x t gbh x t
t x x
gIbh x t gJbh x t k q
Biến đổi và để cho gọn chúng ta không viết các
biến:2
[ ]
( )q
Q
Q hbh gbh gbh I J k qt x x
(5)
Sai phân vế phải (5), và vì giả thiết q>0 nên k q=0 ta
đượ c:2 2
1 1
1 1
1 1
1( ) ( )
2 2
( )
i i i ii i
i i
i
Q Q Q gbhh h
t b x h h x
gb I J h
1 1
1 1 1
1 1
1
2 2 2
( )2
i i ii i i
i i
ii i
Q Q gbhQ Q h
bh x bh x x
gbhh gb I J h
x
(6)
Dựa vào thuật toán tìm mẫu của CNN, từ phươngtrình (6), chọn C
Q = 1, ta đượ c các mẫu:
1 1
1 1
1[ ]2 2
Q i i
Q
i i
Q Q A
bh x bh x R
[ ( ) ]2 2
Qh i igbh gbh
A gb J I x x
BQ
=0 ; z=0;
Để giải bài toán này ta thấy có 2 ẩn hàm Q( x,t ) và
h( x,t ), mỗi hàm là một hàm số hai biến không gian
x và thờ i gian t , do vậy để xử lý bài toán chúng ta
cần hệ CNN có 2 lớ p CNN 1D.
3. Cấu hình chip CNN giải bài toánthủy lực một chiều
Như ta đã thấy máy tính CNN-UM là một kiến trúc
đa năng, để giải mỗi bài toán phải chế tạo một phần
cứng có kiến trúc riêng [1]. Dựa trên các mẫu tìm
đượ c, ta phải thiết k ế, chế tạo kiến trúc chip CNN
để thực thi tính toán. Tùy theo loại chip FPGA sử
dụng, ta căn cứ vào tài nguyên, đặc tính của mỗi
loại chip để thiết k ế cho phù hợ p vớ i yêu cầu tính
toán (số lượ ng tế bào, số lần tính, độ chính xác...)
Trên thị trườ ng hiện nay phổ biến có hai hãng sản
xuất chip FPGA là Xinlinx và Altera. Nhóm nghiên
cứu đã sử dụng loại chip Vertex 6 (XC6VLX240T-
1FFG1156) của Xilinx. Tài nguyên của chip
XC6VLX240T-1FFG1156 gồm có 37,680 Slice
(tương đương vớ i 241,152 logic element -LE); 416
H. 2 M ạch tính toán cho mỗ i t ế bào hàm h( x,t ); Q( x,t )
hi,t
B
h q
+
A
hQ Qi1 h i1
AQ Qi1
h
i
AQh
+
/
Qi1
H. 1 Kiế n trúc mạch khố i cho bài toán
dòng chả y một chiề u
Qi-1Qi+1
hi-1 hi+1 hi
qi
1
12
i
i
Q
b xh
-gb(I-J)
Qi
x2
gbhi
x2
gbh
xb2
1
xb2
1
1i
1i
xhb2
Q
qi k q1
1
b
98
Page 3
7/31/2019 Cấu hình chip CNN giải bài toán thủy lực một chiều bằng công nghệ FPGA
http://slidepdf.com/reader/full/cau-hinh-chip-cnn-giai-bai-toan-thuy-luc-mot-chieu-bang-cong 3/5
H ội nghị toàn quố c về Điề u khiể n và T ự động hoá - VCCA-2011
VCCA-2011
khối RAM36K tốc độ truy xuất 350 MHz; 768 khối
nhân 25x18 bit (DSP481) tốc độ 275 MHz; 12 bộ
nhân/chia tần MMCM; số chân vào ra 600. Tốc độ
xung đồng hồ tối đa có thể cấp cho chip là 700
MHz. Một ưu điểm của việc sử dụng chip của
Xilinx là Xilinx cung cấp nhiều khối chuyên dụng
IP core sử dụng cho các phép toán số học vớ i tốc độ tính toán có thể tớ i 1CLK/1 phép toán. Chip Virtex
6 có tốc độ nhanh và cấu trúc phần tử LE cải tiến
giúp tiết kiệm đượ c nhiều các phần tử LE khi cài
đặt một phần cứng trên chip.
Theo thiết k ế lô gic ở mục (2) ta có mạng hai lớ pCNN 1D. Khi thiết k ế mạch phần cứng, để đảm bảo
kiến trúc tính toán song song nhóm đã thiết k ế theotừng phần tử mỗi phần tử là một cặp tính giá trị của
h, Q. Như trong Hình 3 giả sử không gian tính toán
cho n điểm ta có n phần tử cho n cặp (h,Q). Vớ ikiến trúc này ta cần rất nhiều tài nguyên nhưng tốc
độ tính toán cực nhanh 07 xung CLK cho một lần
tính (vớ i chip XC6VLX240T-1FFG1156 khoảng70 ns).
Trong thực tế, khi cấu hình chế tạo phần cứng điều
quan trọng là việc sử dụng tài nguyên trên chip. Dù
công nghệ FPGA hiện nay có tài nguyên rất lớ nnhưng cũng không phải là vô hạn, và giá thành của
các chip kích thướ c lớ n cũng còn khá cao. Vớ i tình
hình cụ thể nhóm nghiên cứu đã thiết k ế một số môhình kiến trúc để lựa chọn.
3.1. Mô hình xử lý tuần tự Mô hình này chia không gian tính toán n điểm
thành k khối tính toán mỗi khối có (n/k) phần tử,
các khối tính có kiến trúc giống hệt nhau và tính
toán song song vớ i nhau. Kiến trúc trong một khối
đượ c mô tả như trong Hình 4, (các khối tính toán
cộng, trừ, nhân, chia số học đượ c cấu hình từ cácphần tử LE và DSP của chip FPGA). Trong mô
hình này ta thấy sau khi đưa dữ liệu vào thiết lập
trạng thái ban đầu cho tế bào (ứng vớ i các điều kiện
ban đầu của phương trình đạo hàm riêng), khối điều
khiển (CU) gọi các khối tính toán (Add, Mult, Div)thực hiện các phép toán số học để thực hiện.
Các khối xử lý số học có thể dùng chung cho các
phần tử trong khối và đượ c điều khiển bở i khối CU.
Giải pháp này sử dụng ít tài nguyên hơn, ta chia
đượ c nhiều khối song song. Vớ i chip
XC6VLX240T-1FFG1156 chia đượ c khoảng 95
khối. Trong mỗi khối các phần tử thực hiện tính
toán tuần tự nên thờ i gian tính toán chậm (nếu có10 phần tử thờ i gian tính toán là 10 x 9 CLK = 90
CLK, khoảng 900 ns cho một lần tính).
3.2. Mô hình xử lý pipeplineGiải pháp này cũng chia không gian tính toán thành
các khối, tuy nhiên trong một khối sử dụng nhiều
khối tính toán số học hơ n nên giảm việc dùng
chung tài nguyên, (sơ đồ như trong Hình 5). Do vậy
giải pháp này tốn tài nguyên tính toán (cũng chipXC6VLX240T-1FFG1156 chia đượ c 24 khối), tuy
nhiên tốc độ tính toán nhanh hơ n nhiều, phần tử đầutiên cần 7 CLK cho một lần tính toán các phần tử
sau chỉ cần 1 CLK, (như vậy, nếu khối có 10 phần
tử tốc độ tính toán là 7 + 9=16 CLK ).
H. 3 Kiến trúc Chip CNN có các khối tế bào tính toán cho một cặp h,Q
Tế bào
1h0
h1
h2
h1,
q1,
q2
q1
q0
Tế bào
ihi-
hi
hi+
hi,t qi,t
qi+
qi
qi-
H. 5 Mô hình tính toán Pipeline
Qi,t
Mult
Mult
Add
Add
Sub
Div Div
Mult Mult
Add
Mult
Sub
Mult
Qi-1 Qi+1hi-1 hi+1
Add
Mult
Add
Mult
Sub
hi-1 hi+1
hi,t
H. 4 Kiến trúc một tế bào tính toán
Add/Sub
hi
hi+1
hi-1
Các
thanh
ghi
TG
hi-1
Qi,t
hi-1, hi+1 Qi-1, Qi+1
hi
hi+1
hi-1
Mult Div Control
99
Page 4
7/31/2019 Cấu hình chip CNN giải bài toán thủy lực một chiều bằng công nghệ FPGA
http://slidepdf.com/reader/full/cau-hinh-chip-cnn-giai-bai-toan-thuy-luc-mot-chieu-bang-cong 4/5
H ội nghị toàn quố c về Điề u khiể n và T ự động hoá - VCCA-2011
VCCA-2011
Ngoài các khối tính toán, ta còn phải sử dụng tài
nguyên để lưu trữ dữ liệu. Với chip XC6VLX240T-
1FFG1156 ta sử dụng bộ nhớ RAM 36K có sẵn.
Mạch tính toán được thiết kế như trong Hình 6, dữliệu đưa vào RAM qua máy PC (dạng file data)
hoặc nạp trực tiếp từ cảm biến đo . Trường hợp thực
nghiệm ở đây là nạp trực tiếp dữ liệu vào RAM. Có6 đầu vào song song và cần 6 bộ nhớ RAM cho mỗicặp tế bào h,Q (ứng với các giá tr ị biến trong
phương trình sai phân hi-1;hi;hi+1;Qi-1;Qi;Qi+1) cho
phép đưa dữ liệu vào khối tính toán để tính toán
được một đầu ra cho đại lượng h,Q.
Để giải quyết vấn đề trên nhóm đã sử dụng thêm
thanh ghi dịch cho 3 giá trị liên tục đọc dữ liệu vàokhối tính toán (Hình 7). Giải pháp này tiết kiệm bộ
nhớ RAM chỉ thêm có 02 xung ban đầu sau đó mỗilần đọc chỉ cần 1 xung).
Tính toán tài nguyên sử dụng cho việc cấu hìnhchip
Tài nguyên lưu trữ dữ liệu
Mỗi phần tử (h, Q) cần 32 bit lưu trữ, số bit nhớ RAM của vertex 6 là:
416 x36 Kb (1024 bit) = 15 335 424 bit
từ đó ta tính đượ c số phần tử (h, Q) có thể thiết k ế:
15335424239,616
2x32
Tài nguyên dành cho tính toán
Tài nguyên của chip sử dụng cho cấu hình mạng
gồm: 150,726 LUT; 301,440 REG;768 DSP.
Ta có hai giải pháp như đã phân tích ở trên, nhóm
đã chọn giải pháp Pipelines để làm thực nghiệm.
Như tính toán trên ta có thể cấu hình đượ c 24 khối,
mỗi khối khoảng 10 000 phần tử (h,Q), tính đượ ccho không gian 24x10 000 là 24 000 điểm. Tốc độ
tính toán hết (7+49) CLK = 56 CLK (560 ns) cho
một lần tính. Thực tế, nhóm đã thực nghiệm tính
toán cho 500 điểm, 50 lần tính; không gian tính
toán là 500x50 tương ứng vớ i dòng sông dài 250
km, tính toán cho 500 điểm dọc theo chiều dài,
khoảng cách giữa hai điểm tính là 500 m.
4. Kết quả thự c nghiệm
Nhóm nghiên cứu đã cấu hình và tính toán trên chip
XC6VLX240T-1FFG1156, hệ thống k ết nối giữa
máy PC và chip như trong Hình 8.
Hình 9 cho thấy k ết quả tính toán trên không gian
tính toán cho 500x50 của độ cao mực nướ c h.
Hình 10 là k ết quả tính toán lưu lượ ng mực nướ c Q
H. 6 Ghép giữa khối tính toán và bộ nhớ RAM
M36K
RAM h
Qi
Qi-1
Qi+1
hi
hi-1
hi+1
3
Q2
1
0
Qk-2
k-1
Control
T1
M36K
RAM Q
h3
h2
h1
h0
hk-2
hk-1
H. 7 Sơ đồ mạch CNN t ối ưu dùng thanh ghi dịch
Q3
Q2
Q1
Q0
Qk-2
Qk-1
Control
T1
TG
dịch
M36K
RAM h
M36K
RAM Q
Qi+1
Qi
Qi-1
h3
h2
h1
h0
hk-2
hk-1
hi+1
hi
hi-1
TG
dịch
H. 8 H ệ thố ng thiế t bị thự c nghiệm
H. 9 Hình ảnh k ế t quả tính toán của h
100
Page 5
7/31/2019 Cấu hình chip CNN giải bài toán thủy lực một chiều bằng công nghệ FPGA
http://slidepdf.com/reader/full/cau-hinh-chip-cnn-giai-bai-toan-thuy-luc-mot-chieu-bang-cong 5/5
H ội nghị toàn quố c về Điề u khiể n và T ự động hoá - VCCA-2011
VCCA-2011
5. Kết luậnBài báo giớ i thiệu giải pháp phân tích thiết k ế và
cầu hình chip CNN giải bài toán thủy lực chiều.
Thông qua việc thực nghiệm, nhóm nghiên cứu đãkhai thác tốt tài nguyên của chip XCVL240T-
1FFG1156 để thực thi thuật toán CNN ứng dụng
giải phương trình đạo hàm riêng. Từ mô hình này,có thể dễ dàng phát triển cho các bài toán tính toán
ứng dụng khác. Tiếp theo nhóm sẽ phát triển cho
một số bài toán phức tạp hơn.
Tài liệu tham khảo [1] Chua, L.O.; Yang, L.: Cellular Neural
Networks: Theory. IEEE Trans. Circuits Syst.
Vol.35, 1998.
[2] Ouarit, H.; Lefèvre, L.; Georges, L.;
Begovich, O.: A Way to Deal with Nonlinear
[3] Boundary Condition in Open-Channel
Optimal Control Problems. Proceeding of the42nd IEEE Conference on Decision and
Control Maui, Hawaii USA, 2003.
[4] Georges, D.; Dulhoste, J. F.; Besancon, G.: A
note on feedback Linearizing Control for
Open-Channel Hydraulic System. Conf. on
Control Application Glasgow, Scotland UK,
2002.[5] Thai, V.D.; Cat, P.T.: Solving Saint Venant
Equation Describing an Open Hydraulic
Channel Employing Cellular Neural Network .
Proceeding of 13th International Conference
on Mechatronics Technology (ICMT2009),
Cebu, Philippines, 2009.[6] Thai, V.D.; Cat, P.T.: Equivalence and
Stability of Two-layer Cellular Neural
Network Solving Saint Venant 1D Equation.
Proceeding (ISI) of 11th International
Conference on Control, Automation, Robotics
and Vision (ICARCV2010), Singapore. Trên
website: http://IEEE.explorer.com.
Vũ Đứ c Thái sinh năm1964, nhận bằng Cử nhânkhoa học tại ĐHSP HàNội 1 năm 1987. Nhận
bằng Kỹ sư CNTT củatrường ĐHBK Hà Nội năm2000. Nhận bằng Thạc sĩ Khoa học máy tính năm2002.
Bắt đầu công tác tại trường ĐHSP thuộc ĐH TháiNguyên, nay đang công tác tại trường đại học Công
nghệ thông tin và Truyền thông-ĐH Thái Nguyên.
Đang là NCS tại Viện CNTT-Viện KH&CN Việt
Nam, với đề tài nghiên cứu về công nghệ mạng nơ ron tế bào ứng dụng trong việc giải phương trình vi
phân đạo hàm riêng.
Bùi Văn Tùng sinh năm1984, nhận bằng Kỹ sưCNTT của trườ ng Đại học
CNTT&TT - Đại học Thái
Nguyên năm 2007.
Đang công tác tại khoa
Điều khiển tự động hóa,
trườ ng đại học Công nghệ
thông tin và Truyền thông
thuộc đại học Thái Nguyên. Là học viên Cao học
tại Đại học Bách Khoa Hà Nội.
Pham Thuong Cat is aHonorary Research
Professor in Computational
Sciences of Computer and
Automation Research
Institute of the Hungarian
Academy of Sciences. He isthe Editor-in-Chief of the
Journal of Computer Science and Cybernetics of
the Vietnamese Academy of Science and
Technology (VAST) and a Senior Researcher of the
Institute of Information Technology of VAST. He
is the representative of the Vietnam NMO at the
International Federation of Automatic Control
(IFAC) and the Vice President of the Vietnamese
Association of Mechatronics. His research interests
include robotics, control theory, cellular neural
networks and embedded control systems. He co-
authored 3 books and published over 140 papers on
national and international journals and conference
proceedings.
H. 10 Hình ảnh k ế t quả tính toán của Q
101