TWI644311B - 嵌入式存儲器及集成電路 - Google Patents

嵌入式存儲器及集成電路 Download PDF

Info

Publication number
TWI644311B
TWI644311B TW107108574A TW107108574A TWI644311B TW I644311 B TWI644311 B TW I644311B TW 107108574 A TW107108574 A TW 107108574A TW 107108574 A TW107108574 A TW 107108574A TW I644311 B TWI644311 B TW I644311B
Authority
TW
Taiwan
Prior art keywords
circuit
delay
clock signal
clock
path
Prior art date
Application number
TW107108574A
Other languages
English (en)
Other versions
TW201835914A (zh
Inventor
王嘉維
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW201835914A publication Critical patent/TW201835914A/zh
Application granted granted Critical
Publication of TWI644311B publication Critical patent/TWI644311B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pulse Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

嵌入式存儲器包括存儲器介面電路、單元陣列和外圍電路。存儲器介面電路至少接收時鐘訊號、非時鐘訊號和建立-保持時間控制設置,並且包括可編程路徑延遲電路,該可編程路徑延遲電路用於根據建立-保持時間控制設置設定時鐘路徑和非時鐘路徑中的至少一個的路徑延遲。時鐘路徑用於傳遞時鐘訊號,非時鐘路徑用於傳遞非時鐘訊號。外圍電路用於至少根據時鐘路徑提供的時鐘訊號和非時鐘訊號提供的非時鐘訊號來進行單元陣列存取。本發明提出一種具有能被控制的建立-保持時間的嵌入式存儲器和集成電路,從而減少建立時間違規和/或保持時間違規。

Description

嵌入式存儲器及集成電路
本發明涉及一種集成電路設計,以及更特別地,涉及一種具有能被內部或外部控制的建立-保持時間的嵌入式存儲器及相關聯的集成電路。
通常,片上系統(system-on-chip,SoC)使用大量嵌入式存儲器。在SoC設計階段,傳統的時序簽核(timing sign-off)會針對保持時間裕度預留3σ(3-sigma)局部變化系數。然而,3σ覆蓋的每百萬缺陷數(defective parts per million,DPPM)級別明顯小於1000 DPPM。如果預留的保持時間裕度從3σ增加到6-7σ,則可以改進DPPM。然而,DPPM的改進是以芯片面積、時序收斂(timing closure)和速度性能為代價的。因此,不可避免地,SoC設計會受到芯片面積、時序收斂和速度性能的影響。此外,在矽調試階段,嵌入式存儲器的存儲器內置自測試(memory built-in self-test,MBIST)邏輯無法識別存儲器輸入介面和MBIST邏輯本身的保持時間違規。這會導致MBIST Shmoo圖中出現破洞(hole)現象,該破洞會使電路在某個範圍內失效。
有鑑於此,本發明的目的之一在於提供一種嵌入式存儲器和集成電路,以解決上述問題。
根據本發明的第一方面,本發明提供一種嵌入式存儲器,該嵌入式存儲器包括:存儲器介面電路、單元陣列和外圍電路。其中,該存儲器介面電路,包括:可編程路徑延遲電路和複數個介面引腳,該複數個介面引腳用於至少接收時鐘訊號、非時鐘訊號以及建立-保持時間控制設置;以及,該可編程路徑延遲電路用於根據該建立-保持時間控制設置來控制時鐘路徑和非時鐘路徑中的至少一個的路徑延遲,其中,該時鐘路徑用於傳送該時鐘訊號,該非時鐘路徑用於傳送該非時鐘訊號。該單元陣列包括複數個存儲單元;以及該外圍電路用於至少根據該時鐘路徑提供的時鐘訊號和該非時鐘路徑提供的非時鐘訊號對該單元陣列進行存取。
根據本發明的第二方面,本發明提供一種集成電路,該集成電路包括如上所述的嵌入式存儲器。
根據本發明的第三方面,本發明提供一種集成電路,該集成電路包括:時鐘樹、觸發器電路、嵌入式存儲器和時鐘門控單元電路。該時鐘樹用於至少分配第一時鐘訊號和第二時鐘訊號;該觸發器電路具有時鐘輸入埠和資料輸出埠,該時鐘輸入埠用於經由時鐘門控單元電路接收來自該時鐘樹的該第一時鐘訊號,且該資料輸出埠用於輸出非時鐘訊號;該嵌入式存儲器用於接收來自該時鐘樹的該第二時鐘訊號、接收來自該觸發器電路的該非時鐘訊號,並至少根據該第二時鐘訊號和該非時鐘訊號執行存儲器存取;以及該時鐘門控單元電路用於接收該第一時鐘訊號並選擇性地將該第一時鐘訊號提供給該觸發器電路的該時鐘輸入埠。其中,該時鐘門控單元電路包括可編程路徑延遲電路,該可編程路徑延遲電路用於根據建立-保持時間控制設置來控制時鐘路徑的路徑延遲,其中,該時鐘路徑用於傳送該第一時鐘訊號。
在上述技術方案中,嵌入式存儲器和集成電路可以根據建立-保持時間控制設置來控制嵌入式存儲器的非時鐘訊號相對於時鐘訊號的建立時間和/或保持時間,從而避免建立時間違規和/或保持時間違規。
所屬技術領域中具有通常知識者在閱讀附圖所示優選實施例的下述詳細描述之後,可以毫無疑義地理解本發明的這些目的及其它目的。
以下描述為本發明實施的較佳實施例。以下實施例僅用來例舉闡釋本發明的技術特徵,並非用來限制本發明的範疇。在通篇說明書及申請專利範圍當中使用了某些詞彙來指稱特定的組件。所屬技術領域中具有通常知識者應可理解,製造商可能會用不同的名詞來稱呼同樣的組件。本說明書及申請專利範圍並不以名稱的差異來作為區別組件的方式,而係以組件在功能上的差異來作為區別的基準。本發明的範圍應當參考后附的申請專利範圍來確定。在以下描述和申請專利範圍當中所提及的術語“包含”和“包括”為開放式用語,故應解釋成“包含,但不限定於…”的意思。此外,術語“耦接”意指間接或直接的電氣連接。因此,若文中描述一個裝置耦接至另一裝置,則代表該裝置可直接電氣連接於該另一裝置,或者透過其它裝置或連接手段間接地電氣連接至該另一裝置。
本發明的實施例提出了一種具有能被內部或外部控制的建立-保持時間(setup-hold time)的嵌入式存儲器,從而避免了或減少存儲器輸入介面處的建立時間違規和/或保持時間違規。通過這種方式,所提出的解決方案可以緩減“Shmoo破洞”問題。此外,SoC時序收斂也能夠從所提出的解決方案中受益。
第1圖是根據本發明實施例的第一集成電路設計的示意圖。在第1圖所示的實施例中,該集成電路是其中包括嵌入式存儲器的片上系統(SoC)10。為了清楚和簡單起見,僅一個嵌入式存儲器100被示出,但本發明並不限於此。嵌入式存儲器100包括單元陣列(cell array)102、外圍電路(peripheral circuit)104和存儲器介面電路(memory interface circuit)106。單元陣列102具有複數個存儲單元(memory cell)108。通過使能存儲單元108所對應的一個字線和一個位元線,能夠對每個存儲單元108進行存取(acess)。外圍電路104包括對單元陣列102進行存取(讀/寫)所需的電路元件。例如,外圍電路104可以包括列解碼器(row decoder)、列驅動器(row driver)、時鐘發生器(clock generator)、時序控制器(timing controller)、行解碼器(column decoder)、感測放大器(sense amplifier)、資料鎖存器(data latches)等。在本實施例中,存儲器介面電路106包括複數個介面引腳(interface pin)110和可編程路徑延遲電路(programmable path delay circuit)112。該複數個介面引腳110用於接收時鐘訊號、複數個非時鐘訊號和延遲選擇訊號。舉例來說,該複數個介面引腳110包括一個時鐘引腳、一個晶片選擇(chip select,CS)引腳、一個寫使能(write enable,WE)引腳、一個位元寫使能(bit write enable,BYTE)引腳、複數個地址(address,ADR)引腳、複數個資料輸入(data input,DI)引腳以及複數個延遲選擇(delay select,DELSEL)引腳,其中,該時鐘引腳被定義為接收時鐘訊號CK(該時鐘訊號CK是時鐘源產生的外部時鐘);該晶片選擇引腳被定義為接收CS訊號(該CS訊號是非時鐘訊號);該寫使能引腳被定義為接收WE訊號(該WE訊號是非時鐘訊號);該位元寫使能(bit write enable,BYTE)引腳被定義為接收BYTE訊號(該BYTE訊號是非時鐘訊號);該複數個地址引腳被定義為接收複數個ADR位元(該ADR位元是非時鐘訊號);該複數個資料輸入引腳被定義為接收複數個DI位元(該DI位元是非時鐘訊號),以及,該複數個延遲選擇引腳被定義為接收由一個或複數個DELSEL位元構成的延遲選擇訊號。應該注意的是,根據實際的設計考量,建立-保持時間控制設置(setup-hold time control setting,SHSEL)由DELSEL位元的至少一部分(例如,一部分或全部)輸入。外圍電路104至少根據時鐘路徑提供的時鐘訊號CK和一個/複數個非時鐘路徑提供的一個/複數個非時鐘訊號對單元陣列102進行讀取/寫入。在本發明實施例中,非時鐘訊號可以是:從該複數個介面引腳中的控制引腳接收到的控制輸入、從該複數個介面引腳中的地址引腳接收到的地址位元,或者,從該複數個介面引腳中的資料輸入引腳接收到的資料位元。由於本發明實施例的重點在於存儲器介面設計上(特別是可編程路徑延遲電路112),因此,為了簡潔起見,在此省略對單元陣列102和外圍電路104的進一步描述。
應該注意的是,第1圖中僅示出了與本發明有關的電路元件。實際上,嵌入式存儲器100可以具有額外的電路元件,以實現其它的指定功能。
嵌入式存儲器100具有可編程的輸入路徑延遲,該可編程的輸入路徑延遲由可編程路徑延遲電路112進行控制。因此,在存儲器介面電路106處,能夠對從介面引腳(例如,控制引腳、地址引腳或資料輸入引腳)接收到的每個時鐘訊號和/或非時鐘訊號實現可編程的建立時間和可編程的保持時間。換句話說,憑藉存儲器介面電路106中的可編程路徑延遲電路112,能夠對介面引腳110處接收到的時鐘訊號和/或非時鐘訊號的建立時間和/或保持時間進行編程,即,該時鐘訊號和/或該非時鐘訊號的建立時間和/或保持時間是可調整的。
根據本發明的一個建立-保持時間控制方案,可編程路徑延遲電路112用於根據建立-保持時間控制設置SHSEL來設置或控制時鐘路徑的路徑延遲,其中,該時鐘路徑用於傳遞一個介面引腳110接收到的時鐘訊號CK。
第2A圖是根據本發明實施例示出的第1圖所示的可編程路徑延遲電路112的第一示例性設計的示意圖。可編程路徑延遲電路112包括複數個延遲單元電路206,208和複數個選擇電路210,212,214。選擇電路用於根據建立-保持時間控制設置SHSEL選擇性地輸出其輸入訊號,在一些實施例中,選擇電路可以利用開關電路來實現,具體地,本發明實施例不做任何限制。應該注意的是,第2A圖中所示的延遲單元電路的數量和第2A圖中所示的選擇電路的數量僅用於說明目的,並不意味著對本發明的限制。實際上,延遲單元電路的數量和選擇電路的數量可以根據實際的設計考量進行調整,例如,延遲單元電路的數量可以是1,選擇電路的數量可以是2。應當說明的是,第2A圖僅用於示例性地說明本發明實施例,可以理解地,基於本發明實施例可以獲得其它變型實施方式。例如,在一種變型實施例中,如第2B圖所示,可以利用多工器(Multiplexer,MUX)216來實現選擇電路210,212,214的功能,其中,多工器216的複數個輸入埠用於接收時鐘訊號CK、延遲單元電路206輸出的訊號以及延遲單元電路208輸出的訊號,以及,多工器216的輸出埠用於根據建立-保持時間控制設置SHSEL選擇性地輸出其中一個訊號作為內部時鐘訊號Int_CK。應當說明的是,本發明實施例對延遲單元電路的數量不做任何限制,可編程路徑延遲電路112可包括至少一個延遲單元電路。此外,應當說明的是,第2A圖和第2B圖所示的實施例以處理時鐘訊號為例進行示例說明,其也可用於對非時鐘訊號進行處理,但為簡潔起見,此處不再贅述。
可編程路徑延遲電路112接收來自一個介面引腳110的時鐘訊號CK,並且將時鐘訊號CK經由時鐘路徑204傳送到外圍電路104中的每個鎖存器(latch)202,其中,複數個鎖存器中的每個鎖存器202(例如,鎖存器[0]-鎖存器[n])接收一個非時鐘訊號Non_CK和內部時鐘訊號Int_CK,其中,該非時鐘訊號Non_CK是從一個介面引腳110接收到的,該內部時鐘訊號Int_CK是可編程路徑延遲電路112提供的。作為示例而非限制,非時鐘訊號Non_CK可以是嵌入式存儲器100的CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元或任何同步輸入。
延遲單元電路206和208中的每一個用於向時鐘訊號CK施加或應用(apply)預定延遲量。應該注意的是,延遲單元電路206和208可以使用相同的延遲單元設計來實現,以提供相同的預定延遲量,或者,可以使用不同的延遲單元設計來實現,以提供不同的預定延遲量。在延遲單元電路206和208使用相同的延遲單元設計來實現以提供相同的預定延遲量DL的實施例中,如果時鐘訊號CK通過(pass through)一個延遲單元電路,則時鐘訊號CK被延遲DL*1;如果時鐘訊號CK通過兩個延遲單元電路,則時鐘訊號CK被延遲DL*2。
選擇電路210具有輸入埠和輸出埠,其中,選擇電路210的輸入埠用於接收不經由(via)任何延遲單元電路206和208的時鐘訊號CK,以及,選擇電路210的輸出埠用於根據建立-保持時間控制設置SHSEL選擇性地輸出選擇電路210的輸入埠上接收到的時鐘訊號CK。選擇電路212具有輸入埠和輸出埠,其中,選擇電路212的輸入埠用於經由延遲單元電路206接收該時鐘訊號CK(即接收時鐘訊號CK’,時鐘訊號CK’是時鐘訊號CK通過延遲單元電路206產生的),以及,選擇電路212的輸出埠用於根據建立-保持時間控制設置SHSEL選擇性地輸出選擇電路212的輸入埠上接收到的時鐘訊號。選擇電路214具有輸入埠和輸出埠,其中,選擇電路214的輸入埠用於接收經由延遲單元電路206和208的時鐘訊號CK(即接收時鐘訊號CK’’,時鐘訊號CK’’是時鐘訊號CK通過延遲單元電路206和208產生的),以及,輸出埠用於根據建立-保持時間控制設置SHSEL選擇性地輸出選擇電路214的輸入埠上接收到的時鐘訊號。
在該實施例中,建立-保持時間控制設置SHSEL確定選擇電路210,212,214中的哪一個被使能,以將接收到的時鐘訊號輸出到後面的鎖存器202。當建立-保持時間控制設置SHSEL使能選擇電路210時,時鐘訊號CK1(時鐘訊號CK1是使時鐘訊號CK通過選擇電路210產生的)被用來用作內部時鐘訊號Int_CK。當建立-保持時間控制設置SHSEL使能選擇電路212時,時鐘訊號CK2(時鐘訊號CK2是使時鐘訊號CK通過延遲單元電路206和選擇電路212產生的)被用來用作內部時鐘訊號Int_CK。當建立-保持時間控制設置SHSEL使能選擇電路214時,時鐘訊號CK3(時鐘訊號CK3是使時鐘訊號CK通過延遲單元電路206,208和選擇電路214產生的)被用來用作內部時鐘訊號Int_CK。簡而言之,時鐘訊號CK1,CK2,CK3中的每一個可被認為是具有可編程時鐘偏移(programmable clock skew)的時鐘訊號CK。憑藉可編程路徑延遲電路112的適當控制,可以調整時鐘路徑204的路徑延遲,從而影響相對於內部時鐘訊號Int_CK(其可被認為是具有可編程存儲器介面延遲的時鐘訊號CK)的非時鐘訊號Non_CK的建立時間和保持時間。
第3圖是根據本發明實施例示出的時鐘訊號CK,CK1,CK2,CK3和非時鐘訊號Non_CK的波形的示意圖。時鐘訊號CK,CK1,CK2,CK3具有相同的頻率但相位元不同。時鐘訊號CK1和CK之間的相位元延遲來自選擇電路210。時鐘訊號CK2和CK之間的相位元延遲來自延遲單元電路206和選擇電路212。時鐘訊號CK3和CK之間的相位元延遲來自延遲單元電路206,208和選擇電路214。建立時間Tsetup是在時鐘邊緣出現之前,輸入訊號應該保持穩定的時間量,若不滿足該建立時間,則發生建立時間違規(setup time violation)。保持時間Thold是在時鐘邊沿出現之後,輸入訊號應該保持穩定的時間量,若不滿足該保持時間,則發生保持時間違規(hold time violation)。通過對可編程路徑延遲電路112的適當控制,可以調整內部時鐘訊號Int_CK的時鐘邊沿的時序來避免鎖存器202上的非時鐘訊號Non_CK的建立時間違規和/或保持時間違規。在第3圖所示的實施例中,當內部時鐘訊號Int_CK由時鐘訊號CK1設置時,建立時間和保持時間均符合(pass)時序要求;當內部時鐘訊號Int_CK由時鐘訊號CK2設置時,建立時間符合時序要求,保持時間最低限度地符合(marginally passes)時序要求(建立時間變好,保持時間變差);以及,當內部時鐘訊號Int_CK由時鐘訊號CK3設置時,該保持時間不符合時序要求。優選地,建立-保持時間控制設置SHSEL被設置為使能選擇電路210,從而將時鐘訊號CK1輸出至鎖存器202。應該注意的是,第3圖所示的波形僅用於說明目的,並不意味著對本發明的限制。實際上,可以基於時鐘訊號CK和非時鐘訊號Non_CK之間實際的時序關係來選擇時鐘訊號CK1,CK2,CK3中的其中一個。
第4圖是根據本發明實施例示出的第2A圖所示的可編程路徑延遲電路112的電路設計的示意圖。為了清楚和簡單起見,僅兩個選擇電路210,212和僅一個延遲單元電路208在第4圖中示出。延遲單元電路208使用兩個反相器INV2和INV3來實現。選擇電路210使用P溝道金屬氧化物半導體場效應電晶體(P-channel metal-oxide-semiconductor field effect transistor,PMOS電晶體)MP1、MP2和N溝道金屬氧化物半導體場效應電晶體(N-channel metal-oxide-semiconductor field effect transistor,NMOS電晶體)MN1、MN2來實現。選擇電路212使用PMOS電晶體MP3、MP4和NMOS電晶體MN3、MN4來實現。建立-保持時間控制設置SHSEL包括一個控制位元DELSEL。反相器INV1通過將控制位元DELSEL的邏輯電平進行反相來設置或提供另一個控制位元DELSELB。換句話說,當控制位元DELSEL具有高邏輯值“1”時,控制位元DELSELB具有低邏輯值“0”;以及,當控制位元DELSEL具有低邏輯值“0”時,控制位元DELSELB具有高邏輯值“1”。當控制位元DELSEL被設置為低邏輯值“0”時,選擇電路210被使能,而選擇電路212被禁用。因此,時鐘訊號CK通過選擇電路210,並由反相器INV4進一步處理成為內部時鐘Int_CK。當控制位元DELSEL被設置為高邏輯值“1”時,選擇電路210被禁用,而選擇電路212被使能。因此,時鐘訊號CK通過延遲單元電路208和選擇電路212,並且由反相器INV4進一步處理成為內部時鐘訊號Int_CK。應該注意的是,第4圖中所示的電路實施方式僅用於說明的目的,並不意味著限制本發明。也就是說,可以利用其它的電路設計來實現第2A圖所示的可編程路徑延遲電路112,從而實現對時鐘路徑204的路徑延遲進行編程的相同目標。
從第4圖中可以看出,時鐘路徑204的路徑延遲由整數個門延遲(gate delay)進行編程。因此,對時鐘路徑204的路徑延遲進行編程的粒度(granularity)取決於該門延遲。為了提高對時鐘路徑204的路徑延遲進行編程的粒度,本發明提出了第1圖所示的可編程路徑延遲電路112的另一設計。
第5圖是根據本發明實施例示出的第1圖中所示的可編程路徑延遲電路112的第二示例性設計的示意圖。可編程路徑延遲電路112包括基延遲電路(base delay circuit)502、第一延遲控制電路504和第二延遲控制電路506。可編程路徑延遲電路112接收來自一個介面引腳110的時鐘訊號CK,並將時鐘訊號CK經由時鐘路徑501傳遞到外圍電路104中的每個鎖存器202,其中,複數個鎖存器202中的每一個接收內部時鐘訊號Int_CK和一個非時鐘訊號Non_CK,該非時鐘訊號Non_CK是從一個介面引腳110接收到的,該內部時鐘訊號Int_CK是可編程路徑延遲電路112提供的。作為示例而非限制,非時鐘訊號Non_CK可以是嵌入式存儲器100的CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元或任何同步輸入。
基延遲電路502用於接收時鐘訊號CK,並將可編程延遲量施加給或應用至時鐘訊號CK。換句話說,當時鐘訊號CK通過基延遲電路502時,時鐘訊號CK被延遲該可編程延遲量。第一延遲控制電路504包括複數個第一電晶體M11-M1N,第一電晶體M11-M1N並聯連接在基延遲電路502的第一節點N1和電源電壓(supply voltage)VDD之間。第二延遲控制電路506包括複數個第二電晶體M21-M2N,第二電晶體M21-M2N並聯連接在基延遲電路502的第二節點N2與地電壓(ground voltage)GND之間。根據實際的設計考量,第一延遲控制電路504中實現的第一電晶體M11-M1N的數量和第二延遲控制電路506中實現的第二電晶體M21-M2N的數量是可調整的。在該實施例中,第一延遲控制電路504中接通的(turned-on)第一電晶體的數量和第二延遲控制電路506中接通的第二電晶體的數量都是受建立-保持時間控制設置SHSEL控制的。
基延遲電路502或可編程路徑延遲電路112的可編程延遲量由第一延遲控制電路504中接通的第一電晶體的數量和第二延遲控制電路506中接通的第二電晶體的數量確定。例如,當第一延遲控制電路504中接通的第一電晶體的數量被設置為第一值且第二延遲控制電路506中接通的第二電晶體的數量被設置為相同的第一值時,基延遲電路502的可編程延遲量被設置為第一延遲時間;當第一延遲控制電路504中接通的第一電晶體的數量被設置為第二值且第二延遲控制電路506中接通的第二電晶體的數量被設置為相同的第二值時,基延遲電路502的可編程延遲量被設置為第二延遲時間。在本實施例中,如果第一值大於第二值,則由於基延遲電路502使用較大的驅動電流,從而第一延遲時間比第二延遲時間短;以及,如果第一值小於第二值,則由於基延遲電路502使用較小的驅動電流,從而第一延遲時間比第二延遲時間長。利用可編程路徑延遲電路112的適當控制,內部時鐘訊號Int_CK的時鐘邊沿的時序是可調整的,從而避免鎖存器202處的非時鐘訊號Non_CK的建立時間違規和/或保持時間違規。
第5圖中所示的可編程路徑延遲電路112通過調整基延遲電路502所使用的驅動電流的大小來控制時鐘路徑501的路徑延遲。與第2A圖中所示的可編程路徑延遲電路112相比,第5圖所示的可編程路徑延遲電路112能夠以更精細的粒度來控制路徑延遲。
第6圖是根據本發明實施例示出的第5圖中所示的可編程路徑延遲電路112的電路設計的示意圖。第一延遲控制電路504使用PMOS電晶體MP1、MP2、MP3來實現。第二延遲控制電路506使用NMOS電晶體MN1、MN2、MN3來實現。為了清楚和簡單起見,第一延遲控制電路504和第二延遲控制電路506中的每一個以僅具有三個電晶體為例進行示出,但本發明並不限於此。基延遲電路502使用PMOS電晶體MP4、MP5和NMOS電晶體MN4、MN5來實現,其中,PMOS電晶體MP4和NMOS電晶體MN4構成一個反相器,以及,PMOS電晶體MP5和NMOS電晶體MN5構成另一個反相器。
建立-保持時間控制設置SHSEL包括一個控制輸入DELSEL,該控制輸入DELSEL由兩個控制位元DELSEL[0]和DELSEL[1]組成。反相器INV1通過反轉控制位元DELSEL[0]的邏輯電平來設置或提供另一控制位元DELSEL[0]B。反相器INV2通過反轉控制位元DELSEL[1]的邏輯電平來設置或提供另一控制位元DELSEL[1]B。換句話說,當控制位元DELSEL[0]具有高邏輯值“1”時,控制位元DELSEL[0]B具有低邏輯值“0”;以及,當控制位元DELSEL[0]具有低邏輯值“0”時,控制位元DELSEL[0]B具有高邏輯值“1”。類似地,當控制位元DELSEL[1]具有高邏輯值“1”時,控制位元DELSEL[1]B具有低邏輯值“0”;以及,當控制位元DELSEL[1]具有低邏輯值“0”時,控制位元DELSEL[1]B具有高邏輯值“1”。應該注意的是,PMOS電晶體MP3被第一偏置電壓VB1(例如,地電壓GND)接通,以及,NMOS電晶體MN3被第二偏置電壓VB2(例如,電源電壓VDD)接通。因此,無論PMOS電晶體MP1和MP2的狀態是導通(on)還是截止(off),PMOS電晶體MP3都是接通的;以及,無論NMOS電晶體MN1和MN2的狀態是導通還是截止,NMOS電晶體MN3都是接通的(turned on)。
當控制位元DELSEL[0]被設置為低邏輯值“0”時,PMOS電晶體MP1是斷開的(turned off),且NMOS電晶體MN1是斷開的。當控制位元DELSEL[0]被設置為高邏輯值“1”時,PMOS電晶體MP1是接通的,且NMOS電晶體MN1是接通的。當控制位元DELSEL[1]被設置為低邏輯值“0”時,PMOS電晶體MP2是斷開的,且NMOS電晶體MN2是斷開的。當控制位元DELSEL[1]設置為高邏輯值“1”時,PMOS電晶體MP2是接通的,且NMOS電晶體MN2是接通的。
當控制位元DELSEL[0]和DELSEL[1]都被設置為低邏輯值“0”時,第一延遲控制電路504具有僅一個被接通的PMOS電晶體MP3,且第二延遲控制電路506也具有僅一個被接通的NMOS電晶體MN3。因此,由於驅動電流最小,時鐘路徑501的路徑延遲被編程為具有最大延遲量。即,時鐘路徑501的路徑延遲被編程為第一延遲量。
當控制位元DELSEL[0]和DELSEL[1]中僅一個被設置為高邏輯值“1”時,第一延遲控制電路504具有兩個接通的PMOS電晶體(例如,MP1和MP3,或者,MP2和MP3),以及,第二延遲控制電路506具有兩個接通的NMOS電晶體(例如,MN1和MN3,或者,MN2和MN3)。因此,由於驅動電流中等,時鐘路徑501的路徑延遲被編程為具有中等延遲量。即,時鐘路徑501的路徑延遲被編程為第二延遲量,且第二延遲量小於第一延遲量。
當控制位元DELSEL[0]和DELSEL[1]都被設置為高邏輯值“1”時,第一延遲控制電路504具有三個接通的PMOS電晶體MP1、MP2、MP3,以及,第二延遲控制電路506具有三個接通的NMOS電晶體MN1、MN2、MN3。因此,由於驅動電流最大,時鐘路徑501的路徑延遲被編程為具有最小延遲量。即,時鐘路徑501的路徑延遲被編程為第三延遲量,且第三延遲量小於第二延遲量。可以理解地,在第6圖所示的實施例中,基延遲電路502的驅動電流越大,時鐘路徑的路徑延遲越小。
應該注意的是,第6圖僅用於說明性目的,並不意味著限制本發明。也就是說,通過利用其它的電路設計實現可編程路徑延遲電路112,可以實現對時鐘路徑501的路徑延遲進行編程的相同目標。
從第3圖可以看出,建立時間Tsetup和保持時間Thold中的任何一個是否違規時序要求取決於時鐘訊號與非時鐘訊號(其將被時鐘訊號採樣)之間的相對時序關係。調整時鐘訊號的時序能夠影響建立時間Tsetup和保持時間Thold。或者,調整非時鐘訊號的時序也能夠影響建立時間Tsetup和保持時間Thold。根據本發明的另一建立-保持時間控制方案,可編程路徑延遲電路112用於根據建立-保持時間控制設置SHSEL來設置非時鐘路徑的路徑延遲,其中,非時鐘路徑用於傳遞非時鐘訊號,該非時鐘訊號是通過嵌入式存儲器100的一個介面引腳110接收到的(例如,可以係CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元或任何同步輸入)。
第7圖是根據本發明實施例示出的第1圖所示的可編程路徑延遲電路112的第三示例性設計的示意圖。第7圖所示的可編程路徑延遲電路712包括複數個電路模組702,每個電路模組702用於向外圍電路104中的複數個鎖存器202中的其中一個提供一個非時鐘訊號Non_CK。可編程路徑延遲電路712中的每個電路模組702包括複數個延遲單元電路706、708和複數個選擇電路710、712、714。應當指出的是,第7圖所示的選擇電路的數量和第7圖所示的延遲單元電路的數量僅用於說明的目的,而不意味著是對本發明的限制。實際上,根據實際設計考量,可以調整每個電路模組702中實現的延遲單元電路的數量和選擇電路的數量。
可編程路徑延遲電路712的每個電路模組702從一個介面引腳110接收非時鐘訊號Non_CK(例如,嵌入式存儲器100的CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元或任何其它的同步輸入),並且經由非時鐘路徑704將非時鐘訊號Non_CK傳遞到其中一個鎖存器202,其中,每個鎖存器202接收時鐘訊號CK和一個非時鐘訊號Non_CK,其中,時鐘訊號CK是從一個介面引腳110接收到的,非時鐘訊號Non_CK是可編程路徑延遲電路712提供的。
延遲單元電路706和708中的每一個用於將預定延遲量施加給非時鐘訊號Non_CK。應該注意的是,延遲單元電路706和708可以使用相同的延遲單元設計來實現,以提供相同的預定延遲量,或者,可以使用不同的延遲單元設計來實現,以提供不同的預定延遲量。在延遲單元電路706和708使用相同的延遲單元設計來實現以提供相同的預定延遲量DL的實施例中,如果非時鐘訊號Non_CK通過一個延遲單元電路,則非時鐘訊號Non_CK被延遲DL*1。如果非時鐘訊號Non_CK通過兩個延遲單元電路,則非時鐘訊號Non_CK被延遲DL*2。
選擇電路710具有輸入埠和輸出埠,其中,選擇電路710的輸入埠用於接收不經由任何延遲單元電路706和708的非時鐘訊號Non_CK,並且選擇電路710的輸出埠用於根據建立-保持時間控制設置SHSEL選擇性地輸出非時鐘訊號Non_CK,該非時鐘訊號Non_CK是在選擇電路710的輸入埠上接收到的。選擇電路712具有輸入埠和輸出埠,其中,選擇電路712的輸入埠用於經由延遲單元電路706接收非時鐘訊號Non_CK,並且選擇電路712的輸出埠用於根據建立-保持時間控制設置SHSEL選擇性地輸出在選擇電路712的輸入埠上接收到的非時鐘訊號Non_CK(其中,該非時鐘訊號Non_CK已被延遲單元電路706延遲)。選擇電路714具有輸入埠和輸出埠,其中,選擇電路714的輸入埠用於經由延遲單元電路706和708接收非時鐘訊號Non_CK(其中,該非時鐘訊號Non_CK已被延遲單元電路706和708延遲),並且選擇電路714的輸出埠用於根據建立-保持時間控制設置SHSEL選擇性地輸出在選擇電路714的輸入埠上接收到的非時鐘訊號Non_CK。
在該實施例中,建立-保持時間控制設置SHSEL用於確定選擇電路710、712、714中的哪一個被使能,以將接收到的非時鐘訊號輸出到後面的鎖存器202。當選擇電路710被建立-保持時間控制設置SHSEL使能時,非時鐘訊號Non_CK1(是通過使非時鐘訊號Non_CK通過選擇電路710產生的)被用來用作鎖存器202的非時鐘輸入。當選擇電路712被建立-保持時間控制設置SHSEL使能時,非時鐘訊號Non_CK2(是通過使非時鐘訊號Non_CK通過延遲單元電路706和選擇電路712產生的)被用來用作鎖存器202的非時鐘輸入。當選擇電路714被建立-保持時間控制設置SHSEL使能時,非時鐘訊號Non_CK3(是通過使非時鐘訊號Non_CK通過延遲單元電路706、708和選擇電路714產生的)被用來用作鎖存器202的非時鐘輸入。在可編程路徑延遲電路712的適當控制下,非時鐘路徑704的路徑延遲能夠被調整,從而,影響非時鐘輸入相對於時鐘訊號CK的建立時間和保持時間(其可被認為是具有可編程存儲器介面延遲的非時鐘訊號Non_CK)。
第8圖是根據本發明實施例示出的非時鐘訊號Non_CK、Non_CK1、Non_CK2、Non_CK3和時鐘訊號CK的波形的示意圖。非時鐘訊號Non_CK、Non_CK1、Non_CK2、Non_CK3具有相同的波形但是時序不同。非時鐘訊號Non_CK1和Non_CK之間的時序延遲來自選擇電路710。非時鐘訊號Non_CK2和Non_CK之間的時序延遲來自延遲單元電路706和選擇電路712。非時鐘訊號Non_CK3和Non_CK之間的時序延遲來自延遲單元電路706、708和選擇電路714。通過對可編程路徑延遲電路712的適當控制,可以調整非時鐘輸入的時序,以避免鎖存器202上的非時鐘訊號Non_CK的建立時間違規和/或保持時間違規。在如第8圖所示的實施例中,當非時鐘輸入被設置為非時鐘訊號Non_CK1時,建立時間滿足時序要求;當非時鐘輸入被設置為非時鐘訊號Non_CK2時,建立時間最低限度地滿足時序要求;當非時鐘輸入被設置為非時鐘訊號Non_CK3時,建立時間不滿足時序要求。優選地,可以設置建立-保持時間控制設置SHSEL來啟用選擇電路710,從而將非時鐘訊號Non_CK1輸出到鎖存器202。應該注意的是,第8圖僅用於說明目的,並不意味著對本發明的限制。實際上,可以基於時鐘訊號CK和非時鐘訊號Non_CK之間的實際時序關係來選擇非時鐘訊號Non_CK1、Non_CK2、Non_CK3中的其中一個。
第7圖中所示的可編程路徑延遲電路712中的每個電路模組702的功能與第2A圖中所示的可編程路徑延遲電路112類似。主要區別在於:第7圖中所示的可編程路徑延遲電路712中的每個電路模組702的輸入是非時鐘訊號Non_CK(例如,CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元或任何同步輸入)。因此,第7圖中所示的可編程路徑延遲電路712中的每個電路模組702也可以使用第4圖所示的電路設計來實現。為了簡潔起見,在此省略進一步的描述。
第9圖是根據本發明實施例的第1圖中所示的可編程路徑延遲電路112的第四示例性設計的示意圖。第9圖所示的可編程路徑延遲電路912包括複數個電路模組908,每個電路模組用於從一個介面引腳110接收非時鐘訊號Non_CK,並且經由非時鐘路徑901將非時鐘訊號Non_CK傳送到外圍電路104中的其中一個鎖存器202。可編程路徑延遲電路912中的每個電路模組908包括基延遲電路902、第一延遲控制電路904和第二延遲控制電路906。每個鎖存器202接收時鐘訊號CK和一個非時鐘訊號Non_CK,時鐘訊號CK來自其中一個介面引腳110,非時鐘訊號Non_CK是可編程路徑延遲電路912提供的。作為示例而非限制,非時鐘訊號Non_CK可以是嵌入式存儲器100的CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元或任何同步輸入。
基延遲電路902用於接收非時鐘訊號Non_CK,並且將可編程延遲量施加給非時鐘訊號Non_CK。換句話說,當非時鐘訊號Non_CK通過基延遲電路902時,非時鐘訊號Non_CK被延遲可編程延遲量。第一延遲控制電路904包括複數個第一電晶體M11-M1N,該複數個第一電晶體M11-M1N並聯連接在基延遲電路902的第一節點N1和電源電壓VDD之間。第二延遲控制電路906包括複數個第二電晶體M21-M2N,該複數個第二電晶體M21-M2N並聯連接在基延遲電路902的第二節點N2和地電壓GND之間。根據實際的設計考量,可以調整第一延遲控制電路904中實現的第一電晶體M11-M1N的數量和第二延遲控制電路906中實現的第二電晶體M21-M2N的數量。在本實施例中,第一延遲控制電路904中接通的第一電晶體的數量和第二延遲控制電路906中接通的第二電晶體的數量都由建立-保持時間控制設置SHSEL來控制。
基延遲電路902的可編程延遲量由第一延遲控制電路904中接通的第一電晶體的數量和第二延遲控制電路906中接通的第二電晶體的數量確定。例如,當第一延遲控制電路904中接通的第一電晶體的數量被設置為第一值且第二延遲控制電路906中接通的第二電晶體的數量被設置為相同的第一值時,基延遲電路902的可編程延遲量被設置為第一延遲時間;當第一延遲控制電路904中接通的第一電晶體的數量被設置為第二值且第二延遲控制電路906中接通的第二電晶體的數量被設置為相同的第二值時,基延遲電路902的可編程延遲量被設置為第二延遲時間。在本實施例中,如果第一值大於第二值,則由於基延遲電路902使用較大的驅動電流,從而第一延遲時間比第二延遲時間短;以及,如果第一值小於第二值,則由於基延遲電路902使用較小的驅動電流,從而第一延遲時間比第二延遲時間長。利用可編程路徑延遲電路912的適當控制,非時鐘輸入的時序是可調整的,從而避免鎖存器202處的非時鐘輸入的建立時間違規和/或保持時間違規。
第9圖中所示的可編程路徑延遲電路912通過調整基延遲電路902使用的驅動電流的大小來控制時鐘路徑901的路徑延遲。與第7圖所示的可編程路徑延遲電路712相比,第9圖所示的可編程路徑延遲電路912能夠以更精細的粒度來控制路徑延遲。
第9圖中所示的可編程路徑延遲電路912中的每個電路模組908的功能與第5圖中所示的可編程路徑延遲電路112的功能類似。主要區別在於:第9圖中所示的可編程路徑延遲電路912中的每個電路模組908的輸入是非時鐘訊號Non_CK(例如,CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元或任何同步輸入)。因此,可編程路徑延遲電路112中的每個電路模組908也可以使用第6圖中所示的電路設計來實現。為了簡潔起見,在此省略進一步的描述。
在上述實施例中,可編程路徑延遲電路用於根據建立-保持時間控制設置來設置或控制時鐘路徑和非時鐘路徑中僅一個的路徑延遲。或者,可編程路徑延遲電路可被修改為根據建立-保持時間控制設置來設置或控制時鐘路徑和非時鐘路徑兩者的路徑延遲。應當說明的是,這種替代設計也落入本發明的範圍內。
調整非時鐘訊號的時序也能夠影響建立時間Tsetup和保持時間Thold。在上述實施例中,嵌入式存儲器100具有存儲器介面電路106,存儲器介面電路106配備有可編程路徑延遲電路,該可編程路徑延遲電路用於實現調整存儲器介面處的非時鐘訊號的時序的目的。換句話說,上述實施例提出了一種具有內部控制的建立-保持時間的嵌入式存儲器。然而,調整非時鐘訊號的時序的相同目的也可以通過調整位於嵌入式存儲器外部的電路元件(例如,觸發器)上的時鐘訊號的時序來實現,且該外部的電路元件用於提供非時鐘訊號給嵌入式存儲器。因此,本發明的實施例還提出了一種具有外部控制的建立-保持時間的嵌入式存儲器。
第10圖是根據本發明實施例示出的第二集成電路設計的示意圖。在本實施例中,集成電路是其中包括嵌入式存儲器的片上系統(SoC)1000。為了清楚和簡單起見,僅一個嵌入式存儲器1008被示出。除了嵌入式存儲器1008之外,SoC 1000還包括時鐘樹(clock tree)1002、時鐘門控單元電路1004以及一個或複數個觸發器電路1006(例如,DFF)。應該注意的是,第10圖中只示出了與本發明有關的電路元件。實際上,SoC 1000還可以具有額外的電路元件來實現其它指定的功能。
時鐘樹1002用於將複數個時鐘訊號分別分配給SoC 1000中的複數個時鐘驅動電路元件。例如,時鐘樹1002可以分配具有相同頻率但時鐘偏移不同的第一時鐘訊號CK_1和第二時鐘訊號CK_2。每個觸發器電路1006可以是具有時鐘輸入埠、資料輸入埠和資料輸出埠的D型觸發器(D-type flip flop,DFF),其中,時鐘輸入埠用於經由時鐘門控單元電路1004接收來自時鐘樹1002的第一時鐘訊號CK_1,資料輸入埠用於接收一個非時鐘訊號Non_CK(例如,CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元或任何其它的同步輸入),以及,資料輸出埠用於將已採樣的非時鐘訊號Non_CK輸出至嵌入式存儲器1008。嵌入式存儲器1008具有一個介面引脚,用於接收來自每個觸發器電路1006的非時鐘訊號輸出,以及,嵌入式存儲器1008還具有一個介面引腳,用於接收來自時鐘樹1002的第二時鐘訊號CK_2。特別地,嵌入式存儲器1008至少根據從時鐘樹1002接收到的第二時鐘訊號CK_2和從一個或複數個觸發器電路1006接收到的非時鐘訊號Non_CK進行存儲器存取(access)。
時鐘門控單元電路1004用於接收來自時鐘樹1002的第一時鐘訊號CK_1,並且將第一時鐘訊號CK_1選擇性地提供給觸發器電路1006的時鐘輸入埠。如第10圖所示,時鐘門控單元電路1004包括時鐘門控電路1010和可編程路徑延遲電路1012。在本實施例中,時鐘門控電路1010是使用鎖存器1014和與非(NAND)門1016實現的時鐘門控單元。鎖存器1014被第一時鐘訊號CK_1控制,以輸出時鐘門控使能訊號EN至與非門1016的其中一個輸入埠。當時鐘門控使能訊號EN被設置為邏輯低電平時,時鐘門控功能被使能,以選通(gate)第一時鐘訊號CK_1,使得時鐘門控電路1010輸出恆定電壓電平。當時鐘門控使能訊號EN被設置為邏輯高電平時,時鐘門控功能被禁用,從而允許時鐘門控電路1010輸出第一時鐘訊號CK_1。
在本發明的一些實施例中,與非門1016可以用與(AND)門、或(OR)門或者或非(NOR)門來代替,以滿足設計要求。此外,時鐘門控電路1010可以被修改為包括附加的邏輯門(例如,反相器),以滿足設計要求。簡而言之,第10圖中所示的時鐘門控電路1010的電路設計僅用於說明目的。時鐘門控電路1010可以使用任何可行的時鐘門控設計來實現。由於本發明的重點不在於時鐘門控電路1010的電路設計,因此,為簡潔起見,在此不再贅述。
當時鐘門控功能被時鐘門控使能訊號EN禁用時,可編程路徑延遲電路1012從前面的時鐘門控電路1010接收第一時鐘訊號CK_1,並經由時鐘路徑1011將第一時鐘訊號CK_1傳送給每個觸發器電路1006。可編程路徑延遲電路1012用於根據建立-保持時間控制設置SHSEL來設置或控制時鐘路徑1011的路徑延遲。例如,可編程路徑延遲電路1012可以使用第2A圖中所示的可編程路徑延遲電路112來實現,或者,使用第4圖中所示的可編程路徑延遲電路112來實現。由於所屬技術領域中具有通常知識者在閱讀了針對第2A圖和第4圖所示的可編程路徑延遲電路112的以上段落之後可以容易地理解可編程路徑延遲電路1012的細節,因此,為了簡潔起見,在此省略進一步的描述。
如上所述,每個觸發器電路1006可以是具有時鐘輸入埠、資料輸入埠和資料輸出埠的D型觸發器(DFF),其中,時鐘輸入埠用於經由時鐘門控單元電路1004接收第一時鐘訊號CK_1,資料輸入埠用於接收一個非時鐘訊號Non_CK(例如,CS訊號、WE訊號、BYTE訊號、ADR位元、DI位元、或任何同步輸入),以及,資料輸出埠用於將已採樣的非時鐘訊號Non_CK輸出至嵌入式存儲器1008。通過建立-保持時間控制設置SHSEL的適當設置,被饋送到每個觸發器電路1006中的第一時鐘訊號CK_1的時序是可調整的,從而影響被饋送至嵌入式存儲器1008的非時鐘訊號Non_CK的時序。因此,通過位於嵌入式存儲器1008外部的時鐘門控單元電路1004的可編程路徑延遲電路1012,嵌入式存儲器1008(還接收第二時鐘訊號CK_2)接收到的非時鐘訊號Non_CK的建立時間和保持時間可以被間接編程。
雖然已經對本發明實施例及其優點進行了詳細說明,但應當理解的係,在不脫離本發明的精神以及申請專利範圍所定義的範圍內,可以對本發明進行各種改變、替換和變更,例如,可以通過結合不同實施例的若干部分來得出新的實施例。所描述的實施例在所有方面僅用於說明的目的而並非用於限制本發明。本發明的保護範圍當視所附的申請專利範圍所界定者為准。所屬技術領域中具有通常知識者皆在不脫離本發明之精神以及範圍內做些許更動與潤飾。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10、1000 片上系統(SoC) 100、1008 嵌入式存儲器 102 單元陣列 104 外圍電路 106 存儲器介面電路 108 存儲單元 110 介面引腳 112、712、912、1012 可編程路徑延遲電路 202、1014 鎖存器 210、212、214、710、712、714 選擇電路 216 多工器 206、208、706、708 延遲單元電路 MP1、MP2、MP3、MP4、MP5 PMOS電晶體 MN1、MN2、MN3、MN4、MN5 NMOS電晶體 INV1、INV2、INV3、INV4 反相器 504、904 第一延遲控制電路 506、906 第二延遲控制電路 502、902 基延遲電路 204、501、1011 時鐘路徑 M11、…、M1N 第一電晶體 M21、…、M2N 第二電晶體 704、901 非時鐘路徑 702、908 電路模組 1002 時鐘樹 1004 時鐘門控單元電路 1006 觸發器電路 1010 時鐘門控電路 1016 與非門
第1圖是根據本發明實施例的第一集成電路設計的示意圖。 第2A圖是根據本發明實施例示出第1圖所示的可編程路徑延遲電路的第一示例性設計的示意圖。 第2B圖是根據本發明實施例示出第1圖所示的可編程路徑延遲電路的第二示例性設計的示意圖。 第3圖是根據本發明實施例示出的非時鐘訊號和複數個時鐘訊號的波形的示意圖。 第4圖是根據本發明實施例示出的第2A圖所示的可編程路徑延遲電路的電路設計的示意圖。 第5圖是根據本發明實施例示出的第1圖中所示的可編程路徑延遲電路的第二示例性設計的示意圖。 第6圖是根據本發明實施例示出的第5圖中所示的可編程路徑延遲電路的電路設計的示意圖。 第7圖是根據本發明實施例示出的第1圖所示的可編程路徑延遲電路的第三示例性設計的示意圖。 第8圖是根據本發明實施例示出的時鐘訊號和非時鐘訊號的波形的示意圖。 第9圖是根據本發明實施例的第1圖中所示的可編程路徑延遲電路的第四示例性設計的示意圖。 第10圖是根據本發明實施例示出的第二集成電路設計的示意圖。

Claims (14)

  1. 一種嵌入式存儲器,包括:存儲器介面電路、單元陣列和外圍電路; 其中,該存儲器介面電路包括: 複數個介面引腳,用於至少接收時鐘訊號、非時鐘訊號以及建立-保持時間控制設置;以及 可編程路徑延遲電路,用於根據該建立-保持時間控制設置來控制時鐘路徑和非時鐘路徑中的至少一個的路徑延遲,其中,該時鐘路徑用於傳送該時鐘訊號,該非時鐘路徑用於傳送該非時鐘訊號; 該單元陣列包括複數個存儲單元;以及 該外圍電路用於至少根據該時鐘路徑提供的時鐘訊號和該非時鐘路徑提供的非時鐘訊號對該單元陣列進行存取。
  2. 根據申請專利範圍第1項所述之嵌入式存儲器,其中,該可編程路徑延遲電路用於根據該建立-保持時間控制設置來控制該時鐘路徑的路徑延遲,該可編程路徑延遲電路包括: 至少一個延遲單元電路,用於將預定延遲量施加給該時鐘訊號,並輸出延遲後的時鐘訊號; 多工器,具有複數個輸入埠和一輸出埠,該複數個輸入埠用於接收不經由該至少一個延遲單元電路的該時鐘訊號和該延遲後的時鐘訊號,以及,該輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該複數個輸入埠上接收到的其中一個時鐘訊號。
  3. 根據申請專利範圍第1項所述之嵌入式存儲器,其中,該可編程路徑延遲電路用於根據該建立-保持時間控制設置來控制該時鐘路徑的路徑延遲,該可編程路徑延遲電路包括: 延遲單元電路,用於將預定延遲量施加給該時鐘訊號; 第一選擇電路,具有第一輸入埠和第一輸出埠,該第一輸入埠用於接收不經由該延遲單元電路的該時鐘訊號,且該第一輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該第一輸入埠上接收到的時鐘訊號;以及 第二選擇電路,具有第二輸入埠和第二輸出埠,該第二輸入埠用於經由該延遲單元電路接收該時鐘訊號,且該第二輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該第二輸入埠上接收到的時鐘訊號。
  4. 根據申請專利範圍第1項所述之嵌入式存儲器,其中,該可編程路徑延遲電路用於根據該建立-保持時間控制設置來控制該時鐘路徑的路徑延遲,該可編程路徑延遲電路包括: 基延遲電路,用於接收該時鐘訊號,並將可編程延遲量施加給該時鐘訊號; 第一延遲控制電路,包括複數個第一電晶體,該複數個第一電晶體並聯連接在電源電壓和該基延遲電路的第一節點之間,其中,該第一延遲控制電路中接通的第一電晶體的數量是由該建立-保持時間控制設置控制的;以及 第二延遲控制電路,包括複數個第二電晶體,該複數個第二電晶體並聯連接在該基延遲電路的第二節點和地電壓之間,其中,該第二延遲控制電路中接通的第二電晶體的數量是由該建立-保持時間控制設置控制的; 其中,該可編程延遲量由該第一延遲控制電路中接通的第一電晶體的數量和該第二延遲控制電路中接通的第二電晶體的數量設定。
  5. 根據申請專利範圍第1項所述之嵌入式存儲器,其中,該可編程路徑延遲電路用於根據該建立-保持時間控制設置來控制該非時鐘路徑的路徑延遲,該可編程路徑延遲電路包括: 至少一個延遲單元電路,用於將預定延遲量施加給該非時鐘訊號,並輸出延遲後的非時鐘訊號; 多工器,具有複數個輸入埠和一輸出埠,該複數個輸入埠用於接收不經由該至少一個延遲單元電路的該非時鐘訊號和該延遲後的非時鐘訊號,以及,該輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該複數個輸入埠上接收到的其中一個非時鐘訊號。
  6. 根據申請專利範圍第1項所述之嵌入式存儲器,其中,該可編程路徑延遲電路用於根據該建立-保持時間控制設置來控制該非時鐘路徑的路徑延遲,該可編程路徑延遲電路包括: 延遲單元電路,用於將預定延遲量施加給該非時鐘訊號; 第一選擇電路,具有第一輸入埠和第一輸出埠,該第一輸入埠用於接收不經由該延遲單元電路的該非時鐘訊號,且該第一輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該第一輸入埠上接收到的非時鐘訊號;以及 第二選擇電路,具有第二輸入埠和第二輸出埠,該第二輸入埠用於經由該延遲單元電路接收該非時鐘訊號,且該第二輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該第二輸入埠上接收到的非時鐘訊號。
  7. 根據申請專利範圍第1項所述之嵌入式存儲器,其中,該可編程路徑延遲電路用於根據該建立-保持時間控制設置來控制該非時鐘路徑的路徑延遲,該可編程路徑延遲電路包括: 基延遲電路,用於接收該非時鐘訊號,並將可編程延遲量施加給該非時鐘訊號; 第一延遲控制電路,包括複數個第一電晶體,該複數個第一電晶體並聯連接在電源電壓和該基延遲電路的第一節點之間,其中,該第一延遲控制電路中接通的第一電晶體的數量是由該建立-保持時間控制設置控制的;以及 第二延遲控制電路,包括複數個第二電晶體,該複數個第二電晶體並聯連接在該基延遲電路的第二節點和地電壓之間,其中,該第二延遲控制電路中接通的第二電晶體的數量是由該建立-保持時間控制設置控制的; 其中,該可編程延遲量由該第一延遲控制電路中接通的第一電晶體的數量和該第二延遲控制電路中接通的第二電晶體的數量設定。
  8. 根據申請專利範圍第5項、第6項或第7項所述之嵌入式存儲器,其中,該非時鐘訊號是:從該複數個介面引腳中的控制引腳接收到的控制輸入、從該複數個介面引腳中的地址引腳接收到的地址位元,或者,從該複數個介面引腳中的資料輸入引腳接收到的資料位元。
  9. 一種集成電路,其中,該集成電路包括如申請專利範圍第1項至第8項中的任意一項所述之嵌入式存儲器。
  10. 一種集成電路,包括: 時鐘樹,用於至少分配第一時鐘訊號和第二時鐘訊號; 觸發器電路,具有時鐘輸入埠和資料輸出埠,該時鐘輸入埠用於經由時鐘門控單元電路接收來自該時鐘樹的該第一時鐘訊號,且該資料輸出埠用於輸出非時鐘訊號; 嵌入式存儲器,用於接收來自該時鐘樹的該第二時鐘訊號、接收來自該觸發器電路的該非時鐘訊號,並至少根據該第二時鐘訊號和該非時鐘訊號執行存儲器存取;以及 該時鐘門控單元電路,用於接收該第一時鐘訊號並選擇性地將該第一時鐘訊號提供給該觸發器電路的該時鐘輸入埠,其中,該時鐘門控單元電路包括: 可編程路徑延遲電路,用於根據建立-保持時間控制設置來控制時鐘路徑的路徑延遲,其中,該時鐘路徑用於傳送該第一時鐘訊號。
  11. 根據申請專利範圍第10項所述之集成電路,其中,該嵌入式存儲器接收到的該非時鐘訊號是控制輸入、地址位元,或者資料位元。
  12. 根據申請專利範圍第10項或第11項所述之集成電路,其中,該可編程路徑延遲電路包括: 延遲單元電路,用於將預定延遲量施加給該第一時鐘訊號; 第一選擇電路,具有第一輸入埠和第一輸出埠,該第一輸入埠用於接收不經由該延遲單元電路的該第一時鐘訊號,且該第一輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該第一輸入埠上接收到的第一時鐘訊號;以及 第二選擇電路,具有第二輸入埠和第二輸出埠,該第二輸入埠用於經由該延遲單元電路接收該第一時鐘訊號,且該第二輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該第二輸入埠上接收到的第一時鐘訊號。
  13. 根據申請專利範圍第10項或第11項所述之集成電路,其中,該可編程路徑延遲電路包括: 至少一個延遲單元電路,用於將預定延遲量施加給該第一時鐘訊號,並輸出延遲後的第一時鐘訊號; 多工器,具有複數個輸入埠和一輸出埠,該複數個輸入埠用於接收不經由該至少一個延遲單元電路的該第一時鐘訊號和該延遲後的第一時鐘訊號,以及,該輸出埠用於根據該建立-保持時間控制設置選擇性地輸出該複數個輸入埠上接收到的其中一個第一時鐘訊號。
  14. 根據申請專利範圍第10項或第11項所述之集成電路,其中,該可編程路徑延遲電路包括: 基延遲電路,用於接收該第一時鐘訊號,並將可編程延遲量施加給該第一時鐘訊號; 第一延遲控制電路,包括複數個第一電晶體,該複數個第一電晶體並聯連接在電源電壓和該基延遲電路的第一節點之間,其中,該第一延遲控制電路中接通的第一電晶體的數量是由該建立-保持時間控制設置控制的;以及 第二延遲控制電路,包括複數個第二電晶體,該複數個第二電晶體並聯連接在該基延遲電路的第二節點和地電壓之間,其中,該第二延遲控制電路中接通的第二電晶體的數量是由該建立-保持時間控制設置控制的; 其中,該可編程延遲量由該第一延遲控制電路中接通的第一電晶體的數量和該第二延遲控制電路中接通的第二電晶體的數量設定。
TW107108574A 2017-03-24 2018-03-14 嵌入式存儲器及集成電路 TWI644311B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762475973P 2017-03-24 2017-03-24
US62/475,973 2017-03-24
US15/818,768 US10332574B2 (en) 2017-03-24 2017-11-21 Embedded memory with setup-hold time controlled internally or externally and associated integrated circuit
US15/818,768 2017-11-21

Publications (2)

Publication Number Publication Date
TW201835914A TW201835914A (zh) 2018-10-01
TWI644311B true TWI644311B (zh) 2018-12-11

Family

ID=60915235

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107108574A TWI644311B (zh) 2017-03-24 2018-03-14 嵌入式存儲器及集成電路

Country Status (4)

Country Link
US (1) US10332574B2 (zh)
EP (1) EP3379538B1 (zh)
CN (1) CN108630258B (zh)
TW (1) TWI644311B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780646B (zh) * 2019-09-21 2021-11-26 苏州浪潮智能科技有限公司 一种基于mes系统的内存质量预警方法
US11386250B2 (en) * 2020-01-28 2022-07-12 Synopsys, Inc. Detecting timing violations in emulation using field programmable gate array (FPGA) reprogramming
JP2022146532A (ja) * 2021-03-22 2022-10-05 キオクシア株式会社 メモリシステム及び遅延制御方法
TWI799249B (zh) * 2022-04-29 2023-04-11 瑞昱半導體股份有限公司 用於測試多週期路徑電路的測試電路系統

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452239A (en) * 1993-01-29 1995-09-19 Quickturn Design Systems, Inc. Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system
US6232811B1 (en) * 1998-12-31 2001-05-15 Hyundai Electronics Industries Co., Ltd. Circuit for controlling setup/hold time of semiconductor device
US6310506B1 (en) * 1996-10-29 2001-10-30 Texas Instruments Incorporated Programmable setup/hold time delay network
US6577175B2 (en) * 2001-06-01 2003-06-10 Samsung Electronics Co., Ltd. Method for generating internal clock of semiconductor memory device and circuit thereof
US20040056699A1 (en) * 1992-03-02 2004-03-25 Seiko Epson Corporation Clock generator with programmable non-overlapping-clock-edge capability
US6924685B2 (en) * 2002-12-21 2005-08-02 Hynix Semiconductor, Inc. Device for controlling a setup/hold time of an input signal
US20080226004A1 (en) * 2007-03-12 2008-09-18 Hakjune Oh Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070016857A (ko) * 2005-08-05 2007-02-08 주식회사 하이닉스반도체 셋업 홀드 타임 제어회로
CN100533600C (zh) * 2007-03-14 2009-08-26 北京中星微电子有限公司 基于现场可编程门阵列验证同步存储器控制器的装置、方法
KR100956782B1 (ko) * 2008-09-24 2010-05-12 주식회사 하이닉스반도체 셋업/홀드 타임 테스트 장치 및 방법
US8228106B2 (en) 2010-01-29 2012-07-24 Intel Mobile Communications GmbH On-chip self calibrating delay monitoring circuitry
JP5366872B2 (ja) 2010-04-02 2013-12-11 ルネサスエレクトロニクス株式会社 半導体集積回路のクロック信号調整回路
US8887019B2 (en) * 2010-11-16 2014-11-11 Cadence Design Systems, Inc. Method and system for providing efficient on-product clock generation for domains compatible with compression
US9123438B2 (en) 2013-10-15 2015-09-01 Nvidia Corporation Configurable delay circuit and method of clock buffering
US9684622B2 (en) * 2014-06-09 2017-06-20 Micron Technology, Inc. Method and apparatus for controlling access to a common bus by multiple components
US9312837B2 (en) 2014-08-05 2016-04-12 Apple Inc. Dynamic margin tuning for controlling custom circuits and memories
CN105976857A (zh) * 2016-05-20 2016-09-28 西安紫光国芯半导体有限公司 一种信号建立时间控制电路及基于该电路的动态存储器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040056699A1 (en) * 1992-03-02 2004-03-25 Seiko Epson Corporation Clock generator with programmable non-overlapping-clock-edge capability
US5452239A (en) * 1993-01-29 1995-09-19 Quickturn Design Systems, Inc. Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system
US6310506B1 (en) * 1996-10-29 2001-10-30 Texas Instruments Incorporated Programmable setup/hold time delay network
US6232811B1 (en) * 1998-12-31 2001-05-15 Hyundai Electronics Industries Co., Ltd. Circuit for controlling setup/hold time of semiconductor device
US6577175B2 (en) * 2001-06-01 2003-06-10 Samsung Electronics Co., Ltd. Method for generating internal clock of semiconductor memory device and circuit thereof
US6924685B2 (en) * 2002-12-21 2005-08-02 Hynix Semiconductor, Inc. Device for controlling a setup/hold time of an input signal
US20080226004A1 (en) * 2007-03-12 2008-09-18 Hakjune Oh Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices

Also Published As

Publication number Publication date
TW201835914A (zh) 2018-10-01
CN108630258B (zh) 2020-11-20
US20180277179A1 (en) 2018-09-27
EP3379538A1 (en) 2018-09-26
US10332574B2 (en) 2019-06-25
EP3379538B1 (en) 2020-11-25
CN108630258A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
TWI644311B (zh) 嵌入式存儲器及集成電路
US9166579B2 (en) Methods and apparatuses for shifting data signals to match command signal delay
KR101369057B1 (ko) 로컬 클럭 발생기의 셀프-타임된 캘리브레이션을 사용하여 확장된 전압 또는 프로세스 범위에 대해 sram 성능을 최적화하는 방법
US10614872B2 (en) Command signal clock gating
US10734067B1 (en) Memory device latch circuitry
KR100638748B1 (ko) 반도체메모리소자
JP4195309B2 (ja) 半導体メモリ装置
US6809975B2 (en) Semiconductor memory device having test mode and memory system using the same
US8780662B2 (en) Semiconductor memory device including initialization signal generation circuit
US7619937B2 (en) Semiconductor memory device with reset during a test mode
US12073911B2 (en) Apparatuses and methods for command decoding
KR20150006156A (ko) 반도체 장치, 반도체 메모리 장치 및 그것의 구동 방법
US20230386530A1 (en) Apparatuses and methods for command decoding
US6891763B1 (en) Input buffer with differential amplifier
US11145354B2 (en) Apparatuses and methods to perform duty cycle adjustment with back-bias voltage
US7339845B2 (en) Memory device
US10310743B2 (en) Latency improvements between sub-blocks
US20230395140A1 (en) Variation tolerant reconfigurable replica bitline circuits
US8384433B2 (en) Semiconductor device generating complementary output signals
US8653874B2 (en) Semiconductor device generates complementary output signals
JP2003157699A (ja) 半導体記憶装置
US20230267971A1 (en) Systems and methods for improved dual-tail latch with wide input common mode range
KR100263240B1 (ko) 반도체 메모리 소자의 멀티 라이트 장치
CN111800126A (zh) 在时钟重新启动之前复位时钟分频器电路
KR20090045571A (ko) 반도체 메모리 소자