CN108459876A - 用于缩减面积的控制寄存器电路的方法与装置 - Google Patents

用于缩减面积的控制寄存器电路的方法与装置 Download PDF

Info

Publication number
CN108459876A
CN108459876A CN201810140265.XA CN201810140265A CN108459876A CN 108459876 A CN108459876 A CN 108459876A CN 201810140265 A CN201810140265 A CN 201810140265A CN 108459876 A CN108459876 A CN 108459876A
Authority
CN
China
Prior art keywords
address
data
control register
register
memory
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201810140265.XA
Other languages
English (en)
Other versions
CN108459876B (zh
Inventor
S·贾兰
S·C·斯里瓦斯塔瓦
M·纳比尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to CN202410384604.4A priority Critical patent/CN118113351A/zh
Publication of CN108459876A publication Critical patent/CN108459876A/zh
Application granted granted Critical
Publication of CN108459876B publication Critical patent/CN108459876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Static Random-Access Memory (AREA)
  • Microcomputers (AREA)

Abstract

本申请公开一种用于缩减面积的控制寄存器电路的方法与装置。在所描述的示例中,一种装置(图2,241)包括:包含用于控制电路系统的控制位的一组控制寄存器(231),其被耦合以接收寄存器写入使能信号(WE0‑WE511)并接收输入数据;用于存储与控制位对应的数据的存储器(213),其被耦合以接收地址和存储器写入使能信号;解码电路系统(207),其被耦合以输出寄存器写入使能信号(WE0‑WE511);数据输出总线,其被耦合以从存储器接收数据但不连接到控制寄存器;以及控制器(215),其被耦合以接收地址、被耦合以在内部地址总线上输出地址、被耦合以输出写入使能信号并且被耦合以输出存储器写入使能信号,控制器被配置为促使数据被写入到与所接收的地址对应的所选择的控制寄存器,并促使数据同时被存储在与所接收的地址对应的存储器位置处。

Description

用于缩减面积的控制寄存器电路的方法与装置
技术领域
本申请总体涉及电子系统,并且更具体地涉及采用用于模拟、数字及混合信号电路的数字控制寄存器的系统。
背景技术
广泛的电子系统采用需要大量控制信号的电路。这种系统的示例为通常包含在移动电子产品中的汽车雷达电路和将无线LAN(局域网)与蓝牙(BluetoothTM)无线电结合在一起的电路。此类电路通常使用放大器、振荡器、滤波器、低功率睡眠模式以及需要控制的其它功能。这种控制的示例包含放大器增益设置、振荡器频率设置、滤波器系数、睡眠模式使能以及唤醒信号。对于复杂系统,这种控制通常由微处理器提供。然而,其它类型的电路(诸如状态机)可用于提供控制。一些复杂系统所要求的控制位的数量可能超过10000。
由于被控制的电路的并行功能,系统内的所有控制寄存器的各个位通常同时可用于被控制的电路。为了使能所有控制寄存器的所有控制位的这种同时存取,通常用触发器实施控制寄存器位。可以使用诸如锁存器的其它类型的存储元件。随机存取存储器(RAM)通常不提供对所有位的同时存取并且因此通常不用作控制寄存器。随机存取存储器包含静态RAM和动态RAM,也包含非易失性存储器,诸如所谓的闪速存储器和基于磁存储单元的存储器。
除了由微处理器或其它类型的电路写入的能力之外,控制寄存器通常被实现为具有读取能力和“读取修改写入”能力。读取能力通常用于在写入之后验证控制寄存器的内容是正确的。当仅控制寄存器的位子集被修改时,通常使用读取修改写入能力。在多于一个处理器可以写入到相同的控制寄存器时,在多处理器系统中也经常使用读取修改写入能力。
控制寄存器可以被实现为具有在低功率状态期间保持数据的能力。当从不活跃的低功率状态转变到正常的全功率操作时恢复系统功能时,这种能力是有利的。
发明内容
在所描述的示例中,一种装置包括:包含用于控制电路系统的控制位的一组控制寄存器,该组控制寄存器被耦合以从寄存器写入使能线接收寄存器写入使能信号,并且被耦合以从寄存器输入数据总线接收输入数据;存储器,用于存储对应于存储在该组控制寄存器中的控制位的数据,该存储器被耦合以从内部地址总线接收地址、被耦合以从输入数据总线接收存储器输入数据并且被耦合以接收存储器写入使能信号;解码电路系统,其被耦合以从内部地址总线接收地址并接收寄存器写入使能信号,并且被耦合以输出寄存器写入使能信号;数据输出总线,其被耦合以从存储器接收数据但不连接到控制寄存器;以及控制器,其被耦合以从地址总线接收地址、被耦合以在内部地址总线上输出地址、被耦合以输出写入使能信号并且被耦合以输出存储器写入使能信号,该控制器被配置为促使将数据从输入数据总线写入到与在地址总线上接收的地址对应的控制寄存器处的所选控制寄存器,并且促使该待写入的数据被同时存储在存储器中与在地址总线上接收的地址对应的存储器位置处。
附图说明
图1是示出一种示例常规控制寄存器电路的框图。
图2是示出一种示例实施例的控制寄存器电路的框图。
图3是一种包括耦合到微处理器的示例实施例的控制寄存器电路的电路的框图。
图4以流程图示出一种示例方法实施例。
具体实施方式
除非另外指出,否则不同附图中的对应数字和符号通常指代对应部分。附图不一定按比例绘制。
术语“耦合”可以包括利用中间元件进行的连接,并且在“耦合”的任何元件之间可以存在附加元件和各种连接。术语“线/线路”和“总线”在本文中用于指代诸如(但不限于)集成电路上的金属互连和电路板上的迹线的连接元件。总线通常由多条线路组成。耦合到两个或更多电路元件的线路或总线可以包括中间元件和附加元件,这些中间元件和附加元件未被示出并且在本文中未描述。这种中间元件和附加元件的结合取决于针对具体应用的电路实施。中间元件和附加元件的示例包括但不限于用于增加信号驱动强度的缓冲器和诸如电阻器的无源元件。
图1是示出示例常规控制寄存器电路100的框图。电路100是用于需要大量控制位的系统的典型控制寄存器电路。图1的示例常规控制寄存器电路可以包含16384位。这些位被布置为使得存在512个控制寄存器,每个控制寄存器有32位。在该示例中,各个控制寄存器被分配给范围从0到511的地址。分配给地址0、1和511的控制寄存器分别是图1中的块101、103和105并且分别被标记为“寄存器0”、“寄存器1”和“寄存器511”。在图1中标记为“RD0(0:31)”、“RD1(0:31)”和“RD511(0:31)”的32位寄存器输出总线被分别耦合到寄存器1、寄存器2和寄存器511的数据输出端。图1中标记为WE0、WE1和WE511的线路被分别耦合到寄存器1、寄存器2和寄存器511的时钟输入端。在图1中没有明确地示出分配给地址2到510的控制寄存器以及耦合到这些寄存器的数据输出端的总线和耦合到这些寄存器的时钟输入端的线路。然而这些寄存器、总线和线路存在于图1中,如通过块103和块105之间的点、总线RD1(0:31)和总线RD511(0:31)之间的点以及线路WE1和线路WE511之间的点来指示。图1的所有512个控制寄存器的数据输入端被耦合到图1的标记为“数据输入(0:31)”的32位总线。所有控制寄存器的数据输出端被耦合到标记为“IP模块”(知识产权模块)的受控制的电路(图1的块111)。经常使用“IP模块”来指代作为集成电路、现场可编程门阵列或其他类型的大规模电路实施方式的一部分的电路块。IP模块(受控制的电路,图1的块111)的一个示例为汽车雷达。另一个示例是包含无线LAN和BluetoothTM无线电的电路。复杂的滤波电路系统需要滤波系数的许多控制位,并且可能是IP模块中的电路系统的另一个示例。使用具有可变频率的本地振荡器的电路需要用于频率选择的许多控制位。
在该示例控制电路系统中,用32个D型触发器来实施图1的示例中的控制寄存器。可以使用其他类型的存储元件,其中电路100的布置相应地改变。图1的控制寄存器的数据输入包含32位,其中这32位是控制寄存器的各个触发器的输入。图1的控制寄存器的数据输出包含32位,其中这些位是控制寄存器的各个触发器的输出。图1的控制寄存器的时钟输入端被并联耦合到各个控制寄存器的32个触发器的时钟输入端。
常规控制寄存器电路可以用不同数量的控制寄存器来实施,其中每个控制寄存器的位数量与在图1中示出并在上文中描述的不同。另外,控制寄存器电路的一些控制寄存器可以被实现为与电路中的其它控制寄存器具有不同的位数量。分配给控制寄存器的地址范围可能不是连续的,并且在连续的地址范围内,一些地址可能不被分配给控制寄存器。
图1中标记为“地址(0:8)”的9位总线被耦合到图1的多路分配器(demultiplexer)107和图1的多路复用器(multiplexer)109两者的选择输入端。诸如微处理器、微控制器、CPU、DSP或混合信号处理器(MSP)的外部电路将待读取或写入的控制寄存器的地址置于总线“地址(0:8)”上。总线“地址(0:8)”上的地址配置多路分配器(图1的107)以建立从耦合到图1中标记为“写入使能”的线路的多路分配器输入端到与总线“地址(0:8)”上的地址对应的多路分配器输出线的路径。耦合到图1中的线路WE0、WE1和WE511的多路分配器输出端分别对应于多路分配器选择地址0、1和511。对应于地址2至510的多路分配器输出端未在图1中明确示出,但是如由线路WE1和WE511之间的点所指示是存在的。多路分配器解码总线“地址(0:8)”上的地址,以输出写入使能信号到选定的控制寄存器。在替代实施例中,解码功能可以由逻辑器件而不是多路分配器来实施。
总线“地址(0:8)”上的地址还配置多路复用器(图1的109)以建立从对应于总线“地址(0:8)”上的地址的多路复用器109的输入端到耦合到图1中标记为“数据输出(0:31)”的32位总线的多路复用器输出端的路径。耦合到图1中的总线RD0(0:31)、总线RD1(0:31)和总线RD511(0:31)的多路复用器109的输入端分别对应于多路复用器选择地址0、1和511(在图1中没有明确示出与地址2到510对应的多路复用器输入端,但是如由图1中的总线RD1(0:31)和RD511(0:31)之间的点所指示存在这些输入端)。
对于写入操作,外部电路(未示出)将待写入的控制寄存器的地址置于图1中的总线“地址(0:8)”上,并且将待写入到编址的控制寄存器中的数据置于图1中的总线“数据输入(0:31)”上。外部电路还在图1中标记为“写入使能”的线路上产生脉冲。总线“地址(0:8)”上的地址如上文所描述来配置图1的多路分配器107。图1的写入使能线上的脉冲通过多路分配器(图1的107)传播到与总线“地址(0:8)”上的地址对应的控制寄存器的时钟输入端。该控制寄存器时钟输入端上的脉冲导致将总线“数据输入(0:31)”上的数据写入控制寄存器。例如,对于要写入的控制寄存器是寄存器1(图1的块103)的情况,总线“地址(0:8)”上的地址是无符号的9位数字1。为1的地址导致“写入使能”线上的脉冲传播至耦合到线路WE1的多路分配器输出端。线路WE1还耦合到寄存器1(块103)的时钟输入端。WE1上的脉冲的上升沿导致总线“数据输入(0:31)”上的数据被钟控/同步(clocked)到寄存器1的触发器中。
对于读取操作,外部电路将待读取的控制寄存器的地址置于总线“地址(0:8)”上。该地址如上文所描述来配置图1的多路复用器109,导致存储在与该地址对应的控制寄存器中的数据通过多路复用器传播到图1的总线“数据输出(0:31)”。例如,在将要读取寄存器1的情况下,总线“地址(0:8)”上的地址是无符号的9位数字1。为1的地址导致总线RD1(0:31)上的数据传播至耦合到图1的总线“数据输出(0:31)”的多路复用器(图1的109)的输出端。总线“数据输出(0:31)”通常还被耦合到图1外部的微处理器或其他电路的数据输入端。
对于用诸如图1所示的常规控制寄存器电路实施的系统,可能需要附加的输入信号。这种附加的输入信号是使控制寄存器电路能够进行读取操作和写入操作的选择信号。另外,对于使用被称为“保持寄存器(retention register)”的寄存器实施的控制寄存器电路,可能需要输入信号在保持和正常操作状态之间转换。为了简化说明,在本文中没有进一步描述这些示例性附加输入信号。
诸如图1所示的示例常规控制寄存器电路的实施方式导致大量的线路从图1中的控制寄存器被布线到IP模块(图1的模块111)和多路复用器(图1的109)内部的电路元件。在包含大量位的控制寄存器电路被实现为集成电路(IC)的一部分的情况下,由于线路从控制寄存器的位连通到IP模块(图1的块111)以及复用器(图1的109)的电路元件,因此通常有显著的布线拥塞。这种高度布线拥塞通常导致分配给控制寄存器电路的IC区域的很大一部分专用于互连布线而不包含有源电路。现有技术的控制寄存器电路系统中的布线拥塞的这种影响导致IC单位成本的增加。另外,在设计过程中,高度布线拥塞导致用于完成符合电路时序要求(“时序收敛(timing closure)”)的IC布局的布置和布线工具的长运行时间。这些长运行时间可能导致与IC开发相关的非重复性成本增加。对于一些常规的控制寄存器电路来说,显著的布线拥塞可能阻碍时序收敛。额外的半导体区域可能必须被分配给布线功能并且需要额外的设计处理时间来成功布置和布线控制电路并实现时序收敛。从控制寄存器读取控制位所需的最短时间也可能受到将所有控制寄存器位映射到单个输出总线或端口(诸如图1中的输出总线“数据输出(0:31)”)所需的多个布线信道的长度的负面影响。
图2是示出包括示例实施例控制寄存器电路241的电路200的框图。电路200还包括由电路241的控制寄存器控制的示例电路(图2的块211,标记为“IP模块”)。电路241是用于需要大量控制位的示例系统的控制寄存器电路。图2的示例控制寄存器电路包含16384位。这些位被布置成使得存在512个控制寄存器,每个控制寄存器有32位。各个控制寄存器被分配给范围为从0到511的地址。分配给地址0、地址1和地址511的控制寄存器分别是图2中的块201、块203和块205并且被分别标记为“寄存器0”、“寄存器1”和“寄存器511”。在图2中标记为“RD0(0:31)”、“RD1(0:31)”和“RD511(0:31)”的32位寄存器输出总线被分别耦合到寄存器1、寄存器2和寄存器511的数据输出端。图2中标记为WE0、WE1和WE511的线路被分别耦合到寄存器1、寄存器2和寄存器511的时钟输入端。在图2中没有明确地示出分配给地址2到510的控制寄存器以及耦合到这些寄存器的数据输出端的总线和耦合到这些寄存器的时钟输入端的线路。然而,如由块203和块205之间的点、总线RD1(0:31)和RD511(0:31)之间的点以及线路WE1和线路WE511之间的点所示,这些寄存器、总线和线路是存在于图2中的。图2的全部512个控制寄存器的数据输入端(“寄存器组”231)被耦合到标记为“寄存器数据输入(0:31)”的32位总线。寄存器组231的所有控制寄存器的数据输出端被耦合到IP模块(图2的块211)。IP模块(块211)的示例是汽车雷达和包含无线LAN和BluetoothTM无线电的电路。与可编程振荡器一样,滤波器电路系统可能需要许多控制位,并且各种接收器和发射器可能需要大量的控制位来设置本地振荡器频率,以存储可变频率并存储采样频率。需要控制位的其他功能可以受益于这些实施例的使用。
图2的示例中的各个控制寄存器用32个D型触发器来实现。可以使用其他类型的存储元件,其中电路241的布置的相应地改变。图2的各个控制寄存器的数据输入端包含32位,其中这些位是控制寄存器的各个触发器的数据输入。图2的控制寄存器的数据输出包含32位,其中这些位是控制寄存器的各个触发器的数据输出。图2的控制寄存器的时钟输入端被并联耦合到控制寄存器的各个32个触发器的时钟输入端。
替代实施例可以用不同数量的控制寄存器来实现,并且每个控制寄存器具有与图2所示的不同数量的位,其中对电路241进行相应的修改。可以通过对电路241的相应修改来实现替代实施例,其中可以用不同数量的触发器来实现各个控制寄存器。可以通过省略寄存器的任何一个或多个触发器来实现这些控制寄存器。可以通过对电路241的相应修改来实现替代实施例,其中分配给控制寄存器的地址范围可以不是连续的,并且在连续地址范围内,每个地址可以不被分配给控制寄存器。
图2的示例实施例的控制寄存器电路241可以有三种操作模式。这些模式是“正常”、“批量数据恢复”和“批量数据误差检查”。图2中的线路“加载使能”和“奇偶校验使能”上的信号的状态确定三种模式中的哪一种在特定时间是有效的。线路“加载使能”和“奇偶校验使能”被耦合到“控制器”(图2的块215)的输入端。线路“加载使能”和“奇偶校验使能”上的信号的状态由图2外部的电路(诸如微处理器)设置。当线路“加载使能”和“奇偶校验使能”上的信号都为低电平时,电路241以正常模式操作。除非另有说明,对于本文描述的所有信号,禁能/使无效(de-asserted)状态是逻辑低电平,并且使能/使有效(assert)状态是逻辑高电平。当线路“加载使能”上的信号为高电平并且线路“奇偶校验使能”上的信号为低电平时,电路241以批量数据恢复模式操作。当线路“加载使能”上的信号为低电平并且线路“奇偶校验使能”上的信号为高电平时,电路241以批量数据误差检查模式操作。如下文所描述,可以不用批量数据误差检查模式来实施替代的示例实施例。
当图2的示例实施例以正常模式操作时,外部电路(诸如微处理器或其他控制器)可以对图2的示例实施例的控制寄存器电路241执行读取操作和写入操作。可以执行任何数量的各个写入操作以及任何数量的各个读取操作。这些读取和写入操作可以按任何顺序进行,该顺序中写入后是读取或另一个写入操作。另外,读取操作后可以跟随写入或另一个读取操作。这些读取和写入操作中的每个操作都针对单一地址。对于不同的地址和上文所述范围内的任何地址,每个连续的操作(读取或写入)都可以发生。也可以通过一次读取操作且随后进行一次写入操作来执行读取修改写入操作,其中两次操作针对同一地址。为了简化说明,本文不详细描述读取修改写入操作。
当图2的示例性实施例正在以正常模式进行操作时,控制寄存器电路(图2的241)在执行读取或写入操作时执行现在描述的功能。然后,图2中标记为“数据输入(0:31)”的总线(耦合到块215(控制器)的输入端)上的32位数据字的状态被块215输出到图2中标记为“寄存器数据输入(0:31)”的总线和图2中标记为“存储器数据输入(0:31)”的总线。总线“寄存器数据输入(0:31)”和“存储器数据输入(0:31)”两者都耦合到块215的输出端。总线“数据输入(0:31)”上的数据字的状态变化被块215几乎同时输出到总线“寄存器数据输入(0:31)”和“存储器数据输入(0:31)”两者。图2中标记为“地址(0:8)”的总线(耦合到块215的输入端)上的9位地址的状态被块215输出到图2中标为“内部地址(0:8)”的总线。总线“内部地址(0:8)”被耦合到图2中的块215的输出端。图2中标记为“写入使能”的线路(耦合到块215的输入端)上的信号的状态被输出到图2中标记为“寄存器写入使能”和图2中的“存储器写入使能”两条线路。线路“寄存器写入使能”和“存储器写入使能”被耦合到图2中的块215的输出端。图2的线路“写入使能”上的信号的状态变化被块215几乎同时输出到线路“存储器写入使能”和线路“寄存器写入使能”。
当图2的电路241以正常模式操作并且写入操作发生时,外部电路执行以下操作:它将待写入的寄存器组231的控制寄存器的地址放置于图2中的总线“地址(0:8)”上;它将待写入该控制寄存器的数据放置于图2中的总线“数据输入(0:31)”上;并且它在图2中标记为“写入使能”的线路上产生脉冲。如上文所述,线路“写入使能”上的脉冲被控制器215输出到图2的线路“寄存器写入使能”和线路“存储器写入使能”。同样如上文所述,在标记为“总线数据输入(0:31)”的总线上的数据字被块215输出到标记为“寄存器数据输入(0:31)”和“存储器数据输入(0:31)”的总线。进一步如上文所述,总线“地址(0:8)”通过块215被输出到总线“内部地址(0:8)”。总线“内部地址(0:8)”被耦合到图2的多路分配器207的选择输入端和图2中的块“SRAM”213的地址输入端。图2中的块213是静态RAM(SRAM)存储器。总线“内部地址(0:8)”上的地址对多路分配器(图2的块207)进行配置以建立从耦合到图2中的线路“寄存器写入使能”的多路分配器输入端到与总线“内部地址(0:8)”上的地址对应的多路分配器输出端的路径。耦合到图2中的线路WE0、WE1和WE511的多路分配器输出端分别对应于地址0、1和511。在图2中没有明确示出与地址2至510对应的多路分配器输出端,但是如由线路WE1和线路WE511之间的点所指示,这些输出端是存在的。多路分配器207执行解码操作以将总线“内部地址(0:8)”上的地址解码,并且将寄存器写入使能线上的信号输出到所选控制寄存器的时钟输入端。在替代实施例中,其他形式的逻辑电路系统可以代替多路分配器来执行总线“内部地址(0:8)”上的地址的解码功能。
图2的线路“寄存器写入使能”上的上述脉冲通过多路分配器(图2的207)传播到与总线“内部地址(0:8)”上的地址对应的寄存器组231的控制寄存器的时钟输入端。该控制寄存器时钟输入端上的脉冲导致总线“寄存器数据输入(0:31)”上的数据被写入该控制寄存器。图2的线路“存储器写入使能”上的脉冲导致总线“存储器数据输入(0:31)”上的数据被写入与总线“内部地址(0:8)”上的地址对应的SRAM(图2的块213)中的字位置。线路“存储器写入使能”被耦合到SRAM(块213)的写入使能输入端。总线“存储器数据输入(0:31)”被耦合到SRAM(块213)的数据输入端。SRAM(块213)由每字32位的512个字组成。在该示例中,这些字对应于范围从0到511的地址。
例如,在待写入的控制寄存器是“寄存器1”(图2的块203)的情况下,总线“地址(0:8)”和总线“内部地址(0:8)”上的地址是无符号的9位数字1。这个为1的地址导致线路“寄存器写入使能”上的脉冲传播到耦合于线路WE1的多路分配器输出端。线路WE1还耦合到“寄存器1”(块203)的时钟输入端。在该示例实施例中,线路WE1上的脉冲的上升沿导致总线“寄存器数据输入(0:31)”上的数据被钟控/同步(clocked)到“寄存器1”的触发器中。另外,线路“存储器写入使能”上的脉冲导致总线“存储器数据输入(0:31)”上的数据在字位置1处被存储在SRAM(图2的块213)中。如上文所述,在电路241的正常操作模式中,标记为“存储器数据输入(0:31)”的总线和标记为“寄存器数据输入(0:31)”的总线中的数据与总线“数据输入(0:31)”上的数据相同并与其等效。同样如上所述,图2的线路“写入使能”上的脉冲导致在线路“寄存器写入使能”和“存储器写入使能”上几乎同时发生脉冲。由于这两个总线的数据是相同的,并且在线路“寄存器写入使能”和“存储器写入使能”上几乎同时发生脉冲,因此“寄存器1”(块203)和SRAM(图2的块213)的位置1处的字在写入操作完成时包含相同的数据。
当图2的电路241以正常模式操作并且发生读取操作时,外部电路将待读取的SRAM(图2的块213)中的字位置的地址放置在图2的总线“地址(0:8)”上。如上文所述,这个地址被控制器(图2的块215)输出到总线“内部地址(0:8)”。与总线“内部地址(0:8)”上的地址相对应的SRAM(块213)的字的内容被输出到图2中标记为“数据输出(0:31)”的32位总线。总线“数据输出(0:31)”被耦合到SRAM(块213)的数据输出端。总线“数据输出(0:31)”还耦合到外部电路(诸如微处理器的数据输入端)。与总线“内部地址(0:8)”上的地址对应的寄存器组231的控制寄存器不被读取,并且不通过读取操作从电路241输出。如上文所述,图2中与总线“内部地址(0:8)”上的地址对应的控制寄存器和SRAM块213的字在对该同一地址进行先前的写入操作之后包含相同的数据。因此,对SRAM(块213)中的字位置的读取操作将数据输出到总线“数据输出(0:31)”,该数据应该与对应于该字位置的相同地址的控制寄存器的内容相同(假设没有发生误差)。例如,当SRAM(块213)中的地址1处的字的内容被输出到总线“数据输出(0:31)”时,该总线上的数据相当于“寄存器1”(图2的块203)的内容。存在SRAM(块213)中的字的内容可能不等同于相应控制寄存器的内容的情况。这种情况可能是由于电路噪声或其他原因带来的误差造成的。另外,在将控制寄存器置于未知或默认状态的诸如上电的事件之后,寄存器组231的控制寄存器和SRAM(块213)的内容可能是不同的。在此类事件之后或者当发生误差时,可以使用上文描述的写入操作或下文描述的使能批量数据恢复模式能以使SRAM(块213)的内容等同于寄存器组231的控制寄存器的内容。
如上文所述,寄存器组231中的控制寄存器的内容没有通过读取操作被图2的实施例的控制寄存器电路241输出到诸如微处理器的外部电路。因此,寄存器组231中的控制寄存器的数据输出端没有被耦合到诸如“读取多路复用器”的电路。如果存在读取多路复用器,则其将被用于在读取操作期间将存储在寄存器组231的控制寄存器内的数据输出。这种读取多路复用器(如果存在的话)将用每条32位的512条总线或16384条个体线路耦合到寄存器组231。对于在集成电路中实施的图2的实施例电路241,当在每个控制寄存器位与读取多路复用器(如果存在的话)的电路元件之间布线时,大量(诸如16384条)的个体线路导致显著的布线拥塞。显著的布线拥塞可能增加实现该实施例所需的集成电路面积,并且导致不满足时序要求。如上文所述,图2中的示例实施例采用SRAM(图2的块213)将数据的“复制品/副本(copy)”存储在图2的寄存器组231的控制寄存器中。如上所述,SRAM 213在读取操作期间将存储在控制寄存器中的数据的复制品输出,从而消除了读取多路复用器和与其耦合的线路的需要。由SRAM消耗的集成电路面积可以显著小于由读取多路复用器和耦合到该读取多路复用器的线路所消耗的面积。另外,SRAM的实施例将通常改进关于该实施例和耦合到该实施例的电路的时序要求的性能。
当图2的电路241的示例实施例以批量数据恢复模式操作时,SRAM中的所有数据(图2的块213)被写入图2的该组控制寄存器231中。在一个示例中,当实施例电路241从低功率状态转换到全功率操作时,可以使用批量数据恢复模式。当SRAM(图2的块213)被实现以保持数据且电路241处于低功率状态时,可以使用这种实施例的批量数据恢复模式。批量数据恢复模式也可以在其他时间使用,例如纠正图2的该组控制寄存器231中的数据误差。
当图2的示例实施例电路241以批量数据恢复模式操作时,控制器(图2的块215)执行现在描述的功能。线路“写入使能”和总线“数据输入(0:31)”以及“地址(0:8)”上的信号被控制器(图2的块215)阻塞并且不影响电路241的操作。针对与该组寄存器231中的控制寄存器对应的地址和SRAM(块213)中的相应字位置,控制器(块215)首先读取SRAM(块213)中的字的内容。然后将该内容写入该组寄存器231中与该相同地址对应的控制寄存器。对于示例实施例的电路241,针对范围0到511中的地址由块215执行这两个功能。为了执行从SRAM(块213)中的位置读取且随后写入寄存器组231,块215在总线“内部地址(0:8)”上输出地址。总线“内部地址(0:8)”上的该地址导致针对与该地址对应的字的SRAM(块213)的内容被输出到总线“数据输出(0:31)”。总线“数据输出(0:31)”被耦合到块215的输入端。总线“数据输出(0:31)”上的数据被输出,而无需通过块215对总线“寄存器数据输入(0:31)”进行修改。然后,块215在线路“寄存器写入使能”上产生脉冲。该脉冲通过多路分配器207传播到与总线“内部地址(0:8)”上的地址对应的多路分配器输出线。该多路分配器输出线还耦合到寄存器组231中与总线“内部地址(0:8)”上的地址对应的控制寄存器的时钟输入端。该控制寄存器的时钟输入端上的脉冲的上升沿导致总线“寄存器数据输入(0:31)”上的数据被写入该控制寄存器。然后,块213将不同的地址输出到总线“内部地址(0:8)”。地址序列可以从地址0开始单调递增,并以地址511结束。可以使用其它地址序列,只要待恢复的控制寄存器的所有地址(该示例中为地址0到511)都被包括在内即可。重复进行如上文所述的从SRAM块213中读取一个字并将该字的内容写入相应控制寄存器的循环。在针对该组寄存器231中待恢复的所有控制寄存器都已经完成该循环之后,该循环的重复停止。如果需要,也可以在给定示例实施方式中写入少于全部的寄存器。
当批量数据恢复模式有效时,状态机或其他电路可以被实现为块215的一部分,以执行上文描述的块215的功能。当批量数据恢复模式有效时,在图2中标记为“时钟”的线路上的时钟信号建立上文描述的功能的时序。时钟信号在图2的外部生成。如上所述,图2的时钟线上的时钟信号被块215用来对在总线“内部地址(0:8)”上输出的地址之间的转换进行定时,并且如上所述在线路“寄存器写入使能”上产生脉冲。
当图2的示例实施例以批量数据误差检查模式操作时,将SRAM(图2的块213)的字的奇偶性与图2的该组控制寄存器231中的相应寄存器的奇偶性进行比较。当SRAM块213中的字的奇偶性与该组寄存器231中的相应控制寄存器的奇偶性不匹配时,在图2中标记为“奇偶校验误差”的线路上输出高逻辑电平。线路“奇偶校验误差”被耦合到诸如微处理器的外部电路。批量数据误差检查模式可被用于提高系统可靠性。当发生奇偶校验误差时,采用示例实施例的系统可以被实现以执行图2的电路241外部的特定功能。这种功能的一个示例是将数据写入控制寄存器以覆盖寄存器内容中可能存在的写入误差。第二个示例是从SRAM(图2的块213)中读取数据以识别存储在块213中的数据中可能存在的误差。
当图2的示例性实施例以批量数据误差检查模式操作时,控制器(图2的块215)执行下文所述的功能。信号“写入使能”以及总线“数据输入(0:31)”和总线“地址(0:8)”被控制器(块215)阻塞并且不影响电路241的操作。对于范围0到511中的地址(其它地址范围对于替代实施例是可能的),控制器(块215)在总线“内部地址(0:8)”上输出地址。对应于该地址的字的SRAM(图2的块213)的内容被块213输出到总线“数据输出(0:31)”。总线“数据输出(0:31)”被耦合到块“存储器奇偶校验”(图2的219)的输入端。存储器奇偶校验电路(块219)的输出端被耦合到图2中标记为“字奇偶校验”的线路。线路“字奇偶校验”还被耦合到比较器电路(图2的217)的输入端。总线“内部地址(0:8)”被耦合到多路复用器(图2的块216)的选择输入端。多路复用器(块216)选择与总线“内部地址(0:8)”上的地址对应的多路复用器的输入端。这些多路复用器输入端被耦合到寄存器组231中也与总线“内部地址(0:8)”上的地址对应的控制寄存器的奇偶校验输出端。与总线“内部地址(0:8)”上的地址相对应的多路复用器(块216)输入端的状态被多路复用器输出到图2中标记为“寄存器奇偶校验”的信号线,该信号线耦合到多路复用器216的输出端。线路“寄存器奇偶校验”还耦合到比较器(图2的217)的输入端。当线路“寄存器奇偶校验”与线路“字奇偶校验”上的信号的状态等效时,比较器(217)在线路“奇偶校验误差”上输出逻辑低电平。线路“奇偶校验误差”被耦合到比较器(217)的输出端。当线路“寄存器奇偶校验”和线路“字奇偶校验”上的信号状态不等效时,比较器在线路“奇偶校验误差”上输出逻辑高电平。然后,块215输出不同的地址到总线“内部地址(0:8)”。地址序列可以从地址0开始单调递增,并以地址511结束。可以使用其它地址序列,只要包括0到511范围内的所有地址即可。例如,可以使用非单调计数器(例如线性反馈移位寄存器)来推进序列。重复进行上文描述的将SRAM(块213)的字的奇偶校验与对应的控制寄存器的奇偶校验进行比较的循环。在针对该组寄存器231中的所有控制寄存器已经完成该循环之后,该循环停止重复。替代实施例可以被实现以在除了0至511之外的地址范围上执行批量误差检查功能。
控制寄存器“寄存器0”、“寄存器1”和“寄存器511”(分别为图2的块201、块203和块205)的奇偶校验输出端分别耦合到图2中的线路RP0、RP1和RP511。没有在图2中明确地示出耦合到与地址2至510对应的控制寄存器的奇偶校验输出端的线路,但是如由线路RP1和RP511之间的点所指示,这些线路是存在的。由每个寄存器中存在的电路产生寄存器组231中的控制寄存器的奇偶校验输出。控制寄存器内的这些奇偶校验生成电路采用与存储器奇偶校验电路(图2的块219)相同的功能。线路RP0、RP1和RP511被耦合到多路复用器(块216)的分别与地址0、1和511对应的输入端。没有在图2中明确示出耦合到与地址2到510对应的寄存器组231中的控制寄存器的奇偶校验输出端的多路复用器(块216)的输入端,但是如由图2的线路RP1和线路RP511之间的点所指示,这些输入端是存在的。
状态机或其他控制电路可以被实现为图2的块215的一部分,以便当批量数据误差检查模式有效时执行块215的上述功能。当批量数据误差检查模式有效时,图2的线路“时钟”上的时钟信号建立用于上述功能的时序。时钟信号在图2的外部产生。如上文所述,图2的线路“时钟”上的时钟信号被块215用来对输出到总线“内部地址(0:8)”的地址之间的转换进行定时。可以实现替代实施例,其使用奇数或偶数奇偶校验来将控制寄存器的奇偶和SRAM的字校验编码。另外,可以使用其他误差检测编码方案来实施替代实施例。这些替代方案可以包括那些产生多于一个误差检测位的方案。这些替代实施例的实施方式可以导致对图2的电路241的相应修改。在一种替代方案中,误差检测和校正(EDAC)可以被并入实施例中。在这种方案中,可以自动纠正控制寄存器中的单个位误差。
当奇偶校验误差发生时,可以实现向诸如微处理器的外部电路提供附加信息的替代实施例。例如,当发生奇偶校验误差时,可以通过将图2的总线“内部地址(0:8)”上的地址存储到附加寄存器的附加电路(未示出)来实施这种替代实施例。该寄存器可以被外部电路(诸如微处理器)读取。外部电路可以使用这种替代实施例来识别寄存器组231的特定控制寄存器和进行奇偶校验比较失败的SRAM(图2的块213)的字的位置。因此,例如,上述的在特定地址处的控制寄存器电路(图2的241)的写入操作可以由外部电路执行以校正控制寄存器和SRAM中的数据。
替代实施例可以在没有奇偶校验或其他误差检测方法的情况下被实现。对用于该替代实施例的图2的电路241的修改导致以下电路元件和线路被省略:线路“奇偶校验使能”、“字奇偶校验”、“寄存器奇偶校验”以及“奇偶校验误差”;块216、块217和块219;包括在寄存器组231的控制寄存器中的奇偶校验产生电路和每个控制寄存器的相关奇偶校验输出端;将每个控制寄存器的奇偶校验输出端耦合到多路复用器(块216)的输入端的线路;以及执行电路241的批量数据误差检查操作模式的功能(在上文中描述)的块215的电路。对于该替代实施例,当线路“加载使能”上的信号为低电平时,正常操作模式是有效的,并且当线路“加载使能”上的信号为高电平时,批量数据恢复模式是有效的。
对于利用图2所示的实施例的控制寄存器电路241实现的系统,可能需要附加的输入信号。这种附加输入信号是使控制寄存器电路能够用于各个读取和写入操作的选择信号。另外,对于用具有保持能力的SRAM(图2的块213)实现的控制寄存器电路,可能需要输入信号在保持操作状态和正常操作状态之间转换。此外,当批量数据误差检查模式无效时,可能需要附加的输入信号来禁用线路“奇偶校验误差”上的输出信号。为了简化说明,没有在本文中进一步描述这些示例性附加输入信号。
对于当以正常模式操作时在读取操作期间线路“奇偶校验误差”上的信号未被禁用的情况,形成替代实施例。在读取操作期间,当从SRAM(图2的213)读取的字的奇偶性不等效于图2中的寄存器组231的对应控制寄存器的奇偶性时,该替代实施例在图2的线路“奇偶校验误差”上输出逻辑高电平。图2的线路“奇偶校验误差”上的这一逻辑高电平可用于通知外部微处理器(或其他控制器)当前读取操作产生了奇偶校验误差。该替代实施例可以有利地使用奇数或偶数奇偶校验。在另外的替代实施例中,可以使用校正误差检测来代替奇偶校验,包括产生一个或多个误差检测位的误差检测。在进一步的替代方案中,实施例可以包含误差检测与校正(EDAC)技术而不是奇偶校验。
该实施例的控制寄存器电路(图2的241)可以被包括在电路库中以用于在采用耦合到该实施例的不同微处理器(或其他控制器)的不同集成电路实施方式中的内含物。另外,该实施例可以被耦合到包括多个集成电路(例如多芯片模块和堆叠管芯封装)的电路板上或封装件内的不同微处理器(或其他控制器)。这些微处理器(或其他控制器)通常与可能包括RAM的存储器系统相关联。这些微处理器(或其他控制器)和这些存储器系统在该实施例的外部。SRAM(图2的块213)不被包括在这些外部存储器系统中,并且专用于该实施例。与另一种方法(例如在外部存储器系统中使用RAM空间)不同,在该实施例中采用这种专用存储器将会在将该实施例的控制寄存器电路并入不同的系统实施方式中时降低适配要求。这些降低的适配要求可以包括例如降低开发或修改用于耦合到特定系统实施方式的实施例的微处理器(或其他控制器)的软件驱动器的努力程度。另外,如下所述,实现为具有内部专用SRAM(块213)的实施例导致采用耦合到该实施例的多个微处理器(或其他控制器)的系统的读取修改写入操作的改善的性能。专用SRAM(块213)也导致批量数据恢复模式和批量数据误差检查模式的改善的性能。
图2的实施例的控制寄存器电路241可以耦合到电路241外部的两个或更多个微处理器(或其他控制器)。对于这种系统配置,上述的读取修改写入能力可以被这些微处理器(或其他控制器)中的任何一个用来改变(图2中寄存器组231的)控制寄存器的位的子集和SRAM(图2的块213)的对应字。该控制寄存器和SRAM字位置通常将已经预先由这些微处理器(或其他控制器)之一执行的写入操作填充数据。可以使用读取修改写入能力,使得只有位的子集被改变,并且寄存器的剩余位和SRAM(块213)的字不改变。因此,当修改控制寄存器的一些部分时,这些微处理器(或其他控制器)可以独立地操作。该独立操作不包括授权访问控制寄存器电路的仲裁功能。该仲裁功能不是该实施例的一部分,并且为了简化说明没有在本文中描述。然而,仲裁功能可以被添加到该实施例中。如上文所述,读取修改写入操作是针对相同地址进行读取操作和随后的写入操作。上文描述了读取操作和写入操作。读取操作从与控制寄存器地址对应的SRAM(块213)读取该字。SRAM(块213)的这个字的内容是对应的控制寄存器的当前内容。因此微处理器之间的通信不需要获得控制寄存器的当前内容。在读取操作之后,执行读取修改写入的微处理器(或其他控制器)修改将要改变的位的子集。剩余的位不改变。然后,该微处理器使用与用于操作的读取部分相同的地址将该修改的内容写入控制寄存器电路(图2的241)。修改的内容包含已修改的位子集和剩余的未改变的位。如上所述,写入操作写入到控制寄存器并且写入到SRAM(块213)的对应字。SRAM(块213)是该实施例的控制寄存器电路(241)的一部分并且专用于该实施例的控制寄存器电路(241),而不是外部存储器系统的一部分。因此,控制寄存器的当前内容可以用与本实施例外部的存储器系统的实施方式独立的方法从SRAM(图2的块213)读取和写入到SRAM。另外,当实现合并该实施例的控制寄存器电路的不同系统时,与外部存储器系统的独立性导致较小程度的适配,例如软件修改。
如上文所描述,批量数据恢复模式和批量数据误差检查模式都通过访问诸如0到511的范围内的地址来操作。可以实现该实施例(图2的电路241),使得针对特定地址的这两种模式的所有功能都可以在(图2的)线路“时钟”上的时钟信号的单个周期中完成。因此,对于0到511的地址范围,这些模式可以在大约512个时钟周期中完成。为了访问在该实施例外部的并且与微处理器(或其他控制器)相关联的存储器系统中的字,通常需要比时钟的单个周期更多的时间。这种额外的时间可能与延迟相关,例如大RAM的较长访问时间和存储器仲裁延迟。因此,对于使用外部存储器系统的RAM空间并且在实施例中不存在SRAM(块213)的替代实施方式,可能需要增加的时间来完成批量数据恢复模式和批量数据误差检查模式。这些实施例提供了快速恢复数据到控制寄存器并对该控制寄存器执行误差检查的能力,而不需要使用微处理器或控制器中的资源来执行这些任务,并且不需要一系列外部读取和写入操作。
图3是包括示例实施例“控制寄存器电路”(图3的块341)和“微处理器”(图3的块301)的电路300的框图。在一种示例实施方式中,电路300可以被形成为单个集成电路。在另外的示例实施方式中,可以使用板上或模块上的多个集成电路和/或分立部件来形成电路300。可以将多个集成电路封装在单个单元中,例如堆叠的管芯封装或多芯片模块,以便于使用并进一步提高集成度。包括FPGA、CPLD和ASIC器件的用户定义的半定制集成电路可以用于实施图3的电路。也可以使用定制的集成电路。微处理器301可以包括精简指令集计算机(RISC)内核或ARMTM内核。DSP和MSP内核可以与附加功能一起使用,以在单个集成电路或多个集成电路中实施电路300。
如下文所述,图3的电路300采用与图2所示的那些电路对应的电路。图3中的“控制寄存器电路”(块341)对应于图2的电路241。图3的块311(标记为“IP模块”)对应于图2的块211。图3的线路和总线303的群组对应于耦合到图2的块215的输入线和总线。具体地,在图3中标记为“加载使能”、“奇偶校验使能”、“时钟”、“数据输入(0:31)”、“写入使能”和“地址(0:8)”的线路和总线对应于图2中用相同名称标记的线路和总线。图3中标记为“数据输出(0:31)”的32位总线对应于图2的总线“数据输出(0:31)”。图3中标记为“奇偶校验误差”的线路对应于图2的线路“奇偶校验误差”。总线“数据输入(0:31)”是32位总线。总线“地址(0:8)”是9位总线。
图3的线路和总线303的群组被耦合到微处理器(图3的块301)的输出端并耦合到控制寄存器电路(图3的341)的输入端。图3中的总线“数据输出(0:31)”和图3中的线路“奇偶校验误差”被耦合到微处理器(块301)的输入端和控制寄存器电路(块341)的输出端。为了简化说明,在图3中没有示出耦合到微处理器的附加电路(诸如存储器块)。图3的电路300可以被耦合到外部电路(诸如电源、主处理器和天线)。为了简化说明,没有示出此类外部连接件。为了简化说明,在图3中没有示出将微处理器(块301)耦合到IP模块(图3的块311)的线路和总线。这两个块可以被耦合以用于数据传递,例如将数据写入到块311内的“数模”转换器以及从块311内的“模数”转换器读取数据。
可以用来实施图3的块301的某些微处理器可能不被实现为具有允许控制寄存器电路(图3的块341)按照预期起作用的输入信号和输出信号。控制寄存器电路(块341)的功能大致等同于上文所描述的图2的对应电路241的功能。微处理器信号与控制寄存器电路(块341)的输入信号和输出信号的不兼容性的一个示例是微处理器可以使用单个双向数据总线,而不是如图3所示的单独的输入数据总线和输出数据总线。为了解决这些不兼容性,在图3的电路300中可能需要附加电路来耦合图3的块301和块341以实现块341的正确功能。为了简化说明,本文没有描述此类附加电路。在块341外部的电路300中包括这些附加电路允许在没有修改或者对块341进行有限的修改的系统中使用该实施例。因此图3的实施例可以被包括在电路库中以用于在采用不同微处理器的不同集成电路实施方式中的内含物。另外,该实施例可以被包括在例如用在使用不同类型的微处理器的电路板上或模块内的集成电路中。
控制寄存器电路(图3的块341)包括每个32位的512个控制寄存器,这些控制寄存器与图2的寄存器组231相对应。控制寄存器电路(块341)的这512个寄存器的32位输出端被耦合到图3的块311内部的电路。图3中标记为“RD0(0:31)”、“RD1(0:31)”和“RD511(0:31)”的32位总线将这些控制寄存器中的3个控制寄存器的输出位耦合到块311。图3中没有示出与块341的剩余509个控制寄存器耦合的总线,但是如由图3中的总线RD1(0:31)和总线RD511(0:31)之间的点所示,这些总线是存在的。
替代实施例可以用不同于上面描述的那些电路或组件来实施。例如,替代实施例可以被实现为具有以下各项:控制示例实施例的不同输入信号、在控制寄存器内使用的不同类型的存储元件、在控制寄存器内的不同数量的位,以及不同数量的控制寄存器。替代实施例可能需要与此类差别相对应的电路修改,以用于预期的控制寄存器电路的操作。
这些实施例的使用导致控制寄存器电路具有比现有方案实质上更低的集成电路面积。由于在这些实施例中通过仅将存储器输出端耦合到输出数据总线而不是很多控制寄存器的各个位来减少布线要求,所以总布线面积大大减小。去除耦合到所有控制寄存器的输出模块(例如多路复用器)导致节省大量的面积。在一个示例性实施方式中,现有方案的控制寄存器电路需要102254.8平方微米的初始面积,而使用诸如图2的实施例来实现的控制寄存器使用相同的设计工艺合成到96425.3平方微米的初始面积。然后,扩展初始面积以完成布置和布线步骤中所需的布线。在布置之后,现有方案的控制寄存器电路和相关的布线需要184294.4平方微米,而使用这些实施例进行布线的控制寄存器功能导致仅110478.7平方微米的面积。在这个示例中,由于不需要将控制寄存器的输出端布线到中心输出数据总线,所以布局“放大”效应被极大地降低。减小的面积需求导致较小的集成电路管芯和相应较低的制造集成电路管芯的成本。
使用具有存储用于控制寄存器的值的存储器的实施例也增加唤醒操作之后的响应时间。这些实施例内部的存储器和控制器使得快速方法能够将数据恢复到所有控制寄存器,而不需要来自处理器或其他控制器的外部命令。读取寄存器值所需的时间也得到了改进,因为通过使用用于读取寄存器值的存储器来消除与现有方案相关联的布线延迟。
图4以流程图示出了示例方法实施例400。方法400在步骤401处开始,在此步骤中接收模式选择信号。另外,在步骤401中,通过该方法将所有控制寄存器的位输出到受控制的电路。受控制的电路不是这些实施例的一部分。在方法400运行时,控制寄存器位被连续输出到受控制的电路。该方法从步骤401转换到步骤403。
在步骤403处进行比较。如果模式状态信号指示该模式为“正常”模式,则比较结果为真,并且该方法转换到步骤405。在步骤405处,接收写入使能信号和控制寄存器地址。该方法从步骤405转换到步骤407。在步骤407处进行比较。如果写入使能信号指示将要执行写操作,则比较结果为真,并且该方法转换到步骤409。
在步骤409处,接收控制寄存器的内容。从步骤409,该方法转换到步骤411。在步骤411处,控制寄存器内容(参见步骤409)被写入到与控制寄存器地址(参见步骤405)对应的位置处的存储器字。该方法从步骤411转换到步骤413。在步骤413处,将控制寄存器内容(参见步骤409)写入到与控制寄存器地址(参见步骤405)对应的控制寄存器。该方法从步骤413转换到步骤401并重复该方法。返回到步骤407,如果比较结果为假,则指示读取操作,并且该方法转换到步骤415。在步骤415处,读取与控制寄存器地址(参见步骤405)对应的位置处的存储器字的内容。通过该方法输出该存储器字内容。该方法从步骤415转换到步骤401,并且重复该方法。
返回到步骤403,如果比较结果为假,则该方法转换到步骤421。在步骤421处进行比较。如果模式状态信号(参见步骤401)指示该模式为“批量数据恢复”模式,则比较结果为真,并且该方法转换到步骤423。在步骤423处,将控制寄存器地址设置为零。该方法从步骤423转换到步骤425。在步骤425处,读取与控制寄存器地址(参见步骤423和步骤429)对应的位置处的存储器字的内容。该方法从步骤425转移到步骤427。在步骤427处,将步骤425中从存储器读取的存储器字内容写入到与控制寄存器地址(参见步骤423和429)对应的控制寄存器。该方法从步骤427转换到步骤429。在步骤429处,将控制寄存器地址(参见步骤423)设置为当前控制寄存器地址递增1。该方法从步骤429转换到步骤431。在步骤431处进行比较。如果当前控制寄存器地址值大于511,则比较结果为真,并且该方法转换到步骤401并且重复该方法。
返回到步骤431,如果比较结果为假,则该方法转换到步骤425。
返回到步骤421,如果比较结果为假,则该方法转换到步骤441。在步骤441处进行比较。如果模式状态信号(参见步骤401)指示该模式为“批量数据误差检查”模式,则比较结果为真,并且该方法转移到步骤443。在步骤443处,将控制寄存器地址设置为零。该方法从步骤443转换到步骤445。在步骤445处,读取与控制寄存器地址(参见步骤443和451)对应的位置处的存储器字的内容。同样在步骤445处,生成“存储器奇偶校验”位。该存储器奇偶校验位是存储器字内容的函数。该方法从步骤445转换到步骤447。
在步骤447处进行比较。如果由与控制寄存器地址(参见步骤443和步骤451)对应的控制寄存器生成的奇偶校验位等同于在步骤445中生成的存储器奇偶校验位,则比较结果为真,并且该方法转换到步骤451。应当注意的是,所有的控制寄存器连续产生一个奇偶校验位,该奇偶校验位是各个控制寄存器的内容的函数。返回到步骤447,如果比较结果为假,则该方法转换到步骤449。在步骤449处,该方法输出“奇偶校验误差”信号。该方法从步骤449转换到步骤451。在步骤451处,将控制寄存器地址(参见步骤443)设置为当前控制寄存器地址递增1。
该方法从步骤451转换到步骤453。在步骤453处进行比较。如果当前控制寄存器地址大于511,则比较结果为真,并且该方法转换到步骤401,并且重复该方法。
返回到步骤453,如果比较结果为假,则该方法转换到步骤445。
返回到步骤441,如果比较结果为假,则该方法转换到步骤401,并且重复该方法。
应注意,在图4的示例性实施例中示出的步骤的顺序示出执行该方法的一种方案。可以使用不同顺序的步骤来形成替代实施例。例如,步骤411和步骤413的顺序可以颠倒。类似地,步骤403、步骤421和步骤441可以以任何顺序执行。步骤可以被合并或可以在附加步骤中执行。通过去除编号为441至453的步骤,可以实施无需批量数据误差检查模式的替代实施例,并且在步骤421处的比较结果为假使得该方法转换至步骤401。通过修改步骤423、步骤429、步骤431、步骤443、步骤451和步骤453可以实现具有不同于0到511的控制寄存器地址范围以及不连续的地址范围的替代实施例。可以用奇数校验或偶数校验生成方案或使用其它误差编码方法的方案来实施替代实施例。可以实现使用相同的步骤来初始化、递增和测试用于批量数据恢复和批量数据误差检查模式的当前控制寄存器地址的替代实施例。
在所描述的实施例中修改是可能的,并且在权利要求的范围内形成进一步实施例的其他附加布置是可能的。

Claims (20)

1.一种装置,其包括:
包含用于控制电路系统的控制位的一组控制寄存器,所述一组控制寄存器被耦合以从寄存器写入使能线接收寄存器写入使能信号,并且被耦合以从寄存器输入数据总线接收输入数据;
存储器,所述存储器用于存储与存储在所述一组控制寄存器中的所述控制位对应的数据,所述存储器被耦合以从内部地址总线接收地址、被耦合以从输入数据总线接收存储器输入数据并且被耦合以接收存储器写入使能信号;
解码电路系统,其被耦合以从所述内部地址总线接收地址并接收寄存器写入使能信号,并且被耦合以输出所述寄存器写入使能信号;
数据输出总线,其被耦合以从所述存储器接收数据但不连接到所述控制寄存器;以及
控制器,所述控制器被耦合以从地址总线接收地址、被耦合以在所述内部地址总线上输出所述地址、被耦合以输出所述写入使能信号并且被耦合以输出所述存储器写入使能信号,所述控制器被配置为促使数据从输入数据总线写入到控制寄存器处的与在所述地址总线上接收的地址对应的所选择的控制寄存器并且促使将要写入的所述数据被同时存储在所述存储器中与所述地址总线上接收的所述地址对应的存储器位置处。
2.根据权利要求1所述的装置,其中所述控制器进一步被配置为在所述地址总线上接收读取地址并接收读取信号,并且促使在所述数据输出总线上输出存储在所述存储器中与所述一组控制寄存器中的位于所述地址总线上的所述地址处的所述控制寄存器相对应的存储器位置处的数据。
3.根据权利要求1所述的装置,其中所述控制器被进一步配置为确定批量数据恢复模式,并且作为响应,将指针设定到初始地址,将数据从所述存储器中与在所述初始地址处的所述一组控制寄存器中的所选控制寄存器对应的位置输出,在所述数据输出总线上输出所读取的数据,并且将所述数据输出总线上的所读取的数据写入到所述一组控制寄存器中的所选控制寄存器,更新所述指针,并且继续从所述存储器读取数据,将输出的所读取的数据写入到所述一组控制寄存器,并且更新所述指针直到所述一组控制寄存器中的所有控制寄存器都被写入为止。
4.根据权利要求1所述的装置,其还包括耦合到所述输出数据总线的存储器奇偶校验值发生器。
5.根据权利要求4所述的装置,其中所述一组控制寄存器中的所述控制寄存器还包含寄存器奇偶校验电路,所述寄存器奇偶校验电路产生与所述控制寄存器的当前内容对应的奇偶校验。
6.根据权利要求5所述的装置,其中所述控制器进一步被配置为确定批量数据误差检查模式,并且作为响应,设定指针,产生与由所述指针选择的地址处的存储器位置对应的存储器奇偶校验值,从在由所述指针选择的地址处的控制寄存器产生寄存器奇偶校验值,并且指示所述寄存器奇偶校验值和所述存储器奇偶校验值是否匹配。
7.根据权利要求6所述的装置,其中所述控制器进一步被配置为改变所述指针并产生与由所述指针寻址的另一个存储器位置对应的另一个存储器奇偶校验值,并且从在由所述指针选择的地址处的另一个控制寄存器产生另一个寄存器奇偶校验值,并且指示所述另一个存储器奇偶校验值和所述另一个寄存器奇偶校验值是否匹配,并且继续更新所述指针,读取由所述指针指示的所述存储器奇偶校验值和所述寄存器奇偶校验值,并且指示匹配,直到所有的控制寄存器奇偶校验值都被检查。
8.根据权利要求5所述的装置,其中所述控制器被配置为检查在所述地址总线上接收的地址处的所选寄存器的奇偶性,并且所述控制器促使在所述数据输出总线上输出存储在与所述地址对应的存储器地址处的存储器位置处的数据并确定存储器奇偶校验值,并且所述控制器读取由所述地址指示的所述控制寄存器存储的寄存器奇偶校验值,并且所述控制器被配置为输出指示所述存储器奇偶校验值和所述控制寄存器值是否匹配的信号。
9.根据权利要求1所述的装置,其中所述控制寄存器包含与滤波器系数对应的位。
10.根据权利要求1所述的装置,其中所述控制寄存器包含与频率设定值对应的位。
11.根据权利要求1所述的装置,其中所述存储器在低功率模式期间无限期地保持数据。
12.根据权利要求1所述的装置,其中所述存储器是SRAM存储器。
13.根据权利要求1所述的装置,其中所述控制器是状态机。
14.一种方法,其包括:
将多个控制位存储在控制寄存器中,所述控制寄存器具有用于控制功能的输出端;
将所述多个控制位存储在存储器中与所述控制寄存器对应的存储器地址位置处,所述存储器具有耦合到不连接到所述控制寄存器的数据输出总线的数据输出端;
将数据写入到所述控制寄存器中由地址选择的所选控制寄存器,并且同时将所述数据写入到由与所述控制寄存器对应的所述地址指示的存储器位置;以及
从由读取地址选择的存储器位置读取数据,并将所读取的数据输出到所述数据输出总线上,所读取的数据与存储在由所述读取地址选择的所述控制寄存器处的所述控制位对应。
15.根据权利要求14所述的方法,还包括:
检测批量数据恢复模式,并且响应于所述检测,执行以下操作:
设置指示初始地址的指针;
读取存储在由所述指针指示的存储器地址处的存储器位置处的数据;
将所读取的数据写入到具有由所述指针指示的地址的所述控制寄存器中的所选控制寄存器;
确定由所述指针指示的所述地址是否是地址范围中的最后地址;
响应于所述确定,改变所述指针;以及
重复以下步骤:读取存储在存储器位置处的数据,将所读取的数据写入到控制寄存器,以及确定并改变所述指针,直到所述指针到达地址范围中的最后地址值。
16.根据权利要求14所述的方法,还包括:
检测批量数据误差检查模式,并且响应于所述检测:
设置指示初始地址的指针;
读取存储在由所述指针指示的存储器地址处的存储器位置处的数据;
确定用于所读取的数据的存储器奇偶校验值;
产生由所述指针指示的所述控制寄存器的控制寄存器奇偶校验值;
将所述存储器奇偶校验值与所述控制寄存器奇偶校验值进行比较;以及
指示所述存储器奇偶校验值和所述控制寄存器奇偶校验值是否匹配。
17.根据权利要求16所述的方法,并且还包括:
确定所述指针是否在作为地址范围中的最后地址的地址处;
响应于所述确定,更新所述指针并且递归地重复以下步骤:读取所存储的数据,确定存储器奇偶校验值,检索寄存器奇偶校验值,将所述存储器奇偶校验值与所述寄存器奇偶校验值进行比较,指示所述存储器奇偶校验值是否匹配所述寄存器奇偶校验值,并且确定所述指针是否在最后地址处,并且更新所述指针,直到所述指针在地址范围的所述最后地址处。
18.一种集成电路,其包括:
用于存储控制位的多个控制寄存器,所述控制寄存器被耦合以从寄存器输入数据总线接收数据,所述控制寄存器被耦合以接收寄存器写入使能信号,并且所述控制寄存器具有控制功能的输出端;
存储器,其具有与用于存储所述控制位的所述控制寄存器对应的多个存储器位置,所述存储器被耦合以从存储器输入数据总线接收数据,所述存储器被耦合以接收存储器写入使能信号,并且所述存储器具有数据输出端;
输出数据总线,其被耦合以输出从所述存储器的所述数据输出端接收的存储数据,所述输出数据总线不连接到所述控制寄存器;以及
控制器,其被耦合以从地址总线接收地址并接收写入使能信号,所述控制器被配置为输出所述寄存器写入使能信号以将数据从所述输入数据总线写入到由所述地址总线上接收的所述地址指示的控制寄存器,并且同时输出所述存储器写入使能信号,以将所述数据从所述输入数据总线写入到与由所述地址总线上接收的所述地址指示的所述控制寄存器对应的存储器位置,并且所述控制器还被配置为促使所述存储器从与由所述地址总线上接收的读取地址指示的控制寄存器相对应的存储器位置在所述输出数据总线上输出数据。
19.根据权利要求18所述的集成电路,还包括在所述控制寄存器中存储的与存储在所述控制寄存器中的所述控制位的奇偶性对应的寄存器奇偶校验值,以及耦合到所述输出数据总线以产生存储器奇偶校验值的存储器奇偶校验值发生器。
20.根据权利要求18所述的集成电路,其中所述存储器是静态随机存取存储器。
CN201810140265.XA 2017-02-20 2018-02-11 用于缩减面积的控制寄存器电路的方法与装置 Active CN108459876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410384604.4A CN118113351A (zh) 2017-02-20 2018-02-11 用于缩减面积的控制寄存器电路的方法与装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/437,253 2017-02-20
US15/437,253 US10559351B2 (en) 2017-02-20 2017-02-20 Methods and apparatus for reduced area control register circuit

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410384604.4A Division CN118113351A (zh) 2017-02-20 2018-02-11 用于缩减面积的控制寄存器电路的方法与装置

Publications (2)

Publication Number Publication Date
CN108459876A true CN108459876A (zh) 2018-08-28
CN108459876B CN108459876B (zh) 2024-04-12

Family

ID=63167735

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410384604.4A Pending CN118113351A (zh) 2017-02-20 2018-02-11 用于缩减面积的控制寄存器电路的方法与装置
CN201810140265.XA Active CN108459876B (zh) 2017-02-20 2018-02-11 用于缩减面积的控制寄存器电路的方法与装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202410384604.4A Pending CN118113351A (zh) 2017-02-20 2018-02-11 用于缩减面积的控制寄存器电路的方法与装置

Country Status (2)

Country Link
US (2) US10559351B2 (zh)
CN (2) CN118113351A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112687316A (zh) * 2019-10-17 2021-04-20 合肥格易集成电路有限公司 一种提高读写速度的方法、装置及nand闪存
CN116090406B (zh) * 2023-04-07 2023-07-14 湖南国科微电子股份有限公司 乒乓配置电路的随机验证方法、装置、上位机及存储介质
CN116521468B (zh) * 2023-07-05 2023-09-15 西安智多晶微电子有限公司 一种fpga在线调试方法及支持在线调试的fpga

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1116763A (zh) * 1994-07-27 1996-02-14 株式会社日立制作所 半导体存储器
US5757819A (en) * 1994-07-01 1998-05-26 Advanced Risc Machines Limited Integrated circuit test controller
CN1722078A (zh) * 2004-05-08 2006-01-18 三星电子株式会社 存储器装置及其相关的存储器模块、存储器控制器和方法
CN101051528A (zh) * 2006-04-04 2007-10-10 联发科技股份有限公司 以双向缓冲器来高速存取数据的存储器控制器及相关方法
CN101315598A (zh) * 2007-05-30 2008-12-03 三洋电机株式会社 处理器
CN103999055A (zh) * 2011-12-22 2014-08-20 英特尔公司 访问命令/地址寄存器装置中存储的数据
CN106375249A (zh) * 2016-09-22 2017-02-01 盛科网络(苏州)有限公司 交换芯片数据架构、其控制方法及控制系统

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4365332A (en) * 1980-11-03 1982-12-21 Fairchild Camera And Instrument Corp. Method and circuitry for correcting errors in recirculating memories
US4837785A (en) * 1983-06-14 1989-06-06 Aptec Computer Systems, Inc. Data transfer system and method of operation thereof
IT1213344B (it) * 1986-09-17 1989-12-20 Honoywell Information Systems Architettura di calcolatore a tolleranza di guasto.
JP2702769B2 (ja) * 1989-03-28 1998-01-26 松下電器産業株式会社 情報入出力装置と情報入出力方法
US5539891A (en) * 1989-10-13 1996-07-23 Texas Instruments Incorporated Data transfer control circuit with a sequencer circuit and control subcircuits and data control method for successively entering data into a memory
US5291498A (en) * 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
US5537425A (en) * 1992-09-29 1996-07-16 International Business Machines Corporation Parity-based error detection in a memory controller
US5521880A (en) * 1994-05-31 1996-05-28 Sgs-Thomson Microelectronics, Inc. Integrated circuit memory having control circuitry for shared data bus
US5961660A (en) * 1997-03-03 1999-10-05 International Business Machines Corporation Method and apparatus for optimizing ECC memory performance
JP3657428B2 (ja) * 1998-04-27 2005-06-08 株式会社日立製作所 記憶制御装置
US6188595B1 (en) * 1998-06-30 2001-02-13 Micron Technology, Inc. Memory architecture and addressing for optimized density in integrated circuit package or on circuit board
US6415387B1 (en) * 1998-12-14 2002-07-02 International Business Machines Corporation Low power mode computer with simplified power supply
US6441290B2 (en) * 2000-02-01 2002-08-27 Yamaha Corporation Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device
JP2002014809A (ja) * 2000-06-28 2002-01-18 Mitsubishi Electric Corp マイクロプロセッサ並びにアセンブラ、その方法およびそのプログラムを記録した記録媒体
JP2004192488A (ja) * 2002-12-13 2004-07-08 Renesas Technology Corp データプロセッサ及びメモリカード
JP4748950B2 (ja) * 2004-05-25 2011-08-17 株式会社日立製作所 記憶領域管理方法及びシステム
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
US7284082B2 (en) * 2004-08-19 2007-10-16 Lsi Corporation Controller apparatus and method for improved data transfer
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
KR100669352B1 (ko) * 2005-09-07 2007-01-16 삼성전자주식회사 카피 백 프로그램 동작 동안에 에러 검출 및 데이터 리로딩동작을 수행할 수 있는 낸드 플래시 메모리 장치
US8271850B2 (en) * 2005-12-29 2012-09-18 Intel Corporation Fast low-density parity-check code encoder
JP4791909B2 (ja) * 2006-08-21 2011-10-12 株式会社東芝 高速入出力機能を備える制御装置、及びその制御データの制御方法
US7698245B2 (en) * 2006-11-30 2010-04-13 Ford Motor Company Applying rules to validating data for a machine arrangement
US8122217B2 (en) * 2009-05-06 2012-02-21 International Business Machines Corporation Method of a full coverage low power mode for storage systems storing replicated data items
JP2011065630A (ja) * 2009-08-20 2011-03-31 Renesas Electronics Corp データ転送制御装置及びデータ転送制御方法
JP2012190195A (ja) * 2011-03-09 2012-10-04 Fujitsu Ltd 制御装置
US20140281284A1 (en) * 2013-03-13 2014-09-18 Lsi Corporation Multi-read port memory
US20150067235A1 (en) * 2013-08-27 2015-03-05 Kabushiki Kaisha Toshiba Memory system and data writing method
KR102336455B1 (ko) * 2015-01-22 2021-12-08 삼성전자주식회사 집적 회로 및 집적 회로를 포함하는 스토리지 장치
US9734127B2 (en) * 2015-02-05 2017-08-15 Weng Tianxiang Systematic method of synthesizing wave-pipelined circuits in HDL
US9697145B2 (en) * 2015-06-12 2017-07-04 Apple Inc. Memory interface system
US9990311B2 (en) * 2015-12-28 2018-06-05 Andes Technology Corporation Peripheral interface circuit
US10229066B2 (en) * 2016-09-30 2019-03-12 Arm Limited Queuing memory access requests

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757819A (en) * 1994-07-01 1998-05-26 Advanced Risc Machines Limited Integrated circuit test controller
CN1116763A (zh) * 1994-07-27 1996-02-14 株式会社日立制作所 半导体存储器
CN1722078A (zh) * 2004-05-08 2006-01-18 三星电子株式会社 存储器装置及其相关的存储器模块、存储器控制器和方法
CN101051528A (zh) * 2006-04-04 2007-10-10 联发科技股份有限公司 以双向缓冲器来高速存取数据的存储器控制器及相关方法
CN101315598A (zh) * 2007-05-30 2008-12-03 三洋电机株式会社 处理器
CN103999055A (zh) * 2011-12-22 2014-08-20 英特尔公司 访问命令/地址寄存器装置中存储的数据
CN106375249A (zh) * 2016-09-22 2017-02-01 盛科网络(苏州)有限公司 交换芯片数据架构、其控制方法及控制系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张轩等: "一种6读2写多端口寄存器堆的全定制实现", 《计算机工程》 *

Also Published As

Publication number Publication date
US20180239530A1 (en) 2018-08-23
CN108459876B (zh) 2024-04-12
US20200152261A1 (en) 2020-05-14
CN118113351A (zh) 2024-05-31
US11631454B2 (en) 2023-04-18
US10559351B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
US7551468B2 (en) 276-pin buffered memory module with enhanced fault tolerance
US7389375B2 (en) System, method and storage medium for a multi-mode memory buffer device
US7821849B2 (en) Configurable embedded processor
CN103744009A (zh) 一种串行传输芯片测试方法、系统及集成芯片
US7925823B2 (en) Reuse of functional data buffers for pattern buffers in XDR DRAM
CN108459876A (zh) 用于缩减面积的控制寄存器电路的方法与装置
US20230393856A1 (en) Avoiding Use of a Subarray of Configurable Units Having a Defect
TWI631355B (zh) 用於元件集合的高效測試的通信及控制拓撲結構
JP2009048674A (ja) 半導体集積回路
Benso et al. A programmable BIST architecture for clusters of multiple-port SRAMs
US20120250445A1 (en) Semiconductor apparatus
US7319624B2 (en) Memory built in self test circuit and method for generating a hardware circuit comprising the routing boxes thereof
US6542945B1 (en) Instant configuration of a digital device
Jone et al. An efficient BIST method for distributed small buffers
US11409540B1 (en) Routing circuits for defect repair for a reconfigurable data processor
JPH1063704A (ja) 半導体試験装置
CN117851146A (zh) 针对小芯片的fpga原型验证系统和原型验证方法
JP2824853B2 (ja) パターンデータ書込み方式
WO2024145082A1 (en) Full dynamic post-package repair
US5943492A (en) Apparatus and method for generating external interface signals in a microprocessor
CN117453175A (zh) 一种先进先出数据缓存器、数据处理方法及相关设备
US7904766B1 (en) Statistical yield of a system-on-a-chip
JPS62219300A (ja) 半導体集積回路
JP3177975B2 (ja) 1チップマイクロコンピュータ
JPH11184678A (ja) パターン発生器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant