提供多端口功能的存储装置与方法

文档序号:6542400阅读:103来源:国知局
提供多端口功能的存储装置与方法
【专利摘要】一种提供多端口功能的存储装置,此存储装置包含具有第一操作频率的单端口存储器,此第一操作频率是多端口存储器的第二操作频率的两倍或大于两倍以上;至少一读取同步模块,将一组读取信号从此第二操作频率同步至此第一操作频率;至少一写入同步模块,将一组写入信号从此第二操作频率同步至此第一操作频率;读取/写入信号选择器,将一组同步的读取信号和一组同步的写入信号集成为此单端口存储器的一组输入控制信号;以及读取数据同步模块,被配置为将此单端口存储器的一组读取数据从此第一操作频率的同步至此多端口存储器的此第二操作频率。
【专利说明】提供多端口功能的存储装置与方法

【技术领域】
[0001] 本发明是关于一种提供多端口(multi-port)功能的存储装置(memory device)和 方法。

【背景技术】
[0002] 在数字电路的设计中,存储器经常被使用于,但不限定于,数据缓冲等,以成为在 不同的计算模块之间的数据传输的临时媒介(temporary media)等。在一实时运作系统 中的同一存储周期(memory cycle)的期间,一模块可以将数据写入至一存储器的一地址, 另一模块可以从此存储器中另一地址读出数据。在此情况下,必须提供在同一时间能够从 此存储器读取数据以及将数据写入至此存储器的功能。一般而言,可以使用一个多端口存 储器,例如使用两端口(two-port)存储器来执行此功能。两端口存储器的结构具有两个 输入端口,此两输入端口可以同时输入读取和写入运作所需要的相关的信号。设计者只需 要适当地控制读取和写入控制信号,并且应用这些控制信号至该两端口存储器,则同时将 数据储存至此存储器与从此存储器读取数据就可以容易地实现。例如,在写入端口(write port),写入致能(write enable)信号可以伴随写入地址(write address)信号和写入数据 (write data)信号。当此写入致能信号是在逻辑高(Iogichigh)时,此两端口存储器可以 将此写入数据写入至相对位置(relative position)。在读取端口(read port),读取致能 (read enable)信号可以伴随读取地址(read address)信号。当此读取致能信号是在逻辑 高时,此两端口存储器可以在下一时钟周期(clock cycle)读取一地址中的数据。
[0003] 此两端口存储器可以在一时钟周期内同时执行存储器写入动作(memory write operation)和存储器读取动作(memory read operation)。而单端口存储器在一时钟周期 内只可以执行存储器读取或写入(memory read or memory write)动作。当在专用集成电路 (Application Specific Integrated Circuits,ASIC)已下线(tape out)时,若存储器的容 量又太大,可提供多端口功能的单端口(single port)存储装置将是解决此问题的多种方 法的其中一种方法。


【发明内容】

[0004] 本发明的实施例可提供一种提供多端口功能的存储装置和方法。
[0005] 本发明的一实施例是关于一种提供多端口功能的存储装置,此存储装置可包 含单端口存储器、至少一读取同步模块(read synchronization module)、至少一写入同 步模块(write synchronization module)、读取 / 写入信号选择器(read/write signal selector)、以及读取数据同步模块(read out data synchronization module)。此单端口存 储器具有第一操作频率(operating frequency),此第一操作频率是多端口存储器的第二 操作频率的两倍或大于两倍以上。此读取同步模块将一组读取信号从此第二操作频率同步 至此第一操作频率。此写入同步模块将一组写入信号从此第二操作频率同步至此第一操作 频率。此读取/写入信号选择器将一组同步的读取信号(synchronized read signals)和 一组同步的写入信号(synchronized write signals)集成为(integrate into)此单端口 存储器的一组输入控制信号(input control signals)。此读取数据同步模块被配置为将 此单端口存储器的一组读取数据(read data)从此第一操作频率同步至此多端口存储器的 此第二操作频率。
[0006] 本发明的另一实施例是关于一种提供多端口功能的存储方法。此方法可包含:提 供具有第一操作频率的单端口存储器,此第一操作频率是多端口存储器的第二操作频率的 两倍或大于两倍以上;将一组读取信号从此第二操作频率同步至此第一操作频率,并且将 一组写入信号从此第二操作频率同步至此第一操作频率;将一组同步的读取信号和一组同 步的写入信号集成为此单端口存储器的一组输入控制信号;以及将此单端口存储器的一组 读取数据从此第一操作频率同步至此多端口存储器的此第二操作频率。
[0007] 兹配合下列图示、实施例的详细说明及申请专利范围,将上述及本发明的其他优 点详述于后。

