《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于ARM和FPGA的NoC資源網(wǎng)絡(luò)接口驅(qū)動設(shè)計與實(shí)現(xiàn)
基于ARM和FPGA的NoC資源網(wǎng)絡(luò)接口驅(qū)動設(shè)計與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2013年第13期
許川佩,孫義軍,吳玉龍
(桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林 541004)
摘要: 將ARM處理器作為NoC系統(tǒng)中的一個資源節(jié)點(diǎn),設(shè)計了資源網(wǎng)路接口,基于Linux操作系統(tǒng)的基礎(chǔ)上,編寫了FPGA設(shè)備的驅(qū)動程序。在典型的3×3 2D Mesh結(jié)構(gòu)的NoC系統(tǒng)中進(jìn)行了測試,結(jié)果表明該設(shè)計實(shí)現(xiàn)了ARM處理器資源節(jié)點(diǎn)和NoC系統(tǒng)中其他IP核數(shù)據(jù)的高速、可靠傳輸。
Abstract:
Key words :

摘  要:ARM處理器作為NoC系統(tǒng)中的一個資源節(jié)點(diǎn),設(shè)計了資源網(wǎng)路接口,基于Linux操作系統(tǒng)的基礎(chǔ)上,編寫了FPGA設(shè)備的驅(qū)動程序。在典型的3×3 2D Mesh結(jié)構(gòu)的NoC系統(tǒng)中進(jìn)行了測試,結(jié)果表明該設(shè)計實(shí)現(xiàn)了ARM處理器資源節(jié)點(diǎn)和NoC系統(tǒng)中其他IP核數(shù)據(jù)的高速、可靠傳輸。
關(guān)鍵詞: NoC;ARM;Linux;設(shè)備驅(qū)動;資源網(wǎng)絡(luò)接口

 在半導(dǎo)體工藝進(jìn)入深亞微米時代后,由于SoC(System-on Chip)大多采用類似計算機(jī)系統(tǒng)的總線結(jié)構(gòu),使其存在著通信效率低下、全局同步時鐘設(shè)計困難等問題,這些問題使得SoC體系結(jié)構(gòu)以及其相應(yīng)的設(shè)計方法在多核的復(fù)雜系統(tǒng)中遇到了無法逾越的障礙。為了解決SoC面臨的上述問題,提出了全新的NoC(Network-on-chip)體系結(jié)構(gòu)[1]。NoC技術(shù)的核心是將計算機(jī)網(wǎng)絡(luò)通信的思想移植到芯片設(shè)計中來,它采用路由和分組交換技術(shù)替代傳統(tǒng)的總線通信方式,從體系結(jié)構(gòu)上徹底解決了片上系統(tǒng)的通信瓶頸和時鐘問題。
 目前各國的研究人員正積極從事NoC設(shè)計研究,但缺少成熟技術(shù)和產(chǎn)品。本設(shè)計在開展NoC設(shè)計技術(shù)研究的基礎(chǔ)上,將ARM處理器作為NoC的其中一個資源節(jié)點(diǎn),利用ARM處理器功能強(qiáng)大等特點(diǎn),拓展NoC的應(yīng)用。
本文通過向ARM處理器中移植Linux操作系統(tǒng),在此基礎(chǔ)上進(jìn)行了資源網(wǎng)絡(luò)接口和FPGA的設(shè)備驅(qū)動設(shè)計,并對多核系統(tǒng)之間的大量數(shù)據(jù)高速傳輸通信進(jìn)行了探索和驗證。
1 NoC系統(tǒng)模型及硬件平臺
 NoC是由通信節(jié)點(diǎn)網(wǎng)絡(luò)和資源節(jié)點(diǎn)組成,通信資源網(wǎng)絡(luò)包括路由節(jié)點(diǎn)和資源網(wǎng)絡(luò)接口RNI(Resource-Network-Interface),通信節(jié)點(diǎn)負(fù)責(zé)資源節(jié)點(diǎn)之間的數(shù)據(jù)通信,資源節(jié)點(diǎn)完成廣義上的計算任務(wù),資源節(jié)點(diǎn)可以是嵌入式微處理器和DSP核、可重構(gòu)器件、輸入輸出設(shè)備等,它通過資源網(wǎng)絡(luò)接口連接到片上網(wǎng)絡(luò)中。資源網(wǎng)絡(luò)接口是資源節(jié)點(diǎn)與路由節(jié)點(diǎn)之間進(jìn)行通信的橋梁,主要由發(fā)送模塊和接收模塊組成。其功能是將資源節(jié)點(diǎn)的數(shù)據(jù)按照傳輸協(xié)議進(jìn)行打包處理后發(fā)送到片上網(wǎng)絡(luò)中,并從將網(wǎng)絡(luò)中接收提取有用數(shù)據(jù)傳遞給資源節(jié)點(diǎn)。NoC系統(tǒng)模型如圖1所示。

 本硬件平臺選用Altera Cyclone IV系列的EP4CE115F29 FPGA芯片作為NoC系統(tǒng)的核心部件[2],在此FPGA中以規(guī)則的3×3 2D-Mesh拓?fù)浣Y(jié)構(gòu)[3],虛通道技術(shù)的蟲洞數(shù)據(jù)交換方式以及無鎖死的確定性XY維序路由算法作為理論模型,完成NoC通信框架的構(gòu)建。本設(shè)計將ARM處理器作為NoC系統(tǒng)其中一個資源節(jié)點(diǎn),通過資源網(wǎng)絡(luò)接口和FPGA設(shè)備驅(qū)動實(shí)現(xiàn)ARM與NoC系統(tǒng)其他資源節(jié)點(diǎn)之間數(shù)據(jù)的交互。
2 ARM處理器資源網(wǎng)絡(luò)接口設(shè)計
 資源網(wǎng)絡(luò)接口負(fù)責(zé)將ARM資源節(jié)點(diǎn)的輸出數(shù)據(jù)進(jìn)行組包并發(fā)送至路由節(jié)點(diǎn),完成接收處理片上網(wǎng)絡(luò)傳遞的數(shù)據(jù)包,并通過中斷方式通知ARM資源節(jié)點(diǎn)接收數(shù)據(jù)。因此設(shè)計分為資源網(wǎng)絡(luò)接口發(fā)送和接收兩個部分。
2.1 ARM資源節(jié)點(diǎn)和路由節(jié)點(diǎn)接口結(jié)構(gòu)
 ARM資源節(jié)點(diǎn)和路由節(jié)點(diǎn)之間交換數(shù)據(jù)是異步時鐘域通信,因此涉及到數(shù)據(jù)接口的同步問題,對于隨機(jī)到達(dá)的數(shù)據(jù),需要建立數(shù)據(jù)同步機(jī)制,通過RAM或者FIFO的緩存實(shí)現(xiàn)數(shù)據(jù)同步,可將前級模塊提供的時鐘作為寫時鐘,使用后級的基本時鐘產(chǎn)生讀信號,完成數(shù)據(jù)讀出。通過這種方式實(shí)現(xiàn)全局異步局部同步(GALS)的設(shè)計。
 本文在FPGA中構(gòu)建異步FIFO來完成ARM資源節(jié)點(diǎn)和路由節(jié)點(diǎn)異步時鐘域之間的數(shù)據(jù)傳送。根據(jù)設(shè)計的NoC系統(tǒng)中通信節(jié)點(diǎn)整體架構(gòu),在RNI中構(gòu)建兩個異步FIFO,F(xiàn)IFO的存儲深度設(shè)置為8,寬度設(shè)置為34位,ARM和路由節(jié)點(diǎn)通信時可以根據(jù)實(shí)際的數(shù)據(jù)位寬和FIFO進(jìn)行連接。ARM資源節(jié)點(diǎn)和路由節(jié)點(diǎn)的連接如圖2所示。

