/寫(xiě)依賴引起的競(jìng)爭(zhēng)問(wèn)題,即每個(gè)流水段均沒(méi)有向以前流水段的前饋路徑;流水致使不同硬件資源在同時(shí)隙內(nèi)的重疊使用,每個(gè)資源的利用效率提高,這樣避免了非流水處理帶來(lái)的功耗開(kāi)銷,避免非流水的關(guān)鍵路徑延遲時(shí)間太長(zhǎng),制約DSP系統(tǒng)工作頻率的提高;當(dāng)輸入數(shù)據(jù)把所有流水段充滿后,輸出會(huì)不斷輸出編碼后的位數(shù)據(jù)流;同時(shí)4段流水線的長(zhǎng)度,對(duì)本專利,是較短的高效流水架構(gòu),對(duì)主觀的實(shí)時(shí)感受評(píng)價(jià)不會(huì)有任何影響。
[0056]流水段的第一、二段均與FIFO有關(guān)。FIFO采用硬核Dual-Port-RAM,以避免使用2個(gè)SRAM硬核進(jìn)行同步切換,減少切換帶來(lái)的時(shí)序開(kāi)銷與資源開(kāi)銷,且方便進(jìn)行FIFO寫(xiě)/讀進(jìn)程的管理。該Dual-Port-RAM利用SMIC(芯片代工公司中芯國(guó)際的縮寫(xiě))提供的專用存儲(chǔ)器編譯(Memory-Compiler)工具定制產(chǎn)生,這樣可以生成深度X寬度是128*16的FIF0,以最多存儲(chǔ)2輪回(64節(jié)點(diǎn)/輪)數(shù)據(jù)。本設(shè)計(jì)中,每個(gè)FIFO地址內(nèi)容的高4bits是包序列號(hào),依次從O?15,依次循環(huán)下去,每個(gè)包由8個(gè)節(jié)點(diǎn)組成,128個(gè)深度可以共存儲(chǔ)16個(gè)包。FIFO的寫(xiě)指針write_pointer由RoundChipChannel [6:0](輪回號(hào)[6],芯片選通序列號(hào)[5:4],通道選通序列號(hào)[3:0])7bits組成,通道選通序列號(hào)從O計(jì)數(shù)到最大數(shù)值15時(shí),芯片選通序列加1,芯片選通序列從O計(jì)數(shù)到最大3時(shí),輪回號(hào)從O加1,變?yōu)镮。FIFO向后面的切換緩存矩陣輸出7bits的讀指針與該指針對(duì)應(yīng)的內(nèi)容,讀指針read_pointer的高4bits是包序列號(hào),當(dāng)讀取的包序列號(hào)變換時(shí),進(jìn)行乒乓切換矩陣的角色切換仲裁與同步管理。該FIFO可以存儲(chǔ)最多128個(gè)節(jié)點(diǎn)數(shù)據(jù);利用讀寫(xiě)指針在讀寫(xiě)過(guò)程中,天然與RoundNunuChipNum_ChannelNum[6:0]相唯一對(duì)應(yīng),保證了在數(shù)據(jù)穿過(guò)FIFO的轉(zhuǎn)存過(guò)程中,其數(shù)據(jù)與其對(duì)應(yīng)通道序列號(hào)的天然同步。
[0057]由于將通信信道建模為高斯信道模型,利用R-S編碼時(shí),其60%?70%的編碼效率,在信道帶寬開(kāi)銷與接收誤碼糾正率達(dá)到最佳權(quán)衡。使用R-S編碼,(n,k,t):(n = 31, k=19, t = 12)的里德-索羅蒙,編碼效率約為61 %。該R-S編碼器,每個(gè)符號(hào)有5bits,信息符號(hào)19個(gè),添加的冗余糾錯(cuò)符號(hào)12個(gè),可糾錯(cuò)能力為3個(gè)錯(cuò)誤符號(hào),可以進(jìn)行錯(cuò)誤符號(hào)的位置確定,以及完成對(duì)錯(cuò)誤符號(hào)的糾正(符號(hào)錯(cuò)Ibit?5bits均可以糾正),如果不能完成糾錯(cuò),則R-S解碼器會(huì)給出fail信號(hào)。根據(jù)信道的具體情況,錯(cuò)3個(gè)符號(hào)屬于大概率情況,對(duì)于短距離信道通信,屬于大概率事件。選擇使用R-S編碼,如果錯(cuò)誤符號(hào)不超過(guò)3個(gè)symbol,將會(huì)完成自動(dòng)糾錯(cuò)。在糾錯(cuò)能力允許的情況下,接收解碼端將不會(huì)有丟包問(wèn)題,不會(huì)導(dǎo)致信息丟失,致使大大降低系統(tǒng)有效信息發(fā)送效率,并且沒(méi)有利用ARQ重傳導(dǎo)致的反饋信息通道與握手協(xié)議造成系統(tǒng)數(shù)據(jù)速率、延遲、復(fù)雜性等等開(kāi)銷,同時(shí)ARQ需要保證編碼解碼的P2P-Delay滿足一定的約束??梢?jiàn)合適的R-S編碼具有針對(duì)特定信道的糾錯(cuò),并且其較為復(fù)雜的譯碼電路位于接收端,對(duì)功耗、面積等并不敏感,可以犧牲它們,以提高吞吐,降低延遲。
[0058]使用可選的Manchester (曼徹斯特)底層物理編碼,把‘O’bit信息表示為上升沿‘0’ - > ‘1’,把‘I’ bit表示為下降沿‘I’ - > ‘0’,原始數(shù)據(jù)速率降為原來(lái)50%,避免了連續(xù)位流直流信息對(duì)OOK調(diào)制后的信道傳輸對(duì)干擾的敏感性;后面跟隨CRC-16(其生成多項(xiàng)式^x1Wxix1)高層校驗(yàn)編碼,其利用異或門與移位寄存器組成的LFSR(線性反饋移位寄存器)進(jìn)行冗余校驗(yàn)信息的編碼,移出與原始數(shù)據(jù)的有序移出。如果使能Manchester編碼,再加上后級(jí)的CRC-16校驗(yàn)編碼,編碼效率是37.5%,如果不使用Manchester編碼,采用(n,k) (η = 64,k = 48) CRC-16編碼,編碼效率是75%。根據(jù)接收端的接收誤碼率BER或PER情況,進(jìn)行信道的Manchester編碼的禁止或使能,以在足夠的信道抗干擾能力與發(fā)送有效數(shù)據(jù)速率之間折中。
[0059]ADC送出數(shù)據(jù)的速率=ADC的通道送出bit數(shù)字?jǐn)?shù)據(jù)的數(shù)據(jù)速率Fsyn*12 ;而后面的差錯(cuò)編碼,與幀封裝引起的幀同步碼字(接收端同步碼子0x4747引起的偽同步屬于絕對(duì)小概率事件),包序列號(hào)(范圍bOOOO?bllll),CRC冗余校驗(yàn)或R-S糾錯(cuò)引起的數(shù)據(jù)開(kāi)銷,造成的冗余度表示為α,滿足吞吐約束公式:Band-Width_位流序列發(fā)生器帶寬(或Data Rat1發(fā)送位流速率)=Fsyn*12*(1+a ) < 2MHz,由于設(shè)計(jì)的射頻芯片的最高發(fā)送數(shù)據(jù)速率是2Mbps,并且在射頻電路的BPF帶寬濾波器在1.5Mbps時(shí),射頻調(diào)制系統(tǒng)性能最優(yōu)。設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)可以進(jìn)行同步時(shí)鐘域的頻率調(diào)整,差錯(cuò)編碼的方式也可以進(jìn)行重新配置,而且DSP系統(tǒng)的吞吐能力應(yīng)該滿足上面的約束公式。本文發(fā)明設(shè)計(jì)的DSP系統(tǒng)具有結(jié)構(gòu)可壓縮或擴(kuò)展,可重新配置能力,滿足在不同短距離通信環(huán)境下的差錯(cuò)能力,并且保證該DSP系統(tǒng)不會(huì)過(guò)于復(fù)雜,即為滿足腦電信息無(wú)線傳輸差錯(cuò)要求的最小實(shí)時(shí)差錯(cuò)可重新配置系統(tǒng)。
[0060]CPU采用無(wú)前饋(不會(huì)向以前的流水段饋入數(shù)據(jù))4段流水線技術(shù),流水線不存在結(jié)構(gòu)沖突,也不存在數(shù)據(jù)W/R依賴引起的競(jìng)爭(zhēng)問(wèn)題,流水暢順;門控時(shí)鐘技術(shù),采用工藝庫(kù)提供的專用Clock Gate單元電路,它由一個(gè)AND門與一個(gè)LATCH組成;基于分時(shí)復(fù)用思想的模塊休眠/喚醒技術(shù),當(dāng)模塊禁止時(shí),則模塊使能位是‘0’,當(dāng)模塊喚醒時(shí),模塊使能位置‘I’ ;按照動(dòng)態(tài)功耗計(jì)算公式Pdynanic= (1/2)*C*V2*f_work J^gCMOS晶體管對(duì)負(fù)載電容充放電的頻率f_work引起的動(dòng)態(tài)功耗,并且考慮到實(shí)際通道切換采集頻率Fsyn導(dǎo)致的發(fā)送數(shù)據(jù)速率與射頻調(diào)制系統(tǒng)的調(diào)制上限限制,實(shí)際DSP的工作頻率為輸入5MHz晶振的分頻,在滿足數(shù)據(jù)流水吞吐與內(nèi)部信號(hào)采集判斷的前提下,最小化DSP系統(tǒng)所需的同步工作頻率,降低頻率因子f_work,從而實(shí)現(xiàn)同等比例降低DSP的內(nèi)部CMOS對(duì)FET管子負(fù)載電容充放電引起的動(dòng)態(tài)功耗;芯片后端布局布線具體實(shí)現(xiàn)時(shí),采用低功耗驅(qū)動(dòng),即從架構(gòu)級(jí)到晶體管(FET)級(jí)別,進(jìn)行不同層次的功耗降低與優(yōu)化。
[0061]所有輸入輸出端口信號(hào)與內(nèi)部信號(hào)均進(jìn)行DSP同步時(shí)鐘域系統(tǒng)的時(shí)鐘鎖存后再使用,避免了毛刺;輸入端口不要有懸空端口,避免導(dǎo)致不確定態(tài)傳播;對(duì)于跨越時(shí)鐘域的信號(hào)傳遞,采用將慢時(shí)鐘域信號(hào)進(jìn)行快速異步時(shí)鐘拍快2?3拍的簡(jiǎn)單高效方法,然后再對(duì)采集的信號(hào)進(jìn)行讀取判斷,避免了 Flip-Flop寄存器由于欠充放電引起的亞穩(wěn)態(tài)現(xiàn)象;在芯片的后端布局布線階段,打開(kāi)信號(hào)完整性的信號(hào)分析引擎,進(jìn)行時(shí)序與設(shè)計(jì)規(guī)則DRC等分析,使DSP系統(tǒng)成為全局同步、局部異步的魯棒系統(tǒng)。
[0062]采用的DSP與射頻部分均有獨(dú)立的參數(shù)配置LUT,分別有單獨(dú)的尋址索引去查詢LUTo可以實(shí)現(xiàn)對(duì)DSP與射頻系統(tǒng)的單獨(dú)配置。
[0063]該DSP的4段流水線不存在向較早流水段的前饋路徑,由于每段流水段完成一個(gè)特定的指令,即不存在與讀/寫(xiě)順序依賴導(dǎo)致的數(shù)據(jù)競(jìng)爭(zhēng),同時(shí)通過(guò)在流水段內(nèi)的資源時(shí)分復(fù)用或適度的同樣資源并行復(fù)用解決了結(jié)構(gòu)冒險(xiǎn);同時(shí),如果向該CPU中添加模塊,則需要滿足最長(zhǎng)流水段的時(shí)鐘周期延遲數(shù)約束,本設(shè)計(jì)為8個(gè)Fsyn對(duì)應(yīng)的時(shí)鐘周期,并且對(duì)段與段之間的I/F必須進(jìn)行數(shù)據(jù)(包括數(shù)據(jù)、同步握手信號(hào))寄存。即該DSP具有架構(gòu)可擴(kuò)展性與硬件功能方便添加移植性,該DSP可以作為一種架構(gòu)可擴(kuò)展IP,作為以后的類似Sensor網(wǎng)絡(luò)信號(hào)的檢測(cè)存儲(chǔ)與處理的硬件加速器的IP。
[0064]使用同步低有效復(fù)位策略,reset處于低電平時(shí)間足夠長(zhǎng),clock對(duì)其進(jìn)行連續(xù)寄存 2 手白米集,即 reset- > reset_t- > reset_t_tif_workclock,當(dāng) reset_t = 1,reset_t_t為‘0’時(shí),則進(jìn)行相關(guān)寄存器的復(fù)位;當(dāng)reset釋放時(shí),其拉高為‘I’電平,采用拍打3拍寄存 reset 的方法,艮P reset- > reset_regl- > reset_reg2- > reset_reg3if_workclock,只對(duì)reset_reg3進(jìn)行計(jì)數(shù),并且在特定的計(jì)數(shù)數(shù)值時(shí),輸出開(kāi)始正常工作的strobe信號(hào),完成通道序列的從O開(kāi)始的有序遞增變化送與ADC前的MUC使能端,開(kāi)始Normal狀態(tài)工作。這樣,使用簡(jiǎn)單的復(fù)位策略,實(shí)現(xiàn)了檢測(cè)reset_t的下降沿,進(jìn)行復(fù)位,避免復(fù)位無(wú)效與復(fù)位的setup/hold時(shí)序問(wèn)題;檢測(cè)reset_regl的上升沿,且對(duì)reset_reg3 = I進(jìn)行計(jì)數(shù),避免reset的復(fù)位撤銷引起的setup/hold時(shí)序問(wèn)題,并且達(dá)到利用reset上升沿則開(kāi)始進(jìn)行工作,輸出開(kāi)始工作的strobe信號(hào)的目的,避免片外reset輸入的隨機(jī)性性引起的采集亞穩(wěn)態(tài)信號(hào)致使的錯(cuò)誤判斷。
[0065]通過(guò)DSP片內(nèi)的IIC標(biāo)準(zhǔn)協(xié)