【专利附图】

【附图说明】
[0008] 图1是根据本发明的一实施例,说明一种提供多端口功能的存储装置;
[0009] 图2是根据本发明的一实施例,说明单端口存储器的操作频率是两端口存储器的 操作频率的两倍;
[0010] 图3是根据本发明的一实施例,说明图2中存储装置的各种信号的时序关系;
[0011] 图4是根据本发明的一实施例,说明读取数据同步模块的细部结构;
[0012] 图5是根据本发明的一实施例,说明读取数据同步模块的一范例,其中单端口存 储器的操作频率是两端口存储器的操作频率的两倍;
[0013] 图6是根据本发明的一实施例,说明图5的读取数据同步模块中各种信号的时序 关系;
[0014] 图7是根据本发明的一实施例,说明一种提供多端口功能的存储方法;
[0015] 图8是根据本发明的一实施例,说明一种从四端口至单端口的结构;
[0016] 图9是根据本发明的一实施例,说明图8的四端口至单端口的结构中,各种信号的 时序关系;
[0017] 图10是根据本发明的一实施例,说明从单端口至四端口的读取数据同步模块的 替换与修改;
[0018] 图11是根据本发明的一实施例,说明图10中从单端口至四端口的读取数据同步 丰吴块的时序关系;
[0019] 图12是根据本发明的一实施例,说明一种从三端口至单端口的结构;
[0020] 图13是根据本发明的一实施例,说明图12中从三端口至单端口的结构的各种信 号的时序关系;
[0021] 图14是根据本发明的一实施例,说明从单端口至三端口的读取数据同步模块的 替换与修改;
[0022] 图15是根据本发明的一实施例,说明图14中从单端口至三端口的读取数据同步 丰吴块的时序关系。
[0023] 其中,附图标记:
[0024] 100存储装置 101单端口存储器
[0025] 103读取同步模块 105写入同步模块
[0026] 107读取/写入信号选择器 109读取数据同步模块
[0027] 111读取数据 113读取信号
[0028] 115写入信号 117输入控制信号
[0029] 123同步的读取信号 125同步的写入信号
[0030] Write_signal_lx写入端口上的每一控制信号
[0031] Wr_en写入致能信号
[0032] Wr_addr写入地址信号
[0033] Wr_data写入数据信号
[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读取数据选择器
[0046] Data0_2x ?Data (N-1) _2x -组读取数据
[0047] Data0_lx?Data (N-I)_lx -组同步的读取数据
[0048] CLK_lx Read out data与多端口存储器的数据格式一致的一组输出数据
[0049] 710提供具有第一操作频率的单端口存储器,其中此第一操作频率是多端口存储 器的第二操作频率的两倍或大于两倍以上
[0050] 720 -组读取信号从此第二操作频率被同步至此第一操作频率,并且一组写入信 号从此第二操作频率被同步至此第一操作频率
[0051] 730 -组同步的读取信号和一组同步的写入信号被集成为此单端口存储器的一组 输入控制信号
[0052] 740此单端口存储器的一组读取数据从此第一操作频率被同步至此多端口存储器 的第二操作频率
[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 读取数据
[0058] Rdl_out_lx 对应于 Read_signall_lx 的读取数据
[0059] Rd2_out_lx 对应于 Read_signal2_lx 的读取数据
[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)第一组读取数据
[0067] Data2_0 ?Data2_ (N-1)第二组读取数据
[0068] Datal_0_lx ?Datal_(N_l)_lx 第一组同步的数据
[0069] Data2_0_lx ?Data2_(N_l)_lx 第二组同步的数据
[0070] CLK_3x单端口存储器的操作频率
[0071] Write_signall_3x、Write_signal2_3x、Read_signall_3x 三个同步的控制信号
[0072] lp_input_signal_3x 输入控制信号
[0073] Read_out_data_3x 读取数据
[0074] Data0_3x ?Data (N-1) _3x -组读取数据
[0075] Data0_lx、Datal_lx、…、Datal (N-1) _lx -组同步的数据 具体实施例
[0076] 以下,参考伴随的图示,详细说明依据本发明的实施例,使本领域者易于了解。所 述的发明创意可以采用多种变化的实施方式,当不能只限定于这些实施例。本发明省略已 熟知部分(well-known part)的描述,并且相同的参考号于本发明中代表相同的组件。
[0077] 依据本发明的实施例提供一种技术,藉由使用单端口存储器的架构来建构可提供 具有多端口存储器的功能的结构。此多端口存储器在一时钟周期内可以同时将数据写入一 存储器以及从此存储器读取数据,而一典型的单端口存储器在一时钟周期内只可以将数据 写入存储器或是从存储器读取数据。为了使用单端口存储器来建构可提供此多端口存储器 功能的结构,依据本发明的实施例可执行输入与输出信号的转换,以符合此多端口存储器 和此单端口存储器。所以,这些实施例揭露将此多端口存储器的输入信号转换为此单端口 存储器的输入信号的架构,并且将此单端口存储器的读取信号转换为此多端口存储器输出 信号。
[0078] 图1是根据本发明的一实施例,说明一种提供多端口功能的存储装置。参考图1, 此存储装置100可包含单端口存储器101、至少一读取同步模块103、至少一写入同步模块 105、读取/写入信号选择器107、以及读取数据同步模块109。单端口存储器101具有第一 操作频率,此第一操作频率可以是多端口存储器的第二操作频率的两倍或大于两倍以上。 至少一读取同步模块103将一组读取信号113从此第二操作频率同步至此第一操作频率。 至少一写入同步模块105将一组写入信号115从此第二操作频率同步至此第一操作频率。 读取/写入信号选择器107将一组同步的读取信号123和一组同步的写入信号125集成为 单端口存储器101的一组输入控制信号117。读取数据同步模块109被配置为将单端口存 储器101的一组读取数据111从此第一操作频率同步至此多端口存储器的此第二操作频 率,从而产生此多端口存储器的一组读取数据。
[0079] 单端口存储器的输入控制信号可包括读取/写入致能信号、读取/写入地址信号、 以及写入数据信号。此单端口存储器的输出信号可包括读取数据。当此读取/写入致能信 号Rd_ en/Wr_en是在逻辑高时,这可指示存储器写入动作被执行并且写入数据被写入至存 储器地址。当此读取/写入致能信号在逻辑低时,可指示存储器读取动作被执行,并且此存 储器在下一时钟周期的期间从存储器地址读取数据。
[0080] 根据本发明的实施例,该组同步的读取信号123和该组同步的写入信号125被分 布在单端口存储器101的时钟域(clock domain)的不同时钟周期。该组同步的读取信号 123和该组同步的写入信号125在时钟域的分布顺序可由使用存储装置100的系统来决定。 单端口存储器101的第一操作频率可以是多端口存储器的该第二操作频率的k倍或k倍以 上,其中k是一正实数,并且k兰2。
[0081] 图2是根据本发明的一实施例,说明单端口存储器的操作频率CLK_2x是两端口存 储器的操作频率CLK_lx的两倍。换句话说,操作频率CLK_lx用于使用图1的存储装置的 系统中。图3是与本发明的一实施例一致的时序图,说明提供给图2中的存储装置的各种 信号的时序关系(timing relationship)。
[0082] 数字电路设计中的两端口存储器可具有专属的(dedicated)读取端口用来输入 一组读取控制信号和输出数据信号,以及专属的写入端口用来输入一组写入控制信号。在 写入端口上的每一控制信号,以Write_signal_lx表示,可包括写入致能信号Wr_en、写入 地址信号Wr_addr、以及写入数据信号Wr_data。在读取端口上的每一控制信号,以Read_ signal_lx表示,可包括读取致能信号Rd_en与读取地址信号Rd_addr,并且有输出信号Rd_ data用于从此存储器读取数据。
[0083] 参考图2和图3,此两端口存储器的操作频率CLK_lx中,读取输入控制信号如 RSigO 一 RSig4,与写入输入控制信号如WSigO 一 WSig4,分别经由两同步模块(读取同 步模块SYNC_R1与写入同步模块SYNC_W1),同步至单端口存储器的操作频率CLK_2x。经 由此两同步模块,读取与写入的输入控制信号分布在此单端口存储器的时钟域的不同时 钟周期,如图3中的Write_signal_2x与Read_signal_2x所示。此两组同步的输入控制 信号Write_signal_2x与Read_signal_2x还经由读取/写入信号选择器107集成,从而 产生分布在单端口存储器101的时钟域的不同时钟周期的一组输入控制信号lp_input_ signal_2x,如图3所示。此组输入控制信号lp_input_signal_2x可以控制对单端口存储 器101的存取,从而输出读取数据,标记为Read_out_data_2x。这些读取数据Read_out_ data_2x还被转换至两端口存储器的操作频率CLK_lx,以利于在系统中运作。换句话说,此 单端口存储器的读取数据Read_out_data_2x被转换回至原先系统的操作频率CLK_lx,以 利于在原先系统中运作。
[0084] 图4是根据本发明一实施例,说明读取数据同步模块的细部结构。参考图4,读取 数据同步模块109还可包括同步模块选择器401、一组同步模块,记为同步模块SYNC1,…, 同步模块SYNCN,N 3 2,以及读取数据选择器405。同步模块选择器401控制单端口的 存储器101中的每一组读取数据,如一组读取数据Data0_2x?Data(N_l)_2x,应使用此 组同步模块中哪一个同步模块。此组同步模块可将单端口存储器101的该组读取数据如 Data0_2x?Data(N_l)_2x,从第一操作频率同步至原先系统的操作频率,以利于在原先系 统中运作。读取数据选择器405可以将来自该组同步模块的同步的读取数据如Data0_lx? Data(N_l)_lx,集成为与多端口存储器的数据格式一致的一组输出数据CLK_lx Read out data。
[0085] 因为更快频率的信号会同步至较低的频率,所以它需要经过数个频率为CLK_lx 的时钟时间才能使该组读出数据111的同步达到稳定的状态。当多端口存储器的读取控制 信号持续致能一段很长的时间时,只使用同步模块将会导致一些数据的丢失。因此,对于 从单端口存储器中读取数据,于本发明的一实施例中,可先计算从原先单端口存储器的操 作频率CLK_SP同步至CLK_lx所造成的最大时间延迟。因为具有单端口存储器的操作频率 CLK_SP的每一读取信号针对系统操作频率CLK_lx可能会有不同的相位,因此,于本发明的 一实施例中,可根据单端口存储器的操作频率CLK_SP以及每一读取数据,计算最大同步时 钟延迟(synchronize clock latency,亦即MXCLK_lx)并且做为该最大时间延迟,其中同 步模块的个数N大于或等于M。M是从该第一操作频率同步至系统的操作频率所造成的最 大时间延迟的时钟周期的数量。
[0086] 有此N个同步模块,N 3 M,单端口存储器的输出数据可选择不同的同步模块来进 行同步。如此可避免数据丢失的问题。对于同步过程中的每一读取数据,也可使用计数器 做为控制指示器(control indicator),指出此N个同步模块中的相对应的同步模块。根据 此控制指示器,来自此单端口存储器的输出数据可以藉由同步模块选择器401选择相对应 的同步模块来同步数据。在实施例中有N个同步模块。每一同步模块可以在不同的时间启 动。于一实施例中,可由同步模块选择器401决定哪一同步模块被选取,以及何时启动所选 取的同步模块。
[0087] 举例来说,当单端口存储器输出第一笔读取数据时,致能第一同步模块如同 步模块SYNC1,当单端口存储器输出第二笔读取数据时,致能第二同步模块如同步模块 SYNC2,…,当单端口存储器输出第N笔读取数据时,致能第N同步模块如同步模块SYNCN, 当单端口存储器输出第(N+1)笔读取数据时,致能第一同步模块如同步模块SYNCl,当单端 口存储器输出第(N+2)笔读取数据时,致能第二同步模块如同步模块SYNC2,…,等。换句 话说,对于来自单端口存储器的每一读取数据,同步模块选择器401轮流致能该N个同步模 块中的一个不同的同步模块。
[0088] 图5是根据本发明的一实施例,说明读取数据同步模块的一范例,其中单端口存 储器的操作频率是两端口存储器的操作频率的两倍。如图5所示,同步模块选择器401控 制单端口存储器101的每一读取数据Read_out_data_2x应使用哪一个同步模块。在一范 例中,读取数据Data0_2x使用同步模块SYNC1,读取数据Datal_2x使用同步模块SYNC2, 读取数据Data2_2x使用同步模块SYNC3,...,读取数据Data N-l_2x使用模块同步SYNCN。 从操作频率CLK_2x同步至操作频率CLK_lx后,每一读取数据Datak_2x被转换成数据 Datak_lx,0 = k = N-1。读取数据选择器405然后将来自此N个同步模块,即同步模块 SYNCl -同步模块SYNCN,的这些同步的读取数据,即DataOJx - DataN-l_lx, 被集成为一组输出数据(亦即CLK_lx读取数据),这些CLK_lx读取数据的数据格式与该两 端口存储器的数据格式一致。
[0089] 图6是根据本发明的一实施例,说明图5的读取数据同步模块中各种信号的 时序关系。在图6中,假设同步模块的个数N等于3,此表示有三个同步模块,即同步模 块SYNCl-同步模块SYNC3,用于同步单端口存储器的输出数据。同步模块选择器 401控制来自单端口存储器的每一笔读取数据Read_out_data_2 X,例如有六笔读取数据 Data0_2X 一 Data5_2x,应使用哪一个同步模块。在本范例中,读取数据Data0_2x使用同 步模块SYNC1,读取数据Datal_2x使用同步模块SYNC2,读取数据Data2_2x使用同步模块 SYNC3,读取数据Data3_2x使用同步模块SYNC1,读取数据Data4_2x使用同步模块SYNC2, 以及读取数据Data5_2x使用同步模块SYNC3。这些读取数据从操作频率CLK_2x同步至操 作频率CLK_lx后,利用同步模块SYNC 1 -同步模块SYNC3,每一读取数据Datak_2x被 转换成为同步的读取数据Datak_lx,0 = k = 5。这些来自同步模块SYNCl?同步模块 SYNC3的同步的读取数据,S卩Data0_lx?Data5_lx,被集成为一组输出数据(即CLK_lx 读取数据)。
[0090] 图7是根据本发明的一实施例,说明一种提供多端口功能的存储方法。在步骤710 中,提供具有第一操作频率的单端口存储器,其中此第一操作频率是多端口存储器的第二 操作频率的两倍或大于两倍以上。在步骤720中,一组读取信号从此第二操作频率被同步 至此第一操作频率,并且一组写入信号从此第二操作频率被同步至此第一操作频率。在步 骤730中,一组同步的读取信号和一组同步的写入信号被集成为此单端口存储器的一组输 入控制信号。在步骤740中,此单端口存储器的一组读取数据从此第一操作频率被同步至 此多端口存储器的第二操作频率。
[0091] 如前面提及的,单端口存储器的第一操作频率至少可以是多端口存储器的第二操 作频率的k倍,其中k是一个正实数,且k 3 2。并且,该组同步的读取信号和该组同步的写 入信号分布在单端口存储器的时钟域的不同时钟周期。对于该组同步的读取信号和该组同 步的写入信号,时钟域里的分布顺序可由使用该存储装置的系统来决定。
[0092] 以下举出多个例子来说明从多端口至单端口的各种架构,以及这些架构对应的时 序图来描述从多端口至单端口的架构的各种信号的时序关系。并且,更多例子说明从多端 口至单端口的读取数据同步模块的各种替换和修改,以及此读取数据同步模块相对应的时 序图,以描述提供此读取数据同步模块的各种替换和修改的各种信号的时序关系。
[0093] 图8是根据本发明的一实施例,说明一种从四端口至单端口的结构。此处只比 较图8的实施例与图2的细节的不同。类似的组件(即使不同运作)以类似的参考号码 显示与说明。在图8中,假设此四端口中有两个端口是用来读取信号并且另外两个端口 是用来写入信号。此单端口存储器的操作频率CLK_4x是系统操作频率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的读取数据是read_out_data_4x。因为原 先的输入使用两个读取端口,所以读取数据同步模块将输入的读取数据read_out_data_4x 从操作频率CLK_4x同步至操作频率CLK_lx后,产生两个读取数据。对应于原先输入控制 信号Read_signall_lx的读取数据是Rdl_out_lx,并且对应于原先输入控制信号Read_ signal2_lx 的读取数据是 Rd2_out_lx。
[0094] 图9是根据本发明的一实施例,说明图8的四端口至单端口的结构中,各种信号的 时序关系。在第一写入端口上,对于控制信号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是根据本发明的一实施例,说明从单端口至四端口的读取数据同步模块的 替换与修改。单端口存储器的控制信号lp_input_signal_4x包括两个读取信号,即Read_ signall_4x与Read_signal2_4x。所以,读取数据Read_out_data_4x包括两组读取数据。 对应于 Read_signall_4x 的第一组读取数据是 DATA1_0、DATA1_1、…、Datal_(N_l )、Datal_ N、…。对应于 Read_signal2_4x 的第二组读取数据是 Data2_0、Data2_l、...、Data2_(N_l)、 Data2_N、…。每一组读取数据使用N个同步模块来进行同步。第一组数据读分别使用N 个同步模块,即同步模块SYNC1_1-同步模块SYNC1_N,来进行同步。第二组读取数据 分别使用其它N个同步模块,即同步模块SYNC2_1?同步模块SYNC2_N,来进行同步。 同步后,第一组同步的数据是〇3七31_0_]^、〇3七31_1_]^、...、〇3七&1_0^-1)_]^。同步后,第 二组同步的数据是Data2_0_lx、Data2_l_lx、…、Data2_(N-l)_lx。然后,读取数据选择器 405将两组读取数据形成为两个端口的读取数据Rdl_out_lx,Rd2_out_lx。
[0096] 图11是根据本发明的一实施例,说明图10中从单端口至四端口的读取数据同步 模块的时序关系。图9中对应于单端口存储器控制信号lp_input_signal_4x的读取数 据Read_out_data_4x包含(两端口的)两组读取数据,即一组DATA1_0、DATA1_1、…,与 另一组Data2_0、Data2_l、…。此两组读取数据的每一组读取数据分别使用N个同步模 块来进行同步,即一组读取数据使用同步模块SYNC1_1 一同步模块SYNC1_N,另一组 读取数据使用同步模块SYNC2_1-同步模块SYNC2_N。两组读取数据的第一笔数据 DATA1J)与Data2_0分别经由同步模块SYNC 1_1与同步模块SYNC2_1同步后,成为同步的数 据Datal_0_lx与Data2_0 jx,同步的数据Datal_0 jx与Data2_0_lx将在同一时间出现在 具有相同的系统频率CLK_lx的时序中。两组读取数据的第二笔数据DATA1_1与Data2_l 分别经由同步模块SYNC1_1与同步模块SYNC2_1同步后,成为同步的数据Datal_l_lx与 Data2_l_lx,同步的数据Datal_l_lx与Data2_l_lx将紧随同步的第一笔数据适时地出现 在具有相同的系统操作频率CLK_lx的时序中。然后,读取数据选择器集成此两组同步的数 据的每一对同步的数据,以形成为两个端口的读取数据,即Rdl_out_lx与Rd2_ 〇Ut_lx。
[0097] 图12是根据本发明的一实施例,说明一种从三端口至单端口的结构。此处只比较 图12的实施例与图2的细节的不同。类似的组件(即使不同运作)以类似的参考号码显示 与说明。在图12中,假设有一埠端口是用来读取信号并且另两个端口是用来写入信号。此 单端口存储器的操作频率CLK_3x是系统操作频率CLK_lx的三倍。Read_signall_l X是读 取端口的输入控制信号,并且Write_signall_lx与Write_signal2_lx是两个写入端口的 两个输入控制信号。三个不同的同步模块同步地控制此三个输入控制信号至存储器的操作 频率。同步处理后,第一读取信号是Read_signall_3x。类似地,同步处理后,第一写入信号 是Write_signall_3x,以及第二写入信号是Write_signal2_3x。此三个同步的控制信号再 经由读取/写入信号选择器107处理,以取得单端口存储器101的输入控制信号lp_input_ signal_3x。单端口存储器101的读取数据是read_out_data_3x。因为三个端口中只有一 个端口是读取端口,此相同于前述的两端口存储器的实施例,其中此单端口的读取数据是 read_out_data_3x。读取数据同步模块将读取数据read_out_data_3x从操作频率CLK_3x 同步至操作频率CLK_lx后,产生单端口的读取数据CLK_lX_Read_out_data。
[0098] 图13是根据本发明的一实施例,说明图12中从三端口至单端口的结构的各种信 号的时序关系。参考图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,是分 别经由同步模块,即Sync_Wl、Sync_W2、以及Sync_Rl,进行同步而得到的。然后,读取/ 写入信号选择器107将此三个同步的信号集成为单端口存储器的一控制信号lp_input_ signal_3x〇
[0099] 图14是根据本发明的一实施例,说明从单端口至三端口的读取数据同步模块 的替换与修改。单端口存储器的控制信号lp_input_signal_3x包括读取信号Read_ signall_3x。因此,读取数据Read_out_data_3x包括两组读取数据。对应于读取信号Read_ signall_3x 的一组读取数据是 DataO_3x、Datal_3x、…、Data (N_l)_3x,DataN_3x、…。类 似于前述的两端口存储器的实施例,这些读取数据是由N个同步模块进行同步。同步后,得 到一组同步的数据是DataO_lx、Datal_lx、...、Datal (N_l)_lx。然后,读取数据选择器405 将这些同步的读取数据集成为具有系统所要求的读取数据格式的一组输出数据(即CLK_lx 读取数据)。
[0100] 图15是根据本发明的一实施例,说明图14中从单端口至三端口的读取数据同 步模块的时序关系。图14中对应于单端口存储器的控制信号lp_input_signal_3x的读 取数据 Read_out_data_3x 包括一组读取数据,即 Data0_3x、Datal_3x、Data2_3x、…。 类似于两端口存储器的前述实施例,这些读取数据是由N个同步模块,即同步模块 SYNCl-同步模块SYNCN进行同步。同步后,此N个同步模块产生同步的数据 DataO_lx、Datal_lx、Data2_lx、…。然后,读取数据选择器405集成这些同步的数据,以形 成读取数据CLK_lx_Read_out_data,此读取数据CLK_lx_Read_out_data具有原先系统的 操作频率的数据输出格式。
[0101] 综上所述,依据本发明的实施例提供一种技术,此技术使用单端口存储器的结构 来提供多端口的功能,以取代η端口存储器,其中η是一个正整数,且大于或等于2。在此技 术中,输入的读取信号与写入信号由多端口存储器的操作频率同步至单端口存储器的操作 频率。同步的读取信号与同步的写入信号被集成为单端口存储器的一组输入控制信号。此 单端口存储器的读取数据从单端口存储器的操作频率被同步至多端口存储器的操作频率, 以在原先系统中进行运作。
[0102] 以上所述者仅为依据本发明的实施范例,当不能依此限定本发明实施的范围。即 大凡发明申请专利范围所作的均等变化与修饰,皆应仍属本发明权利要求保护范围。
【权利要求】
1. 一种提供多端口功能的存储装置,包含: 单端口存储器,具有第一操作频率,该第一操作频率是多端口存储器的第二操作频率 的两倍或大于两倍以上; 至少一读取同步模块,将一组读取信号从该第二操作频率同步至该第一操作频率; 至少一写入同步模块,将一组写入信号从该第二操作频率同步至该第一操作频率; 读取/写入信号选择器,将一组同步的读取信号和一组同步的写入信号集成为该单端 口存储器的一组输入控制信号;以及 读取数据同步模块,被配置为将该单端口存储器的一组读取数据从该第一操作频率同 步至该多端口存储器的该第二操作频率。
2. 如权利要求1所述的存储装置,其中该组同步的读取信号和该组同步的写入信号分 布在该单端口存储器的时钟域的不同的时钟周期。
3. 如权利要求2所述的存储装置,其中该组同步的读取信号和该组同步的写入信号在 该时钟域里的分布顺序由使用该存储装置的系统决定。
4. 如权利要求1所述的存储装置,其中该单端口存储器的该第一操作频率是该多端口 存储器的该第二操作频率的至少k倍,k是一个正实数,k大于或等于2。
5. 如权利要求1所述的存储装置,其中该读取数据同步模块还包括: 一组同步模块,将该单端口存储器的该组读取数据从该第一操作频率同步至系统的操 作频率,以在该系统中运作。
6. 如权利要求5所述的存储装置,其中该组同步模块的个数大于或等于M,并且Μ是从 该第一操作频率同步至该系统的该操作频率所造成的一个最大时间延迟的时钟周期的数 量。
7. 如权利要求5所述的存储装置,其中该读取数据同步模块还包括: 一同步模块选择器,控制来自该单端口存储器的每一读取数据使用该组同步模块中哪 一同步模块。
8. 如权利要求5所述的存储装置,其中该存储装置使用计数器作为控制指示器,以指 出在同步过程中,每一读取数据使用该组同步模块中的相对应的同步模块。
9. 如权利要求7所述的存储装置,其中对于每一读取数据,该同步模块选择器决定选 取哪一同步模块,以及何时启动所选取的该同步模块。
10. 如权利要求7所述的存储装置,其中对于来自该单端口存储器的每一读取数据,该 同步模块选择器轮流致能该组同步模块中的不同的同步模块。
11. 如权利要求5所述的存储装置,其中该读取数据同步模块还包括: 读取数据选择器,将来自该组同步模块的一组同步的读取数据集成为具有该多端口存 储器的数据格式的一组输出数据。
12. -种提供多端口功能的存储方法,包含: 提供具有第一操作频率的单端口存储器,该第一操作频率是多端口存储器的第二操作 频率的两倍或大于两倍以上; 将一组读取信号从该第二操作频率同步至该第一操作频率,并且将一组写入信号从该 第二操作频率同步至该第一操作频率; 将一组同步的读取信号和一组同步的写入信号集成为该单端口存储器的一组输入控 制信号;以及 将该单端口存储器的一组读取数据从该第一操作频率同步至该多端口存储器的该第 二操作频率。
13. 如权利要求12所述的方法,其中该方法还包括: 将该组同步的读取信号与该组同步的写入信号分布在该单端口存储器的时钟域里的 不同的时钟周期。
14. 如权利要求13所述的方法,其中该组同步的读取信号和该组同步的写入信号在该 时钟域里的分布顺序由使用存储装置的系统决定,该方法实施于该存储装置上。
15. 如权利要求12所述的方法,其中该单端口存储器的该第一操作频率是该多端口存 储器的该第二操作频率的至少k倍,k是一个正实数,k大于或等于2。
16. 如权利要求12所述的方法,其中将该单端口存储器的一组读取数据从该第一操作 频率同步至该多端口存储器的该第二操作频率还包括: 藉由一组同步模块,将该单端口存储器的该组读取数据从该第一操作频率同步至系统 的操作频率,以在该系统中运作;以及 藉由读取数据选择器,将来自该组同步模块的一组同步的读取数据集成为具有该多端 口存储器的数据格式的一组输出数据。
17. 如权利要求16所述的方法,其中该方法还包括: 藉由同步模块选择器,控制来自该单端口存储器的该组读取数据的每一读取数据使用 该组同步模块中的哪一同步模块。
18. 如权利要求17所述的方法,其中该方法还包括: 藉由该同步模块选择器,对于该组读取数据的每一读取数据,决定选取哪一同步模块, 以及何时启动所选取的该同步模块。
19. 如权利要求17所述的方法,其中该方法还包括: 对于来自该单端口存储器的每一读取数据,轮流致能该组同步模块中的不同的同步模 块。
【文档编号】G06F12/02GK104239246SQ201410126387
【公开日】2014年12月24日 申请日期:2014年3月31日 优先权日:2013年6月7日
【发明者】张志宇, 吕委整, 詹富强 申请人:财团法人工业技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1