[go: up one dir, main page]

CN113947051B - A method, system and device for allocating registers of memory pins - Google Patents

A method, system and device for allocating registers of memory pins Download PDF

Info

Publication number
CN113947051B
CN113947051B CN202111193259.9A CN202111193259A CN113947051B CN 113947051 B CN113947051 B CN 113947051B CN 202111193259 A CN202111193259 A CN 202111193259A CN 113947051 B CN113947051 B CN 113947051B
Authority
CN
China
Prior art keywords
memory
pin
register
pins
same type
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.)
Active
Application number
CN202111193259.9A
Other languages
Chinese (zh)
Other versions
CN113947051A (en
Inventor
刘振声
黄运新
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.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics Co Ltd
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 Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN202111193259.9A priority Critical patent/CN113947051B/en
Publication of CN113947051A publication Critical patent/CN113947051A/en
Application granted granted Critical
Publication of CN113947051B publication Critical patent/CN113947051B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The application discloses a register allocation method, a system and a device of a memory pin under a built-in self test of a memory. The application allocates the same register for the memory pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values on the chip, thereby greatly reducing the number of the registers allocated for the memory pins on the chip, further reducing the area and cost of the chip, reducing the programming workload and programming error rate of the RTL design of the chip, realizing a full-automatic process, and reducing the labor cost and the artificial error probability.

Description

Register allocation method, system and device for memory pins
Technical Field
The present invention relates to the field of memories, and in particular, to a method, a system, and an apparatus for allocating registers of a memory pin.
Background
In MBIST (MemoryBuilt-INSELFTEST, memory built-in self-test) design of a memory, a corresponding controller needs to be provided to the memory in order to control the behavior of the memory in MBIST test.
Currently, pins of a memory need to be initialized before MBIST testing to adjust the memory to a test state, i.e., external circuitry needs to be set to initialize the pins of the memory. Based on the connection between the controller and the test pins related to MBIST test on the memory, these test pins are usually initialized by the controller, but besides these test pins, some pins not connected to the controller on the memory need to be initialized, such as power consumption control pins and timing adjustment pins, otherwise, the MBIST test effect of the memory is affected, and these pins to be initialized are configured by adding TDR (TEST DATA REGISTER ), specifically, a TDR register is connected to one pin, and the initialization configuration value corresponding to the pin is written into the connected register.
However, in a large SOC (System on Chip) Chip, there may be hundreds or even more memories, which together may have thousands of pins that require registers to be configured, resulting in a larger number of registers, and thus a larger Chip area and higher cost. In addition, the RTL (REGISTER TRANSFER LEVEL, register conversion level circuit) design of the SOC chip is a manual writing of hardware description language to describe the circuit structure and circuit function, which can be a very heavy and complex task if so many registers are manually written in the RTL design; moreover, manually writing so many registers in an RTL design introduces a high probability of errors, thereby increasing the cost of making errors.
Therefore, how to provide a solution to the above technical problem is a problem that a person skilled in the art needs to solve at present.
Disclosure of Invention
The invention aims to provide a register allocation method, a system and a device for memory pins, which are based on built-in self-test of a memory, so that the number of registers allocated to the memory pins on a chip is greatly reduced, the area and the cost of the chip are reduced, the programming workload and the programming error rate of RTL design of the chip are reduced, a full-automatic process is realized, and the labor cost and the artificial error probability are reduced.
In order to solve the above technical problems, the present invention provides a method for allocating registers of memory pins, based on built-in self-test of memory, comprising:
classifying all memories on a chip according to the types of the memories to obtain memories of the same type on the chip;
determining a target pin which is required to be configured by a register on the same type of memory according to the pin initialization requirement of the same type of memory;
Determining the initialization configuration value of a target pin on each memory of the same type according to the preset corresponding relation between the memory parameters and the pin initialization configuration values of the same type;
and allocating the same register for the target pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values, so as to finish the register allocation of the target pins on each memory.
Optionally, a preset process of the correspondence between the memory parameter and the pin initialization configuration value under the same type includes:
According to the type, depth, bit width and column multiplexing selector and voltage threshold value of each memory, an initialization configuration value is defined for each pin needing to be configured by a register on each memory, so as to obtain the corresponding relation between the memory parameters and the pin initialization configuration values under the same type.
Optionally, allocating the same register to the target pins which are located on different memories of the same type and have identical pin bit widths and initialization configuration values, includes:
Distributing registers for target pins on each memory one by one;
and merging the registers allocated by the target pins which are positioned on different memories of the same type and consistent in pin bit width and initialization configuration values.
Optionally, allocating the same register to the target pins which are located on different memories of the same type and have identical pin bit widths and initialization configuration values, includes:
Dividing target pins which are positioned on different memories of the same type and have consistent pin bit widths and initialization configuration values into the same group of target pins;
and allocating the same register for the same group of target pins.
Optionally, the register allocation method of the memory pin further includes:
And according to the register allocation condition of the target pins on each memory, automatically generating an RTL file for describing the connection relation between the target pins and the registers of each memory.
Optionally, according to the register allocation situation of the target pin on each memory, autonomously generating an RTL file for describing the connection relation between the target pin and the register of each memory includes:
according to the register allocation situation of the target pins on each memory, an EDA tool is utilized to autonomously generate a configuration file for representing the connection relation between the target pins of each memory and the registers;
And converting the configuration file into an ICL file, and converting the ICL file into an RTL file.
Optionally, the register allocation method of the memory pin further includes:
According to the initialization configuration values of the target pins on the memories, determining the initialization configuration values corresponding to each register connected with the memories;
and autonomously generating a PDL file representing the initialization configuration value corresponding to each register for each register so as to realize the configuration of each register based on the PDL file.
In order to solve the above technical problem, the present invention further provides a register allocation system for memory pins, based on a built-in self-test of a memory, including:
The memory classification module is used for classifying all memories on a chip according to the memory types to obtain memories of the same type on the chip;
the pin determining module is used for determining a target pin which is required to be configured by a register on the memory of the same type according to the pin initializing requirement of the memory of the same type;
the configuration value determining module is used for determining the initialization configuration value of the target pin on each memory of the same type according to the corresponding relation between the preset memory parameters of the same type and the pin initialization configuration values;
and the register allocation module is used for allocating the same register to the target pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values so as to finish the register allocation of the target pins on each memory.
Optionally, the register allocation system of the memory pin further includes:
And the file generation module is used for autonomously generating an RTL file for describing the connection relation between the target pins and the registers of the memories according to the register allocation situation of the target pins on the memories.
In order to solve the above technical problem, the present invention further provides a register allocation device for a memory pin, based on a built-in self-test of a memory, including:
a memory for storing a computer program;
a processor for implementing the steps of any of the memory pin register allocation methods described above when executing the computer program.
The application provides a register allocation method of memory pins, which classifies memories on a chip according to memory types based on built-in self-test of the memories to obtain memories of the same type on the chip; determining a target pin which needs to be configured by a register on the same type of memory according to the pin initialization requirement of the same type of memory; determining the initialization configuration value of a target pin on each memory of the same type according to the preset corresponding relation between the memory parameters and the pin initialization configuration values of the same type; the same register is allocated for the target pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values, so that the register allocation of the target pins on each memory is completed. Therefore, the application allocates the same register for the memory pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values on the chip, thereby greatly reducing the number of the registers allocated for the memory pins on the chip, further reducing the area and cost of the chip, reducing the programming workload and programming error rate of RTL design of the chip, realizing a full-automatic process, and reducing the labor cost and the artificial error probability.
The invention also provides a register allocation system and a register allocation device for the memory pins, which have the same beneficial effects as the register allocation method based on the built-in self test of the memory.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required in the prior art and the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a method for allocating registers of a memory pin according to an embodiment of the present invention;
FIG. 2 is a flowchart of a method for allocating registers of a memory pin according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of an MBIST test of a memory according to an embodiment of the present invention;
fig. 4 is a schematic diagram of a register allocation system for memory pins according to an embodiment of the present invention.
Detailed Description
The core of the invention is to provide a register allocation method, a system and a device for memory pins, which are based on built-in self-test of a memory, so that the number of registers allocated to the memory pins on a chip is greatly reduced, the area and the cost of the chip are reduced, the programming workload and the programming error rate of RTL design of the chip are reduced, a full-automatic process is realized, and the labor cost and the artificial error probability are reduced.
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Referring to fig. 1, fig. 1 is a flowchart of a method for allocating registers of a memory pin according to an embodiment of the invention.
The register allocation method of the memory pin is based on the built-in self test of the memory and comprises the following steps:
Step S1: and classifying the memories on the chip according to the memory types to obtain the memories of the same type on the chip.
In particular, in large chip designs, internal memory requirements are increasing such that the memory area on the chip is typically over 50% and the number of memories is significant. Among the many memories of the chip, the types of memories are more than one, and some are even more than ten, including a high-performance single-port memory, a high-density dual-port memory, a high-density read-only memory and the like.
Considering that pins of memories of different types to be initialized before MBIST test are different, the application classifies all memories on a chip according to the memory types to obtain memories of the same type on the chip, namely, all memories of each type on the chip are counted according to the memory types, and all memories of each type on the chip can be correspondingly stored in a corresponding list of each type.
Step S2: and determining a target pin which needs to be configured by adopting a register on the same type of memory according to the pin initialization requirement of the same type of memory.
Specifically, pins that need to be initialized before MBIST testing are the same for the same type of memory, i.e., the pin initialization requirements (referring to which pins of the memory need to be initialized) are the same for the same type of memory; the pins that need to be initialized before MBIST testing are different for different types of memories, i.e., the pin initialization requirements are different for different types of memories.
Taking a memory of a target type as an example, the application determines a pin to be initialized on the memory of the target type on a chip according to the pin initialization requirement of the memory of the target type. Since the test pins related to MBIST test on the memory of the target type (which are connected based on the controller and the test pins related to test on the memory, so that the initialization is realized by the controller) are known, the application removes the test pins to be initialized on the memory of the target type on the chip by the controller, and the rest is the target pins (common power consumption control pins and time sequence adjustment pins) which need to be configured by the register on the memory of the target type, so that the target pins which need to be configured by the register on each memory after classification are counted.
Step S3: and determining the initialization configuration value of the target pin on each memory of the same type according to the preset corresponding relation between the memory parameters and the pin initialization configuration values of the same type.
Specifically, the application sets the corresponding relation between the parameters of the memory and the initializing configuration values of the pins under the same type in advance, namely, the parameters of the memory of the same type are different, the initializing configuration values of the pins on the memory are different, and the parameters and the initializing configuration values of the pins have a certain corresponding relation. It should be noted that, under each memory type, the corresponding relationship between the memory parameter and the pin initialization configuration value is set.
Taking a memory of a target type as an example, the method firstly acquires the memory parameters of all memories of the target type, and then can determine the initialization configuration value of the target pin needing to be configured by adopting a register on each memory of the target type according to the corresponding relation between the memory parameters and the pin initialization configuration value under the preset target type.
Step S4: the same register is allocated for the target pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values, so that the register allocation of the target pins on each memory is completed.
Specifically, considering that there are target pins with consistent pin bit widths and initialization configuration values on different memories of the same type, the target pins can share the same register (the registers which are referred to as the pin allocation of the memories in the application are all referred to as TDR registers), so the application allocates the same register for the target pins which are positioned on different memories of the same type and consistent in pin bit widths and initialization configuration values, thereby completing the register allocation of the target pins on all memories on a chip.
Therefore, the application allocates the same register for the memory pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values on the chip, thereby greatly reducing the number of the registers allocated for the memory pins on the chip, further reducing the area and cost of the chip, reducing the programming workload and programming error rate of RTL design of the chip, realizing a full-automatic process, and reducing the labor cost and the artificial error probability.
Based on the above embodiments:
as an optional embodiment, the presetting process of the correspondence between the memory parameter and the pin initialization configuration value under the same type includes:
According to the type, depth, bit width and column multiplexing selector and voltage threshold value of each memory, an initialization configuration value is defined for each pin needing to be configured by a register on each memory, so as to obtain the corresponding relation between the memory parameters and the pin initialization configuration values under the same type.
Specifically, the application can define an initialization configuration value for each pin needing to be configured by a register on each memory according to the type, depth (WD), bit width (IO, depth multiplied by bit width is equal to capacity of the memory), column multiplexing selector (mux, related to a coding circuit of the memory) and voltage threshold (VT, representing storage speed of the memory, including ULVT (Ultra Low Voltage Threshold, ultra-low voltage threshold), LVT (Low Voltage Threshold ) and SVT (Standard Voltage Threshold, standard voltage threshold)).
As shown in table 1 below, the correspondence between memory parameters and the initialization configuration values of the timing adjustment pins WTSEL for a certain type is described:
TABLE 1
If the parameters of one memory are: depth wd=64, bit width io=32, column multiplexer selector mux=8, and voltage threshold LVT, the initialization configuration value of the timing adjust pin WTSEL of the memory is 11.
It should be noted that, the application can write a function algorithm to cover the configuration table of each type of memory pins, so as to automatically determine the initialization configuration value of the pins according to the parameters of the memory, and improve the working efficiency.
As an alternative embodiment, allocating the same register to a target pin located on a different memory of the same type and having a consistent pin bit width and initialization configuration value, includes:
allocating registers for target pins on each memory one by one;
and merging the registers allocated by the target pins which are positioned on different memories of the same type and consistent in pin bit width and initialization configuration values.
Specifically, the first register allocation manner of the target pins on each memory of the chip is as follows: 1) Registers are allocated to all target pins on the memory of the chip one by one, namely one register is allocated to one target pin; 2) And merging the registers allocated by the target pins which are positioned on different memories of the same type and have consistent pin bit widths and initialization configuration values, namely sharing the same register by the target pins which are positioned on different memories of the same type and have consistent pin bit widths and initialization configuration values.
For example, the timing adjust pins WTSEL of three memories are combined to be controlled by a TDR register sri_tdr_ wtsel:
Tdr(sri_tdr_wtsel){
DataOutPorts{port_name:wtsel;
Connection(1:0):memory1/WTSEL;
Connection(1:0):memory2/WTSEL;
Connection(1:0):memory3/WTSWL;}
}
where sri_tdr_ wtsel is the name of the TDR register.
DataOutPorts port _name wtsel means that the output port name of the TDR register is wtsel.
Connection (1:0) memory1/WTSEL; connection (1:0) memory2/WTSEL; connection (1:0) memory3/WTSEL describes memory1, memory2 and memory3 pins WTSEL have a bit width of 2, the TDR register output port wtsel also has a bit width of 2, and the TDR register output port wtsel is connected to three memory pins WTSEL simultaneously, thereby achieving the purpose of combining TDR registers.
As an alternative embodiment, allocating the same register to a target pin located on a different memory of the same type and having a consistent pin bit width and initialization configuration value, includes:
Dividing target pins which are positioned on different memories of the same type and have consistent pin bit widths and initialization configuration values into the same group of target pins;
The same register is allocated for the same set of target pins.
Specifically, the second register allocation manner of the target pins on each memory of the chip is as follows: 1) Dividing target pins which are positioned on different memories of the same type and have consistent pin bit widths and initialization configuration values into the same group of target pins, namely, each target pin in the same group of target pins is respectively positioned on different memories of the same type, and the pin bit widths and the initialization configuration values of all the target pins in the same group of target pins are consistent; 2) The same register is allocated for the same group of target pins, namely, all target pins in the same group of target pins share the same register.
The first register allocation mode and the second register allocation mode of the target pins on each memory of the chip are selected.
As an alternative embodiment, the register allocation method of the memory pin further includes:
And according to the register allocation condition of the target pins on each memory, autonomously generating an RTL file for describing the connection relation between the target pins and the registers of each memory.
Further, considering that the TDR register is written in the RTL design of the chip manually at present, time and labor are wasted, and errors can be possibly introduced due to human participation, the application autonomously generates the RTL file for describing the connection relation between the target pins and the registers of each memory according to the register allocation condition of the target pins on each memory of the chip, thereby being integrated in the whole RTL design of the chip, greatly saving labor cost and reducing error probability.
It should be noted that in integrated circuit designs, RTL is an abstraction level used to describe the operation of synchronous digital circuits. At the RTL level, the chip is made up of a set of registers and logical operations between registers. This is so because most circuits can be seen as storing binary data by registers, completing the processing of the data by logical operations between registers, the flow of the data processing being controlled by a sequential state machine, these processes and controls being described in a hardware description language.
As an alternative embodiment, autonomously generating an RTL file for describing a connection relationship between a target pin and a register of each memory according to a register allocation condition of the target pin on each memory includes:
According to the register allocation situation of the target pins on each memory, automatically generating a configuration file for representing the connection relation between the target pins and the registers of each memory by using an EDA tool;
The configuration file is converted to an ICL file, and the ICL file is converted to an RTL file.
Specifically, the RTL file generation flow of the application is as follows: 1) According to the register allocation situation of the target pins on each memory of the chip, an EDA (Electronics Design Automation, electronic design automation) tool (such as Tessent) is utilized to autonomously generate a configuration file for representing the connection relation between the target pins and the registers of each memory; 2) Automatically converting the configuration file into an ICL (Instrument Connectivity Language, instrument connection language) file recognizable by the ijag (Internal Joint Test Action Group, IEEE1687 standard) network (describing the connection of the ijag network to connect the TDR register into the ijag network); 3) The ICL file is automatically converted into a circuit implementable RTL file.
As an alternative embodiment, the register allocation method of the memory pin further includes:
according to the initialization configuration value of the target pin on each memory, determining the initialization configuration value corresponding to each register connected with each memory;
a PDL file characterizing the initialization configuration values corresponding to each register is autonomously generated for each register to enable configuration of each register based on the PDL file.
Further, according to the initialization configuration values of the target pins on the memories of the chip, the application can also determine the initialization configuration value corresponding to each register connected to the memories of the chip, for example, if the initialization configuration value of the timing adjustment pin WTSEL of one memory is 11, the initialization configuration value corresponding to the register connected to the timing adjustment pin WTSEL of the memory is 11. Then, the present application autonomously generates a PDL (Procedural Description Language, process description language) file (PDL file example describing configuration initialization: write data function→write data function assign initialization configuration value to output terminal of TDR register→write data function call by each TDR register) characterizing the initialization configuration value corresponding to each register for each register of each memory connection of the chip, so as to realize quick configuration of TDR registers based on PDL file.
In addition, the application can also generate an IJTAG network of the circuit containing the target pin connection register of each memory based on the ICL file, and then correspondingly write the initialization configuration value of the PDL file into the register in the IJTAG network so as to realize the initialization configuration of the target pin on each memory in the IJTAG network. Specifically, the configuration procedure of the TDR register may be specifically set as follows: the value to be configured of the pin of the memory connected with the TDR register is scanned into the TDR register through the TDI pin (TDI: test data input pin) of the TAP (TEST ACCESS Port ) controller, and then part of the control end pins of the memory are initialized through the TDR register.
In summary, as shown in fig. 2, the present application provides a method for quickly extracting pins of a memory required to be configured, quickly configuring and connecting TDR registers, and finally integrating into an RTL design, where the steps in fig. 2 may be packaged into a set of relatively complete program to implement, so that when an MBIST test circuit is developed, a designer only needs to run the program to add corresponding TDR registers to pins of all memories required to be configured in the whole chip, and integrate into the RTL design, thereby avoiding repeated manual work, reducing error probability, and improving working efficiency.
In addition, as shown in fig. 3, the MBIST test principle of the memory is:
in fig. 3, SRAM (Static Random-Access Memory) is a Memory under test; an MBIST controller is a controller for controlling the behavior of a memory under test during MBIST testing and includes an FSM (FINITE STATE MACHINE ) and MBIST comparison circuitry (compiler). For memories, the input pins are nothing Address (Address), data (Data), control (Control) pins. In MBIST testing, a selector is added to each input pin of the memory to determine whether it is a functional Logic (Logic) input or an MBIST input, and the selection signal of the selector is controlled by an MBIST controller. The outputs of the memory are respectively to the functional logic and MBIST comparison circuit. The MBIST controller generates the test vector and also generates the expected observed value to be input to the comparator to compare the expected observed value with the real output of the memory, and if the real output of the memory is the same as the expected observed value, the memory is perfect, so that no problem exists.
Referring to fig. 4, fig. 4 is a schematic diagram of a register allocation system for memory pins according to an embodiment of the invention.
The memory pin register allocation system is based on memory built-in self-test, comprising:
The memory classification module 1 is used for classifying all memories on the chip according to the memory types to obtain memories of the same type on the chip;
the pin determining module 2 is used for determining a target pin which needs to be configured by adopting a register on the same type of memory according to the pin initializing requirement of the same type of memory;
The configuration value determining module 3 is configured to determine an initialization configuration value of a target pin on each memory of the same type according to a preset correspondence between memory parameters and pin initialization configuration values of the same type;
The register allocation module 4 is configured to allocate the same register to the target pins that are located in different memories of the same type and have identical pin bit widths and initialization configuration values, so as to complete the register allocation of the target pins on each memory.
As an alternative embodiment, the register allocation system of the memory pin further includes:
and the file generation module is used for autonomously generating an RTL file for describing the connection relation between the target pins and the registers of each memory according to the register allocation situation of the target pins on each memory.
The description of the register allocation system provided by the present application refers to the embodiment of the above register allocation method, and the disclosure is not repeated here.
The application also provides a register allocation device of the memory pin, which is based on the built-in self test of the memory and comprises the following steps:
a memory for storing a computer program;
A processor for implementing the steps of any of the memory pin register allocation methods described above when executing a computer program.
The description of the register allocation apparatus provided by the present application refers to the embodiment of the register allocation method, and the disclosure is not repeated here.
It should also be noted that in this specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (9)

