• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    低延時(shí)的浮點(diǎn)正弦余弦函數(shù)硬件實(shí)現(xiàn)算法

    2021-11-16 11:22:34梁峰劉春銳李孝聰邱廣波張繼陳振嬌李薇敏曹琪雷紹充
    關(guān)鍵詞:浮點(diǎn)數(shù)浮點(diǎn)余弦

    梁峰, 劉春銳, 李孝聰, 邱廣波, 張繼, 陳振嬌, 李薇敏, 曹琪, 雷紹充

    (1.西安交通大學(xué)微電子學(xué)院, 710049, 西安; 2.中國電子科技集團(tuán)公司第五十八研究所, 214035, 江蘇無錫)

    具有正弦余弦函數(shù)計(jì)算能力的集成電路已被廣泛應(yīng)用于各個(gè)領(lǐng)域。通用芯片CPU、GPU和DSP中也有專門進(jìn)行正弦余弦函數(shù)運(yùn)算的硬件單元,例如TI的TMX320系列DSP芯片,其上有一個(gè)硬件紋理映射單元(TMU),專門用于實(shí)現(xiàn)超越函數(shù)的快速計(jì)算。

    傳統(tǒng)的正弦余弦函數(shù)的硬件實(shí)現(xiàn),主要采用坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī)(CORDIC)算法[1]。CORDIC算法的優(yōu)勢在于電路面積小,僅用移位寄存器和加法器/減法器就可以實(shí)現(xiàn)計(jì)算。但其缺點(diǎn)在于,它的收斂速度較慢,通常一輪迭代只能增加一個(gè)有效數(shù)字。對(duì)于單精度浮點(diǎn)運(yùn)算,CORDIC算法需要較多的時(shí)鐘周期才能使結(jié)果達(dá)到單精度浮點(diǎn)所要求的精度。基于此,有許多改進(jìn)的CORDIC算法如Para-CORDIC[2-3]、Hybrid CORDIC[4]、Scale-Free CORDIC[5-7]等,或者使用循環(huán)展開的方式在一個(gè)時(shí)鐘周期內(nèi)做多輪迭代[8-11]。這些方法在一定程度上縮短了CORDIC算法的延時(shí),但是仍滿足不了低延時(shí)計(jì)算的需求。

    除CORDIC算法外,有些設(shè)計(jì)采用了多項(xiàng)式擬合法[12-13]、泰勒級(jí)數(shù)展開法[14-15]、冪級(jí)數(shù)展開法[16-17]等算法。這些算法收斂速度較快,但是需要大量的乘法運(yùn)算才能得到單精度浮點(diǎn)所需精度。

    為了解決正弦余弦函數(shù)計(jì)算延時(shí)較大這一問題,本文提出了一種低延時(shí)的浮點(diǎn)正弦余弦函數(shù)硬件算法。該算法采用分段的思想將單精度浮點(diǎn)數(shù)輸入按照指數(shù)范圍的不同劃分為3個(gè)不同區(qū)域,在這3個(gè)不同區(qū)域內(nèi)分別采用不同的算法來保證計(jì)算的精度。同時(shí),保證整體硬件模塊在4個(gè)周期內(nèi)完成計(jì)算。

    本文結(jié)構(gòu)主要分為算法、電路設(shè)計(jì)和實(shí)驗(yàn)結(jié)果3個(gè)部分。算法部分采用了3個(gè)算法,分別是泰勒0階近似法、泰勒1階近似法[18]和直接計(jì)算。由于泰勒0階近似和直接計(jì)算比較簡單,本文重點(diǎn)分析泰勒1階近似算法。相應(yīng)的,電路設(shè)計(jì)部分也將重點(diǎn)放在泰勒1階近似算法的實(shí)現(xiàn)上。在實(shí)驗(yàn)結(jié)果部分,本文使用verilog硬件描述語言實(shí)現(xiàn)了提出的算法和電路結(jié)構(gòu),完成了精度測試,并在聯(lián)電UMC 55nm的工藝和Altera Cyclone IV的平臺(tái)上進(jìn)行了邏輯綜合。結(jié)果表明,該浮點(diǎn)正弦余弦函數(shù)硬件算法的計(jì)算精度與標(biāo)準(zhǔn)C語言math庫單精度正弦余弦函數(shù)的計(jì)算精度相比,最多僅相差1個(gè)誤差單位(ulp),并且能夠在4個(gè)時(shí)鐘周期內(nèi)完成運(yùn)算,具有低延時(shí)的特點(diǎn)。

    1 低延時(shí)浮點(diǎn)正弦余弦函數(shù)硬件算法

    本節(jié)算法所述的正弦余弦函數(shù)的數(shù)學(xué)形式為sin(2πx)和cos(2πx)。如果要計(jì)算siny和cosy,可做變換y=2πx,將其轉(zhuǎn)換為sin(2πx)和cos(2πx)。在設(shè)計(jì)中使用sin(2πx)和cos(2πx)的形式,是因?yàn)樵谶@種形式下,可以容易地將運(yùn)算定點(diǎn)化,減少計(jì)算量,降低延時(shí)。

    1.1 將輸入的單精度浮點(diǎn)數(shù)劃分區(qū)域

    IEEE754標(biāo)準(zhǔn)所規(guī)定的一個(gè)規(guī)格化的單精度浮點(diǎn)數(shù)[19]x有32位,其中符號(hào)位為x[31];指數(shù)位有8位,從第31位到第23位,表示為x[30:23],它帶有127的偏階;尾數(shù)位有23位,從第22位到第0位,表示為x[22:0],它省略了一個(gè)隱含的整數(shù)位1。單精度浮點(diǎn)數(shù)x轉(zhuǎn)換為一個(gè)實(shí)數(shù)(-1)x[31](1+x[20:0]2-23)2x[30:23]-127。為了避免歧義,在上下文中用“指數(shù)”這一用語表示x[30:23]減去偏階127;用“尾數(shù)”表示{1′b1,x[22:0]},其中b代表二進(jìn)制,括號(hào)代表將其連接為23位二進(jìn)制數(shù)。

    圖1 正弦函數(shù)分段示意圖Fig.1 Sine function segmentation diagram

    對(duì)于正弦余弦函數(shù),根據(jù)其數(shù)學(xué)特性,將輸入按區(qū)間進(jìn)行分段計(jì)算,正弦函數(shù)分段如圖1所示。為了硬件容易實(shí)現(xiàn),可按輸入單精度浮點(diǎn)數(shù)的指數(shù)范圍進(jìn)行區(qū)間劃分。一方面,根據(jù)三角函數(shù)的性質(zhì),當(dāng)輸入單精度浮點(diǎn)數(shù)的指數(shù)大于等于22時(shí),該實(shí)數(shù)為(-1)x[31](1+x[22:0]2-23)2e,其中e為指數(shù),e≥22。此時(shí)該實(shí)數(shù)必然是整數(shù)或整數(shù)點(diǎn)五的形式(此時(shí)e=22且x[0]=1)。對(duì)cos(2πx)函數(shù),如果該實(shí)數(shù)為整數(shù),則結(jié)果為1.0;如果該實(shí)數(shù)為整數(shù)點(diǎn)五的形式,則結(jié)果為-1.0。對(duì)sin(2πx)函數(shù),無論該實(shí)數(shù)為哪種形式,結(jié)果均為0.0。由于指數(shù)大于等于22時(shí),計(jì)算非常簡單,因此在指數(shù)為22處進(jìn)行分段。另一方面,分析三角函數(shù)的數(shù)學(xué)性質(zhì)可知,當(dāng)輸入很小的時(shí)候有sin(2πx)≈2πx,cos(2πx)≈1.0,且輸入越小等號(hào)兩邊的值越接近。因此必然存在一個(gè)指數(shù)使得sin(2πx)與2πx的誤差以及cos(2πx)與1.0的誤差小于單精度浮點(diǎn)數(shù)所能表示的最小誤差。經(jīng)過計(jì)算得知,該指數(shù)為-16,因此在指數(shù)為-16處進(jìn)行分段。于是很自然的就將輸入的單精度浮點(diǎn)數(shù)按指數(shù)范圍劃分為[-126,-16]、[-15,21]和[22,126]3個(gè)區(qū)間。

    為了節(jié)省電路面積,可以將正弦和余弦函數(shù)合并為一個(gè)函數(shù),此處定義了一個(gè)1位的指示信號(hào)cs,當(dāng)計(jì)算正弦函數(shù)時(shí)cs=0,當(dāng)計(jì)算余弦函數(shù)時(shí)cs=1。分段算法的步驟如偽代碼所示。

    當(dāng)輸入的指數(shù)在[-15,21]之間時(shí),本文使用泰勒1階近似法進(jìn)行計(jì)算。在偽代碼中,用函數(shù)Taylor1(x,cs)表示在這個(gè)區(qū)間內(nèi)的計(jì)算方法。

    偽代碼:分段算法步驟

    輸入:單精度浮點(diǎn)數(shù)x,指示信號(hào)cs

    輸出:單精度浮點(diǎn)數(shù)y=sin(2πx)或y=cos(2πx)

    1: if (cs==0) then

    2: if (x[30:23]≥149) theny=0.0;

    3: else if (x[30:23]≤111) theny=2πx;

    4: elsey=Taylor1(x,cs);endif

    5: else

    6: if (x[30:23]≥150) theny=1.0;

    7: else if (x[30:23]==149) theny=

    (-1.0)x[0];

    8: else if (x[30:23]≤111) theny=1.0;

    9: elsey=Taylor1(x,cs);endif

    10: endif

    泰勒1階近似法的主要步驟為:首先從輸入的浮點(diǎn)數(shù)中提取符號(hào)標(biāo)志位sx,誘導(dǎo)公式標(biāo)志位f1、f2,構(gòu)造一個(gè)定點(diǎn)數(shù)f。然后通過誘導(dǎo)公式[20]等一系列變換,將對(duì)浮點(diǎn)數(shù)x的正弦或余弦值的計(jì)算轉(zhuǎn)換為對(duì)定點(diǎn)數(shù)f的正弦值的計(jì)算,得到sin(2πx)或cos(2πx)的定點(diǎn)數(shù)結(jié)果z。最后將該定點(diǎn)數(shù)結(jié)果z轉(zhuǎn)換成浮點(diǎn)數(shù)格式。

    1.2 將浮點(diǎn)運(yùn)算轉(zhuǎn)換為定點(diǎn)運(yùn)算

    將輸入的單精度浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)的一般方法的過程如圖2所示。

    圖2 浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)的一般方法 Fig.2 General method of converting floating-point numbers to fixed-point numbers

    在指數(shù)為[-15,21]的區(qū)間內(nèi),可將浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)。按一般方法,首先應(yīng)當(dāng)計(jì)算出浮點(diǎn)數(shù)x的指數(shù)e,并補(bǔ)全尾數(shù)w={1′b1,x[22:0]}。如果e>0,則應(yīng)該將尾數(shù)w的小數(shù)點(diǎn)右移e位;如果e<0,則應(yīng)該將尾數(shù)的小數(shù)點(diǎn)向左移|e|位。考慮到sin(2πx)和cos(2πx)的周期均為1,所以移位后的定點(diǎn)數(shù)的整數(shù)部分可以直接置0。

    圖3 浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)的統(tǒng)一移位的方法Fig.3 Uniform shift method for converting floating-point numbers to fixed-point numbers

    為了保證定點(diǎn)數(shù)的格式固定,考慮到整數(shù)部分必為0,規(guī)定使用1位做整數(shù)部分,小數(shù)點(diǎn)固定在整數(shù)部分的0后面。由于指數(shù)為-15的時(shí)候,小數(shù)部分位數(shù)最長,為23+|e|=38位,因此規(guī)定所有定點(diǎn)數(shù)都將小數(shù)部分?jǐn)U充到38位。該定點(diǎn)數(shù)記為F。

    用統(tǒng)一移位的方法得到上述定點(diǎn)數(shù)F。具體操作為:計(jì)算移位數(shù)sr=x[30:23]—112,然后將尾數(shù)按m={16′h0001,x[22:0]}的方式補(bǔ)齊到39位,其中h代表該數(shù)為16進(jìn)制數(shù),最后將m左移sr位。圖3給出了浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)的統(tǒng)一移位的方法。

    輸入的指數(shù)為-15時(shí),將x[22:0]前面補(bǔ)上16′h0001,變成m={16′h0001,x[22:0]},正好是所需的定點(diǎn)數(shù)格式。指數(shù)為其他值時(shí),只需計(jì)算它比-15大多少,就左移多少位。因此,統(tǒng)一移位的方法是正確的。下面給出一個(gè)具體的例子。

    圖2和圖3所示為浮點(diǎn)數(shù)0x40880000轉(zhuǎn)換為定點(diǎn)數(shù)的過程。圖2所示為一般方法,先補(bǔ)全格式,然后按指數(shù)移位,整數(shù)部分置0,最后擴(kuò)充到39位。圖3所示為統(tǒng)一移位的方法??梢钥吹絻煞N方法所得的定點(diǎn)結(jié)果是一致的。

    1.3使用誘導(dǎo)公式將正弦余弦函數(shù)的計(jì)算轉(zhuǎn)換為
    [0,π/2)內(nèi)的定點(diǎn)正弦函數(shù)計(jì)算

    考慮到正弦和余弦函數(shù)關(guān)于π的誘導(dǎo)式為

    (1)

    關(guān)于π/2的誘導(dǎo)式為

    (2)

    根據(jù)1.2節(jié)所述已將浮點(diǎn)數(shù)x轉(zhuǎn)換成了一個(gè)39位的定點(diǎn)數(shù)F。在該定點(diǎn)表示下,F[37]表示0.5所在位,F[36]表示0.25所在位,因此記f1=F[37],用于標(biāo)記該定點(diǎn)數(shù)F的正弦或余弦值的計(jì)算是否可以使用誘導(dǎo)式(1)化簡,同理記f2=F[36],表示是否可以使用誘導(dǎo)式(2)化簡。結(jié)合變量f1、f2、cs以及符號(hào)位s判斷需要使用的誘導(dǎo)式,就可以推導(dǎo)出最終符號(hào)位sy以及是否需要計(jì)算[0,π/2)內(nèi)余弦函數(shù)的指示信號(hào)c,見表1。

    表1中sy列為符號(hào)指示位,當(dāng)化簡后出現(xiàn)負(fù)號(hào)時(shí),sy設(shè)置為1;c列為余弦計(jì)算指示位,當(dāng)化簡后需要計(jì)算余弦函數(shù)時(shí),c設(shè)置為1。

    使用上述誘導(dǎo)公式之后,對(duì)定點(diǎn)數(shù)F的正弦或余弦函數(shù)值計(jì)算就轉(zhuǎn)換成了對(duì)F[35:0]的正弦或余弦計(jì)算,記f=F[35:0],其中F[35:0]表示定點(diǎn)數(shù)的第35位到第0位??紤]到0≤2π2-38f<π/2,因此sin(2π2-38f)或cos(2π2-38f)是取值在[0,π/2)內(nèi)的正弦或余弦函數(shù)。

    再考慮在[0,π/2)內(nèi)的正弦和余弦有如下關(guān)系

    cos(2πx)=sin(2π(0.25-x))

    (3)

    將x=2-38f代入式(3)可得下式

    cos(2π2-38f)=sin(2π(0.25-2-38f))=

    sin(2π2-38(236-f))

    (4)

    因此,所有[0,π/2)內(nèi)的余弦函數(shù)的計(jì)算都可以轉(zhuǎn)換為正弦函數(shù)的計(jì)算。236-f實(shí)際上就等于取f的補(bǔ)碼~f+1,其中~表示按位取反。此處有一個(gè)例外情況:如果f=0,那么取反加1后,位寬就會(huì)超出36位,導(dǎo)致后面無法計(jì)算。該例外情況可以單獨(dú)考慮:f=0和c=1時(shí),相當(dāng)于在求cos(0)=1.0,這個(gè)情況下,可直接輸出結(jié)果1.0。

    表1 使用誘導(dǎo)公式化簡后的指示信號(hào)

    1.4使用泰勒1階近似計(jì)算[0,π/2)內(nèi)的正弦函數(shù)

    經(jīng)過1.3節(jié)的變換,需要計(jì)算定點(diǎn)數(shù)f的正弦函數(shù)值sin(2π2-38f)。為了快速計(jì)算該正弦函數(shù)值,這里使用了泰勒1階近似算法。它的核心思想是:將輸入定點(diǎn)數(shù)f按照前m位和后36-m位劃分為主要部分和次要部分[21],分別記作f3和f4,也即f3=f[35:36-m],f4=f[35-m:0],其中f[35:36-m]代表定點(diǎn)數(shù)f的第35位到第36-m位,f[35-m:0]代表定點(diǎn)數(shù)f的第35-m位到第0位。此時(shí)的f3和f4仍然是定點(diǎn)數(shù),f3對(duì)應(yīng)的實(shí)數(shù)為2-(m+2)f3,f4對(duì)應(yīng)的實(shí)數(shù)為2-38f4。

    考慮任意函數(shù)g(x)的泰勒級(jí)數(shù)展開式,令它在x0=2-(m+2)f3處展開,表達(dá)式如下

    (5)

    令x=2-38f=2-(m+2)f3+2-38f4,代入級(jí)數(shù)得到

    (6)

    將g(x)=sin(2πx)代入式(6),保留n=0和n=1兩項(xiàng)可以得到

    sin(2π2-38f)=

    sin(2π2-(m+2)f3)+2πcos(2π2-(m+2)f3)2-38f4

    (7)

    式(7)即為所述泰勒1階近似算法。

    為了加快計(jì)算速度,可以使用查找表計(jì)算sin(2π2-(m+2)f3)和2πcos(2π2-(m+2)f3)兩項(xiàng)。在圖4中,LutSin(f3)和LutCos(f3)表示這兩個(gè)查找表。這兩個(gè)查找表的值僅和f3有關(guān),若f3的位寬m取得越寬,則主要部分f3越接近定點(diǎn)數(shù)f的值,最終的結(jié)果也越精確。查找表的輸出形式是類似于浮點(diǎn)數(shù)的形式。以st,se=LutSin(f3)為例,st是一個(gè)k位的定點(diǎn)數(shù),它有1位的整數(shù)位和k-1位的小數(shù)位,se是8位的指數(shù)位。例如:取m=4,k=24,輸入f3=(1101)2=13時(shí),有sin(2π2-6×13)=(1.11101001111101000001011)2×2-1。因此,當(dāng)查找表LutSin(f3)的輸出st為k=24位的二進(jìn)制數(shù)111101001111101000001011時(shí),輸出se為-1。

    使用高級(jí)語言按上述方法建模,計(jì)算得出,當(dāng)查找表參數(shù)取m=13和k=32時(shí)可以保證該泰勒1階近似算法的精度與標(biāo)準(zhǔn)C語言math庫單精度正弦余弦函數(shù)的計(jì)算精度相比,最多僅相差1 ulp。因此本算法中參數(shù)m=13和k=32固定不變。如果不需要高精度,可以減小查找表參數(shù)m和k以降低精度,同時(shí)減少查找表的大小。

    當(dāng)取查找表參數(shù)m=13和k=32之后,為避免使用浮點(diǎn)乘法和浮點(diǎn)加法,需要將式(7)的計(jì)算轉(zhuǎn)換為整數(shù)運(yùn)算??紤]式(7),中間計(jì)算過程中最小的數(shù)出現(xiàn)在2πcos(2π2-(m+2)f3)2-38f4這一項(xiàng)上,它的最小值出現(xiàn)在f3為全1且f4=1的情況下。在查找表參數(shù)為m=13和k=32的情況下可計(jì)算出這一最小值為2πcos(2π2-15(213-1))2-38×1=(1.0011101111010011110011000111101)2×2-48=(10011101111010011110011000111101)2×2-79。這個(gè)數(shù)是本算法中間過程里可能出現(xiàn)的最小的數(shù),因此規(guī)定中間計(jì)算過程使用如下的80位定點(diǎn)數(shù)格式:整數(shù)部分使用1位來表示,小數(shù)部分使用79位來表示。

    式(7)的計(jì)算過程如下:首先根據(jù)f3查表得到st,se=sin(2π2-15f3);ct,ce=2πcos(2π2-15f3)。令t1=st,計(jì)算t2=ctf4。然后計(jì)算移位數(shù)n1=se-31+79=se+48;n2=ce-31-38+79=ce+10。最后將t1和t2分別移位到規(guī)定的80位定點(diǎn)數(shù)格式,相加得到z。得到80位定點(diǎn)數(shù)結(jié)果的過程如圖4所示。

    圖4 得到80位定點(diǎn)數(shù)結(jié)果的流程圖Fig.4 Flowchart for getting 80-bit fixed-point numbers

    1.5 將計(jì)算結(jié)果定點(diǎn)數(shù)轉(zhuǎn)換成單精度浮點(diǎn)格式

    根據(jù)1.4節(jié)所述,z為定點(diǎn)數(shù)f的正弦函數(shù)值,它是一個(gè)80位的定點(diǎn)數(shù)。將z轉(zhuǎn)換為單精度浮點(diǎn)數(shù)的步驟如圖5所示。

    圖5 80位定點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)的流程圖Fig.5 Flowchart for converting 80-bit fixed-point numbers to floating-point numbers

    將定點(diǎn)數(shù)z轉(zhuǎn)換為單精度浮點(diǎn)數(shù)最直接的方法是:計(jì)算z的前綴0個(gè)數(shù)(即高位第一個(gè)1前面的0的個(gè)數(shù))作為指數(shù),取高位第一個(gè)1后面的23位作為尾數(shù)。由于計(jì)算前綴0的個(gè)數(shù)與后面的運(yùn)算是串行的,會(huì)導(dǎo)致較大的延時(shí)。為減小這部分延時(shí),本文提出了一個(gè)方法,其核心思想是:對(duì)[0,π/2)內(nèi)的正弦函數(shù),其函數(shù)值和輸入是非常相近的,通常只會(huì)相差至多一個(gè)指數(shù)位,因此可以預(yù)先計(jì)算輸入的指數(shù),然后先行移位一次,再修正移位后的結(jié)果。

    具體實(shí)現(xiàn)流程如圖5所示:首先計(jì)算f的前綴0的個(gè)數(shù)n,然后將z左移n位,移位后可以保證最高位是1或者次高位是1。如果最高位是1,則指數(shù)為-n;如果次高位是1,指數(shù)為-(n+1)。尾數(shù)取最高位或次高位的1后面的23位。使用該方法可以提前計(jì)算出移位數(shù)n,從而減小了延時(shí)。

    該方法的正確性可以通過如下方程式證明。假設(shè)f的前綴0的個(gè)數(shù)為n,則235-n≤f<236-n,于是有sin(2π2-(n+3))≤sin(2π2-38f)2-(n+1)和sin(2π2-(n+2))<2-(n-1)。于是可以得到2-(n+1)

    使用本文提出的方法將定點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)后,再結(jié)合1.3節(jié)中所述的符號(hào)位sy,將它添加到相應(yīng)的位置上,就得到了Taylor1(x,cs)函數(shù)的計(jì)算結(jié)果。

    圖6 浮點(diǎn)正弦余弦函數(shù)計(jì)算電路結(jié)構(gòu)Fig.6 Floating-point sine and cosine function calculation circuit structure

    2 電路設(shè)計(jì)

    2.1 總體電路結(jié)構(gòu)

    正弦余弦函數(shù)的電路實(shí)現(xiàn)通常有流水線式和迭代式兩種結(jié)構(gòu),本文采用流水線式結(jié)構(gòu)來進(jìn)行電路設(shè)計(jì)。

    浮點(diǎn)正弦余弦函數(shù)計(jì)算電路的結(jié)構(gòu)如圖6所示,采用了4級(jí)流水線的方式。第1級(jí)實(shí)現(xiàn)了浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)的邏輯,第2級(jí)和第3級(jí)實(shí)現(xiàn)了[0,π/2)內(nèi)正弦函數(shù)值的計(jì)算,第4級(jí)實(shí)現(xiàn)了定點(diǎn)數(shù)結(jié)果轉(zhuǎn)換成浮點(diǎn)結(jié)果。

    圖6僅顯示了硬件實(shí)現(xiàn)主要部分的數(shù)據(jù)通路。輸入指數(shù)范圍在[-126,-16],[22,126]這兩個(gè)區(qū)間時(shí),由于算法較簡單,圖6未給出其數(shù)據(jù)通路。另外,c=1并且f=0這一特殊情況的數(shù)據(jù)通路在圖中也未表示。

    2.2 各流水級(jí)的具體實(shí)現(xiàn)

    流水線第1級(jí)運(yùn)算過程的主要任務(wù)有3個(gè)。一是將輸入的浮點(diǎn)數(shù)x轉(zhuǎn)換為定點(diǎn)數(shù)f,它的實(shí)現(xiàn)方式為先計(jì)算移位數(shù)sr=x[30:23]-112,然后將補(bǔ)位后的尾數(shù)m={16′h0001,x[22:0]}左移sr位。二是產(chǎn)生符號(hào)指示位sy。符號(hào)指示位sy由輸入符號(hào)位sx、指示信號(hào)cs、誘導(dǎo)公式標(biāo)志位f1和f2共同得到。根據(jù)表1,可以得到邏輯表達(dá)式sy=f1?(cs&f2)?(~cs&sx)。三是產(chǎn)生余弦計(jì)算指示位c。根據(jù)表1,可得出其邏輯表達(dá)式為c=cs?f2。電路中使用了一個(gè)多路選擇器,根據(jù)c信號(hào)的取值選擇f或者f的補(bǔ)碼。

    流水線第2級(jí)為[0,π/2)內(nèi)的正弦函數(shù)計(jì)算的查找表部分。查找表常用的實(shí)現(xiàn)方式有組合邏輯實(shí)現(xiàn)和RAM/ROM方式實(shí)現(xiàn)。這兩種方式各有優(yōu)缺點(diǎn)。組合邏輯實(shí)現(xiàn)的優(yōu)勢是查找表操作可在1個(gè)時(shí)鐘周期內(nèi)完成,無需特殊工藝,缺點(diǎn)是電路面積較大。RAM/ROM方式實(shí)現(xiàn)的優(yōu)勢為占用芯片面積小,缺點(diǎn)為需要特殊工藝。本設(shè)計(jì)使用了組合邏輯方式實(shí)現(xiàn)查找表。根據(jù)1.4節(jié)所述,查找表參數(shù)固定為m=13和k=32,因此查找表LutSin和LutCos的輸入為一個(gè)13位的整數(shù)f3,輸出是32位的整數(shù)st、ct和8位的指數(shù)se、ce。組合邏輯實(shí)現(xiàn)該查找表會(huì)占用一定的面積,并且延時(shí)較大,因此本設(shè)計(jì)單獨(dú)分配了一個(gè)時(shí)鐘周期用于查表。

    流水線第3級(jí)為[0,π/2)內(nèi)正弦函數(shù)的計(jì)算部分,主要運(yùn)算為移位運(yùn)算和乘加運(yùn)算。首先使用查找表的指數(shù)信息se和ce計(jì)算移位數(shù)n1和n2,同時(shí)計(jì)算32b×23b的整數(shù)乘法運(yùn)算ctf4;然后將st和ctf4的結(jié)果分別移n1和n2位并相加,得到一個(gè)80位的定點(diǎn)數(shù)結(jié)果z。同時(shí)在這一個(gè)周期內(nèi)計(jì)算定點(diǎn)數(shù)f的前綴0的個(gè)數(shù)n,用于最后將定點(diǎn)結(jié)果轉(zhuǎn)換成浮點(diǎn)結(jié)果。

    流水線第4級(jí)將定點(diǎn)結(jié)果z轉(zhuǎn)換成浮點(diǎn)結(jié)果,使用1.5節(jié)所述方法,首先將z左移n位變成sz,此時(shí)sz最高位為1,或者次高位為1。因此只需用二選一多路選擇器根據(jù)最高位sz[79]選取最高位或次高位的1后面的23位作為尾數(shù)m,并且選擇指數(shù)e為127-n或126-n。將尾數(shù)m、指數(shù)e和符號(hào)位sy按照單精度浮點(diǎn)數(shù)的格式拼在一起,即可得到單精度浮點(diǎn)輸出的結(jié)果。

    3 實(shí)驗(yàn)結(jié)果

    3.1 精度測試

    按照第2節(jié)所述,使用verilog硬件描述語言實(shí)現(xiàn)了本文提出的高精度低延時(shí)浮點(diǎn)正弦余弦函數(shù)硬件算法,并和C語言math庫進(jìn)行了對(duì)比。本次測試的計(jì)算機(jī)平臺(tái)為Intel Core i5-7400 @3.00 GHz(4核)CPU,內(nèi)存24 GB,C編譯器采用gcc4.9.2。仿真平臺(tái)為windows下的Modelsim SE-64 10.4版本。測試方法為對(duì)所有的規(guī)格化浮點(diǎn)數(shù)進(jìn)行遍歷測試,將電路仿真值與C語言math庫結(jié)果進(jìn)行對(duì)比。

    表2為正弦函數(shù)遍歷測試結(jié)果,表3為余弦函數(shù)遍歷測試結(jié)果。表中“范圍”一列為輸入指數(shù)范圍的區(qū)間,它與1.1節(jié)所述的劃分方法是一致的;完全一致占比表示仿真值與C語言math庫結(jié)果完全一致的個(gè)數(shù)占在該輸入指數(shù)范圍內(nèi)遍歷總數(shù)的百分比;誤差1 ulp占比表示仿真值與C語言math庫結(jié)果有1 ulp誤差的個(gè)數(shù)占在該輸入指數(shù)范圍內(nèi)遍歷總數(shù)的百分比。

    表2 正弦函數(shù)遍歷測試結(jié)果

    表3 余弦函數(shù)遍歷測試結(jié)果

    遍歷結(jié)果顯示,對(duì)于正弦函數(shù),在輸入的指數(shù)范圍為[-126,-16]時(shí),結(jié)果存在1 ulp的誤差。這是由于在該區(qū)間內(nèi)使用了sin(2πx)=2πx公式,需要對(duì)輸入做乘法,而π是一個(gè)無理數(shù),將π定點(diǎn)化會(huì)產(chǎn)生截?cái)嗾`差,導(dǎo)致某些情況下它與參考結(jié)果相差1 ulp。對(duì)于輸入的指數(shù)范圍為[-15,21]之間時(shí),由于采用泰勒一階近似算法需要查找表,查找表也會(huì)產(chǎn)生截?cái)嗾`差,導(dǎo)致隨機(jī)的1 ulp誤差。在輸入指數(shù)為[22,126]之間時(shí),按數(shù)學(xué)理論結(jié)果為0,沒有進(jìn)行截?cái)?因此不存在誤差。

    對(duì)于余弦函數(shù),在輸入的指數(shù)范圍為[-126,-16]和[22,126]之間時(shí),不存在1 ulp的誤差。這是因?yàn)樵谶@些區(qū)間上的余弦函數(shù)值都為1.0或者-1.0,沒有截?cái)嗖僮?因此不存在截?cái)嗾`差。對(duì)于輸入的指數(shù)范圍為[-15,21]時(shí),與正弦函數(shù)同理,由于采用的泰勒1階近似算法需要查找表,會(huì)產(chǎn)生截?cái)嗾`差,導(dǎo)致產(chǎn)生隨機(jī)的1 ulp誤差。

    3.2 電路性能

    本文首先使用聯(lián)電UMC 55nm CMOS工藝庫,在SS工藝角、1.08 V、150 ℃、RVT條件下,按照250 MHz的時(shí)序約束,對(duì)電路進(jìn)行邏輯綜合。本文還在FPGA平臺(tái)上,使用Altera Cyclone IV的EP4CE115F29C7芯片,在Slow 1 200 mV 85 ℃ Model下進(jìn)行邏輯綜合實(shí)現(xiàn)。兩種平臺(tái)下正弦余弦函數(shù)電路性能如表4所示。

    表4 正弦余弦函數(shù)電路性能

    查找表(LUT)、邏輯片(Slice)、邏輯單元(LE)均為電路的基本組成單元。

    本設(shè)計(jì)在UMC 55nm的SS工藝角下可達(dá)到250 MHz的時(shí)鐘頻率,完成一次正弦余弦函數(shù)運(yùn)算的延時(shí)僅為16ns,具有低延時(shí)的特點(diǎn)。本設(shè)計(jì)由于采用了大查找表和乘法器等單元,電路面積相對(duì)較大,為247 329 μm2。在Cyclone IV平臺(tái)上,本設(shè)計(jì)在最差工藝角下可達(dá)到64.02 MHz的時(shí)鐘頻率,完成一次浮點(diǎn)正弦余弦函數(shù)運(yùn)算延時(shí)為62.5 ns,占用了42 734個(gè)LUT。由于本設(shè)計(jì)采用組合邏輯實(shí)現(xiàn)大查找表,因此占用了大量LUT資源。

    表5給出了本文設(shè)計(jì)與其他文獻(xiàn)中正弦余弦函數(shù)電路的性能對(duì)比。表中列出的正弦余弦函數(shù)電路的最大誤差均不超過1 ulp。在ASIC設(shè)計(jì)中,文獻(xiàn)[14]中采用TCORDIC算法實(shí)現(xiàn)了雙精度正弦余弦函數(shù),在40 nm CMOS的TT工藝角下,需要64個(gè)周期才能完成運(yùn)算,總延時(shí)38.4 ns。文獻(xiàn)[8]使用循環(huán)展開CORDIC算法實(shí)現(xiàn)了雙精度正弦余弦函數(shù),在TSMC65nm工藝下,需要15個(gè)周期完成運(yùn)算,總延時(shí)75 ns。文獻(xiàn)[20]中采用基于查找表的泰勒展開算法實(shí)現(xiàn)了單精度正弦余弦函數(shù),在VirtexII平臺(tái)下,總延時(shí)為85 ns。文獻(xiàn)[18]中采用基于查找表的泰勒展開算法實(shí)現(xiàn)了16位定點(diǎn)正弦余弦函數(shù),在StratixII平臺(tái)下,需要3個(gè)周期完成運(yùn)算,總延時(shí)31.3 ns。

    表5 不同方案時(shí)電路延時(shí)、面積性能對(duì)比

    4 結(jié) 論

    本文提出了一種高精度低延時(shí)的浮點(diǎn)正弦余弦函數(shù)硬件實(shí)現(xiàn)算法。它將輸入按照指數(shù)劃分為3個(gè)不同的區(qū)域,在這3個(gè)區(qū)域內(nèi)分別采用了不同的算法,達(dá)到了單精度浮點(diǎn)運(yùn)算所要求的精度。本文著重說明了輸入指數(shù)在[-15,21]之間所用的泰勒1階近似算法,該算法通過一系列誘導(dǎo)公式,將原計(jì)算轉(zhuǎn)換為[0,π/2)內(nèi)的正弦函數(shù)計(jì)算,然后,將其進(jìn)一步轉(zhuǎn)換為硬件友好的查找表運(yùn)算和乘加運(yùn)算,從而實(shí)現(xiàn)了低延時(shí)。

    在電路設(shè)計(jì)部分,本設(shè)計(jì)使用了四級(jí)流水線結(jié)構(gòu)。實(shí)驗(yàn)結(jié)果表明,該硬件電路的計(jì)算結(jié)果與C語言math庫的結(jié)果至多只相差1 ulp。在聯(lián)電UMC55nm的SS工藝角下,該電路能夠達(dá)到250 MHz的時(shí)鐘頻率,延時(shí)僅16 ns。在某些需要低延時(shí)的應(yīng)用場景中,本文提出的高精度低延時(shí)正弦余弦函數(shù)硬件算法具有重要使用價(jià)值。

    猜你喜歡
    浮點(diǎn)數(shù)浮點(diǎn)余弦
    LEO星座增強(qiáng)GNSS PPP模糊度浮點(diǎn)解與固定解性能評(píng)估
    四種Python均勻浮點(diǎn)數(shù)生成方法
    基于浮點(diǎn)DSP的鐵路FSK信號(hào)檢測
    在C語言中雙精度浮點(diǎn)數(shù)線性化相等比較的研究
    兩個(gè)含余弦函數(shù)的三角母不等式及其推論
    非精確浮點(diǎn)數(shù)乘法器設(shè)計(jì)
    分?jǐn)?shù)階余弦變換的卷積定理
    圖像壓縮感知在分?jǐn)?shù)階Fourier域、分?jǐn)?shù)階余弦域的性能比較
    基于FPGA的浮點(diǎn)FIR濾波器設(shè)計(jì)
    改進(jìn)的Goldschmidt雙精度浮點(diǎn)除法器
    日本免费一区二区三区高清不卡| 国产伦精品一区二区三区四那| 国产伦精品一区二区三区四那| 国产成人一区二区在线| 18+在线观看网站| 亚洲成av人片在线播放无| 欧美成人精品欧美一级黄| 国产亚洲欧美98| 日本黄色片子视频| 中文字幕精品亚洲无线码一区| 丝袜美腿在线中文| 观看美女的网站| 久久婷婷人人爽人人干人人爱| 成人特级黄色片久久久久久久| 日韩在线高清观看一区二区三区| 亚洲美女搞黄在线观看| 少妇熟女欧美另类| a级毛色黄片| 美女 人体艺术 gogo| 日韩成人av中文字幕在线观看| 岛国在线免费视频观看| 深夜a级毛片| 波多野结衣高清无吗| 亚洲国产高清在线一区二区三| 精品久久久久久久人妻蜜臀av| 日韩大尺度精品在线看网址| 久久久久久久久中文| 三级国产精品欧美在线观看| 男女边吃奶边做爰视频| 精品欧美国产一区二区三| 国产亚洲av片在线观看秒播厂 | 嫩草影院新地址| 麻豆精品久久久久久蜜桃| 国产伦精品一区二区三区四那| 人妻夜夜爽99麻豆av| 国产精品,欧美在线| 成人无遮挡网站| 亚洲国产精品久久男人天堂| 亚洲人成网站在线播放欧美日韩| 精品一区二区免费观看| 午夜免费激情av| 国产在视频线在精品| 亚洲av二区三区四区| 在线观看一区二区三区| 国产精品久久视频播放| 国产 一区 欧美 日韩| 国产高清不卡午夜福利| 久久久久久久久久黄片| 99在线视频只有这里精品首页| 国产高清三级在线| 一区二区三区高清视频在线| 综合色av麻豆| 国产精品伦人一区二区| 久久鲁丝午夜福利片| 日韩欧美精品v在线| 一级二级三级毛片免费看| 日本撒尿小便嘘嘘汇集6| 97超碰精品成人国产| 99国产极品粉嫩在线观看| 变态另类丝袜制服| 精品欧美国产一区二区三| 国产色婷婷99| 神马国产精品三级电影在线观看| 在线观看美女被高潮喷水网站| 日韩一区二区三区影片| 美女被艹到高潮喷水动态| 麻豆成人av视频| 国产伦一二天堂av在线观看| 在线观看免费视频日本深夜| 亚洲激情五月婷婷啪啪| 少妇被粗大猛烈的视频| 国产成人福利小说| 麻豆av噜噜一区二区三区| 亚洲av中文字字幕乱码综合| 国产三级在线视频| 偷拍熟女少妇极品色| 欧美色欧美亚洲另类二区| 日韩成人伦理影院| avwww免费| 色播亚洲综合网| 亚洲av不卡在线观看| 伊人久久精品亚洲午夜| 亚洲av男天堂| 国产麻豆成人av免费视频| 小蜜桃在线观看免费完整版高清| 亚洲成人中文字幕在线播放| 中国美女看黄片| 国产高清三级在线| 久久欧美精品欧美久久欧美| 久久6这里有精品| 高清毛片免费看| 日韩,欧美,国产一区二区三区 | 精品少妇黑人巨大在线播放 | 如何舔出高潮| 日韩一区二区三区影片| 久久久久九九精品影院| 亚洲国产精品成人综合色| 插阴视频在线观看视频| 一本一本综合久久| 国模一区二区三区四区视频| 两个人视频免费观看高清| 免费大片18禁| 最近视频中文字幕2019在线8| 又粗又硬又长又爽又黄的视频 | 一区二区三区四区激情视频 | 久久鲁丝午夜福利片| 国产一级毛片七仙女欲春2| 亚洲经典国产精华液单| 亚洲成人av在线免费| 日韩人妻高清精品专区| 亚洲成人av在线免费| av在线蜜桃| 国产 一区精品| 在线观看一区二区三区| 成人三级黄色视频| 99久久中文字幕三级久久日本| 亚洲无线在线观看| 精品免费久久久久久久清纯| 日日干狠狠操夜夜爽| 男女视频在线观看网站免费| 精品欧美国产一区二区三| 欧美高清性xxxxhd video| av黄色大香蕉| 国产亚洲精品av在线| 免费av不卡在线播放| 免费看光身美女| 边亲边吃奶的免费视频| 亚洲欧美精品专区久久| 有码 亚洲区| 亚洲婷婷狠狠爱综合网| 色视频www国产| 久久鲁丝午夜福利片| 免费av毛片视频| 国产片特级美女逼逼视频| 99久久精品一区二区三区| 亚洲乱码一区二区免费版| 狠狠狠狠99中文字幕| 又爽又黄a免费视频| 12—13女人毛片做爰片一| 中国国产av一级| 亚洲av电影不卡..在线观看| 一进一出抽搐gif免费好疼| 舔av片在线| 一卡2卡三卡四卡精品乱码亚洲| 在线天堂最新版资源| 亚洲国产欧美人成| 女人被狂操c到高潮| .国产精品久久| 国产国拍精品亚洲av在线观看| 精品无人区乱码1区二区| 黄色配什么色好看| 麻豆国产97在线/欧美| 国产亚洲欧美98| 国语自产精品视频在线第100页| 99热只有精品国产| 成人二区视频| 三级国产精品欧美在线观看| 综合色丁香网| 亚洲欧美日韩高清在线视频| eeuss影院久久| 最近手机中文字幕大全| 成人永久免费在线观看视频| 国产高清视频在线观看网站| 亚洲成a人片在线一区二区| 老熟妇乱子伦视频在线观看| 亚洲精品色激情综合| 在线观看午夜福利视频| 蜜桃久久精品国产亚洲av| 尾随美女入室| 亚洲成人av在线免费| 久久99蜜桃精品久久| 91午夜精品亚洲一区二区三区| 久久精品国产亚洲av香蕉五月| 亚洲精品国产成人久久av| 97热精品久久久久久| 能在线免费看毛片的网站| 狂野欧美白嫩少妇大欣赏| 成人亚洲精品av一区二区| 国产午夜精品一二区理论片| 国产黄片美女视频| 国产精品久久久久久亚洲av鲁大| 五月伊人婷婷丁香| 哪里可以看免费的av片| 国产精品久久久久久av不卡| 麻豆国产av国片精品| 精品无人区乱码1区二区| 欧美3d第一页| 老师上课跳d突然被开到最大视频| 免费av观看视频| 国产伦一二天堂av在线观看| 寂寞人妻少妇视频99o| 午夜福利高清视频| 亚洲精品久久久久久婷婷小说 | 欧美三级亚洲精品| 91aial.com中文字幕在线观看| 亚洲av免费在线观看| 久久久精品欧美日韩精品| 日日摸夜夜添夜夜爱| 国产精品美女特级片免费视频播放器| 亚洲欧美精品综合久久99| 99久久精品一区二区三区| 欧美最新免费一区二区三区| 日本黄大片高清| 亚洲乱码一区二区免费版| 久久精品国产亚洲av香蕉五月| 变态另类丝袜制服| 综合色丁香网| 国产淫片久久久久久久久| 男人狂女人下面高潮的视频| 午夜精品一区二区三区免费看| 99久久九九国产精品国产免费| 天天躁夜夜躁狠狠久久av| 在线观看一区二区三区| 亚洲一级一片aⅴ在线观看| 亚洲18禁久久av| 好男人视频免费观看在线| 中文字幕制服av| 黄色一级大片看看| 亚洲精品久久久久久婷婷小说 | 天天躁日日操中文字幕| 午夜精品在线福利| 国产精品麻豆人妻色哟哟久久 | av在线老鸭窝| 一区二区三区高清视频在线| 精品久久久久久久久av| 高清毛片免费观看视频网站| 久久精品国产鲁丝片午夜精品| 国产极品精品免费视频能看的| 久久久久久国产a免费观看| 在线免费十八禁| 亚洲国产精品国产精品| 插逼视频在线观看| 色哟哟·www| 狂野欧美白嫩少妇大欣赏| 91精品一卡2卡3卡4卡| 久久精品久久久久久噜噜老黄 | av在线播放精品| 成人鲁丝片一二三区免费| 久久久久免费精品人妻一区二区| 亚洲成人精品中文字幕电影| 日韩av在线大香蕉| 真实男女啪啪啪动态图| 欧美精品一区二区大全| 免费大片18禁| 日本三级黄在线观看| 国产成人精品久久久久久| 久久久精品94久久精品| 中文字幕精品亚洲无线码一区| 国产亚洲精品av在线| av免费观看日本| 久久久久九九精品影院| av专区在线播放| 国产真实伦视频高清在线观看| 精品免费久久久久久久清纯| 成人亚洲精品av一区二区| av天堂中文字幕网| av又黄又爽大尺度在线免费看 | 天堂√8在线中文| 成人性生交大片免费视频hd| 午夜视频国产福利| 悠悠久久av| 亚州av有码| 在线观看午夜福利视频| 久久人妻av系列| 在线a可以看的网站| 国产精品人妻久久久影院| 极品教师在线视频| 黄片无遮挡物在线观看| 人妻少妇偷人精品九色| 三级国产精品欧美在线观看| 春色校园在线视频观看| 成人亚洲欧美一区二区av| 校园人妻丝袜中文字幕| 少妇的逼水好多| 亚洲av.av天堂| 特大巨黑吊av在线直播| 亚洲真实伦在线观看| av女优亚洲男人天堂| 欧美区成人在线视频| 一夜夜www| 国产在线男女| 精品久久久久久久久av| 日韩视频在线欧美| 国产精品久久久久久精品电影| 国产单亲对白刺激| 亚洲自拍偷在线| 精品人妻熟女av久视频| 男的添女的下面高潮视频| 18禁裸乳无遮挡免费网站照片| 人妻制服诱惑在线中文字幕| 欧美日韩乱码在线| 欧美人与善性xxx| 欧美性猛交黑人性爽| 国产成人a区在线观看| 午夜a级毛片| 国产69精品久久久久777片| 天天躁夜夜躁狠狠久久av| 久久九九热精品免费| 波野结衣二区三区在线| 91在线精品国自产拍蜜月| 人人妻人人看人人澡| 99在线人妻在线中文字幕| 99久久成人亚洲精品观看| 精品久久久久久久久亚洲| 国产中年淑女户外野战色| 亚洲第一区二区三区不卡| 毛片一级片免费看久久久久| 国产精品国产高清国产av| 免费观看人在逋| 人人妻人人看人人澡| 变态另类丝袜制服| 成人欧美大片| 麻豆国产97在线/欧美| 亚洲人成网站高清观看| 美女黄网站色视频| 十八禁国产超污无遮挡网站| 久久精品国产清高在天天线| 国产大屁股一区二区在线视频| 3wmmmm亚洲av在线观看| 亚洲av电影不卡..在线观看| 少妇被粗大猛烈的视频| 亚洲国产日韩欧美精品在线观看| 长腿黑丝高跟| 可以在线观看毛片的网站| 亚洲一级一片aⅴ在线观看| 亚洲第一电影网av| 亚洲av.av天堂| 国产久久久一区二区三区| av国产免费在线观看| 亚洲成a人片在线一区二区| 亚洲精品乱码久久久久久按摩| 禁无遮挡网站| 亚洲人成网站在线播放欧美日韩| 最近手机中文字幕大全| 日本-黄色视频高清免费观看| 午夜福利在线观看吧| 99久久九九国产精品国产免费| 天美传媒精品一区二区| 少妇熟女aⅴ在线视频| 一级二级三级毛片免费看| 赤兔流量卡办理| 国产蜜桃级精品一区二区三区| 可以在线观看的亚洲视频| 超碰av人人做人人爽久久| 精品无人区乱码1区二区| 国产探花在线观看一区二区| 一进一出抽搐gif免费好疼| 国产黄片视频在线免费观看| 尤物成人国产欧美一区二区三区| 国产乱人视频| 欧美zozozo另类| 亚洲av电影不卡..在线观看| 老熟妇乱子伦视频在线观看| 亚洲国产精品sss在线观看| 欧美xxxx黑人xx丫x性爽| 91精品国产九色| 天堂中文最新版在线下载 | 不卡一级毛片| 少妇猛男粗大的猛烈进出视频 | 欧美+日韩+精品| 日日撸夜夜添| 啦啦啦啦在线视频资源| 国内精品美女久久久久久| a级毛片免费高清观看在线播放| 亚洲成a人片在线一区二区| 色综合色国产| 亚洲国产欧美人成| 亚洲图色成人| 中文字幕av成人在线电影| 一个人观看的视频www高清免费观看| 18+在线观看网站| 国产一区亚洲一区在线观看| 国产精品久久电影中文字幕| 神马国产精品三级电影在线观看| 性色avwww在线观看| 亚洲在久久综合| 哪里可以看免费的av片| 久久精品国产鲁丝片午夜精品| 国产三级在线视频| 午夜福利视频1000在线观看| 成人永久免费在线观看视频| 波多野结衣高清作品| 欧洲精品卡2卡3卡4卡5卡区| 日韩av不卡免费在线播放| 在线观看午夜福利视频| 岛国毛片在线播放| av在线天堂中文字幕| 国产在线精品亚洲第一网站| 中文欧美无线码| 国产精品久久久久久av不卡| 国产午夜精品一二区理论片| 九色成人免费人妻av| 亚洲不卡免费看| 少妇人妻一区二区三区视频| 国产黄色视频一区二区在线观看 | 亚洲av中文字字幕乱码综合| 国产熟女欧美一区二区| 国产精品国产三级国产av玫瑰| 亚洲四区av| 国产午夜精品论理片| 国产精品国产三级国产av玫瑰| 人妻系列 视频| 日本-黄色视频高清免费观看| 综合色av麻豆| 国产精品伦人一区二区| 成人毛片a级毛片在线播放| 18禁裸乳无遮挡免费网站照片| 国产成人一区二区在线| 久久6这里有精品| h日本视频在线播放| 国产精品久久久久久av不卡| 欧美三级亚洲精品| 欧美xxxx性猛交bbbb| 国产亚洲5aaaaa淫片| 免费看av在线观看网站| 婷婷六月久久综合丁香| 亚洲在线观看片| 国产黄a三级三级三级人| 国产在线男女| 69人妻影院| 一个人看的www免费观看视频| 欧美xxxx黑人xx丫x性爽| 日本黄色视频三级网站网址| 可以在线观看的亚洲视频| 国产av在哪里看| 嘟嘟电影网在线观看| 亚洲美女视频黄频| 国产亚洲av片在线观看秒播厂 | 永久网站在线| 欧美xxxx性猛交bbbb| 亚洲欧美精品专区久久| 欧洲精品卡2卡3卡4卡5卡区| 亚洲18禁久久av| 亚洲av中文字字幕乱码综合| 日本av手机在线免费观看| 网址你懂的国产日韩在线| 久久久久九九精品影院| 日韩一本色道免费dvd| 久久精品久久久久久久性| 男女下面进入的视频免费午夜| 亚洲天堂国产精品一区在线| 精品久久国产蜜桃| 一个人看视频在线观看www免费| 女人十人毛片免费观看3o分钟| 夫妻性生交免费视频一级片| 青春草亚洲视频在线观看| kizo精华| 毛片一级片免费看久久久久| 麻豆久久精品国产亚洲av| 狂野欧美白嫩少妇大欣赏| 欧美日韩在线观看h| 欧洲精品卡2卡3卡4卡5卡区| 又粗又硬又长又爽又黄的视频 | 国产一区亚洲一区在线观看| 97超碰精品成人国产| 成人午夜高清在线视频| 你懂的网址亚洲精品在线观看 | 一级毛片aaaaaa免费看小| 嫩草影院精品99| 成人高潮视频无遮挡免费网站| 亚洲精品久久国产高清桃花| 亚洲成人久久性| 成年免费大片在线观看| 国内揄拍国产精品人妻在线| 中文字幕久久专区| 久久综合国产亚洲精品| 日本成人三级电影网站| 在线免费十八禁| 国产三级在线视频| 高清在线视频一区二区三区 | 最近中文字幕高清免费大全6| 国产精品1区2区在线观看.| 国产老妇伦熟女老妇高清| 亚洲激情五月婷婷啪啪| 欧美另类亚洲清纯唯美| 亚洲精品色激情综合| 看黄色毛片网站| 搡老妇女老女人老熟妇| 久久精品91蜜桃| 欧美色视频一区免费| 日本五十路高清| 亚洲精品乱码久久久v下载方式| 五月玫瑰六月丁香| 亚洲性久久影院| 一区二区三区免费毛片| 成人毛片a级毛片在线播放| 欧美3d第一页| 亚洲一级一片aⅴ在线观看| 国产午夜精品一二区理论片| 久久韩国三级中文字幕| 成人毛片a级毛片在线播放| 男人狂女人下面高潮的视频| 爱豆传媒免费全集在线观看| 国产精品野战在线观看| 亚洲七黄色美女视频| 久久精品91蜜桃| 欧美色视频一区免费| 身体一侧抽搐| 精品欧美国产一区二区三| 免费观看在线日韩| 六月丁香七月| 亚洲经典国产精华液单| av卡一久久| 免费无遮挡裸体视频| 91久久精品国产一区二区成人| 你懂的网址亚洲精品在线观看 | 日韩成人伦理影院| 日韩高清综合在线| 神马国产精品三级电影在线观看| 日本在线视频免费播放| 国产精品日韩av在线免费观看| www.av在线官网国产| 老司机影院成人| 村上凉子中文字幕在线| 一本精品99久久精品77| 中文字幕熟女人妻在线| 精品不卡国产一区二区三区| 国产中年淑女户外野战色| 国产伦精品一区二区三区视频9| 日韩一区二区视频免费看| 欧美激情在线99| 一区二区三区高清视频在线| 一卡2卡三卡四卡精品乱码亚洲| 久久人人爽人人爽人人片va| 欧美激情久久久久久爽电影| 国产人妻一区二区三区在| 日韩中字成人| 联通29元200g的流量卡| 狠狠狠狠99中文字幕| 两个人的视频大全免费| 欧美极品一区二区三区四区| 精品久久国产蜜桃| 亚洲av二区三区四区| 国产美女午夜福利| 国产蜜桃级精品一区二区三区| 国产午夜精品一二区理论片| 97热精品久久久久久| av天堂在线播放| 老师上课跳d突然被开到最大视频| 亚洲精品国产成人久久av| 网址你懂的国产日韩在线| 欧美xxxx性猛交bbbb| 久久婷婷人人爽人人干人人爱| 波多野结衣巨乳人妻| 久久午夜福利片| 亚洲精品乱码久久久久久按摩| 色尼玛亚洲综合影院| 中文字幕熟女人妻在线| 亚洲中文字幕日韩| 国产一级毛片在线| 床上黄色一级片| 国产黄片美女视频| 少妇熟女欧美另类| 日韩欧美三级三区| 日本熟妇午夜| 亚洲国产精品成人久久小说 | 免费人成在线观看视频色| 欧美在线一区亚洲| 男女啪啪激烈高潮av片| 国产久久久一区二区三区| 淫秽高清视频在线观看| 欧美区成人在线视频| 国产69精品久久久久777片| 五月玫瑰六月丁香| 婷婷亚洲欧美| 99热6这里只有精品| 久久久成人免费电影| 欧美高清成人免费视频www| 亚洲精品国产av成人精品| 深夜a级毛片| 99精品在免费线老司机午夜| 国产成人a∨麻豆精品| 亚洲精品自拍成人| 观看免费一级毛片| 日本av手机在线免费观看| 一进一出抽搐gif免费好疼| 色尼玛亚洲综合影院| 一级二级三级毛片免费看| 精品熟女少妇av免费看| 成熟少妇高潮喷水视频| 亚洲精品国产成人久久av| 夜夜看夜夜爽夜夜摸| 国产精品蜜桃在线观看 | 观看免费一级毛片| а√天堂www在线а√下载| 日韩人妻高清精品专区| 国产综合懂色| 免费观看人在逋| 国产精品综合久久久久久久免费| 日本三级黄在线观看| 国产精品女同一区二区软件| 12—13女人毛片做爰片一| 高清毛片免费看| 欧美一区二区亚洲| 身体一侧抽搐| 亚洲不卡免费看| 美女xxoo啪啪120秒动态图| 日本-黄色视频高清免费观看| 午夜福利成人在线免费观看| 亚洲最大成人av| 精品熟女少妇av免费看| 成年av动漫网址| 亚洲精品国产成人久久av| 日本-黄色视频高清免费观看| 精品99又大又爽又粗少妇毛片| 久久久精品欧美日韩精品| 永久网站在线| 国产久久久一区二区三区| 超碰av人人做人人爽久久| 男的添女的下面高潮视频| 老师上课跳d突然被开到最大视频| av在线播放精品| 国产极品天堂在线| 午夜精品一区二区三区免费看| 好男人视频免费观看在线|