国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      提供多端口功能的存儲裝置與方法

      文檔序號:6542400閱讀:121來源:國知局
      提供多端口功能的存儲裝置與方法
      【專利摘要】一種提供多端口功能的存儲裝置,此存儲裝置包含具有第一操作頻率的單端口存儲器,此第一操作頻率是多端口存儲器的第二操作頻率的兩倍或大于兩倍以上;至少一讀取同步模塊,將一組讀取信號從此第二操作頻率同步至此第一操作頻率;至少一寫入同步模塊,將一組寫入信號從此第二操作頻率同步至此第一操作頻率;讀取/寫入信號選擇器,將一組同步的讀取信號和一組同步的寫入信號集成為此單端口存儲器的一組輸入控制信號;以及讀取數(shù)據(jù)同步模塊,被配置為將此單端口存儲器的一組讀取數(shù)據(jù)從此第一操作頻率的同步至此多端口存儲器的此第二操作頻率。
      【專利說明】提供多端口功能的存儲裝置與方法

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明是關(guān)于一種提供多端口(multi-port)功能的存儲裝置(memory device)和 方法。

      【背景技術(shù)】
      [0002] 在數(shù)字電路的設(shè)計中,存儲器經(jīng)常被使用于,但不限定于,數(shù)據(jù)緩沖等,以成為在 不同的計算模塊之間的數(shù)據(jù)傳輸?shù)呐R時媒介(temporary media)等。在一實時運作系統(tǒng) 中的同一存儲周期(memory cycle)的期間,一模塊可以將數(shù)據(jù)寫入至一存儲器的一地址, 另一模塊可以從此存儲器中另一地址讀出數(shù)據(jù)。在此情況下,必須提供在同一時間能夠從 此存儲器讀取數(shù)據(jù)以及將數(shù)據(jù)寫入至此存儲器的功能。一般而言,可以使用一個多端口存 儲器,例如使用兩端口(two-port)存儲器來執(zhí)行此功能。兩端口存儲器的結(jié)構(gòu)具有兩個 輸入端口,此兩輸入端口可以同時輸入讀取和寫入運作所需要的相關(guān)的信號。設(shè)計者只需 要適當(dāng)?shù)乜刂谱x取和寫入控制信號,并且應(yīng)用這些控制信號至該兩端口存儲器,則同時將 數(shù)據(jù)儲存至此存儲器與從此存儲器讀取數(shù)據(jù)就可以容易地實現(xiàn)。例如,在寫入端口(write port),寫入致能(write enable)信號可以伴隨寫入地址(write address)信號和寫入數(shù)據(jù) (write data)信號。當(dāng)此寫入致能信號是在邏輯高(Iogichigh)時,此兩端口存儲器可以 將此寫入數(shù)據(jù)寫入至相對位置(relative position)。在讀取端口(read port),讀取致能 (read enable)信號可以伴隨讀取地址(read address)信號。當(dāng)此讀取致能信號是在邏輯 高時,此兩端口存儲器可以在下一時鐘周期(clock cycle)讀取一地址中的數(shù)據(jù)。
      [0003] 此兩端口存儲器可以在一時鐘周期內(nèi)同時執(zhí)行存儲器寫入動作(memory write operation)和存儲器讀取動作(memory read operation)。而單端口存儲器在一時鐘周期 內(nèi)只可以執(zhí)行存儲器讀取或?qū)懭耄╩emory read or memory write)動作。當(dāng)在專用集成電路 (Application Specific Integrated Circuits,ASIC)已下線(tape out)時,若存儲器的容 量又太大,可提供多端口功能的單端口(single port)存儲裝置將是解決此問題的多種方 法的其中一種方法。


      【發(fā)明內(nèi)容】

      [0004] 本發(fā)明的實施例可提供一種提供多端口功能的存儲裝置和方法。
      [0005] 本發(fā)明的一實施例是關(guān)于一種提供多端口功能的存儲裝置,此存儲裝置可包 含單端口存儲器、至少一讀取同步模塊(read synchronization module)、至少一寫入同 步模塊(write synchronization module)、讀取 / 寫入信號選擇器(read/write signal selector)、以及讀取數(shù)據(jù)同步模塊(read out data synchronization module)。此單端口存 儲器具有第一操作頻率(operating frequency),此第一操作頻率是多端口存儲器的第二 操作頻率的兩倍或大于兩倍以上。此讀取同步模塊將一組讀取信號從此第二操作頻率同步 至此第一操作頻率。此寫入同步模塊將一組寫入信號從此第二操作頻率同步至此第一操作 頻率。此讀取/寫入信號選擇器將一組同步的讀取信號(synchronized read signals)和 一組同步的寫入信號(synchronized write signals)集成為(integrate into)此單端口 存儲器的一組輸入控制信號(input control signals)。此讀取數(shù)據(jù)同步模塊被配置為將 此單端口存儲器的一組讀取數(shù)據(jù)(read data)從此第一操作頻率同步至此多端口存儲器的 此第二操作頻率。
      [0006] 本發(fā)明的另一實施例是關(guān)于一種提供多端口功能的存儲方法。此方法可包含:提 供具有第一操作頻率的單端口存儲器,此第一操作頻率是多端口存儲器的第二操作頻率的 兩倍或大于兩倍以上;將一組讀取信號從此第二操作頻率同步至此第一操作頻率,并且將 一組寫入信號從此第二操作頻率同步至此第一操作頻率;將一組同步的讀取信號和一組同 步的寫入信號集成為此單端口存儲器的一組輸入控制信號;以及將此單端口存儲器的一組 讀取數(shù)據(jù)從此第一操作頻率同步至此多端口存儲器的此第二操作頻率。
      [0007] 茲配合下列圖示、實施例的詳細說明及申請專利范圍,將上述及本發(fā)明的其他優(yōu) 點詳述于后。

      【專利附圖】

      【附圖說明】
      [0008] 圖1是根據(jù)本發(fā)明的一實施例,說明一種提供多端口功能的存儲裝置;
      [0009] 圖2是根據(jù)本發(fā)明的一實施例,說明單端口存儲器的操作頻率是兩端口存儲器的 操作頻率的兩倍;
      [0010] 圖3是根據(jù)本發(fā)明的一實施例,說明圖2中存儲裝置的各種信號的時序關(guān)系;
      [0011] 圖4是根據(jù)本發(fā)明的一實施例,說明讀取數(shù)據(jù)同步模塊的細部結(jié)構(gòu);
      [0012] 圖5是根據(jù)本發(fā)明的一實施例,說明讀取數(shù)據(jù)同步模塊的一范例,其中單端口存 儲器的操作頻率是兩端口存儲器的操作頻率的兩倍;
      [0013] 圖6是根據(jù)本發(fā)明的一實施例,說明圖5的讀取數(shù)據(jù)同步模塊中各種信號的時序 關(guān)系;
      [0014] 圖7是根據(jù)本發(fā)明的一實施例,說明一種提供多端口功能的存儲方法;
      [0015] 圖8是根據(jù)本發(fā)明的一實施例,說明一種從四端口至單端口的結(jié)構(gòu);
      [0016] 圖9是根據(jù)本發(fā)明的一實施例,說明圖8的四端口至單端口的結(jié)構(gòu)中,各種信號的 時序關(guān)系;
      [0017] 圖10是根據(jù)本發(fā)明的一實施例,說明從單端口至四端口的讀取數(shù)據(jù)同步模塊的 替換與修改;
      [0018] 圖11是根據(jù)本發(fā)明的一實施例,說明圖10中從單端口至四端口的讀取數(shù)據(jù)同步 豐吳塊的時序關(guān)系;
      [0019] 圖12是根據(jù)本發(fā)明的一實施例,說明一種從三端口至單端口的結(jié)構(gòu);
      [0020] 圖13是根據(jù)本發(fā)明的一實施例,說明圖12中從三端口至單端口的結(jié)構(gòu)的各種信 號的時序關(guān)系;
      [0021] 圖14是根據(jù)本發(fā)明的一實施例,說明從單端口至三端口的讀取數(shù)據(jù)同步模塊的 替換與修改;
      [0022] 圖15是根據(jù)本發(fā)明的一實施例,說明圖14中從單端口至三端口的讀取數(shù)據(jù)同步 豐吳塊的時序關(guān)系。
      [0023] 其中,附圖標(biāo)記:
      [0024] 100存儲裝置 101單端口存儲器
      [0025] 103讀取同步模塊 105寫入同步模塊
      [0026] 107讀取/寫入信號選擇器 109讀取數(shù)據(jù)同步模塊
      [0027] 111讀取數(shù)據(jù) 113讀取信號
      [0028] 115寫入信號 117輸入控制信號
      [0029] 123同步的讀取信號 125同步的寫入信號
      [0030] Write_signal_lx寫入端口上的每一控制信號
      [0031] Wr_en寫入致能信號
      [0032] Wr_addr寫入地址信號
      [0033] Wr_data寫入數(shù)據(jù)信號
      [0034] Read_signal_lx讀取端口上的每一控制信號
      [0035] Rd_en讀取致能信號
      [0036] Rd_addr讀取地址信號
      [0037] CLK_lx兩端口存儲器的操作頻率
      [0038] CLK_2x單端口存儲器的操作頻率
      [0039] SYNC_R1讀取同步模塊
      [0040] SYNC_W1寫入同步模塊
      [0041] Read_signal_2x讀取的輸入控制信號
      [0042] Write_signal_2x寫入的輸入控制信號
      [0043] RSigO 一 RSig4讀取輸入控制信號
      [0044] 401同步模塊選擇器
      [0045] 405讀取數(shù)據(jù)選擇器
      [0046] Data0_2x ?Data (N-1) _2x -組讀取數(shù)據(jù)
      [0047] Data0_lx?Data (N-I)_lx -組同步的讀取數(shù)據(jù)
      [0048] CLK_lx Read out data與多端口存儲器的數(shù)據(jù)格式一致的一組輸出數(shù)據(jù)
      [0049] 710提供具有第一操作頻率的單端口存儲器,其中此第一操作頻率是多端口存儲 器的第二操作頻率的兩倍或大于兩倍以上
      [0050] 720 -組讀取信號從此第二操作頻率被同步至此第一操作頻率,并且一組寫入信 號從此第二操作頻率被同步至此第一操作頻率
      [0051] 730 -組同步的讀取信號和一組同步的寫入信號被集成為此單端口存儲器的一組 輸入控制信號
      [0052] 740此單端口存儲器的一組讀取數(shù)據(jù)從此第一操作頻率被同步至此多端口存儲器 的第二操作頻率
      [0053] CLK_4x單端口存儲器的操作頻率
      [0054] Read_signall_lx、Read_signal2_lx 讀取端口的輸入控制信號
      [0055] Write_signall_lx、Write_signal2_lx 寫入端口的輸入控制信號
      [0056] lp_input_signal_4x 輸入控制信號
      [0057] Read_out_data_4x 讀取數(shù)據(jù)
      [0058] Rdl_out_lx 對應(yīng)于 Read_signall_lx 的讀取數(shù)據(jù)
      [0059] Rd2_out_lx 對應(yīng)于 Read_signal2_lx 的讀取數(shù)據(jù)
      [0060] Wsigl_〇wWsigl_4對于 Write_signall_lx 的輸入序列
      [0061] Wsig2_0一Wsig2_4對于 Write_signal2_lx 的輸入序列
      [0062] Rsigl_0~Rsigl_4對于 Read_signall_lx 的輸入序列
      [0063] Rsig2_0一Rsig2_4對于 Read_signal2_lx 的輸入序列
      [0064] Write_signall_4x、Write_signal2_4x、Read_signall_4x、以及 Read_signal2_4x 四個同步的控制信號
      [0065] lp_input_signal_4x單端口存儲器的控制信號
      [0066] Datal_0 ?Datal_(N_l)第一組讀取數(shù)據(jù)
      [0067] Data2_0 ?Data2_ (N-1)第二組讀取數(shù)據(jù)
      [0068] Datal_0_lx ?Datal_(N_l)_lx 第一組同步的數(shù)據(jù)
      [0069] Data2_0_lx ?Data2_(N_l)_lx 第二組同步的數(shù)據(jù)
      [0070] CLK_3x單端口存儲器的操作頻率
      [0071] Write_signall_3x、Write_signal2_3x、Read_signall_3x 三個同步的控制信號
      [0072] lp_input_signal_3x 輸入控制信號
      [0073] Read_out_data_3x 讀取數(shù)據(jù)
      [0074] Data0_3x ?Data (N-1) _3x -組讀取數(shù)據(jù)
      [0075] Data0_lx、Datal_lx、…、Datal (N-1) _lx -組同步的數(shù)據(jù) 具體實施例
      [0076] 以下,參考伴隨的圖示,詳細說明依據(jù)本發(fā)明的實施例,使本領(lǐng)域者易于了解。所 述的發(fā)明創(chuàng)意可以采用多種變化的實施方式,當(dāng)不能只限定于這些實施例。本發(fā)明省略已 熟知部分(well-known part)的描述,并且相同的參考號于本發(fā)明中代表相同的組件。
      [0077] 依據(jù)本發(fā)明的實施例提供一種技術(shù),藉由使用單端口存儲器的架構(gòu)來建構(gòu)可提供 具有多端口存儲器的功能的結(jié)構(gòu)。此多端口存儲器在一時鐘周期內(nèi)可以同時將數(shù)據(jù)寫入一 存儲器以及從此存儲器讀取數(shù)據(jù),而一典型的單端口存儲器在一時鐘周期內(nèi)只可以將數(shù)據(jù) 寫入存儲器或是從存儲器讀取數(shù)據(jù)。為了使用單端口存儲器來建構(gòu)可提供此多端口存儲器 功能的結(jié)構(gòu),依據(jù)本發(fā)明的實施例可執(zhí)行輸入與輸出信號的轉(zhuǎn)換,以符合此多端口存儲器 和此單端口存儲器。所以,這些實施例揭露將此多端口存儲器的輸入信號轉(zhuǎn)換為此單端口 存儲器的輸入信號的架構(gòu),并且將此單端口存儲器的讀取信號轉(zhuǎn)換為此多端口存儲器輸出 信號。
      [0078] 圖1是根據(jù)本發(fā)明的一實施例,說明一種提供多端口功能的存儲裝置。參考圖1, 此存儲裝置100可包含單端口存儲器101、至少一讀取同步模塊103、至少一寫入同步模塊 105、讀取/寫入信號選擇器107、以及讀取數(shù)據(jù)同步模塊109。單端口存儲器101具有第一 操作頻率,此第一操作頻率可以是多端口存儲器的第二操作頻率的兩倍或大于兩倍以上。 至少一讀取同步模塊103將一組讀取信號113從此第二操作頻率同步至此第一操作頻率。 至少一寫入同步模塊105將一組寫入信號115從此第二操作頻率同步至此第一操作頻率。 讀取/寫入信號選擇器107將一組同步的讀取信號123和一組同步的寫入信號125集成為 單端口存儲器101的一組輸入控制信號117。讀取數(shù)據(jù)同步模塊109被配置為將單端口存 儲器101的一組讀取數(shù)據(jù)111從此第一操作頻率同步至此多端口存儲器的此第二操作頻 率,從而產(chǎn)生此多端口存儲器的一組讀取數(shù)據(jù)。
      [0079] 單端口存儲器的輸入控制信號可包括讀取/寫入致能信號、讀取/寫入地址信號、 以及寫入數(shù)據(jù)信號。此單端口存儲器的輸出信號可包括讀取數(shù)據(jù)。當(dāng)此讀取/寫入致能信 號Rd_ en/Wr_en是在邏輯高時,這可指示存儲器寫入動作被執(zhí)行并且寫入數(shù)據(jù)被寫入至存 儲器地址。當(dāng)此讀取/寫入致能信號在邏輯低時,可指示存儲器讀取動作被執(zhí)行,并且此存 儲器在下一時鐘周期的期間從存儲器地址讀取數(shù)據(jù)。
      [0080] 根據(jù)本發(fā)明的實施例,該組同步的讀取信號123和該組同步的寫入信號125被分 布在單端口存儲器101的時鐘域(clock domain)的不同時鐘周期。該組同步的讀取信號 123和該組同步的寫入信號125在時鐘域的分布順序可由使用存儲裝置100的系統(tǒng)來決定。 單端口存儲器101的第一操作頻率可以是多端口存儲器的該第二操作頻率的k倍或k倍以 上,其中k是一正實數(shù),并且k蘭2。
      [0081] 圖2是根據(jù)本發(fā)明的一實施例,說明單端口存儲器的操作頻率CLK_2x是兩端口存 儲器的操作頻率CLK_lx的兩倍。換句話說,操作頻率CLK_lx用于使用圖1的存儲裝置的 系統(tǒng)中。圖3是與本發(fā)明的一實施例一致的時序圖,說明提供給圖2中的存儲裝置的各種 信號的時序關(guān)系(timing relationship)。
      [0082] 數(shù)字電路設(shè)計中的兩端口存儲器可具有專屬的(dedicated)讀取端口用來輸入 一組讀取控制信號和輸出數(shù)據(jù)信號,以及專屬的寫入端口用來輸入一組寫入控制信號。在 寫入端口上的每一控制信號,以Write_signal_lx表示,可包括寫入致能信號Wr_en、寫入 地址信號Wr_addr、以及寫入數(shù)據(jù)信號Wr_data。在讀取端口上的每一控制信號,以Read_ signal_lx表示,可包括讀取致能信號Rd_en與讀取地址信號Rd_addr,并且有輸出信號Rd_ data用于從此存儲器讀取數(shù)據(jù)。
      [0083] 參考圖2和圖3,此兩端口存儲器的操作頻率CLK_lx中,讀取輸入控制信號如 RSigO 一 RSig4,與寫入輸入控制信號如WSigO 一 WSig4,分別經(jīng)由兩同步模塊(讀取同 步模塊SYNC_R1與寫入同步模塊SYNC_W1),同步至單端口存儲器的操作頻率CLK_2x。經(jīng) 由此兩同步模塊,讀取與寫入的輸入控制信號分布在此單端口存儲器的時鐘域的不同時 鐘周期,如圖3中的Write_signal_2x與Read_signal_2x所示。此兩組同步的輸入控制 信號Write_signal_2x與Read_signal_2x還經(jīng)由讀取/寫入信號選擇器107集成,從而 產(chǎn)生分布在單端口存儲器101的時鐘域的不同時鐘周期的一組輸入控制信號lp_input_ signal_2x,如圖3所示。此組輸入控制信號lp_input_signal_2x可以控制對單端口存儲 器101的存取,從而輸出讀取數(shù)據(jù),標(biāo)記為Read_out_data_2x。這些讀取數(shù)據(jù)Read_out_ data_2x還被轉(zhuǎn)換至兩端口存儲器的操作頻率CLK_lx,以利于在系統(tǒng)中運作。換句話說,此 單端口存儲器的讀取數(shù)據(jù)Read_out_data_2x被轉(zhuǎn)換回至原先系統(tǒng)的操作頻率CLK_lx,以 利于在原先系統(tǒng)中運作。
      [0084] 圖4是根據(jù)本發(fā)明一實施例,說明讀取數(shù)據(jù)同步模塊的細部結(jié)構(gòu)。參考圖4,讀取 數(shù)據(jù)同步模塊109還可包括同步模塊選擇器401、一組同步模塊,記為同步模塊SYNC1,…, 同步模塊SYNCN,N 3 2,以及讀取數(shù)據(jù)選擇器405。同步模塊選擇器401控制單端口的 存儲器101中的每一組讀取數(shù)據(jù),如一組讀取數(shù)據(jù)Data0_2x?Data(N_l)_2x,應(yīng)使用此 組同步模塊中哪一個同步模塊。此組同步模塊可將單端口存儲器101的該組讀取數(shù)據(jù)如 Data0_2x?Data(N_l)_2x,從第一操作頻率同步至原先系統(tǒng)的操作頻率,以利于在原先系 統(tǒng)中運作。讀取數(shù)據(jù)選擇器405可以將來自該組同步模塊的同步的讀取數(shù)據(jù)如Data0_lx? Data(N_l)_lx,集成為與多端口存儲器的數(shù)據(jù)格式一致的一組輸出數(shù)據(jù)CLK_lx Read out data。
      [0085] 因為更快頻率的信號會同步至較低的頻率,所以它需要經(jīng)過數(shù)個頻率為CLK_lx 的時鐘時間才能使該組讀出數(shù)據(jù)111的同步達到穩(wěn)定的狀態(tài)。當(dāng)多端口存儲器的讀取控制 信號持續(xù)致能一段很長的時間時,只使用同步模塊將會導(dǎo)致一些數(shù)據(jù)的丟失。因此,對于 從單端口存儲器中讀取數(shù)據(jù),于本發(fā)明的一實施例中,可先計算從原先單端口存儲器的操 作頻率CLK_SP同步至CLK_lx所造成的最大時間延遲。因為具有單端口存儲器的操作頻率 CLK_SP的每一讀取信號針對系統(tǒng)操作頻率CLK_lx可能會有不同的相位,因此,于本發(fā)明的 一實施例中,可根據(jù)單端口存儲器的操作頻率CLK_SP以及每一讀取數(shù)據(jù),計算最大同步時 鐘延遲(synchronize clock latency,亦即MXCLK_lx)并且做為該最大時間延遲,其中同 步模塊的個數(shù)N大于或等于M。M是從該第一操作頻率同步至系統(tǒng)的操作頻率所造成的最 大時間延遲的時鐘周期的數(shù)量。
      [0086] 有此N個同步模塊,N 3 M,單端口存儲器的輸出數(shù)據(jù)可選擇不同的同步模塊來進 行同步。如此可避免數(shù)據(jù)丟失的問題。對于同步過程中的每一讀取數(shù)據(jù),也可使用計數(shù)器 做為控制指示器(control indicator),指出此N個同步模塊中的相對應(yīng)的同步模塊。根據(jù) 此控制指示器,來自此單端口存儲器的輸出數(shù)據(jù)可以藉由同步模塊選擇器401選擇相對應(yīng) 的同步模塊來同步數(shù)據(jù)。在實施例中有N個同步模塊。每一同步模塊可以在不同的時間啟 動。于一實施例中,可由同步模塊選擇器401決定哪一同步模塊被選取,以及何時啟動所選 取的同步模塊。
      [0087] 舉例來說,當(dāng)單端口存儲器輸出第一筆讀取數(shù)據(jù)時,致能第一同步模塊如同 步模塊SYNC1,當(dāng)單端口存儲器輸出第二筆讀取數(shù)據(jù)時,致能第二同步模塊如同步模塊 SYNC2,…,當(dāng)單端口存儲器輸出第N筆讀取數(shù)據(jù)時,致能第N同步模塊如同步模塊SYNCN, 當(dāng)單端口存儲器輸出第(N+1)筆讀取數(shù)據(jù)時,致能第一同步模塊如同步模塊SYNCl,當(dāng)單端 口存儲器輸出第(N+2)筆讀取數(shù)據(jù)時,致能第二同步模塊如同步模塊SYNC2,…,等。換句 話說,對于來自單端口存儲器的每一讀取數(shù)據(jù),同步模塊選擇器401輪流致能該N個同步模 塊中的一個不同的同步模塊。
      [0088] 圖5是根據(jù)本發(fā)明的一實施例,說明讀取數(shù)據(jù)同步模塊的一范例,其中單端口存 儲器的操作頻率是兩端口存儲器的操作頻率的兩倍。如圖5所示,同步模塊選擇器401控 制單端口存儲器101的每一讀取數(shù)據(jù)Read_out_data_2x應(yīng)使用哪一個同步模塊。在一范 例中,讀取數(shù)據(jù)Data0_2x使用同步模塊SYNC1,讀取數(shù)據(jù)Datal_2x使用同步模塊SYNC2, 讀取數(shù)據(jù)Data2_2x使用同步模塊SYNC3,...,讀取數(shù)據(jù)Data N-l_2x使用模塊同步SYNCN。 從操作頻率CLK_2x同步至操作頻率CLK_lx后,每一讀取數(shù)據(jù)Datak_2x被轉(zhuǎn)換成數(shù)據(jù) Datak_lx,0 = k = N-1。讀取數(shù)據(jù)選擇器405然后將來自此N個同步模塊,即同步模塊 SYNCl -同步模塊SYNCN,的這些同步的讀取數(shù)據(jù),即DataOJx - DataN-l_lx, 被集成為一組輸出數(shù)據(jù)(亦即CLK_lx讀取數(shù)據(jù)),這些CLK_lx讀取數(shù)據(jù)的數(shù)據(jù)格式與該兩 端口存儲器的數(shù)據(jù)格式一致。
      [0089] 圖6是根據(jù)本發(fā)明的一實施例,說明圖5的讀取數(shù)據(jù)同步模塊中各種信號的 時序關(guān)系。在圖6中,假設(shè)同步模塊的個數(shù)N等于3,此表示有三個同步模塊,即同步模 塊SYNCl-同步模塊SYNC3,用于同步單端口存儲器的輸出數(shù)據(jù)。同步模塊選擇器 401控制來自單端口存儲器的每一筆讀取數(shù)據(jù)Read_out_data_2 X,例如有六筆讀取數(shù)據(jù) Data0_2X 一 Data5_2x,應(yīng)使用哪一個同步模塊。在本范例中,讀取數(shù)據(jù)Data0_2x使用同 步模塊SYNC1,讀取數(shù)據(jù)Datal_2x使用同步模塊SYNC2,讀取數(shù)據(jù)Data2_2x使用同步模塊 SYNC3,讀取數(shù)據(jù)Data3_2x使用同步模塊SYNC1,讀取數(shù)據(jù)Data4_2x使用同步模塊SYNC2, 以及讀取數(shù)據(jù)Data5_2x使用同步模塊SYNC3。這些讀取數(shù)據(jù)從操作頻率CLK_2x同步至操 作頻率CLK_lx后,利用同步模塊SYNC 1 -同步模塊SYNC3,每一讀取數(shù)據(jù)Datak_2x被 轉(zhuǎn)換成為同步的讀取數(shù)據(jù)Datak_lx,0 = k = 5。這些來自同步模塊SYNCl?同步模塊 SYNC3的同步的讀取數(shù)據(jù),S卩Data0_lx?Data5_lx,被集成為一組輸出數(shù)據(jù)(即CLK_lx 讀取數(shù)據(jù))。
      [0090] 圖7是根據(jù)本發(fā)明的一實施例,說明一種提供多端口功能的存儲方法。在步驟710 中,提供具有第一操作頻率的單端口存儲器,其中此第一操作頻率是多端口存儲器的第二 操作頻率的兩倍或大于兩倍以上。在步驟720中,一組讀取信號從此第二操作頻率被同步 至此第一操作頻率,并且一組寫入信號從此第二操作頻率被同步至此第一操作頻率。在步 驟730中,一組同步的讀取信號和一組同步的寫入信號被集成為此單端口存儲器的一組輸 入控制信號。在步驟740中,此單端口存儲器的一組讀取數(shù)據(jù)從此第一操作頻率被同步至 此多端口存儲器的第二操作頻率。
      [0091] 如前面提及的,單端口存儲器的第一操作頻率至少可以是多端口存儲器的第二操 作頻率的k倍,其中k是一個正實數(shù),且k 3 2。并且,該組同步的讀取信號和該組同步的寫 入信號分布在單端口存儲器的時鐘域的不同時鐘周期。對于該組同步的讀取信號和該組同 步的寫入信號,時鐘域里的分布順序可由使用該存儲裝置的系統(tǒng)來決定。
      [0092] 以下舉出多個例子來說明從多端口至單端口的各種架構(gòu),以及這些架構(gòu)對應(yīng)的時 序圖來描述從多端口至單端口的架構(gòu)的各種信號的時序關(guān)系。并且,更多例子說明從多端 口至單端口的讀取數(shù)據(jù)同步模塊的各種替換和修改,以及此讀取數(shù)據(jù)同步模塊相對應(yīng)的時 序圖,以描述提供此讀取數(shù)據(jù)同步模塊的各種替換和修改的各種信號的時序關(guān)系。
      [0093] 圖8是根據(jù)本發(fā)明的一實施例,說明一種從四端口至單端口的結(jié)構(gòu)。此處只比 較圖8的實施例與圖2的細節(jié)的不同。類似的組件(即使不同運作)以類似的參考號碼 顯示與說明。在圖8中,假設(shè)此四端口中有兩個端口是用來讀取信號并且另外兩個端口 是用來寫入信號。此單端口存儲器的操作頻率CLK_4x是系統(tǒng)操作頻率CLK_lx的四倍。 Read_signall_lx和Read_signal2_lx是兩讀取端口的兩個輸入控制信號,并且Write_ signall_lx和Write_signal2_lx是兩寫入端口的兩個輸入控制信號。四個不同的同步模 塊同步地控制此四個輸入控制信號,使其至存儲器的操作頻率。同步處理后,第一讀取信 號是Read_signall_4x以及第二讀取信號是Read_signal2_4x。類似地,同步處理后,第一 寫入信號是Write_signall_4x以及第二寫入信號是Write_signal2_4x。此四個同步的控 制信號再由讀取/寫入信號選擇器107處理,以取得單端口存儲器101的一輸入控制信號 lp_input_signal_4x。來自單端口存儲器101的讀取數(shù)據(jù)是read_out_data_4x。因為原 先的輸入使用兩個讀取端口,所以讀取數(shù)據(jù)同步模塊將輸入的讀取數(shù)據(jù)read_out_data_4x 從操作頻率CLK_4x同步至操作頻率CLK_lx后,產(chǎn)生兩個讀取數(shù)據(jù)。對應(yīng)于原先輸入控制 信號Read_signall_lx的讀取數(shù)據(jù)是Rdl_out_lx,并且對應(yīng)于原先輸入控制信號Read_ signal2_lx 的讀取數(shù)據(jù)是 Rd2_out_lx。
      [0094] 圖9是根據(jù)本發(fā)明的一實施例,說明圖8的四端口至單端口的結(jié)構(gòu)中,各種信號的 時序關(guān)系。在第一寫入端口上,對于控制信號Write_signall_lx的輸入序列如第1至第 5輸入,記為Wsigl_0~Wsigl_4;在第二寫入端口上,對于控制信號Write_signal2_lx 的輸入序列如第一至第五輸入,記為Wsig2_0?1Wsig2_4;在第一讀取端口上,對于控 制信號Read_signall_lx的輸入序列如第一至第五輸入,記為Rsigl_0?Rsigl_4;在 第二讀取端口上,對于控制信號Read_signal2_lx的輸入序列如第一至第五輸入,記為 尺4§2_0一118丨呂2_4。四個同步的信號 Write_signall_4x、Write_signal2_4x、Read_ signall_4x、以及 Read_signal2_4x,是分別藉由同步模塊 Sync_Wl、Sync_W2、Sync_Rl、 以及 Sync_R2,對 Write_signall_lx、Write_signal2_lx、Read_signall_lx、以及 Read_ signal2_lx中每一控制信號的第一至第五輸入進行同步而得到的。然后,讀取/寫入信號 選擇器將此四個同步的控制信號集成為此單端口存儲器的控制信號lp_input_signal_4x。
      [0095] 圖10是根據(jù)本發(fā)明的一實施例,說明從單端口至四端口的讀取數(shù)據(jù)同步模塊的 替換與修改。單端口存儲器的控制信號lp_input_signal_4x包括兩個讀取信號,即Read_ signall_4x與Read_signal2_4x。所以,讀取數(shù)據(jù)Read_out_data_4x包括兩組讀取數(shù)據(jù)。 對應(yīng)于 Read_signall_4x 的第一組讀取數(shù)據(jù)是 DATA1_0、DATA1_1、…、Datal_(N_l )、Datal_ N、…。對應(yīng)于 Read_signal2_4x 的第二組讀取數(shù)據(jù)是 Data2_0、Data2_l、...、Data2_(N_l)、 Data2_N、…。每一組讀取數(shù)據(jù)使用N個同步模塊來進行同步。第一組數(shù)據(jù)讀分別使用N 個同步模塊,即同步模塊SYNC1_1-同步模塊SYNC1_N,來進行同步。第二組讀取數(shù)據(jù) 分別使用其它N個同步模塊,即同步模塊SYNC2_1?同步模塊SYNC2_N,來進行同步。 同步后,第一組同步的數(shù)據(jù)是〇3七31_0_]^、〇3七31_1_]^、...、〇3七&1_0^-1)_]^。同步后,第 二組同步的數(shù)據(jù)是Data2_0_lx、Data2_l_lx、…、Data2_(N-l)_lx。然后,讀取數(shù)據(jù)選擇器 405將兩組讀取數(shù)據(jù)形成為兩個端口的讀取數(shù)據(jù)Rdl_out_lx,Rd2_out_lx。
      [0096] 圖11是根據(jù)本發(fā)明的一實施例,說明圖10中從單端口至四端口的讀取數(shù)據(jù)同步 模塊的時序關(guān)系。圖9中對應(yīng)于單端口存儲器控制信號lp_input_signal_4x的讀取數(shù) 據(jù)Read_out_data_4x包含(兩端口的)兩組讀取數(shù)據(jù),即一組DATA1_0、DATA1_1、…,與 另一組Data2_0、Data2_l、…。此兩組讀取數(shù)據(jù)的每一組讀取數(shù)據(jù)分別使用N個同步模 塊來進行同步,即一組讀取數(shù)據(jù)使用同步模塊SYNC1_1 一同步模塊SYNC1_N,另一組 讀取數(shù)據(jù)使用同步模塊SYNC2_1-同步模塊SYNC2_N。兩組讀取數(shù)據(jù)的第一筆數(shù)據(jù) DATA1J)與Data2_0分別經(jīng)由同步模塊SYNC 1_1與同步模塊SYNC2_1同步后,成為同步的數(shù) 據(jù)Datal_0_lx與Data2_0 jx,同步的數(shù)據(jù)Datal_0 jx與Data2_0_lx將在同一時間出現(xiàn)在 具有相同的系統(tǒng)頻率CLK_lx的時序中。兩組讀取數(shù)據(jù)的第二筆數(shù)據(jù)DATA1_1與Data2_l 分別經(jīng)由同步模塊SYNC1_1與同步模塊SYNC2_1同步后,成為同步的數(shù)據(jù)Datal_l_lx與 Data2_l_lx,同步的數(shù)據(jù)Datal_l_lx與Data2_l_lx將緊隨同步的第一筆數(shù)據(jù)適時地出現(xiàn) 在具有相同的系統(tǒng)操作頻率CLK_lx的時序中。然后,讀取數(shù)據(jù)選擇器集成此兩組同步的數(shù) 據(jù)的每一對同步的數(shù)據(jù),以形成為兩個端口的讀取數(shù)據(jù),即Rdl_out_lx與Rd2_ 〇Ut_lx。
      [0097] 圖12是根據(jù)本發(fā)明的一實施例,說明一種從三端口至單端口的結(jié)構(gòu)。此處只比較 圖12的實施例與圖2的細節(jié)的不同。類似的組件(即使不同運作)以類似的參考號碼顯示 與說明。在圖12中,假設(shè)有一埠端口是用來讀取信號并且另兩個端口是用來寫入信號。此 單端口存儲器的操作頻率CLK_3x是系統(tǒng)操作頻率CLK_lx的三倍。Read_signall_l X是讀 取端口的輸入控制信號,并且Write_signall_lx與Write_signal2_lx是兩個寫入端口的 兩個輸入控制信號。三個不同的同步模塊同步地控制此三個輸入控制信號至存儲器的操作 頻率。同步處理后,第一讀取信號是Read_signall_3x。類似地,同步處理后,第一寫入信號 是Write_signall_3x,以及第二寫入信號是Write_signal2_3x。此三個同步的控制信號再 經(jīng)由讀取/寫入信號選擇器107處理,以取得單端口存儲器101的輸入控制信號lp_input_ signal_3x。單端口存儲器101的讀取數(shù)據(jù)是read_out_data_3x。因為三個端口中只有一 個端口是讀取端口,此相同于前述的兩端口存儲器的實施例,其中此單端口的讀取數(shù)據(jù)是 read_out_data_3x。讀取數(shù)據(jù)同步模塊將讀取數(shù)據(jù)read_out_data_3x從操作頻率CLK_3x 同步至操作頻率CLK_lx后,產(chǎn)生單端口的讀取數(shù)據(jù)CLK_lX_Read_out_data。
      [0098] 圖13是根據(jù)本發(fā)明的一實施例,說明圖12中從三端口至單端口的結(jié)構(gòu)的各種信 號的時序關(guān)系。參考圖13,在第一寫入端口上,對于控制信號Write_signall_lx的輸入序 列如第1至第5輸入,是WsiglJ) 一1Wsigl_4;:在第二寫入端口上,對于控制信號Write_ signal2_lx的輸入序列如第一至第五輸入,是Wsig2_0?\Vsig2_4;在第一讀取端口上, 對于控制信號Read_signall_lx的輸入系列如第一至第五輸入,是Rsigl_0?Rsigl_4。 三個同步的信號,即 Write_signall_3x、Write_signal2_3x、以及 Read_signall_3x,是分 別經(jīng)由同步模塊,即Sync_Wl、Sync_W2、以及Sync_Rl,進行同步而得到的。然后,讀取/ 寫入信號選擇器107將此三個同步的信號集成為單端口存儲器的一控制信號lp_input_ signal_3x〇
      [0099] 圖14是根據(jù)本發(fā)明的一實施例,說明從單端口至三端口的讀取數(shù)據(jù)同步模塊 的替換與修改。單端口存儲器的控制信號lp_input_signal_3x包括讀取信號Read_ signall_3x。因此,讀取數(shù)據(jù)Read_out_data_3x包括兩組讀取數(shù)據(jù)。對應(yīng)于讀取信號Read_ signall_3x 的一組讀取數(shù)據(jù)是 DataO_3x、Datal_3x、…、Data (N_l)_3x,DataN_3x、…。類 似于前述的兩端口存儲器的實施例,這些讀取數(shù)據(jù)是由N個同步模塊進行同步。同步后,得 到一組同步的數(shù)據(jù)是DataO_lx、Datal_lx、...、Datal (N_l)_lx。然后,讀取數(shù)據(jù)選擇器405 將這些同步的讀取數(shù)據(jù)集成為具有系統(tǒng)所要求的讀取數(shù)據(jù)格式的一組輸出數(shù)據(jù)(即CLK_lx 讀取數(shù)據(jù))。
      [0100] 圖15是根據(jù)本發(fā)明的一實施例,說明圖14中從單端口至三端口的讀取數(shù)據(jù)同 步模塊的時序關(guān)系。圖14中對應(yīng)于單端口存儲器的控制信號lp_input_signal_3x的讀 取數(shù)據(jù) Read_out_data_3x 包括一組讀取數(shù)據(jù),即 Data0_3x、Datal_3x、Data2_3x、…。 類似于兩端口存儲器的前述實施例,這些讀取數(shù)據(jù)是由N個同步模塊,即同步模塊 SYNCl-同步模塊SYNCN進行同步。同步后,此N個同步模塊產(chǎn)生同步的數(shù)據(jù) DataO_lx、Datal_lx、Data2_lx、…。然后,讀取數(shù)據(jù)選擇器405集成這些同步的數(shù)據(jù),以形 成讀取數(shù)據(jù)CLK_lx_Read_out_data,此讀取數(shù)據(jù)CLK_lx_Read_out_data具有原先系統(tǒng)的 操作頻率的數(shù)據(jù)輸出格式。
      [0101] 綜上所述,依據(jù)本發(fā)明的實施例提供一種技術(shù),此技術(shù)使用單端口存儲器的結(jié)構(gòu) 來提供多端口的功能,以取代η端口存儲器,其中η是一個正整數(shù),且大于或等于2。在此技 術(shù)中,輸入的讀取信號與寫入信號由多端口存儲器的操作頻率同步至單端口存儲器的操作 頻率。同步的讀取信號與同步的寫入信號被集成為單端口存儲器的一組輸入控制信號。此 單端口存儲器的讀取數(shù)據(jù)從單端口存儲器的操作頻率被同步至多端口存儲器的操作頻率, 以在原先系統(tǒng)中進行運作。
      [0102] 以上所述者僅為依據(jù)本發(fā)明的實施范例,當(dāng)不能依此限定本發(fā)明實施的范圍。即 大凡發(fā)明申請專利范圍所作的均等變化與修飾,皆應(yīng)仍屬本發(fā)明權(quán)利要求保護范圍。
      【權(quán)利要求】
      1. 一種提供多端口功能的存儲裝置,包含: 單端口存儲器,具有第一操作頻率,該第一操作頻率是多端口存儲器的第二操作頻率 的兩倍或大于兩倍以上; 至少一讀取同步模塊,將一組讀取信號從該第二操作頻率同步至該第一操作頻率; 至少一寫入同步模塊,將一組寫入信號從該第二操作頻率同步至該第一操作頻率; 讀取/寫入信號選擇器,將一組同步的讀取信號和一組同步的寫入信號集成為該單端 口存儲器的一組輸入控制信號;以及 讀取數(shù)據(jù)同步模塊,被配置為將該單端口存儲器的一組讀取數(shù)據(jù)從該第一操作頻率同 步至該多端口存儲器的該第二操作頻率。
      2. 如權(quán)利要求1所述的存儲裝置,其中該組同步的讀取信號和該組同步的寫入信號分 布在該單端口存儲器的時鐘域的不同的時鐘周期。
      3. 如權(quán)利要求2所述的存儲裝置,其中該組同步的讀取信號和該組同步的寫入信號在 該時鐘域里的分布順序由使用該存儲裝置的系統(tǒng)決定。
      4. 如權(quán)利要求1所述的存儲裝置,其中該單端口存儲器的該第一操作頻率是該多端口 存儲器的該第二操作頻率的至少k倍,k是一個正實數(shù),k大于或等于2。
      5. 如權(quán)利要求1所述的存儲裝置,其中該讀取數(shù)據(jù)同步模塊還包括: 一組同步模塊,將該單端口存儲器的該組讀取數(shù)據(jù)從該第一操作頻率同步至系統(tǒng)的操 作頻率,以在該系統(tǒng)中運作。
      6. 如權(quán)利要求5所述的存儲裝置,其中該組同步模塊的個數(shù)大于或等于M,并且Μ是從 該第一操作頻率同步至該系統(tǒng)的該操作頻率所造成的一個最大時間延遲的時鐘周期的數(shù) 量。
      7. 如權(quán)利要求5所述的存儲裝置,其中該讀取數(shù)據(jù)同步模塊還包括: 一同步模塊選擇器,控制來自該單端口存儲器的每一讀取數(shù)據(jù)使用該組同步模塊中哪 一同步模塊。
      8. 如權(quán)利要求5所述的存儲裝置,其中該存儲裝置使用計數(shù)器作為控制指示器,以指 出在同步過程中,每一讀取數(shù)據(jù)使用該組同步模塊中的相對應(yīng)的同步模塊。
      9. 如權(quán)利要求7所述的存儲裝置,其中對于每一讀取數(shù)據(jù),該同步模塊選擇器決定選 取哪一同步模塊,以及何時啟動所選取的該同步模塊。
      10. 如權(quán)利要求7所述的存儲裝置,其中對于來自該單端口存儲器的每一讀取數(shù)據(jù),該 同步模塊選擇器輪流致能該組同步模塊中的不同的同步模塊。
      11. 如權(quán)利要求5所述的存儲裝置,其中該讀取數(shù)據(jù)同步模塊還包括: 讀取數(shù)據(jù)選擇器,將來自該組同步模塊的一組同步的讀取數(shù)據(jù)集成為具有該多端口存 儲器的數(shù)據(jù)格式的一組輸出數(shù)據(jù)。
      12. -種提供多端口功能的存儲方法,包含: 提供具有第一操作頻率的單端口存儲器,該第一操作頻率是多端口存儲器的第二操作 頻率的兩倍或大于兩倍以上; 將一組讀取信號從該第二操作頻率同步至該第一操作頻率,并且將一組寫入信號從該 第二操作頻率同步至該第一操作頻率; 將一組同步的讀取信號和一組同步的寫入信號集成為該單端口存儲器的一組輸入控 制信號;以及 將該單端口存儲器的一組讀取數(shù)據(jù)從該第一操作頻率同步至該多端口存儲器的該第 二操作頻率。
      13. 如權(quán)利要求12所述的方法,其中該方法還包括: 將該組同步的讀取信號與該組同步的寫入信號分布在該單端口存儲器的時鐘域里的 不同的時鐘周期。
      14. 如權(quán)利要求13所述的方法,其中該組同步的讀取信號和該組同步的寫入信號在該 時鐘域里的分布順序由使用存儲裝置的系統(tǒng)決定,該方法實施于該存儲裝置上。
      15. 如權(quán)利要求12所述的方法,其中該單端口存儲器的該第一操作頻率是該多端口存 儲器的該第二操作頻率的至少k倍,k是一個正實數(shù),k大于或等于2。
      16. 如權(quán)利要求12所述的方法,其中將該單端口存儲器的一組讀取數(shù)據(jù)從該第一操作 頻率同步至該多端口存儲器的該第二操作頻率還包括: 藉由一組同步模塊,將該單端口存儲器的該組讀取數(shù)據(jù)從該第一操作頻率同步至系統(tǒng) 的操作頻率,以在該系統(tǒng)中運作;以及 藉由讀取數(shù)據(jù)選擇器,將來自該組同步模塊的一組同步的讀取數(shù)據(jù)集成為具有該多端 口存儲器的數(shù)據(jù)格式的一組輸出數(shù)據(jù)。
      17. 如權(quán)利要求16所述的方法,其中該方法還包括: 藉由同步模塊選擇器,控制來自該單端口存儲器的該組讀取數(shù)據(jù)的每一讀取數(shù)據(jù)使用 該組同步模塊中的哪一同步模塊。
      18. 如權(quán)利要求17所述的方法,其中該方法還包括: 藉由該同步模塊選擇器,對于該組讀取數(shù)據(jù)的每一讀取數(shù)據(jù),決定選取哪一同步模塊, 以及何時啟動所選取的該同步模塊。
      19. 如權(quán)利要求17所述的方法,其中該方法還包括: 對于來自該單端口存儲器的每一讀取數(shù)據(jù),輪流致能該組同步模塊中的不同的同步模 塊。
      【文檔編號】G06F12/02GK104239246SQ201410126387
      【公開日】2014年12月24日 申請日期:2014年3月31日 優(yōu)先權(quán)日:2013年6月7日
      【發(fā)明者】張志宇, 呂委整, 詹富強 申請人:財團法人工業(yè)技術(shù)研究院
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1