耿 楊,謝 杰,徐玉婷,張勝廣
(1.無錫中微億芯有限公司,江蘇無錫 214072;2.中國電子科技集團公司第五十八研究所,江蘇無錫 214072)
FPGA上電復(fù)位過程的存儲單元讀寫檢測方法
耿 楊1,謝 杰2,徐玉婷1,張勝廣2
(1.無錫中微億芯有限公司,江蘇無錫 214072;2.中國電子科技集團公司第五十八研究所,江蘇無錫 214072)
基于FPGA技術(shù),提出了一種關(guān)于FPGA上電復(fù)位過程的存儲單元讀寫檢測方法。該方法能夠在FPGA上電復(fù)位的過程中較早地檢測出芯片中心的控制電路和若干級buffer的驅(qū)動能力是否足以控制所有存儲單元的讀寫。
FPGA;SRAM;寄存器上電復(fù)位
FPGA里分布著大量的存儲單元,這些存儲單元的讀寫是由位于芯片中心的控制電路經(jīng)過若干級buffer控制的[1],由于驅(qū)動能力的問題,離芯片中心比較遠的存儲單元容易發(fā)生讀寫失誤,導(dǎo)致芯片不能正常工作[2]。所以如何能夠在FPGA上電復(fù)位的過程中較早地檢測芯片中心的控制電路和若干級buffer的驅(qū)動能力是否足以控制所有存儲單元的讀寫是本論文需要解決的問題。
如圖1所示,本論文設(shè)計的系統(tǒng)在FPGA芯片的左上、左下、右上、右下4個角各額外放置一個測試存儲單元,由于驅(qū)動能力的問題,離芯片中心比較遠的存儲單元容易發(fā)生讀寫失誤,當這4個測試存儲單元SRAM(圖2)都讀寫正常,說明所有的存儲單元在后期配置[3]過程中都能正常讀寫。
測試存儲單元SRAM電路的工作原理如下。
寫操作:寫“1”時,位線BL為高電平,BLN為低電平,字線 WL為高,傳輸管打開,Q1點存“1”,Q2點存“0”;寫“0”時,反之。
保持狀態(tài):字線WL為低電平,傳輸管關(guān)閉,一對互補位線BL、BLN為高電平,由于中間是一對互相耦合的反相器,使得存儲的數(shù)據(jù)能夠得以保持。
讀操作:字線WL為低,傳輸管關(guān)閉,直接從Q端讀出存儲數(shù)據(jù)即可。
圖1 FPGA上電復(fù)位過程的存儲單元讀寫檢測系統(tǒng)
圖2 測試存儲單元SRAM電路
具體步驟如下:
當位于芯片左上、左下、右上、右下4個區(qū)域的測試存儲單元(見圖2)SRAM[2]寫入數(shù)據(jù)的同時信號處理模塊(圖3)中對應(yīng)的寄存器會記錄寫入的數(shù)據(jù),測試存儲單元SRAM讀出的數(shù)據(jù)和寄存器寄存的數(shù)據(jù)由對應(yīng)的同或門進行比較,若二者數(shù)據(jù)相同則輸出為“1”,不同則輸出為“0”。
圖3 信號處理模塊電路
4個同或門的輸出信號經(jīng)過一個四輸入與非門,若4個同或門全部為“1”(即4個方位上的測試SRAM全部讀寫正常)則四輸入與非門輸出信號EN為“0”。若4個同或門有任意一個為“0”時說明4個方位上的測試SRAM有讀寫失誤的情況發(fā)生,四輸入與非門輸出信號EN為“1”,并發(fā)送到電壓檢測及復(fù)位延遲電路(圖4)中的二輸入與非門。
上電復(fù)位延遲電路如圖5所示,由若干個D觸發(fā)器串聯(lián)組成。D觸發(fā)器的個數(shù)可以決定上電復(fù)位延遲電路的延遲時間。假設(shè)2個復(fù)位信號分別對應(yīng)的2個觸發(fā)器距外界提供時鐘的第一個觸發(fā)器之間的觸發(fā)器個數(shù)分別為N和M,外界提供的時鐘周期為T,那這兩個復(fù)位信號的延遲時間差為T×(2N-2M)。當上電復(fù)位信號por_trip為“0”時D觸發(fā)器開始工作,上電復(fù)位延遲電路產(chǎn)生一系列不同順序的復(fù)位信號,控制整個芯片不同模塊的上電順序。
如圖4所示,電壓檢測及復(fù)位延遲電路中的3組電壓上電檢測電路正常上電三輸入與非門輸出“0”,經(jīng)過一些延遲模塊輸入到二輸入的或門,信號處理模塊的輸出信號EN也輸入到二輸入的或門并產(chǎn)生一個上電復(fù)位信號por_trip,當信號處理模塊的輸出信號EN 為“0”時,por_trip 為“0”,上電復(fù)位延遲電路正常工作,產(chǎn)生一系列不同順序的復(fù)位信號,說明整個FPGA芯片的存儲單元都不會由于驅(qū)動能力問題而導(dǎo)致不能夠正常讀寫。當4個方位的測試SRAM出現(xiàn)讀寫失誤時,信號處理模塊的輸出信號EN為“1”時,por_trip為“1”,上電復(fù)位延遲電路不能工作,輸出沒有達到預(yù)期的跳變,整個電路復(fù)位失敗。
圖4 電壓檢測及復(fù)位延遲電路
圖5 上電復(fù)位延遲電路
整個設(shè)計基于SMIC 65 nm工藝,建立整個仿真驗證環(huán)境,利用Cadence公司仿真工具Spectre進行設(shè)計仿真驗證。圖6是當T=10 ns時上電復(fù)位延遲電路正常工作,電路復(fù)位正常時的仿真波形圖。
圖6 電路復(fù)位正常時的仿真波形圖
圖7是對圖6的各個復(fù)位延遲信號的仿真波形結(jié)果進行的數(shù)據(jù)處理,可以看到各個復(fù)位信號的時間差符合上文提到的D觸發(fā)器的個數(shù)可以決定上電復(fù)位延遲電路的延遲時間公式。
圖7 各個復(fù)位信號的時間差
本文提出了一種關(guān)于FPGA上電復(fù)位過程的存儲單元讀寫檢測方法,該設(shè)計能夠在FPGA上電復(fù)位的過程中較早地檢測芯片中心的控制電路和若干級buffer的驅(qū)動能力是否足以控制所有存儲單元的讀寫。
[1]徐志軍,徐光輝.CPLD/FPGA的開發(fā)與應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[2]張勇國,唐玉蘭,等.FPGA高性能查找表的設(shè)計與實現(xiàn)[J].固體電子學(xué)研究與進展,2009.
[3]Singh S,Rose J,Chow Petal.The Effect of Logic BLOCK Architecture on FPGA performance[J].IEEE JSSC,1992,27(3):281-287.
耿 楊(1987—),女,河北辛集人,碩士,工程師,研究方向為千萬門級FPGA設(shè)計。
A Method of Reading and Writing of Memory Cells in the Process of Power Reset on FPGA
GENG Yang1,XIE Jie2,XU Yuting1,ZHANG Shengguang2
(1.East Technologies,inc.Wuxi 214072,China;2.China Electronics Technology Corporation No.58 Research Institute,Wuxi 214072,China)
Based on FPGA,the paper presents a method of reading and writing of memory cells in the process of power reset on FPGA.In the process of power reset on FPGA,the method can early detect the center of the chip control circuit and a number of buffer driver ability which is enough to control all of the memory cells readingandwriting.
FPGA;SRAM;register poweronreset
TN402
A
1681-1070(2017)11-0033-03
2017-04-26