一種8位元高精度dac電流源陣列及其布局方法
【專利摘要】本發明提供了一種8位元高精度DAC電流源陣列及其的布局方法,減小了DAC電流源陣列中相鄰元件間的相依性,避免了二階梯度誤差的累積,將梯度誤差平均的分配到了每一顆元件上,可以很好的提升電路的線性度。進一步產生的同重心布局,能夠抵消一階梯度誤差的影響。本發明在保證高轉換精度,高速度的同時,還能夠減小由于系統性誤差和隨機性誤差造成的電流源陣列不匹配,使DAC電路具有較好的單調性,失調誤差,微分非線性誤差(DNL),積分非線性誤差(INL),無雜散動態范圍(SFDR)以及信噪比(SNR)。
【專利說明】
一種8位元高精度DAC電流源陣列及其布局方法
技術領域
[0001]本發明屬于電流舵型數模轉換器的電流源陣列布局技術領域,具體涉及適用于8位元溫度計碼的電流源陣列及布局方法。
【背景技術】
[0002]DAC即數模轉換器(Digital-to- Analog Converter),對該模塊的研究和應用主要集中在電流源結構的研究,其重點和難點在研究其不匹配性,匹配良好的DAC具有良好的靜態與動態特征,可以應用于需要高靈敏度的雷達,通信,電子對抗等電子系統中。而DAC的不匹配包括隨機性不匹配和系統性不匹配兩種情況,隨機誤差主要由一些隨機因素造成,例如元件尺寸,摻雜,氧化層厚度及其他影響元件參數的微觀波動,通常可以通過增加元件面積的方式來降低隨機性不匹配給電路帶來的不利影響;系統誤差又稱為梯度誤差,是由于工藝中的工藝異變,接觸電阻,電流的不均勻流動,擴散的相互影響,機械應力,溫度梯度等因素造成的。隨著版圖面積的提升,系統性不匹配對電路的影響會變得越來越嚴重,這時就需要一個精確的布局來消除系統性不匹配的影響。因此,電流源的版圖布局至關重要,直接影響該模塊的性能指標。
[0003]傳統電流源陣列布局如圖1所示,沿中心線對稱均勻分布,對稱布局在一定程度上減小了二階梯度誤差的影響,但是相鄰元件的相關性太強,這樣會造成梯度誤差的累積,圖9是傳統布局圖1NL的MATLAB模擬,圖11是傳統布局圖DNL的MATLAB模擬,從圖9、圖11中可以明顯看出,梯度誤差的累積使得INL、DNL隨著輸入數字碼的增加不斷的提升,起伏較大。因此,目前的傳統電流源陣列布局梯度誤差較大,存在較為嚴重的系統不匹配問題。
【發明內容】
[0004]為解決上述問題,本發明公開了一種電流源陣列的布局方法,應用于8位元高精度DAC電流源,明顯改善了誤差累積現象。
[0005]為了達到上述目的,本發明提供如下技術方案:
一種8位元高精度DAC電流源陣列的布局方法,包括如下步驟:
步驟I,生成8*8子陣列Z的第一行數字,將256與255數字擺放在子陣列Z第一行的左右兩端,然后向第一行中間生成逐漸變小的3對數字,每對數字中左邊的數字為其左方數字減4,右邊的數字為其右方數字減4,得到第一行8個數字;將第一行中的每一個數字減去64三次,分別得到第二行、第三行和第四行數字,得到前四行4*8數字陣列Zl;
將Zl向下鏡像,將得到的鏡像陣列里的每個數字分別減去16,得到另一個4*8的子陣列Z2,Z1在上、Z2在下共同組成子陣列Z;
步驟2:將子陣列Z順時針旋轉180°,得到子陣列A;
步驟3:將子陣列Z中的數字分別減去2,得到子陣列B;
步驟4:將子陣列Z中的數字分別減去32后向右做鏡像得到子陣列C;
步驟5:將子陣列Z中的數字分別減去34后向下做鏡像得到子陣列D; 步驟6:將D陣列設置在左上角,B陣列設置在右上角,A陣列設置在左下角,C陣列設置在右下角,得到最終的16*16陣列;
步驟7:按照陣列中的數字將相應的元件擺放在對應的位置上;
步驟8:在陣列周圍擺放du_y保護元件。
[0006]進一步的,所述步驟6包括如下步驟:得到最終的陣列之后,將最終陣列分別向右、向下鏡像,得到同重心布局。
[0007]本發明還提供了一種8位元高精度DAC電流源陣列,由A、B、C、D四個8*8數字陣列組成,陣列數字上擺放著相應的元件所述D陣列位于左上角,B陣列位于右上角,A陣列位于左下角,C陣列位于右下角,陣列周圍擺放有du_y保護元件;
所述0陣列第一行為206,202,198,194,193,197,201,205,第二行、第三行、第四行分別為第一行減去64、128、192,第五行為第四行加16,第六行、第七行、第八行分別為第五行加64、128、192;
B陣列第一行為254,250,246,242,241,245,249,253,第二行、第三行、第四行分別為第一行減去64、128、192,第五行為第四行減16,第六行、第七行、第八行分別為第五行加64、128、192;
A陣列第一行為239,235,231,227,228,232,236,240,第二行、第三行、第四行分別為第一行減去64、128、192,第五行為第四行加16,第六行、第七行、第八行分別為第五行加64、128、192;
〇陣列第一行為223,219,215,211,212,216,220,224,第二行、第三行、第四行分別為第一行減去64、128、192,第五行為第四行減16,第六行、第七行、第八行分別為第五行加64、128、192。
[0008]進一步的,由A、B、C、D組成的陣列向右、向下鏡像,產生同重心布局,將同一數字對應的元件分為四份,彼此串聯,并分別擺放在相應的數字位置上。
[0009]與現有技術相比,本發明具有如下優點和有益效果:
本發明布局方法減小了 DAC電流源陣列中相鄰元件間的相依性,避免了二階梯度誤差的累積,將梯度誤差平均的分配到了每一顆元件上,可以很好的提升電路的線性度。進一步產生的同重心布局,能夠抵消一階梯度誤差的影響。本發明在保證高轉換精度,高速度的同時,還能夠減小由于系統性誤差和隨機性誤差造成的電流源陣列不匹配,使DAC電路具有較好的單調性,失調誤差,微分非線性誤差(DNL),積分非線性誤差(INL),無雜散動態范圍(SFDR)以及信噪比(SNR)。
【附圖說明】
[0010]圖1為傳統電流源陣列布局圖;
圖2為子陣列Z生成流程圖;
圖3為子陣列A示意圖;
圖4為子陣列B示意圖;
圖5為子陣列C示意圖;
圖6為子陣列D不意圖;
圖7為子陣列排布圖; 圖8為本發明方法產生的高精度電流源陣列布局圖;
圖9為經過同重心布局后得到的高精度電流源陣列布局圖;
圖10為傳統電流源陣列布局圖1NL的MATLAB模擬;
圖11為本發明方法產生的高精度布局圖1NL的MATLAB模擬;
圖12為傳統電流源陣列布局圖DNL的MATLAB模擬;
圖13為本發明方法產生的高精度布局圖DNL的MATLAB模擬。
【具體實施方式】
[0011]以下將結合具體實施例對本發明提供的技術方案進行詳細說明,應理解下述【具體實施方式】僅用于說明本發明而不用于限制本發明的范圍。
[0012]8位的溫度計碼DAC電流源陣列共需要256顆電流源元件,組成一個16*16的陣列,本發明首先生成一個等待旋轉,鏡像,替代等變換的8*8子陣列Z,并將其通過多次變換后得到各個8*8子陣列后按照特定的位置關系組合成最終陣列,本發明通過以下步驟布局8位元高精度DAC電流源陣列:
步驟1:生成8*8(行*列)子陣列Z。
[0013]先生成第一行數字:將256與255數字擺放在子陣列Z第一行的左右兩端,然后向中間成對擺放數字,具體地說,每次擺放的一對數字中左邊的數字為其左方數字減4,右邊的數字為其右方數字減4,擺好第一行8個數字后,以Z陣列縱向中線為界,中線左右兩邊各為等差數列,差值為4。
[0014]生成第二行數字:將第一行中的每一個數字減去64,得到第二行數字。
[0015]生成第三行數字:將第二行中的每一個數字減去64,得到第三行數字。
[0016]生成第四行數字:將第三行中的每一個數字減去64,得到第四行數字。由此得到前四行4*8數字陣列Zl。
[0017]將該4*8的子陣列向下鏡像,將得到的鏡像陣列里的每個數字分別減去16,得到另一個4*8的子陣列Z221和Z2兩個子陣列共同組成子陣列Z,如圖2所示。
[0018]步驟2:將子陣列Z順時針旋轉180°,得到子陣列A,如圖3所示。
[0019]步驟3:將子陣列Z中的數字分別減去2,得到子陣列B,如圖4所示。
[0020]步驟4:將子陣列Z中的數字分別減去32,然后向右做鏡像得到子陣列C,如圖5所不O
[0021]步驟5:將子陣列Z中的數字分別減去34,然后向下做鏡像得到子陣列D,如圖6所不O
[0022]步驟6:如圖7所示排布子陣列A,B,C,D,即得到最終的16*16陣列,如圖8所示。
[0023]最終陣列包括位于左上角的D陣列,位于右上角的B陣列,位于左下角的A陣列,位于右下角的C陣列。上述A,B,C,D陣列均為8*8陣列。
[0024]具體地說,D陣列第一行為206,202,198,194,193,197,201,205,第二行為第一行減去64,第三行為第二行減去64,第四行為第三行減去64,第五行為第四行加16,第六行為第五行加64,第七行為第六行加64,第八行為第七行加64。
[0025]B 陣列第一行為 254,250,246,242,241,245,249,253,第二行為第一行減去 64,第三行為第二行減去64,第四行為第三行減去64,第五行為第四行減16,第六行為第五行加64,第七行為第六行加64,第八行為第七行加64。
[0026]A陣列第一行為239,235,231,227,228,232,236,240,第二行為第一行減去64,第三行為第二行減去64,第四行為第三行減去64,第五行為第四行加16,第六行為第五行加64,第七行為第六行加64,第八行為第七行加64。
[0027]C 陣列第一行為 223,219,215,211,212,216,220,224,第二行為第一行減去 64,第三行為第二行減去64,第四行為第三行減去64,第五行為第四行減16,第六行為第五行加64,第七行為第六行加64,第八行為第七行加64。
[0028]步驟7:按照陣列中的數字排列對應的電路元件,將相應的電流源元件擺放在對應數字的位置上。
[0029]步驟8:在陣列周圍還需擺放dummy保護元件。同時,在實際版圖的繪制中還要注意IR Drop的影響,可以利用二進制樹的方式平均每一個元件上的IR Drop。
[0030]在數字輸入碼從全O逐步遞增到全I的過程中,電流源依次打開,使用本電流源陣列。
[0031]更進一步的,在步驟6得到最終的陣列之后,將最終陣列分別向右、向下鏡像,產生如圖9所示的同重心布局,之后按照同重心布局排列電路元件,將同一數字對應的元件分為四份,彼此串聯,并分別擺放在相應的數字位置上,隨后再執行步驟8,能夠有效抵消一階梯度誤差的影響。
[0032]圖1O為本發明方法產生的高精度布局圖1NL的MATLAB模擬,圖12為本發明方法產生的高精度布局圖DNL的MATLAB模擬,從圖10和圖12中可以明顯的看到,與圖9和圖11相比,本發明陣列誤差累積的現象得到顯著改善。
[0033]本發明方案所公開的技術手段不僅限于上述實施方式所公開的技術手段,還包括由以上技術特征任意組合所組成的技術方案。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍。
【主權項】
1.一種8位元高精度DAC電流源陣列的布局方法,其特征在于,包括如下步驟: 步驟I,生成8*8子陣列Z的第一行數字,將256與255數字擺放在子陣列Z第一行的左右兩端,然后向第一行中間生成逐漸變小的3對數字,每對數字中左邊的數字為其左方數字減4,右邊的數字為其右方數字減4,得到第一行8個數字;將第一行中的每一個數字減去64三次,分別得到第二行、第三行和第四行數字,得到前四行4*8數字陣列Zl; 將Zl向下鏡像,將得到的鏡像陣列里的每個數字分別減去16,得到另一個4*8的子陣列Z2,Z1在上、Z2在下共同組成子陣列Z; 步驟2:將子陣列Z順時針旋轉180°,得到子陣列A; 步驟3:將子陣列Z中的數字分別減去2,得到子陣列B; 步驟4:將子陣列Z中的數字分別減去32后向右做鏡像得到子陣列C; 步驟5:將子陣列Z中的數字分別減去34后向下做鏡像得到子陣列D; 步驟6:將D陣列設置在左上角,B陣列設置在右上角,A陣列設置在左下角,C陣列設置在右下角,得到最終的16*16陣列; 步驟7:按照陣列中的數字將相應的元件擺放在對應的位置上; 步驟8:在陣列周圍擺放du_y保護元件。2.根據權利要求1所述的8位元高精度DAC電流源陣列的布局方法,其特征在于,所述步驟6包括如下步驟:得到最終的陣列之后,將最終陣列分別向右、向下鏡像,得到同重心布局。3.—種8位元高精度DAC電流源陣列,其特征在于:由A、B、C、D四個8*8數字陣列組成,陣列數字上擺放著相應的元件所述D陣列位于左上角,B陣列位于右上角,A陣列位于左下角,C陣列位于右下角,陣列周圍擺放有dummy保護元件; 所述D陣列第一行為206,202,198,194,193,197,201,205,第二行、第三行、第四行分另Ij為第一行減去64、128、192,第五行為第四行加16,第六行、第七行、第八行分別為第五行加64、128、192; B陣列第一行為254,250,246,242,241,245,249,253,第二行、第三行、第四行分別為第一行減去64、128、192,第五行為第四行減16,第六行、第七行、第八行分別為第五行加64、128、192; A陣列第一行為239,235,231,227,228,232,236,240,第二行、第三行、第四行分別為第一行減去64、128、192,第五行為第四行加16,第六行、第七行、第八行分別為第五行加64、128、192; C陣列第一行為223,219,215,211,212,216,220,224,第二行、第三行、第四行分別為第一行減去64、128、192,第五行為第四行減16,第六行、第七行、第八行分別為第五行加64、128、192。4.根據權利要求3所述的8位元高精度DAC電流源陣列,其特征在于:由A、B、C、D組成的陣列向右、向下鏡像,產生同重心布局,將同一數字對應的元件分為四份彼此串聯后,分別擺放在相應的數字位置上。
【文檔編號】H03M1/66GK105897274SQ201610030348
【公開日】2016年8月24日
【申請日】2016年1月18日
【發明人】孫玉龍, 武鵬斌
【申請人】南京德睿智芯電子科技有限公司