耿 楊,謝 杰,徐玉婷,張勝?gòu)V
(1.無錫中微億芯有限公司,江蘇無錫 214072;2.中國(guó)電子科技集團(tuán)公司第五十八研究所,江蘇無錫 214072)
FPGA上電復(fù)位過程的存儲(chǔ)單元讀寫檢測(cè)方法
耿 楊1,謝 杰2,徐玉婷1,張勝?gòu)V2
(1.無錫中微億芯有限公司,江蘇無錫 214072;2.中國(guó)電子科技集團(tuán)公司第五十八研究所,江蘇無錫 214072)
基于FPGA技術(shù),提出了一種關(guān)于FPGA上電復(fù)位過程的存儲(chǔ)單元讀寫檢測(cè)方法。該方法能夠在FPGA上電復(fù)位的過程中較早地檢測(cè)出芯片中心的控制電路和若干級(jí)buffer的驅(qū)動(dòng)能力是否足以控制所有存儲(chǔ)單元的讀寫。
FPGA;SRAM;寄存器上電復(fù)位
FPGA里分布著大量的存儲(chǔ)單元,這些存儲(chǔ)單元的讀寫是由位于芯片中心的控制電路經(jīng)過若干級(jí)buffer控制的[1],由于驅(qū)動(dòng)能力的問題,離芯片中心比較遠(yuǎn)的存儲(chǔ)單元容易發(fā)生讀寫失誤,導(dǎo)致芯片不能正常工作[2]。所以如何能夠在FPGA上電復(fù)位的過程中較早地檢測(cè)芯片中心的控制電路和若干級(jí)buffer的驅(qū)動(dòng)能力是否足以控制所有存儲(chǔ)單元的讀寫是本論文需要解決的問題。
如圖1所示,本論文設(shè)計(jì)的系統(tǒng)在FPGA芯片的左上、左下、右上、右下4個(gè)角各額外放置一個(gè)測(cè)試存儲(chǔ)單元,由于驅(qū)動(dòng)能力的問題,離芯片中心比較遠(yuǎn)的存儲(chǔ)單元容易發(fā)生讀寫失誤,當(dāng)這4個(gè)測(cè)試存儲(chǔ)單元SRAM(圖2)都讀寫正常,說明所有的存儲(chǔ)單元在后期配置[3]過程中都能正常讀寫。
測(cè)試存儲(chǔ)單元SRAM電路的工作原理如下。
寫操作:寫“1”時(shí),位線BL為高電平,BLN為低電平,字線 WL為高,傳輸管打開,Q1點(diǎn)存“1”,Q2點(diǎn)存“0”;寫“0”時(shí),反之。
保持狀態(tài):字線WL為低電平,傳輸管關(guān)閉,一對(duì)互補(bǔ)位線BL、BLN為高電平,由于中間是一對(duì)互相耦合的反相器,使得存儲(chǔ)的數(shù)據(jù)能夠得以保持。
讀操作:字線WL為低,傳輸管關(guān)閉,直接從Q端讀出存儲(chǔ)數(shù)據(jù)即可。
圖1 FPGA上電復(fù)位過程的存儲(chǔ)單元讀寫檢測(cè)系統(tǒng)
圖2 測(cè)試存儲(chǔ)單元SRAM電路
具體步驟如下:
當(dāng)位于芯片左上、左下、右上、右下4個(gè)區(qū)域的測(cè)試存儲(chǔ)單元(見圖2)SRAM[2]寫入數(shù)據(jù)的同時(shí)信號(hào)處理模塊(圖3)中對(duì)應(yīng)的寄存器會(huì)記錄寫入的數(shù)據(jù),測(cè)試存儲(chǔ)單元SRAM讀出的數(shù)據(jù)和寄存器寄存的數(shù)據(jù)由對(duì)應(yīng)的同或門進(jìn)行比較,若二者數(shù)據(jù)相同則輸出為“1”,不同則輸出為“0”。
圖3 信號(hào)處理模塊電路
4個(gè)同或門的輸出信號(hào)經(jīng)過一個(gè)四輸入與非門,若4個(gè)同或門全部為“1”(即4個(gè)方位上的測(cè)試SRAM全部讀寫正常)則四輸入與非門輸出信號(hào)EN為“0”。若4個(gè)同或門有任意一個(gè)為“0”時(shí)說明4個(gè)方位上的測(cè)試SRAM有讀寫失誤的情況發(fā)生,四輸入與非門輸出信號(hào)EN為“1”,并發(fā)送到電壓檢測(cè)及復(fù)位延遲電路(圖4)中的二輸入與非門。
上電復(fù)位延遲電路如圖5所示,由若干個(gè)D觸發(fā)器串聯(lián)組成。D觸發(fā)器的個(gè)數(shù)可以決定上電復(fù)位延遲電路的延遲時(shí)間。假設(shè)2個(gè)復(fù)位信號(hào)分別對(duì)應(yīng)的2個(gè)觸發(fā)器距外界提供時(shí)鐘的第一個(gè)觸發(fā)器之間的觸發(fā)器個(gè)數(shù)分別為N和M,外界提供的時(shí)鐘周期為T,那這兩個(gè)復(fù)位信號(hào)的延遲時(shí)間差為T×(2N-2M)。當(dāng)上電復(fù)位信號(hào)por_trip為“0”時(shí)D觸發(fā)器開始工作,上電復(fù)位延遲電路產(chǎn)生一系列不同順序的復(fù)位信號(hào),控制整個(gè)芯片不同模塊的上電順序。
如圖4所示,電壓檢測(cè)及復(fù)位延遲電路中的3組電壓上電檢測(cè)電路正常上電三輸入與非門輸出“0”,經(jīng)過一些延遲模塊輸入到二輸入的或門,信號(hào)處理模塊的輸出信號(hào)EN也輸入到二輸入的或門并產(chǎn)生一個(gè)上電復(fù)位信號(hào)por_trip,當(dāng)信號(hào)處理模塊的輸出信號(hào)EN 為“0”時(shí),por_trip 為“0”,上電復(fù)位延遲電路正常工作,產(chǎn)生一系列不同順序的復(fù)位信號(hào),說明整個(gè)FPGA芯片的存儲(chǔ)單元都不會(huì)由于驅(qū)動(dòng)能力問題而導(dǎo)致不能夠正常讀寫。當(dāng)4個(gè)方位的測(cè)試SRAM出現(xiàn)讀寫失誤時(shí),信號(hào)處理模塊的輸出信號(hào)EN為“1”時(shí),por_trip為“1”,上電復(fù)位延遲電路不能工作,輸出沒有達(dá)到預(yù)期的跳變,整個(gè)電路復(fù)位失敗。
圖4 電壓檢測(cè)及復(fù)位延遲電路
圖5 上電復(fù)位延遲電路
整個(gè)設(shè)計(jì)基于SMIC 65 nm工藝,建立整個(gè)仿真驗(yàn)證環(huán)境,利用Cadence公司仿真工具Spectre進(jìn)行設(shè)計(jì)仿真驗(yàn)證。圖6是當(dāng)T=10 ns時(shí)上電復(fù)位延遲電路正常工作,電路復(fù)位正常時(shí)的仿真波形圖。
圖6 電路復(fù)位正常時(shí)的仿真波形圖
圖7是對(duì)圖6的各個(gè)復(fù)位延遲信號(hào)的仿真波形結(jié)果進(jìn)行的數(shù)據(jù)處理,可以看到各個(gè)復(fù)位信號(hào)的時(shí)間差符合上文提到的D觸發(fā)器的個(gè)數(shù)可以決定上電復(fù)位延遲電路的延遲時(shí)間公式。
圖7 各個(gè)復(fù)位信號(hào)的時(shí)間差
本文提出了一種關(guān)于FPGA上電復(fù)位過程的存儲(chǔ)單元讀寫檢測(cè)方法,該設(shè)計(jì)能夠在FPGA上電復(fù)位的過程中較早地檢測(cè)芯片中心的控制電路和若干級(jí)buffer的驅(qū)動(dòng)能力是否足以控制所有存儲(chǔ)單元的讀寫。
[1]徐志軍,徐光輝.CPLD/FPGA的開發(fā)與應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[2]張勇國(guó),唐玉蘭,等.FPGA高性能查找表的設(shè)計(jì)與實(shí)現(xiàn)[J].固體電子學(xué)研究與進(jìn)展,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—),女,河北辛集人,碩士,工程師,研究方向?yàn)榍f門級(jí)FPGA設(shè)計(jì)。
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