CN114564910A - Method for balancing time sequence - Google Patents

Method for balancing time sequence Download PDF

Info

Publication number
CN114564910A
CN114564910A CN202210185981.6A CN202210185981A CN114564910A CN 114564910 A CN114564910 A CN 114564910A CN 202210185981 A CN202210185981 A CN 202210185981A CN 114564910 A CN114564910 A CN 114564910A
Authority
CN
China
Prior art keywords
design
modules
time sequence
memory
register
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.)
Pending
Application number
CN202210185981.6A
Other languages
Chinese (zh)
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.)
Shanghai Huahong Grace Semiconductor Manufacturing Corp
Original Assignee
Shanghai Huahong Grace Semiconductor Manufacturing Corp
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 Shanghai Huahong Grace Semiconductor Manufacturing Corp filed Critical Shanghai Huahong Grace Semiconductor Manufacturing Corp
Priority to CN202210185981.6A priority Critical patent/CN114564910A/en
Publication of CN114564910A publication Critical patent/CN114564910A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device

Landscapes

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

Abstract

The invention provides a method for balancing time sequence, which comprises the steps of providing a design layout, wherein the design layout comprises a plurality of design modules, and each design module comprises a plurality of ports; defining a design module needing time sequence balance; setting a design rule of time sequence balance, wherein the design rule comprises that the defined design modules are arranged in parallel at a set distance, so that when ports among the defined design modules are connected, the bus length of the connection is shortest; and resetting the positions of the plurality of design modules according to the design rules, and connecting the ports among the design modules. The method of the invention finds out modules related to address and data, and places units related to timing sequence balance close to ensure that bus connection is balanced and routing is short, and the bus connection is balanced and short due to the redesigned layout, the data register corresponds to a memory port.

Description