2.2 資源網(wǎng)絡(luò)接口發(fā)送模塊設(shè)計
 ARM資源節(jié)點(diǎn)發(fā)出的數(shù)據(jù)在片上網(wǎng)絡(luò)中傳輸需要經(jīng)過RNI對數(shù)據(jù)進(jìn)行相應(yīng)的打包處理,然后將數(shù)據(jù)送到路由節(jié)點(diǎn)中,經(jīng)過路由傳輸后送達(dá)目的路由,由目的路由RNI對數(shù)據(jù)解包后發(fā)送給目的資源節(jié)點(diǎn)。為了能使數(shù)據(jù)包正確到達(dá)目的節(jié)點(diǎn),一個完整的數(shù)據(jù)包在經(jīng)過RNI后被分為若干個微片(flit),flit分為3種類型,即頭微片、數(shù)據(jù)微片和尾微片。頭flit攜帶數(shù)據(jù)包源地址、目的地址、數(shù)據(jù)包長度等信息,尾微片代表著數(shù)據(jù)包的終結(jié),數(shù)據(jù)微片表示傳遞的有效數(shù)據(jù)。路由節(jié)點(diǎn)根據(jù)數(shù)據(jù)攜帶的地址信息將資源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。發(fā)送模塊主要由三個部分組成:輸入緩存器(FIFO A)、組包器和控制器。
 ARM資源節(jié)點(diǎn)在向路由發(fā)送數(shù)據(jù)之前首先檢測PORT_AV是否有效(高電平有效),若有效則將數(shù)據(jù)緩存到FIFO A中,在S1狀態(tài)控制器檢測到該FIFO中有數(shù)據(jù)就會向路由的本地方向發(fā)送數(shù)據(jù)傳輸?shù)恼埱笮盘杛eq_to_local,并且進(jìn)入S2狀態(tài)。S2狀態(tài)判斷本地方向是否給出應(yīng)答信號grant_from_local,若沒有則返回S1同時清除請求信號。如果有應(yīng)答信號則進(jìn)入S3狀態(tài)。S3狀態(tài)將輸入緩存器中的數(shù)據(jù)送到本地方向,完成了數(shù)據(jù)從ARM資源節(jié)點(diǎn)到片上網(wǎng)絡(luò)的傳遞。模塊運(yùn)行的狀態(tài)轉(zhuǎn)移圖如圖3所示。

2.3 資源網(wǎng)絡(luò)接口接收模塊設(shè)計
 ARM處理器的資源網(wǎng)絡(luò)接口接收模塊對接收數(shù)據(jù)進(jìn)行解包處理,提取有用的數(shù)據(jù)發(fā)給資源節(jié)點(diǎn)。接收模塊主要由輸出緩存器和應(yīng)答器組成,異步FIFO B是輸出緩存器,用它來存放從路由本地方向發(fā)送過來的數(shù)據(jù),應(yīng)答器是根據(jù)FIFO B存儲狀態(tài)對路由的請求給予對應(yīng)的響應(yīng)。接收過程具體的狀態(tài)轉(zhuǎn)移圖如圖4所示。
在S0狀態(tài)中,數(shù)據(jù)傳輸?shù)铰酚杀镜胤綍騌NI發(fā)送數(shù)據(jù)傳送請求信號req_from_local,在S1狀態(tài)應(yīng)答器根據(jù)輸出緩沖器FIFO B的存儲情況給出應(yīng)答信號grant_to_local。路由器在收到應(yīng)答信號后將數(shù)據(jù)寫到RNI的FIFO B中。在S2狀態(tài)中應(yīng)答器檢測到FIFO B中存在有效數(shù)據(jù)時就會向ARM資源節(jié)點(diǎn)發(fā)送讀數(shù)據(jù)請求信號receive_req。這個信號是直接連接到ARM的硬件中斷上,ARM資源節(jié)點(diǎn)捕獲這個中斷信號會在S3狀態(tài)給RNI模塊提供讀數(shù)據(jù)時鐘rclk和輸出緩沖器的讀使能信號read_en_in,進(jìn)而完成ARM資源節(jié)點(diǎn)接收片上網(wǎng)絡(luò)傳來的數(shù)據(jù)。

3 FPGA設(shè)備的Linux驅(qū)動程序設(shè)計
 ARM處理器資源節(jié)點(diǎn)選用的是SamSung公司的S3C24XX系列處理器[4],并向其中移植了嵌入式Linux操作系統(tǒng)。其內(nèi)核功能強(qiáng)大,性能高效穩(wěn)定且源代碼開放,這使得設(shè)計者可以根據(jù)實(shí)際的需要對操作系統(tǒng)進(jìn)行裁減以降低整個系統(tǒng)資源的開銷和功耗。
 為了使FPGA能夠在Linux操作系統(tǒng)中工作,為其設(shè)計了相應(yīng)的設(shè)備驅(qū)動程序。設(shè)備驅(qū)動程序是應(yīng)用程序和實(shí)際設(shè)備之間的軟件層。它為應(yīng)用程序屏蔽了設(shè)備硬件工作的細(xì)節(jié),在應(yīng)用程序中只需要通過一組標(biāo)準(zhǔn)化調(diào)用完成對硬件設(shè)備的操作[5]。
 本文ARM資源節(jié)點(diǎn)通過設(shè)備驅(qū)動實(shí)現(xiàn)和FPGA之間數(shù)據(jù)的通信。FPGA設(shè)備驅(qū)動程序?qū)崿F(xiàn)的主要功能是:(1)初始化FPGA模塊,注冊FPGA設(shè)備,申請中斷號等。(2)通過ioremap()將資源網(wǎng)絡(luò)接口中輸入輸出緩沖器的物理地址映射到內(nèi)核虛擬空間。(3)捕獲資源網(wǎng)絡(luò)接口發(fā)出的中斷信號,并對中斷事件進(jìn)行處理。(4)根據(jù)應(yīng)用系統(tǒng)要求完成讀寫操作程序的設(shè)計。
