本站小編為你精心準備了數(shù)據(jù)通信接口設計思考參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
隨著信息產(chǎn)業(yè)的快速發(fā)展,半導體集成電路被廣泛地應用于通信、電子、計算機等相關的各個領域[1],集成電路的可靠性問題也得到越來越多人的關注。因此制造商對生產(chǎn)出的芯片進行出廠前的測試是必不可少的,比如在高溫環(huán)境下對芯片供給正常值以上的電壓,不斷地給予動態(tài)信號等。但這些常用的方法并不高效,老化的成本也較高,如果在這些方法的基礎上加上一些必要的功能測試,收集故障點的一些有用信息,是比較合理的方法。集成電路高溫動態(tài)老化測試就是在高溫下對芯片施加應力的同時進行各類功能測試,讓芯片超負荷工作而使其缺陷加速暴露,從而剔除有故障芯片的過程[2]。本文設計了一種數(shù)據(jù)通信系統(tǒng),以Altera公司的Cyclone系列現(xiàn)場可編程門陣列(Field-ProgrammableGateArray,F(xiàn)PGA)芯片EP3C16Q240C8為核心,結合三星公司的16/32位高級精簡指令集微處理器(AdvancedRISCMachines,ARM)芯片S3C2440A,采用并行處理和流水線技術,完成整個集成電路動態(tài)老化的測試過程。
1系統(tǒng)總體設計
本文設計的系統(tǒng)總體結構如圖1所示。S3C2440A采用了新的總線架構如先進微控制總線架構,低功耗,簡單,精致,且全靜態(tài)設計特別適合于對成本和功率敏感型的應用。EP3C16Q240C8擁有豐富的I/O資源和邏輯資源,具有高速并行處理能力,在數(shù)據(jù)采集領域具有重要的應用價值[4]。兩者之間的信號傳輸方式采用外部總線:指令Cmd[2∶0],數(shù)據(jù)Data1[15∶0]。FPGA受ARM寫使能W_EN和讀使能R_EN的控制,當W_EN為低電平時,ARM在寫時鐘Clk_wr的上升沿將相應的數(shù)據(jù)通過16位數(shù)據(jù)總線Data1寫入到FPGA中,此時FPGA內(nèi)與16位數(shù)據(jù)總線相對應的IO口全部變成輸入狀態(tài);當R_EN為低電平時,ARM在讀時鐘Clk_rd的上升沿通過16位的數(shù)據(jù)總線Data1從FPGA中讀取相應的數(shù)據(jù),此時FPGA內(nèi)與16位數(shù)據(jù)總線相對應的IO口全部變成輸出狀態(tài)。上位機中的數(shù)據(jù)通過以太網(wǎng)傳輸?shù)紸RM中,最終通過流水線技術儲存到FPGA內(nèi)部的RAM中;同時FPGA也時刻接收來自測試芯片反饋回的數(shù)據(jù),將其保存到內(nèi)部的另一塊RAM空間中。由于RAM空間有限,反饋回的數(shù)據(jù)將不斷地被新接收到的數(shù)據(jù)刷新。
RAM內(nèi)部儲存的數(shù)據(jù)如圖2所示。數(shù)據(jù)幀長度即上位機一個周期內(nèi)需要給測試芯片發(fā)送的老化測試數(shù)據(jù)的數(shù)據(jù)總量,在這里以16bits為一幀;理論反饋數(shù)據(jù)為在測試芯片正常工作的情況下理論上應得到的反饋數(shù)據(jù);老化測試數(shù)據(jù)經(jīng)上位機向ARM發(fā)送后存入FPGA內(nèi)部的RAM后,F(xiàn)PGA以自身內(nèi)部獨立的時鐘將此數(shù)據(jù)通過雙向總線Data2[15∶0]的形式不斷地發(fā)送到老化測試芯片中,與此同時測試芯片也將通過Data2不斷地向FPGA發(fā)送老化反饋數(shù)據(jù)。最終FPGA將理論上的反饋數(shù)據(jù)和老化反饋數(shù)據(jù)進行數(shù)據(jù)比對處理,得到老化測試錯誤報告數(shù)據(jù)上傳到上位機。由于不同的老化測試芯片有著不同的管腳定義,導致Data2總線的16根數(shù)據(jù)線的輸入/輸出狀態(tài)并不是確定的,需要FPGA通過上位機向ARM發(fā)送的16位IO口狀態(tài)數(shù)據(jù)進行配置。
2FPGA內(nèi)部模塊的設計
2.1模塊的總體設計FPGA內(nèi)部模塊結構如圖3虛框內(nèi)所示。FPGA內(nèi)部中的指令總線模塊的功能是FPGA接收來自ARM的相應指令,通過指令解析模塊,將ARM送到數(shù)據(jù)總線上的數(shù)據(jù)存入到片內(nèi)的寄存器中,于此同時FPGA通過數(shù)據(jù)反饋模塊將數(shù)據(jù)的接收成功或失敗的狀態(tài)反饋回ARM。數(shù)據(jù)總線模塊A的功能是當ARM向FPGA讀取數(shù)據(jù)時,總線的模式被配置成輸出;而當ARM向FPGA寫入數(shù)據(jù)時,總線的模式被配置成輸入[5]。數(shù)據(jù)總線模塊B根據(jù)16位IO口狀態(tài)數(shù)據(jù)配置16位雙向總線的輸入輸出模式,如果IO口狀態(tài)為1,則總線中相對應的數(shù)據(jù)線的模式為輸出,F(xiàn)PGA向測試芯片寫數(shù)據(jù);如果IO口狀態(tài)為0,則總線中相對應的數(shù)據(jù)線的模式為輸入,F(xiàn)PGA從測試芯片中讀數(shù)據(jù)。
2.2模塊的軟件設計本文設計的系統(tǒng)中,ARM負責在每次老化過程實施前,完成向FPGA傳送工作指令、配置參數(shù)、老化測試數(shù)據(jù)、用來比對的正確結果預期圖案;FPGA則根據(jù)工作指令完成向ARM反饋測試結果信息的任務。本系統(tǒng)中ARM和FPGA之間的協(xié)議流程圖如圖4所示。FPGA經(jīng)過系統(tǒng)復位后,ARM將給FPGA發(fā)送相應的數(shù)據(jù),如果經(jīng)奇偶效驗后數(shù)據(jù)被成功接收,F(xiàn)PGA通過16位的數(shù)據(jù)總線給ARM發(fā)送回FFFFH的數(shù)據(jù),隨后ARM將給FPGA發(fā)送協(xié)議流程中下一個環(huán)節(jié)的數(shù)據(jù);如果經(jīng)奇偶校驗后數(shù)據(jù)接收失敗,F(xiàn)PGA通過16位的數(shù)據(jù)總線給ARM發(fā)送回0000H的數(shù)據(jù),ARM將給FPGA重新發(fā)送協(xié)議流程中上一個環(huán)節(jié)的數(shù)據(jù)。FPGA內(nèi)部模塊的指令解析和數(shù)據(jù)處理采用有限狀態(tài)機的形式進行描述。本系統(tǒng)中共有8個狀態(tài):系統(tǒng)空閑Idle、老化過程中止Lh_stop、老化過程啟動Lh_start、配置測試數(shù)據(jù)幀長度Data_lgth、配置IO口狀態(tài)數(shù)據(jù)Io_data、配置老化測試數(shù)據(jù)Lh_data、配置理論上的反饋數(shù)據(jù)Fd_data、讀取測試錯誤報告數(shù)據(jù)域Error_data。FPGA根據(jù)ARM發(fā)送的指令數(shù)據(jù)Cmd[2∶0],使狀態(tài)機進入相應的狀態(tài),處理相應的命令。RAM模塊由Altera公司提供的IP核生成。本系統(tǒng)中共使用了3塊RAM空間,分別用來存儲老化測試數(shù)據(jù)、理論和實際反饋數(shù)據(jù)。
3測試結果
采用74LS04作為系統(tǒng)的測試芯片,行走walking算法實現(xiàn)激勵信號圖案的產(chǎn)生。在Quartus9.1開發(fā)平臺下使用VerilogHDL語言測試該系統(tǒng)。使用邏輯分析儀隨機抓取各信號的時序效果如圖5所示。時序中IO口狀態(tài)數(shù)據(jù)IO_data為16’h00ff,測試數(shù)據(jù)幀長度Data_lgth為255。當實際反饋數(shù)據(jù)Sj_Fd_data和理論反饋數(shù)據(jù)LI_Fd_data不同時Error_data的值累加1。
4結束語
本文設計的數(shù)據(jù)通信系統(tǒng)實現(xiàn)一個自動控制老化作業(yè)的過程。經(jīng)軟硬件驗證,該系統(tǒng)能夠很好地應用于集成電路動態(tài)老化測試平臺。經(jīng)實際測試,該系統(tǒng)工作穩(wěn)定可靠,老化自動化程度高,具有較好的應用前景。
作者:胡舜峰 張福洪 陳妍芬 徐春暉 單位:杭州電子科技大學通信工程學院