Method for balancing time sequence
Technical Field
The invention relates to the technical field of semiconductors, in particular to a method for balancing time sequences.
Background
The memory design kit needs to provide a timing model, and the precision of the timing model is related to the speed of the memory application when the address establishment time and the access time are modeled. Typically, the address setup time is only within 1ns (130 below process), and errors between address buses directly affect the address setup modeling accuracy. Conventional bus circuits and corresponding layouts are shown in fig. 1 to 4, and because the positions of modules or units are different, the connection lengths between buses are greatly different, and corresponding parasitic capacitances are also different.
When the modules or units are placed, the lengths of paths between high and low bits of the bus are not fully considered, which causes unbalanced connection between high and low bits of the bus (data and address bus), thereby causing the difference of capacitive load to affect the path delay, even when the load difference is large, the driving units are added, causing the path delay difference between high and low bits of the bus to be larger, i.e. it is difficult to balance the time sequence between buses.
Therefore, a method for balancing timing is needed to reduce errors between address buses, so as to improve the modeling precision of address establishment and reduce the address establishment time.
Disclosure of Invention
In view of the above-mentioned shortcomings of the prior art, an object of the present invention is to provide a method for balancing timing, which is used to solve the problem that when a module or a unit is placed in the prior art, the lengths of paths between high and low bits of a bus are not fully considered, so that the connection between the high and low bits of the bus is unbalanced, and thus the difference of capacitive loads affects the path delay, and even when the load difference is large, a driving unit is added, so that the difference of the path delay between the high and low bits of the bus is large.
To achieve the above and other related objects, the present invention provides a method for balancing timing, comprising:
providing a design layout, wherein the design layout comprises a plurality of design modules, and each design module comprises a plurality of ports;
step two, defining the design module needing time sequence balance;
step three, formulating a design rule of the time sequence balance, wherein the design rule comprises the following steps: the defined design modules are arranged in parallel relatively at a set distance, so that when ports among the defined design modules are connected, the length of a bus of the connection is smaller than that of buses at other positions;
and step four, resetting the positions of the plurality of design modules according to the design rule, and connecting the ports among the design modules.
Preferably, a plurality of the design modules in the first step include a combinational logic circuit, a sequential logic circuit and a memory.
Preferably, the sequential logic circuit in the first step is a circuit of a register.
Preferably, the registers in step one include an address register and a data register.
Preferably, the design module that needs to perform the timing balance in step two is the register.
Preferably, the set distance in step three is: the distance between two of the design modules is less than the size of the smallest of the design modules.
Preferably, the total line length in step three includes: the total length of a connecting line between an address port of the memory and an output port of the address register; and the total length of a connecting line between the data port of the memory and the input port of the data register.
Preferably, in step four, the port connections between the memory and the address register and the port connections between the memory and the data register are reset according to the setting rule.
Preferably, the method further comprises a fifth step of performing circuit timing simulation verification on the design layout rearranged by the design rule.
Preferably, in the fifth step, after the connection lines between the memory and the ports between the address register and the data register are reset according to the setting rule, circuit timing simulation verification is performed, so that the delay difference of data transmission between the address register and the data register is less than 0.05 ns.
As described above, the timing sequence balancing method of the present invention has the following beneficial effects:
the invention finds out modules related to addresses and data, places units related to timing sequence balance close to ensure that bus connection is balanced and routing is short, redesigns the layout, the data register corresponds to a memory port, and the bus connection is balanced and short.
Drawings
FIG. 1 is a schematic diagram of a prior art bus circuit;
FIG. 2 is a schematic diagram of a layout of the prior art;
FIG. 3 is a diagram illustrating a prior art memory and address register connection;
FIG. 4 is a schematic diagram of a prior art memory and data register connection;
FIG. 5 is a schematic diagram of the layout of the present invention;
FIG. 6 is a schematic diagram illustrating circuit timing simulation verification according to the present invention;
FIG. 7 is a schematic process flow diagram of the present invention.
Detailed Description
The embodiments of the present invention are described below with reference to specific embodiments, and other advantages and effects of the present invention will be easily understood by those skilled in the art from the disclosure of the present specification. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention.
Referring to fig. 7, the present invention provides a method for balancing timing, including:
providing a design layout, wherein the design layout comprises a plurality of design modules, each design module comprises a plurality of ports, and the ports between two adjacent design modules need to be connected in the design layout under the normal condition;
in an alternative embodiment, the plurality of design modules in the first step include a combinational logic circuit including an encoder, a decoder, a data selector, an adder, a numerical comparator, etc., a sequential logic circuit including a register, a counter, a sequential pulse generator, a sequential signal generator, etc., and a memory including a Read Only Memory (ROM) and a Random Access Memory (RAM).
In an alternative embodiment, the sequential logic circuit in the first step is a register.
In an alternative embodiment, the registers in step one include an address register and a data register.
In an alternative embodiment, the design module to be time sequence balanced in step two is a register circuit.
The register functions to store binary codes and is formed by combining flip-flops having a storage function. One flip-flop can store 1-bit binary codes, so a register for storing n-bit binary codes needs to be formed by n flip-flops.
The memory cell is actually one type of sequential logic circuit. The functions of the memory can be divided into a Read Only Memory (ROM) and a Random Access Memory (RAM) according to the use types of the memory, and the functions of the memory are greatly different, so that the description is different. The memory is a collection of many memory cells, arranged in order of cell number. Each cell is made up of a number of binary bits to represent the value stored in the memory cell.
Step two, defining a design module which needs to be subjected to time sequence balance in a plurality of design modules;
in an alternative embodiment, the design module requiring timing balance in step two is a module for finding out addresses and data, and may be a register.
Step three, formulating a design rule of time sequence balance, wherein the design rule comprises the following steps: the defined design modules are arranged in parallel relatively at a set distance, namely the positions of the defined design modules are continuously adjusted, so that when ports among the defined design modules are connected, the length of a bus of the connection is smaller than that of buses at other positions;
in an alternative embodiment, the set distance in step three is: the distance between the two design modules is less than the minimum size of the design modules.
In an alternative embodiment, referring to FIG. 6, the bus length in step three includes: total length of connecting line between address port of the memory and output port of the address register; and the total length of the connection line between the data port of the memory and the input port of the data register, the bus length of which is the shortest compared with that of fig. 2 to 4.
And step four, resetting the positions of the plurality of design modules according to the design rule, and connecting the ports among the design modules.
In an alternative embodiment, in step four, the port connection between the memory and the address register and the data register is reset according to the setting rule.
In an optional implementation, the method further includes a fifth step of performing circuit timing simulation verification on the design layout rearranged by the design rule.
In an alternative embodiment, referring to fig. 6, in step five, after the connection lines between the memory and the ports between the address register and the data register are reset according to the setting rule, the circuit timing simulation verification is performed, so that the delay difference of data transmission between the address register and the data register is less than 0.05 ns.
It should be noted that the drawings provided in this embodiment are only for schematically illustrating the basic idea of the present invention, and the components related to the present invention are only shown in the drawings and not drawn according to the number, shape and size of the components in actual implementation, and the form, quantity and proportion of each component in actual implementation may be arbitrarily changed, and the component layout may be more complicated.
In summary, the present invention finds out the modules related to address and data, and places the units related to timing balance close to each other, so as to ensure balanced bus connection and short routing, and the redesigned layout has the data register corresponding to the memory port and balanced and short bus connection. Therefore, the invention effectively overcomes various defects in the prior art and has high industrial utilization value.
The foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or change the above-mentioned embodiments without departing from the spirit and scope of the present invention. Accordingly, it is intended that all equivalent modifications or changes which may be made by those skilled in the art without departing from the spirit and scope of the present invention as defined in the appended claims.