3.1 驅(qū)動硬件接口
 FPGA采用存儲總線的方式直接連接在S3C2440的AHB總線上,將其作為ARM處理器的一個外部存儲器進(jìn)行讀寫操作,硬件連接如圖2所示,其主要連接有16位寬的數(shù)據(jù)線,地址線以及讀、寫、中斷和片選信號線參照S3C2440存儲控制器的地址空間分布圖,將FPGA設(shè)置到bank5的地址空間中,對應(yīng)的片選信號線為nGCS5,在FPGA內(nèi)部構(gòu)造了兩個異步FIFO (FIFO A、B)作為資源網(wǎng)絡(luò)接口的輸入、輸出緩沖器,ARM通過訪問異步FIFO完成和FPGA的數(shù)據(jù)通信。
3.2 驅(qū)動的軟件設(shè)計

 


 FPGA設(shè)備驅(qū)動首先在初始化模塊中向Linux操作系統(tǒng)申請設(shè)備號,申請成功后,該設(shè)備獲得了系統(tǒng)分配的主設(shè)備號,并建立起與文件系統(tǒng)的關(guān)聯(lián)。關(guān)聯(lián)成功后,在應(yīng)用層可以通過read()、write()、ioctl()等常規(guī)的文件操作對FPGA設(shè)備進(jìn)行操作。
 驅(qū)動程序為資源網(wǎng)絡(luò)接口的輸入、輸出緩沖器分別分配物理地址,程序不能直接通過物理地址來訪問I/O內(nèi)存資源,必須通過內(nèi)核函數(shù)ioremap()將緩沖器占用的物理地址映射到內(nèi)核虛擬空間中。在此基礎(chǔ)上結(jié)合系統(tǒng)讀寫網(wǎng)絡(luò)資源接口的策略完成驅(qū)動程序設(shè)計,讀寫資源網(wǎng)絡(luò)接口的程序流程圖如圖5(a)、(b)所示。

 為了提高系統(tǒng)的效率,避免當(dāng)設(shè)備資源不可用時,用戶不停查詢浪費(fèi)CPU資源,在驅(qū)動程序中設(shè)計了阻塞操作,使用等待隊列來實(shí)現(xiàn)阻塞進(jìn)程的休眠和喚醒。應(yīng)用程序進(jìn)行read()函數(shù)的系統(tǒng)調(diào)用時,若RNI模塊中的輸入緩沖器中沒有數(shù)據(jù),驅(qū)動程序則將該讀進(jìn)程添加到等待隊列頭中,使該進(jìn)程進(jìn)入休眠狀態(tài),CPU將資源讓給其他進(jìn)程。當(dāng)輸入緩沖器中的數(shù)據(jù)達(dá)到閾值時RNI就會向ARM資源節(jié)點(diǎn)發(fā)出讀數(shù)據(jù)請求信號,ARM資源節(jié)點(diǎn)通過中斷來捕獲這個通知,在驅(qū)動程序的中斷處理函數(shù)喚醒休眠的讀進(jìn)程,將輸入緩沖器中的數(shù)據(jù)中讀取到內(nèi)核中,然后通過copy_to_user()將數(shù)據(jù)傳遞到用戶空間進(jìn)行相應(yīng)的處理。類似的,應(yīng)用程序中進(jìn)行write()函數(shù)的系統(tǒng)調(diào)用時,ARM處理器通過copy_from_user()將數(shù)據(jù)發(fā)送到RNI中。
