用于數(shù)模轉(zhuǎn)換器的編碼、譯碼裝置及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及微電子領(lǐng)域,尤其涉及一種用于數(shù)模轉(zhuǎn)換器的編碼、譯碼裝置及方法。
【背景技術(shù)】
[0002] 數(shù)模轉(zhuǎn)換器通常采用混合型的譯碼結(jié)構(gòu)實現(xiàn)高精度,該譯碼結(jié)構(gòu)又被稱為分段式 譯碼結(jié)構(gòu),在這種譯碼結(jié)構(gòu)中,高權(quán)重位采用溫度計譯碼結(jié)構(gòu),低權(quán)重位采用二進制譯碼結(jié) 構(gòu)。其中,高權(quán)重位的譯碼方式是將N bit輸入二進制碼轉(zhuǎn)換為(2N_l)bit的溫度計碼,N 為大于0的自然數(shù)。
[0003] 對于N bit二進制-溫度計譯碼的電流單元陣列,需要(2N-1)個電流單元。若直接 對電流單元進行控制,則需要(2 N_l)bit的信號對電流單元進行控制,對應(yīng)的外部數(shù)據(jù)接口 也需要(2N-l)bit。為了節(jié)約硬件的消耗,采用行列編碼的結(jié)構(gòu)對電流單元進行譯碼,此時 會用到列允許信號 s-C〇lumn[2N/2-l:0]共 2N/2bit、列選中信號 C〇lumn[2N/2-l:0]共 2N/2bit 和行選中信號r〇w[2N/2-l:0]共2N/2bit,其中,行選中信號r 〇W[2N/2-l:0]為輸入二進制碼 [N-1:0]的低N/2位[N/2-l:0]生成的溫度計編碼,列選中信號 C〇lumn[2N/2-l:0]為輸入 二進制碼高N/2位[Ν-1:Ν/2]生成的溫度計編碼。而由于列允許信號和列選中信號相似度 很高,在邏輯上任一列允許信號為對應(yīng)的列選中信號的溫度計碼加1之后的值,在數(shù)值上 的直觀體現(xiàn)就是列允許信號比對應(yīng)的列選中信號多一位為1,所以列允許信號不需要額外 的引入,只需連接更高一位的列選中信號即可。因此,列允許信號和列選中信號可以重復(fù)使 用,則電流單元陣列和外部的數(shù)據(jù)接口中包括列選中信號和行選中信號,共2*2 N/2bit,此時 所需要的對電流單元進行控制的信號遠小于直接對電流單元控制時所需要的(2N_l)bit的 信號。
[0004] 例如:6bit二進制-溫度計譯碼結(jié)構(gòu)的數(shù)模轉(zhuǎn)換器中,6bit輸入二進制碼B[5:0] 生成溫度計編碼后需要控制63個電流單元,從邏輯上劃分為8行8列,其中第8列只含 有7個電流單元,其他7列都包含8個電流單元。進行溫度計編碼后,如表1所示,為 column[7:0]的編碼真值表,列選中信號column[7:0]為輸入二進制碼B[5:3]生成,從左至 右依次為從 column[0]到 column[7] ,column[0]常為 0;如表 2 所示,為 s-column[7:0]的 編碼真值表,列允許信號s-column [7:0]為輸入二進制碼B [5:3]生成,從左至右依次為從 8-(3〇11111111[0]到8-(3〇1111]111[7],8-(3〇1111]111[7]常為1;如表3所示,為1'〇¥[7:0]的編碼真值表, 行選中信號row[7:0]為輸入二進制碼B[2:0]生成,從左至右依次為從row[0]到row[7], row[0]常為0。由表1和表2可以看出,列允許信號與列選中信號的關(guān)系為:s_column[c] = column[c+l],其中(0彡c〈7),s-column[7]為全1。需要說明的是,上述的方括號中的 數(shù)字對應(yīng)于行列的號碼,[0]對應(yīng)第1行或者第1列,依此類推,第8列對應(yīng)的為column[7] 和 s-column[7]〇
[0005] 表1 column [7:0]的編碼真值表
[0006]
[0012] 對應(yīng)上述溫度計編碼,對每個電流單元的譯碼選擇信號為
[0013] Yl (r,c) = s_column[c]* (column [c]+row[r]) (I)
[0014] 其中,"+"為邏輯或,為邏輯與,r為行編碼,r e [0,2N/2-l] ;c為列編碼, c e [0,2Ν/2-1]。r和c不能同時為(2Ν/2-1)。在數(shù)模轉(zhuǎn)換器中,根據(jù)上述譯碼控制邏輯控制 電流單元,最終得到輸出的模擬信號。如圖1所示,為現(xiàn)有技術(shù)中對6bit的輸入二進制碼 進行溫度計編碼并譯碼的實現(xiàn)過程示意圖,在該圖中,6bit輸入二進制碼轉(zhuǎn)換為兩組Sbit 溫度計碼,即列選中信號和行選中信號,其中,列允許信號為對應(yīng)的列選中信號的溫度計碼 加1之后的值;譯碼選擇信號為:Yl (r,c) = s-column[c]*(column[c]+row[r]),其中r為 行編碼,r e [0,7],c為列編碼,c e [0,7]^和(:不能同時為7,所以譯碼的范圍為:[¥(0, 0),Y (7,7));然后根據(jù)譯碼選擇信號對電流單元陣列中63個電流單元進行選擇,并控制電 流單元的動作。
[0015] 隨著CMOS工藝的發(fā)展、器件尺寸按比例縮小等,都使得CMOS器件的工藝偏差對影 響數(shù)模轉(zhuǎn)換器精度的影響逐漸顯著,所以,需要通過減小工藝偏差的影響,來提高數(shù)模轉(zhuǎn)換 器的精度?,F(xiàn)有技術(shù)中,通過使列選中信號與列允許信號不再存在簡單的數(shù)值加1的對應(yīng) 關(guān)系,可以一定程度上減小工藝偏差的影響,但是,這樣在進行譯碼時就需要在外部數(shù)據(jù)接 口中增加列允許信號,因此,電流單元陣列和外部的數(shù)據(jù)接口中包括列允許信號、列選中信 號和行選中信號,共3*2 N/2bit。若使用3*2N/2bit的外部數(shù)據(jù)接口時,相應(yīng)的需要3*2N/2bit 的數(shù)據(jù)緩沖電路,在電路版圖上就需要3*2N/2bit的金屬走線。但是,較多的緩沖電路會增 加電路的功耗、增加與數(shù)據(jù)相關(guān)的動態(tài)電流,進而影響電源和地上的電流的頻譜,最終影響 輸出信號的頻譜。另外,較多的金屬走線會占用電路版圖的面積,帶來較多的寄生電路,降 低數(shù)模轉(zhuǎn)換器的性能。
【發(fā)明內(nèi)容】
[0016] 本發(fā)明提供一種用于數(shù)模轉(zhuǎn)換器的編碼、譯碼裝置及方法,用以在減小工藝偏差 影響的同時,減小外部數(shù)據(jù)接口,進而減少緩沖電路和金屬走線,提高數(shù)模轉(zhuǎn)換器的性能。
[0017] 本發(fā)明提供一種用于數(shù)模轉(zhuǎn)換器的編碼方法,所述數(shù)模轉(zhuǎn)換器的輸入二進制碼對 動作單元進行選擇,所述動作單元被劃分為行和列,所述列包括普通列和1個特殊列,所述 特殊列中的動作單元的數(shù)量小于所述普通列中的動作單元的數(shù)量,所述方法包括:
[0018] 生成隨機數(shù);
[0019] 根據(jù)所述隨機數(shù)和所述輸入二進制碼,生成列選中信號、行選中信號和控制信號, 所述列選中信號用于循環(huán)地從所述普通列中選取連續(xù)的目標列,所述控制信號用于表示所 述特殊列是否被選中,所述行選中信號用于從所述特殊列中或所述目標列的相鄰普通列中 選取目標行,其中,所述行選中信號和所述列選中信號為溫度計碼格式,所述目標列的起始 列由所述隨機數(shù)進行隨機化,當所述目標列的末尾列為所述普通列的末尾列時,所述目標 列的相鄰普通列為所述普通列的首列。
[0020] 本發(fā)明還提供一種用于數(shù)模轉(zhuǎn)換器的譯碼方法,所述數(shù)模轉(zhuǎn)換器的輸入二進制碼 對動作單元進行選擇,所述動作單元被劃分為行和列,所述列包括普通列和1個特殊列,所 述特殊列中的動作單元的數(shù)量小于所述普通列中的動作單元的數(shù)量,所述方法包括:
[0021] 接收列選中信號、行選中信號和控制信號,所述列選中信號用于循環(huán)地從所述普 通列中選取連續(xù)的目標列,所述控制信號用于表示所述特殊列是否被選中,所述行選中信 號用于從所述特殊列中或所述目標列的相鄰普通列中選取目標行,其中,所述行選中信號 和所述列選中信號為溫度計碼格式,所述目標列的起始列由隨機數(shù)進行隨機化,當所述目 標列的末尾列為所述普通列的末尾列時,所述目標列的相鄰普通列為所述普通列的首列;
[0022] 根據(jù)所述行選中信號和所述列選中信號,生成第一選擇信號,所述第一選擇信號 用于對所述普通列中的動作單元進行選擇;
[0023] 根據(jù)所述控制信號和所述行選擇信號,生成第二選擇信號,所述第二選擇信號用 于對所述特殊列中的動作單元進行選擇。
[0024] 本發(fā)明還提供一種用于數(shù)模轉(zhuǎn)換器的編碼裝置,所述數(shù)模轉(zhuǎn)換器的輸入二進制碼 對動作單元進行選擇,所述動作單元被劃分為行和列,所述列包括普通列和1個特殊列,所 述特殊列中的動作單元的數(shù)量小于所述普通列中的動作單元的數(shù)量,所述裝置包括:
[0025] 隨機數(shù)生成模塊,用于生成隨機數(shù);
[0026] 信號生成模塊,用于根據(jù)所述隨機數(shù)和所述輸入二進制碼,生成列選中信號、行選 中信號和控制信號,所述列選中信號用于循環(huán)地從所述普通列中選取連續(xù)的目標列,所述 控制信號用于表示所述特殊列是否被選中,所述行選中信號用于從所述特殊列中或所述目 標列的相鄰普通列中選取目標行,其中,所述行選中信號和所述列選中信號為溫度計碼格 式,所述目標列的起始列由所述隨機數(shù)進行隨機化,當所述目標列的末尾列為所述普通列 的末尾列時,所述目標列的相鄰普通列為所述普通列的首列。