辛?xí)詫帲?江
(沈陽工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽 110870)
在復(fù)雜的系統(tǒng)級微處理器設(shè)計(jì)中,存儲器負(fù)責(zé)系統(tǒng)程序和數(shù)據(jù)的儲存,是整個系統(tǒng)的重要組成部分,在CPU執(zhí)行指令的過程中,要經(jīng)常被訪問存儲器,所以存儲器的讀寫速度會影響指令執(zhí)行的速度[1]。RAM是系統(tǒng)芯片中常用的存儲器,用來存放數(shù)據(jù),普通的RAM在一個時鐘周期內(nèi)只能進(jìn)行一次讀或?qū)懖僮鳎碈PU在一個時鐘周期內(nèi)只能訪問存儲器一次,稱為單存取隨機(jī)存儲器(Single-Access On-Chip RAM),而雙存取隨機(jī)存儲器(Dual-Access On-Chip RAM)可以在一個時鐘周期內(nèi)進(jìn)行數(shù)據(jù)的讀和寫兩次操作。利用DARAM一個周期內(nèi)“雙存取”的特點(diǎn),可以大幅提高CPU執(zhí)行指令的速度,進(jìn)而提高整個系統(tǒng)的性能[2]。
DARAM整體電路如圖1所示,該DARAM的大小為256字x 16位,用來存儲數(shù)據(jù),輸入信號為兩相不交疊時鐘SCLOCK1和 SCLOCK2,數(shù)據(jù)寫總線DWE,數(shù)據(jù)讀地址總線DRA和數(shù)據(jù)寫地址總線DWA,讀使能R_en和寫使能W_en(高電平有效),輸出信號為數(shù)據(jù)讀總線DRD[3]。
DARAM的存儲陣列根據(jù)地址的高低分為大小相等的兩塊,接口電路主要包括地址譯碼、地址選擇、字線譯碼、位線選擇和控制電路幾個部分。其中,控制電路中的讀寫使能信號與內(nèi)部時鐘共同作用產(chǎn)生的脈沖信號,會使地址選擇電路在一個時鐘周期內(nèi)的高低電平部分,分別輸出讀地址和寫地址,這樣就可以使位線選擇電路在一個周期內(nèi)進(jìn)行讀寫兩次操作,這是接口電路中的重要部分,也是隨機(jī)存儲器可以進(jìn)行“雙存取”的關(guān)鍵。
該DARAM的物理地址為0300H-03FFH,所以讀寫地址的高8位必須為“0000_0011”,地址譯碼電路的功能就是判斷高8位地址是否匹配,如果地址匹配W_en和R_en才會輸入到控制電路。
控制電路實(shí)現(xiàn)的功能有:產(chǎn)生內(nèi)部時鐘,讀寫脈沖信號和預(yù)充電控制信號OE。
圖1 DARAM整體結(jié)構(gòu)圖Fig.1 The DARAM structure block
圖2 內(nèi)部時鐘產(chǎn)生電路Fig.2 Internal clock generating circuit
圖2中SCLOCK1和SCLOCK2高電平不交疊,當(dāng)SCLOCK1為高時輸出0,SCLOCK2為高時輸出1,都為低時輸出保持不變,這樣兩相時鐘就轉(zhuǎn)換成一相內(nèi)部時鐘CLK,如圖3。
圖3 內(nèi)部時鐘CLK的波形Fig.3 Waveform of the internal clock CLK
圖4產(chǎn)生的讀寫脈沖信號Rs與Ws會控制地址選擇模塊。W_en經(jīng)過一個高電平觸發(fā)的觸發(fā)器,是為了寄存半個周期的時間,使輸出的讀脈沖Rs和寫脈沖Ws交替產(chǎn)生,形成單周期雙脈沖,是可以實(shí)現(xiàn)“雙存取”的關(guān)鍵。
圖4 讀寫脈沖產(chǎn)生電路Fig.4 Pulse generating circuit of read and write
圖5電路中,當(dāng)進(jìn)行讀操作時,R_en為高,在時鐘上跳的瞬間,由于邏輯門的延遲,輸出信號會出現(xiàn)一小段低電平,之后再升高,這樣就產(chǎn)生了一個很窄的脈沖Rss,見圖6。類似的,由SCLOCK2和W_en也會產(chǎn)生寫信號窄脈沖Wss。
圖5 讀信號窄脈沖Rss產(chǎn)生電路Fig.5 Narrow pulse generating circuit of read
圖6 Rss波形Fig.6 Waveform of Rss
Rss與Wss并不是最后控制讀寫放大器的控制脈沖,因?yàn)樽x出與寫入數(shù)據(jù)的時間很關(guān)鍵,也就是說脈沖的寬度要很精確,讀脈沖如果過寬的話不僅會增大靈敏放大器的能量消耗,也會減慢數(shù)據(jù)讀出的速度,時間要恰好使位線上的電壓可以滿足靈敏放大器的靈敏度,而寫脈沖如果太窄,數(shù)據(jù)會無法寫入,所以要設(shè)計(jì)的恰到好處[4-5]。
圖7 預(yù)充電控制信號產(chǎn)生電路Fig.7 Control signal generating circuit of precharge
圖7所示電路可以產(chǎn)生讀寫控制脈沖和預(yù)充電控制信號。RSE是讀脈沖,WSE是寫脈沖,OE是預(yù)充電控制信號,由讀寫地址的第7位A7選擇要控制的存儲塊。負(fù)載電容的大小就決定了讀寫脈沖的寬度,所以需經(jīng)過精確設(shè)計(jì)。最終輸出的波形如圖8。
圖8 RSE、WSE和OE波形Fig.8 Waveform of RSE,WSE and OE
由控制電路產(chǎn)生的Rs和Ws會控制DRA和DWA低8位的傳輸,使兩條地址總線有選擇性的輸出,產(chǎn)生一條8位的讀寫地址總線,其中地址[1:0]經(jīng)過譯碼會控制四條位線,進(jìn)行位線選擇,地址[6:2]會進(jìn)行字線譯碼,地址[7]經(jīng)過控制電路產(chǎn)生存儲陣列的塊選擇信號。
位線選擇電路包括讀寫放大器和多路選擇器。圖9為一個位線選擇單元,根據(jù)最低兩位數(shù)據(jù)地址來選擇4組位線,由讀寫控制脈沖RSE和WSE決定對位線進(jìn)行讀或?qū)懖僮鳌_@就意味著在一個周期內(nèi),并不是對任意兩個讀寫地址都可以進(jìn)行操作,也就是說,進(jìn)行“雙存取”的兩個地址必須相近,這也是可以實(shí)現(xiàn)“雙存取”的關(guān)鍵。
圖9 位線選擇單元電路Fig.9 Bit line selection cell
圖10 存儲陣列局部Fig.10 Part ofmemory array
存儲陣列的結(jié)構(gòu)如圖10。存儲單元為常用的6管SRAM單元,進(jìn)行讀寫操作時,OE由低變高,預(yù)充電管關(guān)閉,通過讀寫放大器對位線的充電與放電來實(shí)現(xiàn)數(shù)據(jù)讀寫。
為了使仿真結(jié)果準(zhǔn)確,輸入波形應(yīng)該與實(shí)際情況一致,先用ModelSim對整體DSP芯片進(jìn)行仿真,然后觀察DARAM的輸入端,按照所得的輸入信號再單獨(dú)對DARAM進(jìn)行仿真,由于電路中既有數(shù)字電路也有模擬電路,所以采用數(shù)?;旌戏抡娴姆椒?,用ADvance MS對該電路進(jìn)行仿真[6]。仿真波形如圖11。
圖11 ADvance MS仿真波形Fig.11 Simulation waveform by Advance MS
在4個時鐘周期內(nèi),對DARAM進(jìn)行三次寫操作和三次讀操作,數(shù)據(jù)在SCLOCK2上升沿時寫入,在SCLOCK1上升沿時讀出,在第二個周期與第三個周期內(nèi),W_en和R_en同時使能,也就是要在一個周期內(nèi)進(jìn)行兩次操作,進(jìn)行“雙存取”。從兩塊存儲陣列中讀出的數(shù)據(jù)分別為DRD0和DRD1,可以看出,DRD0依次讀出的三組數(shù)據(jù) 0123H、4567H和89ABH即為前一周期寫入的數(shù)據(jù),說明此電路可以正確的讀寫數(shù)據(jù),也可以在一個周期內(nèi)完成一次讀操作和一次寫操作。
本文以一款國外公司的DSP為例,介紹了其內(nèi)嵌的一塊DARAM的整體電路,給出了關(guān)鍵部分的具體電路,并結(jié)合仿真波形,詳細(xì)介紹了電路的工作原理,最后采用數(shù)模混合仿真的方法,用ADvance MS對整體的電路進(jìn)行仿真,結(jié)果證明此電路可以實(shí)現(xiàn)一個周期內(nèi)的“雙存取”功能,可以為DSP乃至SOC中存儲器接口電路的設(shè)計(jì)提供一種參考。
[1]馬汝亮.高性能處理器存取關(guān)鍵技術(shù)的設(shè)計(jì)與優(yōu)化[D].上海:上海交通大學(xué),2013.
[2]陸禎琦.一種DSP片上存儲機(jī)制及其系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:上海交通大學(xué),2009.
[3]TI,TMS320LF/LC240XA DSP Controllers System and Peripherals Reference Guide [EB/OL].(2006-05).http://www.ti.com.cn/cn/lit/ug/spru357c/spru357c.pdf
[4]鄭曰,李斌,黃裕泉.一種快速、低壓的電流靈敏放大器的設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2006(6):130-133 ZHENG Yue,LI Bin,HUANG Yu-quan.A high-speed and low-voltage currentmode sense amplifier[J].Microelectronics,2006(6):130-133.
[5]李丹.基于DSP芯片存儲器技術(shù)研究與設(shè)計(jì)[D].長沙:國防科學(xué)技術(shù)大學(xué),2008.
[6]辛?xí)詫?,李寧?數(shù)?;旌戏抡婀ぞ逜dvance MS使用方法介紹[J].才智,2012(32):69-70.XIN Xiao-ning,LINing-jia.An introduction of analog-digital mixed-signal simulator ADvance MS[J].Itelligence,2012(32):69-70.