1. A method for allocating registers of a memory pin based on a built-in self test of a memory, comprising:
classifying all memories on a chip according to the types of the memories to obtain memories of the same type on the chip;
determining a target pin which is required to be configured by a register on the same type of memory according to the pin initialization requirement of the same type of memory;
Determining the initialization configuration value of a target pin on each memory of the same type according to the preset corresponding relation between the memory parameters and the pin initialization configuration values of the same type;
Allocating the same register for target pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values, so as to finish the register allocation of the target pins on each memory;
The presetting process of the corresponding relation between the memory parameter and the pin initialization configuration value under the same type comprises the following steps:
According to the type, depth, bit width and column multiplexing selector and voltage threshold value of each memory, an initialization configuration value is defined for each pin needing to be configured by a register on each memory, so as to obtain the corresponding relation between the memory parameters and the pin initialization configuration values under the same type.
2. The method of memory pin register allocation according to claim 1, wherein allocating the same register to a target pin which is located on a different memory of the same type and whose pin bit width and initialization configuration value are identical, comprises:
Distributing registers for target pins on each memory one by one;
and merging the registers allocated by the target pins which are positioned on different memories of the same type and consistent in pin bit width and initialization configuration values.
3. The method of memory pin register allocation according to claim 1, wherein allocating the same register to a target pin which is located on a different memory of the same type and whose pin bit width and initialization configuration value are identical, comprises:
Dividing target pins which are positioned on different memories of the same type and have consistent pin bit widths and initialization configuration values into the same group of target pins;
and allocating the same register for the same group of target pins.
4. A memory pin register allocation method according to any one of claims 1-3, further comprising:
And according to the register allocation condition of the target pins on each memory, automatically generating an RTL file for describing the connection relation between the target pins and the registers of each memory.
5. The method for allocating registers to pins of a memory according to claim 4, wherein autonomously generating an RTL file describing a connection relationship between the pins of the memory and the registers according to the allocation of registers to the pins of the memory comprises:
according to the register allocation situation of the target pins on each memory, an EDA tool is utilized to autonomously generate a configuration file for representing the connection relation between the target pins of each memory and the registers;
And converting the configuration file into an ICL file, and converting the ICL file into an RTL file.
6. The memory pin register allocation method of claim 4, wherein the memory pin register allocation method further comprises:
According to the initialization configuration values of the target pins on the memories, determining the initialization configuration values corresponding to each register connected with the memories;
and autonomously generating a PDL file representing the initialization configuration value corresponding to each register for each register so as to realize the configuration of each register based on the PDL file.
7. A memory pin based register allocation system based on memory built-in self-test, comprising:
The memory classification module is used for classifying all memories on a chip according to the memory types to obtain memories of the same type on the chip;
the pin determining module is used for determining a target pin which is required to be configured by a register on the memory of the same type according to the pin initializing requirement of the memory of the same type;
the configuration value determining module is used for determining the initialization configuration value of the target pin on each memory of the same type according to the corresponding relation between the preset memory parameters of the same type and the pin initialization configuration values;
the register allocation module is used for allocating the same register to the target pins which are positioned on different memories of the same type and have consistent pin bit width and initialization configuration values so as to finish the register allocation of the target pins on each memory;
The presetting process of the corresponding relation between the memory parameter and the pin initialization configuration value under the same type comprises the following steps:
According to the type, depth, bit width and column multiplexing selector and voltage threshold value of each memory, an initialization configuration value is defined for each pin needing to be configured by a register on each memory, so as to obtain the corresponding relation between the memory parameters and the pin initialization configuration values under the same type.
8. The memory pin register allocation system of claim 7, wherein said memory pin register allocation system further comprises:
And the file generation module is used for autonomously generating an RTL file for describing the connection relation between the target pins and the registers of the memories according to the register allocation situation of the target pins on the memories.
9. A memory pin based register allocation apparatus based on memory built-in self-test, comprising:
a memory for storing a computer program;
A processor for implementing the steps of the register allocation method of a memory pin according to any of claims 1-6 when executing said computer program.
CN202111193259.9A 2021-10-13 2021-10-13 A method, system and device for allocating registers of memory pins Active CN113947051B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111193259.9A CN113947051B (en) 2021-10-13 2021-10-13 A method, system and device for allocating registers of memory pins

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111193259.9A CN113947051B (en) 2021-10-13 2021-10-13 A method, system and device for allocating registers of memory pins