4 資源網(wǎng)絡(luò)接口和驅(qū)動功能驗證
 本設(shè)計在實(shí)驗室自行開發(fā)的NoC硬件平臺上進(jìn)行了運(yùn)行測試,對于運(yùn)行結(jié)果使用Quartus II 11.0集成開發(fā)軟件下的Signal Tap II嵌入式邏輯分析器進(jìn)行測試。在測試程序中可以利用它捕捉通信接口相應(yīng)的時序。
 程序運(yùn)行時,使用Signal Tap II觀測ARM資源節(jié)點(diǎn)發(fā)送數(shù)據(jù)到路由節(jié)點(diǎn)的時序如圖6所示。從圖中觀測可知數(shù)據(jù)data_to_local和datain_receive一致,說明數(shù)據(jù)傳輸正確性。

 ARM資源節(jié)點(diǎn)通過接收NoC系統(tǒng)中其他資源節(jié)點(diǎn)發(fā)送來的數(shù)據(jù),驗證資源網(wǎng)絡(luò)接口以及驅(qū)動通信接收功能的正確性。在程序運(yùn)行時ARM資源節(jié)點(diǎn)將接收到的數(shù)據(jù)在終端打印出來,經(jīng)觀察終端顯示的數(shù)據(jù)和該資源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)是一致的。實(shí)際測試結(jié)果表明所設(shè)計資源網(wǎng)絡(luò)接口和驅(qū)動功能的正確性。
 本文給出了ARM處理器資源節(jié)點(diǎn)與NoC系統(tǒng)的網(wǎng)絡(luò)資源接口設(shè)計,并且闡述在嵌入式Linux2.6.30內(nèi)核下數(shù)據(jù)通信的驅(qū)動的設(shè)計和實(shí)現(xiàn)過程。系統(tǒng)在此設(shè)計的基礎(chǔ)上充分利用ARM及其豐富的外設(shè)資源,完成了ARM處理器資源節(jié)點(diǎn)對NoC系統(tǒng)的其他資源節(jié)點(diǎn)進(jìn)行控制以及數(shù)據(jù)處理等功能。ARM處理器有豐富的外設(shè)接口,能夠穩(wěn)定地運(yùn)行移植到芯片中的Linux操作系統(tǒng),以ARM處理器作為NoC片上多核系統(tǒng)的資源節(jié)點(diǎn)可以極大地拓展NoC系統(tǒng)應(yīng)用空間。