Claims (10)

1. A method for balancing timing, comprising:
providing a design layout, wherein the design layout comprises a plurality of design modules, and each design module comprises a plurality of ports;
step two, defining the design module needing time sequence balance;
step three, formulating a design rule of the time sequence balance, wherein the design rule comprises the following steps: the defined design modules are arranged in parallel relatively at a set distance, so that when ports among the defined design modules are connected, the length of a bus of the connection is smaller than that of buses at other positions;
and step four, resetting the positions of the plurality of design modules according to the design rule, and connecting the ports among the design modules.
2. The method of claim 1, wherein: the plurality of design modules in the first step comprise a combinational logic circuit, a sequential logic circuit and a memory.
3. The method of claim 2, wherein: the sequential logic circuit in the first step is a register circuit.
4. The method of claim 3, wherein: the registers in step one comprise address registers and data registers.
5. The method of claim 4, wherein: and in the second step, the design module which needs to perform the time sequence balance is the register.
6. The method of claim 1, wherein: the set distance in step three is: the distance between two of the design modules is less than the design module of the smallest size among the design modules.
7. The method of claim 4, wherein: the bus length in step three includes: the total length of a connecting line between an address port of the memory and an output port of the address register; and the total length of a connecting line between the data port of the memory and the input port of the data register.
8. The method of claim 4, wherein: in the fourth step, the port connection lines between the memory and the address register and between the memory and the data register are reset according to the setting rule.
9. The method of claim 8, wherein: and fifthly, performing circuit time sequence simulation verification on the design layout reset according to the design rule.
10. The method of claim 9, wherein: and verifying the time sequence simulation in the step five, so that the delay difference of data transmission between the address register and the data register is less than 0.05 ns.
CN202210185981.6A 2022-02-28 2022-02-28 Method for balancing time sequence Pending CN114564910A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210185981.6A CN114564910A (en) 2022-02-28 2022-02-28 Method for balancing time sequence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210185981.6A CN114564910A (en) 2022-02-28 2022-02-28 Method for balancing time sequence

Publications (1)

Publication Number Publication Date
CN114564910A true CN114564910A (en) 2022-05-31

Family

ID=81714925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210185981.6A Pending CN114564910A (en) 2022-02-28 2022-02-28 Method for balancing time sequence

Country Status (1)

Country Link
CN (1) CN114564910A (en)

Similar Documents

Publication Publication Date Title
CN105138774B (en) A kind of sequential post-simulation method based on the design of integrated circuit levelization
US9269440B2 (en) High density search engine
CN108092660B (en) Sub-threshold circuit optimization method and system
CN109858287B (en) Physical unclonable structure based on interconnection line and self-scrambling circuit structure
US20060190237A1 (en) Emulation processor interconnection architecture
CN113779924A (en) Method and apparatus for optimizing wiring of superconducting integrated circuit, storage medium, and terminal
US9727682B2 (en) Designing memories in VLSI design using specific memory models generated from generic memory models
CN103870617B (en) Low frequency chip automatic placement and routing method
CN102353892A (en) LUT test structure of FPGA based on SRAM and method thereof
KR100840030B1 (en) Programmable logic circuit
CN112131813B (en) FPGA wiring method for improving wiring speed based on port exchange technology
CN114564910A (en) Method for balancing time sequence
US8595668B1 (en) Circuits and methods for efficient clock and data delay configuration for faster timing closure
US20070220453A1 (en) Method for forming reset operation verifying circuit
CN202189123U (en) FPGA LUT test structure based on SRAM
US20220171912A1 (en) Poly-bit cells
CN113919256A (en) Boolean satisfiability verification method, system, CNF generation method and storage device
CN114548009A (en) Modeling verification and code generation method for integrated circuit design
CA2248030A1 (en) Method of reducing circuit area by grouping compatible storage devices
CN112926283A (en) Layout design method and apparatus for integrated circuit, device and storage medium
US7861197B2 (en) Method of verifying design of logic circuit
US7360183B2 (en) Design analysis tool and method for deriving correspondence between storage elements of two memory models
US7818642B2 (en) Hierarchical test response compaction for a plurality of logic blocks
CN115169270A (en) Memory conversion method, system, equipment and storage medium
Cui Difference Between Memory-based Storage and Register-based Storage on FPGAs

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