一種eeprom控制器的信號生成電路及控制方法
【專利摘要】本發明公開了一種EEPROM控制器的信號生成電路及控制方法,其中,該信號生成電路包括:鎖存器、與門電路、計數器和比較器;鎖存器的輸入端用于輸入控制信號,鎖存器的使能端與系統時鐘相連;鎖存器的輸出端與門電路的第一輸入端相連,與門電路的第二輸入端與系統時鐘相連;與門電路的輸出端輸出時鐘采樣信號;比較器的第一輸入端用于輸入第一計數值,第二輸入端與計數器相連;比較器的輸出端輸出slave總線輸出響應信號;計數器用于周期性從零計至第一計數值。該信號生成電路采用同步設計實現,直接通過系統時鐘sys_clk門控電路得到時鐘采樣信號,節省了分頻邏輯電路,同時可縮短讀寫所需要開銷周期,提升EEPROM數據讀寫速度。
【專利說明】
一種EEPROM控制器的信號生成電路及控制方法
技術領域
[0001]本發明涉及芯片設計技術領域,特別涉及一種EEPROM控制器的信號生成電路及控 制方法。
【背景技術】
[0002] 高級高性能總線AHB(Advanced High Performance Bus),不僅是一種總線,更是 一種帶有接口模塊的互連體系,主要用于高性能模塊(如CPU、DMA和DSP等)之間的連接。AHB 系統由主模塊、從模塊和基礎結構(Inf rastructure)三部分組成,整個AHB總線上的傳輸都 由主模塊發出,由從模塊負責回應。
[0003] EEPROM(Electrically Erasable Programmable Read-Only Memory)是一種掉電 后數據不丟失的帶電可擦可編程只讀存儲器。在現有的技術中,片上芯片系統(S0C)設計中 集成的EEPROM往往由工藝廠商制定,其讀寫控制器時序一般為異步實現,通過時鐘采樣信 號AE(Rise Edge Active,上升沿有效)去采樣讀寫數據、地址信號等,且AE與相關被采樣信 號之間有嚴格的setup時間(建立時間)和hold時間(保持時間)要求。
[0004] 以某公司的11 Onm EEPROM器件(HJ110EEP)為例,其EEP的讀時序要求如圖1所示, 讀時序參數如表1所示。可以看出,對一次讀操作,在AE上升沿之后,最晚在80ns的時間 (tACC,讀模式下AE采樣地址后至數據輸出的時間)內保證數據有效返回;在兩次讀操作之 間,必須保持至少80ns的時間(tAAD),對于不同工藝廠家,其參數數值要求也不一樣。
[0005] 表1 HJ110EEP讀時序參數
[0008] 同樣以上述的110nm EEPROM器件(HJ110EEP)為例,其EEP的寫時序要求如圖2所 示,寫時序參數如表2所示。可以看出,在兩次寫操作之間,必須保持至少100ns的時間 (tAADW,寫模式下兩次AE采樣間隔時間),對于不同工藝廠家,其參數數值要求也不一樣(此 時沒有tACC的要求)。
[0009] 表2 HJ110EEP寫時序參數
[0011] 傳統EEPR0M控制器讀時序如圖3所示,EEPR0M器件的AE時鐘采樣信號及AHB總線的 輸出響應信號hready_out信號在芯片設計中往往是在sys_clk系統時鐘域下通過多級寄存 器延時鎖存產生(傳統EEPR0M控制器AE及hready_out信號生成電路如圖4所示),被采樣信 號CE,ADDR等也需要被寄存器延時鎖存。這種設計雖然能滿足時序要求,但讀寫時序相對較 慢,同時增加了額外的寄存器電路,尤其是ADDR多位寬數據需要多位寄存器鎖存,所帶來的 芯片面積開銷較大。再次,這種電路往往只能針對系統時鐘頻率固定的情況去實現,對于系 統時鐘sys_c 1 k頻率可變的情況則會失效,不具有靈活性。
[0012] 公開于該【背景技術】部分的信息僅僅旨在增加對本發明的總體背景的理解,而不應 當被視為承認或以任何形式暗示該信息構成已為本領域一般技術人員所公知的現有技術。
【發明內容】
[0013]本發明的目的在于提供一種EEPR0M控制器的信號生成電路及控制方法,從而克服 現有EEPR0M控制器讀寫操作時序較慢且芯片面積開銷較大的缺陷。
[0014]本發明實施例提供的一種EEPR0M控制器的信號生成電路,包括:鎖存器、與門電 路、計數器和比較器;
[0015] 鎖存器的輸入端用于輸入控制信號,鎖存器的使能端與系統時鐘相連;控制信號 為控制器選中狀態信號、控制器傳輸有效狀態信號和總線輸出準備信號進行與邏輯運算后 輸出的信號;
[0016] 鎖存器的輸出端與與門電路的第一輸入端相連,與門電路的第二輸入端與系統時 鐘相連;與門電路的輸出端輸出時鐘采樣信號。
[0017] 在一種可能的實現方式中,還包括:計數器和比較器;
[0018] 比較器的第一輸入端用于輸入第一計數值,第二輸入端與計數器相連;比較器的 輸出端輸出總線輸出響應信號;第一計數值為根據系統時鐘和預設的第一時間的最大值確 定的計數值,第一時間為時鐘采樣信號從采樣地址至輸出數據的時間;
[0019] 計數器用于周期性從零計至第一計數值。
[0020] 在一種可能的實現方式中,鎖存器的使能端低電平有效。
[0021] 基于同樣的發明構思,本發明實施例還提供一種基于上述信號生成電路的控制方 法,包括:
[0022] 根據系統時鐘和預設的第一時間的最大值確定總線輸出響應信號,第一時間為時 鐘采樣信號從采樣地址至輸出數據的時間;
[0023] 對控制器選中狀態信號、控制器傳輸有效狀態信號和總線輸出響應信號進行與邏 輯運算,確定時鐘采樣信號;
[0024] 根據時鐘采樣信號和/或總線輸出響應信號對控制器存儲的數據進行訪問。
[0025] 在一種可能的實現方式中,根據系統時鐘和預設的第一時間的最大值確定總線輸 出響應信號,包括:
[0026] 根據系統時鐘和預設的第一時間的最大值確定第一計數值;
[0027]以系統時鐘周期為周期,周期性從零計數值第一計數值;
[0028] 在計數至第一計數值后,對計數清零,并輸出總線輸出響應信號。
[0029] 在一種可能的實現方式中,第一計數值與系統時鐘和第一時間的最大值之間的關 系為:
[0030] TX(Dl+l)>Max(tACC);
[0031] 其中,T為系統時鐘的周期;D1為第一計數值,且選取滿足上式的最小整數的D1作 為第一計數值;tACC為第一時間,Max(tACC)為第一時間的最大值。
[0032]在一種可能的實現方式中,還包括:
[0033]為寄存器和存儲器分別設置獨立的總線接口,在高壓編程期間,存儲器的總線輸 出響應信號為釋放狀態。
[0034]基于同樣的發明構思,本發明實施例還提供另一種EEPR0M控制器的信號生成電 路,包括:延遲觸發器、鎖存器和與門電路;
[0035] 延遲觸發器的輸入端用于輸入控制信號,延遲觸發器的使能端與系統時鐘相連; 控制信號為控制器選中狀態信號、控制器傳輸有效狀態信號和總線輸出響應信號進行與邏 輯運算后輸出的信號;
[0036] 延遲觸發器的輸出端與鎖存器的輸入端相連,鎖存器的使能端與系統時鐘相連;
[0037] 鎖存器的輸出端與與門電路的第一輸入端相連,與門電路的第二輸入端與系統時 鐘相連;與門電路的輸出端輸出時鐘采樣信號。
[0038] 在一種可能的實現方式中,還包括:計數器和比較器;
[0039]比較器的第一輸入端用于輸入第二計數值,第二輸入端與計數器相連;比較器的 輸出端輸出總線輸出響應信號;第二計數值為根據系統時鐘和預設的第二時間的最小值確 定的計數值,第二時間為時鐘采樣信號的采樣間隔時間;
[0040] 計數器用于周期性從零計至第二計數值。
[0041] 在一種可能的實現方式中,鎖存器的使能端低電平有效。
[0042] 基于同樣的發明構思,本發明實施例還提供一種基于上述信號生成電路的控制方 法,包括:
[0043] 根據系統時鐘和預設的第二時間的最小值確定總線輸出響應信號,第二時間為時 鐘采樣信號的采樣間隔時間;
[0044] 對控制器選中狀態信號、控制器傳輸有效狀態信號和總線輸出響應信號進行與邏 輯運算,確定時鐘采樣信號;
[0045] 根據時鐘采樣信號和/或總線輸出響應信號對控制器存儲的數據進行訪問。
[0046] 在一種可能的實現方式中,根據系統時鐘和預設的第二時間的最小值確定總線輸 出響應信號,包括:
[0047] 根據系統時鐘和預設的第二時間的最小值確定第二計數值;
[0048]以系統時鐘周期為周期,周期性從零計數值第二計數值;
[0049] 在計數至第二計數值后,對計數清零,并輸出總線輸出響應信號。
[0050] 在一種可能的實現方式中,第二計數值與系統時鐘和第二時間的最小值之間的關 系為:
[0051] TX(D2+l)>Min(tAADff);
[0052]其中,T為系統時鐘的周期;D2為第二計數值,且選取滿足上式的最小整數的D2作 為第二計數值;tAADW為第二時間,Min(tAADW)為第二時間的最小值。
[0053] 本發明實施例提供的信號生成電路和控制方法,該信號生成電路采用同步設計實 現,時鐘采樣信號AE不是由syS_clk系統時鐘域下延時鎖存輸出,而是直接通過系統時鐘 Sys_clk門控電路得到,從而可以在后端流程中保證setUp、h〇ld時序要求。同時,該信號生 成電路也節省了CE,ADDR等寄存器鎖存電路,且在同樣讀取時序要求的條件下,AHB總線讀 取3個數據,圖3須在j時刻完成(參見圖3中D0UT),而圖6在g時刻即完成,縮短了3個周期,SP 每讀取一個數據所需時鐘周期數縮短一個,在大量數據讀取中可以明顯提升讀取速度。因 此該信號生成電路節省了分頻邏輯電路,且在同樣讀寫時序要求的條件下,可縮短讀寫所 需要開銷周期,提升EEPR0M數據讀寫速度。
[0054] 本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明 書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
【附圖說明】
[0055] 附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實 施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中:
[0056]圖1為現有技術中HJ110EEP讀時序示意圖;
[0057] 圖2為現有技術中HJ110EEP寫時序示意圖;
[0058]圖3為現有技術中傳統EEPR0M控制器讀模式時序圖;
[0059]圖4為現有技術中EEPR0M控制器信號生成電路圖;
[0060] 圖5為本發明實施例中一種信號生成電路的第一部分結構圖;
[0061] 圖6為本發明實施例中一種信號生成電路的第二部分結構圖;
[0062]圖7為本發明實施例中時鐘周期為60ns時的讀時序圖;
[0063]圖8為本發明實施例中一種控制方法的流程圖;
[0064]圖9為本發明實施例中時鐘周期為30ns時的讀時序圖;
[0065]圖10為本發明實施例中時鐘周期為120ns時的讀時序圖;
[0066]圖11為本發明實施例中EEPR0M控制器的結構示意圖;
[0067]圖12為本發明實施例中EEPR0M控制器寫讀時序圖;
[0068] 圖13為本發明實施例中另一種信號生成電路的第一部分結構圖;
[0069] 圖14為本發明實施例中另一種信號生成電路的第二部分結構圖;
[0070] 圖15為本發明實施例中時鐘周期為120ns時的寫時序圖;
[0071] 圖16為本發明實施例中另一種控制方法的流程圖;
[0072]圖17為本發明實施例中時鐘周期為30ns時的寫時序圖。
【具體實施方式】
[0073] 下面結合附圖,對本發明的【具體實施方式】進行詳細描述,但應當理解本發明的保 護范圍并不受【具體實施方式】的限制。
[0074] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。除非 另有其它明確表示,否則在整個說明書和權利要求書中,術語"包括"或其變換如"包含"或 "包括有"等等將被理解為包括所陳述的元件或組成部分,而并未排除其它元件或其它組成 部分。
[0075]根據本發明實施例,提供了一種EEPR0M控制器的信號生成電路,該電路優先適合 讀時序,圖5為該控制電路的第一部分結構圖,圖6為第二部分結構圖,具體包括:鎖存器 Lat ch、與門電路AG、計數器C0N和比較器COM。
[0076] 其中,鎖存器Latch的輸入端D用于輸入控制信號,鎖存器Latch的使能端CK與系統 時鐘syS_clk相連;控制信號為控制器選中狀態信號Hsel_d、控制器傳輸有效狀態信號 trans[l]和總線輸出準備信號hready_in進行與邏輯運算后輸出的信號;即如圖5所示,控 制信號為Hsel_d&trans[l]&hready_in。其中,AMBA(Advanced Microcontroller Bus Architecture,高級微控制器總線架構)系統總線上一般會連接一至多個slave (slave表示 "從"的意思,slave總線意為slave端與系統總線相連的接口部分),總線輸出準備信號 hready_in為系統總線傳輸至slave端總線接口的信號,同時每個slave向系統總線發送 slave總線輸出響應信號hready_out,而總線輸出準備信號hready_in為所有slave總線輸 出響應信號hready_ 〇Ut進行與邏輯運算后的信號,即當所有的slave總線輸出響應信號 hready_out為高電平時,總線輸出準備信號hready_in才為高電平。
[0077] 鎖存器Latch的輸出端Q與該與門電路AG的第一輸入端相連,與門電路AG的第二輸 入端與系統時鐘sys_clk相連;與門電路AG的輸出端輸出時鐘采樣信號AE。
[0078] 參見圖6所示,比較器COM的第一輸入端用于輸入第一計數值(即圖6中的RD_CNT_ VLA),第二輸入端與計數器CON相連;比較器COM的輸出端輸出slave總線輸出響應信號 hready_out;第一計數值為根據系統時鐘和預設的第一時間tACC的最大值確定的計數值, 第一時間tACC為時鐘采樣信號AE從采樣地址至輸出數據的時間;計數器C0N用于以系統時 鐘為周期,周期性從零計至第一計數值。
[0079] 本發明實施例中,根據不同系統時鐘周期及tACC絕對時間要求,通過拉低hready_ out的方式,靈活配置讀取一次存儲數據所需要的系統時鐘的周期數。具體的,當計數器CON 從零計至第一計數值RD_CNT_VLA時,表示數據已在AHB總線上準備好,此時可以返回 hready_out有效輸出,指示AHB總線可將DATA數據取走。
[0080]具體的,該第一計數值可以根據寄存器配置實現,根據不同系統時鐘頻率及 EEPR0M器件的讀寫時序要求,可設置寄存器相應不同的值。在系統時鐘可變的情況下仍然 可以設置相適應的第一計數值,靈活性高。
[0081 ]具體的,鎖存器輸出端Q的狀態不會隨輸入端D的狀態變化而變化,僅有在鎖存器 處于使能狀態時,輸出才會隨著數據輸入發生變化,此時輸入的狀態才被保存到輸出,直到 下一個鎖存信號到來時才改變。本發明實施例中,鎖存器Latch的使能端CK低電平有效。 EEPR0M控制器讀時序(假定系統時鐘的周期為60ns)參見圖7所示。11%1_(1高電平即AMBA總 線對EEPR0M控制器選中狀態,trans[l]是高電平即AMBA總線對EEPR0M控制器傳輸有效狀 態;當二者都為高電平時,表示AMBA總線正在對EEPR0M控制器進行讀操作或寫操作。
[0082] 如圖7所示,由于鎖存器Latch的使能端CK低電平有效,故在時刻a的前一系統時鐘 周期的低電平時間內,鎖存器的輸出等于輸入。由于一般情況下總線輸出準備信號hready_ in與slave總線輸出響應信號hready_out的波形一致,本發明實施例的圖7中未示出 hready_in,把hready_in與hready_out做波形相同處理。此時由于控制信號為1(本發明實 施例中,1表示高電平,〇表示低電平),故鎖存器的輸出端Q=1;由于此時sys_clk = 0,故AE = Q&sys_clk = 0。在時刻a至時刻b時間內,當sys_clk=l時,由于鎖存器的鎖存功能,此時Q 仍然為 1,故此時AE = 1;在sy s_c lk = 0時,此時由于 hready_in = 0 (即hready_in 與 hready_ out波形相同),故控制信號為0,鎖存器的輸出端Q = 0,AE = 0。在時刻b至時刻c期間,當sys_ clk=l時,此時Q仍為0,故AE = 0;sys_clk = 0時,此時控制信號為1,Q=1,AE仍然為0。在時 亥Ijc至時刻d期間內,此時sys_clk=l,Q=1,故AE=1;之后信號進行周期性變化,原理與上 述相似。
[0083] 本發明實施例提供的信號生成電路,采用同步設計實現,時鐘采樣信號AE不是由 sy s_c 1 k系統時鐘域下延時鎖存輸出,而是直接通過系統時鐘sy s_c 1 k門控電路得到,從而 可以在后端流程中保證setUp、h〇ld時序要求。同時,該信號生成電路也節省了 CE,ADDR等寄 存器鎖存電路,且在同樣讀取時序要求的條件下,AHB總線讀取3個數據,圖3須在j時刻完成 (參見圖3中D0UT),而圖6在g時刻即完成,縮短了 3個周期,即每讀取一個數據所需時鐘周期 數縮短一個,在大量數據讀取中可以明顯提升讀取速度。
[0084] 基于同樣的發明構思,本發明實施例還提供一種基于上述信號生成電路的控制方 法,參見圖8所示,包括:
[0085]步驟801:根據系統時鐘和預設的第一時間的最大值確定slave總線輸出響應信 號,并對所有的slave總線輸出響應信號進行與邏輯運算后確定總線輸出準備信號;該第一 時間為時鐘采樣信號AE從采樣地址至輸出數據的時間。
[0086] 具體的,步驟801中確定slave總線輸出響應信號包括步驟A1-A3:
[0087] 步驟A1、根據系統時鐘和預設的第一時間的最大值確定第一計數值;
[0088] 步驟A2、以系統時鐘周期為周期,周期性從零計數值第一計數值;
[0089] 步驟A3、在計數至第一計數值后,對計數清零,并輸出s lave總線輸出響應信號。
[0090] 優選的,第一計數值與系統時鐘和第一時間的最大值之間的關系為:
[0091] TX(Dl+l)>Max(tACC);
[0092]其中,T為系統時鐘的周期;D1為第一計數值,且選取滿足上式的最小整數的D1作 為第一計數值;tACC為第一時間,Max(tACC)為第一時間的最大值。
[0093]本發明實施例中,對于讀時序,針對不同系統時鐘頻率下(時鐘周期分別為30ns, 6〇118,12〇118)讀££?如11數據時,需要首先配置讀周期寄存器3?1?.1^_0犯'_¥4匕由于丨40:的要 求是Max .= 80ns,即AE采樣數據地址后,最晚在80ns內輸出穩定的數據。故AE上升沿之后, 至少要保證80ns后才能去采樣DATA數據(這樣在采樣數據時,能保證數據一定是有效輸出 狀態),所以系統時鐘周期T和RD_CNT_VAL(即第一計數值D1)需要滿足上式。
[0094]例如,以系統時鐘的周期T為30ns為例,同時設讀模式下tACC的最大值為80ns(參 見表1所示),則此時D1為2,即RD_CNT_VLA = 2,此時slave總線輸出響應信號hready_out和 時鐘采樣信號AE的時序圖參加圖9所示。同理,在T為60ns時,D1為1,其時序圖參見上述的圖 6。在T為120ns時,此時D1=0,時序圖參見圖10所示。
[0095]步驟802:對控制器選中狀態信號、控制器傳輸有效狀態信號和總線輸出準備信號 進行與邏輯運算,確定時鐘采樣信號AE。
[0096]步驟803:根據時鐘采樣信號AE和/或slave總線輸出響應信號對控制器存儲的數 據進行訪問。
[0097] 本發明實施例提供的控制方法,可以配置AHB總線協議的讀寫周期,根據不同系統 時鐘頻率及EEPR0M器件的讀寫時序要求,可設置寄存器相應不同的值。在系統時鐘可變的 情況下仍然可以設置相適應的第一計數值,靈活性高。
[0098] 優選的,該控制方法還包括:為寄存器和存儲器分別設置獨立的總線接口,在高壓 編程期間,存儲器的總線輸出響應信號為釋放狀態。
[0099] 本發明實施例中,此EEPR0M控制器需要既對控制器的寄存器數據訪問,也需要對 EEPR0M存儲器數據訪問,如圖11,本設計中對這兩種不同數據的訪問采用了兩套各自獨立 的AHB接口,即對AMBA總線來說,EEPR0M控制器的寄存器及EEPR0M的數據區(即存儲器)相當 于是兩個獨立的訪問對象。
[0100] 本發明實施例中,*_r代表控制器對EEPR0M寄存器的AHB接口,*_d代表控制器對 EEPR0M存儲器數據的AHB接口。例如,hready_d表示存儲器的slave總線輸出響應信號 hready_out; 11代3(17_1'表示寄存器器的s lave總線輸出響應信號hready_out。
[0101]具體的,在EEPR0M高壓編程期間,EEPR0M數據區總線接口的hready_d是釋放掉的 (即此時hready_d是高電平,CPU能繼續訪問系統任意資源),但此時如果有訪問EEPR0M數據 區,該次訪問會被記錄,同時hready_d拉低(即hready_c^低電平),直至ijEEPROM編程完畢才 會處理其讀寫操作。如圖12(時鐘周期為60ns),在AHB總線向EEPR0M控制器寫入數據dl,d2 后,CPU在時刻g發起高壓編程操作,此時hready_d為高,而高壓編程期間又有AHB總線在時 亥丨Ji讀取地址a3的操作,此時該讀操作被記錄,同時hready_d拉低,直到EEPR0M編程完畢 done信號出來后才會處理剛才記錄下的讀操作。
[0102]由于EEPR0M控制器需要既對寄存器數據訪問,也需要對EEPR0M存儲數據訪問,本 設計中對這兩種不同數據的訪問用了兩套AHB接口,分別設置獨立的總線接口。在EEPR0M高 壓編程期間,寫數據hready是釋放掉的,此時CPU可以訪問系統中任意資源。若訪問EEPR0M 存儲器,則會等到高壓編程完畢后再處理該次讀寫操作;若訪問EEPR0M寄存器,則總線能無 等待地讀寫成功。
[0103]本發明實施例還提供另一種EEPR0M控制器的信號生成電路,該信號生成電路優先 用于寫模式,參見圖13和圖14所示,包括:延遲觸發器DFF、鎖存器Latch、與門電路AG、計數 器CON和比較器COM。
[0104]延遲觸發器DFF的輸入端D用于輸入控制信號,延遲觸發器DFF的使能端CK與系統 時鐘syS_clk相連;控制信號為控制器選中狀態信號Hsel_d、控制器傳輸有效狀態信號 trans[l]和總線輸出準備信號hready_in進行與邏輯運算后輸出的信號;即如圖13所示,控 制信號為 Hsel_d&trans[ 1 ]&hready_in〇
[0105] 延遲觸發器的輸出端Q與鎖存器Latch的輸入端D相連,鎖存器Latch的使能端CK與 系統時鐘sys_clk相連。
[0106] 鎖存器Latch的輸出端Q與上述的與門電路AG的第一輸入端相連,與門電路AG的第 二輸入端與系統時鐘sys_c 1 k相連;與門電路AG的輸出端輸出時鐘采樣信號AE。其中,鎖存 器Latch的使能端CK低電平有效。
[0107] 具體的,比較器COM的第一輸入端用于輸入第二計數值WR_CNT_VAL,比較器COM的 第二輸入端與計數器C0N相連;比較器COM的輸出端輸出slave總線輸出響應信號hready_ out;第二計數值為根據系統時鐘和預設的第二時間tAADW的最小值確定的計數值,第二時 間tAADW為時鐘采樣信號AE的采樣間隔時間(參見圖2所示);總線輸出準備信號hready_in 為所有的slave總線輸出響應信號hready_ 〇Ut進行與邏輯運算后輸出的信號;計數器CON用 于以系統時鐘為周期,周期性從零計至第二計數值。
[0108] 由于AMBA(Advanced Microcontroller Bus Architecture)總線寫時序中,數據 總線wdata比地址總線haddr要晚一個周期、而EEPR0M寫操作中,AE需要同時去采樣wdata和 haddr,故首先haddr需要鎖存一個周期,同時AE(AE_wr)的產生需要先將hsel_d&trans[ 1 ] 鎖存一個周期后再去門控sys_clk,如此AE_wr采樣wdata和haddr的setup/hold時序才能滿 足要求。故寫時序時的信號生成電路需要設置延遲觸發器。
[0109] 本發明實施例中,延遲觸發器DFF用于對控制信號進行延遲處理,由于延遲觸發器 DFF的使能端CK與系統時鐘sys_clk相連,故將控制信號延遲系統時鐘的一個周期。對于寫 時序,以系統時鐘周期為120ns為例,此時寫時序參見圖15所示,圖15中未示出trans[l],且 sel_d與Hsel_d表示同一信號。延遲觸發器DFF的作用在于將控制信號延遲系統時鐘的一個 周期,hready_ 〇ut-直為高電平,故該控制信號的波形與圖15中的sel_d信號波形相同,經 過延遲觸發器DFF輸出的波形為圖15中的GATING信號,即圖13中延遲觸發器DFF的輸出端Q 輸出的波形為GATING。之后獲得AE的過程與上述圖5所示信號生成電路的原理相同,此處不 再贅述。
[0110] 下面詳細介紹上述信號生成電路的控制方法,參見圖16所示,包括:
[0111] 步驟161:根據系統時鐘和預設的第二時間的最小值確定s 1 a ve總線輸出響應信 號,并對所有slave總線輸出響應信號進行與邏輯運算后確定總線輸出準備信號;第二時間 為時鐘采樣信號AE的采樣間隔時間。
[0112] 其中,根據系統時鐘和預設的第二時間的最小值確定slave總線輸出響應信號,具 體包括:
[0113] 步驟B1、根據系統時鐘和預設的第二時間的最小值確定第二計數值;
[0114] 步驟B2、以系統時鐘周期為周期,周期性從零計數值第二計數值;
[0115] 步驟B3、在計數至第二計數值后,對計數清零,并輸出slave總線輸出響應信號。
[0116] 其中,第二計數值與系統時鐘和第二時間的最小值之間的關系為:
[0117] TX(D2+l)>Min(tAADff);
[0118] 其中,T為系統時鐘的周期;D2為第二計數值,且選取滿足上式的最小整數的D2作 為第二計數值;tAADW為第二時間,Min(tAADW)為第二時間的最小值。
[0119] 本發明實施例中,對于寫時序,針對不同系統時鐘頻率下(時鐘周期分別為30ns, 60ns, 120ns)寫EEPR0M數據,需要首先配置寫周期寄存器SFR.WR_CNT_VAL。由于tAADW的要 求是Min.=100ns(此時沒有tACC的要求,見圖2表2),所以系統時鐘周期T和WR_CNT_VAL(即 第二計數值D2,同時WR_CNT_VAL代表的是hready_out拉低的時鐘周期數)需要滿足上述的 關系:TX(D2+l)>Min(tAADW)。
[0120] 例如,系統時鐘的周期T為30ns為例,此時D2 = 3,即WR_CNT_VAL = 3,此時slave總 線輸出響應信號hready_out和時鐘采樣信號AE的時序圖參加圖17所示。同理,在T為60ns 時,D2為1。在T為120ns時,此時D1=0,時序圖參見上述的圖15所示。
[0121] 步驟162:對控制器選中狀態信號、控制器傳輸有效狀態信號和總線輸出準備信號 進行與邏輯運算,確定時鐘采樣信號AE。
[0122] 步驟163:根據時鐘采樣信號AE和/或slave總線輸出響應信號對控制器存儲的數 據進行訪問。
[0123] 本發明實施例提供的信號生成電路和控制方法,該信號生成電路采用同步設計實 現,時鐘采樣信號AE不是由syS_clk系統時鐘域下延時鎖存輸出,而是直接通過系統時鐘 Sys_clk門控電路得到,從而可以在后端流程中保證setUp、h〇ld時序要求。同時,該信號生 成電路也節省了CE,ADDR等寄存器鎖存電路,且在同樣讀取時序要求的條件下,AHB總線讀 取3個數據,圖3須在j時刻完成(參見圖3中D0UT),而圖6在g時刻即完成,縮短了3個周期,SP 每讀取一個數據所需時鐘周期數縮短一個,在大量數據讀取中可以明顯提升讀取速度。因 此該信號生成電路節省了分頻邏輯電路,且在同樣讀寫時序要求的條件下,可縮短讀寫所 需要開銷周期,提升EEPR0M數據讀寫速度。
[0124] 同時,根據不同系統時鐘周期可以靈活配置讀取一次存儲數據所需要的系統時鐘 的周期數。可以解決其現有技術無法變動系統時鐘周期的需求,大大增加了系統配置的靈 活性,并使得在任意時期周期條件下均可以最佳性能去讀寫EEPR0M數據。對這兩種不同數 據的訪問用了兩套AHB接口,分別設置獨立的總線接口,提高了CPU的運行效率,提升了系統 性能。
[0125] 以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可 以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單 元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其 中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性 的勞動的情況下,即可以理解并實施。
[0126] 通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可 借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上 述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該 計算機軟件產品可以存儲在計算機可讀存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指 令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行各個實施 例或者實施例的某些部分所述的方法。
[0127]前述對本發明的具體示例性實施方案的描述是為了說明和例證的目的。這些描述 并非想將本發明限定為所公開的精確形式,并且很顯然,根據上述教導,可以進行很多改變 和變化。對示例性實施例進行選擇和描述的目的在于解釋本發明的特定原理及其實際應 用,從而使得本領域的技術人員能夠實現并利用本發明的各種不同的示例性實施方案以及 各種不同的選擇和改變。本發明的范圍意在由權利要求書及其等同形式所限定。
【主權項】
1. 一種EEPROM控制器的信號生成電路,其特征在于,包括:鎖存器、與門電路、計數器和 比較器; 所述鎖存器的輸入端用于輸入控制信號,所述鎖存器的使能端與系統時鐘相連;所述 控制信號為控制器選中狀態信號、控制器傳輸有效狀態信號和總線輸出準備信號進行與邏 輯運算后輸出的信號; 所述鎖存器的輸出端與所述與門電路的第一輸入端相連,所述與門電路的第二輸入端 與系統時鐘相連;所述與門電路的輸出端輸出時鐘采樣信號; 所述比較器的第一輸入端用于輸入第一計數值,第二輸入端與所述計數器相連;所述 比較器的輸出端輸出slave總線輸出響應信號;所述第一計數值為根據系統時鐘和預設的 第一時間的最大值確定的計數值,所述第一時間為時鐘采樣信號從采樣地址至輸出數據的 時間;所述總線輸出準備信號為所有的所述slave總線輸出響應信號進行與邏輯運算后輸 出的信號; 所述計數器用于周期性從零計至所述第一計數值。2. 根據權利要求1所述的信號生成電路,其特征在于,所述鎖存器的使能端低電平有 效。3. -種基于如權利要求1或2所述的信號生成電路的控制方法,其特征在于,包括: 根據系統時鐘和預設的第一時間的最大值確定slave總線輸出響應信號,并對所有 slave總線輸出響應信號進行與邏輯運算后確定總線輸出準備信號;所述第一時間為時鐘 采樣信號從采樣地址至輸出數據的時間; 對控制器選中狀態信號、控制器傳輸有效狀態信號和所述總線輸出準備信號進行與邏 輯運算,確定時鐘采樣信號; 根據所述時鐘采樣信號和/或所述slave總線輸出響應信號對控制器存儲的數據進行 訪問。4. 根據權利要求3所述的方法,其特征在于,所述根據系統時鐘和預設的第一時間的最 大值確定slave總線輸出響應信號,包括: 根據系統時鐘和預設的第一時間的最大值確定第一計數值; 以系統時鐘周期為周期,周期性從零計數值所述第一計數值; 在計數至所述第一計數值后,對計數清零,并輸出slave總線輸出響應信號。5. 根據權利要求4所述的方法,其特征在于,所述第一計數值與系統時鐘和第一時間的 最大值之間的關系為: TX(Dl+l)>Max(tACC); 其中,T為系統時鐘的周期;D1為第一計數值,且選取滿足上式的最小整數的D1作為第 一計數值;tACC為第一時間,Max (tACC)為第一時間的最大值。6. 根據權利要求3-5任一所述的方法,其特征在于,還包括: 為寄存器和存儲器分別設置獨立的總線接口,在高壓編程期間,所述存儲器的slave總 線輸出響應信號為釋放狀態。7. -種EEPROM控制器的信號生成電路,其特征在于,包括:延遲觸發器、鎖存器、與門電 路、計數器和比較器; 所述延遲觸發器的輸入端用于輸入控制信號,所述延遲觸發器的使能端與系統時鐘相 連;所述控制信號為控制器選中狀態信號、控制器傳輸有效狀態信號和總線輸出準備信號 進行與邏輯運算后輸出的信號; 所述延遲觸發器的輸出端與所述鎖存器的輸入端相連,所述鎖存器的使能端與系統時 鐘相連; 所述鎖存器的輸出端與所述與門電路的第一輸入端相連,所述與門電路的第二輸入端 與系統時鐘相連;所述與門電路的輸出端輸出時鐘采樣信號; 所述比較器的第一輸入端用于輸入第二計數值,第二輸入端與所述計數器相連;所述 比較器的輸出端輸出slave總線輸出響應信號;所述第二計數值為根據系統時鐘和預設的 第二時間的最小值確定的計數值,所述第二時間為時鐘采樣信號的采樣間隔時間;所述總 線輸出準備信號為所有的所述slave總線輸出響應信號進行與邏輯運算后輸出的信號; 所述計數器用于周期性從零計至所述第二計數值。8. 根據權利要求7所述的信號生成電路,其特征在于,所述鎖存器的使能端低電平有 效。9. 一種基于如權利要求7或8所述的信號生成電路的控制方法,其特征在于,包括: 根據系統時鐘和預設的第二時間的最小值確定slave總線輸出響應信號,并對所有 slave總線輸出響應信號進行與邏輯運算后確定總線輸出準備信號;所述第二時間為時鐘 采樣信號的采樣間隔時間; 對控制器選中狀態信號、控制器傳輸有效狀態信號和所述總線輸出準備信號進行與邏 輯運算,確定時鐘采樣信號; 根據所述時鐘采樣信號和/或所述slave總線輸出響應信號對控制器存儲的數據進行 訪問。10. 根據權利要求9所述的方法,其特征在于,所述根據系統時鐘和預設的第二時間的 最小值確定slave總線輸出響應信號,包括: 根據系統時鐘和預設的第二時間的最小值確定第二計數值; 以系統時鐘周期為周期,周期性從零計數值所述第二計數值; 在計數至所述第二計數值后,對計數清零,并輸出slave總線輸出響應信號。11. 根據權利要求10所述的方法,其特征在于,所述第二計數值與系統時鐘和第二時間 的最小值之間的關系為: TX(D2+l)>Min(tAADff); 其中,T為系統時鐘的周期;D2為第二計數值,且選取滿足上式的最小整數的D2作為第 二計數值;tAADW為第二時間,Min(tAADW)為第二時間的最小值。
【文檔編號】G06F13/16GK106055496SQ201610341887
【公開日】2016年10月26日
【申請日】2016年5月20日
【發明人】侯戰斌, 陳奎林, 劉亮, 張濟, 邵瑾, 周翔, 趙東艷
【申請人】北京智芯微電子科技有限公司, 國家電網公司, 國網信息通信產業集團有限公司