Publications (2)

Publication Number Publication Date
CN113947051A CN113947051A (en) 2022-01-18
CN113947051B true CN113947051B (en) 2024-11-22

Family

ID=79330345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111193259.9A Active CN113947051B (en) 2021-10-13 2021-10-13 A method, system and device for allocating registers of memory pins

Country Status (1)

Country Link
CN (1) CN113947051B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117007950A (en) * 2022-04-29 2023-11-07 华为技术有限公司 Method, apparatus, device, medium and program product for configuring IJTAG circuitry

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109885850A (en) * 2018-10-11 2019-06-14 中国科学院微电子研究所 A method and system for generating local registers
CN111562946A (en) * 2020-05-06 2020-08-21 青岛信芯微电子科技股份有限公司 Data processing method and chip

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100909A1 (en) * 2011-12-27 2013-07-04 Intel Corporation Adaptive configuration of non-volatile memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109885850A (en) * 2018-10-11 2019-06-14 中国科学院微电子研究所 A method and system for generating local registers
CN111562946A (en) * 2020-05-06 2020-08-21 青岛信芯微电子科技股份有限公司 Data processing method and chip

Also Published As

Publication number Publication date
CN113947051A (en) 2022-01-18

Similar Documents

Publication Publication Date Title
US7856546B2 (en) Configurable processor module accelerator using a programmable logic device
US7856545B2 (en) FPGA co-processor for accelerated computation
JP4500772B2 (en) Reconfiguring programmable logic in integrated circuits.
KR100458371B1 (en) Reconfigurable computing system
EP0978124B1 (en) A method for testing integrated memory using an integrated dma controller
JP3995751B2 (en) System and method for emulating memory
US6588006B1 (en) Programmable ASIC
US20210011863A1 (en) Non-volatile memory based processors and dataflow techniques
JP3640350B2 (en) Programmable memory built-in self-test combining microcode and finite state machine self-test
CN106816178A (en) A kind of Design of Built-in Self-Test method of polylith in-line memory on single-chip
CN113947051B (en) A method, system and device for allocating registers of memory pins
CN106383938B (en) FPGA memory inference method and device
US9792395B1 (en) Memory utilization in a circuit design
CN114115507B (en) Memory and method for writing data
US7797666B1 (en) Systems and methods for mapping arbitrary logic functions into synchronous embedded memories
Khalifa Extendable generic base verification architecture for flash memory controllers based on UVM
US8046643B2 (en) Transport subsystem for an MBIST chain architecture
US7305633B2 (en) Distributed configuration of integrated circuits in an emulation system
JP2004022014A (en) Semiconductor device and method for testing the same
CN107247577A (en) A kind of method of configuration SOCIP cores, apparatus and system
El-Shiekh et al. IPXACT-Based RTL Generation Tool
Sangode et al. DESIGN AND VERIFICATION OF MEMORY BY USING UVM METHODOLOGY.
Arshak et al. Using multibooting approach to reduce the FPGA device utilization and to create a redundant system
CN101231616B (en) Memory sharing method
CN118591842A (en) Method and apparatus for characterizing memory

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518000 3501, venture capital building, No. 9, Tengfei Road, huanggekeng community, Longcheng street, Longgang District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Dapu Microelectronics Co.,Ltd.

Country or region after: China

Address before: 518000 room 3501, venture capital building, No. 9, Tengfei Road, Longgang District, Shenzhen, Guangdong Province

Patentee before: SHENZHEN DAPU MICROELECTRONICS Co.,Ltd.

Country or region before: China