參考文獻(xiàn)
[1] BENINI L, MICHELI G D. Network on chip:A new SoC paradigm[J]. IEEE Computer, 2002, 3(1):70-78.
[2] Altera Inc. Cyclone IV device handbook[Z] . http://www.altera.com, 2010.
[3] 高明倫,杜高明.NoC:下一代集成電路主流設(shè)計技術(shù)[J].微電子學(xué),2006,36(4).
[4] Samsung. S3C2440 32-bit Microcontroller User′s manual[Z]. http://www.samsung.com,2004.
[5] CORBET J, RUBINI A, HARTMAN G K.Linux設(shè)備驅(qū)動程序(第3版)[M].魏永明,譯.北京:中國電力出版社,2006.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美性久久久| 亚洲国产天堂久久综合网| 久久久伊人欧美| 午夜精品成人在线| 亚洲天堂av在线免费| 日韩午夜在线视频| 亚洲精品美女91| 亚洲国产精品成人综合| 欧美一区二区日韩一区二区| 亚洲在线成人| 午夜精品久久久久久久99水蜜桃 | 尤物yw午夜国产精品视频| 国产一区二区三区丝袜| 国产亚洲在线观看| 国产自产精品| 韩国一区电影| 在线观看日韩专区| 亚洲欧洲久久| 亚洲巨乳在线| 在线综合欧美| 午夜精品久久久久影视| 欧美亚洲网站| 亚洲黄色免费网站| 99热免费精品| 亚洲欧美日韩视频一区| 香蕉久久夜色精品国产使用方法| 香蕉免费一区二区三区在线观看| 午夜精品在线观看| 欧美在线免费观看视频| 久久久精品日韩| 欧美大片一区二区| 欧美日韩国产麻豆| 国产精品久久久久久亚洲调教 | 国产精品视频99| 国产女人精品视频| 狠色狠色综合久久| 亚洲国产一区二区在线| 妖精成人www高清在线观看| 亚洲一区中文字幕在线观看| 欧美亚洲一区三区| 亚洲国产精品专区久久| 一本大道久久a久久精品综合| 亚洲欧美日本精品| 久久久久久婷| 欧美激情五月| 国产精品日韩久久久| 激情成人av| 日韩午夜av| 午夜亚洲精品| 亚洲美女尤物影院| 午夜精品福利在线| 久久亚洲一区二区| 欧美日韩精品免费观看| 国产亚洲第一区| 亚洲精品乱码久久久久久黑人| 亚洲一区二区三区精品动漫| 久久精品一区| 亚洲一区在线直播| 鲁大师影院一区二区三区| 欧美日韩精品一区二区在线播放| 国产精品欧美在线| 在线观看成人av| 亚洲午夜久久久| 亚洲日本在线视频观看| 午夜视频一区二区| 欧美精品在线播放| 国产亚洲成av人在线观看导航| 91久久精品国产91久久性色| 亚洲欧美电影院| 亚洲精品久久久久久久久久久久| 性欧美激情精品| 欧美精品一区二区久久婷婷| 国产日韩一区二区| 一本色道久久加勒比精品| 久久精品视频在线看| 亚洲制服av| 欧美国产欧美亚洲国产日韩mv天天看完整 | 99精品久久久| 久久免费视频网| 国产精品成人久久久久| 亚洲福利在线观看| 欧美一区二区| 亚洲欧美日韩专区| 欧美黑人国产人伦爽爽爽| 国产婷婷色综合av蜜臀av| 日韩天堂av| 亚洲理伦电影| 免费观看国产成人| 国产一区二区三区日韩| 制服丝袜亚洲播放| 亚洲作爱视频| 欧美国产日韩一区| 黄色一区二区三区| 香港久久久电影| 亚洲欧美国产精品va在线观看| 欧美韩日视频| 亚洲国产成人av在线| 久久不射中文字幕| 欧美在线观看视频在线| 国产精品高潮呻吟| 一区电影在线观看| 正在播放亚洲一区| 欧美大片第1页| 亚洲成人资源网| 久久精品国产99精品国产亚洲性色| 午夜在线不卡| 国产精品v亚洲精品v日韩精品| 亚洲精品国产精品国自产观看浪潮| 亚洲国产裸拍裸体视频在线观看乱了| 久久精品免费播放| 国产伦精品一区二区三区免费| 一区二区av在线| 亚洲性感激情| 欧美视频一区二| 日韩一级片网址| 亚洲视频一区二区| 欧美日韩中文在线| 日韩视频在线观看免费| 一区二区三区国产盗摄| 欧美激情小视频| 亚洲美女淫视频| 亚洲香蕉视频| 国产精品理论片| 亚洲欧美久久久久一区二区三区| 午夜精品一区二区三区在线播放| 国产精品二区三区四区| 亚洲先锋成人| 久久av资源网站| 狠狠色丁香婷婷综合久久片| 久久se精品一区精品二区| 久久久亚洲欧洲日产国码αv| 国内成+人亚洲| 亚洲国产精品久久精品怡红院| 久久亚洲色图| 亚洲第一福利视频| 99国产麻豆精品| 欧美视频一区二区| 亚洲综合视频网| 久久精品日韩| 在线观看日韩av| 一区二区不卡在线视频 午夜欧美不卡在 | 久久大逼视频| 一区二区三区自拍| 亚洲精品免费在线| 欧美日韩午夜视频在线观看| 亚洲一区二区久久| 久久久国产视频91| 亚洲国产精品久久| 亚洲午夜精品在线| 国产女人18毛片水18精品| 久久福利毛片| 欧美国产免费| 亚洲视频一区二区| 久久久久久亚洲精品杨幂换脸 | 一区二区免费在线观看| 国产精品久久久久7777婷婷| 亚洲欧美一区二区激情| 久久日韩精品| 亚洲精品国精品久久99热一| 亚洲综合视频网| 黄色亚洲大片免费在线观看| 亚洲免费成人av电影| 国产精品video| 久久精品1区| 欧美日韩另类视频| 亚洲欧美一区二区三区久久| 免费看的黄色欧美网站| 亚洲最黄网站| 久久伊人一区二区| 日韩午夜激情| 久久精品国产一区二区三| 亚洲人成啪啪网站| 欧美一区二视频在线免费观看| 在线日韩日本国产亚洲| 亚洲欧美999| 在线不卡欧美| 亚洲欧美日韩综合一区| 永久免费视频成人| 午夜精品久久| 亚洲精品国产系列| 久久精品欧美日韩精品| 日韩写真在线| 久久综合婷婷| 亚洲——在线| 欧美激情一区三区| 校园春色国产精品| 欧美日韩系列| 亚洲国产精品热久久| 国产精品萝li| 亚洲精品在线免费| 国产视频欧美视频| 亚洲一区二区视频在线观看| 黄色成人免费网站| 亚洲男人的天堂在线aⅴ视频| 又紧又大又爽精品一区二区| 亚洲第一精品福利| 久久久久国产精品一区| 国产色产综合产在线视频| 一本色道久久综合狠狠躁的推荐| 国产性做久久久久久|